Хакеры: Герои компьютерной революции - Стивен Леви
Шрифт:
Интервал:
Закладка:
Шахматную программу начинали писать на языке ФОРТРАН, который был одним из самых первых компьютерных языков. Компьютерные языки были гораздо более похожи на естественные языки, чем язык ассемблера, на них было гораздо легче писать, и с их помощью в нескольких строчках программы можно было сделать гораздо больше. Однако, каждый раз, когда компьютер получал список команд, написанных на языке ФОРТРАН, компьютер должен был сначала перевести эти инструкции в свой собственный бинарный код. Это делалось при помощи программы, называемой компилятором, которая делала максимум этой работы, равно как и занимала максимум ценного пространства памяти компьютера. В итоге, использование компьютерного языка было большим шагом в сторону от прямого контакта с компьютером, поэтому хакеры, как правило, предпочитали использовать ассемблер, или как они его называли, «машинный» язык, в отличие от менее элегантного «высокоуровневого языка» подобного языку ФОРТРАН.
Коток, вообще-то, признавал, что из-за огромного количества инструкций, которое было необходимо реализовать в программе для игры в шахматы, часть кода следовало писать на ФОРТРАНЕ, а часть — на ассемблере. Они хакерили программу по частям, при помощи «генераторов перемещений», которые были основной структурой данных, а также применяя все виды инновационных алгоритмов для реализации стратегии. После ввода в машину всех правил для перемещения каждой из фигур, они добавили в нее несколько параметров, с помощью которых оценивались позиции фигур, рассматривались различные варианты ходов, и, в конечном счете, выполнялись перемещения фигур, которые переводили программу в еще более сложное состояние. Коток занимался ею в течение нескольких лет, программа росла в размерах, по мере того как МТИ модернизировал компьютеры IBM. И, наконец, в одну памятную ночь, несколько хакеров собрались вместе, для того чтобы посмотреть, как программа выполняет свои первые ходы в реальной игре. Программа достаточно уверенно разыграла дебют, но после восьми или около того ходов, на «доске» сложилось тяжелое для компьютера положение — над ним нависла угроза мата. Всем было любопытно, как машина на это отреагирует. Спустя некоторое время (все знали, что во время этих пауз машина «думает», если считать за «мышление» рассмотрение компьютером различных вариантов ходов, их оценку, отбрасывание большинства из них, и использование предопределенных параметров для того, чтобы выполнить окончательный ход). В конечном итоге, компьютер передвинул свою пешку на две клетки вперед, перепрыгнув через другую фигуру на доске. Ошибка! Но достаточно хитрая — компьютер вывел фигуру за пределы доски. Может быть, программа пыталась разработать новый шахматный алгоритм, с помощью которого она хотела одержать верх?
В других университетах, профессоры делали публичные заявления, что компьютеры никогда не сумеют победить человека при игре в шахматы. Но хакеры разбирались в этом лучше. Они были теми, кто вел компьютеры к более высоким вершинам, чем этого ожидали. И хакеры, благодаря своей производительной и значимой связи с компьютером были в первых рядах тех, кто пользовался благами, даваемыми компьютером.
Но это не ограничивалось теми, кто имел доступ к источнику этих благ. Каждый мог получить что-нибудь полезное из использования думающих машин в автоматизированном мире. И разве не получил бы каждый из обитателей этого мира, еще больше, если бы он подходил к миру с той же самой энергией при получении знаний, с тем же скептицизмом по отношению к бюрократии, с той же открытостью воображения и извлечением пользы из успеха, разделенного с окружающими, так же подстегивая самого себя при внедрении улучшений и желая поступать также как все, кто следовал принципам Хакерской Этики? Разве не выиграл бы он, воспринимая остальных людей, тем же самым непредвзятым способом, которым компьютеры воспринимали любого, кто набивал код на Flexowriter-e? Разве мы бы не выиграли, научившись у компьютера его совершенной работе и перенеся эти совершенные методы в человеческую жизнь? И если бы каждый, кто работает с компьютерами руководствовался тем же непорочным, продуктивным и творческим импульсом, которым руководствовались хакеры, то Хакерская Этика могла бы распространиться в обществе как благостная волна, и тогда компьютер действительно изменил бы мир к лучшему.
В монастырских стенах Массачусетского Технологического Института, люди имели достаточно свободы, чтобы думать и жить этой хакерской мечтой. Никто не предполагал, что эта мечта может выйти за пределы Института. Вместо этого, хакеры приступили к строительству, прямо здесь в МТИ, хакерского Ксанаду, которого больше не было нигде на свете.[17]
3. «Космические войны».
Летом 1961 года, Алан Коток и другие хакеры из TMRC узнали, что свежеиспеченная компьютерная компания скоро привезет в МТИ абсолютно новый компьютер, который представляет собой следующий шаг в развитии вычислительной техники. Это был компьютер, который сделал несколько шагов вперед в плане развития интерактивных способностей TX-0. Это была машина, которая была гораздо лучше, чем TX-0.
PDP-1. Этот компьютер навсегда изменит мир вычислений. Он сделает все еще неясную хакерскую мечту немногим ближе к реальности.
Алан Коток очень хорошо зарекомендовал себя на TX-0, поэтому его, вместе с Сандерсом, Вагнером, Самсоном и несколькими другими ребятами, Джек Деннис взял на работу в состав группы системного программирования TX-0. Работа оплачивалась исходя из необычайно щедрых $1.60 в час. Для некоторых из хакеров, работа была еще одной отмазкой от посещения занятий, поэтому такие люди как Самсон, рисковали никогда не окончить институт, но они были слишком заняты процессом хакерства, чтобы думать и жалеть об этом. Тем не менее, Коток был не только в состоянии учиться, но и зарекомендовал себя «каноническим» хакером. В пределах TX-0 и TMRC он приобрел легендарный статус. Один из хакеров, который тогда еще только поступил в МТИ, вспоминал, как Коток показывал новичкам, как работает TX-0: «У меня создалось впечатление, что у него были проблемы с щитовидкой или что-то этом роде», — говорил Билл Госпер, который также станет со временем каноническим хакером, — «Он говорил очень медленно, был весьма круглолиц и его глаза были постоянно полузакрыты. Но это было полностью неверным представлением. [В отношении TX-0], Коток пользовался бесконечным моральным авторитетом. Он написал программу для игры в шахматы. Он понимал, как работает железо». Последнее замечание представляло собой весомый комплимент. «Понимание работы железа» было сродни постижению Дао окружающей природы.
Тем летом, когда начали появляться слухи о PDP-1, Коток работал на Western Electric. Эта была работа, о которой можно было только мечтать, так как из всех возможных систем телефонная система содержала в себе большинство свойств. Клуб Моделирования Железной Дороги часто предпринимал походы в районные офисы телефонной компании. Большинство из этих вояжей было сродни посещению музея людьми, которые интересовались живописью. Коток сделал для себя небольшое открытие: оказывается, несмотря на весь рост компании за последние десятилетия, только некоторые из ее инженеров хорошо понимали все связи внутри системы. Тем не менее, инженеры были в состоянии рассказать подробности о некоторых специфических компонентах системы, таких, например, как координатные коммутаторы или шаговые искатели. Коток и остальные бегали по пятам за этими хранителями информации, и инженеры, довольные оказанным им вниманием, охотно беседовали с ними, даже не догадываясь о том, как эти супервежливые ребята из колледжа на самом деле будут использовать полученные знания.
Участие в этих экскурсиях Коток считал для себя обязательным, потому что во время их проведения он имел возможность заглянуть в некоторые технические руководства, которые попадались ему в руки, и проверить, куда бы он мог добраться, набирая различные номера на сложной и малопонятной телефонной системе МТИ. Это было исследование, сродни познанию возможностей TX-0. Во время прошлой зимы 1960-61 года, хакеры TMRC занимались тем, что они называли «построением плана телефонной сети», записывая все места, до которых они могли дозвониться из телефонной системы МТИ. Хотя они и не подсоединялись к телефонным сетям общего пользования, телефонная система института позволяла им подключаться к Lincoln Lab, а оттуда к ее военным подрядчикам по всей стране. Дело было только за записью и проверкой. Сначала пробовался один код выхода на линию, после чего, добавляя к нему различные цифры, они слушали, кто отвечал на другом конце провода. Людей, поднимавших трубку на том конце, спрашивали о том, кто они, и куда они попали, а затем добавляли цифры к этому номеру для того, чтобы проскочить еще дальше. Иногда, если у ничего не подозревающей телефонной компании было непредусмотренное подключение, то вы могли бы попасть за пределы университетского городка — в пригород. Коток, позднее, говорил: «Если при проектировании телефонной системы была допущена ошибка, а в особенности такая, которая позволяла проходить вызовам туда, куда они не должны были попадать, я не чувствовал за собой никакой вины, это была их проблема — не моя».