Глава 4. Гринблатт и Госпер
Рики Гринблатт был хакером, который рано или поздно должен был
появиться в этом мире. Спустя много лет, когда он уже был признанным
авторитетом среди хакеров и был известен во многих национальных
вычислительных центрах, когда ходила масса рассказов о его способности
к
умственной концентрации, равно как и о миллионах строк ассемблерного
кода,
которые он похачил к этому времени, его спросили о том, как это все
начиналось. Он откинулся в кресле, выглядя уже не так беспорядочно,
когда
он был студентом с ангелоподобным выражением лица, темной шевелюрой
и
болезненной боязнью публичных выступлений.
Вопрос, в его понимании, сводился к тому, были ли хакеры таковыми от
рождения или ими становились? После этого он изрекал хорошо известный,
и
не согласующийся ни с какой логикой "блаттизм": "Если
хакерами рождались,
то ими становились, если хакерами становились, то значит, ими рождались".
Но Гринблатт согласился бы с тем, что он был прирожденным хакером. Его
жизнь изменилась задолго до первой встречи с PDP-1. Она ему была просто
интересна, что впрочем, было неудивительно. Это произошло на неделе
знакомства первокурсников с МТИ, и у Рики Гринблатта было в распоряжении
некоторое время, перед тем как определиться с курсами и приготовиться
к
академической славе. Он посетил все места, которые интересовали его
в
первую очередь: радистанцию WTBS (Эта станция, находившаяся в МТИ,
возможно, была единственной институтской радиостанцией в стране, где
были
в большом достатке аудиоинженеры из числа студентов и недостаток диск
жокеев), Клуб Технического Моделирования Железной Дороги и Клудж Комнату
в
Здании N 26, в которой стояла PDP-1.
Несколько хакеров играло на ней в "Космические войны".
В игру было принято играть с полностью потушенным в комнате верхним
светом, так что лица людей, сгрудившихся около дисплея, были подсвечены
экранными отблесками кораблей и крупных звезд. Вид сосредоточенных лиц,
в
дисплейных бликах произвел впечатление на Рики Гринблатта. Он некоторое
время понаблюдал за космической битвой, затем зашел в соседнюю дверь,
осмотрел TX-0 - ее стойки с трубками и транзисторами, причудливыми блоками
питания, огоньками и переключателями. Его школьный математический клуб
в
Колумбии, что в штате Миссури, однажды приходил в местный университет
на
экскурсию, чтобы посмотреть на университетский пакетный компьютер, и
еще,
в местной страховой компании, он видел гигантскую машину для сортировки
перфокарт. Но он не встречал ничего подобного тому, что он встретил
здесь.
Но, тем не менее, несмотря на то, что он был впечатлен радиостанцией,
Клубом Моделирования Железной Дороги, и в особенности, компьютерами,
он
сел заполнять свой учебный план.
Это ученическое прилежание было не последним, что оставалось ему в его
жизни. Гринблатт, даже больше чем обычный студент МТИ, был добровольным
последователем Практического Императива. Его жизнь безвозвратно изменилась
в один из дней 1954 года, когда его отец, в одно из посещений своего
сына,
с которым он не жил вместе из-за раннего развода с его матерью, взял
его с
собой в Мемориальный Студенческий Союз в Университете Миссури, который
находился недалеко от его дома в Колумбии. Рики там очень быстро освоился,
не только потому, что там был комфортабельный холл с телевизором и баром
с
газированными напитками, а, скорее, потому что студенты, в отличие от
его
одноклассников, гораздо больше по уровню своего развития подходили
девятилетнему Рики Гринблатту. Он приходил туда поиграть в шахматы,
и
обычно без затруднений выигрывал у студентов, потому что он был очень
хорошим игроком.
Одной из его шахматных жертв был студент из Университета штата Миссури,
учившийся на инженерном факультете, по программе государственного
финансирования. Студента звали Лестер, и он на практике познакомил
девятилетнего одаренного мальчика с миром электроники. Это был мир,
в
котором не было никаких двусмысленностей, где всем правила логика, где
у
вас были определенные возможности управлять вещами и событиями и где
вы
могли строить вещи так, как вы хотели. Для девятилетнего мальчика
электроника была прекрасным средством уйти от действительности. Он,
должно
быть, чувствовал себя не в своей тарелке, из-за разницы между своим
умственным возрастом и возрастом биологическим, а кроме того он был
еще и
просто ребенком, который переживал развод родителей, на который он никак
не мог повлиять, и что не было редкостью в мире взрослых человеческих
отношений.
Лестер и Рики работали над любительским радио, разбирая на части старые
телевизоры. Перед окончанием колледжа Лестер познакомил Рики с мистером
Хоутоном, которому принадлежал местный магазин по продаже радиодеталей,
ставший вторым домом для мальчика вплоть до окончания школы. Будучи
учеником старших классов, Гринблатт собрал очень много сложных вещей.
Усилители, модуляторы, всевозможные устройства на зловеще выглядящих
электронных лампах. Осциллограф, радиолюбительский трансивер, телекамеру.
Да, да. Телекамера! Это было привлекательной идеей, именно поэтому они
ее
собрали. И, конечно, когда пришло время выбирать институт, то Ричард
Гринблатт остановил свой выбор на МТИ. Он поступил в него осенью 1962
года.
Семестровая работа во время первого полугодия обучения была достаточно
сложна, но Гринблатт справился с нею без особых проблем, разработав
способ
связи между несколькими компьютерами университетского городка. Он был
счастлив, когда ему удалось выбрать курс "ЕЕ641 Введение в компьютерное
программирование" и он часто засиживался за перфораторами в комнате
ЭОПД,
подготавливая программы для Неповоротливого Гиганта IBM 7090. Кроме
того,
его товарищ по комнате, Майк Беелер, слушал курс, который студенты
называли Номографией. Студенты, которые слушали этот курс лекций, имели
непосредственный доступ к IBM 1620, установленный в еще одном владении
заблудших Жрецов. Их мозг был подернут туманом невежества, который
старательно напускали менеджеры по продаже из фирмы IBM.
Гринблатт часто приходил вместе с Беелером на 1620, где можно было
пробить свою колоду карт, после чего встать в очередь. Когда подходило
ваше время, колода ставилась в считыватель, после чего из принтера
начинала выползать распечатка. "Это было своеобразным вечерним
развлечением", позднее вспоминал Беелер, - "Мы делали это
тогда, когда
остальные смотрели спортивные репортажи по телевизору или шли за пивом".
Развлечение было небольшим, но приносившим удовлетворение. Однако,
Гринблатт желал большего.
В канун Рождества, он окончательно освоился и решил оставаться в Клубе
Моделирования Железной Дороги. Здесь, среди людей подобных Питеру Самсону,
было весьма естественным впадать в режим хакерства.
(Компьютеры имеют различные состояния называемые "режимами",
и хакеры
часто используют этот термин для обозначения состояний в реальной жизни.)
Самсон работал над большой программой по составлению расписания работ
над
гигантской схемой железной дороги в TMRC. Так как программа требовала
выполнения вычислений, то Самсон писал ее на ФОРТРАНе для 7090. Гринблатт
решил написать ФОРТРАН для PDP-1. Если бы кто-нибудь решил узнать (что
маловероятно), почему он захотел это сделать, он не смог бы мог толком
объяснить. Впрочем, это встречалось сплошь и рядом: если вам необходимо
было выполнить на машине определенную задачу, но машина не имела для
этого
соответствующего программного обеспечения, то следовало писать это
программное обеспечение, а после этого решать свою задачу с его помощью.
Это было импульсом, который, в дальнейшем, Гринблатт доведет до
совершенства.
Он его написал. Он написал программу, которая позволяла вам писать на
ФОРТРАНе, то есть брать то, что вы написали на ФОРТРАНе, компилировать
код
в машинный язык, а также передавать в программу на ФОРТРАНе, данные
из
программы на машинном языке. В основном Гринблатт занимался компилятором
ФОРТРАНа в своей комнате, в общежитии, так как у него были проблемы
с
получением достаточного объема времени для доступа к PDP-1. Помимо этого,
он еще занимался новой системой реле под основанием железной дороги
в
клубе.
Обстановка в клубе была своеобразная: в комнате с потолка вот-вот мог
отвалиться кусок штукатурки и закоротить контакты на системе, которую
придумывал и строил Джек Деннис еще в середине пятидесятых.
С комнатой всегда были проблемы; обслуживающий персонал, не почитал
ее
своим вниманием, так как хакеры препятствовали всякой уборке и ремонту.
Но
никто не обращал на это внимания, потому что появились новые пружинные
реле, которые выглядели гораздо лучше, чем их предшественники. Так что
Гринблатт той весной потратил изрядное количество времени, занимаясь
всем
этим и, параллельно, хакингом на PDP-1.
Забавно как порой поворачивается жизнь. Вы, как студент, начинаете
добросовестно отдавать все свои силы учебе. Вы старательно выполняете
учебный план, а затем вы открываете для себя нечто, что отодвигает занятия
на их соответствующее место - они становятся лишними по отношению к
тому,
что попадает к вам в руки. Этим предметом в ваших руках был хакинг -
настолько очевидный процесс, что никто в TMRC или из тех, кто работал
на
PDP-1, не рассматривал в качестве темы для полезного разговора обсуждение
хакерства как своеобразной погони за удовлетворением от вдыхания жизни
в
то, что создано вашими руками. Хотя компьютеры и были сложной вещью,
они
не были настолько сложны как различные события и последствия
взаимоотношений внутри человеческого зоопарка. Но, в отличие, от
формального или неформального изучения социальных наук, хакерство дает
вам
не только понимание работы системы, но дает также и весьма притягательную
возможность управления системой, а также иллюзию того, что стоит добавить
еще пару-другую свойств в систему и будет получен полный контроль.
Естественно, вам приходится размышлять по поводу реализации этих свойств
в
системе, определять какие из них являются наиболее нужными, для того
чтобы
система работала должным образом. Кроме того, работа с улучшенной версией
системы дает вам возможность узнать о еще большем количестве задач,
которые вам следует решить. Например, Марвин Минский может появиться
и
сказать:
"Вот роботизированный манипулятор. Я хочу управлять этой рукой
при
помощи компьютера". После этого в мире не остается ничего существенного,
кроме изготовления соответствующего интерфейса между машиной и
роботизированным манипулятором, реализации управления роботом и
придумывание способа создания системы, где эта роботизированная рука
будет
знать, что она делает. Затем вы начинаете наблюдать, как ваше детище
начинает двигаться. Разве может с этим сравниться нудная лекция по
инженерным методам? Каковы шансы на то, что ваш профессор, который читает
эту лекцию, делал в своей жизни хотя бы нечто наполовину столь же
интересное, как проблемы, которые вы решаете на PDP-1 каждый день. И
кто
из вас прав в этом случае?
Когда Гринблатт учился на втором курсе, ситуация вокруг PDP-1
существенно изменилась. Хотя некоторая часть родоначальников хакерства
TX-0, к этому времени уже покинула институт, по-прежнему появлялись
новые
таланты, для которых нашлось новое место в реализации их амбициозных
планов, к тому же созданное на деньги благосклонного Министерства Обороны.
В институте была установлена вторая PDP-1. Ее домом стал новое,
девятиэтажное прямоугольное здание на Мэйн Стрит. Это было здание,
нагонявшее тоску своим внешним видом: абсолютно ровные стены и окна
без
подоконников, которые выглядели словно нарисованные на ее беловатой
поверхности.
Здание называлось ТехноСквером, и помимо служб МТИ и корпоративных
клиентов в него переехал и Project MAC. Девятый этаж этого здания, там,
где располагались компьютеры, стал домом для нескольких поколений хакеров.
Но среди них не было никого, кто не проводил бы там времени больше,
чем
Гринблатт.
Гринблатту, как работнику из числа студентов, даже платили за то, что
он хакерил какие-то программы, правда стоимость такой работы была ниже
низшего. Он работал совместно с другими хакерами, которые начали
разрабатывать большие программы для искусственного интеллекта. Со временем
хакеры начали обращать внимание на то, что этот, не к месту вежливый
второкурсник, имеет все задатки для того, чтобы стать суперзвездой
программирования на PDP-1.
Он перепахивал невероятные объемы кода, занимаясь, насколько это было
возможно, хакингом на компьютере, или сидя за стопкой распечаток и делая
на них пометки. Он сновал между PDP-1 и TMRC. Его голова была
фантастически загружена структурами программ, над которыми он работал
и
системами реле, которые он хакерил под схемой железной дороги. Для того
чтобы сохранять концентрацию на длительный период времени, он жил по
тридцать часов в день, так же как и остальные его товарищи. Ему хорошо
давалось интенсивное хакерство, так как в его распоряжении был протяженный
период времени, чтобы можно было вникнуть в программу. После того как
вы в
действительности начинали работать, таким небольшим мелочам как сон
не
следовало придавать большого значения. Главным за эти тридцать часов
было
максимально отдаться своему делу, сгореть, достичь полного опустошения,
затем пойти домой, добраться до койки и отрубиться часов на двенадцать.
Альтернативой было отключиться прямо здесь - в лаборатории. Небольшой
недостаток именно такого расписания, заключался в том, что было необходимо
выполнять все то же самое, что делали другие люди: приходить на свидания,
принимать пищу и посещать занятия. Хакеры выясняли, чем он занимается,
спрашивая: "В какой фазе Гринблатт находиться сейчас?" И,
кто-нибудь из
тех, кто видел его недавно, говорил: "Я думаю, что он сейчас находиться
в
ночной фазе и должен появиться около девяти или около того". Его
преподаватели не подстраивались под эти фазы, и поэтому Гринблатт не
уделял должного внимания их занятиям.
Из-за проблем с успеваемостью, он был вынужден уйти в академический
отпуск, после чего его мать приехала в Массачусетс, чтобы встретиться
и
побеседовать с деканом. Ей объяснили ситуацию. "Его мама была
обеспокоена", - вспоминал позднее Беелер, его товарищ по комнате.
"Она
думала, что он находится здесь, чтобы получить диплом.
Но то, что он совершал, было поразительно, потому что такого раньше
никто не делал, а он хотел сделать еще больше. После всего этого было
весьма трудным заинтересовать его занятиями". Для Гринблатта, перспектива
вылететь за неуспеваемость из института не имела большого значения.
Хакерство главенствовало надо всем: это было лучшее из того, что он
умел
делать, и это заставляло его быть самым счастливым человеком на свете.
Затем случился худший момент в его жизни: он настолько "вышел из
фазы",
что умудрился проспать последний экзамен. Исключение из института,
возможно, не повлекло бы никаких изменений в его жизни, так как не было
правил, которые бы ограничивали предоставление работы в институте
исключенным студентам. Но Гринблатт решил начать подыскивать себе работу,
намереваясь найти работу по программированию на полный рабочий день,
так
чтобы можно было проводить свои ночи в том месте, где он хотел: на девятом
этаже в ТехСквере. Ночи он хотел посвятить хакерству - это было именно
то,
чем он хотел заниматься.
* * *
В то время на PDP-1 был еще один хакер, столь же выдающийся, но
работавший в несколько другой манере. Он был более словоохотлив, чем
Гринблатт, и лучше объяснял свое видение того, как компьютер сумел
изменить жизнь его и остальных. Этого студента звали Билл Госпер. Он
начал
учиться в МТИ на год раньше Гринблатта, но постоянным обитателем PDP-1
стал несколько позже. Госпер был очень худым, с птицеподобными чертами
лица, закрытыми толстыми стеклами очков и неприбранной копной курчавых
волос на голове. Но даже краткий разговор с ним, показывал, что
одаренность вашего собеседника отодвигала физическую привлекательность
на
задний план. Он был гением в математике. Госпера привлекала в компьютере
возможность использования хакерских приемов в мире математики, в отличие
от хакинга систем - то чем интересовался Гринблатт. Госпер среди
сообщества гениальных "пехотинцев", которых собирал вокруг
себя Project
MAC, в течение долгого времени контрастировал с Гринблаттом и другими
людьми, ориентированными на системы.
Госпер был родом из Пеннсакина, городка в Нью-Джерси, расположенного
вниз по реке от Филадельфии. Его доинститутское общение с компьютерами
сводилось к лицезрению из-за стеклянной перегородки работы Неуклюжих
Гигантов стоящих в гермозоне. Он хорошо помнил как Univac, стоявший
в
Институте Франклина в Филадельфии, печатал портрет Бенджамина Франклина
на
строчном принтере. Госпер не имел ни малейшего понятия о том, как это
было
сделано, но выглядело это весьма прикольно и впечатляюще.
Впервые он вкусил этого развлечения во время второго семестра обучения
в МТИ. Он взялся изучать курс "Дядюшки Джона" Маккарти, на
который
допускались только те из первокурсников, которые набрали невероятно
высокий средний балл за предыдущий семестр обучения. Курс начинался
с
изучения ФОРТРАНа, затем машинного языка IBM, после чего изучалась PDP-1.
Решаемые задачи были весьма нетривиальными - это были проблемы типа
трассировки лучей через оптические системы, которые обсчитывались на
IBM
709, или написание подпрограмм для работы с плавающей точкой при помощи
нового интерпретатора арифметики для PDP-1.
Программирование бросило свой вызов Госперу. Это особенно сильно
ощущалось на PDP-1, которая после пытки на IBM, могла действовать на
вас
как опьяняющий эликсир, либо как занятие сексом в первый раз в своей
жизни. Спустя несколько лет, Госпер говорил об этом: "Дрожь охватывала
тело, когда вы чувствовали под пальцами настоящую клавиатуру, и ощущали
получаемый в течение нескольких миллисекунд ответ от машины".
Но, после того как курс закончился, Госпер все еще был в
нерешительности, размышляя над тем, стоило ли продолжать заниматься
PDP-1.
Он учился на математическом факультете, где люди постоянно говорили
ему,
что было бы разумным держаться как можно дальше от компьютеров, чтобы
они
не превратили его в клерка. Госпер обнаружил, что неофициальным лозунгом
матфака была фраза: "Нет такой науки как информатика - это все
колдовство
и алхимия", из чего следовало, что Госперу, чтобы учиться дальше,
придется
стать алхимиком. Он записался на курс лекций Минского по исскуственному
интеллекту.
Работа снова была связана с PDP-1, и с этого момента Госпер был
непосредственно вовлечен в процесс хакинга. За этот семестр он написал
программу, которая строила графики функций на экране. Это был его первый
реальный проект, а одна из его подпрограмм содержала настолько элегантный
код, что он отважился показать ее Алану Котоку.
По мнению Госпера, Коток к тому времени уже имел "богоподобный
статус",
полученный не только за свои хаки PDP-1 и работу в TMRC, но также было
хорошо известно, что он работает в DEC и играет главную роль в разработке
нового компьютера, который был сильно переработанной версией PDP-1.
Госпер
был в восторге, когда Коток не только внимательно посмотрел его хак,
но и
нашел его достаточно интересным, для того чтобы показать его остальным.
"Коток действительно считал, что я сделал нечто интересное".
Окрыленный
Госпер засел за еще более интенсивное хакерство.
В этом курсе обучения его большим проектом стала попытка "найти
решение" для игры HI-Q. В вашем распоряжении была доска в форме
креста, в
которой было 33 отверстия. Во всех отверстиях кроме одного было по фишке;
вы могли перескакивать через фишки, снимая их с доски. Целью игры было
оставить одну фишку в центре. Когда Госпер и два его одногруппника
сообщили Минскому, что они собираются решить эту задачу на PDP-1, Минский
высказал сомнения в ее осуществлении, но все же порекомендовал
попробовать. Госпер, с друзьями, не только решили ее, но и как он позднее
говорил: "Мы ее разгромили!" Они схакерили программу, которая
давала
возможность найти решение игры в пределах полутора часов.
Госпер восторгался тем, как компьютер находил решение для игры в HI-Q,
потому что его подход был "контринтуитивным". Он испытывал
большое
уважение к программам, которые использовали способы, которые на первый
взгляд выглядели невозможными, но на самом деле использовали все
преимущества глубокой математической логики лежащей в основе проблемы.
Контринтуитивное решение возникало из понимания магических связей между
вещами в широкой массе численных связей, на которых, в конечном счете,
и
основывалось хакерство. Открытие этих взаимоотношений, которые составляли
новую математику, стало крестовым походом, главной задачей для Госпера,
и
он стал все больше и больше тратить время на PDP-1 и в TMRC. Эти его
изыскания, сделали его незаменимым и главным "матхакером",
который не
сильно интересовался системными программами, но был в состоянии
разрабатывать удивительно красивые (не интуитивные!) алгоритмы, которые
могли бы помочь системным хакерам выкинуть несколько инструкций из
процедуры, или преодолеть умственный затык, мешавший работе программы.
* * *
Госпер и Гринблатт представляли два подхода к процессу хакерства,
существовавших в TMRC и PDP-1: Гринблатта интересовала прагматическая
сторона построения систем, а Госпера занимали математические методы
их
обоснования. Каждый из них уважал сильную сторону другого, и они часто
вдвоем принимали участие в различных проектах, совместно работая над
теми
вещами, которые наилучшим образом раскрывали способности каждого из
них.
Более того, они сделали существенный вклад во все еще находившуюся в
зачаточном состоянии культуру, которая начала цвести полным цветом на
девятом этаже ТехСквера. По различным причинам, именно здесь, в этом
месте
с "горячими" технологиями, эта культура начала буйно расти,
доводя
Хакерскую Этику до ее наивысшей точки.
Ходу пьесы было суждено поменяться уже через несколько актов. Клудж
Комната, в которой работала PDP-1 под управлением системы с разделением
времени, которую Джек Деннис писал в течение года, все еще пользовалась
популярностью при необходимости ночного хакинга, и в особенности для
игры
в "Космические войны". Но истинные хакеры все больше и больше
предпочитали
иметь дело с компьютером, работавшим в составе Project MAC. Он
располагался среди других машин, на ярко освещенном и плохо обставленном
девятом этаже ТехСквера, где избежать непрерывного гула от работавших
компьютерных кондиционеров можно было, только нырнув в один из нескольких
крошечных офисов.
Здесь же находился клуб TMRC, со своей никогда не иссякающей машиной,
полной Кока-Колы, машиной по размену денег, созданной в свое время
Сандерсом. По соседству с клубом находилась Инструментальная Комната,
где
всю ночь заседали хакеры, споря о том, что для непосвященных выглядело
сложно понимаемыми и загадочными вещами.
Эти споры были движущей жизненной силой хакерского сообщества.
Иногда спорщики срывались на крик, когда кто-нибудь настаивал на
определенном виде схемы кодирования для ассемблера или специфическом
виде
интерфейса, или о каком-нибудь особенном свойстве компьютерного языка.
Именно эти различия заставляли хакеров стучать по доске, или кидать
мел
через всю комнату. Это было не столько битвой различных эго, сколько
попыткой понять, что же является Правильной Вещью. Этот термин для хакеров
имел особый смысл. Под Правильной Вещью при решении любой проблемы,
будь
то вопросы программирования, несоответствие аппаратных интерфейсов,
проблемы в программной архитектуре, подразумевалось такое решение,
которое± в общем, которое этой Правильной Вещью и было. Совершенный
алгоритм. Вы могли бы разбиться в лепешку, но найти такое решение, что
любой, у которого была хотя бы одна извилина в голове, мог увидеть его
очевидность, словно прямую линию, прочерченную между двумя точками,
после
которого не было никакого смысла пытаться сделать это лучше.
"Правильная Вещь", - как объяснял позднее Госпер, "весьма
четко
означает уникальное, корректное и элегантное решение± Оно удовлетворяет
всем ограничениям, существующим на этот момент.
Предполагается, что такое решение, существует для большинства проблем".
И у Госпера и у Гринблатта были свои сильные доводы в пользу именно
своего видения проблемы, но обычно Гринблатт быстрее уставал от "этих
разъедающих сознание человеческих интерфейсов" и удалялся для того,
чтобы
действительно реализовать что-нибудь, элегантное или не очень. По его
мнению, вещи надо было создавать, и если их никто не будет хакерить,
то
тогда это сделает он. Он будет сидеть с карандашом и бумагой, или иногда
за консолью PDP-1 и пытаться родить в муках свой код. Программы, которые
писал Гринблатт, были очень устойчивы в работе, что также означало,
что и
принципы, которыми он пользовался, также были весьма твердыми и
устойчивыми. В его программах были встроены различные обработчики, которые
предотвращали вылет целой программы из-за одной единственной ошибки.
Время от времени Гринблатт полностью погружался в процесс тщательной
отладки своей программы. Госпер считал что Гринблатт, больше чем кто-либо,
очень любит находить и устранять ошибки, и он иногда подозревал, что
тот
специально пишет глюкавый код того, чтобы потом его можно было спокойно
пофиксить.
Госпер предпочитал публичный стиль хакинга. Ему нравилось работать при
стечении народа, и часто начинающие хакеры подтаскивали стулья и садились
за его спиной, для того чтобы можно было смотреть на консоль, на которой
он создавал свои искусные хаки, и которые весьма часто содержали
небольшие, но интересные математические фокусы. С дисплейными хаками
он
делал практически все, что было возможно, применяя самые неожиданные
алгоритмы, вызывавшие непредсказуемые серии пиротехнических эффектов
на
CRT. Госпер вел себя как экскурсовод, объясняя все, что он делал по
мере
своего продвижения, иногда подчеркивая, что даже клавиатурные ошибки
могут
представлять собой интересный численный феномен. Он непрестанно удивлялся
тому, как компьютер возвращал назад что-нибудь неожиданное. Он воспринимал
все, что выдавал компьютер с бесконечным уважением. Иногда выглядящее
случайным событие могло отвлечь его в сторону удивительным проявлением
иррациональных корней квадратного уравнения или трансцендентной функции.
Некоторые колдовские манипуляции над процедурами в программе Госпера
могли
со временем могли превратиться в ученые записки, подобные вот этой,
начинавшейся такими словами:
"Известно что, из-за слабой изученности, непрерывные дроби используются
достаточно редко. Я предлагаю нижеследующую демонстрацию относительных
преимуществ использования непрерывных дробей в сравнении с другими
численными представлениями."
Споры в Инструментальной Комнате перестали быть просто тусовками.
Здесь часто бывал Коток, и на этих собраниях принимались весьма важные
решения, касавшиеся компьютера, который он разрабатывал для DEC. Этой
новой машиной была PDP-6. Еще на стадии своей разработки PDP-6
рассматривалась в TMRC как абсолютно Правильная Вещь. Коток иногда
подвозил Госпера домой в Нью-Джерси, во время каникул или праздников,
разговаривая за рулем о том, что компьютер будет иметь целых шестнадцать
независимых регистров. (Регистр (аккумулятор) - это место, в котором
компьютер производит вычисления. Шестнадцать подобных регистров давали
машине не виданную ранее гибкость). У Госпера перехватывало дыхание:
Он
думал: "Это будет величайший компьютер в мировой истории!".
DEC полностью завершил работы над PDP-6 и передал первый прототип в
Project MAC. Все пришли на нее посмотреть. И хотя по всем признакам
он
выглядел как компьютер для коммерческих пользователей, в своей основе
это
все-таки была хакерская машина. И Коток, и его шеф - Гордон Белл,
постоянно держали в уме свои дни на TX-0, а потому старались в PDP-6
реализовать все то, что их связывало по рукам и ногам на TX-0. Кроме
того,
Коток внимательно слушал все, что говорили ребята из TMRC, а в особенности
он прислушивался к Питеру Самсону, который предложил использовать 16
регистров. В наборе команд у PDP-6 было все что нужно, общая архитектура
машины тоже выглядела очень хорошо. Доступ до этих 16 регистров
производился тремя различными способами, которые можно было между собой
комбинировать, что позволяло много сделать при помощи всего одной команды.
В PDP-6 был также реализован "стек", делавший возможным совмещение
подпрограммы, программы и кода. Для хакеров, знакомство с PDP-6 и ее
восхитительным и прекрасным набором команд означало, что отныне они
имеют
весьма мощный словарь, которым теперь можно выражать тонкие оттенки
настроений, для которых ранее использовались грубые и неуклюжие слова.
Минский усадил хакеров за написание нового системного программного
обеспечения для PDP-6, прекрасной машины цвета морской волны, с тремя
большими стойками оборудования, более рационально организованной
управляющей панелью, по сравнению с "Единицей", с рядами блестящих
тумблеров и мерцающей матрицей огоньков. Вскоре они проникли в психологию
этой новой машины также глубоко, как это было на PDP-1. Но на "шестерке"
можно было идти еще дальше. Однажды хакеры игрались в Инструментальной
Комнате в TMRC с процедурой печати десятичных чисел, небольшой программой,
которая позволяла компьютеру печатать арабские цифры. Кто-то предложил
использовать для этой цели новые, так бросающиеся в глаза, команды PDP-6,
те самые, которые использовали стек. Ранее эти команды в своем коде
никто
не использовал. По мере того как программа, после использования инструкции
PUSH-J начала печатать на экране десятичные цифры, то оказалось, что
к
всеобщему удивлению, вся процедура печати десятичных чисел, занимавшая
обычно не менее страницы кода, поместилась в последовательность из шести
инструкций длиной. После этого, весь TMRC, единодушно, согласился с
тем,
что команда PUSH-J, несомненно, является Правильной Вещью, которая стоила
того, чтобы ее реализовали в PDP-6.
Разговоры и споры из Инструментальной Комнаты часто переносились на
обед. Предпочтительной кухней практически всегда оказывалась китайская
кухня. Она была дешевой, изобильной и хорошо доступной ночью. (Вторым,
более худшим вариантом, была находившаяся неподалеку тошниловка под
названием F&T Diner, располагавшаяся в старом железнодорожном вагоне,
отделанном красно-коричневыми панелями.
Хакеры прозвали ее "Красная Смерть"). В большинство субботних
вечеров,
а иногда и посреди недели, обычно поздно вечером, после десяти часов,
группа хакеров направлялась куда-нибудь в бостонский Чайнатаун, иногда
на
синем Chevy 1954 года с откидным верхом, принадлежавшем Гринблатту.
Китайская кухня также была системой, и хакерское любопытство было
применено к этой системе с тем же усердием, с каким оно применялось
к
новому компилятору LISP. Самсон был ее ревностным поклонником, начиная
с
его первого знакомства с ней в TMRC, и периодических посещений
ресторанчика "Joy's Pong", что на центральной площади университетского
городка. В начале шестидесятых, он даже выучил достаточное количество
китайских иероглифов, для того чтобы самостоятельно разбираться в меню
и
заказывать эти таинственные блюда. Госпер относился к этой кухне еще
энергичней; он рыскал по всему Чайнатауну в поисках ресторана, работавшего
после полуночи, и однажды он нашел нечто подходящее - маленький ресторан,
размещавшийся в небольшом подвальчике, которым владела семья китайцев.
На
первый взгляд, все что там готовилось, было ничем не примечательной
едой,
но он заметил, что некоторые китайцы из числа посетителей едят блюда,
выглядящие весьма странно и необычно. Он решил привести сюда Самсона.
Они вернулись в ресторанчик с охапкой китайских словарей под мышкой
и
потребовали меню. Владелец ресторана, мистер Вонг, неохотно подчинился,
но
все-таки принес желанный список, после чего Госпер, Самсон и остальные
начали его разглядывать, как если бы это был набор команд для нового
компьютера. Самсон сделал перевод, который оказался разоблачительным;
то,
что называлось в англоязычном меню "Мясо с томатами", имело
на самом деле
название "Свиноговядина в варварском баклажане". "Вонтон"
(кармашки из
теста, подаваемые с супом или поджаренные - пр.перев.) имел китайский
эквивалент в виде "Глоток облаков". В системе открывалось
наличие
невероятных вещей!
Посовещавшись, они решили заказать самые интересные с их точки зрения
блюда: "Крыло Гибискуса? Давай это закажем, заодно и посмотрим
что это
такое!" Они позвали мистера Вонга, и сделали заказ, после чего
он начал
причитать по-китайски, категорически не одобряя их выбор. Было похоже,
что
он не очень- то хочет готовить американцам китайскую еду, полагая что
они
не в состоянии будут ее есть. Мистер Вонг принимал их за обычных
американцев, но именно эти его клиенты были исследователями, жившими
внутри компьютера, для того чтобы рассказывать машине сказку (сказка
была
на языке ассемблера). Мистер Вонг, в конечном счете, сдался. Результатом
тому была лучшая китайская кухня, которую ни один хакер до этого не
пробовал.
Народ из TMRC стал таким экспертом в хакерстве китайской кухни, что
они, в конечном счете, стали в ней очень хорошо разбираться.
Однажды, это было в День Дурака, т.е. первого апреля, Госперу вдруг
захотелось попробовать малоизвестное блюдо под названием Горькая Дыня.
Это
был овощ похожий на зеленый перец, весь покрытый бородавчатыми
пупырышками, с сильным хинным вкусом, который вызывал тошноту у любого
кто
его пробовал, кроме тех болезненно наслаждался его вкусом. По необъяснимой
причине, Госпер захотел, чтобы ее приготовили ему с кисло-сладким соусом,
и написал на китайском заказ. Вышла хихикающая дочь хозяина: "Я
боюсь, что
вы ошиблись, мой отец сказал, что здесь написано 'Горькая Дыня под
Кисло-Сладким Соусом'". Госпер счел, что его пытаются взять на
"слабо".
Кроме этого, его задело то, что дочь хозяина не могла читать по-китайски,
что было против логики эффективной Китайской Ресторанной Системы, логики,
которую Госпер уважал. Поэтому, зная, что его заказ был абсурдным, он
с
возмущением сказал дочери хозяина: "Да, конечно, там написано Горькая
Дыня
под кисло-сладким соусом. Мы, американцы, всегда, заказываем первого
апреля Горькую Дыню под кисло-сладким соусом.". В конечном счете,
вышел
сам хозяин: "Вы не можете это есть!", - кричал он, - "Не
вкусно! Не
вкусно!". Но хакеры настояли на выполнении заказа, и владелец ресторана
крадучись ушел назад на кухню. Горькая Дыня под кисло-сладким соусом
оказалась столько же ужасной, как и обещал хозяин. Соус в данном случае
оказался невероятно мощным, настолько сильный, что если вы вдыхали хотя
бы
немного, когда доносили его до своего рта, вы начинали кашлять. В
комбинации с обычно отвратительной горькой дыней, оно создавало гремучую
смесь, которая полностью сводила скулы. Это был вкус, который невозможно
было разбавить никаким количеством чая или Кока-Колы. Для любой другой
группы людей, такой эксперимент был бы кошмаром, но для хакеров это
было
просто частью системы. Он не имел никакого здравого смысла, но имел
свою
собственную логику. С этой точки зрения, это было Правильной Вещью;
поэтому каждый год первого апреля, в День Дурака, они приходили в этот
ресторан и настаивали на том, чтобы их закуской была именно Горькая
Дыня
под кисло-сладким соусом.
Во время этих обедов и ужинов, хакеры имели наибольший социальный
контакт с остальным миром. Китайские рестораны предлагали хакерам
удивительную кулинарную систему и физически предсказуемое окружение,
для
того чтобы делать его еще более комфортабельным, Госпер, будучи одним
из
хакеров, которые непереносили курения, и презрительно относившийся к
тем,
кто курит, принес с собой маленький вентилятор, работавший от батареек.
Вентилятор был "склуджен" одним из хакеров, обитавшимся в
лаборатории ИИ,
и выглядел как небольшая маленькая бомба. Он был сделан из старого
вентилятора, взятого из списанного в утиль компьютера. Госпер обычно
поворачивал его так, чтобы дым тихо сдувало назад на курившего. Однажды,
на обеде в "Лаки Гарден" в Кембридже, какой-то сидевший по
соседству
крутой чувак пришел в ярость, когда вентилятор начал относить дым от
сигареты его подружки назад к нему на стол. Он посмотрел на этих помятых
типов из МТИ, с их маленьким вентилятором и потребовал от хакеров, чтобы
они его выключили. "Без проблем, если она прекратит курить",
- ответили
они.
В следующий момент чувак атаковал их стол, распинывая по сторонам
тарелки, разбрызгивая чай из чашек и даже пытаясь засунуть палочки для
еды
между лопастями вентилятора. Хакеры, которые расценивали физическую
потасовку в качестве одного из самых идиотских человеческих интерфейсов,
удивленно за всем этим наблюдали. Инцидент закончился сразу же после
того
как чувак заметил сидевшего в этом же ресторане полицейского.
Это было исключением из их обычно весьма дружеских и теплых посиделок.
Разговоры вертелись, в основном, вокруг различных хакерских тем. Они
часто
брали с собой свои распечатки и, во время периодических затиший в
разговоре, зарывались в стопы листов с ассемблерным кодом. Иногда, хакеры
даже обсуждали некоторые события, происходившие в "реальном мире",
но на
всем протяжении их разговора также прослеживалась Хакерская Этика.
Постепенно она сводилась к какому-нибудь недостатку в системе. Или же
интересное событие рассматривалось в свете свойственного хакерам
любопытства и касалось способа работы вещей.
Частой темой было зловещее господство IBM - отвратительного и голого
короля компьютерных владений. Гринблатт легко ввязывался во "флейм";
длинную и взволнованную обличительную тираду о несметном количестве
миллионов долларов, которые тратились на компьютеры IBM. Гринблатт ездил
на каникулы домой в Миссури, и видел что научный факультет Университета
Миссури, у которого по их словам абсолютно не было денег, тратил по
четыре
миллиона долларов в год на обслуживание и кормежку Неуклюжего Гиганта
фирмы IBM, возможности которого даже близко не лежали с PDP-6. Чего
бы не
касался разговор: непомерно раздутого штата обслуживавшего компьютеры
IBM
или системы разделения времени, написанной в МТИ для IBM 7094, стоявшей
на
девятом этаже - все сводилось к тому, что это бессмысленная трата денег.
Это могло продолжаться весь обед. В этих разговорах, однако, был ряд
вещей, которых хакеры не касались. Они не тратили много времени на
обсуждение социальных и политических аспектов использования компьютеров
в
обществе (возможно за исключением того, как крайне неверным и наивным
было
расхожее мнение о компьютерах среди обычных людей). Они не говорили
о
спорте. Они, как правило, никогда не касались эмоциональных сторон друг
друга и личных моментов. Кроме того, группа физически здоровых ребят,
студентов института, крайне редко обсуждала тему, которой были одержимы
их
сверстники: женщины.
Хотя некоторые из хакеров вели социально активную жизнь, основные
фигуры TMRC- PDP хакинга блокировали себя в "режиме холостяка".
Для
хакеров достаточно легко было заниматься чем-нибудь одним, но многие
хакеры были одиноки и чувствовали себя некомфортно в социальном плане.
И
то с чем они имели дело каждый день: предсказуемость и управляемость
компьютерных систем, в противоположность безнадежным в своей
произвольности проблемам человеческих отношений, делало хакерство особенно
привлекательным. Более весомым фактором, конечно же, было то, что хакеры
считали, что вычисления являются гораздо более важной вещью, чем
романтические связи. Для них это просто был вопрос определения приоритетов.
Хакерство заменило в их жизнях секс.
"Люди настолько сильно интересовались компьютерами и прочими подобными
штуками, что на женщин у них просто не оставалось времени", - позднее
размышлял Коток, - "По мере того, как они становились старше, каждому
в
голову приходила мысль, что однажды когда- нибудь придет женщина, которая
ущипнет за то, что осталось на макушке и скажет: Эй, ты!". Нечто
подобное
произошло с Котоком, когда ему было уже далеко за тридцать. Тем временем
хакеры вели себя так, как будто секс не существовал вообще. Они как
будто
бы не замечали великолепных девушек сидевших за соседним столом в
китайском ресторане, потому что "концепция красивой девушки отсутствовала
в их словаре", - как позднее объяснял это хакер Дэвид Сильвер.
Если в
жизнь серьезного хакера входила женщина, весьма вероятно происходила
некоторая внутренняя дискуссия: "Что будет если будет так, а что
будет,
если все повернется вот так± в конечном итоге парень просто расставался
с
девушкой". Но обычно такое положение вещей пренебрегалось, так
как его
просто не принимали во внимание. Вы не могли отвлекаться на тех, с кем
у
вас завязывались отношения нас стороне, потому что вы были заняты самой
важной вещью в мире - хакерством. Хакерство было не одержимостью и не
похотливым удовольствием, но миссией. Вы занимались хакерством и жили
по
законам Хакерской Этики, и вы знали, что эти ужасно неэффективные и
расточительные вещи как женщины отнимают у вас слишком много процессорных
циклов и отнимают слишком много пространства в памяти.
"Женщины, даже сегодня, рассматриваются как крайне непредсказуемые
существа", - однажды заметил один хакер с PDP-6, спустя уже почти
двадцать
лет. "Как хакеры могли переносить таких несовершенных существ?".
Возможно, все было бы по-другому, если бы в TMRC и на девятом этаже
было больше женщин, некоторые из которых болтались там, на пару с
некоторыми хакерами. ("Они нашли нас", - сказал позднее один
хакер).
Девушек там было не так много, так как пришлые со стороны, юноши или
девушки, часто не приживались в этой группе. Хакеры странно разговаривали,
у них было беспорядочное расписание, они ели несусветную пищу и они
тратили все свое время на размышления о компьютерах.
Таким образом, сформировалась исключительно мужская культура.
Печальным фактом является то, что среди женщин никогда не было
выдающихся хакеров. Никто не знал почему. Безусловно, существовали
женщины-программисты, причем некоторые из них были весьма неплохи, но
никто из не хачил код так же как это делали Гринблатт, Госпер и другие,
бывшие для остальных путеводной звездой в мире хакерства.
Даже когда этот существенный перекос против женщин проник и в мир
серьезных вычислений, это не объяснило полное отсутствие хакеров среди
женщин. "Влияние культуры, конечно, сильно, но совсем не той культуры",
-
позднее сделал вывод Госпер, относя это явление к влиянию генетических,
или "аппаратных" различий.
В любом случае, присутствие женщин крайне редко отмечалось во время
визитов в китайский ресторан или в собраниях в Инструментальной комнате,
расположенной рядом с TMRC. Естественно, что мужчины без женщин выглядели
не лучшим образом. И именно в Гринблатте, возможно, все это доходило
до
своей крайней формы. Он параллельно работал над несколькими большими
проектами, и это настолько сильно его засасывало, что его привычки и
манера поведения начинала беспокоить даже его товарищей-хакеров.
После того как Гринблатт бросил учебу в институте, он нанялся в фирму
называвшуюся Charles Adams Associates, которая находилась в процессе
приобретения и монтажа PDP-1. Гринблатт работал весь день в ее различных
офисах вдоль Бостонского "Технологического Хайвея", который
находился за
пределами города, а потом, после работы, ехал тридцать миль назад в
МТИ,
для того чтобы хакерить ночь напролет. В конце концов, он переехал из
институтского общежития в кембриджское отделение YMCA, но они выпнули
его,
потому что он не поддерживал свою комнату в чистоте. После того, как
он
отработал у Адамса, он повторно устроился на работу в лабораторию ИИ.
И
хотя у него не было проблем с местом для проживания; он квартировал
в доме
Белмонт-хауз, которым владел вышедший на пенсию дантист и его жена,
он
часто засыпал на койке, стоявшей на девятом этаже. Чистота имела для
него
достаточно низкую степень приоритета, в связи с чем ходили истории о
его
выдающемся чуханстве. (Позднее, Гринблатт доказывал, что он был ничуть
не
хуже чем остальные.). Некоторые хакеры вспоминали, что одной из вещей
которой препятствовали гринблаттовские занятия хакерством было регулярное
мытье в ванной, результатом которого был мощный "духан". По
лаборатории ИИ
ходила шутка о том, что была введена новая единица измерения запаха,
под
названием миллиблатт.
Один или два миллиблатта были крайне сильными, а один блатт был
практически непереносимой величиной. Ходила история, что для того, чтобы
уменьшить количество миллиблаттов, хакеры заманили Гринблатта в одно
из
помещений здания N 20, где находился специальный аварийный душ для смыва
случайно попавших на кожу химикатов и включили его.
Госпер иногда подкалывал Гринблатта за его привычки. Особенно его
раздражала привычка Гринблатта тереть одну руку об другую, что приводило
к
тому, что от них отваливались маленькие кусочки грязи.
Госпер называл их "блаттлями". Если Гринблатт работал за столом
Госпера
и оставлял эти "блаттли" на его столе, то Госпер обычно промывал
после
него стол нашатырным спиртом. Госпер также иногда подкалывал Грннблатта
за
его ужасную манеру разговора, частое подкашливание, плохое произношение
и
бормотание, хотя многие из Гринблаттовских выражений вошли в специфический
жаргон, который все хакеры использовали в той или иной степени. К примеру,
вероятнее всего именно Гринблатт популяризовал практику удвоения слов
для
усиления выражений, как иногда это случалось, когда он, взбудораженный,
пытался что-либо объяснить Госперу, Котоку и Самсону; слова его начинали
заплетаться, и он, вздыхая и приговаривая под нос: "Ооо! Стремно!
Стремно!" начинал все снова.
Госпер и остальные обычно начинали хохотать, но как семья перенимает
манеру разговора ребенка и преподносимые им неожиданности, так же и
хакерское сообщество взяло на вооружение множество гринблаттизмов.
Несмотря на эти странности его натуры, хакеры очень уважали Гринблатта.
Он был таким, каким он есть, так как он для себя четко определил
приоритеты - он был хакером, а не социальным существом, и не видел для
себя ничего более полезного, чем хакерство. Оно настолько захватывало
его,
что он иногда по полгода не мог найти времени, чтобы получить свою
зарплату. "Если бы он присел и попытался выразить словами свои
мысли и то,
что он делал, то он никогда бы ничего не сделал", - говорил позднее
Госпер, - "Если бы он беспокоился о правилах грамматики, то он
никогда бы
ничего не написал. Он делал то, к чему он был способен. Он был полным
прагматиком. И пошло к черту все то, о чем говорили люди. Если кто-то
полагал, что он глуп и странен, то это были их проблемы.
Некоторые люди действительно так считали, и они ошибались".
Госпер мог оценить преданность Гринблатта своему делу, так как его
упорство в попытках окончить институт (в который он поступил в 1965
году)
привело к тому, что у него появились проблемы. Это не означало ни
последнего года обучения в МТИ, ни каких-то проблем с учебой, так как
он
пытался выполнять в меру сил требования учебного плана.
Проблема была в том, что у него был подписан договор с Военно-Морским
Флотом США. Перед поступлением в МТИ, он сдал специальный экзамен, в
котором он показал результаты, достаточно хорошие, для того чтобы быть
включенным в специальную исследовательскую программу для студентов.
Каждое
лето он работал на флот, который оплачивал половину его обучения. По
договору, также, требовалось отработать на флот после окончания учебы
в
течение трех лет. Когда Госпер подписывал договор, в нем был один пункт,
который отменял обязательства по обязательной отработке после окончания
института, но только в том случае, если вы могли бы найти фирму, которая
бы заплатила за вас тридцать тысяч долларов. Во время учебы Госпера
на
старших курсах эта ловушка захлопнулась, и его мог спасти только
перекупщик, потому что у него самого таких денег не было.
Перспектива работы на флот была для него ужасна. Во время своей летней
работы он столкнулся с душераздирающей системой, которая была полной
противоположностью Хакерской Этике. Программисты сидели в комнатах,
полностью изолированные от машины. Иногда, в качестве заслуги за
долголетнюю службу, особенно покорным и исполнительным сотрудникам
дозволялось подходить к машине и видеть, как работает их программа.
По
рассказам, одна женщина, которой была дарована такая привилегия, зашла
в
комнату, после чего вид мигающих лампочек и жужжание дисков вызвал у
нее
обморок. В дополнение ко всему этому, будущий шеф Госпера в ВМФ, был
человеком, который не понимал, почему логарифм суммы не равен сумме
логарифмов.
Кроме того, у Госпера сложилось впечатление, что у ВМФ была большая
любовь, чуть ли не физическое влечение к компьютерам Univac. Этот
компьютер был гротескной пародией на компьютер, и был таким же
неповоротливым гигантом, как и то что, изготовляла IBM. ВМФ следовало
бы
знать, что все это было грандиозным обманом, но Univac все равно
использовали, что было классическим примером неизбежного извращенного
порождения бюрократии Внешнего Мира. Сожительство с этой машиной для
Госпера было равнозначно погружению в ад. Госпер использовал компьютер
для
того, чтобы находить все новое, что до него не встречал никто, и для
него
было крайне важным, чтобы компьютер, который он использовал, был
оптимальным во всех смыслах.
PDP-6 была наилучшей машиной из всех, которые он встречал, и для себя
он решил, что он ее ни на что не променяет, в особенности на такого
монстра как Univac. "Если я видел машину, в которой имела место
невероятная тупость, ошибки в дизайне или нечто в этом роде, это
раздражало меня до крайности", - объяснял позднее Госпер, - "В
то же время
PDP-6 выглядела как бесконечно совершенствующаяся машина. Если что-то
было
не так, то это можно было поменять. В некотором смысле мы жили внутри
этой
чертовой машины. Это было частью окружавшего нас мира. Практически это
был
социум± Я не мог представить себе своей жизни без PDP-6".
В конце концов, Госпер определился с тем, где ему взять деньги, чтобы
вернуть их флоту. Он должен был их отработать, работая на компанию,
в
которой была PDP-6. Он выполнил этот жесткий пункт договора, найдя работу
в той же фирме, на которую Гринблатт работал весь этот год - Charles
Adams. То, что компания Adams никогда работала "правильно"
на PDP-6 (Хотя
Гринблатт настаивал на том, что он выполнил свою часть подготовки машины
к
работе "от и до") не слишком беспокоило Госпера. От чего он
действительно
покрылся пятнами - когда он узнал, что компания Charles Adams свернула
проект на PDP-6 и приобрела точную копию неповоротливого гиганта Univac,
который был у военных моряков.
К этому времени увеличилось финансирование Project MAC и Билл Госпер
нашел способ втиснуться в ведомость расходов. Ему не пришлось менять
свои
привычки так как, работая в оговоренные часы на Adams, он каждую ночь
пропадал на девятом этаже, работая на PDP-6.
* * *
Хакерские крылья Гринблатта к этому времени полностью окрепли. Одним
из
проектов, над которым он работал на PDP-6, был компилятор LISP, что
позволило бы использовать на этой машине самую последнюю и наиболее
совершенную версию языка, разработанного Джоном Маккарти для
искусственного интеллекта. Юный Питер Дейч написал в свое время LISP
для
PDP- 1, но этот вариант был неэффективен, так как на "единице"
было мало
памяти. LISP, который работал с символами, а не числами (они легко
трансформировались в бинарный вид) пожирал невероятное количество памяти.
Некоторые хакеры, включая Госпера, считали, что реализация LISP на
PDP-6 является полной тратой времени. Госпер, который всегда был озабочен
тем, что у компьютеров те дни не хватало вычислительной мощности, позднее
изумлялся тому, как они были невежественны во время работы в лаборатории
ИИ, пытаясь выполнять невозможные задачи и обвиняя в неудачах не те
ничтожные машины, которые были в их распоряжении, а самих себя. На старшем
курсе, Минский подкинул Госперу задачу, в ходе которой следовало изучить
является ли некоторое оптическое явление стереоскопическим или
монокулярным. Ему удалось сделать несколько шагов к решению этой задачи,
и, в конце концов, создать изящную фигуру в виде клеверного листа, с
помощью, которой удалось продемонстрировать это явление. Тем не менее,
большую часть времени он бился головой о кирпичную стену, пытаясь выжать
из машины больше, чем она была в состоянии сделать. Поэтому одной из
задач, которую Госпер считал невозможной, состояла в разработке пригодного
компилятора LISP на PDP-6, который мог бы быть полезен в качестве анализа
символьных последовательностей, но никак не для полезной работы. Он
считал, что это очередная глупость Минского, которую Гринблатт и остальные
пытались реализовать.
У Гринблатта было другое видение проблемы. Хотя он понимал, что LISP
на
PDP-6 будет в некотором роде хаком, не полностью обоснованным с
практической точки зрения, он видел необходимость движения в этом
направлении. Это был мощный язык, давший возможность уйти вперед
исследованиям в области искусственного интеллекта: это был язык, при
помощи которого могли выполнять задачи, крайне сложно реализуемые иным
способом, и с его помощью системы могли бы действительно обучаться.
У
Гринблатта только еще начали складываться конкретные очертания будущего;
легкий намек на техническую реализацию хакерской мечты. Поэтому он,
и еще
несколько человек, даже Коток, который периодически приезжал из DEC,
начали писать LISP на PDP-6. Они исписали в несколько слоев все классные
доски в TMRC, и в конечном счете им удалось запустить его на машине.
Самые ответственные части были написаны Гринблаттом и еще одним
хакером. Одновременная работа двух или трех человек над проектом
рассматривалась как Правильная Вещь, что было весьма далеко от того,
что
IBM называла "человеческой волной" в программировании, когда
на решение
задачи бросались десятки программистов, а в итоге все заканчивалось
ничем.
Лучше было полагаться на двух-трех человек, чем на одинокого крестоносца,
так что когда один хакер заканчивал свою тридцатичасовую сессию,
подтягивался кто-нибудь еще и продолжал начатое. Это было что-то вроде
команды, работавшей последовательно.
После того как PDP-6 MacLISP (названный в честь Project MAC) был
доведен до ума, хакеры начали интегрировать этот компьютерный язык в
свои
программы, а также в свою собственную речь. Например, соглашение, принятое
в LISP и использовавшее букву "p" в качестве предиката, было
толчком к
созданию хакерской манеры задавать вопрос.
Когда кто-нибудь спрашивал "Еда-П?", то любой хакер знал,
что его
спрашивают, не хочет ли он пойти перекусить. Термы LISP "T"
и "nil"
означали, соответственно, "да" и "нет". Принятие
LISP не означало
уменьшения любви хакеров к ассемблерному языку, особенно на PDP-6 с
ее
элегантным набором инструкций. Но и Гринблатт и даже Госпер позднее
поняли, что LISP был мощным средством для построения систем, которое
очень
хорошо укладывались в принципы Хакерской Этики.
DEC проявил интерес к MacLISP, и Коток договорился с тем чтобы
Гринблатта и остальных, поздно вечером допускали в офис DEC в Мэйнарде,
где они могли бы работать над программой, набирая и отлаживая код. Это
было частью общей договоренности между МТИ и DEC, поэтому ни у кого
не
возникло никаких вопросов. Правильной Вещью было удостовериться в том,
что
любая хорошая программа получала максимальное распространение, потому
что
информация была свободной, и мир мог только выиграть от ее ускоренного
распространения.
После работы над MacLISP, Гринблатт был, возможно, самым авторитетным
системным хакером на PDP-6. Новый администратор лаборатории ИИ, молодой
человек с югозапада страны, по имени Рассел Нофтскер, нанял Гринблатта,
в
основном, для того чтобы поддерживать и совершенствовать это живое
существо, которое было компьютерной операционной системой. Но взгляды
Гринблатта не ограничивались только системами, он очень активно
интересовался концепциями искусственного интеллекта. Он решил использовать
компьютерные системы для того, чтобы действительно сделать что-нибудь
полезное в этой области, а так как он всю свою жизнь играл в шахматы,
то
было логичным, что он работал над программой для игры в шахматы.
Программой, которая бы превзошла то, что в свое время написал Коток,
а
также остальные шахматные проекты ИИ, которые предпринимались в различных
лабораториях по всей стране.
Как и любой уважающий себя хакер, он ни с чем не определился, пока не
сел и не начал над ней работу. Никто не спросил у него плана работ,
а он
утруждал себя постановкой в известность своих начальников; Мински не
ломал
голову над относительными достоинствами проекта. В середине шестидесятых
не было каких-то определенных путей для решения подобных задач, но хакеры
с первых дней лаборатории ИИ, определили для себя эти пути - это была
хакерская этика, приведенная в действие, и Гринблатт максимально следовал
ей.
Он видел как играет программа Котока и сделал вывод, что это мусор.
Те парни, которые ее писали, не знали как над играть в шахматы. Они
были очарованы тем, как компьютер делает ходы, и они как-то упустили
из
вида, что идея, которая и заключалась в наименовании игры, состоит в
том,
чтобы рубить фигуры противника. Программа Гринблатта использовала сложные
приемы искусственного интеллекта для того, чтобы понять и сделать ходы
в
соответствии с определенными критериями, которые он считал хорошими
шахматами. Работая с двумя другими хакерами, они устроили блиц по
программированию. Он сумел получить время на PDP-6 из расчета 4 часа
в
день, а также продолжал писать программу в оффлайне, когда он не сидел
за
машиной. Примерно, через неделю программа уже могла играть в шахматы.
Еще
через некоторое время программа была отлажена. В нее были добавлены
нужные
свойства, и она была полностью доведена до ума в течение нескольких
следующих месяцев. Гринблатту даже был предложено получить диплом МТИ,
в
случае если он напишет дипломную работу по программе игры в шахматы
- до
этого он сам никогда бы не додумался.
Примерно в 1965 году по МТИ ходил по рукам нашумевший документ,
рожденный в Rand Corporation, под названием "Алхимия и Искусственный
Интеллект". Его автор, академик которого звали Герберт Дрейфус,
устроил
публичную порку этой области и тем, кто в ней работал. Для хакеров,
его
критика была в особенности непереносима, так как компьютер был для них
неявной моделью поведения, по крайней мере в их теориях распространения
информации, справедливости и действия.
Дрейфус делал упор на до смешного ограниченную структуру компьютера
(по
сравнению со структурой человеческого мозга). Его завершающим убийственным
доводом было резкое заявление о том, что компьютерная программа никогда
не
будет играть в шахматы даже на уровне десятилетнего ребенка.
После того как Гринблатт завершил работу над шахматной программой,
которую он назвал MacHack, МТИ пригласил Дрейфуса для того, чтобы он
сыграл с PDP-6. Хакеры собрались вокруг для того чтобы посмотреть как
компьютерный заместитель Ричарда Гринблатта будет играть с этим
самоуверенным, худым, рыжеволосым очкариком, резко настроенным против
компьютеров. Один из пионеров в области ИИ Герберт Симон, наблюдавший
за
матчем, позднее вспоминал что "это было захватывающее действо±
двое
непримиримых, бьющихся друг с другом±". Справедливости ради стоит
сказать,
что Дрейфус играл очень хорошо, и, в итоге, он сделал ход, с помощью
которого он мог взять ферзя своего противника.
Единственное что в этом случае оставалось делать компьютеру - поставить
своим ферзем шах королю Дрейфуса, так чтобы взять в вилку одновременно
и
короля и ферзя Дрейфуса, после чего пойти на размен ферзей. Программа
повторила все в точности так как и предполагалось.
После этого игра Дрейфуса развалилась, и через некоторое время ему был
поставлен мат прямо в центре доски.
Питер Самсон вспоминал позднее обстановку в комнате сразу после
поражения Дрейфуса, когда проигравший критик окинул взглядом, полным
удивления, собравшихся профессоров и хакеров, включая победоносного
Гринблатта: "Почему они не радуются, не аплодируют, не потирают
руки от
удовольствия?". Потому что они знали, чем все кончится. Дрейфус
относился
к той части Реального Мира, который был не в состоянии осмыслить и понять
удивительную натуру компьютеров, или что бы там ни было. Он не работал
с
компьютерами настолько близко, PDP-6 не могла стать частью его жизни.
Это
было то, чего Дрейфус не знал и не понял бы никогда. Даже Минский, который
никогда не был крещен в купели сеансов хакинга ассемблерного кода по
тридцать часов за раз и по семь дней в неделю, не ожидал от хакеров
такого. Хакеры, все эти гринблатты и госперы, чувствовали себя здесь
в
безопасности, они знали, на что это похоже, и они приходили сюда снова
и
снова для того, чтобы и дальше производить и разрабатывать новые
программы, совершенствуя свой мир. Даже если это делалось для убеждения
скептиков и периодического причащения внешнего мира к таинству, обращения
его в свою веру, в веру Хакерской Этики, все равно, все публичные эффекты
не шли ни в какое сравнение, чем возможность жить с ее помощью в том
мире.
Хакинг
| Главная
| Содержание