Забытое искусство обтекания текстом: журналы
Когда-то давно я любил вглядываться в микрокартинки вставленные между текстовых столбцов, где буквы плавно обтекали контуры чего угодно: от ромбика-врезки с цитатой до обтравленного фото героя заметки. Место в журнале/газете тогда стоило денег, потому использовали буквально каждый квадратный сантиметр. Когда я еще искал кем мне стать, я взял InDesign и попробовал сверстать страницу журнала и как раз столкнулся с тем, что готовый текст и иллюстрации просто так не вставить, надо и текст подкоротить или удлинить, картинку покрутить чтобы не осталось пустого места, а еще не забыть по переносы, И использовать верные спецсимволы, дизайнеры-верстальщики те еще душнилы когда дело касается разницы между
Как это делалось в «докомпьютерную» и раннюю компьютерную эпоху
В металлической верстке — физически перемещали строки текста, подгоняя их вокруг клише.
С появлением настольных издательских систем (как Adobe PageMaker, QuarkXPress, а затем InDesign) — дизайнер создавал контур обтекания вокруг изображения, часто вручную расставляя точки, чтобы текст огибал именно нужные части рисунка (например, волосы модели или сложный предмет).
Почему сейчас это реже встречается
— Сложность чтения: Сильно «рваный» правый край ухудшает читаемость, особенно для больших объемов текста.
— Адаптивный дизайн: Техника плохо масштабируется для мобильных экранов и веб-верстки. Ранее каждый такой текстовый блок создавался вручную, теперь разработчики скорее делают системы разметки любого контента, а не штучные страницы.
— Минимализм: Современный дизайн склоняется к более простым, строгим сеткам с четким разделением текстовых и графических блоков.
А вам вак?
Когда-то давно я любил вглядываться в микрокартинки вставленные между текстовых столбцов, где буквы плавно обтекали контуры чего угодно: от ромбика-врезки с цитатой до обтравленного фото героя заметки. Место в журнале/газете тогда стоило денег, потому использовали буквально каждый квадратный сантиметр. Когда я еще искал кем мне стать, я взял InDesign и попробовал сверстать страницу журнала и как раз столкнулся с тем, что готовый текст и иллюстрации просто так не вставить, надо и текст подкоротить или удлинить, картинку покрутить чтобы не осталось пустого места, а еще не забыть по переносы, И использовать верные спецсимволы, дизайнеры-верстальщики те еще душнилы когда дело касается разницы между
x и × (да, да, говорили "кого это ты там на Х послал?").Как это делалось в «докомпьютерную» и раннюю компьютерную эпоху
В металлической верстке — физически перемещали строки текста, подгоняя их вокруг клише.
С появлением настольных издательских систем (как Adobe PageMaker, QuarkXPress, а затем InDesign) — дизайнер создавал контур обтекания вокруг изображения, часто вручную расставляя точки, чтобы текст огибал именно нужные части рисунка (например, волосы модели или сложный предмет).
Почему сейчас это реже встречается
— Сложность чтения: Сильно «рваный» правый край ухудшает читаемость, особенно для больших объемов текста.
— Адаптивный дизайн: Техника плохо масштабируется для мобильных экранов и веб-верстки. Ранее каждый такой текстовый блок создавался вручную, теперь разработчики скорее делают системы разметки любого контента, а не штучные страницы.
— Минимализм: Современный дизайн склоняется к более простым, строгим сеткам с четким разделением текстовых и графических блоков.
А вам вак?
🔥7✍2💘2
web.dev
WebGPU is now supported in major browsers | Blog | web.dev
Read about the biggest web graphics launch since WebGL. WebGPU is supported across major browsers, bringing unparalleled performance to the web.
https://web.dev/blog/webgpu-supported-major-browsers
🎉 WebGPU теперь поддерживается во всех современных браузерах!
Раньше мы с WebGL жили как в старом браке: сложно, но хотя бы знали все его косяки. Писали шейдеры, молились на драйверы, а артефакты называли «фичей» и ставили на артхаус. Но мы терпели, ведь альтернативы не было.
А теперь будет WebGPU! Говорят, это быстрее, современнее и «ближе к металлу».
Теперь вместо "почему не работает?" будем спрашивать:
😳 "Почему ничего не рисуется?" – а потому что теперь самому нужно синхронизировать пайплайн рендеринга. WebGL за вас это тихо делал. Теперь держите асинхронность и горсть командных буферов.
😤 "Три года все кричали 'WebGPU в Three.js!'..." – а на деле оказалось, что для перехода нужно не обновить версию, а переписать половину проекта с ShaderMaterial и кастомными рендер-пассами. Спасибо, что предупредили заранее.
🤯 "Это баг или я просто не понимаю workgroup size?" – классика. Грань между ошибкой в коде и фундаментальным непониманием концепций теперь ещё тоньше. Добро пожаловать в мир параллельных вычислений, где ваш код может просто молча не работать.
Готовьтесь: эра красивых демок с 1000 FPS, которые вы соберёте за вечер, а потом неделю будете дебажить рассинхрон между очередями, уже наступила! 🚀
🎉 WebGPU теперь поддерживается во всех современных браузерах!
Раньше мы с WebGL жили как в старом браке: сложно, но хотя бы знали все его косяки. Писали шейдеры, молились на драйверы, а артефакты называли «фичей» и ставили на артхаус. Но мы терпели, ведь альтернативы не было.
А теперь будет WebGPU! Говорят, это быстрее, современнее и «ближе к металлу».
Теперь вместо "почему не работает?" будем спрашивать:
😳 "Почему ничего не рисуется?" – а потому что теперь самому нужно синхронизировать пайплайн рендеринга. WebGL за вас это тихо делал. Теперь держите асинхронность и горсть командных буферов.
😤 "Три года все кричали 'WebGPU в Three.js!'..." – а на деле оказалось, что для перехода нужно не обновить версию, а переписать половину проекта с ShaderMaterial и кастомными рендер-пассами. Спасибо, что предупредили заранее.
🤯 "Это баг или я просто не понимаю workgroup size?" – классика. Грань между ошибкой в коде и фундаментальным непониманием концепций теперь ещё тоньше. Добро пожаловать в мир параллельных вычислений, где ваш код может просто молча не работать.
Готовьтесь: эра красивых демок с 1000 FPS, которые вы соберёте за вечер, а потом неделю будете дебажить рассинхрон между очередями, уже наступила! 🚀
🔥13❤1😁1🎉1💘1
Forwarded from 8BitJS
Что пошло не так в
Последние пару дней во всех фронтенд-пабликах пролетела новость: в
Но мне захотелось разобраться с инженерной точки зрения, что же именно оказалось сломано внутри React и почему это вообще стало возможно. А главное, понять, чему мы можем научиться из этого кейса как разработчики, даже если не используем
Небольшое отступление.
В рамках
With this combined commit, people now have to go through a >1500 line patch to try to understand the security relevant changes.
Что за уязвимость
CVE-2025-55182 - критическая уязвимость в React Server Components, которая позволяет, отправив специально сформированный запрос, добиться удаленного выполнения кода на сервере.
В коде было обнаружены три основные причины уязвимости:
1. Несимметричность в плане защиты между кодом клиентской и серверной реализацией
2. Небезопасная десериализация данных Flight-протокола на сервере
3. Незащищенное разрешение модулей и экспортов
Немного контекста
React Server Components
Основная идея состоит в том, что сервер может сам рендерить дерево компонентов, может делать запросы в БД и API. Клиент же получает поток (
Flight-протокол
Внутренний протокол
Разберемся в коде
Рассмотрим на практике два ключевых участка, которые стали причиной уязвимости.
Внутри серверного декодера есть функция
Упростим:
requireModule и доверие к экспорту
В
Сервер слишком доверяет экспортируемому модулю, поэтому могут сработать запросы вида:
Из-за чего можно было использовать имя экспорта, которого нет в модуле, но существующего в цепочке прототипов.
Для закрытия уязвимости для экспорта добавили проверку
Итого
Как мы смогли увидеть, в уязвимости нет каких-то хитростей
Что важного мы можем вынести для себя:
Никогда не доверяйте структуре данных от пользователя. Для защиты фильтруем все опасные ключи из прототипирования (__proto__,
#8BitJS #React #CVE #security #RSC
React Server Components и чему из этого стоит научитьсяПоследние пару дней во всех фронтенд-пабликах пролетела новость: в
React нашли критическую уязвимость с оценкой CVSS 10.0. Она позволяет получить удаленное выполнение кода на сервере. В списках пострадавших оказались все кто используют и/или поддерживают React Server Components (RSC).Но мне захотелось разобраться с инженерной точки зрения, что же именно оказалось сломано внутри React и почему это вообще стало возможно. А главное, понять, чему мы можем научиться из этого кейса как разработчики, даже если не используем
RSC.Небольшое отступление.
В рамках
PR с закрытием уязвимости было решено сделать рефакторинг. И справедливо было подмеченоWith this combined commit, people now have to go through a >1500 line patch to try to understand the security relevant changes.
Что за уязвимость
CVE-2025-55182 - критическая уязвимость в React Server Components, которая позволяет, отправив специально сформированный запрос, добиться удаленного выполнения кода на сервере.
В коде было обнаружены три основные причины уязвимости:
1. Несимметричность в плане защиты между кодом клиентской и серверной реализацией
2. Небезопасная десериализация данных Flight-протокола на сервере
3. Незащищенное разрешение модулей и экспортов
Немного контекста
React Server Components
Основная идея состоит в том, что сервер может сам рендерить дерево компонентов, может делать запросы в БД и API. Клиент же получает поток (
stream) данных о дереве, а не готовый HTML. React на стороне клиента постепенно собирает готовый результат из данных от сервера и клиентских компонентов.Flight-протокол
Внутренний протокол
React для передачи данных в RSC между клиентом и сервером. Простыми словами, сервер кодирует состояние дерева, ссылки на компоненты, промисы в поток байтов. Со стороны клиента поток читает декодер ReactFlightClient и восстанавливает исходные данные. Аналогично со стороны сервера есть декодер ReactFlightReplyServer, который обрабатывает обратные данные от пользователя.Разберемся в коде
Рассмотрим на практике два ключевых участка, которые стали причиной уязвимости.
Prototype pollution в ReactFlightReplyServerВнутри серверного декодера есть функция
reviveModel в связке с getOutlineModel, которые рекурсивно обходят данные и "оживляет" их в обычные JS структуры.Упростим:
function reviveModel(...) {
...
if (typeof value === 'object' && value !== null) {
...
for (const key in value) {
// hasOwnProperty проверка для защиты от вызова унаследованных ключей
if (hasOwnProperty.call(value, key)) {
...
// добавили проверку на __proto__
if (newValue !== undefined || key === '__proto__') {
value[key] = newValue;
}
}
}
}
requireModule и доверие к экспорту
В
RSC есть функция requireModule(metadata) для бандлеров, которая по metadata.id находит модуль и по metadata.name выбирает нужный экспорт.export function requireModule<T>(metadata: ClientReference<T>): T {
const moduleExports = parcelRequire(metadata[ID]);
return moduleExports[metadata[NAME]];
}
Сервер слишком доверяет экспортируемому модулю, поэтому могут сработать запросы вида:
{
"id": "foo",
"name": "__proto__"
}
Из-за чего можно было использовать имя экспорта, которого нет в модуле, но существующего в цепочке прототипов.
Для закрытия уязвимости для экспорта добавили проверку
if (hasOwnProperty.call(moduleExports, metadata[NAME])) {
return moduleExports[metadata[NAME]];
}
Итого
Как мы смогли увидеть, в уязвимости нет каких-то хитростей
React, а используется довольно распространенная проблема доверия к данных при десериализации.Что важного мы можем вынести для себя:
Никогда не доверяйте структуре данных от пользователя. Для защиты фильтруем все опасные ключи из прототипирования (__proto__,
constructor, prototype) и/или добавляем подход allowlist для ключей. Для конструкции for...in используем hasOwnProperty.#8BitJS #React #CVE #security #RSC
❤8😱2❤🔥1💘1
Меня позвали поругать и похвалить всякие опенсорсные библиотеки для фронтенда. Буквально наше первое появление в одном кадре с Лешей, с которым много лет отбирали доклады для топовой конференции по JS —HolyJS. И вот мы опять спорим...
🔥6❤🔥3💘1
Forwarded from МойОфис
🎬 Новое интерактивное шоу «АйТир Лист» от МойОфис
Мы запускаем новое шоу, в котором эксперты оценивают технологии, компании, фреймворки и ИТ-решения по шкале от 1 до 4. Каждый выпуск — это 14 табличек от модератора, жаркие дискуссии и итоговый рейтинг, который поможет зрителям разобраться в актуальных трендах и сделать собственные выводы.
В первом выпуске мы обсудим опенсорсные решения для фронтенда.
Гости выпуска:
— Александр Коротаев, эксперт фронтенда и креативного кодинга
— Алексей Золотых, тимлид команды веб-редакторов в МойОфис
🎥 Смотрите наш юбилейный первый выпуск там, где вам удобно:
VK | YouTube | RuTube
Мы запускаем новое шоу, в котором эксперты оценивают технологии, компании, фреймворки и ИТ-решения по шкале от 1 до 4. Каждый выпуск — это 14 табличек от модератора, жаркие дискуссии и итоговый рейтинг, который поможет зрителям разобраться в актуальных трендах и сделать собственные выводы.
В первом выпуске мы обсудим опенсорсные решения для фронтенда.
Гости выпуска:
— Александр Коротаев, эксперт фронтенда и креативного кодинга
— Алексей Золотых, тимлид команды веб-редакторов в МойОфис
🎥 Смотрите наш юбилейный первый выпуск там, где вам удобно:
VK | YouTube | RuTube
🔥6💘1
Media is too big
VIEW IN TELEGRAM
На что способны нейросети... ну и я
Насытились генеративными картинками и видео от нейросетей? Тогда ловите немного приятной 3D-графики для разгрузки глаз!
На этом видео — не рендер и не игра, а 3D-сцена, созданная с помощью Gaussian Splatting.
📌 Что это?
Моя часть работы:
Я взял траекторию движения человека с камерой (она записана как набор точек) и превратил её в гладкий, полупрозрачный «рельс». Теперь по нему можно прокатиться, как на аттракционе!
Доволен тем, как получилось сгладить линии. Для тех, кому интересны технические детали, мой пайплайн выглядел так:
Ramer–Douglas–Peucker — для упрощения исходной траектории.
Chaikin's Algorithm — для начального сглаживания.
Centripetal Catmull–Rom spline — чтобы получить идеально плавную и красивую кривую.
Нейросети — это мощно, но когда они дают нам сырой материал, всегда приятно добавить в него немного ручной магии и математики. Что думаете? 🤔
Насытились генеративными картинками и видео от нейросетей? Тогда ловите немного приятной 3D-графики для разгрузки глаз!
На этом видео — не рендер и не игра, а 3D-сцена, созданная с помощью Gaussian Splatting.
📌 Что это?
Это техника, которая превращает обычное видео (например, с 360-камеры) в реалистичное облако точек-«сплатов». Каждая точка — это полупрозрачная текстура. Вместе они создают потрясающий объемный эффект, почти как голограмма.
Моя часть работы:
Я взял траекторию движения человека с камерой (она записана как набор точек) и превратил её в гладкий, полупрозрачный «рельс». Теперь по нему можно прокатиться, как на аттракционе!
Доволен тем, как получилось сгладить линии. Для тех, кому интересны технические детали, мой пайплайн выглядел так:
Ramer–Douglas–Peucker — для упрощения исходной траектории.
Chaikin's Algorithm — для начального сглаживания.
Centripetal Catmull–Rom spline — чтобы получить идеально плавную и красивую кривую.
Нейросети — это мощно, но когда они дают нам сырой материал, всегда приятно добавить в него немного ручной магии и математики. Что думаете? 🤔
🔥9❤2😍1💘1
Разработчики на Three.js в этом году ждали только двух событий: когда выйдет TSL и когда Бруно Симон допишет свой новый сайт. Теперь все это случилось =)
🔥4💯2💘1
Forwarded from ጉጉት's Journey (Freab)
Three.js Journey
Bruno Simon
Bruno Simon's creative portfolio
🔥19💘2
Media is too big
VIEW IN TELEGRAM
Shopify и ренИИсанс раздали стиля, это надо видеть
Сколько анимаций, сколько пасхалок, на видео показал только одну, го искать остальные!
Как обычно такие сайты отслеживает Gugu, можете подписаться и тоже быть в курсе когда в вебе релизят что-то красивое.
Кликать сюда и смотреть самостоятельно:
https://www.shopify.com/editions/winter2026
Сколько анимаций, сколько пасхалок, на видео показал только одну, го искать остальные!
Как обычно такие сайты отслеживает Gugu, можете подписаться и тоже быть в курсе когда в вебе релизят что-то красивое.
Кликать сюда и смотреть самостоятельно:
https://www.shopify.com/editions/winter2026
🔥9💘3
Присоединяюсь к поздравлениям Ане (@it_wildlife), много раз встречались на разных конференциях и митапах и в отличие от меня, который организовывал что-то просто про принципу что кажется больше некому, она как будто всегда знает как надо и как правильно. Сообщества продолжают жить благодаря тем кто их организует, кстати в Питере остро не хватает организаторов взамен выбывающих, в том числе и меня.
❤3💘1
Forwarded from Дима
Когда-то в далеком сентябре 2021-го на MoscowJS впервые пришла девушка, которую почти никто из нас тогда еще не знал. Она пришла просто гостем, слушателем, и никто тогда не понимал, что на самом деле это только пролог гораздо более длинной истории.
Потом была деврел-конфа, где она подошла к нам с Димой Шмаковым познакомиться — с осторожной прямотой человека, который еще не знает, что вскоре будет двигать горы. Потом — постучалась еще раз, уже в телеграме. Такой у неё стиль: если дверь нужно открыть — она постучит столько раз, сколько потребуется, не больше и не меньше.
В мае 23-го она достучалась. Несколько прогонов докладчиков — легкий пробный шар. А уже через месяц она конферансье. Уверенно проводит митап, как будто всю жизнь к этому готовилась. Еще совсем немного времени — и подготовка докладчиков, управление расписанием, коммуникации, сцена, тон, вайб — всё собирается вокруг неё. Не по назначению, не формально — просто потому что она та, на ком всё держится лучше всего.
Она выступает сама. Она прокачивает других. Ведет свой канал (@it_wildlife, подписывайтесь!). Она человек с миллионом талантов и увлечений, и она держит планку выше, чем большинство людей считает возможным.
И при этом она остаётся Аней: доброй, умной, мягкой, внимательной и честной. Человеком, на которого всегда можно опереться без всяких оговорок.
По твоим словам, MoscowJS 50 стал для тебя «катализатором внутреннего бура». Но теперь уже очевидно: ты сама стала тем стержнем, на котором держится MoscowJS.
С Днём рождения, @numbingmist.
И помни: твой бур создан, чтобы пронзить небо, землю и само будущее!
Потом была деврел-конфа, где она подошла к нам с Димой Шмаковым познакомиться — с осторожной прямотой человека, который еще не знает, что вскоре будет двигать горы. Потом — постучалась еще раз, уже в телеграме. Такой у неё стиль: если дверь нужно открыть — она постучит столько раз, сколько потребуется, не больше и не меньше.
В мае 23-го она достучалась. Несколько прогонов докладчиков — легкий пробный шар. А уже через месяц она конферансье. Уверенно проводит митап, как будто всю жизнь к этому готовилась. Еще совсем немного времени — и подготовка докладчиков, управление расписанием, коммуникации, сцена, тон, вайб — всё собирается вокруг неё. Не по назначению, не формально — просто потому что она та, на ком всё держится лучше всего.
Она выступает сама. Она прокачивает других. Ведет свой канал (@it_wildlife, подписывайтесь!). Она человек с миллионом талантов и увлечений, и она держит планку выше, чем большинство людей считает возможным.
И при этом она остаётся Аней: доброй, умной, мягкой, внимательной и честной. Человеком, на которого всегда можно опереться без всяких оговорок.
По твоим словам, MoscowJS 50 стал для тебя «катализатором внутреннего бура». Но теперь уже очевидно: ты сама стала тем стержнем, на котором держится MoscowJS.
С Днём рождения, @numbingmist.
И помни: твой бур создан, чтобы пронзить небо, землю и само будущее!
❤9💘2
Media is too big
VIEW IN TELEGRAM
У сайта отчета Shopify есть целое второе изменение
На сцене с "доставкой гепардом" можно нажать на ключик, откроется всплывающее окно, которое открывает копию сайта, но без текстов. Эта пасхалка мотивирует попасть ключиком из центра маленького экрана в замочную скважину, по центру главного.
Но что если не делать этого и пойти прогуляться по копии сайта? Оказывается для каждого экрана специально для этого окошка сделан свой визуальный фильтр и отдельная золотая моделька главного предмета раздела.
Я нашел там эффекты отражения всей сцены в воде, дизернига, скрытые иллюстрации. Ну и, конечно, тот самый синий инвертирующий цвета фильтр, с граффити поверх всего, который включается при нажатии.
На сцене с "доставкой гепардом" можно нажать на ключик, откроется всплывающее окно, которое открывает копию сайта, но без текстов. Эта пасхалка мотивирует попасть ключиком из центра маленького экрана в замочную скважину, по центру главного.
Но что если не делать этого и пойти прогуляться по копии сайта? Оказывается для каждого экрана специально для этого окошка сделан свой визуальный фильтр и отдельная золотая моделька главного предмета раздела.
Я нашел там эффекты отражения всей сцены в воде, дизернига, скрытые иллюстрации. Ну и, конечно, тот самый синий инвертирующий цвета фильтр, с граффити поверх всего, который включается при нажатии.
🔥2❤1🤯1🥴1💘1
Хабр
Дети, запомните: если дядя из туториала предлагает вам начать проект на Express.js… Рейтинг opensource для фронтенда
Всем привет! Меня зовут Алексей Золотых, я тимлид команды веб-редакторов в МойОфис . Недавно мы запустили новое шоу АйТир Лист. В каждом выпуске мы берём одну тему из мира разработки и раскладываем...
Ну все, мы с Лешей начали холивар, как в старые добрые!
Если ютуб разработчики не очень смотрят, то после статьи на Хабре нас с Лешей прямо начали атаковать в чатиках, мол как так посмели, jQuery хвалить в 2025 году! Так же спорят с тем что Express.js плох, давайте объясню:
Помимо того что я уже хвалил jQuery, Он был настолько хорошо для своего времени устроен, что повлиял на развитие браузерных апи и других библиотек, которые четко закрепили на будущее принцип "пиши меньше, делай больше".
Express.js — либа из мира серверного программирования, короче совсем другая штука, которая позволяла людям писать опасную фигню (хотя это общая заслуга ранней экосистемы Node.js). Все это стоило компаниям денег и нервов девопсам.
Ну и конечно мораль: Nokia 3310 была конечно во всем хороша, но не используйте ее больше! Все, буквально все требования к разработке изменились и старые инструменты просто не могут уже дать ответ на новые вызовы времени. Выбор устаревших (не старых, а устаревших) технологий на проекте часто окунает его в техдолг, который вроде и не мешает, но как только помешает...
https://habr.com/ru/companies/ncloudtech/articles/975012/
Если ютуб разработчики не очень смотрят, то после статьи на Хабре нас с Лешей прямо начали атаковать в чатиках, мол как так посмели, jQuery хвалить в 2025 году! Так же спорят с тем что Express.js плох, давайте объясню:
Помимо того что я уже хвалил jQuery, Он был настолько хорошо для своего времени устроен, что повлиял на развитие браузерных апи и других библиотек, которые четко закрепили на будущее принцип "пиши меньше, делай больше".
Express.js — либа из мира серверного программирования, короче совсем другая штука, которая позволяла людям писать опасную фигню (хотя это общая заслуга ранней экосистемы Node.js). Все это стоило компаниям денег и нервов девопсам.
Ну и конечно мораль: Nokia 3310 была конечно во всем хороша, но не используйте ее больше! Все, буквально все требования к разработке изменились и старые инструменты просто не могут уже дать ответ на новые вызовы времени. Выбор устаревших (не старых, а устаревших) технологий на проекте часто окунает его в техдолг, который вроде и не мешает, но как только помешает...
https://habr.com/ru/companies/ncloudtech/articles/975012/
👍8❤2👏1💘1
Обновился сайт Genuary
А это значит, что я начинаю разминать свои генеративные алгоритмы и шейдеры, чтобы весь январь упорно поработать и радовать вас генартом почти каждый день.
Этот блог начался с того, что я начал выкладывать сюда свои работы для прошлого Genuary. Можете тыкнуть на ссылку и мотать ниже: https://news.1rj.ru/str/korotaev_to_hard/15
Промпты на сайте сейчас рандомные, но 1 января должны определиться постоянные, ждем
Спасибо что вы еще и тут и нас тут стало так много 😍
Genuary это январский флешмоб для социальных сетей, где каждый день согласно списку промптов выкладываются художественные работы созданные при помощи кода на заданную тему. Участвовать может любой желающий, так что присоединяйтесь. Там есть правила, но их буквально не обязательно соблюдать, о чем написано на сайте.
А это значит, что я начинаю разминать свои генеративные алгоритмы и шейдеры, чтобы весь январь упорно поработать и радовать вас генартом почти каждый день.
Этот блог начался с того, что я начал выкладывать сюда свои работы для прошлого Genuary. Можете тыкнуть на ссылку и мотать ниже: https://news.1rj.ru/str/korotaev_to_hard/15
Промпты на сайте сейчас рандомные, но 1 января должны определиться постоянные, ждем
Спасибо что вы еще и тут и нас тут стало так много 😍
❤7💘3
Как нейросети WebGL на пенсию отправили (и при чём тут единороги на Луне)
Я очень люблю искать что-то новое из мира графики в вебе, обычно новости столь нишевые что получают скупое "угу" среди кодеров. Но недавно WebGPU доставили в браузеры на всех последних версиях ОС (кроме Linux).
И что-то разным технопабликам показалось что это ничего себе новость, надо срочно постить. И текст у них странно знакомый, но… кривой. Как будто его писал не человек, а очень уверенный в себе стажёр.
Так и есть. Это — эффект нейросетевого «испорченного телефона».
1. Берётся экспертная статья. Сухая, с оговорками: «WebGPU — эволюционный шаг, Vulkan/Metal/DX12 — бэкенды, в будущем откроет новые возможности».
2. Первый паблик кормит её нейросети: «Сделай ироничный и цепляющий текст!»
3. Нейросеть делает, что умеет лучше всего: усиливает, упрощает, добавляет мемы.
— «работает через бэкенды Vulkan, Metal, DirectX 12» → «Общается с видеокартой нативно без необходимости писать костыли под каждую ОС!» (как раз мы на вебе костыли под ОС часто пишем)
— «к 2027 году может сформироваться окно для…» → «К 2026-27 в браузере будут ААА-игры!»
— Добавляет вишенку: «Наконец-то Chrome нагрузит вашу видяху на 100%!» (И оперативку тоже, куда уж без неё).
— Показывает что шарит и рассказывает что майнеры раньше работали через CPU, а теперь будут через GPU, да, да WebGL, ты вообще ни на что не способен.
4. Второй паблик видит этот бодрый текст и просит свою нейросеть: «Перепиши вот это, но ещё круче».
5. Нейросеть №2 берёт уже искажённый текст за чистую монету, полирует его и закрепляет ошибки как «факты»:
— «эволюционный шаг» → «🔥 ОГРОМНЫЙ ШАГ ВПЕРЁД!»
— «открывает новые возможности» → «WebGL уходит на пенсию! 🚀»
— «общается с видеокартой на низком уровне через Vulkan/Metal», DirectX прощай, нам очень жаль =)
Я, кстати, ранее писал, что доступ графических апи из браузера совсем не прямой.
Вывод (не нейросетевой):
Нейросети — не злые гении дезинформации. Они просто супер-ускорители нашей старой как мир привычки: превращать сложное в простое, скучное — в захватывающее, а факты — в сочные истории.
Раньше для создания мифа нужны были годы, газеты и государственная пропаганда. Теперь хватит пары кликов и цепочки пабликов, которые доверяют написание постов алгоритмам.
А WebGL, кстати, никуда не уходит. Он просто спокойно досматривает сериал, пока шумный сосед WebGPU делает ремонт. 😉
Я очень люблю искать что-то новое из мира графики в вебе, обычно новости столь нишевые что получают скупое "угу" среди кодеров. Но недавно WebGPU доставили в браузеры на всех последних версиях ОС (кроме Linux).
И что-то разным технопабликам показалось что это ничего себе новость, надо срочно постить. И текст у них странно знакомый, но… кривой. Как будто его писал не человек, а очень уверенный в себе стажёр.
Так и есть. Это — эффект нейросетевого «испорченного телефона».
1. Берётся экспертная статья. Сухая, с оговорками: «WebGPU — эволюционный шаг, Vulkan/Metal/DX12 — бэкенды, в будущем откроет новые возможности».
2. Первый паблик кормит её нейросети: «Сделай ироничный и цепляющий текст!»
3. Нейросеть делает, что умеет лучше всего: усиливает, упрощает, добавляет мемы.
— «работает через бэкенды Vulkan, Metal, DirectX 12» → «Общается с видеокартой нативно без необходимости писать костыли под каждую ОС!» (как раз мы на вебе костыли под ОС часто пишем)
— «к 2027 году может сформироваться окно для…» → «К 2026-27 в браузере будут ААА-игры!»
— Добавляет вишенку: «Наконец-то Chrome нагрузит вашу видяху на 100%!» (И оперативку тоже, куда уж без неё).
— Показывает что шарит и рассказывает что майнеры раньше работали через CPU, а теперь будут через GPU, да, да WebGL, ты вообще ни на что не способен.
4. Второй паблик видит этот бодрый текст и просит свою нейросеть: «Перепиши вот это, но ещё круче».
5. Нейросеть №2 берёт уже искажённый текст за чистую монету, полирует его и закрепляет ошибки как «факты»:
— «эволюционный шаг» → «🔥 ОГРОМНЫЙ ШАГ ВПЕРЁД!»
— «открывает новые возможности» → «WebGL уходит на пенсию! 🚀»
— «общается с видеокартой на низком уровне через Vulkan/Metal», DirectX прощай, нам очень жаль =)
Я, кстати, ранее писал, что доступ графических апи из браузера совсем не прямой.
1835 год, газета The Sun. Репортёр придумал, что астроном с супертелескопом увидел на Луне летающих гуманоидов, единорогов и бобровые хижины. Статьи перепечатали по всему миру, тысячи поверили. Почему? Потому что это было «научно» (упомянули реальных учёных) и напечатано в газете. Идеальный виральный контент своего времени.
Вывод (не нейросетевой):
Нейросети — не злые гении дезинформации. Они просто супер-ускорители нашей старой как мир привычки: превращать сложное в простое, скучное — в захватывающее, а факты — в сочные истории.
Раньше для создания мифа нужны были годы, газеты и государственная пропаганда. Теперь хватит пары кликов и цепочки пабликов, которые доверяют написание постов алгоритмам.
А WebGL, кстати, никуда не уходит. Он просто спокойно досматривает сериал, пока шумный сосед WebGPU делает ремонт. 😉
👍7🔥7🤝3❤1💘1