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

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

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

Хакеры помогли перенести вновь прибывшего — PDP‐1 — в его новый дом, в комнату Клуджа. Комната, в которой поселился PDP‐1, была по соседству с комнатой TX‐0. Новый компьютер был прекрасен, его панель управления была вдвое короче консоли управления прежней машины — компактная, с множеством переключателей и лампочек. Дисплей был огранен шестиугольным корпусом в стиле ар-деко. За всем этим стояли высокие шкафы размером с холодильник, но глубже последнего раза в три. В шкафах, доступ к которым был воспрещен, были спрятаны провода, платы, реле и транзисторы. Здесь же стоял флексограф для ввода данных в систему (пользователи так жаловались на сильный шум, производимый флексографом, что его в конечном счете заменили гораздо более тихой системой ввода данных производства IBM) и высокоскоростной считыватель перфоленты — также для ввода информации. Судя по всему, это была серьезная игрушка.

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

Однако Коток и остальные хакеры оказались непреклонны: ведь с ассемблером им предстояло много работы в будущем, им предстояло буквально жить с ним. А значит, программа должна была быть совершенной. Конечно, ни одна программа не может быть идеальной, но разве это кого-нибудь остановит?

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

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

Благодаря своим хакерским навыкам хакеры TX‐0 в прошлом, а теперь уже хакеры PDP‐1, сумели создать программу всего лишь за пару выходных. В компьютерной индустрии на создание подобной программы ушли бы недели, а то и месяцы. К подобному проекту обычные компьютерные гении приступили бы только после длительного и скучного процесса постановки задачи, проведения исследований, совещаний и преодоления сомнений руководства. Целью всего этого был бы поиск компромиссов, а не разработка. И, скорее всего, этот процесс остался бы незавершенным. Создание ассемблера хакерами за выходные стало прямой противоположностью обычной работе компьютерной индустрии.

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

...

LAC,

DAC,

DIPPY DAP,

LIO,

DIO

JUMP!

После этого они одновременно прыгали вправо. Их бешеный энтузиазм с лихвой компенсировал недостаток хореографии выступления. Ими двигала увлеченность красотой компьютера, машины.

Тот же энтузиазм прослеживался и в спонтанном программировании на PDP‐1 начиная от создания серьезных системных программ, например программ для управления простой роботизированной рукой, и заканчивая весьма неожиданными хаками. Одной из последних выходок стало установление соединения PDP‐1 и TX‐0 по кабелю, по которому передавались биты информации. Как рассказывал потом Самсон, хакеры позвали многоуважаемого основоположника искусственного интеллекта Джона Маккарти и усадили его за панель управления PDP‐1 со словами: «Профессор Маккарти, посмотрите на нашу новую программу для игры в шахматы!» Другого профессора они усадили за консоль управления TX‐0 с тем же предложением. «Ваш ход, профессор!» После того как Маккарти ввел свой первый ход, тот был напечатан флексографом TX‐0. Хакеры сообщили второму профессору, что тот стал свидетелем первого хода компьютера. «Теперь ваша очередь, профессор!» Спустя несколько ходов Маккарти заметил, что компьютер стал выводить ходы по одной букве за раз, иногда с подозрительной паузой между ними, прошел вдоль кабеля и нашел на другом его конце своего противника из плоти и крови. Хакеры покатились со смеху. Все это случилось незадолго до того, как они действительно создали программу для проведения турнира по шахматам между двумя компьютерами.

PDP‐1 предоставил хакерам полную свободу программирования. Ограничений не было. Самсон, например, расшифровывал календарь майя на основе двадцатиричной системы исчисления. Одновременно с этим он работал над новой версией своей музыкальной программы, написанной еще для TX‐0, которая использовала расширенные звуковые возможности PDP‐1 для создания музыки в три голоса. С помощью этой программы Самсон записал фугу Баха для трех голосов. И вот… компьютерная музыка проникает за стены комнаты Клуджа! Сотрудники компании DEC прослышали про программу Самсона и попросили его довести ее до ума на PDP‐1. В итоге Самсон написал код, с помощью которой любой мог ввести музыкальную партитуру в компьютер с помощью элементарного перевода нот в цифры. И вот уже можно слушать органную сонату в три голоса. Другой код — и раздаются звуки оперетты Гилберта и Салливана.

Самсон с гордостью представил этот музыкальный компилятор компании DEC, которая могла распространять программу среди желающих совершенно бесплатно. И Самсон гордился этим. Хакеры, работающие над ассемблером, имели сходное мнение о распространении их детища. Они всегда имели в столе ленту с копией их программы, чтобы при необходимости любой желающий мог взять ее, попытаться улучшить, сократив пару инструкций или добавив новые. Им польстило предложение инженеров из компании DEC, которые хотели распространять программу среди владельцев других машин PDP‐1. При этом никогда не поднимался вопрос о вознаграждении. Для Самсона и других хакеров возможность работать на этой машине приносила столько счастья, что они сами были готовы платить за такой шанс. Тот факт, что за работу на компьютере они еще и получали 1,60 доллара в час, был своеобразным бонусом. Что касается отчислений за пользование их программами — то разве это уже не подарок миру, награда в чистом виде? Ими двигала идея сделать компьютер более удобным и интересным для пользователей. Главной целью было заинтересовать людей компьютерами настолько, чтобы они тоже захотели исследовать машины, стать хакерами. Писать программы для них значило вносить свой вклад в создание современного общества, а не просто выпускать продукт.

В любом случае люди не должны платить за программное обеспечение — информация должна быть бесплатной!

*****

Но не только хакеры из TMRC строили коварные планы в отношении новой машины PDP‐1. Летом 1961 года вынашивался изощренный план взлома компьютера для виртуальной демонстрации серьезного подхода к соблюдению хакерской этики. Местом этих дискуссий было многоквартирное здание на Хайэм-стрит в Кембридже, и первыми «преступниками» были трое неприкаянных программистов лет двадцати пяти, околачивающиеся по разным компьютерным центрам уже многие годы. Двое из этой троицы жили в этом доме, поэтому они именовали свою резиденцию «Хайэмским институтом» в насмешку над помпезностью и напыщенностью Гарвардского университета по соседству.

Одним из членов этого вымышленного университета был Стив Рассел, по неизвестной причине прозванный «Слизняком». Он был похож на остальных хакеров своей манерой говорить, сильными очками в толстой оправе, невысоким ростом и фанатичной страстью к компьютерам, плохим фильмам и научной фантастике. Эти три интереса лежали в основе всех встреч постоянных членов «Хайэмского института».

Рассел довольно долго был «кули» (что в терминах TMRC означало человека на побегушках) «Дяди» Джона Маккарти. Маккарти пытался разработать и внедрить более высокоуровневый язык для работы с искусственным интеллектом. Он считал, что это язык LISP, получивший свое название благодаря используемому способу обработки списков (LISt Processing). С помощью простых, но мощных команд LISP мог всего лишь несколькими строками кода творить множество вещей, а главное — выполнять сложные рекурсивные ссылки к самому себе. Благодаря этому программы, написанные на этом языке, могли «учиться» тому, что происходило во время их выполнения. Главным недостатком языка LISP в то время был его объем — он занимал довольно много места на компьютере, очень медленно работал и генерировал огромное количество дополнительного кода по мере выполнения программ. Ему требовалась собственная программа «сбора мусора», чтобы периодически очищать память компьютера.

Рассел помогал «Дяде» Джону писать интерпретатор языка LISP для неповоротливого гиганта IBM 704. По его мнению, это была «ужасная инженерная работа», в основном из-за утомительного режима пакетной обработки 704‐й модели.


Конец ознакомительного фрагмента

Если книга вам понравилась, вы можете купить полную книгу и продолжить читать.