Трудно быть Коротаевым – Telegram
Трудно быть Коротаевым
656 subscribers
129 photos
131 videos
251 links
🎨 Генеративное искусство, сложные алгоритмы визуализации
🔍 Разбор графики в играх и как это работает,
🎮 Свежие проекты из мира креативного кодинга
😎 Сообщества и конференции о которых стоит знать.

Автор: @lekzd
Download Telegram
Media is too big
VIEW IN TELEGRAM
Я теперь знаю все о строении кабеля

И о материалах, и как их самостоятельно делать (Adobe Substance 3D Sampler) и все это реализовано на Three.js.

Если вдруг через месяц будете заказывать силовой кабель, то можете наткнуться на мою работу, которая флексит полигонами и нормалями насколько это пока возможно для среднего компа или мобилки в вебе.
🔥184😍3💘1
Павел имел ввиду эту анимацию, где предыдущие кадры размывались при помощи постоянного увеличения) Круто получилось)
💘1
Forwarded from Paul West
Разводы

https://codepen.io/prisoner849/full/RNrOOzL

спасибо @lekzd - напомнил, что канву можно скейлить )

PS там (слева вверху через ховер) еще прикручен Strudel - случайная генерация 5 нот в до-минор ))
❤‍🔥5🔥1💘1
Forwarded from cartofan
🚆Нашел настолько же набитую информацией, как японские сайты, realtime визуализацию метро Токио. Крутая демка возможностей WebGL + Mapbox, хоть и перегруженная. Цветные вагончики ползают по расписанию, а наличие поезда на станции можно проверить по трансляции с камеры

📩 У них есть гитхаб, если захочется повторить это невероятие

Захотелось поиграть в Ticket to Ride
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥114💘3
Кто все эти люди, я максимум 10 видел, а вы?)

Отсюда: https://x.com/sebastienlorber/status/1985636799381938655
🤯6💘3😁1💩1
Хаотичная габионная кладка

https://codepen.io/lekzd/pen/bNEXNdp
10🔥5💘2
Моя жена готовит свое первое публичное выступление =)

Так как ей с двумя детьми еще труднее чем мне, она освоила нейросети для помощи в своей професии — дизайне интерьера, и хочет об этом рассказать.

Из вебинара вы узнаете как заставить ChatGPT делать не только красивые, но еще и технически верные картинки, что, на моей опыте, получалось редко. Ровные стены, ковры на полу и даже грамотные отражения в зеркале. Это все не так просто как кажется, но она разобралась как это сделать.

Среда, 12:00 GMT+3, ссылка ниже
🔥71💘1
Forwarded from GPT интерьеры🤖Bornatalia.design (Nataliia Borisenkova)
Друзья, рада вам сообщить о том, что у нас уже есть ссылка на вебинар про нейросети в дизайне интерьера, который я проведу
12 ноября в 12:00.
Записывайте в свои планеры и календари 🗓️ и приходите , всех буду ждать🙌

🔗 https://us05web.zoom.us/j/83796447390?pwd=BYukjq5xoKZQl6vJJPJPGUWOI4i7p6.1
🔥9💘1
This media is not supported in your browser
VIEW IN TELEGRAM
❄️ Снежинка

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

https://codepen.io/lekzd/pen/xbVKKKe
🔥118👍1💘1
Operation ForumTroll: Как фишинговая ссылка превращала WebGPU в оружие для взлома ОС

Кажется, что песочница браузера — это надёжная крепость. Но недавно обнародованная атака от марта этого года показала, что достаточно одной уязвимости в коде, чтобы эта крепость пала. Как фронтенд-разработчикам нам особенно интересно, что ключевую роль здесь сыграли WebGPU и безобидный на первый взгляд .woff2 файл.

Нас постоянно учат: нигде ничего не вводи ценного если не уверен в сохранности данных, но здесь бы это не помогло...

Разбираем цепочку взлома по косточкам:

1. Валидация (наш фронтенд-стек):

Жертва переходит по ссылке. Запускается JavaScript-валидатор.
WebGPU используется не по назначению — для вычисления SHA-256. Это не просто "быстрее", это сигнал для злоумышленников, что они в настоящем браузере с нужной конфигурацией.

Что в .woff2? В этом файле, который браузер по доверию загружает как шрифт, лежал не CSS-глиф, а зашифрованный бинарный код следующей стадии атаки — бутстраппер и сам эксплойт.

2. Взлом песочницы (CVE-2025-2783 — магия и ужас):

Здесь в игру вступает уязвимость, связанная с механизмом памяти Mojo/ipcz (межпроцессное взаимодействие в Chrome).
Корень проблемы: Эксплойт абузил pseudo-handle (-2) в системном вызове DuplicateHandle. Если очень упростить, это как получить права на запись в память ядра ОС, имея доступ только к памяти пользовательского процесса.

Use-After-Free и Race Condition. Эксплойт, манипулируя хендлами, создавал ситуацию, когда система пыталась использовать уже освобождённый участок памяти как валидный дескриптор, но с правами выше песочницы.

Результат: Через хук в v8_inspector::V8Console::Debug и SetThreadContext злоумышленник получал возможность выполнить свой shellcode уже в процессе браузера (а не в песочнице рендерера), получая тем самым доступ к ОС.

3. Что происходит после взлома (это уже не наш фронтенд, но важно понимать масштаб):

Loader через COM Hijacking (подмена легальной DLL twinapi.dll в реестре HKCU) обеспечивает загрузку библиотеки при старте ОС.

Вывод для нас, как разработчиков:

WebGPU — это мощный, но низкоуровневый API. Его использование для криптографии (не по прямому назначению) может быть маркером для атак.

Динамический импорт любых ресурсов (шрифты, WASM, Web Workers) — это потенциальный вектор. Браузер доверяет этим ресурсам, и если в них вшит вредоносный код, последствия могут быть катастрофическими.

Песочница — не панацея. Одна ошибка в движке (V8) или в системных бинарниках Chrome (Mojo) — и цепочка доверия рушится.

Это одна из тех уязвимостей, которая не была найдена никем кроме злоумышленников, которые успешно продали ее для адресного взлома работников СМИ, которым поставили на компы кейлогеры.
🔥7👍4😱43💘1
Forwarded from Стой под стрелой (Nikita Prokopov)
В английском языке есть термин “needy person”, что примерно переводится как несамостоятельный плюс навязчивый. Типа, человек, который постоянно пристает с какими-то вопросами и просьбами, которые вполне мог бы порешать сам, полностью перекладывает все решения на другого человека и не видит личных границ.

Ну вот, а я вижу это в программах. Раньше программы были инструментами — тебе что-то нужно сделать, ты ее взял, сделал и забыл. Она лежит себе, помалкивает, до следующего раза.

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

(Понятно, что если ты уступишь и создашь аккаунт, то до тебя все равно доебутся — или 2FA включи, или пароль поменяй, или почту проверь, или разлогинят тебя просто чтобы не расслаблялся)

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

Заметьте, что обновиться — не мое желание, не моя потребность. Если бы мне было нужно — баг там какой критический, нехватка функций — я бы пошел и сам нашел все нужные патчи и апдейты. Но мне НЕ НУЖНО. Если бы я не знал про новую версию, если бы меня не заебывали этими попапами, я бы сидел на старой и горя бы не знал. От того, что я обновлюсь, в моей жизни не изменится НИ. ЧЕ. ГО. Так и кому это нужно? Мне? Или программе?

Наконец, нотификации. Это вообще рак. Идея была светлая — ну, иногда пользователю реально нужно что-то сообщить. Рендер там закончился, загрузка, не знаю. Что-то в мире пользователя, про его задачи.

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

Ведь нотификация это что такое? Это что-то, что я не просил, но с чем мне нужно разобраться. Это буквально проблема программы, с которой она пришла ко мне. У меня есть скриншот свежеустановленной какой-то Джетбрейновской ИДЕ. Я запускаю ее в первый и раз и тут же получаю в рожу ТРИ нотификации. Я еще ничего не сделал. Мне от тебя еще ничего не нужно. Но я уже тебе что-то должен. Как минимум, закрыть нотификации. Are you охуели там, как говорится? VS Code не лучше, кстати, и нотификации одна из основных причин, почему я сбежал.

На одном конце спектра условный ls: тоже программа, но никогда не попросит тебя создать аккаунт или обновиться. Это спокойный, уверенный в себе инструмент. Или, если нужен пример посложнее, Syncthing: программа для синка файлов между машинами, в которой нет аккаунтов, нотификаций, которой можно сразу начинать пользоваться, а про апдейт которой я недавно случайно узнал от друга. И не стал обновляться! (потому что зачем)

На другом — Гугл Хром. Опять же, заглядываю как-то в ноут жены, она там какую-то страничку открывает, а хром ей: проверь аккаунт! что-то не так (что, блядь, может быть не так, всю жизнь было так, с чего бы вдруг сейчас что-то пошло не так?), а еще обновись! И нотификацию в рожу. Жену я бесконечно уважаю, потому что она четко видит, где ее проблемы (нужно что-то посмотреть на сайте), а где проблемы программы (обновления, аккаунт). И абсолютно хладнокровно игнорирует вторые.

Ощущение от needy программ — я решаю не свои проблемы, а проблемы программы. Обнови ее, залогинь, нотификации закрой. Ну и нафига мне такой тамагочи?

Будь как ls. Не будь как Хром. Проблем у нас всех своих хватает.
💯18🔥74👍1😁1💘1
This media is not supported in your browser
VIEW IN TELEGRAM
Башкирский орнамент

Выступал на Ufa dev conf, и понравились этнические башкирские ковры с орнаментом в виде рогов оленя.

Спасибо всем кто был на докладе и пришел сюда)

https://codepen.io/lekzd/pen/JoXRjOM
18🔥14❤‍🔥4💘1
This media is not supported in your browser
VIEW IN TELEGRAM
Повторил анимацию из брендинга HolyJS, но продолжил делать ее дальше

Стоял на сцене, сказал, что тут буквально 2 алгоритма: SDF кружки и smoothMin и запилил.

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

https://codepen.io/lekzd/pen/emZeRmd
🔥153💘3
Media is too big
VIEW IN TELEGRAM
Больше всего на свете люблю нажимать на крестики

Каждый раз, когда кто-то решил что мне срочно надо что-то показать на том месте, где ранее ничего не было. Я сразу ищу крестик, большинство размещают его справа, некоторые, подглядев что у меня Mac OS, ставят его слева (а еще я читаю справа налево, да).

Я сам как разработчик много раз ставил всякие промо-окна с крестиками, однажды о таком промо-окне даже писали в новостях...а потом я ехал в такси и о нем говорили по радио!

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

Но сегодня я искал крестик дольше обычного, в начале я думал что это шутка, крестик нарисован, но на него нельзя нажать, ну за что?

PS: поделитесь с теми кто до сих пор ищет крестик
😁22👏3💘1