— Я вас поняла. — спокойно ответила Оля и улыбнувшись уголками губ ударила кулаком в грудь.
Ответив ей кивком, я молча вышел на улицу, где моего появления ожидали готовые к любой внезапности вооруженный студенты из первого Рубежа.
— Продолжайте наблюдать за ним. — тихо произнёс я.
В ответ парни так же ударили кулаками в грудь и по очереди вошли в гараж с оружием наизготовку.
«Откуда вообще взялось это приветствие?». — подумал я, свернув вправо на общую дорогу.
Серые облака быстро мчались по небу. Сильные порывы тёплого для этого месяца ветра поднимали в воздух обломки коричневых листьев и мелкую пыль. Такая перемена погоды в наших краях означала лишь то, что совсем скоро придут холода.
Я бросил короткий взгляд на мужиков, что в этот момент возились с установкой компрессоров. Андрей с немым напарником заканчивали протягивать питание к коротким столбам за пределами стен. По моей задумке по растянутой между ними на высоте колена проволоке подавалось напряжение на каждый отдельный сектор, когда срабатывал датчик движения. Такие столбики должны были послужить ещё одной преградой на пути волн заражённых и не требовали дополнительного расхода электроэнергии. Сперва я хотел проделать такую же схему и со стеной, подели её на сектора, но решил не экономить и оставить все как есть. На лице заиграла улыбка, когда я увидел среди наших людей и новичков из последней вылазки наших рейдеров. Рыжий бородач и чернявый Турист помогали Иванычу с дальнобойщиком собирать постаменты для установки турелей. Рядом с ними ютилась и Эльвира, что пыталась подсказывать как установить платформы так, чтобы не было никаких слепых зон.
Заметив меня, компания помахала рукой, я так же ответил на приветствие, после чего закатал рукав толстовки я открыл наруч председателя. К своему удивлению, я обнаружил, что ремешок, державший переделанный смартфон, совсем исхудал и требовалась либо замена, либо установка нового. В этот момент меня осенило, и я понял, что вполне себе могу напечатать корпуса для наручей, в которых смартфоны будут гармонично встроены. Записав это в список побочных квестов, я двинулся к своей мастерской.
Сегодня я решил посвятить весь день тем задачам, что можно было выполнить только за компом. Огромный список начинался с создания программы наведения для турелей, доработка аварийного оповещения граждан Цитадели, улучшение возможности локальной сети, чтобы была возможность контролировать целый рой дронов хотя-бы в пределах периметра, я уже молчу про работу над программным обеспечением для новой версии костюма и расшифровки жёстких дисков, добытых из подземелья Уроборос.
В мастерской играла тихая музыка. Я услышал из глубины тихий голос Николь, что подпевала солисту иностранной группы, пока смахивала пыль с опустевших полок, детали с которых перекачивали в цех. Подойдя к рабочему верстаку, я выбрался из костюма, пересел в кресло и подкатил к столу, не забыв попутно включить кофеварку. Хрустнув пальцами, я почувствовал, как мои ладони вспотели в томительном предвкушении одного из моих любимых занятий.
Подкатив ближе, я нацепил наушники, включил фоном музыку и стал проваливаться в рабочее состояние, когда всё моё восприятие сжалось до размера диагонали монитора. Рядом возникает стройная фигура мулатки, что заботливо ставит горячую кружку ароматного кофе на стол, но я уже полностью проваливаюсь в двоичный мир.
* * *
Иногда мне кажется, что клавиатура — это портал. Каждое нажатие клавиши — шаг в иное измерение, где мысли кристаллизуются в структуры из нулей и единиц из которых создаётся узкая тропинка в этом месте, сотканном из ДА или НЕТ.
Мои пальцы скользят по холодным кнопкам, и где-то там, за светом, льющимся с экрана, рождается новая вселенная. Законы которой по своему послушны и одновременны капризны.
Программирование для меня — это алхимия эфира, того самого загадочного элемента, существование которого не могут доказать те, кто работает только с материей. Я беру хаос мыслей: обрывки идей, страх ошибок, осколки мечтаний — и превращаю их в строгие строчки кода.
Они причудливо вьются, как ноты партитуры, которую без музыкальных инструментов может услышать лишь тот, кто знает отдельное звучание каждой ноты, каждой развилки нуля и единицы. Но когда программа запускается и начинает звучать, через оркестр транзисторов и микросхем, я чувствую себя дерижором потоков эфира.
Турель позади меня начинает вращаться вокруг своей оси и останавливается лишь когда её камеры видят моё лицо, датчики сбоку загораются зелёным, обозначая, что цель не враждебна, и когда в отражении защитного стекла объектива я вижу своё лицо, понимаю — что вижу воплощение моих мыслей, вырвавшихся из головы, чтобы ожить в мире металла и плоти.
Ловлю себя на мысли, что сегодня я пишу функцию, что уже завтра будет управлять грозным оружием. Алгоритм распознает звуки, вспоминаю протяжный вой и хохот заражённых. Я закрываю глаза и вспоминаю крик Николь, в комнату общежития которой пытаются пробиться зомби: высокий, надтреснутый, как фарфоровая чашка, упавшая на бетон. Мои пальцы сами находят нужные символы. `if (pitch = 1200 Hz) { triggerRescue(); }`. Код становится заклинанием, а экран — магическим зеркалом, где боль и страх обретают форму согласно третьему закону Ньютона, гласившему, что на всякое действие, есть своё противодействие.
Кофе остыл. Я не помню, когда наливал его или это делала Ника, которая уже несколько раз сама отвечала на вопросы людей, что хотели задать их мне. Девушка видела с каким погружением я ушёл в работу и делала всё, чтобы мой момент единения с миром чисел длился как можно дольше, за что я ей был благодарен.
Спустя мгновение вечности я чувствую, как вселенная внутри процессора начинает петь в унисон с моим сердцем. После трудной борьбы между мной и неуловимым багом, прятавшимся за неверной запятой, программа вдруг оживает, и я вижу, как турель поворачивается вслед за мной, словно кобра, танцующая под дудку факира.
В эти секунды граница между мной и машиной стирается. Я начинаю чувствовать намерения ожившего металла через строки кода на мониторе, и этот симбиоз прекрасен в своей точности и ужасен в исполнении.
Замечаю слепую зону в положении прицела равным семи градусам, тут же зашиваю дыру в системе безопасности. Каждая строка — это стежок, соединяющий мою паранойю с реальностью. `if (shadow.density 0.7) { soundAlarm(); }`. Осознаю, что не до конца учёл сопротивление воздуха, с которым столкнется выпущенный из дула подшипник. На краткий миг законы физики становятся выпущенными в меня стрелами, а математика — моим щитом. Я смеюсь, представляя, как объяснил бы это психологу: «Да, доктор, я воюю с зомби с помощью синусов и косинусов. Я и есть тот самый человек, которому пригодилась вся эта лабуда после школы!»
Физическая усталость и голод застает меня за тем, что я вшиваю пасхальное яйцо — функцию, которая отключает турели если слышит одновременно пятую строчку гимна и голосовую команду «ЗА РОДИНУ!!!». Не забываю сплести это с протоколом Омега. Это бессмысленно. Может даже опасно. Но я должен всегда, просто ВСЕГДА, иметь запасной план на всякий случай.
С дрожащими от перенапряжения руками я откидываюсь на спинку кресла. Вдыхаю полной грудью и понимаю.
Программирование — это моя молитва. Клавиатура — алтарь. А компилятор священное писание, которое прочесть может только тот, кто готов услышать эхо своих мыслей в гуле процессора.
Когда-нибудь я исчезну, но мой личный код останется в прописанных мною строчках — словно цифровая капсула времени с посланием для будущих поколений с запечатанным в нём криком души, застрявшим между нолем и единицей.
Глава 19
14.11.
— Он сейчас занят. — со вздохом ответила Николь, бросив через плечо короткий взгляд на сидевшего за компьютером парня.
— Но это срочный вопрос. — пробубнил странного вида старик, стоявший в компании Иваныча и повара.