Pull to refresh
31
0
Юрий @yurixi

Программист

Send message

Вся мощь паттернов в Wolfram Language

Level of difficultyMedium
Reading time32 min
Views3.9K

Редкая птица долетит до середины Днепра, не каждый разработчик осилит все паттерны в WL. Нет ему равных языков в паттерн-матчинге. Чуден и необычен язык этот. Изобилует он точками, подчеркиваниями, да запятыми так, что в глазах рябит, да разум мутнеет.

В этой статье я постараюсь сделать как можно более подробный обзор на механизм сопоставления с образцом в Wolfram Language (WL) и покажу реальные примеры, где я сам и мои товарищи его активно используют. А также я поделюсь всеми неочевидными тонкостями работы с шаблонами, с которыми лично я столкнулся в процессе написания кода на WL. По возможности я буду приводить примеры на других языках программирования - на Python и C#. Это позволит всем, кто не знаком с WL лучше понять код и сравнить синтаксис.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments12

SCP: почему сеттинг тайного агентства по исследованию артефактов стал так популярен?

Reading time8 min
Views24K

Если вы активно обитаете в сети и любите интернет-фольклор — скорее всего, вы знаете, что такое SCP.

Если не знаете — то и славно. А за теми, кто знает, уже выехали. Шутка.

SCP — один из самых необычных феноменов коллективного интернет-творчества. Своего рода фэндом без исходного произведения. Точнее, исходник есть – но представляет собой крошечный текст из бездн имиджборд.
Читать дальше →
Total votes 77: ↑74 and ↓3+71
Comments39

Open-source блокнот Wolfram Language или как воссоздать минимальное ядро Mathematica на Javascript и не только

Level of difficultyMedium
Reading time20 min
Views7.7K

На Хабре уже проскакивали упоминания о совместимых или систем-копиях Wolfram Mathematica, но реализованных на других языках, скажем, Mathics. В качестве расширения этой ниши я представляю молодую систему, которая не только воспроизводит многие ключевые функции блокнота Mathematica с нуля, но и расширяет функционал гораздо дальше, чем там, где очертил его границы Стивен Вольфрам, создав эту потрясающую систему более 30-ти лет назад.

Читать далее
Total votes 38: ↑37 and ↓1+36
Comments5

10 рекомендаций по VS Code для повышения продуктивности

Level of difficultyEasy
Reading time7 min
Views46K
Visual Studio Code остаётся наиболее предпочтительной IDE среди разработчиков. Причём этот редактор всё чаще используют именно начинающие программисты. Источник: survey.stackoverflow.co/2023

А вы знали, что 73% разработчиков по всему миру используют один редактор кода? Так и есть. Результаты проведённого в 2023 году опроса Stack Overflow показали, что VS Code является самой популярной средой разработки.

И мы все знаем почему — он очень крут!

Но в полной ли мере мы задействуем его потенциал? Текущая статья будет посвящена знакомству с некоторыми интересными возможностями VS Code, способными повысить продуктивность работы. К ним, помимо прочих, относятся локальный контроль исходного кода, анимация курсора и быстрое удаление строк. Использование этих возможностей поможет ускорить реализацию проектов разработки.
Читать дальше →
Total votes 103: ↑95 and ↓8+87
Comments83

Прототипы в JS и малоизвестные факты

Reading time7 min
Views48K

Лирическое вступление 


Получив в очередной раз кучу вопросов про прототипы на очередном собеседовании, я понял, что слегка подзабыл тонкости работы прототипов, и решил освежить знания. Я наткнулся на кучу статей, которые были написаны либо по наитию автора, как он "чувствует" прототипы, либо статья была про отдельную часть темы и не давала полной картины происходящего. 


Оказалось, что есть много неочевидных вещей из старых времён ES5 и даже ES6, о которых я не слышал. А еще оказалось, что вывод консоли браузера может не соответствовать действительности.

Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments10

Физически информированное машинное обучение, или Как я перестал бояться и полюбил искусственный интеллект

Level of difficultyMedium
Reading time7 min
Views6K

Привет, Хабр. Меня зовут Марат Хамадеев. Я — физик-теоретик, хотя кто-то, возможно, знает меня как научного журналиста, писавшего про физику для N + 1. Профессионально я рос в провинциальной академической среде, представители которой довольно скептически относились к применениям машинного обучения и, в частности нейронных сетей, для решения рутинных научных задач. Мне передался этот консерватизм — пока я писал новости про физику, я старался избегать исследований, построенных вокруг этого подхода.

Но жизнь не стоит на месте, и на новой работе я столкнулся с необходимостью поближе познакомиться с искусственным интеллектом и машинным обучением. Мне выпала замечательная возможность послушать лекции на Летней школе Искусственного интеллекта, организованной AIRI, и среди них была серия докладов, посвященных применению машинного обучения для физического моделирования. Они полностью развеяли мои страхи и побудили меня кратко рассказать вам о том, как связаны две эти области.

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments6

Необыкновенное путешествие в удивительный мир детства

Level of difficultyEasy
Reading time9 min
Views6K

Как-то раз я поехал в гости к родственникам, у которых есть маленькая девочка Саша (6 лет). Заранее продумал, чем с ней заниматься, чему можно попробовать научить, что показать, как заинтересовать. Ведь скоро в школу. Подготовил хорошие книги, мультики, наборы для рукоделия и разные подарки. Разработал электронные конструкторы.

Вас ждёт рассказ о наших приключениях как есть. С интересными подробностями, приёмами обучения, весёлыми моментами, жизненными ситуациями.

Интересно? Тогда, как говорит Саша, «давайте пАять» (с ударением на А)!
Читать дальше →
Total votes 51: ↑42 and ↓9+33
Comments44

Как создавать качественные ML-системы. Часть 2: приручаем хаос

Reading time11 min
Views3.3K


Команда VK Cloud перевела вторую статью из серии о создании ML-систем. Первую читайте по ссылке. Здесь поговорим о Data-centric ИИ, данных для обучения, разметке и очистке, синтетических данных и еще немного о Data Engineering и ETL.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments0

Эйлер, Чёрч и Мандельброт — этюд о красоте и математике

Level of difficultyEasy
Reading time8 min
Views13K

Довольно часто на просторах интернета можно встретить выражение "Красота - в глазах смотрящего". Действительно ли красота субъективна, или все же в ней есть нечто объективное и общее для всех? Возможно ли, что абсолютно не похожие на нас инопланетные существа с другого конца Вселенной, с которыми нам даже не суждено ни разу встретиться за все время существования наших цивилизаций, видят красоту в том же, в чем видим её и мы?

В начале 90-х годов XX века немецкий информатик Юрген Шмидхубер представил невероятно красивую и математически строгую теорию математической красоты. Согласно этой теории людям кажутся красивыми сложные объекты, обладающие наименьшей алгоритмической сложностью. Эта величина, также известная как колмогоровская сложность, названа в честь впервые описавшего её советского математика Андрея Колмогорова.

Читать далее
Total votes 66: ↑64 and ↓2+62
Comments28

За что Интернеты полюбили Ктулху? Часть 3: как Ктулху выплыл из тьмы забвения и при чём тут гики

Level of difficultyEasy
Reading time10 min
Views7.2K

Ктулху, как известно, фхтагн. А также мем, кандидат в президенты США, персонаж бесчисленных комиксов и один из любимых героев Интернетов. Несмотря на всю свою мрачность, хтоничность и фхтагничность, а возможно — как раз благодаря им. Как получилось, что существо из совершенно не «выстрелившей» в годы выхода новеллы малоизвестного автора превратилось в культовую во всех смыслах фигуру, легко узнаваемую любым завсегдатаем Сети?

В первой статье мы начали говорить о Ктулху: кто он такой по канону, чем занимается (спойлер: в основном дрыхнет на дне и иногда икает), где живёт на этом самом дне и почему ему на голову могла упасть советская станция «Мир». Во второй обсудили, откуда Ктулху взялся в фантазиях Лавкрафта именно такой, со всеми его щупальцами, крыльями и пузом — ведь в мировой культуре прямого аналога такой фигуры не существовало. Ну а теперь проследим путь Ктулху из безвестности на момент публикации первого рассказа к массовой известности в конце ХХ — начале ХХI века.
Читать дальше →
Total votes 64: ↑60 and ↓4+56
Comments3

Поговорим об оптимизирующих компиляторах. Сказ второй: Доминирование

Level of difficultyMedium
Reading time10 min
Views9.2K

Сегодня мы продолжаем наш разговор об оптимизирующих компиляторах для самых маленьких и не очень. Для тех, кто пока не в курсе происходящего, но желает приобщиться - я поставил себе задачу написать цикл вводных статей в эту область для совсем-совсем начинающих. Первую часть, где рассказывается об SSA-форме, можно и нужно прочитать здесь.

Сегодня мы поговорим о доминировании. Это одна из фундаментальных вещей, на которых стоит как теория компиляторов вообще, так и многие компиляторные оптимизации в частности. Пристегните ремни и запишите стоп-слово на бумажке, чтобы не забыть.

Причаститься
Total votes 49: ↑49 and ↓0+49
Comments18

Что делает ChatGPT… и почему это работает?

Level of difficultyMedium
Reading time75 min
Views147K

То, что ChatGPT может автоматически генерировать что-то, что хотя бы на первый взгляд похоже на написанный человеком текст, удивительно и неожиданно. Но как он это делает? И почему это работает? Цель этой статьи - дать приблизительное описание того, что происходит внутри ChatGPT, а затем исследовать, почему он может так хорошо справляться с созданием более-менее осмысленного текста. С самого начала я должен сказать, что собираюсь сосредоточиться на общей картине происходящего, и хотя я упомяну некоторые инженерные детали, но не буду глубоко в них вникать. (Примеры в статье применимы как к другим современным "большим языковым моделям" (LLM), так и к ChatGPT).

Читать далее
Total votes 248: ↑248 and ↓0+248
Comments121

Нейросеть, что это такое и как создать свою? Детальная инструкция

Reading time21 min
Views41K

В поисковых системах ежедневно растет количество запросов, что такое нейросеть (далее — НС). Прежде всего это связано с растущим интересом к технологиям на базе искусственного интеллекта (далее — ИИ). Многие из нас даже не подозревают, что мы практически ежедневно используем модели глубокого обучения. Запросы Siri или взаимодействие с чат-ботами в мессенджерах — один из ярких примеров использования НС. 

Мало кто из нас знает, что нейронки существуют уже 80 лет. Первая НС была представлена в 1943 году Уорреном Маккалоу и Уолтером Питтсом. В ее основе лежала пороговая логика для построения вычислительных моделей. Но с годами подходы к реализации нейронных сетей изменились, как и технологии, которые используются для их разработки. Углубимся в основы НС и разберемся с ключевыми вопросами. 

Читать далее
Total votes 31: ↑24 and ↓7+17
Comments1

Поговорим об оптимизирующих компиляторах. Сказ первый: SSA-форма

Level of difficultyMedium
Reading time9 min
Views16K

Всем привет. Сегодня я хотел бы поговорить об устройстве современных оптимизирующих компиляторов. Я никогда не публиковался на Хабре ранее, но надеюсь, что мне удастся написать серию статей, которая просуммирует мой опыт в этой области.

Коротко обо мне. Меня зовут Макс, и так получилось, что я вот уже 10 лет, почти с самого начала своей карьеры, занимаюсь оптимизирующими компиляторами. Я начинал в Intel, потом перешёл в Azul Systems, год провёл в Cadence и вернулся обратно, всё это время занимаясь компиляторными оптимизациями для Java, C++ и нейросетевых моделей. На момент написания статьи у меня чуть за 900 патчей в LLVM, большинство из них посвящено цикловым оптимизациям.

За это время я провёл десятки собеседований на позиции как интернов, так и инженеров сеньорного уровня, и довольно часто люди, приходя на эти собеседования, многих вещей не знают или знают поверхностно. И я подумал: а мог бы я написать такой цикл статей, чтобы человек, прочитав их, узнал бы всю ту базу, которая, на мой собственный взгляд, необходимо начинающему компиляторному инженеру? Очень бы хотелось, чтобы новичку в этой области можно бы было дать один (относительно небольшой по объёму) набор текстов, чтобы он получил оттуда всё необходимое для старта. Это не перевод, текст оригинальный, поэтому в нём могут быть ошибки и неточности, которые я буду рад исправить, если вы мне их укажете.

Итак, поехали.

Погрузиться
Total votes 121: ↑119 and ↓2+117
Comments58

Удивительные клеточные автоматы: направленные и пользовательские окрестности

Level of difficultyEasy
Reading time7 min
Views3.1K


👾, Хабр!

На прошлых неделях мы познакомились с различными вариациями альтернативных окрестностей – начиная с учёта расположения нотацией Хенселя, через альтернативные шаблоны расположения, и заканчивая взвешенными окрестностями. Сегодня добавим в тему окрестностей стандартного поля небольшой финальный штрих – пользовательские расположения.
Что здесь происходит (для новых читателей серии)
В этой серии мы разбираем клеточные автоматы – дискретную модель, основой которой является сетка из ячеек-клеток, которые изменяют (или не изменяют) своё состояние в зависимости от количества соседей.
Учёт соседей определяется правилами, которые устанавливаются нами. Вариаций правил существует бесчисленное множество, и они были систематизированы в определённые конфигурации.
Самая популярная конфигурация – «B/S», или «life-like», по названию крайне широко известного клеточного автомата «Game of Life», где B/S обозначает, что в нашем правиле мы описываем всего два параметра – количество соседей необходимых для рождения новой клетки в пустой ячейке, и количество соседей для выживания существующей клетки.
В каждой статье серии мы углубляемся в данную конфигурацию, добавляя новые параметры, либо дополняя существующие. Иногда заглядываем и в прочие конфигурации.
Для понимания сегодняшней статьи достаточно знать, что:
  • поиск соседей изначально выполняется в радиусе 1 (8 окружающих клеток – ), но мы можем установить другой, добавив к правилу Rx, где x – нужный нам радиус;
  • мы можем изменять шаблон окрестности поиска соседей. Изначально подразумевается окрестность Мура – R в каждую сторону (и диагональ) от рассматриваемой клетки, – но указывая Nxx мы будем определять иной шаблон, что, конечно, изменит вид правила. Сегодня мы продолжаем расширение этой части правила. Знакомство с предыдущими расширениями не является необходимым, но вы, конечно, можете предварительно ознакомиться с ними и прочими дополнениями, для большей последовательности чтения. Ссылки в конце материала и в профиле.
Читать дальше →
Total votes 52: ↑51 and ↓1+50
Comments9

«Процедурное рисование» в ComfyUI

Reading time7 min
Views37K

Кто интересуется темой рисующих нейросетей знают, что сейчас самый продвинутый и часто используемый интерфейс для Stable Diffusion (далее SD) это Automatic1111. Он позволяет использовать, вероятно, все существующие возможности SD на сегодня. Множество расширений, регулярные обновления и поддержка сообщества делают его мощным и удобным инструментом для генерации изображений. Но есть и альтернативные решения, одно из которых я сегодня рассмотрю.

Статья подойдет как тем кто уже пользуется Automatic1111, так и тем кто только планирует более глубоко погрузиться в мир "процедурного рисования".

Читать далее
Total votes 70: ↑70 and ↓0+70
Comments26

Локальные нейросети (генерация картинок, локальный chatGPT). Запуск Stable Diffusion на AMD видеокартах

Level of difficultyEasy
Reading time5 min
Views51K

Многие слышали про Midjourney, но про то, что есть локальная Stable Diffusion, которая может даже больше, знает уже куда меньше людей, или они не знают, что она локальная. И если они пробовали её онлайн, то быстро приходили к выводу, что она сильно хуже чем Midjourney и не стоит обращать на неё более внимания. И да, SD появился раньше Midjourney. Для запуска хватит и cpu или 4гб видеопамяти.

Аналогично с chatGPT, про попытку сделать его локальную версию, не требующую супер компьютер, тоже мало кто слышал и знает, несмотря на то, что выходило несколько статей.

Читать далее
Total votes 57: ↑57 and ↓0+57
Comments22

Царица наук: математика, беспощадная ты мука

Level of difficultyEasy
Reading time7 min
Views33K

Дайджест про то, как и зачем учить математику, 
если ты взрослый

С самых юных лет было очевидно, что я — естественнонаучник: ребёнок, выросший в семье инженеров и с неподдельным интересом обожающий всё живое, зелёное и биологическое. Дальше началось смешное: во дворе была филологическая гимназия, а чего далеко ходить... В свою очередь, гимназии нужны были олимпиадники и вот она, математика и мама с грозными задачниками, ибо в школе нас просто не учили (была вообще импортная адаптивная программа с усеченной геометрией). Для школы и вуза стараний родителей хватило, для олимпиад нет: физика шла на ура, а математика с приличным скрипом. Как я сейчас говорю, «не щёлкало». Сейчас мне 37 лет и я нет‑нет, да возвращаюсь к математике, хотя она мне точно не нужна ни в работе, ни в увлечении.

Читать далее
Total votes 71: ↑67 and ↓4+63
Comments163

Распределение для рекордов, циклических перестановок и количества дел, которые вы успеете сделать за свою жизнь

Level of difficultyMedium
Reading time12 min
Views4.2K

Сегодня я хочу рассказать о трёх задачах, практически не связанных друг с другом, и объединённых лишь тем, что все они приводят к распределению случайных дискретных величин, с функцией вероятности, выражающейся через числа Стирлинга первого рода. Это распределение не относится к числу популярных и широко известных, у него даже имени устоявшегося нет. Так что пусть в русскоязычной сети появится статья, в которой будут описаны и контекст, в котором это распределение появляется, и его основные свойства. На нашем пути встретятся перестановки, стохастические цепочки, свёртка распределений, немного алгебры и даже Ага!-момент в конце статьи.

Приглашаю к чтению тех, кто хочет расширить свой кругозор, или просто любит всякую комбинаторику с вероятностями.

Читать далее
Total votes 26: ↑26 and ↓0+26
Comments7

Единица информации vs Понятие

Reading time4 min
Views14K

Замечали, как раздражаются некоторые сотрудники учреждений, должностные лица, если вам не удалось после двух фраз разобраться в их профессии или внутренних процедурах так же хорошо, как разбираются они сами? Они занимаются этими процедурами изо дня в день, им кажется, что всё до безобразия элементарно.

Менеджер, через которого я взаимодействую с арендодателем: «Что вам непонятно? Пишете обычное заявление, чтобы обеспечительный платёж зачли в счёт аренды». Стоп. На чьё имя, в какой форме?? Она варится в этих «обычных заявлениях» по 8 часов в день, а для меня это разовая задача.

В магазине в ряд лежат пакеты с печеньем.
— Дайте вот это печенье (показываю на конкретный пакет).
— Какое?
— Вот это (тяну указательный палец, он почти уже упирается в пакет).
— Это??
— Да.
— Это не печенье. Это галеты… [смотрит на меня, как на идиота]
Занавес.

Язык большинства инструкций можно понять только если ты УЖЕ умеешь пользоваться гаджетом. Их авторы разговаривают сами с собой. Да ещё терминами, каждый из которых требует отдельного обстоятельного ввода.

Читать далее
Total votes 60: ↑59 and ↓1+58
Comments114

Information

Rating
Does not participate
Location
Иркутск, Иркутская обл., Россия
Registered
Activity