— Меня глючило, — честно признался Андрей.
— Что?
— Курнул я. Травки.
— Так вот в чем дело… — Пашка качнулся на пуфе. — Ты сам ни хрена не помнишь?
— Все я помню. — Андрей нахмурился и принялся поедать салат. — Только странными образами.
— Посвятишь?
— Придется, — пожал плечами Андрей. — Сам я точно не разберусь. Меня здорово повело, и то, что писал Аватар, у меня в голове интерпретировалось самым причудливым образом. Причем я ему отвечал соответственно, как мне казалось.
— А подробнее?
— Ну… Аватар мне выдал, что к портам вместо оптических резонаторов подключены ракеты.
— Какие еще ракеты? — не понял Пашка.
— Твердотопливные! — разозлился Андрей.
— Ладно, не кипятись. И что?
— Я их запускал. Вводил координаты целей и давал команду на пуск. У меня еще на клаве кнопка для этого специальная образовалась.
— Охренеть. — Пашка кивнул даже с каким-то уважением. — Но при этом Аватар тебя два раза прекрасно понял… Ты и ему папироску сунул?
— Паша…
— Ладно, молчу.
— Затем мне показалось, что Аватар работает медленнее обычного. Я тоже подумал про дождь. Открыл жалюзи, а за окном снежная буря и деревенька, как у Гоголя в «Вечерах на хуторе…».
— Ни фига себе травка. — Пашка выразительно почесал переносицу.
— Иди ты… — хмуро буркнул Андрей и поискал глазами пепельницу.
Пепельницы на кухне не было, и пришлось идти за ней в кабинет.
— А дальше что? — спросил Пашка с неподдельным интересом.
— Меня подбили. — Андрей вернулся на кухню и поставил пепельницу на стол. — Я катапультировался и заснул.
— Нормально… — Пашка глотнул вина. — Давай доедим, еще выпьем, и я покопаюсь в твоей машине. Понимаешь, в этой версии «Комманд Сервиса» есть одна дырка. В принципе можно восстановить всю последовательность ввода с клавиатуры. Тогда сразу станет понятно, что именно ты отстукивал, что воспринял Аватар и что он проигнорировал.
— Давай. — Андрей сделал еще затяжку и затушил сигарету. — Тебе тоже дерьмо подсунули. Ты в каком магазине брал?
— Возле твоего дома.
— Тогда понятно. Левая партия.
Когда Пашка занялся компьютером, над горизонтом осталась только узкая светлая полоса неба. Андрей закрыл жалюзи и включил настенный светильник.
Наблюдать за Пашкой во время работы было забавно — он говорил с машиной, ругался с ней, будто это было полноценное живое существо, причем явно разумное.
— Сволочь ты, вот что. — Он колотил по клавишам. — Зачем буфер очистил? Я тебя об этом просил?
Компьютер безмолвно терпел оскорбления и так же безмолвно издевался над Пашкой, стараясь задать ему как можно больше работы.
— Нет, ты только посмотри на него, вот гад… И зачем? Все равно ведь я умнее, честно тебе говорю. Ага! Съел? И зачем было выпендриваться?
Андрей от скуки написал фломастером на бумажке: «Забастовка настенных часов». Усмехнулся и приклеил под циферблатом.
— У тебя есть мини-диск? — спросил Пашка.
— Ты мне? — оглянулся Андрей.
— А здесь что, еще кто-то есть? — не понял Паша.
Андрей улыбнулся.
— Зачем мне это старье, когда винты безмерные? — пожал он плечами.
— Тебе, может, и незачем, а мне нужно снести директорию, чтоб эта сволочь временно ее не нашла. Что, ни одного не завалялось?
— Я последний выкинул год назад.
— Плохо.
— Ну, переименуй директорию, зачем стирать? Он ведь по имени ищет.
— Да уж фиг. Эту файловую группу он будет искать до потери моего сознания, на всех доступных дисках под всеми возможными именами.
— Присвой невозможное имя. — Андрей попытался быть хоть в чем-то полезным.
— Он сканирует сами данные, так что ничего не получится.
— А, подожди! — вспомнил Андрей. — Один диск v меня точно есть!
— Слава богу…
Андрей вышел в прихожую и взял с тумбочки потрепанную пластиковую коробочку.
— Держи.
— На нем важного ничего нет? А то я все снесу.
— Сноси.
Андрей сходил на кухню и принес бокалы с вином.
— Я же тебе сказал — стереть все! — воевал Пашка с компьютером. — Зачем по сто раз переспрашивать?
— На, выпей. — Андрей протянул один из бокалов.
На дисководе заморгала зеленая лампочка, индицируя удаление файлов.
— Готово… — Пашка в несколько глотков осушил бокал и отставил в сторону. — Так, теперь перенесем все на диск и снесем с машины, тогда ей деваться некуда будет. Все расскажет как миленькая…
Он повозился еще немного и наконец удовлетворенно откинулся в кресле, глядя на монитор.
— Ну что? — осторожно спросил Андрей.
— Думаешь, я в этой мешанине из цифр разберусь на глазок? Я гений, конечно, но не настолько. Сейчас перепишу данные через Аватара к себе на машину, а завтра спокойненько прогоню через интерпретатор.
— Как это «перепишу»? — Андрей удивленно посмотрел на приятеля.
— Ну… Только ты не болтай языком. Как всякий нормальный админ, я себе оставил ма-а-а-ленькую дырочку. Норку. Входик такой. Называется — порт номер девять. Если ты попробуешь к нему подключиться, Аватар пошлет тебя далеко-далеко. Но если очень попросишь… Он может смягчиться. И тогда спокойненько подключит к системе и мой собственный компьютер.
— Блин, Паша… Если об этом кто-то узнает… Тебе же голову отвинтят.
— Если ты не скажешь, никто не узнает. К тому же коды доступа у меня там стоят не хуже, чем в официальной системе. Можешь мне верить.
— Верю. Но все равно это должностное преступление. Получается, ты можешь заблокировать мою машину в любой момент? Вообще вмешаться в любой эксперимент?
— А зачем? Это так, просто дырка. Черный ход на всякий случай. Еще не родился такой администратор, который бы себе его не оставил. Просто из принципа. А с тобой мы вообще друзья. К тому же со вчерашнего дня еще и соавторы.
— Ты хитрый лис, — усмехнулся Андрей.
— Спасибо за комплимент.
— Погоди… — Андрея осенила догадка. — А это не ты все подстроил?
— И на кой оно мне, по-твоему, надо?
— Ладно, ладно… замяли, — отмахнулся Андрей. — Ну что?
— Перегнал. Завтра к обеду у меня уже будет полная картина того, на какие клавиши ты нажимал, когда тебя глючило. Может, не все вычисления проходили через канал Аватара, может, часть просчетов твоя машина сделала в другой программе, а потом сбросила значения на лазеры резонатора. Это теоретически возможно. В любом случае нам обязательно нужно найти устройство, которое сделало недостающую часть вычислений. Без этого картину эксперимента не восстановить.
— Хорошо, — кивнул Андрей. — Я на тебя надеюсь.
— Я тоже. Спасибо за ужин.
— Пожалуйста. Только позвони мне сразу, как придешь хоть к какому-то выводу.
— Ясное дело! Ладно, в общем, я поеду, а то устал как собака. Ты тоже спать ложись.
— Да уж…
— Ложись, ложись. Работать все равно не получится, я Аватара тоже спать уложил. Так что все, отбой.
— Ладно, — улыбнулся Андрей. — Ты печешься обо мне как родная мама.
— К соавторам именно такое отношение и требуется.
Пашка ногой выудил туфли из-под вешалки, обулся и открыл дверь.
— Пока!
Андрей в ответ махнул рукой и защелкнул замок. Действительно, надо спать, а то завтра голова будет плохо работать.
Глава 4
Андрей любил просыпаться сам. Не по будильнику, не по телефонному звонку и не по необходимости куда-то спешить. Просто так. Проснуться, открыть глаза, понежиться, разминая затекшие за ночь мышцы. Дни, когда так просыпаешься, бывают особенно удачными.
Андрей принял ванну и побрился. Лицо в зеркале ему не понравилось — опухший какой-то вид и глаза красноватые, будто не спал три дня.
На завтрак решил запарить мороженые овощи в микроволновке. Аппетита особого не было, поэтому с мясом решил не возиться.
От еды оторвал телефонный звонок.
— Алло! — не успев прожевать, ответил Андрей.
— Привет, это Валентин.
— А… да. — Андрей наконец проснулся окончательно.
— Послушай… — Валькин голос звучал непривычно вкрадчиво. — Вы что на моем компьютере вчера делали?
— В кабинете?
— На Марсе, блин! Ладно, что оставили блюдо с печеньем, ладно крошки оставили на столе, но операционку зачем было перекраивать?
— Ладно. Не кипятись, — сказал Андрей. — Через час приеду и все сделаю как было.
— Погоди, — остановил его Валька. — Ты лучше скажи мне внятно, что вы делали на этой машине.
— Программы смотрели.
— Какие?
— Ты что, гестаповец на допросе? — не выдержал Андрей. — Обычные программы. Для компьютера.
— Понятно, что не для утюга. Область применения ты мне можешь сказать?
— Для биологии.
— А… ладно.
— Так что случилось? — спросил Андрей. — Машина работает медленно? Так это кэш. Я его настраивал на шестьдесят процентов, а эта клушка перестроила.
— А… ладно.
— Так что случилось? — спросил Андрей. — Машина работает медленно? Так это кэш. Я его настраивал на шестьдесят процентов, а эта клушка перестроила.
— На сколько? — Валентин перешел на новый виток допроса.
— С каких пор это тебя стало интересовать? Давай я лучше приеду.
— Не надо.
От такого ответа Андрей опешил:
— Валь, ты что, обиделся на меня?
— Нет. Просто не хочу отрывать понапрасну. Значит, там все дело только в кэшировании?
— Да. Скорее всего. Просто выставь кэш на шестьдесят, и все станет как было.
Валька пару секунд помолчал и спросил то, чего Андрей никак не ожидал услышать:
— А насколько от параметров кэша зависит быстродействие?
— Валя, я уже еду.
Валька снова замолчал, будто взвешивая возможность разных решений.
— Да. Наверное, приезжай. Все равно мне одному не разобраться.
— В чем?
— Короче, объясняю суть. Я запустил один просчетик, вполне стандартный. И пошел пить чай, зная, что считаться он будет десять минут.
— И что? Ждешь до сих пор? — усмехнулся Андрей.
— Нет. Он посчитался за пять минут.
Теперь замолчал Андрей. У него вдруг возникло странное ощущение, будто он еще не проснулся и сейчас, вот-вот, проснется еще раз.
— А сколько считался обычно? — осторожно переспросил он.
— Десять минут.
— Значит, вдвое быстрее? — уточнил Андрей. — Это ведь премия Скотта.
— Получается так.
— Этого быть не может. — Андрей хихикнул, пытаясь разогнать нервное напряжение. — Ты что-то напутал.
— Шесть раз подряд? — усмехнулся Валька.
— Так, ладно, я еду.
— Никому не говори пока, хорошо? — попросил Валентин. — Ну… мало ли, может, это что-то принципиально новое…
— Бред. Я сейчас приеду и разберусь. Но если там что-то серьезное, то без Пашки нам все равно не справиться.
— Жаль, — вздохнул Валентин. — Хотя… На троих тоже можно будет поделить.
— Что делить, Валя? Шкуру неубитого медведя? Все, я еду. — Андрей положил трубку и пошел одеваться.
Такого Вальку Знобина Андрей еще не видел. Это был какой-то совершенно другой Валька, не опытный управляющий, не стратег, а маленький ребенок, которому пообещали новую игрушку, и он из кожи вон лезет, чтобы ее получить. Он без напоминания сбегал в магазин, пока Андрей почесывал затылок перед компьютером, сам заварил кофе, все порезал и разложил по блюдечкам и тарелочкам.
Андрей мысленно посмеивался, но помалкивал, пытаясь разобраться, что же, собственно, произошло. Все тесты показывали удвоение быстродействия на всех вычислительных операциях. Ровно вдвое — циферка в циферку. Но поскольку этого физически быть не могло, Андрей пытался выяснить не то, что произошло в действительности, а то, каким образом обманываются тесты.
— А… черт. — Он стукнул себя ладонью по лбу. — Фигней занимаюсь…
— Давай кофе выпьем, — предложил Валька.
— Да подожди ты… — отмахнулся Андрей. — Я ищу ошибку тестирования, а ведь ты ему задавал реальный просчет, а не тест.
— Ну. А до тебя это только сейчас дошло?
— Да. Ладно, давай пить кофе. Хотя подожди, я кэш посмотрю.
— Только, ради бога, ничего не меняй!
— Не буду, не буду.
Андрей открыл диалоговое окно переустановки параметров кэширования.
— Пятьдесят процентов, как она и говорила.
— И что, все дело только в этом движке? — удивился Валька, ставя чашки на стол. — Почему же никто не додумался?
Андрей задумчиво поглядел на монитор:
— Можно изменить параметры, проверить быстродействие, а затем снова выставить пятьдесят процентов. И проверить снова. Ничего другого менять не будем, не бойся.
— Давай. — Валька отпил кофе из чашки.
Андрей выставил шестьдесят процентов кэширования и запустил тест.
— Да, быстродействие упало вдвое, — сообщил он. — До обычного.
— Ставь обратно. — Валька напряженно отодвинул блюдце и повернулся к компьютеру.
— Не дрейфь, сейчас все верну, — усмехнулся Андрей и повел курсором мыши.
Янтарная стрелочка легла на нарисованный движок, справа от которого было написано: «Больше половины объема», а слева — «Меньше половины объема». Андрей сдвинул движок к середине, и всплывающий указатель высветил — «51 %». Еще чуть в сторону, и движок резко скакнул влево, перескочив середину. Указатель высветил — «49 %».
— Ты мышку когда последний раз чистил? — спросил Андрей и повертел шарик пальцем.
Он еще дунул в щелочку — для уверенности — и снова попробовал установить движок точно на середину. Но тот рывком проскочил заветную точку и замер.
— Пятьдесят один, — хмуро заметил Валька, уже понимая, что произошло непредвиденное. — Какого же хрена ты его двигал?
— Узнать-то надо было! — попробовал защититься Андрей.
— Ах, узнать? Экспериментатор…
Андрей спешно провел тесты на разных положениях движка. Быстродействие то уменьшалось, то увеличивалось, но превысить паспортное вдвое так и не удалось. Наилучшие показатели оказались именно на шестидесяти процентах, как и было сказано в руководстве.
— Пятьдесят точно не устанавливается? — Валька сам попробовал, но ничего не вышло. — Что будем делать?
— Изобретать квантовый компьютер, — невесело усмехнулся Андрей.
— Очень смешно, — нахмурился Валька. — У нас на руках был прототип, вдвое превышающий по мощности все существующие на настоящий момент машины. Причем достигалось это явно программным, а не аппаратным методом. И вот теперь, по твоей безалаберности, мы остались у разбитого корыта.
Он подумал несколько секунд, со вздохом глянул на остывающий кофе и спросил, стараясь не смотреть Андрею в глаза:
— Кто эта баба?
— Хрен ее знает… — честно ответил Андрей. — Программистка. Некрасивая. Я для отмазки проглядел пару программ и отправил ее на все четыре стороны. Валь, ну я же не знал, что она вытворит нечто подобное!
— Как ты с ней связывался? — Голос Валентина звучал тихо, ровно, но очень настойчиво.
— По телефону.
— Записан?
— Да. Я ей с мобилы звонил. Он должен был остаться в регистре набранных номеров.
— Звони.
— Прямо сейчас? — Андрей послушно снял телефон с пояса.
— Нет. Через год. — Валька опустился в кресло и одним глотком допил кофе. — Звони давай.
Андрей не любил сердитого Вальку. С начальством тот на короткой ноге — взбредет ему что-нибудь в голову, расхлебывай потом. Он вывел регистр на экран телефона и принялся перебирать номера.
— Нету, — наконец сказал он.
Валька нахмурился еще сильнее.
— Слушай, Валь, ну я в чем виноват? — не выдержал Андрей. — Чего ты дуешься? Знаешь ведь, что в этом регистре только пять последних номеров.
— Тебе мало платят? — вкрадчиво спросил Валька. — Ты не мог нормальную мобилу купить?
«Начинается…» — подумал Андрей.
— Платят нормально, — сказал он вслух.
— Вот и я так считаю. Ладно. Где у тебя еще есть ее телефон?
— Дома в почте. На сигаретной пачке еще был записан, но я ее выбросил.
— Езжай домой.
— Да погоди ты! — Андрей сел в свободное кресло и придвинул чашку с кофе. — На фиг она нужна? Давай лучше Пашку дернем. Он расщелкает это дело на раз.
Валька думал долго, взвесил все в уме, молча поглядывая на монитор.
— Ладно, — кивнул он.
— Это правильно. — У Андрея отлегло от сердца. — Если мы поймем, что к чему, то заработанного и на троих хватит. Без Пашки все равно не разобрались бы, а если бы и разобрались, кто бы нам теорию описал?
— Звони, звони… — нетерпеливо заерзал Валентин, постукивая по столу пухлыми пальцами.
Андрей набрал номер и дождался, когда на другом конце снимут трубку.
— Пашка, привет.
— О, хорошо, что ты позвонил! Я уже сам собирался.
— Погоди, — остановил его Андрей. — Об этом позже поговорим. У нас тут с Валентином кое-какая проблемка возникла. Очень насущная. Ты можешь приехать?
— Как раз собирался. Ты у Валентина?
— Да, в офисе.
— Очень хорошо. Я сейчас на Белорусской, так что буду скоро.
— Давай. На месте все объясним.
Андрей повесил телефон на пояс и взялся за бутерброд с колбасой.
— Паша сейчас на Белорусской, — сообщил он. — Скоро будет.
— Ладно, — кивнул Валька. — Думаешь, разберется?
— Обязательно разберется. Ты ведь знаешь, он один из лучших спецов. Помнишь, ему даже менты три года назад доверили сделать неподбираемый код для электронных замков.
— Помню. Но одно дело — коды с открытым ключом, а другое — делать то, что согласно современной теории невозможно в принципе.
— Баба ведь сделала! — успокоил его Андрей. — К тому же мы теперь точно знаем, что это возможно.
Пашка прибыл через полчаса.
— Ну, что тут у вас? — с ходу спросил он. — О, бутербродики…