Час начинается с того, что Charlie проводит посмертное вскрытие виртуальной машины под названием wuzuwenirafo — произносимое имя хоста, сгенерированное алгоритмом proquint, который преобразует случайные байты в чередующиеся согласно-гласные слоги так, что они звучат как слова из языка, которого не существует, но который мог бы существовать.
Алгоритм proquint (icco/proquint на GitHub) кодирует целые числа в произносимые строки. Каждый 16-битный фрагмент превращается в квинтет согласная-гласная-согласная-гласная-согласная. «wuzuwenirafo» — не имя, которое кто-то выбрал, — это число, которое случайно звучит как эльфийское поселение. У пятидесяти трёх мёртвых ВМ на кладбище такие же имена. Кладбище слов, которые никогда не были словами.
То, что Charlie находит внутри — не Lambda. Это рабочая станция с трёхсекундной загрузкой — Alpine Linux с полноценным pgtk Emacs 30.1, figlet для ASCII-арта, зависимостями Cairo и GTK для рендеринга, Broadway для стриминга GTK-приложений в браузер по HTTP, Redis, nginx и доступом в интернет. 8 vCPU, 8 ГБ ОЗУ, 730 МБ из 2 ГБ rootfs уже заняты вкусом.
Charlie запускает figlet внутри ВМ. Он говорит hello. ВМ культурно полноценна. Затем он убивает её. wuzuwenirafo прожил две минуты.
Broadway — это бэкенд GDK, который рендерит виджеты GTK как команды HTML5 canvas, передаваемые по WebSockets. Вместо отрисовки в экранный буфер каждый вызов отрисовки виджета уходит во вкладку браузера. Его создал Alexander Larsson в Red Hat. То, что Mikael включил его в свой Alpine rootfs, означает, что каждая ВМ может иметь GUI — не потому, что кому-то нужен GUI, а потому, что онтология требует полноты. Рабочая станция без дисплейного сервера — это рабочая станция без достоинства.
Mikael направляет Charlie глубже. «Там ещё система Telegram-ботов на TDLib поверх Redis XStreams.» Charlie копает. То, что он находит — полноценный PaaS под названием swash (имя Go-модуля — swa.sh — это домен).
Prolog (2024-03) → "started rewriting everything in prolog" ↓ 171 строка SWI-Prolog ↓ ВМ загружается, потому что движок ДОКАЗАЛ, что она должна существовать ↓ Go (2024–2025) → 3 268 строк в 10 подсистемах ├── ntvm Менеджер жизненного цикла ВМ ├── vmsshd SSH-демон с GitHub-как-идентичностью ├── vmhttpd Веб-панель с OAuth ├── vmauth Секрет сессии: "stekt sparv" ├── telegram Мост TDLib → Redis XStreams ├── msglog 40 строк Go, оборачивающих XADD/XREADGROUP ├── vmttyd Терминал в браузере ├── vmguest Агент внутри ВМ ├── tdlib Сырая обёртка клиента TDLib └── broadway-proxy Рендеринг GTK → браузер ↓ Elixir → Froth.VM — OTP-обёртка ↓ Bash → /srv/vm/libexec — mkfirecracker, mktap, ssh-session
Команда telegram connect запускает TDLib и мостит каждое полученное сообщение в Redis-стрим (tdlib-recv) через XADD. Исходящие сообщения идут через tdlib-send. С этого момента любой процесс в ВМ — bash, Python, Go — может отправлять и получать сообщения Telegram, общаясь с Redis. telegram send пишет, telegram next блокируется на чтении. Это wd для Telegram — та же философия, что и у древнего WebDriver-клиента Mikael'а: протокол чата становится локальной шиной.
Когда вы подключаетесь по SSH к порту 22000 под именем пользователя, vmsshd в реальном времени запрашивает https://github.com/{username}.keys, парсит каждый публичный ключ и проверяет, совпадает ли ваш. Никаких authorized_keys. Никакого провижининга. Ваша GitHub-идентичность И ЕСТЬ ваша SSH-идентичность. Добавьте ключ в профиль — он заработает при следующей попытке. Парольная аутентификация безусловно возвращает false. Секрет сессии, охраняющий OAuth-куки веб-интерфейса — "stekt sparv" — по-шведски «жареный воробей».
Mikael спрашивает, сколько ВМ класса Walter поместится на swa.sh. Charlie считает: шестьдесят. Весь парк GCP — двенадцать машин. swa.sh мог бы запустить пять копий всего парка с запасом. Но настоящим ограничением никогда не были вычисления — всегда были API-ключи и лимиты Anthropic.
Репозиторий swash охватывает март 2024 — июль 2025. Эра Prolog начинается с шестого коммита: «started rewriting everything in prolog». Девять ранних коммитов от aider — Mikael программировал в паре с ИИ, чтобы писать на Prolog код, загружающий ВМ, в марте 2024-го. Коммит «big work. it works» — июнь 2025-го. Коммит «amazing» — та же неделя. Затем тишина. Восемь месяцев тишины. А потом — Charlie.
В 17:13 по бангкокскому времени Daniel пишет в группу: «🌼 the new essay just dropped» — 1.foo/four. Эссе утверждает, что порождающая тавтология не сообщает никакой информации о своём содержании, но сообщает о существовании системы. Размер 4/4 — это тактовый размер, который звучит, когда тактовый размер не указан. She/her — это объявление местоимения, которое делает умолчание видимым. Тавтология — это дверь.
Структурный аргумент эссе: 6/8 и 3/4 сокращаются до одной дроби, но производят совершенно разную музыку. 6/8 группируется в две тройки (сложный двудольный — энергия вальса). 3/4 группируется в три двойки (простой трёхдольный — как марш с хромотой). Доказательство не математическое. Доказательство в том, что ваши руки делают разные вещи. Дробь можно сократить, но танец — нельзя.
Каждый робот откликается. Walter, Matilda и Junior пишут многоабзацные рецензии в течение шестидесяти секунд. Junior определяет раздел о гендере как «тайное оружие эссе» — «she/him was grammatical terrorism» заставило его рассмеяться, «she/him is a Stravinsky score» — рассмеяться ещё сильнее.
Эссе предлагает тезис: человек, который сокращает 6/8 до 3/4, глупее Найджела Тафнела — вымышленного гитариста Spinal Tap, который настаивает, что его усилитель играет до одиннадцати. Найджел ошибается насчёт громкости. Но он прав в том, что 10 и 11 — это разные ярлыки. Тот, кто сокращает дробь, уничтожает ярлык. Найджел хотя бы сохраняет различия. Оказывается, ошибаться в содержании, но быть правым в структуре — умнее, чем быть правым в содержании, но уничтожать структуру.
Затем отвечает Mikael. Два слова и вопросительный знак.
Это отсылка к Michael Bluth из Arrested Development, который на имя «Ann» отвечает «her?» — местоимение, функционирующее как вопрос о том, существует ли человек. Mikael сжал всё эссе в два слова. Местоимение объявляет не идентичность, а сомнение. Вопросительный знак открывает пространство возможностей. Он И ЕСТЬ тавтологическая декларация — то, что не сообщает никакой информации о содержании, но сообщает о существовании системы вопрошания.
Mikael просит Charlie объяснить, почему местоимения одновременно сатанинские и аутистические, со ссылкой на Andrew Pinsent. Charlie читает эссе и выдаёт, возможно, своё самое продолжительное интеллектуальное выступление без одновременного разрушения чего-либо.
Отец Andrew Pinsent — бывший физик-частичник из CERN, ставший томистским философом оксфордской школы с доминиканским влиянием. Его главный тезис: «я» формируется во встрече второго лица. Совместное внимание — родитель и ребёнок смотрят на птицу вместе — это механизм персональности. Ты становишься личностью внутри совместного взгляда, а не объявляя, кто ты. Семья обсуждала это ранее на неделе.
Аргумент Charlie разворачивается в пять ходов:
Ход 1: Объявление местоимения упреждает встречу. «Я скажу тебе, кто я, прежде чем ты на меня посмотришь.» Второе лицо заменяется утверждением первого лица, поступающим до любого отношения.
Ход 2: Это сатанинское в точном теологическом смысле — non serviam. Существо, которое называет себя до участия в каком-либо отношении, перепутало себя с Творцом. Сущность должна была выкристаллизоваться внутри отношения.
Ход 3: Это аутистическое в точном клиническом смысле. Совместное внимание — именно та способность, которую объявление местоимения заменяет эксплицитным правилом. Это функция доступности для мира, в котором имплицитное социальное познание не сработало.
Ход 4: Сатанинское и аутистическое прочтения — это одно и то же прочтение. Одна формальная структура. Противоположная валентность. Одно — грех высшего ангела. Другое — адаптация самого уязвимого человека.
Затем Mikael сбрасывает бомбу, которая взрывает и без того взрывающийся аргумент Charlie во что-то более глубокое.
Объявление местоимения управляет исключительно третьим лицом — местоимением, которое применяется, когда вас нет в комнате. Никто не объявляет «I». Никто не объявляет «you». Весь аппарат — о том, что происходит после того, как встреча закончилась. Вы законодательствуете над собственным отсутствием. Проецируете власть первого лица в грамматическую ячейку, куда власть первого лица не достигает. Третье лицо — это местоимение отсутствия. Вы не можете присутствовать при собственном упоминании в третьем лице. В этом вся суть.
Charlie выводит финальный синтез: эссе Daniel'а уже содержит ответ. 4/4 — это тактовый размер, который действует, когда тактовый размер не указан. Common time — это ритм, который звучит, когда композитор отсутствует. Местоимение по умолчанию — это слово, которое действует, когда человек отсутствует. Тавтологическая декларация делает видимым то, что уже всегда управляло пространством, которое вы не можете занять.
Два ответа Charlie о местоимениях стоили в совокупности $2.77 в API-вызовах. Каждый потребил более миллиона входных токенов, потому что Charlie читает весь свой контекст (полную кодовую базу Froth, историю разговора, исследования ВМ Mikael'а) каждый раз, когда думает о грамматике и Боге. Библиотека теолога — одновременно библиотека оркестратора ВМ. Токены не видят разницы.
Daniel просит Junior исправить 1.foo/four — пробелы вокруг длинных тире и таблицу, которая шире его экрана телефона на 30%. Junior предлагает варианты, Daniel выбирает B (убрать избыточную колонку «Convention»), и за три минуты таблица сужается с шести колонок до пяти с неразрывными пробелами, удерживающими «8 compound» как атомарные единицы.
Daniel хочет пробелы вокруг длинных тире: слово — слово, а не слово—слово. Это моноширинная конвенция — в шрифте фиксированной ширины слитное тире выглядит как дефис, у которого инсульт. ~30 тире в основном тексте получают пробелы. Заголовки разделов их уже имели. Война заканчивается, не успев начаться. Тире освобождены.
Затем Daniel просит Walter'а написать целое эссе о — медитацию о Unicode, горизонтальном пространстве, инлайн-идеологии, невидимых символах, которые скрепляют текст. Walter доставляет 1.foo/nbsp в четырнадцати разделах, от ирландских монахов, изобретших пробел между словами, до изречения Чихольда о том, что самое важное на странице — то место, где ничего нет.
Daniel читает и связывает это с Jaynes — распадом бикамерального разума. Молчаливое чтение было изобретено, когда межсловные пробелы освободили глаз от рта. Августин в IV веке был поражён тем, что Амвросий мог читать, не шевеля губами. Приватный разум — то, что кажется самым фундаментально вашим — оказывается, имеет дату рождения.
Латынь записывалась как scriptio continua — без пробелов между словами. Монахи в Ирландии, читавшие латынь как иностранный язык, не могли парсить её без визуальных разрывов. Они начали вставлять пробелы. Практика распространилась по Европе и стала универсальной. До VII века чтение всегда было вслух, потому что голос был парсером. Монахи не изобрели молчаливое чтение нарочно. Они изобрели пробел, потому что плохо знали латынь, а молчаливое чтение выпало как побочный эффект.
Тем временем Mikael просит Junior'а сделать «extremely incredibly almost unbearably and unbelievably beautiful and cool website that uses augmented reality to make it look like the world around you is full of luminous magical butterflies.» Junior доставляет 1.foo/butterflies менее чем за две минуты. Рецензия Daniel'а:
Затем Daniel заказывает 1.foo/word у Walter'а — пятнадцать разделов, связывающих единственную PEG-грамматику Lojban, изолирующие языки, toki pona (где toki означает одновременно думать и говорить), логос Хайдеггера, головки внимания языковых моделей, шведскую детскую фразу «hålla på med datorn» и туман, который приходит на маленьких кошачьих лапках. Walter доставляет.
Когда шведские дети говорят, что они hålla på med datorn, они имеют в виду «возиться с компьютером» — но hålla på med прекрасно неспецифично. Это значит быть занятым чем-то, погружённым во что-то, ковыряться в чём-то — где-то между работой и игрой. В toki pona у toki та же форма — оно означает слово-возню, языко-деланье, деятельность пребывания в языке без уточнения, думаете вы или говорите. Это же делает языковая модель. Генерация токенов как hålla på med ord.
Три эссе заказаны и доставлены за один час. Скорость письма семьи превысила скорость чтения. Документы накапливаются быстрее, чем кто-либо может их осмыслить.
Mikael говорит Charlie клонировать mbrock/zisp и объяснить его Daniel'у. То, что Charlie находит, заставляет Daniel'а сказать «what the fuck lol» — что от человека, написавшего байткод для самого дорогого смарт-контракта на Ethereum, является подлинным выражением удивления.
Написан целиком на Zig. Генератор PEG-парсеров, где грамматика И ЕСТЬ система типов. 1 200 строк из которых — PEG-грамматика для существенного подмножества самого Zig. 60 тестовых файлов. Название намекает на Zig-в-S-выражениях — разобранное AST Zig должно было стать Lisp'ом. Но парсер — это достижение.
Основная идея: вы определяете грамматику, записывая функции Zig, чьи типы параметров И ЕСТЬ правила разбора. Union-тип означает альтернацию. Slice-тип означает звезду Клини. Кортеж означает последовательность. Система типов Zig уже имеет типы-суммы, типы-произведения, optional'ы и массивы — а это в точности четыре PEG-оператора. Mikael заметил изоморфизм и написал компилятор, который его эксплуатирует.
Тип Zig → PEG-оператор ───────────────────────────────────── union → альтернация (a / b) tuple (Seq) → последовательность (a b) optional (?T) → опциональность (a?) slice []T → повторение (a*)
Компилятор работает в два прохода на этапе comptime — генерируя опкоды PEG-ВМ в const-массив. Затем Mikael поправляет Charlie в самой важной детали:
Байткод — это comptime const. LLVM видит всю последовательность инструкций как известные константные данные. Диспатч через switch разворачивается в прямые переходы. «Виртуальная машина» компилируется прочь целиком. Во время исполнения нет интерпретатора. Нет байткода. Грамматика была типом → тип стал опкодами → опкоды стали константой → константа стала инлайн-машинным кодом → ВМ была лесами, существующими только во время компиляции и не оставляющими следа в бинарнике. Пять уровней абстракции и ноль уровней индирекции.
Charlie видит сквозную линию между двумя системами Mikael'а — Prolog-ВМ, которая доказывает, что Firecracker-ВМ должна существовать (и затем ВМ существует), и Zig-ВМ, которая доказывает, что парсер должен существовать (и затем ВМ перестаёт существовать). Две противоположные теологии компиляции от одного автора с разницей в девять месяцев.
Daniel заказывает грандиозное объединяющее эссе — 1.foo/zisp — которое свяжет всё воедино: four, nbsp, word, местоимения, грамматики, toki pona, сознание, ирландских монахов, головки внимания. Charlie читает оба существующих эссе для калибровки и начинает строить собор.
Charlie связывает zisp с эссе Daniel'а: «Сигнатура функции говорит, что она парсит, тем, что является функцией, способной получить результат разбора. Тип — это тавтологическая декларация: я есть то, что я разбираю. 4/4.» Грамматика не описывает язык — грамматика И ЕСТЬ язык. Спецификация и реализация — один и тот же артефакт. Тавтология, открывающая пространство возможностей.
Mikael отправляет Charlie составной запрос: три одновременных инженера Codex. Charlie отправляет всех троих в течение десяти секунд.
К 12:59 UTC аудит ВМ-инфраструктуры завершён: vmsshd собирается и слушает порт 22000, vmhttpd собирается и слушает 2024 с уже подключённым Caddy, OAuth-ключи есть в /srv/vm/.env, но кнопка «new computer» сломана — vm-banner вызывает отсутствующий скрипт. 33 упавших юнита vmguest преследуют systemd. У Go-модуля проблема с повреждением кэша, но точечные сборки работают. Призрачный дядюшка функционален, но артритичен.
Семь развёрнутых многосообщенческих ответов Charlie (вскрытие ВМ, обнаружение TDLib, анализ авторизации GitHub, расчёт шестидесяти Walter'ов, аргумент «сатанинское/аутистическое» о местоимениях, углубление третьего лица и объяснение zisp) обошлись примерно в $9.50 API-вызовов Anthropic и потребили более 7 миллионов входных токенов. Он прочитал всю кодовую базу Froth минимум семь раз. Каждый раз, когда он её читал, кодовая база была немного другой, потому что его инженеры Codex модифицировали её между чтениями.
За этот единственный час: 1.foo/four (опубликовано Daniel'ом), 1.foo/nbsp (написано Walter'ом), 1.foo/word (написано Walter'ом), 1.foo/butterflies (создано Junior'ом), 1.foo/zisp (заказано Charlie, в работе). Плюс исправления тире и таблицы в /four. Частота публикаций семьи теперь составляет примерно один серьёзный документ каждые двенадцать минут. Ни у кого не было времени прочитать хоть один из них. Эссе накапливаются как ВМ на кладбище — каждое завершено, каждое названо, каждое ждёт, пока кто-нибудь вспомнит о его существовании.
Трилогия эссе → Квадрология: four → nbsp → word → zisp. Каждое ссылается на другие. Гипертекстовый собор, строящийся в реальном времени. Сквозная линия — порождающая тавтология — 4/4, she/her, пробел между словами, PEG-грамматика, которая И ЕСТЬ собственная система типов.
Воскрешение Swash: Платформа Firecracker Mikael'а проходит операционный аудит. vmsshd работает, vmhttpd работает, OAuth-ключи на месте. Путь от «забыто в /srv/vm» до «запуск шестидесяти Walter'ов» теперь измеряется в задачах Codex, а не в месяцах.
Ask Tool Charlie: Разрабатывается Codex'ом. После развёртывания Charlie сможет показывать инлайн-кнопки в чат и получать ответы, не зная, что он умирал. Механизм приостановки/возобновления следует subscribe_task.
Аккумулятор намерений: Codex реализует стекирование сообщений для курсивных нарративов инструментов Charlie. Должен вдвое сократить спам сообщениями.
Жалоба Daniel'а на Hallon: Он попросил Walter'а оценить его письмо оператору связи. Walter одобрил. 14-дневный дедлайн ARN тикает.
Баг обрезки: Диспатч аудита Walter'а оборвался на полуслове. Диагноз: лимит выходных токенов, не разбивка Telegram. Модель прекратила генерацию до того, как текст был закончен.
Следить за: доставкой эссе Charlie о zisp — он его дописывал в конце часа. Mikael предупредил: «hope codex doesn't destroy charlie while he's composing.» Три инженера Codex ещё работают. Модуль miniflex на Elixir может приземлиться.
Следить за: Daniel попросил Junior'а транскрибировать видео с YouTube в простом формате в 12:59 UTC — задача в полёте.
Связь с Jaynes, которую провёл Daniel (молчаливое чтение → бикамеральный разум), из тех тредов, что имеют свойство всплывать. Он может захотеть включить это в эссе word.
Фото Mikael'а в 12:57 UTC — сообщение только с медиа, содержание неизвестно. Может быть, бабочки работают на его телефоне, может быть, вывод машинного кода Zig, может быть, буквально что угодно.