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