Я спустился в подвал в девятнадцать тридцать. Рабочий день давно закончен, в здании почти никого. Охранник на первом этаже кивнул, узнав меня, ведь я третий вечер подряд спускаюсь в компьютерный центр.
Коридор подвала пустой, слышны только мои шаги по бетонному полу. Дверь с табличкой «Центр обработки данных» заперта. Достал ключ, который дал Финч, открыл и вошел внутрь.
Прохладно. Кондиционеры ровно гудят, поддерживая шестьдесят пять градусов по Фаренгейту. IBM System/370 стоит в центре зала, лампочки мигают зелеными и красными огоньками. Катушки магнитных лент медленно вращаются за стеклянной панелью.
Дороти уже здесь. Сидит за консолью, печатает команды на клавиатуре. Экран монитора светится зеленым, курсор мигает. На столе рядом стопка перфокарт высотой дюймов шесть, в ней примерно пятьсот карт.
Услышала скрип двери, обернулась и улыбнулась.
— Вовремя, Итан. Только закончила подготовительную работу.
Подошел и положил портфель на соседний стол.
— Сколько готово дел?
— Сто семьдесят два. — Дороти указала на картонную коробку у стены. — Каждое дело закодировано на три перфокарты. Итого пятьсот шестнадцать карт.
Прошел к коробке и заглянул внутрь. Перфокарты аккуратно сложены стопками, разделены картонными перегородками. На каждой перегородке надпись маркером: номер дела, штат, дата.
— Ты работала над этим весь день?
— С восьми утра до шести вечера. — Дороти потянулась и размяла шею. — Десять часов на перфораторе. Пальцы онемели, спина болит. Но закончила первую партию.
Взял одну карту наугад, поднес к свету. Дырки пробиты аккуратными рядами по восьмидесяти колонкам. В верхней части карты напечатано: «ДЕЛО НОМЕР 70-AL-0156 ВОЗРАСТ ЖЕРТВЫ 25 ЛЕТ СПОСОБ УБИЙСТВА УДУШЕНИЕ».
— Проверяла на ошибки?
— Дважды. Прогнала тестовую партию в пятьдесят карт через считыватель, компьютер принял без проблем. Формат правильный, данные читаются.
Положил карту обратно.
— Значит все готово чтобы загружать в систему?
— Да. — Дороти встала, подошла к устройству чтения перфокарт IBM 2540. Металлический ящик высотой четыре фута, шириной три фута. Спереди щель для подачи карт, сбоку лоток для приема. — Помоги принести коробку.
Вдвоем мы подняли коробку с перфокартами, поставили на стол рядом с устройством чтения. Тяжелая, фунтов двадцать.
Дороти открыла верхнюю крышку устройства, проверила механизм подачи. Металлические ролики, датчики считывания, направляющие для карт.
— Скорость чтения триста карт в минуту. Пятьсот шестнадцать карт займут примерно две минуты на загрузку. — Закрыла крышку, прошла к консоли компьютера. — Но сначала нужно запустить программу ввода данных.
Села за консоль, пальцы быстро забегали по клавиатуре. Печатала команды, экран заполнялся строками зеленого текста:
ЗАГРУЗИТЬ ПРОГРАММУ: ВВОД_КРИМИНАЛЬНОГО_ФАЙЛА_V1 ИСТОЧНИК: МАГНИТНЫЙ НАКОПИТЕЛЬ 3 МЕСТО НАЗНАЧЕНИЯ: ДИСКОВОЕ ХРАНИЛИЩЕ A
ВЫПОЛНИТЬ Д/Н? (Да/Нет)
Нажала клавишу Д, затем Enter.
Компьютер загудел громче. Одна из катушек магнитной ленты начала вращаться быстрее. Лампочки на панели замигали в определенной последовательности.
— Программа загружается, — сказала Дороти, не отрывая глаз от экрана. — Занимает минуту-две.
Я стоял рядом, наблюдал. На экране появлялись строки:
ЗАГРУЗКА…
МОДУЛЬ 1: АНАЛИЗАТОР ВВОДА — ЗАГРУЖЕН
МОДУЛЬ 2: ПРОВЕРКА ДАННЫХ — ЗАГРУЖЕН
МОДУЛЬ 3: ДИСПЕТЧЕР ХРАНЕНИЯ — ЗАГРУЖЕН
ПРОГРАММА ГОТОВА
ОЖИДАНИЕ ВВОДА
— Готово. — Дороти повернулась к устройству чтения перфокарт. — Теперь загружаем карты. Помоги, надо подавать стопками по пятьдесят штук.
Я взял первую стопку карт из коробки, аккуратно выровнял края, постучав о стол. Передал Дороти. Она открыла входной лоток устройства чтения, вставила стопку вертикально. Карты встали плотно между направляющими.
Нажала зеленую кнопку «СТАРТ» на панели устройства.
Механизм включился с щелчком. Ролики начали вращаться, захватили первую карту, протянули через щель. Датчики считывания просканировали дырки, яркие лампочки мигнули сквозь отверстия. Карта прошла насквозь за секунду, упала в выходной лоток справа.
Следующая карта. Затем еще одна. Механизм работал ритмично, захват, протяжка, считывание, выброс. Примерно пять карт в секунду.
На экране консоли появлялись строки данных:
ЗАПИСЬ 001: ДЕЛО 70-AL-0156 ЗАГРУЖЕНО
ЗАПИСЬ 002: ДЕЛО 70-AL-0156 ЗАГРУЖЕНО
ЗАПИСЬ 003: ДЕЛО 70-AL-0156 ЗАГРУЖЕНО
ЗАПИСЬ 004: ДЕЛО 70-AK-0087 ЗАГРУЖЕНО
— Три карты на дело, — объяснила Дороти. — Первая карта основная информация: номер дела, штат, дата, тип преступления. Вторая это данные о жертве: возраст, пол, раса, метод убийства. Третья значит географические координаты и поведенческие характеристики преступника.
Первая стопка закончилась за десять секунд. Я подал вторую. Дороти вставила в лоток, устройство продолжило работу без остановки.
Стопка за стопкой. Монотонный ритм, я достаю карты из коробки, выравниваю, ю и передаю Дороти. Она вставляет в устройство. Машина считывает. Карты падают в выходной лоток с тихим шелестом.
Через три минуты коробка опустела. Последняя стопка прошла через считыватель.
На экране появилось сообщение:
ВВОД ЗАВЕРШЕН
ВСЕГО ЗАПИСЕЙ: 516
ВСЕГО ДЕЛ: 172
ВЫПОЛНЯЕТСЯ ПРОВЕРКА…
— Теперь компьютер проверяет данные на ошибки, — сказала Дороти. — Ищет пропущенные поля, неправильные коды, несоответствия формата. Занимает минут пять.
Мы стояли у консоли, смотрели как на экране пробегают строки:
ПРОВЕРКА ЗАПИСИ 001… УСПЕШНО
ПРОВЕРКА ЗАПИСИ 002… УСПЕШНО
ПРОВЕРКА ЗАПИСИ 003… УСПЕШНО
ПРОВЕРКА ЗАПИСИ 004… УСПЕШНО
Счетчик быстро рос. Десять, двадцать, пятьдесят записей. Компьютер проверял каждую за долю секунды.
Через четыре минуты:
ПРОВЕРКА ЗАВЕРШЕНА
ОШИБОК: 0
ПРЕДУПРЕЖДЕНИЙ: 3
ВСЕ ДАННЫЕ ПРИНЯТЫ
ЗАПИСЬ В ХРАНИЛИЩЕ ВЫПОЛНЕНА
Дороти довольно кивнула.
— Отлично. Никаких критических ошибок. Три предупреждения вероятно пропущенные необязательные поля. Данные сохранены на диск.
— Сто семьдесят два дела, — сказал я. — Первая партия в системе.
— Да. — Дороти откинулась на спинку стула. — Осталось ввести еще тысячу тридцать дел. Примерно три тысячи перфокарт. Еще недели две работы на перфораторе.
Посмотрел на часы уже девятнадцать пятьдесят пять. Почти восемь вечера.
— Ты устала. Может хватит на сегодня?
Дороти покачала головой.
— Нет. Хочу показать тебе как работает перфоратор. Завтра начнешь помогать с вводом данных. Одна я не справлюсь за две недели, надо пробивать слишком много карт.
Встала, прошла к перфоратору Keypunch 029 у противоположной стены.
Устройство стояло на металлическом столе высотой тридцать дюймов. Корпус серого цвета, размером с большую печатную машинку, примерно двадцать дюймов в ширину, шестнадцать в глубину, восемь в высоту. Вес около сорока пяти фунтов.
Дороти села на стул перед перфоратором, включила питание тумблером сбоку. Машина тихо загудела, электромотор заработал внутри. Лампочка «ГОТОВО» зажглась зеленым.
— Садись рядом, смотри.
Придвинул второй стул, сел слева от Дороти.
Она взяла стопку пустых перфокарт из лотка справа, вставила одну карту в приемную щель спереди машины. Карта втянулась внутрь с легким щелчком, встала под пробивными штифтами.
— Клавиатура похожа на обычную печатную машинку, — объяснила Дороти, показывая на клавиши. — Буквы, цифры, специальные символы. Но когда нажимаешь клавишу, вместо печати букв машина пробивает комбинацию дырок в карте.
Указала на верхнюю часть перфоратора, где стояли двенадцать металлических стержней диаметром около восьмой дюйма.
— Это пробивные штифты. Каждая буква или цифра имеет уникальную комбинацию дырок в колонке карты. Когда нажимаешь клавишу, соответствующие штифты опускаются, пробивают дырки, затем поднимаются обратно.
Взяла со стола карточку размером три на пять дюймов с рукописными данными:
ДЕЛО 70-CA-1247 / ЖЕРТВА: ЖЕНЩИНА, 28 ЛЕТ, БЕЛАЯ / СПОСОБ: ОГНЕСТРЕЛЬНОЕ РАНЕНИЕ, КАЛИБР.38
— Вот данные для ввода. Нужно перевести их в перфокарту согласно нашей кодовой книге. — Открыла толстый блокнот, пролистала до нужной страницы. — Колонки с первой по десятую это номер дела. Колонки с одиннадцатой по двадцатую тип преступления и метод.
Пальцы легли на клавиши. Печатала медленно, четко:
7−0-C-A-1−2–4–7
С каждым нажатием клавиши перфоратор издавал резкий механический звук КЛАЦ. Металлические штифты опускались, пробивали дырки в карте и поднимались обратно. После каждого символа карта автоматически сдвигалась на одну колонку влево.
КЛАЦ-КЛАЦ-КЛАЦ-КЛАЦ-КЛАЦ-КЛАЦ-КЛАЦ-КЛАЦ.
Восемь символов, восемь колонок пробиты.
Дороти продолжала печатать. Переводила коды из кодовой книги, тип преступления «01» (убийство), метод «03» (огнестрельное), оружие «38» (калибр.38).
КЛАЦ-КЛАЦ-КЛАЦ…
Карта медленно двигалась под штифтами. Дороти печатала ровно, без ошибок. Пальцы знали клавиатуру наизусть.
Через минуту первая карта заполнена. Дороти нажала клавишу «ВЫПУСК». Карта выехала из машины, упала в выходной лоток слева. Перфоратор автоматически подал следующую пустую карту из стопки.
— Теперь вторая карта для этого дела. Данные о жертве.
Печатала дальше. Пол жертвы код «02» (женщина). Возраст «28». Раса «01» (белая).
КЛАЦ-КЛАЦ-КЛАЦ…
Вторая карта готова. Нажала «ВЫПУСК», карта упала в лоток.
— Третья карта, география и поведение преступника.
Еще минута работы. Координаты места преступления, закодированные в градусы и минуты. Поведенческие индикаторы, организованный тип, планирование, отсутствие сексуального мотива.
Третья карта готова.
— Одно дело, три карты, три минуты работы, — сказала Дороти. — Если работать без перерыва, можно пробить двадцать дел в час. Сто дел за пять часов.
Посмотрела на меня.
— Твоя очередь. Попробуй.
Поменялись местами. Я сел перед перфоратором, положил руки на клавиатуру. Пальцы нащупали клавиши, расположение знакомое, как на обычной печатной машинке.
Дороти дала мне карточку с данными следующего дела:
ДЕЛО 70-CA-1309 / ЖЕРТВА: МУЖЧИНА, 34 ГОДА, ЧЕРНОКОЖИЙ / СПОСОБ: НОЖЕВОЕ РАНЕНИЕ
Открыл кодовую книгу, нашел нужные коды. Начал печатать номер дела:
7−0-C-A-1−3–0–9
Нажал первую клавишу «7». Перфоратор громко клацнул. Под пальцем почувствовал сопротивление пружины, клавиша жесткая, нажатие требует усилия. Внутри машины опустились металлические штифты, с хрустом пробили дырки в карте.
Карта сдвинулась влево на одну позицию.
Нажал следующую клавишу «0». Снова КЛАЦ, снова хруст пробиваемого картона.
Я работал медленно. Каждое нажатие требовало концентрации, надо не ошибиться в коде, не пропустить колонку, не нажать не ту клавишу.
КЛАЦ-КЛАЦ-КЛАЦ…
Пальцы начали уставать после двадцати символов. Клавиши жесткие, пружины тугие. Не то что компьютерная клавиатура в будущем с легким нажатием.
Закончил первую карту за две минуты, вдвое медленнее чем Дороти. Нажал «ВЫПУСК», карта выехала.
— Неплохо для первого раза, — сказала Дороти. — Продолжай. Вторая карта.
Вставил новую пустую карту, печатал данные о жертве. Постоянно сверялся с кодовой книгой, пол «01» (мужчина), возраст «34», раса «02» (черный).
Ошибся на четвертой колонке, нажал «3» вместо «4». Сразу заметил.
— Как исправить ошибку?
— Никак. — Дороти покачала головой. — Перфокарты одноразовые. Ошибка означает выбросить карту и начать заново.
Нажал «ВЫПУСК», вытащил испорченную карту, отложил в сторону. Взял новую, начал печатать.
Вторую карту я приготовил через три минуты. Руки устали сильнее, пальцы затекли, запястья болели от непривычного напряжения.
Третья карта заняла еще три минуты. К концу глаза начали резать от яркого света флуоресцентных ламп над головой и концентрации на мелких символах в кодовой книге.
Закончил, откинулся на спинку стула. Посмотрел на часы, двадцать двадцать пять. Одно дело на трех картах заняло восемь минут.
— Медленно, — сказал.
— Ускоришься с практикой. — Дороти взяла испорченную карту, которую я выбросил, посмотрела на просвет. — Через неделю будешь печатать двадцать дел в час, как я. Главное не спешить. Лучше медленно и правильно, чем быстро с ошибками.
Встала, потянулась и размяла плечи.
— На сегодня хватит. Завтра начнешь помогать с вводом. Я подготовлю карточки с данными, ты будешь пробивать. По два-три часа в день после основной работы. Через две недели закончим все тысячу дел.
Кивнул. Пальцы болели, но терпимо.
— Спасибо что научила.
— Не за что. — Дороти выключила перфоратор, накрыла пыльным чехлом. — Компьютеры это не волшебство. Это машины. Они делают только то, что мы им скажем. И данные нужно вводить вручную, по одной карточке. Это медленная и монотонная работа.
Прошла к консоли, начала процедуру выключения компьютера. Печатала команды:
СОХРАНИТЬ ВСЕ ДАННЫЕ
ЗАПУЩЕНА ПРОЦЕДУРА ВЫКЛЮЧЕНИЯ
IBM System/370 начал замедляться. Катушки магнитных лент остановились. Лампочки погасли одна за другой. Гул кондиционеров стал тише.
Через минуту все системы выключились. Наступила тишина.
Мы вышли из компьютерного центра и заперли дверь за собой. Поднялись по лестнице на первый этаж. Здание пустое, охранник дремал за стойкой.
На улице темно, фонари горят желтым светом. Воздух теплый и летний.
— До завтра, Итан.
— До завтра, Дороти.
Разошлись к машинам. Я сел в форд, завел двигатель. Руки все еще ныли от работы на перфораторе.
Но это только начало. Впереди две недели монотонной работы, тысячи перфокарт, десятки тысяч нажатий клавиш.
Цена революции в криминалистике.
Я вздохнул и поехал домой.
Прошло одиннадцать дней.
Каждый вечер после работы я спускался в компьютерный центр. С семи до десяти вечера сидел за перфоратором вместе с Дороти. Пробивали карты одну за другой. КЛАЦ-КЛАЦ-КЛАЦ, монотонный звук заполнял подвал.
Пальцы привыкли к жестким клавишам. Скорость выросла, теперь одно дело занимало две с половиной минуты вместо восьми. Двадцать четыре дела в час. За три часа работы семьдесят два дела.
Дороти работала параллельно на втором перфораторе, установленном на соседнем столе. Два перфоратора стучали в ритм, КЛАЦ-КЛАЦ, КЛАЦ-КЛАЦ.
К концу одиннадцатого дня мы ввели все тысячу двести дел. Три тысячи шестьсот перфокарт лежали в картонных коробках у стены, разделенные на партии по сто карт.
В пятницу в девять вечера Дороти загрузила последнюю партию в устройство чтения IBM 2540. Я стоял рядом и подавал стопки карт.
Устройство считывало по пять карт в секунду, механизм ритмично работал. Карты падали в выходной лоток с шелестом.
На экране консоли пробегали строки:
ЗАПИСЬ 3574: ДЕЛО 72-TX-0891 ЗАГРУЖЕНО
ЗАПИСЬ 3575: ДЕЛО 72-TX-0891 ЗАГРУЖЕНО
ЗАПИСЬ 3576: ДЕЛО 72-TX-0891 ЗАГРУЖЕНО
ЗАПИСЬ 3577: ДЕЛО 72-UT-0143 ЗАГРУЖЕНО
Последняя стопка. Последние пятьдесят карт. Устройство считало их за десять секунд.
Экран показал:
ВВОД ЗАВЕРШЕН
ВСЕГО ЗАПИСЕЙ: 3600
ВСЕГО ДЕЛ: 1200
ВЫПОЛНЯЕТСЯ ПРОВЕРКА…
Дороти села за консоль, наблюдала как компьютер проверяет данные. Валидация прошла за шесть минут. Ноль критических ошибок, двадцать три предупреждения.
— Все данные в системе, — сказала Дороти. — Тысяча двести нераскрытых убийств с января семидесятого по июнь семьдесят второго. Готовы к анализу.
Посмотрел на часы, двадцать один ноль семь. Девять вечера.
— Запускаем программу поиска?
Дороти кивнула, начала печатать команды:
ЗАГРУЗИТЬ ПРОГРАММУ: ПОИСК_В_КРИМИНАЛЬНОМ_ФАЙЛЕ_V1
ИСТОЧНИК: МАГНИТНЫЙ НАКОПИТЕЛЬ 5
МЕСТО НАЗНАЧЕНИЯ: ОПЕРАТИВНАЯ ПАМЯТЯ
ВЫПОЛНИТЬ Д/Н?
Нажала Д, затем Enter.
Компьютер загудел громче. Начала вращаться катушка магнитной ленты номер пять. Программа загружалась в оперативную память машины, пятьсот двенадцать килобайт, огромный объем для тысяча девятьсот семьдесят второго года.
Загрузка заняла три минуты. Экран показал:
ПРОГРАММА ГОТОВА
ПАРАМЕТРЫ ПОИСКА:
1. СОВПАДЕНИЕ ТИПА ОРУЖИЯ
2. СОВПАДЕНИЕ ПРОФИЛЯ ЖЕРТВЫ
3. ГЕОГРАФИЧЕСКАЯ БЛИЗОСТЬ
4. ПОВЕДЕНЧЕСКИЕ ИНДИКАТОРЫ (ПОЧЕРК)
5. ВСЕ ПАРАМЕТРЫ
ВВЕДИТЕ НОМЕР ВАРИАНТА:
— Первый тест, — сказала Дороти. — Поиск по типу оружия. Простой параметр, быстрая проверка что система работает.