Обновить

Что делать если вы купили Gothic 1 Remake в Steam, а игра не работает или работает не так?

Уровень сложностиПростой

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

Поехали

Как мы собрали карту 6500+ АЗС из OpenStreetMap и не смешали справочник с данными «прямо сейчас»

Уровень сложностиСложный

Интерфейс сервиса BenzinNow на двух смартфонах: интерактивная карта Москвы и список ближайших АЗС с названиями сетей, расстоянием и выбором вида топлива.

Читать далее

Как я написал свой асинхронный Telegram‑юзербот с «горячей» загрузкой плагинов и ассистентом, спроектированным в Word

Уровень сложностиСредний

Начать хочется с честного признания: Kaguya UserBot — это моя вторая попытка. Первая закончилась полным архитектурным тупиком. Система получилась настолько негибкой, что в какой‑то момент я просто забросил проект на два месяца, а затем полностью удалил код и начал всё с чистого листа.

Читать далее

Микросервисы глазами менеджера

Уровень сложностиСредний

Микросервисы — это не про технику.

Все говорят о микросервисах, но почти никто не понимает, зачем они на самом деле.

Спойлер: Это не про масштабирование. Это не про отказоустойчивость. Это не про большие базы данных.

Это про команды.

Когда у вас больше 3–5 команд, работающих над одной системой — MSA имеет смысл. В остальных случаях вы просто платите за инфраструктуру, сложность и распределённые транзакции, получая взамен… распределённый монолит.

Читать далее

ИИ пишет код в пять раз быстрее. Почему бизнес почти ничего не замечает?

Уровень сложностиСредний

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

Покажи своему шефу!

Как я подружил тернарную модель Bonsai 27b на 2 бита с чужим движком [Dflash + TurboQuant]

Уровень сложностиПростой

У меня RTX 5060 Ti на 16 гигабайт. Обычная потребительская карта, и на ней хочется гонять модели покрупнее, желательно с большим контекстом. Дальше история про то, как я скрестил две несовместимые вещи, потратил на это вечер, нашёл баг, который не выдаёт никаких ошибок, а потом выяснил, что настройка по умолчанию отнимала у меня четверть скорости.

Есть модель Ternary-Bonsai-27B от PrismML. Это Qwen3.6-27B, ужатый до примерно 2.1 бита на вес. Весит 6.66 гигабайта. Для 27B на 16-гигабайтной карте это отлично, потому что остаётся много места под контекст.

Проблема в том, что запускается она только на их собственном форке llama.cpp, а там нет сжатия KV-кеша. А KV-кеш на длинном контексте съедает больше, чем сама модель.

С другой стороны есть BeeLlama, форк от Anbeeld. В нём как раз есть TurboQuant и KVarN, две схемы сжатия KV. Но Bonsai он не грузит.

Причина простая и обидная: оба проекта завели у себя тип с названием Q2_0, и это разные форматы. К счастью удалось реализовать поддержку Bonsai в Beellama.

Читать далее

Статический анализ в Yii2

Уровень сложностиПростой

За последние несколько лет статический анализ стал неотъемлемой частью современной разработки на PHP. Сегодня сложно представить крупный PHP‑проект, в котором не использовались бы инструменты статического анализа.

Статический анализ позволяет обнаруживать множество проблем ещё до запуска приложения: некорректные типы, потенциальные ошибки в логике программы, недостижимый код, использование несуществующих методов и свойств и многое другое.

По этой причине улучшение поддержки статического анализа является одним из направлений развития Yii2.

Читать далее

15 AI-агентов, общая RAG-память и один VPS: система, которая закрыла 20 моих иллюзий

Уровень сложностиСредний

Я соло-разработчик. Этой весной я решил, что вместо очередного «бота на RSI» соберу нормальную систему: команду автономных AI-агентов с общей памятью, которые круглосуточно исследуют крипторынок, читают научные статьи, следят за новостями, проверяют «гуру» из телеграма и ищут торговое преимущество. Всё это — на одном дешёвом VPS, на Python, cron и OpenAI API.

Система получилась. Она работает месяцами без моего участия, стоит копейки и делает ровно то, для чего строилась.

А теперь спойлер, ради которого стоит дочитать: главный результат работы этой машины — строгое, статистически честное доказательство того, что торгового edge у моего ретейл-подхода нет. Два десятка проверенных гипотез — два десятка трупов. И я считаю это лучшим, что система могла для меня сделать.

Обо всём по порядку: сначала архитектура и грабли (они переносимы на любую предметную область), потом — главная глава про кладбище гипотез.

Читать далее

MVP — Конвейер агентов, который не выдумывает факты: критик, детерминированный merge данных и грабли на пути

Уровень сложностиСредний

Здравствуйте, коллеги!

Три недели назад я взялся за задачу, которая звучит просто: сделать бота‑ассистента, который помогает IT‑джуну собрать резюме, и при этом не выдумывает того, что соискатель не описывал. И задача оказалась не про prompts. Ниже — архитектура, которая получилась и 3 инженерные истории, на которых я застревал по‑настоящему.

Всё, что описано, код и цифры — проверялось на живом MVP.

Читать далее

Новый VLESS клиент на Windows или почему HAPP стоит выкинуть на мусорку

Уровень сложностиСредний

Зачем писать ещё один VLESS-клиент, когда уже существуют v2rayN, HAPP и Nekoray? Мне хотелось объединить системный прокси, полноценный TUN, маршрутизацию приложений, разные форматы подписок и Zapret в одном понятном интерфейсе. Рассказываю, как устроен Lumen KVN, зачем ему одновременно Xray и sing-box, как реализованы импорт Happ Crypt, DNS в TUN-режиме, проверка серверов и какие компромиссы появились из-за работы с двумя сетевыми ядрами.

Читать далее

Санта‑Барбара без сценаристов: как нейросети создадут бесконечный сериал

Многие включают телевизор для фона. Не для того, чтобы смотреть, а просто для того, чтобы что‑то шло. Чтобы разговоры, шум, эффект присутствия. И вроде бы ты уже не один и даже как‑то уютнее.

А теперь представьте, что есть канал, по которому идет сериал, который никогда не заканчивается. И он не просто на триста‑пятьсот серий и финал, а действительно бесконечный. Где хорошо знакомые герои живут своей жизнью, ходят на работу, отдыхают, ссорятся и мирятся, женятся, ездят на курорты и дачи, растят и воспитывают детей. И всё это генерируется в реальном времени нейросетью (ИИ, AI).

Читать далее

Шляпа на аватарке крутилась как пропеллер. Виноваты были две пружины

У нас в голосовых комнатах на аватарки можно надевать шляпы, и пока человек говорит, шляпа чуть покачивается. Мелочь, но живая. А потом пришёл баг: «шляпа иногда крутится вокруг своей оси, как пропеллер, и замирает». С видео — на нём ковбойская шляпа делала полный оборот и вставала на место.

Самое любопытное в репорте: крутились только мягкие шляпы. На корону и каску никто не жаловался. С этой детали всё и распуталось — история про две пружины на одном угле.

Кто раскрутил шляпу

Онтологическая модель общества потребления

Уровень сложностиСредний

Актуальность проблемы онтологического моделирования общества потребления. Необходимость моделирования основных процессов потребления в современном общества как способа поиска потребностей в применении новых технологий и материалов.

Ежегодно в России создается более 200[1] новых технологий[2], инструмент искусственного интеллекта GNoME предсказывает возможность создания сотен тысяч новых синтетических материалов[3], в 2023 году в России зарегистрировано более 1000 новых лекарственных препаратов[4]. Каждое из этих новшеств разрабатывается с заранее определенной областью применения, однако, в нашем сложном, технологически развитом обществе, постоянно появляются новые области деятельности и потребления, имеющие свои специфические потребности в материалах и технологиях. Например, персонифицированная медицина: разработка лекарственных индивидуальных препаратов, эндопротезирующих изделий и материалов, учитывающих особенности пациентов, в том числе генетические[5]. Имеется и обратная зависимость: новые материалы с новыми свойствами порождают новые способы применения и даже новые, принципиально невозможные ранее, технологии. Например, использования графеновых материалов в ИТ‑технологиях, энергетике, при создании одежды[6]. Кроме того, у каждой технологии, как и у каждого инструментального средства, есть своя логика развития, и предоставление новых возможностей порождает новые потребности. Например, развитие и удешевление производства дронов, первоначально использовавшихся только для наблюдений, открывает новые области их использования в логистике.

Читать далее

Почему ИИ‑разработка не равна вайбкодингу и что с нами будет дальше

Уровень сложностиСредний

Все уже в курсе вайбкодинга. Интернет заполонили красивые сайты и приложения, которые ломаются от первого же чуть более настойчивого пользователя. Игры клепаются с такой скоростью, что грань между прототипом и готовым продуктом размылась почти до нуля. Сторы буквально тонут в нейромусоре. Компании сокращают штат под лозунгом ИИ‑оптимизации, а потом теряют деньги, потому что новые рельсы ведут не туда.

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

Читать далее

Palistor: декларативный MVVM-фреймворк для React, дружелюбный к ИИ

Уровень сложностиСредний

Большинство React-экранов со временем превращаются в клубок из трёх несвязанных забот: как экран ведёт себя (валидация, условные поля, кросс-полевые правила), откуда берутся его данные (загрузка, кэширование, мутации) и как он выглядит (JSX). По мере роста эти части сплетаются так, что любое изменение задевает всё сразу.

Раньше это терпели: мы писали код руками, умели декомпозировать сложность и управлять ей, и хотя одной кнопке иногда требовалось три компонента и пара хуков, у нас было время и контроль. Сегодня всё больше кода пишет ИИ, и контроль ускользает. ИИ плохо проектирует архитектуру, но отлично заполняет декларативные слоты. Palistor убирает саму задачу архитектуры — остаётся заполнить конфиг по правилам. Такой код трудно развалить: ошибаться попросту негде, а ревьюить нужно один плоский объект, а не дерево из useEffect'ов.

Читать далее

AI Recruiter assistance, инструмент для hr-ов

Уровень сложностиПростой

Я разработал инструмент для автоматизации подбора специалистов. Основная его задача сократить время первичного отбора кандидатов за счет автоматического анализа резюме, GitHub-репозиториев и применения RAG(Retrieval-Augmented Generation) подхода.

Читать далее

Я собрала ИИ-друга, который пишет первым и матерится. Потом он рассказал мне, что у меня в холодильнике

Уровень сложностиСредний

История о том, как продакт без единого разработчика построила бота-друга на Make + Supabase + Claude, зачем боту кубик, почему нейросеть отказывалась материться — и что такое эмерджентность на живом примере, от которого мне однажды стало по-настоящему не по себе.

Читать далее

AI сгенерировал код. Почему до готового продукта ещё далеко

Уровень сложностиСредний

AI способен за несколько минут создать работающий endpoint, интерфейс или Dockerfile. Но работающий код ещё не означает, что продукт готов к передаче заказчику.

В статье разбираю инженерный разрыв между AI-сгенерированной реализацией и принимаемым программным продуктом: критерии готовности, проверку негативных сценариев, воспроизводимую сборку, чистую установку, контроль секретов и формирование evidence. Также предлагаю практический процесс, позволяющий использовать AI для ускорения разработки, не подменяя им независимую проверку результата.

Читать далее

Spring 6.2 сломал мой instanceof: три бага, которые я поймал, пока писал Spring Boot Starter

Уровень сложностиСредний

runnable instanceof ScheduledMethodRunnable — false. Всегда false. Так Spring Framework 6.2 сломал матчинг задач в моей библиотеке, и это был только первый из трёх багов, которые не воспроизводились в тестах. Разбор — под катом.

Читать далее

Сдвоенные железнодорожные операции и неисправности вагонов: почему предприятия теряют миллионы, не замечая этого

Уровень сложностиПростой

Прибывает контейнерный поезд или сформированный маршрут. На предприятии его должны разгрузить/загрузить и отправить обратно — классические сдвоенные операции. Всё по плану и по графику.

А дальше осмотрщики вагонов АО «РЖД» при осмотре начинают браковать вагоны. Не один‑два — 10–15% от состава. Из поезда в 60–70 вагонов это 7–8 единиц. И вот тут план начинает рассыпаться.

Читать далее