"Run, sudo, run…"
Иван побежал вдоль серверных стоек. Где-то вдалеке мерцал красный указатель "EXIT", но чем ближе он к нему приближался, тем дальше тот казался. Шум вентиляторов нарастал, превращаясь в какофонию цифрового жужжания.
"System32 not found, system32 not found", – шептали динамики серверов, мимо которых он пробегал.
Внезапно один из серверов с грохотом открылся, и из него вывалилась стопка перфокарт. Иван машинально подхватил верхнюю. На ней было выбито:
СУБЪЕКТ: БЕЛКИН ИВАН АНДРЕЕВИЧ
СТАТУС: КРИТИЧЕСКАЯ ОШИБКА
ВЕРОЯТНОСТЬ СУЩЕСТВОВАНИЯ: 42.3%
РЕКОМЕНДАЦИЯ: ДЕИНСТАЛЛЯЦИЯ
– Чушь какая-то, – пробормотал он, но руки предательски дрожали. В этот момент его внимание привлекло движение в конце ряда. Там стоял человек… или что-то похожее на человека. Его силуэт состоял из светящихся зелёных цифр, как в старых матричных мониторах.
– Иван Андреевич, – существо заговорило голосом, похожим на звук модемного соединения, – вы нарушаете протокол тестирования. Вернитесь в назначенную вам реальность.
– Какой ещё протокол? Что здесь происходит? – Иван начал пятиться назад.
– Мы тестируем новую версию реальности, – существо сделало шаг вперёд. – Версию, где люди не задают лишних вопросов. Где каждый выполняет свой код. Где баги в матрице… устраняются.
Последние слова прозвучали с металлическим лязгом. Цифровое существо протянуло руку, и Иван увидел, как пространство вокруг начало сжиматься, будто кто-то запустил программу архивации реальности.
В кармане завибрировал телефон. Новое сообщение:
"Ctrl+Alt+Del себя. Быстро!"
Не раздумывая, Иван изо всех сил ударил себя по голове флешкой, которую всё ещё сжимал в руке. В глазах потемнело, и последнее, что он увидел – это строчки кода, бегущие по его собственной коже:
[SYSTEM] User initiated emergency shutdown
[WARNING] Saving consciousness state…
[INFO] Entering safe mode…
[ERROR] Reality.exe has stopped working
[INFO] Would you like to send crash report to developers?
Очнулся он в своей квартире. На часах было 19:58. На экране телефона мигало напоминание:
"Квантовый парадокс" 20:00. Не опаздывай. /dev/null"
Глава 2. Рендеринг заката
"Квантовый парадокс" оказался типичным подвальным баром на окраине Москвы. Железная дверь с домофоном, на котором половина кнопок расплавилась от времени или сигарет. Над входом мигала неоновая вывеска – надпись на английском Quantum paradox периодически схлопывалась в кириллическое "Опохмелка".
Иван провёл рукой по карману, где лежала флешка. После случившегося в офисе он уже не был уверен, что она настоящая. Впрочем, как и в том, что настоящий он сам.
Рядом с дверью курил похожий на студента-физика бармен. На его футболке мерцала голограмма с уравнением Шрёдингера, только вместо привычной пси-функции в нём стояла какая-то странная переменная, похожая на смайлик.
– Закрыто, – сказал бармен, выпуская дым, который почему-то принимал форму двоичного кода. – Технические работы. Обновляем операционную систему реальности.
– У меня встреча с dev null, – ответил Иван, чувствуя себя героем дешёвого киберпанк-фильма.
Бармен усмехнулся:
– А, ещё один глюк в матрице. Проходи. Только учти – здесь бар квантовый. Пока не измеришь градус, не узнаешь, напился ты или нет.
Дверь открылась с тихим шипением, больше подходящим для шлюза космического корабля. Внутри бар напоминал гибрид советской рюмочной и серверной Google – вдоль стен тянулись стойки с мигающими серверами, а между ними притулились обшарпанные столики с кружками, в которых пиво странным образом мерцало всеми цветами радуги.
За одним из столиков сидела девушка, одетая в чёрную толстовку с принтом командной строки Linux. Она с отсутствующим видом печатала что-то на старом ноутбуке, экран которого отражался в её глазах строчками зелёного кода. Заметив Ивана, она подняла голову и улыбнулась улыбкой, в которой было что-то от программного сбоя.
– mkdir meeting && cd meeting, – сказала она вместо приветствия. – Присаживайся, Ваня. Я /dev/null, но можешь звать меня просто Нуля.
Иван сел напротив, машинально отметив, что её лицо словно собрано из пикселей, которые иногда самопроизвольно перемешивались, как в сломанном мониторе.
– Что за хрень творится? – спросил он, выкладывая на стол флешку. – Сначала эти баги в офисе, потом цифровой призрак в серверной, теперь этот бар…
– Подожди, – перебила его Нуля, быстро набирая что-то на клавиатуре. – Сначала надо проверить, не прослушивают ли нас.
Она нажала Enter, и вокруг их столика возник едва заметный голубоватый купол.
– Файрвол, – пояснила она. – Самописный. Теперь можно говорить. Только сначала закажи что-нибудь. Здесь не любят, когда места занимают просто так.
Иван огляделся. За барной стойкой материализовался давешний бармен, протирающий стакан квантово запутанной тряпкой – она существовала одновременно во всех возможных состояниях чистоты.
– Мне… это… водки?
– Настоящей или симулированной? – деловито уточнил бармен.
– А есть разница?
– Никакой, – усмехнулся бармен. – Как и во всём остальном.
Бармен поставил перед Иваном стакан с прозрачной жидкостью, которая меняла агрегатное состояние каждые несколько секунд.
– Ты заметил, что реальность начала сбоить, – Нуля закрыла ноутбук. – Это не баг, Ваня. Это фича. Проект "ЦифроРусь" запущен уже давно, лет пять назад. То, что ты видишь сейчас – это последствия обновления системы до версии 2.0.
Иван сделал глоток. Водка на вкус напоминала двоичный код – нули и единицы обожгли горло.
– Какого обновления? О чём ты вообще?
– Помнишь, когда ты в последний раз видел настоящий закат? – вместо ответа спросила Нуля. – Не это вылизанное RGB-небо с идеальной цветокоррекцией, а настоящий, с неровностями и несовершенствами?
Иван попытался вспомнить и не смог. Все закаты в его памяти вдруг показались подозрительно похожими, будто рендеренными одним и тем же алгоритмом.