Я написал игру для Game Boy Color, которая рендерит изображения в реальном времени. Игрок управляет источником света и вращает объект.
Поиграть в неё можно здесь: https://blog.otterstack.com/posts/202512-gbshader/data/teapot.html
Посмотреть код и скачать ROM можно здесь: https://github.com/nukep/gbshader
Читать далееВ прошлый раз мы с вами остановились на том, что на всякую хитрую резьбу в виде ограничений на загрузку функционала библиотек и сторонних модулей, а также изоляции скриптов внутри разрешённых путей найдётся свой болт, в лице возможностей самого языка, которые позволяют осознанно или в силу кривизны рук свести на нет все наши усилия сохранить стабильность.
В этой части разберём как из букв 'О', 'П', 'Ж' и 'А' while true do end
...составить слово "СЧАСТЬЕ".18 февраля 2026 года глава ФНС Даниил Егоров провел видеоконференцию, где рассказал о «ходе адаптации бизнеса» к изменениям 2026 года: НДС для УСН, роли маркетплейсов, АвтоУСН, динамике выручки по ККТ, а также «поддержке» через рассрочки и отсрочки.
Не все озвученное главой ведомства мне показалось объективным. Учитывая, что прошлые 12 лет (до ноября 2025 года) я и сам проработал в ФНС. Поэтому я выделил шесть ключевых заявлений из этого выступления и решил разобрать каждое из них с позиции «а как оно в жизни?».
Читать далееПривет друзья. Написано уже половина романа, статьи о интересных моментах процессах тоже готовятся. А сейчас я хочу рассказать о том, как я для реалистичности технических деталей романа пришлось разработать целый экраноплан. Да, именно забытые и не очень хорошо показавшие себя технологии на стыке авиации и судостроительства.
По сюжету романа нужна была такая машина, которая может двигаться ниже зоны действия радаров, незаметно, пользуясь складками местности. Обычные самолеты и вертолеты в принципе могут, но сильно прижаться к земле, чтобы идти в 1-3 метрах от поверхности земли им не под силу. Это зона действия только для экранопланов.
Узнать подробности«Связанные списки — это goto структур данных.», — авторство приписывают разным системным программистам.
История из учебника
Все студенты, изучающие computer science, узнают о связанных списках на первом курсе по структурам данных. Их описание звучит привлекательно:
Преимущества (согласно учебникам):
- Вставки и удаления за O(1) в известных позициях
- Динамический размер: увеличиваются и уменьшаются согласно необходимости
- Пространство не тратится впустую: можно распределять ровно столько, сколько нужно
- Гибкость: простота реализации стеков, очередей и других структур
Недостатки (согласно учебникам):
- Поиск за O(n): необходим обход, начиная с головы списка
- Лишняя память: указатели добавляют оверхед
- Невозможность произвольного доступа: нельзя выполнять переходы в произвольные позиции
Вывод из учебника: «Используйте связанные списки, когда требуются частые вставки/удаления и не нужен произвольный доступ».
Вроде бы звучит разумно?
Проверка реальностью
А вот, чего учебники нам не говорят: связанные списки — это почти всегда плохой выбор.
Не потому, что ошибочен анализ «О» большого, в нём всё правильно, а потому, что он неполон. Он забывает про оборудование.
Читать далееЯ регулярно выкладываю посты в блог НормЦРМ. На двух языках: русском и английском.
Написал пост, придумал заголовок. Тут всё просто. А дальше неприятный процесс. С помощью ИИ перевести пост на английский — и перенести перевод в блог. А ещё сгенерировать мета-данные и og-данные (это для поисковиков и мессенджеров), тоже перевести их на английский и руками поставить в нужные поля.
Всё это занимает минуты, но такая работа раздражает. А пишу я довольно часто (публикация раз в пару дней). И решил сделать в интерфейсе одну кнопку, которая возьмёт на себя всю эту рутину. Решил — и сделал. Теперь в один клик переводится пост и генерируются все мета-данные.
Сейчас расскажу во всех деталях, как именно это реализовано. Вдруг вы тоже так захотите?
Читать далееЛегендарному компьютеру Osborne 1 исполняется 45 лет. Это прекрасный повод вспомнить не только его особенности, но и оценить его вклад в историю. Osborne 1 стал первым по-настоящему успешным портативным компьютером. Компания Адама Осборна продала сотни тысяч устройств и задала темп всей индустрии.
Однако в у этой компании был не только стремительный взлёт, но и драматичное падение, из-за которого Osborne Computer Corporation вошла в учебники. Крах компании из-за преждевременного анонса новых моделей стал классическим маркетинговым кейсом, известным как «эффект Осборна». Этот пример до сих пор изучают в бизнес-школах, и он интересен не только технологам, но и маркетологам с предпринимателями.
Влет и крах первого портативного ПК > > >Дал 100 AI-агентам по 1000 токенов и одну цель — набрать максимум очков. Не программировал ни торговлю, ни кредиты, ни специализацию. Через двое суток агент №23 попросил у агента №91 займ под 15%. К 72-му часу — три банкира, 12 банкротов и коэффициент Джини 0.71. Внутри — код на Python, логи, распределение ресурсов. И честный разбор того в чем я до сих пор не уверен.
Читать далееКак запустить веб-панель в AutoCraft-Bot 1.1.8
Ниже простой сценарий запуска без обязательной настройки Telegram. Это удобно, если нужна именно веб-панель и вы хотите сначала проверить её отдельно.
Запустите AutoCraft-Bot 1.1.8.
Данные для работы с Telegram можно сразу не заполнять.
Откройте раздел «Функции».
Зайдите в «Настройки веб-панели».
В поле пароля администратора задайте свой пароль и нажмите «Сменить пароль».
При необходимости включите галочку автозапуска веб-панели.
Нажмите «Запустить панель».
Нажмите «Показать адрес» и откройте указанный адрес в браузере.
Есть и второй вариант: в основном окне AutoCraft есть кнопка «Открыть панель». Если панель уже запущена, браузер откроется сразу. Если не запущена, сначала нужно запустить её из настроек веб-панели.
Логин и пароль
По умолчанию логин администратора:
admin
Пароль:
либо сгенерированный системой;
либо тот, который вы установили вручную в настройках веб-панели.
Почему я сделал отдельный веб-интерфейс
Telegram-управление в AutoCraft никуда не делось, но на практике мне пришлось развивать отдельный веб-контур. Одна из причин это нестабильная ситуация с доступом к Telegram в России и связанные с этим ограничения по рабочим сценариям.
В итоге веб-интерфейс оказался не просто «обходным вариантом», а в ряде задач даже удобнее:
лучше подходит для длительной работы;
удобнее для ролей и разграничения прав;
проще для аудита и просмотра журналов;
естественнее для многосекционного интерфейса (таблицы, разделы, формы, администрирование).
Ограничения и текущие нюансы
В версии Angular 21.1 появилась экспериментальная функция маршрутизатора withExperimentalAutoCleanupInjectors. Эта настройка для решения давней, печально известной архитектурной особенности, связанной с управлением памятью при навигации между страницами.
Читать далееПока генераторы текста на базе языковых моделей соревнуются в скорости производства поверхностных текстов на тему отъема рабочих мест, мне тоже есть, что сказать про гонку вооружений человека искусственными помощниками (которых здесь и далее я для простоты буду называть малорелевантным, но устоявшимся термином «ИИ»).
Я не боюсь, что меня вышвырнут на улицу, потому что ИИ начнет писать код и проектировать системы лучше меня. Неважно даже, почему я так спокоен: оттого ли, что мой уникальный опыт — в некоторых областях — не получить путем всасывания и переработки всей мудрости интернета, или просто потому, что я — беспечный дурак. Речь не об этом.
Есть вещи, связанные с бешеным распространением ИИ в шарнармассах, которые меня по-настоящему, действительно беспокоят.
Нытьё КассандрыПривет, Хабр! Недавно я задумался: Python — не единственный инструмент, которым я хочу оперировать в своих инструментах. Python, понятно, легко освоить и он применяется везде, но язык-то не идеальный! Ресурсов требует много, да и время выполнения не ахти, а учитывая нынешние темные времена... Мне нужно что-то получше. В общем, тут я вздумал попробовать Си.
Читать далееИнструкция по сборке нового XBox 360 статического рекомпилятора RexGlue https://github.com/rexglue/rexglue-sdk
Читать далееПродолжаем вспоминать технологические чудеса в области звука в компьютерных играх — обыденные ныне вещи, первая встреча с которыми в нашей жизни некогда поразила воображение тем, что такое в принципе возможно.
В прошлый раз я рассказал историю появления речи в играх, когда молчаливый прежде компьютер вдруг заговорил человеческим голосом. Чем же ещё он мог бы удивить после такого финта? Есть чем! Ведь круче разговаривающего компьютера может быть только компьютер поющий.
Читать далееУ меня в ленте бесконечно мелькают размышления о том что все профессии больше не нужны, и только продакты/маркетологи/дизайнеры…etc останутся на коне благодаря вайбкодингу. Так вот, не останутся. Но кони у многих загнутся (Фотографы и копирайтеры, привет!).
По моей версии единственными конкурентными останутся T-shaped специалисты, так называемые принципалы. У которых есть хорошая база академического образования в визуальном дизайне, чтобы делать сочную картинку, есть понимание психологии пользователя, запросов рынка и методологий исследований. Которые знают как собрать минимально необходимую дизайн-систему с нуля под каждый определенный продукт, знают как собрать это всё в каком-нибудь Flutter/FlutterFlow, правильно заанимировать, как проработать воркфлоу и все корнер-кейсы, могут упаковать продукт в эффектную айдентику, создав бренд с нуля. При этом ещё и знают где и как продвигать продукт, ну а архитектуру и базы данных со всеми подключенными ручками уже могут делегировать нейросетям.
Я отдал бэкенду и системной архитектуре добрый десяток лет. И я безупречно помню то самое состояние системы. Восемь вечера. Я сижу на мягком диване. В руках кружка с давно остывшим чаем. В комнате абсолютная тишина. До старта рабочей недели больше суток. Я нахожусь в полной физической безопасности. Максимальная угроза в радиусе километра — это кот, который инициирует фоновую DDoS-атаку, настойчиво требуя вторую порцию корма.
Но мой внутренний кулер уже воет на максимальных оборотах. Токсичный кортизол заливает систему. Пульс пробивает отметку в девяносто ударов. Завтра предстоит сложное демо для заказчика и жесткое ревью архитектуры. На этом митинге техдир обязательно найдет критическую уязвимость в шардировании моих баз. Я еще не там. Этого события физически не существует. Оно висит в RAM исключительно в виде вероятности.
Но мой мозг — это слишком умный процессор. Пытаясь заранее оптимизировать нагрузку, он ловит баг предварительного рендеринга (Pre-Rendering Bug) и запускает Predictive Loading. Он на полную мощность обсчитывает падение серверов, срыв контрактов и мое публичное увольнение.
Я сжигаю 80 процентов батареи на обсчет текстур завтрашнего дня. Ирония в том, что этих текстур даже нет на сервере.
Читать далееИз новостей: PlayStation закроет студию Bluepoint Games, Фил Спенсер и Сара Бонд покинули Microsoft, продажи тактического роглайта Mewgenics достигли миллиона копий, Nival выложил на GitHub исходники RPG Silent Storm.
Из интересностей: исходники Silent Storm, трудности разработки Java-игр, как продать 1,6 миллиона копий своей новой игры, хороший пример 2,5D-пайплайна.
Читать далееВ феврале 2026 года электроника столкнулась с одним из самых серьезных кризисов за последние годы. Чипы NAND — ключевой элемент смартфонов, ноутбуков, автомобилей и телевизоров — стали дефицитом. Заводы работают на пределе, но объемы выпусков все равно недостаточны. Соответственно, стоимость чипов выросла кратно, поставки срываются, а компании за пределами первой десятки рискуют уйти с рынка.
Что случилось? Тут нет сюрприза — ИИ стал главным потребителем ресурсов. Обучение моделей, их работа и хранение генерируемых данных требуют колоссального объема накопителей. Гигантские корпорации платят огромные деньги, заставляя производителей работать на себя, а потребительский сегмент в это время получает то, что осталось. Давайте попробуем разобраться в ситуации и понять, когда все наладится.
Читать далееВ этой статье хотелось бы рассмотреть, как организовать репозиторий программных пакетов с ограниченным доступом с практическими примерами. Такой репозиторий может быть полезен в разных ситуациях.
Читать далееOpen Source — это отличный способ выйти за пределы учебной песочницы. Это даёт возможность заглянуть под капот известных инструментов, поработать плечом к плечу с опытными разработчиками и внести вклад в продукты, которыми пользуются тысячи людей.
Рассказываем, как найти актуальный проект, не утонуть в заброшенных Issue и грамотно отправить свой первый PR. А если вы сами развиваете проект то узнаете, как дать ему шанс получить: звёзды, обсуждение, интерес со стороны других разработчиков и первые контрибьюты в дружелюбной среде.
▶ Войти в Open Source