Наше последнее — и вправду последнее — совместное дело с Саидом было связано как раз с этим доказательством. Наверное, большинство удивительных и драматических событий нашей жизни начинаются с таких вот обычных разговоров. Мы сидели у Жигана после удачной кражи пароля лысого из «Аргуса». Саид с Жиганом шутя обсуждали, как еще можно заставлять пользователей самостоятельно отдавать пароли посторонним людям. Одним из способов было липовое сообщение об ошибке, на что и купился лысый. Жиган заявил, что точно так же можно имитировать панели web-почты, посылая мыло со скриптом, который хайдит настоящие кнопки программы и вместо них показывает фальшивые. Саид, в свою очередь, предложил вариант со взломом часов. Некоторые системы, заметил он, регулярно требуют от пользователей менять пароли, и эта регулярность определяется как раз «часовым демоном»…
Честно говоря, я плохо понимал, о чем говорят эти двое на своем диком жаргоне. Но чтобы поддержать беседу, зацепился за тему часов и рассказал им о том, какие курьезы вызвала Ошибка-2000 в некоторых финансовых организациях, где компьютеры стали показывать то ли 1900-й, то ли вообще 100-й год.
Может, подобным образом удастся завести часики и сейчас? — спросил я своих приятелей-хакеров. Вовсе не обязательно отматывать сто лет. Даже при несовпадении на несколько минут легко придумать схему, при которой сумма на отдельно взятом счету резко вырастет. Подобных примеров было предостаточно. В феврале того же 2000-го на компьютере одного служащего, ведавшего электронной рассылкой новостей Резервного банка Австралии, часы спешили всего на 6 минут. Из-за этого некий финансовый план попал к 64 подписчикам чуть раньше официального выхода пресс-релиза. За шесть минут люди заработали миллионы.
Жиган сразу забраковал идею. Где-то, может, и была пара курьезов, но вообще на этого мистического Бага Удвака потратили даже больше, чем надо, заявил он.
Саид лишь улыбнулся:
— Много потратили? Это хорошо. Профессор, запишите для вашего ходжи Тука-Мука новый закон: «Поспешное исправление ошибки — отличный способ сделать новую ошибку».
Мы с Жиганом лишь посмеялись, думая, что это так и останется шуткой. Но через месяц Саид сообщил, что «часики завелись» как минимум в двух отделениях Сбербанка. Он нашел дыру в соответствии с тем самым принципом, который рекомендовал для Теории Ошибок Тука.
Это было не столько желание доказать нам свои способности, сколько собственное увлечение игрой. Человек, коллекционирующий старинные монеты, не без интереса относится к старинным банкнотам. Так и Саид, с его увлечением техноантиквариатом, время от времени включал в свою коллекцию и старые программы. И так же, как в случае с железом, здесь причудливо перемешивались времена и нравы. Программа на ФОРТРАНе, заставлявшая прыгать старинные дисководы с 14-дюймовыми дисками, оказывалась (по алфавиту) рядом со странными сетевыми приложениями на странном языке ФОРТ — до знакомства с Саидом я ошибочно считал, что это просто сокращение от слова ФОРТРАН, и не понимал, в чем прелесть программ, не превышающих по размеру 5 килобайт. Зато как литератор, я находил очень символичным лес скобок ЛИСПа, из которого, как из ракушки в водорослях, рождалась первая «Элиза». Не меньшее число философских ассоциаций вызывала строчка кода на АЛГОЛе-68, которая занималась тем, что распечатывала сама себя.
Когда я только услышал о софтовой части коллекции Саида, то решил, что там должны быть собраны хакерские программы. Или вирусы. На худой конец, старинные игры вроде «Диггера». Но я ошибся. Саид собирал оригинальное. Если игра — то «Тетрис», который в качестве дисплея должен был использовать фасад здания Московского университета, с окнами-пикселями. Если вирус — то для программируемых швейных машинок, приводивший к тому, что швы сшитого такой машинкой костюма оказывались слабыми в самых интимных местах, и расходились при легком приседании.
Были в этой коллекции и просто абсурдные вещи, которые тем не менее создавали ощущение альтернативных ветвей технологии. Например, браузер с круглым окном, придуманный, очевидно, для путешествий по Сети на компьютере с круглым, как иллюминатор, дисплеем. А некоторые экспонаты и в самом деле были связаны с новыми парадигмами программирования и философии вообще. Таким был язык QRDL, созданный сектой Делителей. Он начинался как совокупность фильтров и «черных списков» для изоляции от сетевой рекламы, шпионских ботов и прочих активных информационных сущностей, которые в последнее время так и норовили без спроса просочиться в компы всего мира. Позже QRDL стал настоящим языком антипрограммирования, а потом и интеллектуальной антиоперационной системой, основу которой составляли не запросы на исполнение различных действий, а наоборот — команды-отрицания и подпрограммы-запреты для работы в агрессивной среде, где всякой динамики и так уже чересчур много. Правда, некоторые версии QRDL практиковали и такой способ защиты, как нападение: боты-антипоисковики мешали поисковым машинам находить спрятанные сайты, и даже понятие сообщения превращалось здесь в свое «анти» — в тех случаях, когда не помогает фильтр, может помочь ответный поток мусора, информация с отрицательным значением ценности.
Для меня всегда оставалось загадкой, где в наше время можно отыскивать старинные программы. Если техника сохранялась веками, то софт, как мне представлялось, был постоянным переписыванием одной истории. Даже на моем старомодном лаптопе уже не было программ из прошлого века.