Впервые он вкусил этого развлечения во время второго семестра обучения в МТИ. Он взялся изучать курс «Дядюшки Джона» Маккарти, на который допускались только те из первокурсников, которые набрали невероятно высокий средний балл за предыдущий семестр обучения. Курс начинался с изучения ФОРТРАНа, затем машинного языка 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: Гринблатта интересовала прагматическая сторона построения систем, а Госпера занимали математические методы их обоснования. Каждый из них уважал сильную сторону другого, и они часто вдвоем принимали участие в различных проектах, совместно работая над теми вещами, которые наилучшим образом раскрывали способности каждого из них. Более того, они сделали существенный вклад во все еще находившуюся в зачаточном состоянии культуру, которая начала цвести полным цветом на девятом этаже ТехСквера. По различным причинам, именно здесь, в этом месте с «горячими» технологиями, эта культура начала буйно расти, доводя Хакерскую Этику до ее наивысшей точки.
Читать дальше
Конец ознакомительного отрывка
Купить книгу