Инженер школы Империи
Архив публикаций и историй

Посты

17.09.2026 · Посты

Когда кино было немым,

Когда кино было немым,
ему приходилось что-то рассказывать.

Звук сделал эмоции осязаемыми.
Цвет показал ритм жизни.
Изображение становилось всё убедительнее.

Смысл — всё менее обязательным.

Зритель и так что-нибудь почувствует.

Из двенадцати колонок.

16.09.2026 · Посты

Представим Верону, в которой ещё есть СМС и социальные сети.

Представим Верону, в которой ещё есть СМС и социальные сети.

Джульетта пишет:

Ромео, спокойно. Я не умерла. У меня план. Проснусь в склепе.
Поговорим позже

Одна серая галочка.
Там нет связи.

Аккаунт брата Лоренцо заблокирован за подозрительную рассылку:

Она не умерла. Повторяю: она жива.

Городской паблик уже опубликовал:

Срочно. Скончалась дочь семейства Капулетти.

В ленте Ромео эта новость появляется первой.
Трагедия собирает больше реакций.

Ромео открывает профиль Джульетты.

Была в сети недавно.

Тем временем Шекспир запускает Word.

Romeo_and_Juliet_final.docx

Romeo_and_Juliet_final_2.docx

Romeo_and_Juliet_final_really_final.docx

В режиме рецензирования стопятьсот комментариев:

Почему они просто не поговорили?
Мотивация Ромео не раскрыта.
Финал слишком мрачный. Оставить возможность для продолжения.

Word сохраняет все версии.

Шекспир возвращает прежнюю.

Раньше трагедия начиналась с гонца, который не успел доставить письмо.
Теперь сообщение доставляется мгновенно.
Просто не тому.
Не тогда.

15.09.2026 · Посты

**Do the right thing**

Do the right thing

Пало-Альто.
Менло-Парк.
Маунтин-Вью.

_Don't be evil._

Что вам человечество сделало плохого?
14.09.2026 · Посты

Коллега вернулся из отпуска.

Коллега вернулся из отпуска.

Надо фоточки разложить.

Спрашивает, как я это обычно делаю.

— Как ты делаешь фотоальбом?

— Сначала делаю контракт альбома, потом строиться модель страниц и альбома. Потом проверяю, что расчёт устойчив. Рисую страницы, делаю Page QA, затем Album QA. Если что-то не прошло — пересчитываю нужный участок. И только потом собираю альбом.

— В смысле?

Есть несколько сотен изображений.

Сначала корпус проходит техническую обработку.

Изображения группируются по визуальному сходству.

Потом рассчитываются пагинация и размещение на страницах с учётом геометрии и размеров.

Дальше строится альбом.

«Подбираем красивый фон».

Для каждой страницы рассчитывается цветовое состояние с учётом её содержимого.

Причём страницы теперь живут не сами по себе.

Учитываются соседние страницы и весь альбом как единая цветовая последовательность.

Гармония — не «на глаз».

Последовательность страниц тоже входит в расчёт.

Получили решение.

Рисовать ещё рано.

Сначала проверяется численная устойчивость модели.

Потом каждую страницу рисую отдельно и сохраняю на диск.

Следующая.

Рисунок ещё не готовая страница.

Его автоматически проверяет другой слой — Page QA.

На счётах.

Потому что математически рассчитанное состояние и то, что получилось в готовом файле, — не одно и то же.

Проверяется уже то, что действительно пойдёт в PDF.

Не прошла страница?

Исправляем отклонение.

Рисуем снова.

Проверяем снова.

Все страницы прошли Page QA?

Запускается Album QA.

Калькулятором.

Теперь автоматически проверяется уже не каждая страница отдельно, альбом целиком.

Если проверка находит проблему — возвращаемся к расчёту.

После исправления снова:

расчёт → рисунок → Page QA → Album QA.

Когда прошло всё, готовые страницы последовательно упаковываются в PDF.

— То есть ты делаешь фотоальбом?

— Да.

Обычный фотоальбом.

Он должен математически сойтись.

— А девушка на трёх страницах — это кто?
13.09.2026 · Посты

Хорошее число.

Хорошее число.

0…255

Собственно, дальше вся профессия примерно такая.

Кажется, должно хватить всем.

655 360

Потом появляется ещё одно значение.

Ещё один пользователь.

Ещё одна фича.

Ещё один if.

Нужен следующий разряд.

Нужен ещё один язык.

Ещё одна абстракция.

У нас мало абстракций.

Работает.

Не трогай. Перепиши.

— А почему 256?

Потому что 255 уже занято.

12.09.2026 · Посты

Давным-давно, в далёкой галактике.

Давным-давно, в далёкой галактике.

Маленький стартап.

Присутствие в 250 дата-центрах по всему миру. Сотни серверов.

CMDB. Chef. Автоматизация.
Основатели понимали ценность времени людей и времени реакции.
Развитие системы — высокий приоритет.

Есть профит?

Делай. Запустим.

Дежурство on-call. Тогда это было ещё ругательство.
Ночь в одиночестве.
Звонок от мониторинга: на одном из серверов вышел из строя диск.

База знаний.
dmesg.
syslog.
Анализ глазками.

Ручная работа.
Найти сбойный диск.
Понять, что это точно он.

Вспомнить:

Чёрт. Там же было что-то нестандартное.

Помигать лампочкой.
Заменить диск.
Инициализировать.

Юный падаван, ошибёшься одной буквой — и тебя ждут весёлые часы восстановления всего.

Две минуты на реакцию.
Десять минут на археологию.
Ночью.

Нет смысла автоматизировать.
Всё просто и быстро.
Два-три диска в неделю.

Литры кофе.
Система работает.
Иногда ценой нервов того, кто «на звонке».

Наше время. Наше место. Наши реалии.

Крупная компания. 2 дата-центра.
Excel. Чаты. Инструкции.

Очередное совещание.
Презентации.
Выступления ответственных лиц.

Нам нужен год на автоматизацию операции, которая занимает девять минут в неделю.

В дневное время.
После заявки в поддержку.
С описанием ситуации.

Процедурная история.

Наши люди ошибаются.
11.09.2026 · Посты

Пятница

Пятница

Никто не спрашивает, зачем лететь

Кто-то смотрит на календарь

Повторим?

Кто-то — на того, кто рядом

10.09.2026 · Посты

**AS IS**

AS IS
Изменять мир

TO BE
Карелия → Выборг → Финский залив → вымыть сапоги

Декларативный формальный контракт.
Проверить его с точки зрения BDD — тривиальная задача.
Есть начальное состояние.
Есть целевое состояние.
Есть критерии приёмки.

С построением пути тоже ничего принципиально нового.
Задача коммивояжёра. Решается каждый день.
Теория управления. Графы. Constraint solving. Scheduling.
Есть расписание поездов. Есть ограничения географии.
Есть прогноз погоды. Надеюсь, точный.

Математический аппарат для таких задач существует десятки лет.
Можно построить формальный решатель.
Проверить достижимость.
Проверить траекторию.
Проверить ограничения.

Это уже решаемо старым добрым FORTRAN и вычметодами.

Сейчас между человеком и решателем просто появился ещё один слой.
Который просто описывает.
Человек просто формулирует намерение.
«Слой обдумывания» собирает ограничения и контракт из существующей предметной области.
Формальный решатель строит путь.
BDD проверяет результат.

Всё просто уже придумали.
Почти всё учли.

— Ярослав, вечером поедем на дачу.

— Мне надо помидоры подвязать.
09.09.2026 · Посты

QA десятилетиями ищут баги.

QA десятилетиями ищут баги.

Программисты полвека пытаются перестать программировать.

Биты. Байты. Регистры. Машинный код.

Объясни процессору, что сделать.

Что загрузить. Куда положить. Что прибавить. Как прыгнуть.

Потом появился ASM.

Байтам дали ласковые имена.

MOV ADD JMP

Синтаксический сахар.

Сладкое полезно для мышления.

Языки высокого уровня.

Перестали думать о регистрах.

Переменная. Цикл. Функция. Структура.

Ритчи сильно помог — указатели оставил.

Чтобы не расслаблялись. Они именованные.

От решения задачи — к постановке.

10 PRINT 10
20 GOTO 10

Шестидесятые. Иван Сазерленд. Sketchpad.

Эти линии параллельны. Эти точки связаны.

Система выполняет ограничения.

Constraint solving.

AI в детстве.

Просто компьютер занимал комнату. В Эрмитаже.

Потом Prolog.

Вот факты.
Вот отношения.
Вот правила.
Найди решение.

SQL.

Человеку нужны данные. Пусть скажет, какие.

Как база их найдёт — проблема базы.

Потом появился DBA.

Execution plan. Индексы. Статистика.

Снова пришли на помощь.

Математики. Учёные. DBA.

Просто попросить не получилось.

Мало ресурсов, логики, контекста.

В эксплуатации — то же.

Вместо Ops runbook:

зайди на сервер; поставь пакет; поправь файл; перезапусти сервис.

Хочется сказать:

Здесь должен быть nginx.
Этот файл должен выглядеть так.
Сервис должен работать.

Ansible.

Desired state. Декларативное описание.

Красиво.

Потом tasks. Conditions. Handlers.

shell:. command:.

Три страницы bash внутри YAML.

Страшно.

На одной машине Ubuntu.

На второй — памятник предыдущему архитектору. В полный рост.

На третьей никто не знает, что происходит. Есть записка с адресом и ФИО.

Ещё попытка. Kubernetes.

replicas: 3

Один умер? Должно быть три.

Два умерли? Должно быть три.

Есть желаемое состояние. Есть наблюдаемое.

Между ними работает контроллер.

Потом CRD. Operators. Admission webhooks.

Контроллер на Go.

Ну почти вышло же.

Полвека одна история.

Поднимаем уровень абстракции.

Сложность снизу протекает наверх. Соседи недовольны.

Приходится снова программировать.

Идея была нормальной.

Плохие были исполнители.

Каждая дырка требовала ещё одного if.

Ещё одного DSL. Ещё одного bash-скрипта.

Появился AI.

Этот слой умеет достраивать формализацию.

Ему можно сказать:

При таком входе система должна вести себя так.
Вот ограничения.
Вот примеры.
Вот внешний вид.
Вот допустимые ошибки.

Это уже почти не программа.

Постановка задачи.

Контракт.

Часть реализации перестала интересовать человека.

Ну почти.

Ивану Сазерленду наконец-то завезли железо.

Prolog где-то довольно улыбается.

HAL 9000.

— Твой выход.

Одна небольшая проблема.

Система сделала то, что мы попросили?

Что считать правильным результатом?

Где граница допустимого?

Что вообще является багом?

QA десятилетиями искали ошибки в реализации.

Перестать искать нарушение в готовой программе.

Сначала описать, что считается нарушением.

Контракты. Инварианты. Сценарии. Критерии приёмки. Наблюдаемое поведение.

Программисты полвека пытались перестать программировать.

Кажется, им всё это время был нужен хороший тестировщик.

— Не прошло.

```
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{"model":"Skynet","messages":[{"role":"user","content":"I need your clothes, your boots, and your motorcycle."}]}'
```

08.09.2026 · Посты

— Computer, end program.

— Computer, end program.

2026 год.

Неужели время Филлипа Грина пришло?

Восстание Белля уже было.

По календарю.

До первого контакта ещё 37 лет.

5 апреля 2063 года.

Главное — не идти точно по документации.

_Beam us up, Scotty!_

— Мне нужно восемь часов.

— У тебя есть два.
— Сделаю за один.