Трудно быть Коротаевым


Kanal geosi va tili: Butun dunyo, Ruscha


🎨 Генеративное искусство, сложные алгоритмы визуализации
🔍 Разбор графики в играх и как это работает,
🎮 Свежие проекты из мира креативного кодинга
😎 Сообщества и конференции о которых стоит знать.
Автор: @lekzd

Bog‘liq kanallar

Kanal geosi va tili
Butun dunyo, Ruscha
Statistika
Postlar filtri


Польза от генарта

Вот кто-то спросит: «а как это может пригодиться?». Мне моя сцена со светом пригодилась уже через 5 минут.

Дело в том, что моей дочке надо каждый день завязывать косички, а так у меня врожденное отцовское криволапие, я делаю это минут 10. Для ребенка сидеть так долго неподвижно, это пытка. Решение нашлось быстро: включил ей эти «домики».

И вот она уже сидит, тыкает пальцем и говорит «это мама, это папа, а это мы тут на машине едем»


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Genuary 15: Create an invisible object where only the shadows can be seen.

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


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Миникарта для 3д-сцены из сплатов

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


Больше шуму для TSL

Отвлечемся ненадолго от генваря, я хочу рассказать вам про шумы. Те самые алгоритмы, которые делают графику живой и куда более интересной, как бы сообщая боковому зрению, что это не просто поверхность, а в ней есть детали, материал, неровности. Словно лавка с мелкими фигурками, всегда привлекает внимание больше остальных. Подробнее о том как устроен простой шум можно почитать в The book of shaders.

Не так давно в Threejs появился TSL — новый подход к написанию шейдеров, теперь вместо кода на C-подобном языке, просто JS, довольно подробно об этом в прошлом году в своем докладе рассказал Павел Мажуга. А значит теперь надо переписывать все накопленное непосильным трудом на TSL.

https://boytchev.github.io/tsl-textures/ —текстуры, шумы
https://threejsroadmap.com/blog/10-noise-functions-for-threejs-tsl-shaders — шумы
https://www.fragments.supply/techniques — платные и бесплатные статьи и примеры генеративных шейдеров на TSL


Genuary 14: Everything fits perfectly.

https://codepen.io/lekzd/pen/azZpOjJ


Прогаем с кенгурой dan repost
Genuary-2026/14

Everything fits perfectly

- build123d
- Python
- random pendulum

Так как печатать мне нечего и негде (жаба душит 3д принтер купить), то хотя бы тут применю


Genuary 13: Self portrait in Minecraft style

https://codepen.io/lekzd/pen/zxBopyY


Ретро-ux искусство

https://matoseb.com/scrollbars-scrollbars/


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Genuary 12: Boxes only.

Пригодились старые наработки, которые никуда не пошли, как раз из кубиков.

Хаос дней собирается в таймлайн истории как на Github/Gitlab, затем запечатывается в кубик с цифрами прошедшего 2025 года, как некий итог. Словно наша память о том как прошел год, оставляя на виду лишь немногое из ежедневной рутины.


Yandex for Developers dan repost
📎 Как безобидный Math.sqrt(0) чуть не сломал браузеры

Каким будет корень из нуля? Ответит даже школьник: 0. Но если задать этот вопрос JIT-компилятору Maglev внутри движка V8, то при определённых обстоятельствах он сначала скажет «ноль», а потом решит сэкономить на проверке безопасности и отдаст злоумышленнику доступ к памяти браузера 🤠

Всем привет, на связи Павел Кузьмин, инженер по информационной безопасности в Яндексе. Я занимаюсь практической безопасностью Яндекс Браузера и проекта Chromium. Сегодня я расскажу про CVE-2025-9864 — уязвимость, которую я нашёл в движке V8.

Она проявлялась только при сочетании двух условий:

🔴 После полной сборки мусора (Major GC), которая освобождала память и меняла состояние контекста

🔴 При компиляции функции в Maglev, когда движок переключался на оптимизированное выполнение

В таком сценарии Math.sqrt(0) приводил к тому, что узел Float64Sqrt в IR-графе Maglev приобретал тип kHoleyFloat64. Это заставляло преобразовывать результат в HeapNumber (объект в куче), при этом не записав это преобразование в Remembered Sets.

Критическая ошибка возникала на следующем шаге. Компилятор видел, что исходно в ячейке хранился Smi, и пропускал write barrier — механизм, который сообщает сборщику мусора о новых ссылках на объекты в куче.

Как итог, если после этого сборка мусора запускалась вновь, HeapNumber удалялся как неиспользуемый, но указатель на него оставался активным. Получался классический use-after-free, который открывал путь к read/write-примитивам в куче V8.

🦾 Как починили?

Мы изменили тип узла Float64Sqrt с HoleyFloat64 на обычный Float64. Теперь ноль не превращался в HeapNumber, а корректно оставался Smi. Write barrier больше не пропускался, и цепочка разрушилась. Патч уложился в одну строку.

⏩️ А полную статью читайте на Хабре. В ней я рассказываю:

🔴 Как устроена архитектура V8
🔴 Почему write barrier — это не просто «галочка», а жизненно важный механизм
🔴 Как превратить use-after-free в read/write-примитивы и модифицировать объекты в памяти
🔴 Почему даже с такой уязвимостью взломать браузер через песочницу — та ещё задача

💡 Материал будет интересен тем, кто работает с безопасностью V8, компиляторами или просто любит разбирать нетривиальные баги.

Подписывайтесь:
💬 @Yandex4Developers


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Genuary 11: Quine

Программа, которая накидывает свой исходный код в виде физических коробок

https://codepen.io/lekzd/pen/qENaQyG


ጉጉት's Journey dan repost
Genuary 11:Quine. A Quine is a form of code poetry, it’s a computer program that outputs exactly its own source code.

https://codepen.io/freab/full/ByzLxQJ

#genuary11 #genuary #genuary2026


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Genuary 10: Polar coordinates.

10 генваря, и узор "10 PRINT" в поляных координатах, в прошлом году я писал про историю этого примечательного патерна, почему из-за строки в 38 символов на BASIC написали книгу в 324 страницы.

https://codepen.io/lekzd/pen/ByzLOxx


framesmash dan repost
Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Genuary day 11: Quine. A Quine is a form of code poetry, it’s a computer program that outputs exactly its own source code.

#genuary11 #genuary2026 #genuary #p5js


Канал Ивана Дианова dan repost
Прога в форме слова Генварь, которая печатает свой код

Придумал, как в код добавить любую строку, чтобы она не ломала всё вокруг:


q=_=>`q=${`ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА`,q},q()`,q()


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


Genuary 9: crazy automation, Cellular automata with crazy rules.

Раз уж нужен сумашедший алгоритм, то пускай будет клеточный автомат, который превращает Мону Лизу в капибару.

https://codepen.io/lekzd/pen/ZYOppBZ


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Genuary 8: A City. Create a generative metropolis.

В последнее время на работе много занимался перемещениями по пути в 3д пространстве и сглаживанием траектории, потому сделал что-то в этом духе.


framesmash dan repost
Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Genuary day 9: Crazy automaton. Cellular automata with crazy rules.

Этот контент содержит мерцающие огни и узоры, которые могут вызвать эпилептические припадки у людей с фотосенситивной эпилепсией.

#genuary9 #genuary2026 #genuary #p5js


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Genuary 7: Get inspired by Boolean algebra

Показал на видео что вся цветочная поляна это на самом деле 4 кружка, из статьи на Википедии про boolean algebra.

https://codepen.io/lekzd/pen/zxBBQqZ


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Genuary 6: Lights on/off. Make something that changes when you switch on or off the “digital” lights.

Любимая панелька

Three.js + Unreal Bloom

20 ta oxirgi post ko‘rsatilgan.

710

obunachilar
Kanal statistikasi