nikalexxx


Гео и язык канала: Россия, Русский
Категория: не указана


Александр Николаичев.Делаю инфраструктуру Яндекса, рисую и люблю математику.
https://nikalexxx.github.io

Связанные каналы  |  Похожие каналы

Гео и язык канала
Россия, Русский
Категория
не указана
Статистика
Фильтр публикаций


Просто дубовые ложки.

Набиваю руку, чтобы быть готовым к моменту, когда меня заменит ИИ 💪💪💪

Успейте заказать, подписчикам канала скидка 50%🎉


Я наконец-то надел эту фиолетовую жилетку)

В прошедшую субботу на https://deeptechnight.ru рассказывал про инфраструктуру Яндекса. Про датацентры, облака и конечно агентов. Агентам, которые за нас работают, нужна инфраструктура, если мы хотим запускать их не на своём ноутбуке. Сейчас как раз этим занимаюсь, надеюсь до конца года можно будет рассказать подробнее публично.

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

П.С. В агентской платформе Яндекса тоже есть графы (знаний для агентов), они повсюду...


Визуализация квантовой хромодинамики готова 🎉https://nikalexxx.github.io/?/physics/qcd

В научно-популярных книгах и видео вы могли слышать, что у кварков есть цветовой заряд: красный/синий/зелёный. К реальным цветам они отношения не имеют, просто название удачное. И есть 8 глюонов переносчиков сильного взаимодействия. Красный кварк испускает красно-антизеленый глюон и становится зелёным. Но цветных глюонов 6, а остальные два интуитивно через обмен уже не представишь.

Конечно обмен цветами это упрощение. Но настоящая математика настолько далека от красивой картинки, что я собрал промежуточную версию.

Показаны действия матриц глюонов на вектора кварка как вращение в С^3. Эти вращения задаются матрицами Гелл-Манна и как раз образуют SU(3). Дальше мы берем цветовой вектор кварка и его амплитуды (точнее их квадраты) переводим в интенсивность цвета RGB. Так как там ограничение (крутится единичный вектор), цвета взаимозависимы. Можно в треугольнике подвигать мышкой и поменять.

Остались комплексные фазы, так как они тоже связаны, имеют смысл только относительные фазы, это две окружности, которые при перемножении дают тор, изображенный в виде квадрата со склеенными краями. Кварк и там можно подвигать мышкой по фазовому тору. Общая фаза фиксирована в виде маленькой стрелки.

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

Конечно это не испускание глюона как частицы, а просто воздействие глюонного поля на малый угол. Испускание глюона и обмен это следующие шаги.

Тут прекрасно видно, что бесцветные глюоны совпадают с цветными, только меняют фазу без амплитуд!

Надеюсь удалось скрестить научпоп интерпретацию и математику по капотом. Заходите на страницу и пробуйте!

P.S. Моя первая попытка запихнуть всё в S^5 несостоятельна, так как там будут разрывы на границах. Тор мне даже больше нравится.


Это были не просто красивые фракталы, а настоящее программирование.

По сути мы на фестивале исполняли код на графовой вычислительной машине. Упрощённую версию которой я перенёс в браузер и показывал. Графовая машина работает через подстановку подграфов в графе. Она эквивалентна по мощности машине Тьюринга, лямбда-исчислению или комбинаторам. Так как шаблоны и замены это тоже графы, она универсальна. В отличие от лямбд, здесь не любой граф является правилом вывода. Но любое правило вывода выразимо через граф. Графы направленные, могут быть с циклами.

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

К слову, на такой эволюции графов даже есть физическая теория всего https://www.wolframphysics.org/

У графов много преимуществ по сравнению со строками или деревьями в контексте перезаписи, но есть и слабые места в виде поиска изоморфного подграфа и комбинаторного взрыва. Именно эти места я и оптимизирую в своём проекте.


Фестиваль прошёл отлично! Так много незнакомым людям про графы я ещё не рассказывал 😃

У меня был интерактивный стенд, где каждый мог нарисовать свои правила для эволюции графов и получить свои фракталы. Я начинал с классики — треугольника Серпинского. А у гостей получись совершенно разные итоговые фракталы, мы запускали эволюцию прямо там и смотрели что будет. Следующим постом завтра опубликую скрины и математические подробности.

Я так был увлечен, что даже не порекламировал свой канал для участников фестиваля🥲 Так что буду жить тут за счёт сарафанного радио.

Вечером кстати был концерт научно-технического рэпа, теоремой Лагранжа прорвали тихий вечерний воздух Чистых прудов 😜

Всем математики!


Репост из: Кроссворд Тьюринга
Фрактальная Одиссея

Полвека назад Мандельброт придумал слово «фрактал». В честь этого 23 мая мы делаем фестиваль о красоте математики. Все наши активности связаны общей идеей: показать эту красоту с разных сторон — через математические сюжеты, через искусство, через музыку, через науку. От лекций и мастерских до перформансов и ночной дискотеки — всё это разные подступы к одной теме

🔵 Начнём в 14:00 в библиотеке Достоевского, а во второй половине дня переместимся в соседний клуб Лахесис и продолжим там до 4 утра

🟠 Главный партнёр фестиваля — Technology Leaders of the Future, стипендиальная программа Фонда Тимашева. TLF предоставляет школьникам 14–17 лет, сильным в математике, физике или информатике, полностью оплаченные стипендии на обучение в The Island School (Кипр) и H-FARM International School (Италия). Первая когорта из 60 школьников уже учится; поступление на 2026/2027 ещё доступно — сильных кандидатов мы готовы рассматривать по Fast Track

🔴 Лекции

Михаил Гельфанд расскажет про иерархию бесконечностей, Александра Скрипченко — про математику живого, Андрей Райгородский — про раскраски плоскости, Вячеслав Гусев — про фракталы внутри нейросетей. Утром в библиотеке Михаил Евдокимов расскажет про лучшие визуальные задачи для любого возраста, а Ваня Яковлев и Полина Романова — про фракталы вокруг нас

🔴 Мастерские и станции

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

🔴 Кино, искусство, перформансы

Арт-программа включает в себя фрактальную живопись Петра Николаева, работы Александра Солеева, Александра Вайсмана, Алекса Мухина, Ирины Канделариа, группы Evpraxis, а также видео-арт от группы «Явь», «Cactus Juice», художников Артёма Ткача, Meta Chaos и многое другое

В социальной части — нетворкинг «Аттрактор» от бюро «Розетка», музыкальный спектакль «Точка-ноль» Алины Асомнии, круглый стол о фракталах между математикой и философией, вечерний научпоп-квиз Григория Тарасевича, а также стихотворный вечер и возможность сделать татуировку

Кинопоказ состоит из демонстрации фильма «Пи» Аронофски, документального фильма про фракталы, а также тематической подборки короткометражек и анимаций

🔴 Ночная программа

Откроют её Пётр Термен — правнук Льва Термена, один из ведущих исполнителей на терменвоксе в мире, и Влад Горелов с группой «Научно-технический рэп», единственной в России, играющей нердкор. Дальше до 4 утра — мастера экспериментального звука с live-перформансами: Brinstaar, Spiralfractal, Stropharia, S66, Rombix, Womba, Morakh, Hobboth, ænsof, garish_cyborg, The Darkest Supernova, Misha Nikitin

🟠 Фестиваль для взрослых, но детей с родителями пускаем на дневную и вечернюю часть до 22:00

Соорганизаторы: Кроссворд Тьюринга, Летняя школа, бюро Розетка, клуб Лахесис

🔵Сайт фeстиваля, билеты

До встречи на фесте!


В следующую субботу на фестивале "Фрактальная Одиссея" будет мой стенд про эволюцию графов. Решил соединить свой основной проект по графам с фрактальным искусством.

Как простые замены подграфов порождают сложное фрактальное поведение? Приходите, чтобы узнать и самим нарисовать свои правила эволюции графов и изобрести собственные фракталы!

Как видно из программы фестиваля, там будет много крутых активностей, и я уже как зритель с удовольствием в них поучаствую. Кто в Москве, буду рад вас видеть на Чистых прудах в субботу 23 мая 👐


Соединил две библиотеки для отрисовки графов https://github.com/cosmosgl и https://github.com/gravity-ui/graph. cosmos позволяет реализовать силовой алгоритм с помощью GPU, а gravity соединяет на одном холсте canvas и html в зависимости от уровня зума и добавляет виртуализацию.


Библиотеку gravity делают ребята из инфры Яндекса (соседняя служба с моей), мы её используем во всех сервисах инфраструктуры, чтобы отрисовать сложные графы (от CI пайплайнов до схемы балансировки трафика). Это пожалуй лучшая библиотека в своём классе, и кажется единственная, где canvas и html так нативно объединены. В общем, рекомендую (в том числе на замену reactflow).


Силовой алгоритм легко представить, если все ноды графа заменить шариками, а все ребра заменить на пружинки. Тогда силы натяжения и сжатия пружин приведут систему в состояние с минимальной энергией (точнее будут стремится к этому на бесконечном количестве итераций и при отсутствии осциляторов, для этого предусмотрено затухание сил). Если задать изначально узлам графа случайное положение, то за несколько итераций силовой алгоритм его "распутает" на плоскости, и количество пересечений ребер будет меньше.


Несмотря на то, что у меня есть опыт оптимизации силового алгоритма на CPU (мутабельность, нормализация, массивы для попадания в L кэши и тд), не хотелось писать его снова, тем более что есть cosmos.gl. Так что я сделал "золотой костыль", а именно невидимый div элемент, куда срендерил граф космоса и считал оттуда координаты для нод, после чего передал координаты в гравити.


До 1000 нод всё вообще летает. Да и до 10 тысяч. Потом начинаются проблемы с отрисовкой длинных ребер, поэтому их можно скрывать по умолчанию. Но у меня пока таких больших графов нет.


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

Вся наша жизнь — граф...


Добрались с женой впервые до Большого театра. На балет Ромео и Джульетта с музыкой Прокофьева. У меня давно в любимых треках танец рыцарей, интересно было послушать было во время балета.

Сам балет имеет нормальный сюжет, в отличие от Щелкунчика. Но танцев и пафоса конечно поменьше. Хотя я тот ещё знаток, видел всего два балета 😂


Всем искусства!


Несомненный плюс пет-проектов в том, что там не обязательно следовать всем правилам расширяемого кода и можно захардкодить решения. Мне не подошёл опенсорсный protoc плагин к mongo, так как требовал указания аннотаций, поэтому я написал свой.

Проект у меня на go, и так как grpc интерфейсы получаются кодгеном через официальный плагин, есть и плагин под кастомный код, где можно работать уже со структурами прото и не надо парсить файлы.

Но есть и особенности, например нет многих хелперов (или я плохо искал), поэтому например proto сообщение для map я ищу в файле просто двумя циклами (даже не рекурсией), так как у меня нет вложенных message (первая картинка).

Для шаблонов использовал классический text/template, на второй картинке результат кодогенерации, на третьей кусок шаблона для этого кода.

Это написал я на прошлых выходных, потому что стало много grpc сервисов и надоело перекладывать руками. Могу сказать, что писать плагины для прото таким способом совсем несложно, особенно под себя. У меня например шарятся enum, убираются указатели кроме optional полей и перекладывается поле id для монговского _id. По итогу просто вызываю метод ToProto() и радуюсь жизни.

Наверно в каком-нибудь zig (или даже rust с его макросами) это всё удобнее. Но так как писать кодген очень быстро, текущее решение мне вполне подходит. Хотя потом там особенности возникают на стыке кодгена и дженериков (ограничения на параметры дженериков элегантно не написать, нужно догенерить небольшую функцию обёртку, которая через аргументы делает switch case).


Соленья

В огурцы проникла соль
Вкусовою полосой,
В тьме веков безвестный гений
Понял прелести солений:
Корнишоном закусив
Ходовой аперитив,
Озарение поймал
Маринадный кулинар.
С той поры все помидоры
На крутой засол готовы,
А солёный огурец
Стал закуской наконец!


Вторая глава "Программиста Поттера" https://nikalexxx.github.io/?/books/programmer-potter#page-165 🎆🎆🎆

Продолжаю писать фанфик, где Гарри Поттер программист. На этот раз ему предстоит увидеть магический мир и узнать тайну своей популярности. Алгоритмы и магия снова переплетаются, чтобы открыть читателям волшебство Косого переулка и чисел Фиббоначи!

Вторая глава вышла в два раза длинее первой, писал я её тоже долго, и ещё столько же редактировал. На этот раз есть картинки! Написал программу, которая сгенерировала мне иллюстрацию дверей Гринготса. Также добавил собственные иллюстрации к первой и второй главам. Их я рисовал сам, потом векторизировал.

Приятного чтения всем любителям программирования и/или поттерианы. Буду признателен за рекомендации друзьям)

P.S. Все программы на Си рабочие и запускаются в dosbox, можете пробовать😉


На выходных заглянул на конфу t-sync. Поговорили про платформизацию всего вокруг и конечно как жить с ai.

Такие события хорошее место, чтобы понять, как тесен мир и какие похожие системы мы делаем в разных компаниях. Нужна платформа для построения платформ, не иначе (конечно написанная агентом 😉).

Будущим строителям автоматизации sdlc небольшой рецепт: заранее подумайте о динамике ваших данных. Немало копий уже сломано об устаревающие ямлики.

Всем по кнопке "сделать хорошо"!

Показано 13 последних публикаций.