Горди не видел здесь сенсорных прожекторов — никаких фальшивок. Стэнго, впрочем, не возражал против дистанционного создания иллюзий, так что стены в данном случае могли быть только отличным прикрытием.
В открытом дверном проеме в конце коридора висели похожие на бисер кристаллические капли. Горди подумал, что это, наверное, системы создания изображений. Возможно, он снова недооценил Стэнго. Когда они прошли через эти нити бисера, вокруг вспыхнули огни.
Комната оказалась огромной.
Вдоль дальней стены тянулся набор устройств обработки данных. Их пульты перемигивались зелеными и желтыми огоньками. Плоская панель над блоками прокручивала отчеты о состоянии системы. Меньшие станции располагались по периметру комнаты. В одном углу находился отключенный сетевой терминал, его кабель питания скручивался кольцами.
И стояли, конечно же, разноцветные стулья с круглыми сиденьями — пятнадцать или двадцать штук, рассеянные по всей комнате в своем радужном разнообразии. На какой-то миг у Горди перехватило дыхание — он увидел Юлани, оседлавшую большой красный стул и упирающуюся ступнями в стену: она закрыла глаза и тупо жевала резинку, погрузившись в проблему.
Он вспомнил и еще кое-что.
Было уже за полночь.
Горди шел домой. Он устал, но его мысли зациклились на дефекте зрительного переключателя, и ему никак не удавалось разорвать этот круг.
Он припарковал свою машину в темноте. В офисе горел свет, и Горди старался не шуметь, поднимаясь наверх, чтобы не прерывать узор размышлений Стэнго.
Он толкнул дверь.
Они были там, Юлани и Стэнго, обнаженные и переплетенные, прямо на стульях.
Если Стэнго и заметил что-нибудь в глазах Горди, то не показал этого. Он просто надавил рукой на дисплей, висевший на стене.
Сверкнул свет. Что-то щелкнуло. Появились потоки данных, отрывки псевдокода и примечания к узлам, изображавшие мысли Стэнго. Ядро центрального биопроцессора соединялось сериями каналов с виртуальными переключателями. Процедура вывода была простой, в том же виде, в котором Горди ее оставил. Переключатель замыкался на зрительном нерве, чтобы создать канал. После этого процессор начинал перехватывать оптические сигналы, изменять их, а затем отправлять данные в виде потока электрических зарядов непосредственно в мозг. Эта технология и программа обработки изображения, которую написал Горди, сделали их обоих богатыми.
Теоретически, следующим шагом был полный контроль осязания.
На практике, впрочем, все оказалось иначе.
Зрительные иллюзии действовали, потому что к оптическому нерву легко было получить доступ. Работа шла только с единственным нейронным процессом, и наномашины легко настраивались так, чтобы управлять им. Но для полного контроля осязания от программиста требовалось понимание каждого нерва и умение подстроить наномашины под конкретного носителя. Очень искусно… и смертельно, если сделать это небрежно.
— Где ты персонализируешь систему? — спросил Горди.
Стэнго снял очки и криво усмехнулся. Его глаза блестели.
— Здесь, — сказал он и нажал на драйвер центрального логического узла, открывая диаграмму. — Тебе придется нырнуть, чтобы увидеть многомерную часть, но зато вникнешь в основную идею.
Горди просматривал алгоритм, инкапсулированный в ячейке. Интерфейс был стандартным. Процедуры ввода/вывода для предварительной обработки информации, контекстные скрипты, драйвер. Все то, чему обучали в любой компьютерной школе на планете. А потом он нашел, что искал. Ему пришлось отступить, чтобы охватить все, но он увидел процедуры поиска и сенсорных вводов, серии самонастраивающихся файлов конфигурации, интерфейс к первичному процессору и процедурам хранения памяти пользователя.
— Это драйвер настройки, — угадал Горди.
— Ага.
— Он сканирует нервную систему, анализирует реакцию владельца, а затем создает и загружает свой драйвер для каждого найденного элемента.
Стэнго кивнул.
— Технология Plug-n-play на самом сложном из возможных уровней, — продолжил Горди.
— Старая добрая система, — согласился Стэнго.
— Но здесь… Это просто неслыханно…
Горди открыл другой уровень, чтобы посмотреть, как согласовываются данные. По обыкновению, исходники Стэнго были яркими и сияющими, полными образов, но сырыми и конфликтующими, когда дело касалось деталей интерфейса. Горди ощутил сильный зуд. Это было неописуемое ощущение — частое и неглубокое дыхание полной концентрации, кайф от погружения. Он не программировал лет сто, нет, тысячу, не программировал еще с мелового периода, но стоило Горди найти место, в котором интерфейс может повиснуть, как его пальцы сами стали выделывать кренделя, чтобы исправить этот кусок.
— Зачем ты мне это показываешь?
Снова этот взгляд Стэнго. Это сногсшибательно, не так ли?
— Вот что продавала Юлани, — упоминание ее имени было подобно ведру холодной воды.
— Она тоже запускала эту программу?
— Только частичный прототип, но вполне достаточный для того, чтобы считаться «продуктом». — «Сногсшибательное» выражение лица угасло. Горди снова подумал о фальшивых громилах из клуба.
— Черт, Стэнго.
— Что?
— Во мне ведь эта штука тоже запущена, так?
— Я проскользнул мимо твоего «сторожевого пса» и незаметно запустил ее, — осклабился Стэнго.
У Горди екнуло сердце. «Сторожевым псом» называлась стандартная резидентная программа в мозговых биопроцессорах, постоянно сканировавшая пространство памяти, считавшееся пустым. Предполагалось, что это место может занять опасный код. Когда «пес» находил что-либо похожее, он запускал набор программ, позволяющих избавиться от проблемы.
Программист, впрочем, мог обмануть «сторожевого пса», построив таблицу фальшивых указателей и убедив таким образом все функции, кроме самых замысловатых, что пространство памяти чисто.
Именно это Стэнго с ним и проделал.
Юлани мертва, и если Стэнго запустил сейчас ту же программу, Горди считай что мертв.
— Да ладно, Горди, — понял его Стэнго. — Я бы не сделал этого, даже несмотря на все то дерьмо, через которое мы прошли. Все не так…
— А как же?…
— Сама программа не убивала Юлани. Ты можешь в любой момент от нее избавиться. Просто сотри файлы.
Горди в задумчивости потер локоть кончиками пальцев.
— Это можно сделать с помощью осязания… Ты можешь симулировать сердечный приступ, да все, что угодно. Соответствующий приказ нервной системе может заставить тело владельца порвать само себя на части.
(adsbygoogle = window.adsbygoogle || []).push({});