ФОРТРАНа, затем машинного языка 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. Госпер вел себя как экскурсовод, объясняя все, что он делал по мере своего продвижения, иногда подчеркивая, что даже клавиатурные ошибки могут представлять собой интересный численный феномен. Он непрестанно удивлялся тому, как компьютер возвращал назад что- нибудь неожиданное. Он воспринимал все, что выдавал компьютер с бесконечным уважением. Иногда

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату