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