Хакеры: Герои компьютерной революции - Стивен Леви
Шрифт:
Интервал:
Закладка:
На TX-0 уже предпринимались попытки сделать нечто подобное. Одним из таких хаков был «Лабиринт и Мышь». Пользователь сначала рисовал световым пером лабиринт, затем ставил отметку на экране, которая представляла собой мышь. Мышь, утыкаясь в стены, прокладывала путь по лабиринту в поисках других отметок на экране в форме ломтиков сыра. Существовала также «VIP версия» игры, в которой мышь искала бокалы с мартини. После того как она добиралась до бокала, она искала другой бокал, и так до тех пор, пока у нее не кончалась энергия, или, она не становилась слишком пьяной чтобы продолжать поиски. Когда вы щелкали переключателем, для того чтобы запустить мышь через лабиринт во второй раз, она «запоминала» предыдущий путь к бокалам и как опытный завсегдатай баров безошибочно неслась к спиртному. Вот до такой степени продвинулись дисплейные хаки на TX-0.
Дисплей PDP-1 был более легок в программировании, чем это было на TX-0, поэтому на ней существовали более красивые дисплейные хаки. Самый восхитительный был создан усилиями одного из двух гуру в области искусственного интеллекта в МТИ Марвином Минским (другим гуру, конечно, был Маккарти). Минский был более общителен, чем Маккарти, и более охотно переходил в хакерский режим работы. Он был человеком с очень большими идеями в области вычислительной техники и действительно верил в то, что придет день, и компьютеры будут уметь мыслить. Он часто вызывал большое оживление, публично называя человеческий мозг «мясной машиной» (meat machine), подразумевая, что когда-нибудь будет машинный разум, не имеющий биологической природы. Невысокого роста, с блеском глаз за толстыми стеклами очков, искрящейся лысиной, и в своем вечном свитере с воротником под горло, Минский излагал в своем обычном сухом стиле, одновременно пытаясь и максимально спровоцировать слушателей и дать намек, на то, что это все представляет собой глупость космического масштаба: «Конечно, машины не могут мыслить, хе-хе-хе…». Но Минский был человеком, который хорошо понимал происходящее, и хакеры PDP-1 часто сидели на его лекциях по курсу «Введение в ИИ 6.544», который он читал, потому что он был не только хорошим теоретиком, но и прекрасно разбирался в этой области. В начале 60-х годов Минский начал организацию того, что в дальнейшем превратилось в первую в мире лабораторию, занимавшуюся ИИ. Он знал, что для того чтобы сделать то, что он хочет, ему в качестве рабочей силы нужны гении в программировании, и поэтому он воспринимал хакерство в любом приемлемом виде.
Одним из вкладов Минского в растущее количество канонических хаков была дисплейная программа для PDP-1 под названием Алгоритм Построения Окружности (Circle Algoritm). Он был открыт в результате ошибки; во время попытки бамнуть несколько инструкций из короткой программы, которая превращала прямые линии в кривые и спирали. Минский случайно напечатал вместо символа «Y» символ «Y со штрихом»[19] и вместо того чтобы начать чертить, как ожидалось, тильдообразные незавершенные спирали, компьютер нарисовал окружность. Это было несколько неожиданное открытие, при дальнейшем исследовании которого родилось сложное математическое описание процесса. Хакеря программу дальше, Минский использовал алгоритм построения окружности как отправную точку для более сложной программы моделирования, в которой три частицы взаимодействовали друг с другом и оставляли удивительные завитки на экране, создавая нечто похожее на розы с переменным количеством листьев[20]. «Силы, приводившие частицы в движение были полностью неземными», —позднее вспоминал Боб Вагнер, — «Это была симуляция нарушения законов природы». Позднее Минский назвал этот хак «Три-Поз: Трехпозиционное Изображение», но хакеры любовно назвали его «Минскитроном».
Слаг Рассел этим был очень вдохновлен. На собраниях в Хайэмовском Институте несколько месяцев назад, он и его друзья обсудили критерии самого радикального дисплейного хака. Так как они все были фанами дешевой научной фантастики, особенно романов, где действие происходило в космосе и автором которых был Е.Е. «Док» Смит, то они решили, что PDP-1 будет весьма неплохим компьютером для объединения фильма категории "B" и игрушки стоимостью в $120,000. Результатом этого объединения должна быть игра, в которой два игрока могли бы биться друг с другом в открытом космосе. В Хайэмовском Институте была немедленно организована Группа Изучения Космических Военных Конфликтов, которая вынесла авторитетное решение о том, что Слаг Рассел должен быть автором этого исторического хака.
Прошло несколько месяцев, а Рассел еще и не думал приступать. Вместо этого он разглядывал картинки, рождаемые Минскитроном, и щелкал переключателями, когда программу начинало клинить. Поначалу он был восхищен ею, но вместе с тем продолжал считать, что этот хак является слишком абстрактным и математическим. Через некоторое время он сделал окончательный вывод: "Эта демка — полная фигня! Около тридцати двух или около того команд, которые в реальности ничегоне делают".
Слаг знал, что его игра про войну в открытом космосе, должнакое-что делать. Если использовать для описания этого доморощенные научно-фантастические термины, то она должна была это сделать таким способом, который никто и никогда раньше не использовал. Чувство, которое поначалу привело Слага к компьютерам заключалось в ощущении силы, которые вы получали при запуске всех этих чертовых штуковин. Вы могли приказать компьютеру сделать что-либо, а он начинал упрямиться и биться с вами, но, в конечном счете, вы одерживали верх, и он делал то, что вы ему говорили. Конечно, он всего-навсего отражал вашу глупость, и часто то, что вы приказывали ему сделать, приводило к абсолютно другому результату — отвратительному и безвкусному. Но, в конце концов, после пыток и несчастий, он делал в точности то, что вы хотели. Чувство, получаемое в результате этого, было несравнимо ни с какими эмоциями в мире. Оно могло сделать из вас наркомана. Именно к этому пристрастился Слаг Рассел, и он видел, что с остальными, кто сидел до рассвета в Клудж Комнате, было то же самое. Похоже, он догадывался, что их всех там держит — это было ощущение силы.
Слаг испытывал подобное, хотя и менее яркое чувство при чтении романов Дока Смита. В его воображении рисовались образы белого ракетного крейсера несущегося в пространстве под рев двигателей, и он страстно хотел, чтобы ему удалось реализовать это же ощущение за консолью PDP-1. Это были именно те «Космические войны», о которых он мечтал. И он еще раз поклялся написать их.
Но позднее.
Слаг не был столь же обуреваем процессом написания программ как другие хакеры. Иногда ему нужен был толчок. После того как он сделал ошибку, раскрыв свой большой рот и обмолвившись о программе, которую он собирался написать, хакеры PDP-1, всегда страстно желавшие посмотреть на новый хак, который будет добавлен к куче лент лежащих в ящике стола, начали его подгонять. После бормотания под нос разных оправданий, он еще раз подтверждал, что он ее пишет, вот только он никак не может понять, как написать процедуры расчета синусов— косинусов, столь необходимых для отрисовки движения корабля.
Коток знал, что это препятствие может быть легко преодолено. На этот момент, Коток был в весьма тесных отношениях с инженерами из DEC, офис которой был расположен в нескольких милях от Мэйнарда. DEC была фирмой внутри которой были весьма неформальные отношения. В отличие от большинства компьютерных фирм, в ней не считали хакеров из МТИ потрепанными и легкомысленными компьютерными рейдерами, за которых их, возможно, принимала IBM. Например, однажды, когда один из компонентов вышел из строя, Коток позвонил в Мэйнард, и сообщил об этом сотрудникам DEC. Они сказали: «Приезжайте и заберите замену». За то время, пока Коток до них добрался, уже было много позже пяти вечера, и офис был закрыт. Тем не менее, ночной сторож позволил ему войти внутрь, найти стол инженера с которым он разговаривал и позволил покопаться в его столе, до тех пока он не нашел нужную запчасть. Это было весьма неформально, что и привлекало хакеров. Поэтому для Котока не было большой проблемы в том, чтобы прийти в Мэйнард, где кто-нибудь наверняка имел готовую процедуру расчета синусов и косинусов, которая работала бы на PDP-1. Несомненно, она была обнаружена у одного из сотрудников DEC, а так как информация была свободной, Коток без всяких проблем принес ее в здание №26.
«Вот она, Рассел», — сказал Коток, держа в руке ленту с программой. «Ну что ты теперь скажешь?».
Теперь у Рассела не было никаких отговорок. Так что он потратил все свободное время на написание этой фантастической игры для PDP-1, игры, которой никто никогда ранее не видел. Уже в скором времени он тратил на нее все свое время, в том числе и рабочее. Он начал ее в первых числах декабря. Приближалось Рождество, а он все еще занимался ее хакингом. Когда календарь на стене сменился на 1962 год, он все еще хачил программу. К этому моменту Рассел был в состоянии поставить точку на экране, которой можно было управлять, нажимая на крошечные переключатели контрольной панели. Точка могла ускоряться и менять свое направление.