КНИГА ПЕРВАЯ. КОД ПЕРЕЗАГРУЗКИ
ЧАСТЬ ПЕРВАЯ: БАГ В МАТРИЦЕ
Глава 1
Монитор упорно тупил. Вернее, тупил не монитор, а код, который на нем был открыт. Или человек, который его писал. Лев Каменев, senior-разработчик компании «Система-Плюс», смотрел на вязкую паутину строчек, которая должна была стать новым модулем для банковского API, и чувствовал, как у него начинает дергаться глаз. В правом. Классический признак того, что дедлайн уже не на горизонте, а бьет сапогом по лицу.
– Лев, клиент опять пишет, – голос менеджера Артема, прозванного в кулуарах «Голодным Фантомом» за способность материализоваться за спиной именно в тот момент, когда хотелось отойти на десять минут покурить, прозвучал прямо у уха. – Спрашивает, почему у него в личном кабинете, цитата, «вместо суммы баланса отображается смайлик с подмигивающим хохочущим чертиком».
Лев медленно, как робот-убийца из дешевого боевика, повернул голову.
– Артем. Дорогой. Ты видишь эту строчку? – Он ткнул пальцем в экран, где мигал курсор. – Это – запрос к базе данных. А вот это, – палец переместился на соседнюю вкладку, – это лог ошибок. Видишь, как он красив? Он похож на новогоднюю гирлянду, если бы ее собрал эпилептик в припадке. Клиентский смайлик – это меньшее из зол. Могло бы вылезти предупреждение «Аларм! Сейчас все полетит к чертям собачьим, включая твою кошку». Так что иди и скажи своему клиенту, что мы работаем. Или принеси кофе. Черный. Без сахара. Как мои мысли о его проекте.
Артем сглотнул и отступил, растворившись в полумраке open-space’а, освещенного лишь мерцанием экранов и зловещим синим светом от роутера. Был третий час ночи. Четвертая ночь подряд. Воздух в помещении был густым, как суп, и состоял из запахов немытой кружки, пота, пыли и отчаяния.
Лев потянулся к своей механической клавиатуре, любимой «клаве» с кликающими синими свитчами. Единственной вещи, которая приносила ему дзен в этом аду. Он ударил по Enter, запуская компиляцию.
И вот тогда все завертелось.
Сначала просто потемнело в глазах от усталости. Потом экран монитора заплыл, будто под водой. Лев протер глаза, списал на переутомление. Но когда он снова взглянул, мир изменился.
Поверх реальности, будто полупрозрачный OLED-дисплей, наложилась… разметка. Строки кода. Они висели в воздухе, оплетали столы, компьютеры, людей. Над чашкой Артема висел простой комментарий: # Кофе, три часа назад, остывший. Над самим Артемом, копошившимся у принтера, колыхался более сложный, местами запутанный блок: куча переменных (стресс = 95, авторитет = 10, желание_сбежать = 99), цикл while (работает) { здоровье– } и вызывающая жалость функция def повысить_зарплату(): return None.