Нелинейная зависимость Янковский Дмитрий
Шлем, перчатки… Андрей встал на «пятак» и загрузил входную оболочку. В воздухе прямо перед глазами возникли объемные иконки.
Он задумался, выбирая игру. В обычную мясорубку «стрелялки» сейчас лезть не хотелось, летные симуляторы надоели. Можно было поучаствовать в автогонках, но там уже если сел, то до ночи – фиги с две оторвешься.
Андрей обвел взглядом красочные зазывалки с названиями игр – в основном почти одинаковых клонов с чуть разными декорациями. А вот в эту он еще не играл. «Принц Персии 6.4 SE» – гласила иконка в восточном стиле. Скорее всего, какой-нибудь квест. Лучше не придумаешь, если хочешь убить время.
– Как приятно с похмелья мечом помахать. – Андрей усмехнулся, вспомнив строчку Высоцкого, и коснулся пальцем иконки.
Она развернулась в замшелую стену темницы и провернулась еще несколько раз, образовав пролом в каменной кладке. По замыслу разработчиков, он указывал путь на волю, а заодно на первый уровень игрового пространства.
Игра оказалась интереснее, чем Андрей ожидал. Хорошо прорисованная графика, замечательный звук. А сюжет был построен на извечной проблеме спасения прекрасной принцессы из рук колдуна-визиря, захватившего трон.
Интерес оказался в сложности прохождения уровней – сначала Андрей несколько раз нарвался на простом ориентировании и пришлось вспоминать курс школьного природоведения, рассказывающего, по каким приметам можно в лесу отличить юг от севера. Затем дело пошло серьезнее – прежде чем махать мечом, следовало его добыть. Учитывая безлюдность окружающей местности, это оказалось непросто. Наконец Андрей набрел на затерянный в джунглях мертвый город, населенный призраками рудокопов. Согласно найденному манускрипту, в сокровищнице города находился меч Аль-Дазир, но добыть его силовыми методами не удалось. Охранявший сокровищницу Главный Рудокоп активно сопротивлялся, превращаясь то в кобру, плюющуюся замораживающим ядом, то в огромного рыжего пса, быстрого, как операционка «Комманд Сервис».
Лишь с четвертого захода Андрей догадался обменять перстень с алмазом, когда-то подаренный колдуном-визирем, на необходимое вооружение. И как только рудокоп растворился в воздухе, Андрей осмотрел меч. Длинный, тяжелый, острый, затертый в месте хвата до блеска. Он показался лучшим на свете, потому что был не где-то, а в руках.
Третий уровень оказался еще сложнее. Поочередно убив двух драконов на острове, Андрей с жалкими остатками жизненной силы вышел к перекрестку трех дорог, охраняемому огромным золотым сфинксом. Чудище было настолько сияюще неуязвимым, что сразу стало понятно – драться с ним не имеет смысла. Сначала Андрей попробовал проскользнуть перекресток, пользуясь гипотетической неповоротливостью чудовища. Не вышло. Гипотеза не подтвердилась, сфинкс двигался удивительно быстро, словно не имел понятия об инерции и гравитации.
Побегав так раз пятнадцать и изведав все прелести общения с когтями и зубами чудовища, Андрей понял, что выбрал неверную тактику. Соревноваться со сфинксом в скорости оказалось бессмысленно, и он попробовал посоревноваться в коварстве.
У него в сумке лежал пузырек с ядом, добытым из хвостового шипа одного из драконов, и Андрей испробовал несколько способов скормить скляночку сфинксу. Он бросал ее в морду чудовища, но тварь категорически отказывалась слизывать смертоносное вещество. Он бросал ее в золотые глаза, но через их слизисто-металлическую оболочку яд тоже не всасывался. Наконец Андрей умудрился бросить пузырек прямо в раскрытую для укуса пасть, но оказалось, что яд попросту не действует на этот вид сфинксов.
Андрей разозлился. Он прекрасно понимал, что разработчики не могли создать непроходимую ситуацию в самом начале игры, но найти выход у него не получалось никак. Тут уже ставкой являлся не выигрыш сам по себе – Андрей вступил в противостояние с человеком, разработавшим сценарий игры, и ему до остервенения захотелось доказать себе самому и этому чертовому сценаристу, что Андреевы мозги не хуже, а лучше мозгов разработчика дешевой игрушки.
В течение следующего часа Андрей пробовал:
1) молиться сфинксу;
2) принести ему в жертву убитого в ближайшем лесочке оленя;
3) отбиваясь от дракона, подманить его вплотную к сфинксу, чтобы завязалась драка между чудовищами (последняя уловка показалась Андрею находкой, но чудовища не стали драться между собой, а накинулись на него самого в две пасти);
4) принести в жертву человека из числа живущих на дальней горе туземцев;
5) добыть в горах алмаз Аль-Кадук и заплатить им за проход;
6) заставить туземцев выкопать ловчую яму и заманить в нее сфинкса.
Эта уловка потребовала от Андрея немалого актерского и ораторского мастерства, учитывая и то, что туземцы по-русски, то есть по-персидски не понимали. Яму они все-таки выкопали, хотя для этого пришлось зарубить четверых зачинщиков мятежа, но сфинкс в нее лезть не стал, легко раскусывая любую маскировку.
Тогда Андрей распсиховался окончательно, построил туземцев в колонну и погнал на сфинкса, надеясь проскочить, пока чудище будет пожирать такую уйму народа. Но сфинкс легко справился и с этой задачей, моментально отличив Андрея от шоколадно-голой массы туземцев.
Когда Андрей в очередной раз глянул в равнодушные глаза сфинкса, в наушниках прозвучала трель дверного звонка. Андрей снял шлем. Без него кондиционированная прохлада ощущалась намного отчетливее. Звонок снова пропел – длинно, нетерпеливо.
– Иду! – крикнул Андрей, прекрасно понимая, что Пашка не услышит через дверную броню.
Он отключился от машины и ногой пихнул «пятак» под стол.
– Иду! – повторил он, глянув на экран дверного глазка.
Пашка состроил в камеру потешную рожицу.
– Вот клоун, – усмехнулся Андрей, потихоньку отходя от игровой злости.
Он клацнул магнитной защелкой замка и распахнул дверь. Пашка с ходу протянул ему две бутылки вина – красное каберне «Совиньон» новозеландского производства.
– Заходи, заходи… – Андрей взял бутылки. – Под вино будет сыр, если не возражаешь.
– Не возражаю. – Паша скинул туфли и ногами загнал их под вешалку. – Только тогда без вина сообрази что-нибудь горячее.
– Вот ты зараза, – буркнул Андрей. – Сейчас вместо работы проторчим на кухне два часа.
– Не проторчим. Сунь кусок чего-нибудь в микроволновку и успокойся. У меня с утра во рту ни крошки. Совесть имей.
Андрей молча достал из-под стола пакет с картошкой, высыпал в блюдо несколько штук и поставил в печь.
– Во-во, – вытянул шею Пашка. – Самое то.
– Протокол распечатан. – Андрей набрал программу для печеного картофеля в мундире. – Лежит на столе.
– Я его просматривал уже раз сто пятьдесят, – отмахнулся Пашка, но в комнату все же прошел. – У тебя часы что, стоят?
– Элемент сдох.
– А… Сказал бы, я бы купил. Солнце давно село?
– Забей. – Андрей принес еще одно кресло, и они вместе с Пашей сели перед компьютером. – Лучше расскажи, что ты раскопал.
– Да ничего толком. Попробовал в точности повторить команды, прошедшие с твоей машины, но результат самый обычный. Короче, да ты и сам это видишь, считало не два устройства, а три. Твой компьютер, атомы в Черноголовке и что-то еще. Очень быстрое. Ну, не медленнее твоей машины, может, даже быстрее. На прикид раза в два.
– Куда уж быстрее? Аппаратный предел быстродействия официально достигнут два года назад!
– Ну да, уперлись. Но можно теоретически облегчить софт.
– Теоретик. Ты же мне сам ставил «Комманд Сервис 2.10». Или буржуи написали более шуструю операционку?
– Разрабатывают, – пожал плечами Пашка.
– Вот именно. Нам бы с тобой никто не платил таких денег, если бы классические машины не уперлись носом в бетон. И с аппаратной точки зрения, и с программной.
– Но это факт, Андрей. Не кипятись. Если это был взлом, то взломщик обладал уникальнейшей технологией.
– И был психом, трижды лауреатом международной премии Кащенко. На кой хрен ему вообще понадобилось ломать?
– Не хотел делиться разработками, – предположил Паша.
– Я же говорю – псих. Только за методику двухкратного ускорения классических вычислений он мог бы заработать уйму денег… Скотт вроде бы даже премию объявил за это, если не врут.
– Не врут. Сорок миллионов. Но вдруг его интересуют не деньги?
Андрей пожал плечами:
– Тогда он бы тем более не стал ломать. К тому же пароль.
– Да. – Резнов успокоился и кивнул. – Действительно, бред. Но тогда остается только один вариант – ты надо мной попросту издеваешься, а на самом деле написал прогу, работа которой не отображается Аватаром. Прога грамотная, хвалю. Но главное, что мы сейчас можем забить на все и пить вино. Потом ты мне расскажешь в подробностях, как все случилось, о всех своих озарениях и прочая и прочая. А в выходные мы напишем статью и в следующем году получим Нобелевку. Нам даже одной на двоих хватило бы.
Звякнула микроволновка. Андрей вышел и разложил ужин на две большие тарелки – картофель, салат, сыр.
– Давай здесь поедим, – предложил он.
– Мне без разницы, – ответил Паша, выходя из кабинета. – Только я руки помою, а то целый день бегал как угорелый. Какое полотенце у тебя гостевое?
– Белое.
Пашка плескался минуты три, затем вытирался еще с минуту.
«Чистюля…» – презрительно подумал Андрей, когда Резнов наконец вышел из ванной.
Они наполнили бокалы вином и звякнули один о другой.
– За то, чтобы нам разобраться с этим, – предложил тост Андрей. – Не хочется упускать синицу из рук.
– Это не синица, это журавль, – поправил Паша и сразу отпил половину. – Ты его за ноги держал.
– Поймаем, – уверенно откликнулся Андрей и принялся орудовать вилкой.
За окном быстро темнело, по Ленинскому с воем пронеслась милицейская машина.
– Ну так что? – прожевав картофелину, напомнил Пашка. – Будешь рассказывать?
– Буду. – Андрей долил вина в бокал.
– Кстати, а зачем ты сократил длину пакета? Я понимаю, если бы дождь…
Андрей поперхнулся, отставил бокал и вытер губы салфеткой.
– Старик, ты что-то скрываешь, – пристально глянул на него Резнов.
– Обещай, что никому не расскажешь.
– Ну.
– Баранки гну! – вспылил Андрей. – Я ведь тебя попросил стереть протокол, и ты мне пообещал!
– Извини. Но это только для моих глаз. Мне самому невыгодно разносить это дальше. Понимаешь?
– Понимаю. – Андрей успокоился и снова отпил из бокала. – У тебя курево есть? А то мне всучили такую гадость…
Пашка достал из кармана нераспечатанную пачку и выложил на стол вместе с перламутровой зажигалкой. Андрей закурил.
– Светлане дали новый проект, – сказал он.
– Я знаю. Ты можешь ближе к сути? Во-первых, объясни, почему ты уменьшил длину пакета? Тебя не устраивала скорость прохождения данных?
– Меня глючило, – честно признался Андрей.
– Что?
– Курнул я. Травки.
– Так вот в чем дело… – Пашка качнулся на пуфе. – Ты сам ни хрена не помнишь?
– Все я помню. – Андрей нахмурился и принялся поедать салат. – Только странными образами.
– Посвятишь?
– Придется, – пожал плечами Андрей. – Сам я точно не разберусь. Меня здорово повело, и то, что писал Аватар, у меня в голове интерпретировалось самым причудливым образом. Причем я ему отвечал соответственно, как мне казалось.
– А подробнее?
– Ну… Аватар мне выдал, что к портам вместо оптических резонаторов подключены ракеты.
– Какие еще ракеты? – не понял Пашка.
– Твердотопливные! – разозлился Андрей.
– Ладно, не кипятись. И что?
– Я их запускал. Вводил координаты целей и давал команду на пуск. У меня еще на клаве кнопка для этого специальная образовалась.
– Охренеть. – Пашка кивнул даже с каким-то уважением. – Но при этом Аватар тебя два раза прекрасно понял… Ты и ему папироску сунул?
– Паша…
– Ладно, молчу.
– Затем мне показалось, что Аватар работает медленнее обычного. Я тоже подумал про дождь. Открыл жалюзи, а за окном снежная буря и деревенька, как у Гоголя в «Вечерах на хуторе…».
– Ни фига себе травка. – Пашка выразительно почесал переносицу.
– Иди ты… – хмуро буркнул Андрей и поискал глазами пепельницу.
Пепельницы на кухне не было, и пришлось идти за ней в кабинет.
– А дальше что? – спросил Пашка с неподдельным интересом.
– Меня подбили. – Андрей вернулся на кухню и поставил пепельницу на стол. – Я катапультировался и заснул.
– Нормально… – Пашка глотнул вина. – Давай доедим, еще выпьем, и я покопаюсь в твоей машине. Понимаешь, в этой версии «Комманд Сервиса» есть одна дырка. В принципе можно восстановить всю последовательность ввода с клавиатуры. Тогда сразу станет понятно, что именно ты отстукивал, что воспринял Аватар и что он проигнорировал.
– Давай. – Андрей сделал еще затяжку и затушил сигарету. – Тебе тоже дерьмо подсунули. Ты в каком магазине брал?
– Возле твоего дома.
– Тогда понятно. Левая партия.
Когда Пашка занялся компьютером, над горизонтом осталась только узкая светлая полоса неба. Андрей закрыл жалюзи и включил настенный светильник.
Наблюдать за Пашкой во время работы было забавно – он говорил с машиной, ругался с ней, будто это было полноценное живое существо, причем явно разумное.
– Сволочь ты, вот что. – Он колотил по клавишам. – Зачем буфер очистил? Я тебя об этом просил?
Компьютер безмолвно терпел оскорбления и так же безмолвно издевался над Пашкой, стараясь задать ему как можно больше работы.
– Нет, ты только посмотри на него, вот гад… И зачем? Все равно ведь я умнее, честно тебе говорю. Ага! Съел? И зачем было выпендриваться?
Андрей от скуки написал фломастером на бумажке: «Забастовка настенных часов». Усмехнулся и приклеил под циферблатом.
– У тебя есть мини-диск? – спросил Пашка.
– Ты мне? – оглянулся Андрей.
– А здесь что, еще кто-то есть? – не понял Паша.
Андрей улыбнулся.
– Зачем мне это старье, когда винты безмерные? – пожал он плечами.
– Тебе, может, и незачем, а мне нужно снести директорию, чтоб эта сволочь временно ее не нашла. Что, ни одного не завалялось?
– Я последний выкинул год назад.
– Плохо.
– Ну, переименуй директорию, зачем стирать? Он ведь по имени ищет.
– Да уж фиг. Эту файловую группу он будет искать до потери моего сознания, на всех доступных дисках под всеми возможными именами.
– Присвой невозможное имя. – Андрей попытался быть хоть в чем-то полезным.
– Он сканирует сами данные, так что ничего не получится.
– А, подожди! – вспомнил Андрей. – Один диск v меня точно есть!
– Слава богу…
Андрей вышел в прихожую и взял с тумбочки потрепанную пластиковую коробочку.
– Держи.
– На нем важного ничего нет? А то я все снесу.
– Сноси.
Андрей сходил на кухню и принес бокалы с вином.
– Я же тебе сказал – стереть все! – воевал Пашка с компьютером. – Зачем по сто раз переспрашивать?
– На, выпей. – Андрей протянул один из бокалов.
На дисководе заморгала зеленая лампочка, индицируя удаление файлов.
– Готово… – Пашка в несколько глотков осушил бокал и отставил в сторону. – Так, теперь перенесем все на диск и снесем с машины, тогда ей деваться некуда будет. Все расскажет как миленькая…
Он повозился еще немного и наконец удовлетворенно откинулся в кресле, глядя на монитор.
– Ну что? – осторожно спросил Андрей.
– Думаешь, я в этой мешанине из цифр разберусь на глазок? Я гений, конечно, но не настолько. Сейчас перепишу данные через Аватара к себе на машину, а завтра спокойненько прогоню через интерпретатор.
– Как это «перепишу»? – Андрей удивленно посмотрел на приятеля.
– Ну… Только ты не болтай языком. Как всякий нормальный админ, я себе оставил ма-а-а-ленькую дырочку. Норку. Входик такой. Называется – порт номер девять. Если ты попробуешь к нему подключиться, Аватар пошлет тебя далеко-далеко. Но если очень попросишь… Он может смягчиться. И тогда спокойненько подключит к системе и мой собственный компьютер.
– Блин, Паша… Если об этом кто-то узнает… Тебе же голову отвинтят.
– Если ты не скажешь, никто не узнает. К тому же коды доступа у меня там стоят не хуже, чем в официальной системе. Можешь мне верить.
– Верю. Но все равно это должностное преступление. Получается, ты можешь заблокировать мою машину в любой момент? Вообще вмешаться в любой эксперимент?
– А зачем? Это так, просто дырка. Черный ход на всякий случай. Еще не родился такой администратор, который бы себе его не оставил. Просто из принципа. А с тобой мы вообще друзья. К тому же со вчерашнего дня еще и соавторы.
– Ты хитрый лис, – усмехнулся Андрей.
– Спасибо за комплимент.
– Погоди… – Андрея осенила догадка. – А это не ты все подстроил?
– И на кой оно мне, по-твоему, надо?
– Ладно, ладно… замяли, – отмахнулся Андрей. – Ну что?
– Перегнал. Завтра к обеду у меня уже будет полная картина того, на какие клавиши ты нажимал, когда тебя глючило. Может, не все вычисления проходили через канал Аватара, может, часть просчетов твоя машина сделала в другой программе, а потом сбросила значения на лазеры резонатора. Это теоретически возможно. В любом случае нам обязательно нужно найти устройство, которое сделало недостающую часть вычислений. Без этого картину эксперимента не восстановить.
– Хорошо, – кивнул Андрей. – Я на тебя надеюсь.
– Я тоже. Спасибо за ужин.
– Пожалуйста. Только позвони мне сразу, как придешь хоть к какому-то выводу.
– Ясное дело! Ладно, в общем, я поеду, а то устал как собака. Ты тоже спать ложись.
– Да уж…
– Ложись, ложись. Работать все равно не получится, я Аватара тоже спать уложил. Так что все, отбой.
– Ладно, – улыбнулся Андрей. – Ты печешься обо мне как родная мама.
– К соавторам именно такое отношение и требуется.
Пашка ногой выудил туфли из-под вешалки, обулся и открыл дверь.
– Пока!
Андрей в ответ махнул рукой и защелкнул замок. Действительно, надо спать, а то завтра голова будет плохо работать.
Глава 4
Андрей любил просыпаться сам. Не по будильнику, не по телефонному звонку и не по необходимости куда-то спешить. Просто так. Проснуться, открыть глаза, понежиться, разминая затекшие за ночь мышцы. Дни, когда так просыпаешься, бывают особенно удачными.
Андрей принял ванну и побрился. Лицо в зеркале ему не понравилось – опухший какой-то вид и глаза красноватые, будто не спал три дня.
На завтрак решил запарить мороженые овощи в микроволновке. Аппетита особого не было, поэтому с мясом решил не возиться.
От еды оторвал телефонный звонок.
– Алло! – не успев прожевать, ответил Андрей.
– Привет, это Валентин.
– А… да. – Андрей наконец проснулся окончательно.
– Послушай… – Валькин голос звучал непривычно вкрадчиво. – Вы что на моем компьютере вчера делали?
– В кабинете?
– На Марсе, блин! Ладно, что оставили блюдо с печеньем, ладно крошки оставили на столе, но операционку зачем было перекраивать?
– Ладно. Не кипятись, – сказал Андрей. – Через час приеду и все сделаю как было.
– Погоди, – остановил его Валька. – Ты лучше скажи мне внятно, что вы делали на этой машине.
– Программы смотрели.
– Какие?
– Ты что, гестаповец на допросе? – не выдержал Андрей. – Обычные программы. Для компьютера.
– Понятно, что не для утюга. Область применения ты мне можешь сказать?
– Для биологии.
– А… ладно.
– Так что случилось? – спросил Андрей. – Машина работает медленно? Так это кэш. Я его настраивал на шестьдесят процентов, а эта клушка перестроила.
– На сколько? – Валентин перешел на новый виток допроса.
– С каких пор это тебя стало интересовать? Давай я лучше приеду.
– Не надо.
От такого ответа Андрей опешил:
– Валь, ты что, обиделся на меня?
– Нет. Просто не хочу отрывать понапрасну. Значит, там все дело только в кэшировании?
– Да. Скорее всего. Просто выставь кэш на шестьдесят, и все станет как было.
Валька пару секунд помолчал и спросил то, чего Андрей никак не ожидал услышать:
– А насколько от параметров кэша зависит быстродействие?
– Валя, я уже еду.
Валька снова замолчал, будто взвешивая возможность разных решений.
– Да. Наверное, приезжай. Все равно мне одному не разобраться.
– В чем?
– Короче, объясняю суть. Я запустил один просчетик, вполне стандартный. И пошел пить чай, зная, что считаться он будет десять минут.
– И что? Ждешь до сих пор? – усмехнулся Андрей.
– Нет. Он посчитался за пять минут.
Теперь замолчал Андрей. У него вдруг возникло странное ощущение, будто он еще не проснулся и сейчас, вот-вот, проснется еще раз.
– А сколько считался обычно? – осторожно переспросил он.
– Десять минут.
– Значит, вдвое быстрее? – уточнил Андрей. – Это ведь премия Скотта.
– Получается так.
– Этого быть не может. – Андрей хихикнул, пытаясь разогнать нервное напряжение. – Ты что-то напутал.