Всем привет.
Да, эта статья про гейм‑дев, ИИ и вайбкодинг, но не спешите переключаться и нащупывать мышку, чтобы поставить минус.
Я не являюсь ни апологетом ИИ, ни ярым его критиком, и в этой статье не будет восхищения ИИ, его возможностями и качеством кода, равно как не будет и критики. Здесь вообще не будет никаких выводов, только то, что я делал и за чем наблюдал сам. А уж выводы каждый сделает самостоятельно. И да, эта статья сгенерирована исключительно человеком (спойлер - кроме обложки), хотите верьте, хотите нет.
Если все еще интересно — добро пожаловать!
Читать далееНовый год и новый юбилей: 300 выпусков Mindscape с обычной нумерацией! По традиции мы записываем сольный выпуск, и что может быть лучше темы природы времени? Физики и философы так часто предполагали, что время - своего рода иллюзия, что вера в его фундаментальность стала почти старомодной. Это вопрос, о котором, несмотря на его формулировку, физика может сказать кое-что важное, до чего большинство философов пока не добрались. Я расскажу об идеях из квантовой механики и квантовой гравитации, которые имеют отношение к вопросу о том, фундаментально ли время или оно эмерджентно, а также о последствиях каждого из этих вариантов.
Читать далееВам нужна эта статья, если вам не хватает знаний, чтобы ответить на эти вопросы:
• Чем отличается new expression от operator new
• Что такое placement new, какой у него синтаксис, и выделяет ли он память
• В каких случаях и зачем нам может понадобиться вызывать деструктор вручную
• Когда использовать std::launder
• Почему какие-то типы можно копировать через memcpy, и ими можно сразу пользоваться, а для других это будет UB?
• Что вы реально можете кастить через reinterpret_cast
• Почему стандарт C++ такой запутанный и бесчеловечный
Пишу как практик. Это не юридическая консультация, а понятное объяснение, как сделать нормально по 152-ФЗ.
Типичный вечер в чате 5 «Б». Классный руководитель пишет: «Родители, кто болел на прошлой неделе, пришлите справки, мне нужно закрыть пропуски». Через десять минут в чате семь фотографий, и на двух из них виден диагноз. Учитель отвечает: «Спасибо, приняла». Никто не хотел плохого, а сведения о здоровье двух детей уже открыты всему чату.
И вот вопрос, который в такой переписке никто не задаёт: а кто в этом чате оператор персональных данных? Школа, учитель или родитель, который три года назад нажал «Создать группу»? От ответа зависит, кому объясняться, если одна из мам напишет жалобу в Роскомнадзор.
Вокруг школьных чатов сложилось несколько удобных убеждений. Проверьте, какие из пяти живут в вашей школе — от «чат не наш» до «удалил, и ничего не было».
Читать далееНа этот раз делаем сенсор присутствия для опасных промышленных зон. В нагрузку берёмся за реализацию требований функциональной безопасности PL и SIL. Кто сказал, что AI не может делать функционально безопасные устройства? Сейчас проверим.
Читать далееЭлектричество не интересуется тем, как хорошо выглядит кабель.
Ему всё равно, уложены ли кабели ровными рядами или свисают из-под потолка кабельной лапшой. Но если беспорядок сразу вызывает вопросы к качеству, то аккуратный монтаж умеет усыплять бдительность. За красивой розеткой может не оказаться защитного проводника, а новый кабель способен провалить проверку ещё до подключения первого сервера.
Читать далееПод прошлыми статьями мне написали много неприятного. И почти всё по делу. Отвечать «вы не поняли» было бы проще, но я решил сделать по‑другому: выписал замечания и пошёл их закрывать. Рассказываю, что получилось, а что ещё нет.
Читать далееДвести миллионов лет динозавры удерживали вершину пищевой цепи. Они были совершенны для своего времени, пока резкая смена среды обитания и последовавший за ней пищевой дефицит не поставили точку в их истории. В схожей ситуации оказались и популярные таск-трекеры. Превратившись за два десятилетия из стройных и шустрых помощников в прожорливых Jiraзавров, они стали потреблять неприлично большие объёмы рабочего времени. В новой среде асинхронной и многопоточной разработки сам факт их выживания зависит от того, смогут ли они оставаться востребованными утилитами, или их место займут более совершенные системы, построенные на иной архитектуре.
Читать далееНа старте любого проекта я первым делом собираю один файл. Ещё до лендинга, до первого поста и первой презентации. В нём записано, какими цветами мы говорим, какими шрифтами и чего нельзя ни при каких условиях, — пять-шесть экранов текста в markdown.
Дальше файл работает молча. Нужен лендинг — он в основе, нужна презентация для партнёров — оттуда же, нужно поправить экран в продукте и отдать разработчику — я ссылаюсь на файл вместо «сделай посимпатичнее». Карусель в соцсети? Тот же файл.
Сразу скажу, откуда я на это смотрю. Я маркетолог, не дизайнер и не разработчик. Айдентику мне помогал собирать живой человек, код по этим правилам пишет Claude Code, а моя часть — записать правила и принять результат. Так что теории дизайна дальше не будет. Будет формат документа, который переживает исполнителей и читается нейросетью без напоминаний.
Читать далееКогда ИТ-директор в 2019 году выбирал промышленную систему, у него был короткий путь: открыть отчёт Gartner, Forrester или IDC, посмотреть, кто в правом верхнем углу, и вести переговоры с тремя вендорами, а не с тридцатью. Квадрант не заменял пробное внедрение, но экономил месяцы на составлении длинного списка. В 2022 году западные агентства ушли, а российские продукты в их отчётах и раньше встречались единично.
Потребность никуда не делась. За четыре года её начали закрывать десятки локальных рейтингов: отраслевые, редакционные, вендорские, от СМИ и от ассоциаций. У каждого своя методика, свой набор категорий, свой способ попасть в список. Сравнить два рейтинга между собой нельзя, а понять, почему продукт в одном списке первый, а в другом отсутствует, нельзя тем более. Рынку нужна не ещё одна таблица, а понятный способ считать.
Мы в АНО «Цифровые платформы» в сентябре в тестовом режиме запустили Призму: квадрант российского ПО по каждой из 441 категории каталога, 9842 позиции, пересчёт раз в квартал. Эта статья не отчёт о продукте. Это попытка разобрать задачу «как построить квадрант в условиях, когда ни вендоры, ни заказчики пока не умеют описывать внедрения» и предложить рынку подход, который можно критиковать, дополнять и забирать себе.
Читать далееTLDR; Нельзя просто так взять и запихнуть реальную систему сборки в браузер. Но если обойти некоторые тонкие технические и юридические моменты - вполне можно, что мы показываем наглядно. Статья о том, как это сделано, и немного о том, где можно применить.
Идея запихнуть clang в браузер и собирать приложения не нова: это уже делали в Emscripten как минимум, и ещё пара исследовательских проектов. Проблема в том, как это использовать в практических сценариях: программирование это не про работающий компилятор, это про целую кучу прикладных библиотек, про инфраструктуру
Проблема встаёт в момент, когда человек узнаёт, сколько в реальности нужно собрать, чтобы получить готовый sysroot для, например, QT: объём работы для подготовки сборочной площадки убивает всю выгоду от идеи. Но что если этой работы делать просто… не нужно.
P.S. Да, это Doom в браузере. Опять. А ещё там есть HoMM2. Ссылка на playground в конце статьи, там, в браузере, можно его запустить, и собрать на свой десктоп. И посмотреть другие примеры.
Как мы докатились до этогоВ прошлой статье я рассказывала, как с помощью GPT-6 Astra и Blender сделала 3D-анимацию вращающейся настольной лампы. Многие назвали это стрельбой из пушки по воробьям: для такой задачи мощная модель показалась им избыточной.
На этот раз хочу поговорить о другом способе создавать видео: поручить Opus написание кода, который управляет сценами и анимацией. Сначала покажу три работы других авторов, а затем на примере Remotion объясню, как устроен весь процесс. В конце оставлю подборку готовых промптов для тех, кто захочет попробовать.
Читать далее
Российский рынок справочно-правовых систем (СПС) и LegalTech-сервисов переживает активную трансформацию. Рассмотрим основных игроков рынка СПС и LegalTech-сервисов для анализа судебной и арбитражной практики.
Читать далее
Стив Кауфман - известный канадский популяризатор изучения языков. В различной степени он владеет двадцатью языками. Изучение языков изначально было прикладной целью - они требовались ему для работы и проживания в различных странах, а позже он трансформировал изучение языков в полномасштабный бизнес-проект.
Как он учит языки сейчас?
Читать далееСледуй за белым кроликом.
В «Матрице» герои возвращались в реальный мир через телефон. Мне эта идея понравилась настолько, что собственный VPN я назвал PAYPHONE, а в консольном клиенте сделал зелёный дождь из символов. Правда, прежде чем через него удалось выйти в интернет, пришлось разобраться, почему туннель отправляет пакеты самому себе, таймер не срабатывает, а нажатие Ctrl+C не возвращает сеть. Об этом и будет статья — с устройством протокола, фрагментами кода и ошибками, которые обнаружились уже после первого успешного подключения.
Читать далееКазалось бы, что там может быть интересного — A-запись прописал и забыл. Ан нет: стоило захотеть один сертификат сразу на все тестовые поддомены и переключать тестовую среду между двумя кластерами Kubernetes, да ещё автоматически поднять сертификаты Let’s Encrypt с помощью cert-manager… Выяснилось, что всё просто, да не так просто, как хотелось бы.
Бесплатный DynDNS, скажем, DuckDNS.org, отдаёт записи с TTL в сутки (переключился — а люди ещё долго ходят на старый кластер), а wildcard сертификат Let’s Encrypt выдаёт только через проверку DNS-записи.
Ищем альтернативу и учим cert-manager с ней работать без костылей. В итоге родился маленький открытый проект: cert-manager-webhook-freens — плагин для cert-manager, который умеет получать такие сертификаты через бесплатный DNS-хостинг FreeNS.
Сразу о том, для кого это. Если вы не используете Kubernetes и cert-manager, статья вам будет малополезна, разве что раздел про сравнение бесплатных DNS-хостингов (и он не претендует на полный обзор рынка).
Расскажу, зачем проект понадобился, почему не подошли очевидные варианты, как им пользоваться и что у него внутри.
Читать далееRiver Sortie это шутер в духе River Raid, в который можно сыграть прямо в браузере. Самолёт летит вверх по бесконечной реке, сбивает танкеры, вертолёты и мосты, заправляется над складами. Всё, что в нём движется, это обычные компоненты Flame с хитбоксами Flame, а рисует всё это в 3D flutter3d. Расскажу, как два движка поделили работу, что для этого пришлось добавить в мост flame_flutter3d, и про короткий способ, когда в 2D-игре нужна всего одна трёхмерная модель.
Читать далее«Просто напишите правильный промпт», говорили они
У меня появился проект, которому нужно перекладывать миллионы пакетов со скоростью канала. Для такой задачи я рассматривал C, C++ и Rust. На C я последний раз писал в 2009 году, и обратно не тянет. Слабак, согласен.
Выбрал Rust: современный язык, удобная сборка, большая библиотечная экосистема и обещание безопасности памяти. Когда в описании технологии встречается слово «безопасный», у меня по профессиональной привычке начинает чесаться в кончиках пальцев.
Язык для меня новый, поэтому я хотел разобраться, какие ошибки остаются в программах на Rust и чем их искать. В результате появились учебное приложение, сигнатуры для SAST, собственный исследовательский конвейер rust-in-peace, находки в библиотеках и приложениях, а затем и патч для ядра Linux и выступление на конференции. По дороге выяснилось, сколько убедительных ошибок способны произвести модели, агенты, проверяющие модели и я сам.
На ZeroNights я рассказывал об этом в докладе Rust in Peace: How to Raise Your Own Pet Mythos. Здесь можно позволить себе больше подробностей: откуда взялся каждый механизм, какую проблему он решал и что получилось при проверке в бою.
Читать далееВ прошлой статье я показал cronsense, библиотеку, которая переводит расписание на русском или английском в cron: «по будням в 9:30» → 30 9 * * 1-5. Комментаторы устроили ей хабратестирование и нашли, чего она не умеет: «полвторого», «без пяти шестнадцать», «каждые полчаса», а ещё задачи, для которых cron не подходит вообще.
За несколько дней вышло семь версий. Теперь одна фраза превращается в cron, RRULE для календарей или таймер systemd, а праздники можно называть по имени. Для «последнего рабочего дня месяца» появилась вторая библиотека, prodcalendar: производственный календарь РФ, который сам обновляется в npm. Попутно сверка с rrule.js и systemd-analyze нашла баги, о которых я не знал.
Прочитать до Нового годаИсследователи из NVIDIA, MIT и NTU поручили одному ИИ-агенту улучшать harness другого, кодинг-ассистента на базе открытого Pi. Агент перебрал 152 идеи, и 4 из них сократили расход токенов почти вдвое при той же модели. Счёт за API упал на треть, средний балл на EdgeBench снизился на 6 %. Разбираем, что такое harness, какие приёмы сработали и где у результатов слабые места.
Какие 4 приёма сработали