Текст книги "Хакеры: Герои компьютерной революции"
![](/books_files/covers/thumbs_240/hakery-geroi-kompyuternoy-revolyucii-2244.jpg)
Автор книги: Стивен Леви
Жанр: Зарубежная компьютерная литература, Зарубежная литература
сообщить о неприемлемом содержимом
Текущая страница: 6 (всего у книги 40 страниц) [доступный отрывок для чтения: 11 страниц]
Изготовители компьютеров, в особенности IBM, не были такими энтузиастами. И было понятно, что МТИ в этом вопросе придется полагаться на самих себя. (Исследовательская фирма Болта Беранека и Ньюмана BBN также работала над проблемой разделения времени). В конце концов, в МТИ, тоже начали работу над двумя проектами: над одним работал Джек Денис, в основном самостоятельно, пытаясь написать систему с разделением времени, которая бы работала бы на PDP-1. Другой проект возглавил профессор Ф. Дж. Корбейт, который попытался получить некоторую поддержку у неохотного гиганта IBM, для того чтобы написать аналогичную систему для 7090.
Министерство обороны, через свое Агентство По Передовым Исследовательским Проектам (Advanced Research Projects Agency (ARPA)) поддерживала информатику (компьютерную науку) начиная еще с войны, памятуя о возможном конечном использовании разработок в военных целях. Благодаря этому, в начале 60-х годов, МТИ получило долгосрочный грант на работы связанные с проектом системы с разделением времени, который назывался Project MAC[21]21
по первым буквам (Multiple Access Computing – Вычисления с Множественным Доступом.
[Закрыть]. Дядя Сэм «откашливал» на это дело по три миллиона долларов в год. Деннис за все это отвечал. Марвин Минский также принимал во всем этом большое участие, особенно в использовании одной трети средств, которая отходила не к разработке системы с разделением времени, а к работам во все еще эфемерной области искусственного интеллекта. Минский был весьма доволен, так как миллион долларов более чем в десять раз превышал весь его предыдущий бюджет на работы связанные с ИИ, а также он надеялся, что значительная часть оставшихся двух третей, также будет пущена на работы в этой области. Это был шанс организовать идеальную лабораторию, где люди могли бы планировать реализацию хакерской мечты при помощи более совершенных машин, защищаясь от бюрократических глупостей внешнего мира. Тем временем, хакерская мечта находила себе приют и жила день за днем в студентах, которые посвятили себя машине.
Те, кто начинал все это дело, знали, что для работы в данной лаборатории, им будут нужны особенные люди. Марвин Минский и Джек Денис знали, что энтузиазм лучших из лучших хакеров крайне необходим для реализации их Гениальных Идей. Теории в области ИИ , над которыми работали исследователи, по большей своей части были весьма абстрактны, и только некоторые из хакеров были в курсе относительно предмета этих исследований, в то время как большинство хакеров про это просто ничего не знало. Поэтому вопрос о том , как делать эти программы и как заставить их работать, был по-прежнему открыт.
Минский был весьма счастлив тем, что ему удалось решить этот вопрос, передав его хакерам, людям для которых, «компьютеры были самой интересной вещью в мире». Это был род людей, которые забавы ради, могли хачить что-нибудь, еще более причудливое чем «Космические войны», а затем, вместо того чтобы в нее играться всю ночь (как это иногда случалось в Клудж Комнате), продолжать хачить ее дальше. Вместо космических симуляторов, хакеры, которые занимались Проектом МАК, строили большие системы: роботизированные манипуляторы, системы машинного зрения, математические головоломки, до крайности запутанные системы с разделением времени, которые поражали воображение. К счастью, курс, поступивший в начале 60– х годов в МТИ, дал самых ярких и преданных делу хакеров, которые когда-либо садились за консоль. Но никто из них не соответствовал титулу «хакер» более полно, чем Ричард Гринблатт.
4.Гринблатт и Госпер
Рики Гринблатт был хакером, который рано или поздно должен был появиться в этом мире. Спустя много лет, когда он уже был признанным авторитетом среди хакеров и был известен во многих национальных вычислительных центрах, когда ходила масса рассказов о его способности к умственной концентрации, равно как и о миллионах строк ассемблерного кода, которые он похачил к этому времени, его спросили о том, как это все начиналось. Он откинулся в кресле, выглядя уже не так беспорядочно, когда он был студентом с ангелоподобным выражением лица, темной шевелюрой и болезненной боязнью публичных выступлений. Вопрос, в его понимании, сводился к тому, были ли хакеры таковыми от рождения или ими становились? После этого он изрекал хорошо известный, и не согласующийся ни с какой логикой «блаттизм»: «Если хакерами рождались, то ими становились, если хакерами становились, то значит, ими рождались». Но Гринблатт согласился бы с тем, что он был прирожденным хакером. Его жизнь изменилась задолго до первой встречи с PDP-1. Она ему была просто интересна, что впрочем, было неудивительно. Это произошло на неделе знакомства первокурсников с МТИ, и у Рики Гринблатта было в распоряжении некоторое время, перед тем как определиться с курсами и приготовиться к академической славе. Он посетил все места, которые интересовали его в первую очередь: радистанцию WTBS (Эта станция, находившаяся в МТИ, возможно, была единственной институтской радиостанцией в стране, где были в большом достатке аудиоинженеры из числа студентов и недостаток диск жокеев), Клуб Технического Моделирования Железной Дороги и Клудж Комнату в Здании №26, в которой стояла PDP-1. Несколько хакеров играло на ней в «Космические войны».
В игру было принято играть с полностью потушенным в комнате верхним светом, так что лица людей, сгрудившихся около дисплея, были подсвечены экранными отблесками кораблей и крупных звезд. Вид сосредоточенных лиц, в дисплейных бликах произвел впечатление на Рики Гринблатта. Он некоторое время понаблюдал за космической битвой, затем зашел в соседнюю дверь, осмотрел TX-0 – ее стойки с трубками и транзисторами, причудливыми блоками питания, огоньками и переключателями. Его школьный математический клуб в Колумбии, что в штате Миссури, однажды приходил в местный университет на экскурсию, чтобы посмотреть на университетский пакетный компьютер, и еще, в местной страховой компании, он видел гигантскую машину для сортировки перфокарт. Но он не встречал ничего подобного тому, что он встретил здесь. Но, тем не менее, несмотря на то, что он был впечатлен радиостанцией, Клубом Моделирования Железной Дороги, и в особенности, компьютерами, он сел заполнять свой учебный план.
Это ученическое прилежание было не последним, что оставалось ему в его жизни. Гринблатт, даже больше чем обычный студент МТИ, был добровольным последователем Практического Императива. Его жизнь безвозвратно изменилась в один из дней 1954 года, когда его отец, в одно из посещений своего сына, с которым он не жил вместе из-за раннего развода с его матерью, взял его с собой в Мемориальный Студенческий Союз в Университете Миссури, который находился недалеко от его дома в Колумбии. Рики там очень быстро освоился, не только потому, что там был комфортабельный холл с телевизором и баром с газированными напитками, а, скорее, потому что студенты, в отличие от его одноклассников, гораздо больше по уровню своего развития подходили девятилетнему Рики Гринблатту. Он приходил туда поиграть в шахматы, и обычно без затруднений выигрывал у студентов, потому что он был очень хорошим игроком.
Одной из его шахматных жертв был студент из Университета штата Миссури, учившийся на инженерном факультете, по программе государственного финансирования. Студента звали Лестер, и он на практике познакомил девятилетнего одаренного мальчика с миром электроники. Это был мир, в котором не было никаких двусмысленностей, где всем правила логика, где у вас были определенные возможности управлять вещами и событиями и где вы могли строить вещи так, как вы хотели. Для девятилетнего мальчика электроника была прекрасным средством уйти от действительности. Он, должно быть, чувствовал себя не в своей тарелке, из-за разницы между своим умственным возрастом и возрастом биологическим, а кроме того он был еще и просто ребенком, который переживал развод родителей, на который он никак не мог повлиять, и что не было редкостью в мире взрослых человеческих отношений.
Лестер и Рики работали над любительским радио, разбирая на части старые телевизоры. Перед окончанием колледжа Лестер познакомил Рики с мистером Хоутоном, которому принадлежал местный магазин по продаже радиодеталей, ставший вторым домом для мальчика вплоть до окончания школы. Будучи учеником старших классов, Гринблатт собрал очень много сложных вещей. Усилители, модуляторы, всевозможные устройства на зловеще выглядящих электронных лампах. Осциллограф, радиолюбительский трансивер, телекамеру. Да, да. Телекамера! Это было привлекательной идеей, именно поэтому они ее собрали. И, конечно, когда пришло время выбирать институт, то Ричард Гринблатт остановил свой выбор на МТИ. Он поступил в него осенью 1962 года.
Семестровая работа во время первого полугодия обучения была достаточно сложна, но Гринблатт справился с нею без особых проблем, разработав способ связи между несколькими компьютерами университетского городка. Он был счастлив, когда ему удалось выбрать курс «ЕЕ641 Введение в компьютерное программирование» и он часто засиживался за перфораторами в комнате ЭОПД, подготавливая программы для Неповоротливого Гиганта IBM 7090. Кроме того, его товарищ по комнате, Майк Беелер, слушал курс, который студенты называли Номографией. Студенты, которые слушали этот курс лекций, имели непосредственный доступ к IBM 1620, установленный в еще одном владении заблудших Жрецов. Их мозг был подернут туманом невежества, который старательно напускали менеджеры по продаже из фирмы IBM. Гринблатт часто приходил вместе с Беелером на 1620, где можно было пробить свою колоду карт, после чего встать в очередь. Когда подходило ваше время, колода ставилась в считыватель, после чего из принтера начинала выползать распечатка. «Это было своеобразным вечерним развлечением», позднее вспоминал Беелер, – «Мы делали это тогда, когда остальные смотрели спортивные репортажи по телевизору или шли за пивом». Развлечение было небольшим, но приносившим удовлетворение. Однако, Гринблатт желал большего.
В канун Рождества, он окончательно освоился и решил оставаться в Клубе Моделирования Железной Дороги. Здесь, среди людей подобных Питеру Самсону, было весьма естественным впадать в режим хакерства[22]22
Компьютеры имеют различные состояния называемые «режимами», и хакеры часто используют этот термин для обозначения состояний в реальной жизни.
[Закрыть]. Самсон работал над большой программой по составлению расписания работ над гигантской схемой железной дороги в TMRC. Так как программа требовала выполнения вычислений, то Самсон писал ее на ФОРТРАНе для 7090. Гринблатт решил написать ФОРТРАН для PDP-1. Если бы кто-нибудь решил узнать (что маловероятно), почему он захотел это сделать, он не смог бы мог толком объяснить. Впрочем, это встречалось сплошь и рядом: если вам необходимо было выполнить на машине определенную задачу, но машина не имела для этого соответствующего программного обеспечения, то следовало писать это программное обеспечение, а после этого решать свою задачу с его помощью. Это было импульсом, который, в дальнейшем, Гринблатт доведет до совершенства.
Он его написал. Он написал программу, которая позволяла вам писать на ФОРТРАНе, то есть брать то, что вы написали на ФОРТРАНе, компилировать код в машинный язык, а также передавать в программу на ФОРТРАНе, данные из программы на машинном языке. В основном Гринблатт занимался компилятором ФОРТРАНа в своей комнате, в общежитии, так как у него были проблемы с получением достаточного объема времени для доступа к PDP-1. Помимо этого, он еще занимался новой системой реле под основанием железной дороги в клубе. Обстановка в клубе была своеобразная: в комнате с потолка вот-вот мог отвалиться кусок штукатурки и закоротить контакты на системе, которую придумывал и строил Джек Деннис еще в середине пятидесятых. С комнатой всегда были проблемы; обслуживающий персонал, не почитал ее своим вниманием, так как хакеры препятствовали всякой уборке и ремонту. Но никто не обращал на это внимания, потому что появились новые пружинные реле, которые выглядели гораздо лучше, чем их предшественники. Так что Гринблатт той весной потратил изрядное количество времени, занимаясь всем этим и, параллельно, хакингом на PDP-1.
Забавно как порой поворачивается жизнь. Вы, как студент, начинаете добросовестно отдавать все свои силы учебе. Вы старательно выполняете учебный план, а затем вы открываете для себя нечто, что отодвигает занятия на их соответствующее место – они становятся лишними по отношению к тому, что попадает к вам в руки. Этим предметом в ваших руках был хакинг – настолько очевидный процесс, что никто в TMRC или из тех, кто работал на PDP-1, не рассматривал в качестве темы для полезного разговора обсуждение хакерства как своеобразной погони за удовлетворением от вдыхания жизни в то, что создано вашими руками. Хотя компьютеры и были сложной вещью, они не были настолько сложны как различные события и последствия взаимоотношений внутри человеческого зоопарка. Но, в отличие, от формального или неформального изучения социальных наук, хакерство дает вам не только понимание работы системы, но дает также и весьма притягательную возможность управления системой, а также иллюзию того, что стоит добавить еще пару-другую свойств в систему и будет получен полный контроль. Естественно, вам приходится размышлять по поводу реализации этих свойств в системе, определять какие из них являются наиболее нужными, для того чтобы система работала должным образом. Кроме того, работа с улучшенной версией системы дает вам возможность узнать о еще большем количестве задач, которые вам следует решить. Например, Марвин Минский может появиться и сказать: «Вот роботизированный манипулятор. Я хочу управлять этой рукой при помощи компьютера». После этого в мире не остается ничего существенного, кроме изготовления соответствующего интерфейса между машиной и роботизированным манипулятором, реализации управления роботом и придумывание способа создания системы, где эта роботизированная рука будет знать, что она делает. Затем вы начинаете наблюдать, как ваше детище начинает двигаться. Разве может с этим сравниться нудная лекция по инженерным методам? Каковы шансы на то, что ваш профессор, который читает эту лекцию, делал в своей жизни хотя бы нечто наполовину столь же интересное, как проблемы, которые вы решаете на PDP-1 каждый день. И кто из вас прав в этом случае?
Когда Гринблатт учился на втором курсе, ситуация вокруг PDP-1 существенно изменилась. Хотя некоторая часть родоначальников хакерства TX-0, к этому времени уже покинула институт, по-прежнему появлялись новые таланты, для которых нашлось новое место в реализации их амбициозных планов, к тому же созданное на деньги благосклонного Министерства Обороны. В институте была установлена вторая PDP-1. Ее домом стал новое, девятиэтажное прямоугольное здание на Мэйн Стрит. Это было здание, нагонявшее тоску своим внешним видом: абсолютно ровные стены и окна без подоконников, которые выглядели словно нарисованные на ее беловатой поверхности. Здание называлось ТехноСквером, и помимо служб МТИ и корпоративных клиентов в него переехал и Project MAC. Девятый этаж этого здания, там, где располагались компьютеры, стал домом для нескольких поколений хакеров. Но среди них не было никого, кто не проводил бы там времени больше, чем Гринблатт.
Гринблатту, как работнику из числа студентов, даже платили за то, что он хакерил какие-то программы, правда стоимость такой работы была ниже низшего. Он работал совместно с другими хакерами, которые начали разрабатывать большие программы для искусственного интеллекта. Со временем хакеры начали обращать внимание на то, что этот, не к месту вежливый второкурсник, имеет все задатки для того, чтобы стать суперзвездой программирования на PDP-1.
Он перепахивал невероятные объемы кода, занимаясь, насколько это было возможно, хакингом на компьютере, или сидя за стопкой распечаток и делая на них пометки. Он сновал между PDP-1 и TMRC. Его голова была фантастически загружена структурами программ, над которыми он работал и системами реле, которые он хакерил под схемой железной дороги. Для того чтобы сохранять концентрацию на длительный период времени, он жил по тридцать часов в день, так же как и остальные его товарищи. Ему хорошо давалось интенсивное хакерство, так как в его распоряжении был протяженный период времени, чтобы можно было вникнуть в программу. После того как вы в действительности начинали работать, таким небольшим мелочам как сон не следовало придавать большого значения. Главным за эти тридцать часов было максимально отдаться своему делу, сгореть, достичь полного опустошения, затем пойти домой, добраться до койки и отрубиться часов на двенадцать. Альтернативой было отключиться прямо здесь – в лаборатории. Небольшой недостаток именно такого расписания, заключался в том, что было необходимо выполнять все то же самое, что делали другие люди: приходить на свидания, принимать пищу и посещать занятия. Хакеры выясняли, чем он занимается, спрашивая: «В какой фазе Гринблатт находиться сейчас?» И, кто-нибудь из тех, кто видел его недавно, говорил: «Я думаю, что он сейчас находиться в ночной фазе и должен появиться около девяти или около того». Его преподаватели не подстраивались под эти фазы, и поэтому Гринблатт не уделял должного внимания их занятиям.
Из-за проблем с успеваемостью, он был вынужден уйти в академический отпуск, после чего его мать приехала в Массачусетс, чтобы встретиться и побеседовать с деканом. Ей объяснили ситуацию. «Его мама была обеспокоена», – вспоминал позднее Беелер, его товарищ по комнате. «Она думала, что он находится здесь, чтобы получить диплом. Но то, что он совершал, было поразительно, потому что такого раньше никто не делал, а он хотел сделать еще больше. После всего этого было весьма трудным заинтересовать его занятиями». Для Гринблатта, перспектива вылететь за неуспеваемость из института не имела большого значения. Хакерство главенствовало надо всем: это было лучшее из того, что он умел делать, и это заставляло его быть самым счастливым человеком на свете.
Затем случился худший момент в его жизни: он настолько «вышел из фазы», что умудрился проспать последний экзамен. Исключение из института, возможно, не повлекло бы никаких изменений в его жизни, так как не было правил, которые бы ограничивали предоставление работы в институте исключенным студентам. Но Гринблатт решил начать подыскивать себе работу, намереваясь найти работу по программированию на полный рабочий день, так чтобы можно было проводить свои ночи в том месте, где он хотел: на девятом этаже в ТехСквере. Ночи он хотел посвятить хакерству – это было именно то, чем он хотел заниматься.
В то время на PDP-1 был еще один хакер, столь же выдающийся, но работавший в несколько другой манере. Он был более словоохотлив, чем Гринблатт, и лучше объяснял свое видение того, как компьютер сумел изменить жизнь его и остальных. Этого студента звали Билл Госпер. Он начал учиться в МТИ на год раньше Гринблатта, но постоянным обитателем PDP-1 стал несколько позже. Госпер был очень худым, с птицеподобными чертами лица, закрытыми толстыми стеклами очков и неприбранной копной курчавых волос на голове. Но даже краткий разговор с ним, показывал, что одаренность вашего собеседника отодвигала физическую привлекательность на задний план. Он был гением в математике. Госпера привлекала в компьютере возможность использования хакерских приемов в мире математики, в отличие от хакинга систем – то чем интересовался Гринблатт. Госпер среди сообщества гениальных «пехотинцев», которых собирал вокруг себя Project MAC, в течение долгого времени контрастировал с Гринблаттом и другими людьми, ориентированными на системы.
Госпер был родом из Пеннсакина, городка в Нью-Джерси, расположенного вниз по реке от Филадельфии. Его доинститутское общение с компьютерами сводилось к лицезрению из-за стеклянной перегородки работы Неуклюжих Гигантов стоящих в гермозоне. Он хорошо помнил как Univac, стоявший в Институте Франклина в Филадельфии, печатал портрет Бенджамина Франклина на строчном принтере. Госпер не имел ни малейшего понятия о том, как это было сделано, но выглядело это весьма прикольно и впечатляюще.
Впервые он вкусил этого развлечения во время второго семестра обучения в МТИ. Он взялся изучать курс «Дядюшки Джона» Маккарти, на который допускались только те из первокурсников, которые набрали невероятно высокий средний балл за предыдущий семестр обучения. Курс начинался с изучения ФОРТРАНа, затем машинного языка 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. Госпер вел себя как экскурсовод, объясняя все, что он делал по мере своего продвижения, иногда подчеркивая, что даже клавиатурные ошибки могут представлять собой интересный численный феномен. Он непрестанно удивлялся тому, как компьютер возвращал назад что-нибудь неожиданное. Он воспринимал все, что выдавал компьютер с бесконечным уважением. Иногда выглядящее случайным событие могло отвлечь его в сторону удивительным проявлением иррациональных корней квадратного уравнения или трансцендентной функции. Некоторые колдовские манипуляции над процедурами в программе Госпера могли со временем могли превратиться в ученые записки, подобные вот этой, начинавшейся такими словами:
«Известно что, из-за слабой изученности, непрерывные дроби используются достаточно редко. Я предлагаю нижеследующую демонстрацию относительных преимуществ использования непрерывных дробей в сравнении с другими численными представлениями.»
Споры в Инструментальной Комнате перестали быть просто тусовками. Здесь часто бывал Коток, и на этих собраниях принимались весьма важные решения, касавшиеся компьютера, который он разрабатывал для DEC. Этой новой машиной была PDP-6. Еще на стадии своей разработки PDP-6 рассматривалась в TMRC как абсолютно Правильная Вещь. Коток иногда подвозил Госпера домой в Нью-Джерси, во время каникул или праздников, разговаривая за рулем о том, что компьютер будет иметь целых шестнадцать независимых регистров. (Регистр (аккумулятор) – это место, в котором компьютер производит вычисления. Шестнадцать подобных регистров давали машине не виданную ранее гибкость). У Госпера перехватывало дыхание: Он думал: «Это будет величайший компьютер в мировой истории!».
Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?