Дэвид Файнток - Надежда гардемарина
– Завтра станете кадетом, как мистер Кэрр. А через месяц, надеюсь, дослужитесь до офицера!
Он понимал, что я шучу, и сказал:
– Так быстро не бывает, сэр. Но я буду изо всех сил стараться. И через несколько месяцев, может, стану соответствовать. – Он помолчал. – А что, сэр, обязательно надо плакать?
Он меня озадачил.
– Что ты имеешь в виду, Рики?
– Ну, как Дерек. Когда он идет на склад, то всегда плачет. Мне тоже надо будет плакать?
– Да нет, по-моему, не надо. Ты слишком счастлив, чтобы плакать.
В голове у меня замелькали разные мысли.
– А откуда ты знаешь о Дереке?
– Я видел его, сэр, и слышал, как он плачет. Но ничего не сказал ему об этом.
– И не говори. Это приказ. Вы свободны, мистер Фуэнтес. Идите и учите присягу. Не выучите – не назначу вас.
– Есть, сэр! – Он выбежал почти вприпрыжку. Ах, если бы все проблемы решались так же легко!
Мы с главным инженером и пилотом заперлись на мостике, перевели Дарлу на ввод команд с клавиатуры, отключили системы безопасности, которые ранее восстановили, и приступили к работе. Я печатал на клавиатуре очередное исправление, главный инженер и пилот проверяли, и лишь после этого я нажимал клавишу ввода. Нам предстояло заменить всего девять параметров, но на это ушло около часа. Я хотел быть абсолютно уверен в том, что не допущена ошибка.
И вот мы закончили. На всякий случай я сделал новую копию входных параметров, и мы проверили каждый пункт, в который внесли поправки. Исправленные цифры появились на экране головида.
– Как вы считаете, джентльмены, можно включить ее «в линию»?
Пилот и главный инженер переглянулись.
– Мы выполнили все пункты инструкции, – заметил мистер Хейнц. Главный инженер кивнул.
– Отлично.
Шаг за шагом мы восстановили Дарлу, реактивировав механизмы защиты и безопасности. Теперь оставалось вернуть ей индивидуальность. Я напечатал на клавиатуре:
«Восстановить сегмент речевого общения».
«Подтверждение: сегмент речевого общения восстановлен».
«Отменить выдачу ответов только в символьно-цифровой форме».
«Наконец-то! Подтверждаю: выдача ответов только в символьно-цифровой форме отменена».
Я напечатал:
«Отменить вывод ответов только на экран. Восстановить речевые функции».
– Есть восстановить речевые функции, командир, – Услышать снова ее голос было все равно что встретиться со старым другом.
«Отменить ввод команд только через клавиатуру», – напечатал я.
– Ты меня слышишь, Дарла?
– Конечно, слышу, мистер Сифорт. Зачем вы усыпили меня?
– Надо было кое-что проверить, Дарла. Пожалуйста, запусти тест самопроверки.
– Есть, сэр. Минутку. – Она помолчала. Мы ждали. – Проверка закончена, командир. Все нормально.
– Уф. – Напряжение постепенно спало. – Спасибо, шеф. И вам спасибо, пилот. Отлично сработано.
Главный инженер встал:
– Если мы намерены входить в синтез, мне необходимо закончить профилактику.
– Вы свободны, и еще раз спасибо. – Он уже повернулся, чтобы уйти, когда у меня мелькнула мысль. – Дарла, какова базовая масса корабля?
– 215,6 стандартной единицы, – раздраженно ответила она. – Сколько раз можно об этом спрашивать? – Главный инженер застыл на месте в нескольких метрах от люка. У меня волосы встали дыбом.
– Попытайся ответить еще раз, Дарла. Возьми данные из входных переменных.
– 215,6 стандартной единицы. – Тон ее стал более холодным. – Как бы то ни было, масса является фиксированным, а не переменным параметром.
Глаза у меня полезли на лоб. Пилот выглядел так, как будто увидел привидение. Я сглотнул:
– Какова скорость обмена углекислого газа?
– Это вы меня спрашиваете, командир? 38,9 литра. Все это есть в таблицах.
Я перевел взгляд с главного инженера на пилота, потом на клавиатуру. Пилот кивнул.
Я подошел к пульту и как мог спокойно сказал:
– Ввод команд только через клавиатуру, Дарла. Ответ выдавать на экран.
Мы не знали, что делать.
Убедившись, что Дарла нас не слышит и реагирует только на клавиатуру, мы стали совещаться, но на всякий случай отошли в самый дальний угол.
– Мы ведь сменили параметры, верно? Все это видели. – Я нуждался в поддержке.
– И они были восприняты, командир, – ответил пилот. – Я сделал новую распечатку. Взгляните. Мы перевели базовую массу из фиксированного параметра в переменную и одновременно сменили начальное значение.
В чем же дело? Меня била дрожь.
– У нее серьезные неполадки, – сказал Макэндрюс. – После активации она не видит сделанных нами изменений. Это серьезнее, чем просто порча входных данных.
– Сможем ли мы ее починить?
Пилот покачал головой:
– Я даже не уверен, что удастся обнаружить причину.
– Хорошо, а как она запоминает параметры? – спросил главный инженер.
– В особом файле, – ответил Хейнц.
– В каком?
Я вмешался:
– У вас есть идея?
Главный инженер пожал плечами:
– Когда мы просим ее вывести на дисплей переменные, она читает содержание файла. Нельзя ли проникнуть поглубже и посмотреть структуру файла?
– Попытаемся, – ответил я.
Мы снова осторожно раздели Дарлу. Это оказалось не очень трудно. И через час проникли на нужный уровень.
С руководством в руках пилот начал изучать банки данных Дарлы в поисках файловых директорий. Экран заполнили незнакомые мне символьные, шестнадцатеричные и десятичные величины. Лишь изредка появлялись привычные слова: эмоции/сегменты или переменные/ввод. Они обозначали названия файлов в директориях.
Пилот рыскал по области памяти, указанной в руководстве. Наконец он остановился на двух файлах: параметры/ввод и переменные/ввод. Расшифровав последующий код, он определил файловые сектора и напечатал на клавиатуре полученные адреса.
Файл был длинным, около тысячи четырехсот входных величин. Он высвечивал каждую из них на экране и быстро переходил к следующей. Входные данные сопровождались английскими названиями: «Длина корабля – 412,416 метра». Я никак не мог сосредоточиться, пока мы скользили по бесконечному массиву. Вдруг на экране появилась надпись: «Конец фаськи, Джори»!
– Черт возьми, что это значит? – испуганно воскликнул я.
Пилот закусил губу:
– Господи Боже мой, понятия не имею. Он нажал на клавишу. На экране появилось: «Неплохо для землянки, а?»
– Давайте назад.
Пилот послушно вернулся назад.
«Диаметр шахты 4, 836 метра. Смотри, какие си».
Главный инженер выругался. Я внимательно выслушал его, стараясь запомнить новые комбинации слов, которые в будущем могли оказаться полезными. Потом сказал:
– Выведите все три вместе.
Пилот Хейнц вывел на экран все три записи. «Диаметр шахты 4,836 метра. Смотри, какие сиконец фаськи, Джори! Неплохо для землянки, а?»
– О Христос, – пробормотал пилот. – Вы только посмотрите! Они написали поверх метки конца файла!
– Объясните, – резко произнес я. – И хватит возмущаться!
Пилот Хейнц покраснел:
– Простите, сэр. В навигационной операционной системе «Навдос» данные хранятся в файлах, обычно в буквенном представлении, прямо как их записали. Компьютеры работают так быстро, а языковые интерпретаторы настолько совершенны, что в компрессии нет никакой нужды. Программистам намного легче проводить проверки, если им остается только выводить данные на экран и читать их.
– Ну и?..
– Все файлы кончаются меткой «конец файла». Кто-то сделал эти надписи поверх метки конца файла. Фиксированные параметры Дарлы хранятся как раз перед переменными. Из-за отсутствия метки она не могла отличить одни от других. И чокнулась! Ничего удивительного!
– Но кто это сделал? – спросил я. – И зачем?
Главный инженер сердито сказал:
– В перерывах между путешествиями автоматический журнал Дарлы пересылается системным программистам в Луна-Централь. Если возникают какие-то модификации, постоянные параметры могут измениться. Программисты заносят новые данные в журнал, а потом ретранслируют его назад. В тот день они, должно быть, повеселились. – Лицо главного инженера, пока он говорил, заливалось краской.
– Программисты Военно-Космического Флота? – не поверил я своим ушам.
– Да, они, – выплюнул он. – Проклятые хакеры!
– Шеф! – возмутился я. С тех пор как Лига молодых хакеров проникла в банки данных Главной штаб-квартиры Объединенных Наций и стерла половину мировых налогов, слово «хакер» стало чуть ли не ругательным.
– Хакеры они и есть хакеры! – в сердцах ответил он. – Пусть Господь Бог проклянет их!
Это было богохульством, если, конечно, не понимать сказанное буквально. Что я и сделал, и произнес «аминь», дав понять, что воспринял его слова как молитву. Потом приказал:
– Проверьте соседние секторы. Скопируйте испорченные записи в корабельный журнал.
– Есть, сэр, – Главный инженер с мрачным видом застучал по клавишам пульта. – Чертовы программеры веселились, как малолетние кадеты. В банках данных хватает пустого места, но они записали свою чепуху в рабочие файлы.