Выбрать главу

Машина PDP-1 поставлялась с простым набором программного обеспечения, которое хакеры сочли полностью непригодным для использования. У хакеров TX-0 уже вошло в привычку работать с самым продвинутым и интерактивным программным обеспечением, которое представляло собой ошеломляющий набор программ, написанными хакерами для самих себя и неявно реализовавших их непрестанные требования контроля над компьютером. Юный Петер Дейч, которому было всего 12 лет, когда он открыл для себя TX-0, выполнил свое обещание написать более совершенный ассемблер, а Боб Сандерс разработал более быструю и меньшую в размерах версию отладчика FLIT, которую он назвал Micro-FLIT. Эти программы использовали расширенный набор инструкций TX-0, которые были не предусмотрены ее создателями. История этого такова: однажды, после обстоятельного планирования и проектирования, выполненных Сандерсом и Джеком Деннисом, TX-0 была остановлена, и группка инженеров залезла в ее внутренности и прошила несколько новых инструкций. Эта сложно реализуемая задача позволила использовать в ассемблере несколько новых команд. Когда плоскогубцы и отвертки были отложены в сторону, а машина — аккуратно запущена, все дружно сели переделывать и бамить свои старые программы с использованием новых команд.

Набор инструкций PDP-1, с которым ознакомился Коток, не сильно отличался от расширенного набора команд TX-0, поэтому уже в самом начале лета Коток начал писать системное программное обеспечение, используя все свое свободное время, которое он мог найти. Понимая, что как только машина прибудет, то все сразу же бросятся ее осваивать, он написал вариант отладчика Micro-FLIT, для того чтобы создание программного обеспечения для «Единицы» стало более легким процессом. Самсон немедленно обозвал отладчик Котока «DDT», и это прозвище прилипло к программе, хотя в дальнейшем она еще неоднократно была модифицирована другими хакерами, которые хотели добавить в нее новые свойства или бамнуть ее код, чтобы убрать из нее несколько лишних инструкций.

Коток не один готовился к пришествию PDP-1. Как набор вещей для будущего малыша, рождения которого ожидают родители, остальные хакеры усердно пряли программные «пинетки» и «распашонки» для нового младенца, готовящегося войти в семью. Приход благородного наследника компьютерного трона ожидался в конце сентября.

Наконец этот радостный момент наступил. Хакеры помогли внести PDP-1 в ее новый дом, в Клудж Комнату, которая была рядом с комнатой, в которой стояла TX-0. Новая машина была прекрасна: сидя за консолью, которая была на половину короче, чем консоль Tixo, вы могли бы видеть небольшую панель с переключателями и лампочками. Рядом с ней находился дисплей, в ярко-синем, шестиугольном корпусе, с отделкой под стиль «деко». За ним стояли высокие шкафы, размером с холодильник и примерно в три высоты в глубину, заполненные проводами, платами, реле и транзисторами, доступ к которым был, естественно, запрещен. Здесь же стоял Flexowriter, для вывода данных из системы (пользователи жаловались на невероятный шум, который он производил, и, в итоге, его заменили устройством вывода фирмы IBM, которое работало существенно тише), а также высокоскоростной считыватель перфолент, для ввода информации в машину. По всем признакам, это была определенно «тяжелая» игрушка.

Джеку Деннису нравилось некоторое программное обеспечение, написанное фирмой BBN для прототипа PDP-1, а в особенности ассемблер. Котока, однако, при виде этого ассемблера начинало тошнить. Ассемблер работал в режиме, абсолютно не соответствующем его стилю, в котором он привык все делать «на лету». Так что он, и еще несколько его товарищей сказали Деннису, что им хотелось бы написать свой собственный вариант. «Это плохая идея», — сказал Деннис, который хотел, чтобы ассемблер был запущен на системе как можно скорее. Он понимал, что у хакеров уйдет на это несколько недель.

Коток и остальные были непреклонны: этой программой им предстояло пользоваться каждый день, и она должна быть совершенна. (Конечно, ни одна программа не была совершенна, но это их не останавливало.)

«Точно говорю тебе», — сказал Коток, гениальный двадцатилетний программист, с такой же полуулыбкой и такой же полнолицый как сам Будда, в адрес настроенного скептически, но благожелательного Джека Денниса: «Если мы напишем эту программу за выходные, и она будет работать, оплатишь ли ты нам время?».

Стоимость подобного объема работы, в соответствии с действующей сеткой оплаты, составляла чуть меньше пяти сотен долларов. «Это более или менее справедливо», — сказал Деннис, и они ударили по рукам.

Коток, Самсон, Сандерс, Вагнер и еще два человека начали работу вечером в пятницу. Они знали, что работать следует над ассемблером TX-0, оригинал которого был написан Деннисом, и который был поправлен, среди прочих, Питером Дейчем. Они не стали трогать ввод и вывод, и они не хотели переделывать алгоритмы. Вместо этого, каждый хакер брал кусок кода TX— 0 и конвертировал его в код PDP-1. Спать они не собирались. Шесть хакеров за выходные наработали 250 человекочасов, создавая код, отлаживая его, и уничтожая попутно коробки с китайской едой и запивая их большим количеством Кока-Колы, приносимой из клубной комнаты TMRC. Это была самая настоящая оргия программирования. Когда Джек Деннис пришел в понедельник, то он поразился, увидев загруженный на PDP-1 ассемблер, который в качестве демонстрации ассемблировал свой собственный код в бинарный.

Под сильным влиянием хакерства, хакеры TX-0, нет, теперь уже хакеры PDP-1, за выходные создали программу, на которую компьютерная индустрия потратила бы недели, а то и месяцы. Это был проект, к которому компьютерная индустрия не приступила бы без длительного и скучного процесса постановки задачи, исследований, многочисленных рабочих встреч и исполнительской нерешительности, и весьма вероятно — с существенными компромиссами на всем пути разработки. Весьма вероятно, что оно вообще никогда не было бы завершено. В то же время данный конкретный проект был полным триумфом Этики Хакеров.

К новой машине хакерам был предоставлен еще более свободный доступ, чем они имели на TX-0, и большинство из них переключилось на работы в Клудж Комнате. Несколько упертых товарищей все еще сидели за Tixo, что давало хакерам PDP-1 почву для насмешек в их адрес. Чтобы еще более раздразнить их, хакеры подготовили небольшое представление на основе мнемоник системы команд новой машины, которое включало в себя такие экзотические команды как DAC (Deposit Accumulator), LIO (Load Input-Output), DPY (Deploy) и JMP. Группа хакеров PDP-1 выстраивалась в шеренгу и начинала хором орать: