<<< | >>> |
Коток и остальные были непреклонны: этой программой им предстояло пользоваться каждый день, и она должна быть совершенна. (Конечно, ни одна программа не была совершенна, но это их не останавливало.) «Точно говорю тебе», - сказал Коток, гениальный двадцатилетний программист, с такой же полуулыбкой и такой же полнолицый как сам Будда, в адрес настроенного скептически, но благожелательного Джека Денниса: «Если мы напишем эту программу за выходные, и она будет работать, оплатишь ли ты нам время?». Стоимость подобного объема работы, в соответствии с действующей сеткой оплаты, составляла чуть меньше пяти сотен долларов. «Это более или менее справедливо», - сказал Деннис, и они ударили по рукам. Коток, Самсон, Сандерс, Вагнер и еще два человека начали работу вечером в пятницу. Они знали, что работать следует над ассемблером 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 выстраивалась в шеренгу и начинала хором орать:
Когда они выкрикивали последнее слово "JUMP" они все прыгали вправо. Отсутствие хореографии хорошо компенсировалось энтузиазмом: они были полностью очарованы красотой машины и привлекательностью компьютеров вообще. Тот же энтузиазм наблюдался в ставшем еще более спонтанным программировании, происходившим на PDP-1, начиная от серьезных системных программ, такими, например, которые управляли простыми роботизированными манипуляторами, до весьма эксцентричных хаков. В основе одной из последних выходок лежало соединение TX-0 и PDP-1 коммуникационным кабелем, по которому могла передаваться побитно информация между двумя машинами. По рассказу Самсона, хакеры позвали многоуважаемого основоположника искусственного интеллекта Джона Маккарти и усадили его за консолью PDP-1: «Профессор, посмотрите, пожалуйста, на нашу новую программу для игры в шахматы!». Они позвали еще одного преподавателя и посадили его за консоль TX-0. «Вот программа для игры в шахматы. Наберите ваш ход». После того как Маккарти сделал свой первый ход, и он отпечатался на Flexowriter-e рядом с 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. По сравнению с этой машиной, PDP-1 для Слага Рассела была «землей обетованной», она была более доступна, чем TX-0, и работала без всякой пакетной обработки. Хотя ее мощности не хватало для нормальной работы LISP, она имела массу других соблазнительных свойств, некоторые из которых были предметом разговоров в Хайэмском Институте. В особенности Рассела и его друзей на PDP-1 заинтриговала перспектива «дисплейного хака», который можно было бы реализовать на ее CRT. После продолжительного ночного совещания, Хайэмский Институт всем персоналом в три человека вписал себя в расписание машинного времени, утвердившись во мнении о том, что наиболее эффективной демонстрацией волшебства компьютера будет великолепная визуальная игра. На TX-0 уже предпринимались попытки сделать нечто подобное. Одним из таких хаков был «Лабиринт и Мышь». Пользователь сначала рисовал световым пером лабиринт, затем ставил отметку на экране, которая представляла собой мышь. Мышь, утыкаясь в стены, прокладывала путь по лабиринту в поисках других отметок на экране в форме ломтиков сыра. Существовала также «VIP версия» игры, в которой мышь искала бокалы с мартини. После того как она добиралась до бокала, она искала другой бокал, и так до тех пор, пока у нее не кончалась энергия, или, она не становилась слишком пьяной чтобы продолжать поиски. Когда вы щелкали переключателем, для того чтобы запустить мышь через лабиринт во второй раз, она «запоминала» предыдущий путь к бокалам и как опытный завсегдатай баров безошибочно неслась к спиртному. Вот до такой степени продвинулись дисплейные хаки на TX-0. Дисплей PDP-1 был более легок в программировании, чем это было на TX-0, поэтому на ней существовали более красивые дисплейные хаки. Самый восхитительный был создан усилиями одного из двух гуру в области искусственного интеллекта в МТИ Марвином Минским (другим гуру, конечно, был Маккарти). Минский был более общителен, чем Маккарти, и более охотно переходил в хакерский режим работы. Он был человеком с очень большими идеями в области вычислительной техники и действительно верил в то, что придет день, и компьютеры будут уметь мыслить. Он часто вызывал большое оживление, публично называя человеческий мозг «мясной машиной» (meat machine), подразумевая, что когда-нибудь будет машинный разум, не имеющий биологической природы. Невысокого роста, с блеском глаз за толстыми стеклами очков, искрящейся лысиной, и в своем вечном свитере с воротником под горло, Минский излагал в своем обычном сухом стиле, одновременно пытаясь и максимально спровоцировать слушателей и дать намек, на то, что это все представляет собой глупость космического масштаба: «Конечно, машины не могут мыслить, хе-хе-хе…». Но Минский был человеком, который хорошо понимал происходящее, и хакеры PDP-1 часто сидели на его лекциях по курсу «Введение в ИИ 6.544», который он читал, потому что он был не только хорошим теоретиком, но и прекрасно разбирался в этой области. В начале 60-х годов Минский начал организацию того, что в дальнейшем превратилось в первую в мире лабораторию, занимавшуюся ИИ. Он знал, что для того чтобы сделать то, что он хочет, ему в качестве рабочей силы нужны гении в программировании, и поэтому он воспринимал хакерство в любом приемлемом виде. | |
<<< | >>> |