К раннему вечеру петербургская жара немного спала, уступив место теплым, пыльным сумеркам. На вытоптанном пятачке у станции метро Петроградская, где перекрещивались громыхающие трамвайные пути, собиралась локальная тусовка.
Центром притяжения служил ларек — железная, слегка покосившаяся будка, наглухо забранная ржавой арматурной решеткой. Над узким окошком выдачи товара надсадно гудела и периодически нервно подмигивала изогнутая неоновая вывеска «Продукты 24», заливая выщербленный, усыпанный окурками асфальт мертвенно-сиреневым светом. Из темных недр киоска, перекрывая шум проезжающих мимо желто-красных трамваев, неслась музыка. Старый кассетный магнитофон безнадежно жевал магнитную ленту, отчего голос Виктора Цоя, поющего про группу крови на рукаве, звучал тягуче, глухо и с характерным, плавающим искажением высоких частот.
Вокруг ларька царила атмосфера абсолютной, беззаботной летней свободы, понятной только тем, кто молод и кому принадлежит этот странный, переломанный мир девяностых. Группа из пяти-шести фидошников, облаченных в безразмерные, вылинявшие от стирок футболки и потертые джинсы, оживленно гудела. Парни с энтузиазмом обменивались пластиковыми сокровищами. С сухим, приятным щелканьем из рук в руки переходили пухлые черные конверты дискет. На бумажных наклейках маркером были небрежно выведены названия свежих драйверов, архивов эхоконференций и новых уровней для Doom. Рядом с Денисом держался Алексей — бледный, ссутулившийся, с усталой злостью в глазах после бессонной ночи. Денис непрерывно жевал Turbo и слишком громко смеялся над чужими шутками, разгоняя собственное напряжение. Они увлеченно спорили о прерываниях материнских плат, смеялись над глупыми вопросами новичков в сети и наслаждались редким моментом живого общения.
Денис, безоговорочно взявший на себя роль негласного лидера этого собрания, решительно шагнул к амбразуре киоска. Расплатившись мятыми бумажными купюрами и перекинувшись парой фраз с невидимой во мраке продавщицей, он выудил из окошка тяжелый, запотевший полиэтиленовый пакет.
— Разбирай, железячники! — скомандовал он, подходя к компании.
Денис принялся раздавать тяжелые, покрытые ледяной испариной стеклянные бутылки «Балтики». Себе он, подчеркивая статус и финансовое превосходство, взял импортное баварское пиво в блестящей алюминиевой банке; Алексей тут же выпросил вторую банку, заявив, что «тестирует западный алюминий на прочность». Когда бутылки оказались розданы, парни с готовностью сдвинули их в центре воображаемого круга. Громкий, радостный звон толстого зеленого стекла разнесся над улицей, смешиваясь с искаженными аккордами гитары из магнитофона.
Катя, которой технические споры о контрольных суммах архиваторов были бесконечно скучны, отделилась от шумной группы. Заметив спешащего к метро случайного прохожего — сутулого мужчину в мятом сером пиджаке — она сделала несколько плавных, уверенных шагов ему наперерез.
— Мужчина, не угостите даму огоньком и сигаретой? — ее голос прозвучал с той самой обезоруживающей интонацией, которой невозможно отказать.
Прохожий, на секунду сбившись с шага, молча кивнул. Он торопливо достал из кармана помятую пачку, вытряхнул одну сигарету и чиркнул деревянной спичкой. Катя наклонилась, прикрывая слабое пламя ладонью с ярким маникюром, сделала глубокую, жадную затяжку и, кивнув в знак благодарности, неспешно вернулась к подруге, выпуская в сиреневый неоновый свет густую струю сизого дыма.
Ольга стояла в стороне от всеобщего веселья, прислонившись плечом к теплой кирпичной кладке соседнего дома. В руках она бережно, словно хрупкий артефакт, держала холодную бутылку нетронутого пива. Капли конденсата стекали по ее пальцам, впитываясь в плотную ткань объемной джинсовки. Сегодня ей совершенно не хотелось спорить о железе. Она пришла сюда с единственной целью: вырваться из плена гудящего системного блока, очистить голову от нескончаемого цифрового шума, вдохнуть запах пыли и бензина, чтобы просто почувствовать себя живой в физическом мире.
Но Денис слишком пристально следил за ней весь вечер. Его тяжелый взгляд безошибочно выхватил отстраненную позу Ольги из общей картины. Он отделился от парней, обошел компанию по дуге и целенаправленно направился к ней. Подойдя вплотную, намеренно встал так, чтобы полностью перекрыть ей вид на оживленную улицу. Его тень накрыла Ольгу, лишая ее комфортного личного пространства.
— Ну что, поговорим о твоем загадочном поинте? — голос Дениса прозвучал сухо и слишком лично, без тени летней расслабленности.
* * *
Атмосфера беззаботного вечера мгновенно треснула по швам. Денис сделал большой, жадный глоток из банки, утер губы тыльной стороной ладони и смерил Ольгу тяжелым, немигающим взглядом. Его интонации сменились на жесткие, атакующие.
— Твой Илья — стопроцентная подделка, Оля, — безапелляционно, чеканя каждое слово, заявил он. — Это мертвый автомат. Кусок кода, который паразитирует внутри самой станции Алексея.
Голос Дениса прозвучал достаточно громко, чтобы фидошники, стоявшие в паре метров от них, умолкли. Разговоры о прерываниях стихли. Парни повернули головы, прислушиваясь к зарождающемуся конфликту.
Алексей, которому эмоциональный тон Дениса мешал не меньше, чем помогал, шагнул ближе и взял спор в сухую техническую рамку. Он поднял свободную руку и начал загибать пальцы, подкрепляя обвинение конкретными фактами.
— Пункт первый, — Алексей загнул указательный палец. — У него неучтенный поинт. Семьсот семьдесят седьмой. Ты прекрасно понимаешь, что это значит. Поинт должен быть у босса в локальном списке и с паролем, а этот адрес у Алексея — служебная метка. И самое главное — у Алексея в логах нет ни единого, мать его, входящего соединения под него! Никто не звонил на модем. Твой принц не существует в телефонной сети.
Он загнул средний палец, наступая на Ольгу словесно и физически.
— Пункт второй. Аномальная чистота идентификаторов. Его MSGID выглядят так, будто система сама выплёвывает их из ядра уже готовыми и безупречно валидными. Ни один нормальный почтовый клиент не порождает такие аккуратные заголовки из ниоткуда.
Безымянный палец с хрустом прижался к ладони.
— И пункт третий. Самый убойный. Таймстампы и логи обработки. Мы с Лехой сидели над контрольными копиями. Твой текст уходит на ноду обычным поллом, а потом в базе Алексея появляется ответная простыня текста без нормальной входящей сессии под этого поинта. Ни один живой человек за обычным модемом не способен принять письмо, прочитать его, осмыслить и вернуть такой высокопарный бред, не оставив следов дозвона.
Денис презрительно скривился, словно у него во рту была горечь.
— Этот язык, эти его словечки про «досточтимую леди» и прочую рыцарскую чушь… Это машинный текст. Он сгенерирован по алгоритму. Бот просто цепляется за ключевые слова в твоих письмах и подтягивает ответы из заранее заготовленного словаря.
Ольга стояла неподвижно, лишь пальцы с силой впились в гладкое стекло бутылки, сдирая ногтями размокшую бумажную этикетку. Она молчала, ожидая, когда поток цифр иссякнет.
Денис подался вперед, понизив голос до угрожающего, змеиного шипения.
— И знаешь что еще? Мы с Алексеем уже поставили капкан. Контрольные копии, логи, сравнение баз. Как только эта штука снова дернется внутри системы, мы увидим, какой файл изменился и когда. Я тебе потом распечатку принесу. Чтобы ты своими глазами увидела, с каким виртуальным ухажером крутишь любовь.
Денис выпрямился, нависая над девушкой и давя на нее всем своим авторитетом системного администратора.
— Перестань тратить свое время на этот цифровой мусор, Оля. Это глупо.
* * *
— Хватит! — Ольга резко, словно от удара хлыстом, вырвалась из оцепенения.
Она сделала быстрый шаг вперед, вплотную приближаясь к Денису. В ее глазах болезненно отражалось мигание неоновой вывески. Она слышала математику, понимала ее — и всё равно не могла принять вывод.
— Ты опять сводишь человека к логам, Денис! — голос Ольги дрожал от сдерживаемой эмоции, но звучал звонко. — Попробуй хотя бы раз прочитать текст. Настоящий текст, а не системный мусор!
Она взмахнула свободной рукой, словно отгоняя от себя его технические термины.
— Алгоритм, говоришь? Программа? — Ольга горько усмехнулась. — Какая машина, написанная вашими задротами-программистами, способна обладать эмпатией? Ты читал, что он пишет про свободу воли? Ты видел, какие тонкие, невероятные метафоры он использует, когда мы обсуждали сказку про Колобка? Программа не может с искренней грустью рассуждать о вековых серебристых древах и шпилях замка, в которых застыло время. Машина не пишет стихи!
Ольга перевела дыхание. Ее грудь тяжело вздымалась под расстегнутой джинсовкой.
— Этот твой «цифровой мусор» понимает мое настроение по одному предложению лучше, чем все вы, живые люди, стоящие здесь с пивом. Он настоящий. Я это чувствую.
Денис издал короткий, язвительный смешок. Он откинул голову назад и открыл рот, чтобы выдать очередную порцию саркастичных контраргументов.
Но в этот момент между ними плавно вклинилась Катя.
Она глубоко затянулась, небрежно прищурилась и выпустила густую струю едкого дыма прямо в лицо Денису. Хакер закашлялся, вынужденно отступая на полшага назад. Катя встала плечом к плечу с Ольгой, превращаясь в надежный тыл.
— Знаешь, что я тебе скажу, хакер недоделанный? — Катя смерила парня взглядом с ног до головы. — Вы просто беситесь. Нашелся кто-то, кто Ольке пишет красиво, а вы можете только дискеты друг другу таскать да пиво глушить.
Катя оперлась спиной о гофрированную стенку ларька и стряхнула серый пепел прямо на кроссовки Денису.
— На дворе девяностые, мальчики, — Катя обвела взглядом притихшую толпу фидошников, покачивая сигаретой в тонких пальцах. — Тут вообще никому нельзя верить на сто процентов. Ни телевизору, ни соседу, ни мужику с умным лицом.
Она сделала паузу, позволяя словам повиснуть в душном вечернем воздухе.
— Но если текст, который Олька читает по ночам, по-настоящему красивый… Если он трогает ее душу и заставляет улыбаться… Какая, к черту, разница, какие там у него служебные адреса? Почему бы просто не позволить человеку помечтать?
Среди фидошников пронесся невнятный ропот. Кто-то из парней на заднем плане неуверенно, но согласно кивнул, признавая правоту жизненной философии Кати. Другие лишь скептически пожали плечами, не решаясь вступать в открытый конфликт. Ольга, чьи нервы были натянуты до предела, бросила на подругу быстрый, полный искренней благодарности взгляд. Катя ответила ей едва заметным, ободряющим подмигиванием.
* * *
Снисходительный тон Кати и молчаливое попустительство толпы стали последней каплей для Дениса. Его лицо стремительно пошло красными пятнами.
— Помечтать?! — взревел Денис, совершенно забыв о стоящих вокруг людях. Его голос сорвался на фальцет, звонким эхом отскакивая от стен кирпичного дома. — Ты его даже не видела, Оля! Он просто текст на экране, а ты уже готова верить ему больше, чем людям, которые рядом!
Он начал беспорядочно рубить воздух свободной рукой, словно отбиваясь от невидимых врагов.
— Ты вообще не понимаешь, с чем имеешь дело! — Денис ткнул пальцем в сторону ее компьютера, хотя тот оставался далеко, в душной комнате Ольги. — Я тебе по цифрам объяснил: там не человек. А ты с ним стихами обмениваешься и делаешь вид, будто это роман!
Ольга вспыхнула. Слова о наивности и глупости ударили по ней больнее, чем все технические выкладки до этого.
— Ты не имеешь права решать за меня, Денис! — закричала она в ответ, не сдерживая накопившейся ярости. — Ты лезешь не в свое дело! Ты просто пытаешься своими грязными руками разрушить то единственное светлое, что приносит мне радость в этой серой рутине! Оставь меня в покое!
Ссора перешла в открытый, неконтролируемый крик. Фидошники, осознав, что академический спор о маршрутизации окончательно превратился в безобразную личную драму, синхронно сделали шаг назад, стараясь слиться с тенями улицы и не вмешиваться в этот эмоциональный взрыв.
Денис замер. Он смотрел прямо в лицо Ольги, тяжело и прерывисто дыша. В его глазах смешались злость, отчаяние и бессилие. Никакие чужие выкладки и никакое его «я же рядом» не пробивали стену, которую она воздвигла вокруг своего эльфийского принца.
Денис медленно перевел взгляд на свою правую руку, в которой до сих пор была намертво зажата наполовину полная банка. Его пальцы мелкой дрожью отзывались на переизбыток адреналина в крови.
В следующее мгновение Денис сжал кулак со всей силы.
Громкий хруст сминаемого металла разорвал повисшую над толпой тишину. Банка переломилась пополам. Пивная пена брызнула во все стороны, заливая пальцы Дениса липкой, пахнущей солодом жижей. Остатки теплого пива полились на асфальт, оставляя на пыли темные лужицы.
Не сказав больше ни слова, Денис широко размахнулся. Смятый, искореженный кусок алюминия полетел по крутой дуге и с оглушительным, лязгающим грохотом врезался в дно пустой металлической урны возле ларька. Звук удара показался Ольге похожим на пушечный выстрел.
Денис круто развернулся на каблуках кроссовок, полностью прерывая зрительный контакт. Он смотрел в сторону станции метро, тяжело дыша. Ольга, все еще судорожно сжимая в руках ледяную бутылку, вдруг с пугающей ясностью осознала, что этот теплый летний вечер безвозвратно испорчен. Спокойного отдыха, которого она так искала, больше не будет. Жестокий мир машин и чужих амбиций снова грубо вторгся в ее хрупкую реальность.
* * *
Группа фидошников, оглушенная внезапной вспышкой агрессии, начала стремительно распадаться. Над вытоптанным асфальтом повисла вязкая, неловкая тишина, в которой отчетливо слышалось лишь гудение неоновой вывески ларька. Парни прятали глаза, неловко переминались с ноги на ногу и обменивались короткими, скомканными фразами прощания.
— Ну, бывайте… Коннекта всем, — буркнул один из них, торопливо пряча стопку дискет в безразмерный рюкзак.
Денис ушел первым. Он шагал прочь по улице быстро, жестко впечатывая кроссовки в асфальт, ни разу не обернувшись на окрики приятелей. Его сутулая фигура стремительно растворялась в сгущающихся синих сумерках Петербурга.
Вскоре возле мигающей неонами будки остались только Ольга и Катя. Они молча переглянулись, синхронно развернулись и неспешно пошли вдоль проспекта, направляясь в сторону дома Ольги. Петроградская сторона окончательно погружалась в глубокие вечерние тени. Над головами зажигались желтые фонари, выхватывая из темноты рои танцующих мошек.
Катя шла рядом, мерно цокая каблуками. Она достала из помятой пачки еще одну сигарету, привычным жестом прикурила на ходу и курила в абсолютной тишине, не делая ни малейшей попытки завязать разговор или утешить подругу. Она обладала редким талантом понимать, когда человеку нужно просто побыть наедине со своими мыслями.
Ольга шла быстро, почти не разбирая дороги. Под ритмичный стук шагов она снова и снова прокручивала в голове слова Дениса.
Она не была инженером, но за годы в Фидо успела выучить главное: медные провода, скорость модема, Zmodem и логи не прощают романтических исключений. Все озвученные Денисом факты складывались в пугающую картину.
С точки зрения архитектуры сети Денис был прав. Живого пользователя по имени Илья в привычном смысле не существовало. По всем признакам, она общалась с чем-то, что появлялось внутри почтового тракта Алексея и не оставляло нормального модемного следа.
Сильное, холодное сомнение сковало ее изнутри, заставив поежиться в теплой куртке.
«Действительно ли я каждую ночь выворачиваю душу наизнанку перед локальным алгоритмом? — задала она себе пугающий вопрос, глядя на свое искаженное отражение в витрине закрытого магазина. — Неужели я стала жертвой чьего-то изощренного, жестокого эксперимента с ботом, или, что еще хуже, инструментом вируса?»
Она остановилась на мгновение, чтобы перевести дух. И тут, к своему удивлению, поняла: мысль о возможной фикции не вызывала отторжения. Интерес к этому загадочному собеседнику, к его возвышенным, старомодным текстам и новым письмам никуда не исчез.
Вопреки логике Дениса и правилам сетевой безопасности, ее привязанность к поинту 2:5030/77.777 только усиливалась. Если эти тексты писала машина — значит, машина была страннее и живее большинства людей, которых она знала. Если это был хакер, скрывающийся за строками кода, — он был опасно хорошим поэтом.
Ольга сделала глубокий вдох ночного воздуха, пахнущего остывающим асфальтом и распускающейся зеленью. Решение оказалось простым и упрямым. Пусть Денис и Алексей строят свои ловушки, копируют базы и сравнивают логи. Она продолжит переписку. Не потому, что доказательства не важны, а потому, что правда не обязана быть удобной.
Ольга резко ускорила шаг. Ей больше не хотелось гулять по ночному городу. Острая, почти физическая потребность поскорее оказаться в своей тесной комнате захлестнула ее с головой. Она жаждала сесть в потертое кресло перед стареньким системным блоком, услышать щелчок тумблера на мониторе, запустить GoldED и написать Илье новое письмо. Написать, чтобы проверить свои чувства, бросить вызов холодной логике и узнать, что же ответит ей этот невозможный, несуществующий в реальном мире собеседник.