Flude -- Universal Document Engine

Открытая разработка: архитектурные заметки, инженерные решения и обновления прогресса.

Призрак в проводе: как мы два дня искали сетевой баг, которого не существовало

Раннер падал каждые две с половиной минуты, а job для одного репозитория не мог запуститься больше суток. Мы искали сетевой баг — с захватом пакетов и дампом памяти в WinDbg. Настоящая причина оказалась в одной строке фильтра API и логике watchdog'а.

Побег из облака: как пять репозиториев перестали делить один лимит минут

Поскольку проект состоял из пяти репозиториев, каждый из них обзавёлся своей собственной CI. Красиво архитектурно — и дорого по минутам GitHub Actions. Подняли свою Windows-машину с одним раннером на всех пятерых — и написали для него сторожа, которому предстояло с треском провалиться меньше чем через сутки.

Иллюзия скорости: двухуровневый кэш, который не может ускорить то, что не умеет Doxygen

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

Flude.guide: имя, которое пришлось искать между Udemy, дебаггером и nude.com

Рабочее название движка оказалось занято брендом отладчика микроконтроллеров. Мы перебирали короткие варианты с подстрокой ude, одновременно оценивая благозвучие, чистоту и продвигаемость.

Пасхалка «if not 0:»: как автономный ИИ-аудит поймал мёртвый код в оркестраторе

Никакой драмы с падением прода — только курьёзная и показательная находка. Прогнали автономный ИИ-аудит по ядру движка и наткнулись на условие, которое гарантированно выполняется всегда.