"Хакеры: Герои компьютерной революции" - читать интересную книгу автора (Леви Стивен)6. Победители и проигравшие («Виннеры» и «лозеры»).В 1966 году, когда Дэвид Сильвер совершил свой первый подъем на лифте на девятый этаж ТехСквера, лаборатория ИИ была образцовым сообществом, которое работало в полном соответствии с рецептурой, предложенной Хакерской Этикой. После большого обеда, состоящего целиком из китайской кухни, хакеры поднимались к себе на этаж и трудились там до самого рассвета, объединившись вокруг PDP-6, для того чтобы делать то, что было для них самой важной вещью в жизни. Они медленно сновали взад и вперед с распечатками и мануалами, давая непрошенные советы тем, кто сидел в этот момент за терминалом, иногда высказываясь по поводу способностей программиста, писавшего код. Но, главным в лаборатории по-прежнему оставалось сотрудничество и общая вера в хакерское дело. Эти люди были страстно одержимы технологиями, по крайней мере, когда их увидел Дэвид Сильвер, который желал проводить все свое время здесь. Дэвиду было всего четырнадцать лет. Он учился в шестом классе, дважды оставаясь на второй год. Он с трудом мог читать, и его одноклассники часто насмехались над ним. Позднее говорили что у него была дислексия[25]. Сильвер говорил, что ему было «просто не интересно» с учителями, учениками и всем тем, что его окружало в школе. Но ему было интересно заниматься построением систем. Начиная примерно с шести лет, или около того, он регулярно посещал магазин-свалку Эли Хеффрона в Кембридже (здесь же, в местном хламе, любили копаться хакеры из TMRC) и открывал для себя всевозможные и удивительные вещи. Однажды, когда ему было около десяти лет, он вернулся назад с тарелкой от радара. Тарелка была разобрана на части, затем собрана заново так, что она стала усиливать звуковые колебания. Она работала как параболическая антенна и передавала все звуки в микрофон, что давало возможность прослуживать разговор за тысячи футов. В основном он использовал ее для прослушивания удаляющихся автомобилей, щебетанья птиц и насекомых. Он также сделал большое количество аудиоборудования, и некоторое время сильно занимался съемкой фотографий в замедленном движении. Затем он заинтересовался компьютерами. Его отец был ученым и преподавателем в МТИ, а также другом Минского. В его офисе стоял терминал, подключенный к Совместимой Системе с Разделением Времени (Compatible Time-sharing System), работавшей на IBM 7094. Дэвид начал на нем работать, занимаясь написанием программы на LISP, которая переводила бы фразы с английского языка на вульгарную латынь. Затем он начал работу над программой для управления маленьким роботом, которого он называл «жуком» и которого он построил дома из старых телефонных реле, подобранных в магазине у Эли. Он подсоединил жука к терминалу и написал на машинном языке программу, которая заставляла этого двухколесного жука ползти. Дэвид определил для себя, что робототехника является для него наилучшей целью. Что может быть более интересного, чем изготовление машин, которые могут самостоятельно передвигаться, самостоятельно смотреть на окружающий мир… и самостоятельно мыслить? Поэтому его визит в лабораторию ИИ, организованный для него Минским, стал для него настоящим откровением. Не только потому, что эти люди были также одержимы компьютерами, как и Дэвид Сильвер, но также и потому, что одной из основных сфер деятельности лаборатории была робототехника. Это была область, которой Минский очень сильно интересовался. Роботы играли важную роль в развитии искусственного интеллекта, они позволяли видеть чего может достигнуть человек изготовляя разумные машины. Многие из дипломников Минского занимались теоретическими вопросами робототехники, описывая в своих дипломных работах относительную сложность того, как можно было бы заставить робота делать то или это. Хакеры также весьма интенсивно занимались всем этим, но не столько теоретизированием, сколько изготовлением и постановкой экспериментов. Хакеры обожали роботов по тем же самым причинам, что и Дэвид Сильвер. Управление роботом было выходом в реальный мир, за пределы компьютерного программирования. Как говаривал Госпер, — «Почему мы должны ограничивать компьютеры только лишь потоком лжи, набранной людьми на клавиатуре?». Роботы могли самостоятельно передвигаться и пытаться понять для себя, на что же похож окружающий мир. Если вы программировали робота на совершение каких-то действий, то, как объяснял Госпер: «Вы получали вознаграждение, неописуемый эмоциональный всплеск. Он превосходил удовлетворение, которое вы получали от работающей программы. Вы получали физически осязаемое подтверждение правильности вашей конструкции. Может быть, это было подобно рождению собственного ребенка». Одним из больших проектов, завершенный хакерами до конца, был робот, который мог ловить мяч. К PDP-6 были подсоединены телевизионная камера и механическая рука. Нельсон, Гринблатт и Госпер работали в течение нескольких месяцев, пока рука не научилась ловить шарик для пинг-понга, который кидался навесом в ее сторону. Рука была в состоянии вовремя определять положение мяча и перемещать себя в определенное место, для того чтобы его схватить. Хакеры им очень гордились, а Госпер страстно хотел заняться более мобильным роботом, который мог бы «Пинг-понг к Рождеству?», — спросил Минский Госпера, в тот момент, когда они наблюдали за роботом, ловящим шарики. Пинг-Понг, как и китайские рестораны, был системой, которую Госпер уважал. Он играл в эту игру еще в подвале собственного дома, когда был ребенком, и его стиль игры имел много общего с его стилем хакерства: они оба были основаны на его любви к физически невозможному. Когда Госпер бил по шарику, результат был столь же непредсказуем, как и дисплейные хаки на PDP-6. Он произносил столько слов на английском языке в адрес шарика, что в действие приводились сложные и «контринтуитивные» силы, после чего траектория полета становилась совершенно непредсказуемой. Госперу нравилось придавать шарику вращение, отрицавшее гравитацию. Это позволяло вам сделать неистовый рез по мячу так, что вместо предсказуемого удара о противоположный край стола, он внезапно поворачивал, и когда оппонент пытался отбить яростно вращающийся шарик, тот подпрыгивал до самого потолка. Или он наносил по шарику сильный рубящий удар, настолько сильный, что тот практически расплющивался, готовый разорваться из-за центробежной силы. «Бывало так, что во время моей игры», — говорил позднее Госпер, — «шарик выделывал в воздухе такое, что шло в противоречие с законами физики и заставляло зрителей задержать дыхание. То, что я видел, было необъяснимым и очень интересным». Некоторое время Госпер был одержим идеей создания робота, который мог бы играть в настольный теннис. Хакеры научили робота держать ракетку и наносить хороший удар по мячу, который бросался в его сторону. Билл Беннетт вспоминал, как однажды Минский зашел в зону действия манипулятора, подсвеченной сильными лампами для создания освещенности требуемой для работы видикона[26] ТВ-камеры. Робот, перепутав отражение от лысины Минского, ошибочно принял профессора за большой мяч для пинг-понга, и чуть не отрубил ему ракеткой голову. Госпер хотел идти до самого конца, и заставить робота передвигаться и наносить хитрые удары, также как это любил делать он сам. Но Минский, который также принимал участие в разработке оборудования для этой машины для ловли шариков, не считал, что это является интересной проблемой. Он сделал вывод, что эта задача не сложнее чем сбивать одни ракеты, летящие по небу, при помощи других ракет — проблему, которое Министерство Обороны похоже уже решило. Минский сумел убедить Госпера прекратить работу над проектом игры в настольный теннис, из-за чего Госпер впоследствии говорил, что именно этот робот изменил бы весь ход истории. Конечно, идея проекта, подобного этому внушала невероятное уважение и была фантастической для Дэвида Сильвера. Минский разрешил Сильверу оставаться на девятом этаже, и вскоре Сильвер полностью забросил школу. Он для себя решил, что у него получается более продуктивно проводить время в ТехСквере. Так как хакеров мало заботил возраст и больше интересовал конкретный потенциальный вклад в хакерство, то четырнадцатилетний Дэвид Сильвер был принят в это сообщество, на первых порах в качестве талисмана, приносящего удачу. Он немедленно зарекомендовал себя с хорошей стороны, добровольно выполняя нудную часть работы по хаченью замков. Это было как раз в тот момент, когда администрация установила новую сложную систему замков с повышенной степенью секретности. Иногда легко сложенный паренек мог потратить целую ночь на ползанье по фальш-потолкам, для того чтобы вынуть замок с противоположной стороны двери, разобрать его на части, чтобы посмотреть, как работает запирающая система и с трудом собрать его, как раз перед тем как утром должно заявиться руководство. Сильвер очень хорошо работал со слесарным инструментом, и ему удалось сделать заготовку для ключа, из которого можно было попытаться сделать ключ, открывавший этот сложный новый замок. Этот замок находился на двери, защищавшей от проникновения в комнату, где стоял сейф со сложным замком, и в котором лежали… ключи. Если бы хакеры до него добрались, то запутанная система, по словам Сильвера, была бы «распутана». Сильвер относился к хакерам, как к своим учителям. Он мог задавать им любые вопросы о компьютерах или прочих машинах. И они подробно излагали ему очень большие объемы информации. Рассказывалось это все на цветастом хакерском жаргоне, приправленном корявыми и детскими вариациями слов английского языка. Слова, такие как Вопросов у Сильвера было великое множество. Некоторые из них были очень просты: «Из каких частей делаются компьютеры? Из чего сделаны системы управления?» Но по мере того как он глубже постигал робототехнику, вопросы, которые он задавал, становились все более и более сложными. Прежде чем заниматься созданием мира для робота, следовало все обдумать в таких же мировых масштабах. Что есть точка? Что есть скорость? Что такое ускорение? Вопросы по физике, вопросы по численным методам, вопросы по информации по представлению вещей… постепенно он начинал улавливать суть. Позднее Сильвер понял, что он «задавал простые философские вопросы типа — что есть я, что есть вселенная, что такое компьютеры, для чего их можно использовать, и с чем это связано? В тот момент все эти вопросы были для меня крайне интересны, потому что впервые в своей жизни я начал размышлять. Я узнал достаточно о компьютерах, и начал размышлять над их подобием биологической природе, человеку и животным, а также начал увязывать последних с наукой, технологией и компьютерами. Я начал понимать, что с помощью компьютеров можно совершать действия, подобные тем, которые делают разумные существа». Билл Госпер стал для Сильвера гуру, духовным учителем. Они часто ходили вместе в общежитие, для того чтобы поиграть в пинг-понг, отведать китайской кухни или поговорить о компьютерах и математике. Тем временем, Сильвер обеими руками черпал знания из этого хакерского Ксанаду, раскинувшегося по территории Кембриджа. Это была школа, о существовании которой никто не подозревал, и впервые в жизни он почувствовал себя счастливым человеком. Компьютеры и сообщество вокруг них дали ему чувство свободы, и вскоре Дэвид Сильвер почувствовал в себе достаточно сил, чтобы взяться за серьезную работу. Он хотел написать большую и сложную программу по распознаванию образов: он хотел модифицировать своего маленького «жука», так, чтобы на нем можно было установить телекамеру, с помощью которого можно было бы подбирать вещи, которые люди случайно уронили на пол. Хакеров не волновало, что ранее подобных задач не решал никто, включая людей, имевших опыт работы с различным сложным оборудованием. Сильвер начал над ней работать своим уже испытанным инквизиторским методом, обойдя десять или двадцать хакеров и выпытывая у каждого нужную информацию, которая, по его соображениям, была ему необходима для решения этой задачи. Этакий высокотехнологичный Том Сойер, красящий забор своей тетки при помощи ассемблерного кода. Если дело касалось аппаратуры — он спрашивал Нельсона. Если дело касалось системных вопросов, то Гринблатта. Если математических формул, то Госпера. Затем он просил помощи у народа в написании подпрограммы, которая решала некоторую конкретную проблему. После этого, он собирал в кучу все подпрограммы и объединял их в одну, после чего получалось то, чего он и добивался — программа распознавания образов. Сам по себе жук имел фут в длину и семь дюймов в ширину и приводился в движение двумя маленькими двигателями, соединенными между собой пластиковыми стяжками. На обоих концах он имел по паре подъемных колес, поднимающуюся полосу, проходящую по верхней части, и сваренные медные полосы, торчащие спереди как пара антенн. Честно говоря, он был похож на кусок металлолома. Сильвер использовал способ под названием «вычитание изображений», с помощью которого компьютер мог узнать, где находится жук всякий раз, когда камера завершала сканирование сцены, после чего можно было определить что и куда сдвинулось и определить изменение в полученной картинке. До тех пор пока не поднималась камера, жук перемещался хаотично, после чего компьютер направлял его на движущуюся цель, которая вполне могла оказаться бумажником, который кто-нибудь обронил неподалеку. Тем временем, случилось нечто, что было свидетельством продолжающейся борьбы на хакерском Олимпе. Сильвер получил большое количество критики в свой адрес. Критика исходила от людей, не принимавших Хакерскую Этику: теоретиков ИИ и дипломников, обитавших на восьмом этаже. Для этих людей процесс вычислений зачастую не доставлял никакого удовольствия, они были гораздо больше озабочены получением степеней, профессионального признания, и, как это ни странно, продвижением дальше компьютерной науки. Они считали хакеров абсолютно ненаучными. Они всегда требовали, чтобы хакеры проваливали с машины, на которой они могли бы заниматься Официально Санкционированными Программами, и они ужасались тем применениям, которые хакеры зачастую находили для компьютера. Дипломники все сплошь были загружены учеными рассуждениями, написанием научных работ и диссертаций, которые воздвигали в святыню сложность решения проблем, которые также попытался решить Сильвер. У них и мысли не было заниматься компьютерными экспериментами с машинным зрением без должного длительного и нудного планирования, полного обзора предыдущих экспериментов, тщательной проработки архитектуры и построения сцены сплошь состоящей из белых кубов на черном бархате в безжизненной комнате без единой пылинки. И они были в ярости, что ценное время PDP-6 расходуется на такие, с позволения сказать, … игрушки! Да еще и каким-то неоперившимся птенцом, который играет с PDP-6, словно маленький ребенок с ходунками. Пока дипломники обсуждали, что Дэвид Сильвер был не в состоянии добиться чего— нибудь значительного, или того, что Дэвид Сильвер не может реализовать в своей штуковине искусственный интеллект, или то, что он никогда не поймет теорию рекурсивных функций, Дэвид продолжал заниматься своим жуком и программой на PDP-6. Вот кто-то бросил бумажник на грязный пол, покрытый мусором, и жук устремился к нему, со скоростью шесть дюймов в секунду, повернул вправо, остановился, и снова рванул вперед. Глупый маленький жук, продолжал быстро маневрировать влево и вправо, до тех пор, пока не достигал бумажника, затем бросался на него, крепко зажимал бумажник между «рогами» (которые для всех остальных выглядели как короткие крючки), и тащил его в указанную точку. Задание было выполнено. У дипломников появились В конце концов, «теоретики» успокоились, но взаимная неприязнь осталась. Аспиранты рассматривали хакеров в роли необходимых, но странноватых техников-недорослей. Хакеры полагали, что дипломники были неучами и профанами, с упертыми в задницу пальцами, заседающих на восьмом этаже, и теоретизирующих по поводу компьютеров, не имея при этом не малейшего понятия о том, что это в действительности было. Они никогда бы не распознали Правильную Вещь, если бы им довелось ее увидеть. У них было крайне суженное зрение и они работали только над своими Официально Санкционированными Программами, которые со временем станут материалом для дипломов, а затем будут выкинуты на помойку (в отличие от хакерских программ, которые постоянно использовались и модифицировались). Хакеры рассматривали этих людей как «излишки» на PDP-6, и жалкую трату ценного машинного времени. Один из этих дипломников выводил из себя хакеров особенно сильно. В его программе были серьезные ошибки, которые заставляли компьютер выполнять ошибочные инструкции, так называемые «неиспользуемые опкоды». Он занимался этим целыми днями в течение многих часов, пока у него не кончалось его время. Машина умела обращаться с неиспользуемыми кодами команд — она сохраняла их в определенном месте, а затем, полагала, что вы переопределили опкод и была готова его использовать по мере надобности. Если вы этого не делали, то есть не программировали заново эту инструкцию, то программа уходила в бесконечный цикл, во время которого, вам надо было ее остановить, просмотреть код и понять где вы сделали ошибку. Но этот студент, назовем его условно Фубар из-за его длинного и незапоминаемого имени, никак не мог этого понять и продолжал помещать в программу неверные команды. Машина постоянно циклилась, выполняя несуществующие команды, и требовала останова, но Фубар по-прежнему сидел стуле, уставившись в экран. Затем он делал распечатку и долго ее просматривал. Уже много позже, посидев с нею дома, он понимал, где он сделал ошибку, возвращался назад и запускал программу заново. Затем он делал ту же самую ошибку. Хакеров злило то, что он носил распечатку взад и вперед и убивал на это кучу времени. Он работал с PDP-6 в точности так же, как на отстойной IBM-подобной машине в режиме пакетной обработки. И все это вместо интерактивного программирования. Для хакеров это было аналогично «греху кардинала», то есть надругательству над самым святым. Однажды, Нельсон, залез в компьютер, и сделал хак, который состоял в программировании реакции на эту конкретную ошибку. Хакеры специально остались понаблюдать, за тем что произойдет в следующую рабочую сессию Фубара. Он уселся за консоль, и спустя много времени все-таки приступил к работе. И спустя полчаса, он снова сделал ту же самую идиотскую ошибку, но только в этот раз программа не зациклилилась. На экране дисплея была распечатана часть кода, где произошла ошибка, а в точности посередине экрана, указывая на неверный опкод, красовалась огромная зеленая фосфоресцирующая стрелка. Здесь же на экране мерцала поясняющая надпись: «Фубар, ты снова облажался!» («Fubar, you lose again!» ) Фубар был неблагодарен. Он начал жаловаться всем, что какие-то вандалы залезли в его программу и внесли в нее изменения. Он так развонялся, что полностью забыл о подсказке, которую Нельсон сделал специально для него. Он не был благодарен за это замечательное свойство, которое помогало ему находить ошибки таким образом, на что втайне надеялись хакеры. Всплеск хакерской гениальности прошел для него впустую. Для названия таких дипломников и аспирантов у хакеров был специальный термин. Это было то же самое слово, для обозначения любого, кто делал вид, что он знает о компьютерах кое— что, но на самом деле не разбирался в предмете на том же уровне, что и хакеры. Этим словом было «лозер (проигравший)». Хакеры были «виннерами(победителями)». Это было двоичное определение: люди, обитавшие в лаборатории ИИ, были либо тем, либо другим. Единственным критерием была способность заниматься хакерством, и тем ревностнее был крестовый поход за улучшение мира, к которому были безразличны все остальные люди. Вам могло быть четырнадцать лет, вы могли не уметь читать, но могли быть «победителем». Или наоборот, вы могли блистать, могли быть способны к обучению, восприимчивы к новым идеям и вместе с тем могли считаться «лозером». Для новичка, девятый этаж выглядел устрашающе, он был похож на неприступный дворец науки. Достаточно было побыть некоторое время рядом с Гринблаттом, Госпером или Нельсоном чтобы покрыться гусиной кожей от тихого ужаса. Они казались самыми умными людьми в мире, а так как за PDP-6 одновременно мог работать только один человек, то требовалась масса времени и усилий, чтобы сесть за нее и начать интерактивное обучение. Так что любой, у которого внутри был хакерский дух и желание заняться вычислениями, следовало отставить в сторону свое самомнение и начать писать собственные программы. Том Найт, которого занесло на девятый этаж во время своего знакомства с МТИ, был невероятно высоким и тощим первокурсником, поступившим в МТИ в 1965 году. Он сам прошел этот путь, и, в конце концов, получил статус «виннера». Чтобы сделать это, как он вспоминал позднее: «Вы должны были с головой уйти в эту культуру. Целыми ночами вы могли заглядывать через плечо человека, который делал интересные вещи, в которых вы ничего не понимали». Именно восхищение компьютером заставляло его делать это, так же как и позволяло создавать сложные системы, которые работали полностью под его контролем. В этом смысле, как он говорил, вы имели такие же безграничные возможности, как диктатор над политической системой. Но Найт также ощущал что компьютеры были бесконечно гибкой средой артистического самовыражения, в которой можно было создавать свою собственную вселенную. Найт позднее говорил: "Вот был объект, которому можно было приказать сделать что-нибудь, и не задавая никаких вопросов, он делал в точности Люди как Найт и Сильвер занимались хакерством столь интенсивно и столь результативно, что они в конце концов стали «виннерами». Другие вынуждены были очень долго карабкаться по склону холма, потому что после того как хакеры начинали чувствовать в вас препятствие в улучшении общей системы, вы становились лозером в худшем смысле этого слова и вам либо оказывали холодный прием, или же вообще просили выйти. Некоторые считали что это жестоко. Очень впечатлительный хакер по имени Брайан Харвей был весьма раздосадован на эти чрезмерно жесткие стандарты. Харвей проявил себя с очень хорошей стороны. Работая на компьютере, он нашел несколько ошибок в редакторе TECO, после чего обратил на это внимание окружающих. Окружающие сказали: «Прекрасно! Вот возьми и поправь!». Он сделал это и понял для себя, что процесс отладки более интересен, чем Но Харвею не нравилось, когда на остальных показывали пальцами и обвиняли в лозерстве, которых воспринимали как изгоев, только лишь потому, что они не были достаточно гениальными. Харвей полагал, что Марвин Минский тоже сделал существенный вклад в распространение данного мнения. (Минский позднее настаивал, что все, что он сделал, это пустил вещи на самотек, и позволил хакерам делать все, что им заблагорассудится: «Системы были открыты и буквально призывали людей попытаться с ними что-нибудь сделать, и если они (люди) наносили вред или были некомпетентны, то они имели возможность уйти»). Харвей понимал, что с одной стороны, подпитанная Хакерской Этикой, лаборатория ИИ была «большим интеллектуальным садом», с другой стороны был и весьма большой недостаток: Некоторые люди попадались в эту ловушку. Они настолько отчаянно пытались стать «победителями», что в их отношении выносился быстрый диагноз — лозеры. Например, Герри Суссман, который попал в МТИ, будучи нахальным и самоуверенным семнадцатилетним парнем. Он был наркоманом по части электроники и компьютерным фаном еще со старших классов, поэтому первое, что он сделал, попав в МТИ — начал искать компьютер. Кто-то подсказал ему зайти в ТехСквер. Он спросил человека, который по всем признакам здесь работал, на предмет того; нельзя ли ему поиграть с компьютером. На что, Ричард Гринблатт сказал: «Ну давай, поиграй». Суссман начал работать над программой. Спустя небольшое количество времени, пришел странно выглядящий лысый человек. Суссман подумал, было, что человек пришел к нему, чтобы выгнать его из-за компьютера, но вместо этого человек присел рядом и спросил «Что ты делаешь?». Суссман поговорил о своей программе с этим человеком, Марвином Минским. В один из моментов разговора, Суссман упомянул, что он использует в своей программе определенный способ рандомизации, потому что он не хочет, чтобы машина генерировала постоянные вещи. На что Минский ответил: «Да, они в ней есть, просто ты не знаешь, что они из себя представляют». Это была самая серьезная вещь, которую когда-либо слышал Герри Суссман. После чего Минский продолжил, рассказав ему, что мир строится строго определенным путем, и самое важное, что следует делать — стараться избегать случайности и стараться понять план, по которому создан окружающий мир. Мудрость, подобная этой, произвела свой эффект на семнадцатилетнего первокурсника, и начиная с этого момента Суссман сел на крючок. Но с хакерами он повел себя абсолютно неверно. Он пытался прикрыть свое неустойчивое положение излишней бравадой, но все равно все видели, что он из себя представляет. По многим свидетельствам, он был невероятно неуклюж: его чуть не сбила с ног рука-манипулятор, которую он бесконечно долго настраивал. Однажды он раздавил фирменный импортный шарик для Пинг-Понга, который Госпер принес в лабораторию. В другой раз, участвуя в вылазке Полуночного Общества по Перешиванию Компьютеров, Суссман умудрился брызнуть припоем себе в глаз. Он лажался направо и налево. Пытаясь привить окружающим учтивый образ, Суссман курил трубку, что было абсолютно ошибочным на девятом этаже, охваченном дымофобией. За это хакеры однажды насыпали ему в табак мелко нарезанной резины такого же цвета. Он односторонним порядком определил себя в ученики к Госперу, самому разговорчивому из хакеров. В этот момент у Госпера и в мыслях не было, что Суссман относится к «виннерам», но ему нравилась аудитория, поэтому он переносил невежественное нахальство Суссмана. Иногда противоречивые ремарки гуру, заставляли Суссмана шевелить мозгами, например, в тот момент когда Госпер размышлял вслух: «Допустим, данные сами по себе являются несложным видом программирования». Для Суссмана сказанное было было ответом на вопрос вечного бытия: «Что мы и кто мы?». Мы данные — кусочки космической компьютерной программы, которая является вселенной. Посмотрев на программы Госпера, Суссман предположил, что эта философия реализована и в написанном коде. Суссман позднее пояснял что «Госперовская модель воображаемого мира, которая утверждала, что мы все состоим из этих маленьких кусочков, каждый из которых является маленькой машиной, находящейся в независимом локальном состоянии. И каждое состояние сообщается при этом со своими соседями». Посмотрев на программы Госпера, Суссман понял важный принцип хакерства: все серьезные компьютерные программы являются проявлением конкретной индивидуальности: «То, что компьютер выполняет программы является второстепенной вещью», — позже говорил Суссман. «Важным свойством программы является то, что она показывает людям нечто, и они могут это прочитать и могут из этого что-нибудь понять. Она несет информацию. Это часть нашего сознания, которое вы можете изложить в виде кода и передать кому-либо еще, как книгу». Суссман учился читать программы с той же скоростью, с какой любитель поэзии читал стихотворение. Были программы, которые содержали в себе много веселого, были удивительные программы, которые делали Правильные Вещи, а также были печальные программы, на которые было потрачено много сил, но которые так никуда и не полетели. Это были важные вещи, которые следовало знать, но они не обязательно делали из вас «виннера». Это просто был хакинг, которым занимался Суссман. Он интенсивно им занимался, много крутился вокруг Госпера, негромко обсуждал его со своей всезнающей позиции, и в конце концов, стал весьма впечатляющим программистом. Это был редкий пример лозера, которому удалось изменить мир вокруг себя и стать виннером. Позднее он написал очень сложную и ставшую широко известной программу, при помощи которой манипулятор мог перемещать предметы. Посредством процесса, больше походившего на отладку, программа выясняла, какие предметы ей надо переместить, для того чтобы добраться до нужного. В области ИИ это был большой шаг вперед, впоследствии Суссман стал больше известен как ученый-проектировщик. Свою знаменитую программу он назвал HACKER. То, что помогло Суссману в его превращении из лозера в виннера было чувством Правильной Вещи. Самыми большими лозерами в глазах хакеров были те, у которых полностью отсутствовала эта способность, так что они были не способны понять, что является истинно лучшей машиной, или наилучшим компьютерным языком или наилучшим способом использования компьютера. И ни одна из компьютерных систем не заслуживала хакерского презрения больше чем системы с разделением времени, и так как они были частью большого проекта под названием Project MAC, то они также располагались на девятом этаже. Самая первая из них работала еще с середины 60-х годов, и назвалась Compatible Time-sharing System (CTSS) (Совместимая система с разделением времени). Другая, очень дорогая, которую долго готовили к выходу в свет, называлась Multics, и ее не любили настолько, что ее простое существование вызывало раздражение. В отличие от похожей на заплатанное одеяло, постоянно улучшаемой хакерской системы на PDP-6, CTSS была полностью написана одним человеком, профессором МТИ, по имени Ф. Дж. Корбат. С многих точек зрения это была виртуозная работа, тщательно написанная и готовая к запуску на IBM 7094, с помощью которой можно было одновременно работать на множестве терминалов. Но для хакеров CTSS была порождением бюрократического фашизма IBM. «Самая привлекательная вещь в компьютере заключается в возможности полного его контроля», позднее упоминал Том Найт, один из недругов CTSS. «Если ваш компьютер окружен бюрократией, то вы больше не имеете возможности им управлять». CTSS была «серьезной» системой — людям надо было получать на ней учетные записи и уделять большое внимание безопасности. Это была доброкачественная бюрократия, но, тем не менее, это все-таки была бюрократия, заполненная людьми, которые работали на ней четко от девяти до пяти. Если по какой-то причине вы хотели изменить поведение системы в другую сторону, или написать программу, работавшую только иногда, или же создавали опасность создания сбоя в системе, то такие действия на CTSS не допускались. Вам же требовалась рабочая среда, где за сделанные ошибки не били по рукам, обстановку где люди бы могли говорить: «Епс! Ошибка вышла…». Другими словами, на CTSS хакерство не поощрялось. В дополнение к этому, система работала на компьютере фирмы IBM, стоимостью в несколько миллионов долларов, расцениваемом хакерами как лозерская машина и стоящая на более низком уровне, чем их PDP-6. Никто не просил хакеров пользоваться CTSS, но она Со временем хакеры настолько хорошо изучили систему CTSS, что научились обходить требования обязательного ввода пароля. После того как они попадали в систему, они начинали ее понемногу штырять, оставляя администратору сообщения, высокотехнологические эквиваленты надписи «Здесь был Килрой». Иногда они даже печатали на принтере список действующих паролей и подсовывали распечатку под дверь администратору. Гринблатт говорил, что люди, которые занимались Project MAC-CTSS не понимали шуток, они вставили в систему сообщение, которые появлялось всякий раз, когда вы логинились в систему. В нем говорилось, что пароль является священным и неприкосновенным, и только низшие формы человеческих существ могут ломать пароли. Том Найт забрался в систему, и изменил название этого документа с MAC на HAC. Но какой бы плохой системой не была CTSS, еще хуже хакеры относились к системе Multics. Multics была чудовищно дорогой системой с разделением времени, по крайней мере так считали все те кто тусовался на девятом этаже. Хотя ее разрабатывали для обычных пользователей, хакеры оценивали структуру любой системы со своей точки зрения, и в особенности систему созданную на том же самом этаже здания, где они занимались хакерством. Поэтому Multics был постоянным предметом хакерских разговоров. Поначалу, Multics создавался в сотрудничестве с General Electric, затем к разработке подключилась Honeywell. В этой системе была масса проблем любого рода. Как только хакеры узнали, что система использует телетайпы модели 33, вместо быстрых и интерактивных CRT дисплеев, они сделали для себя вывод что эта система полностью лозерская. Для них также было разочарованием, что система пишется не на добротном машинном языке, а на языке, который создала IBM, под названием PL/I. При своем первом запуске система оказалась невероятно медлительной. Она была настолько медленной, что хакеры окрестили ее «ущербной на голову», термин который использовался в отношении Multics настолько часто, что он со временем стал стандартным хакерским уничижительным словом. Но самым худшим в Multics была мощная система безопасности, а также система биллинга пользовательских ресурсов. Multics считал, что пользователь должен платить за все , вплоть до последнего цента: за память, которую он использовал, чуть больше за дисковое пространство, и еще больше за время. В тоже время, создатели Multics делали заявления, что это является единственно приемлемым способом работы всех системных утилит. Эта система полностью извратила Хакерскую Этику — вместо того чтобы предоставлять время как можно большему количеству людей (это была единственная черта у систем с разделением времени, которую хакеры нормально воспринимали (но не все)), она, после того как вы зарегистрировались в системе, заставляла вас тратить как можно меньше времени и использовать как можно меньше компьютерных ресурсов! Философия, реализованная в Multics была полной катастрофой. Хакеры изводили систему различными трюками, которые часто вызывали останов системы. Они практически считали это своим долгом. Как позже говорил Минский: «Были люди, которые работали над такими проектами, которые очень не нравились другим людям, так что последние разыгрывали над ними все виды шуток так, что становилось невозможно работать… Я полагаю, что хакеры помогали прогрессу, подкапываясь под профессоров, занимавшихся всякими глупостями». В свете скатывания хакеров к партизанской войне, персонал отвечавший за научную работу в лаборатории ИИ, вышел с осторожными предложениями, которые бы повлияли на общий хакерский настрой. И где-то в 1967 году, эти люди захотели подложить хакерам свинью. Они захотели, чтобы любимая хакерами PDP-6 превратилась в машину с разделением времени. К тому времени, Минский переложил большое количество своих обязанностей, как руководителя лаборатории ИИ на своего друга, Эда Фредкина, который был шефом Нельсона в Тройном-I, к этому времени ушедшего с головой в бизнес и преподаванием в МТИ. (Фредкин был самым молодым профессором в МТИ, имевшим докторскую степень на факультете, и единственным доктором, не имевшим диплома о высшем образовании.) Будучи хорошим программистом, Фредкин в свое время плотно общался с хакерами. Он благосклонно относился к невмешательству в дела хакеров, что позволяло им быть невероятно продуктивными. Но он думал, что иногда хакеры могли бы только выиграть от организованной работы. Тем не менее, одна из его первых попыток организовать «человеческую волну» при решении проблем в робототехнике, когда он пытался раздать хакерам конкретные задачи для решения, с позором провалилась. «Все думали, что я сумасшедший», — позднее говорил Фредкин. Он окончательно убедился в том, что наилучший способ заставить хакера чем-нибудь заняться, это просто сделать им предложение, в надежде что для них это будет в достаточной степени интересно. Затем вы можете получить продукт, ранее невиданный ни в индустрии, ни в институтах. Минский и Фредкин считали что разделение времени является важной задачей. PDP-6 рвали на части хакеры и Официально Санкционированные Пользователи. Ожидание своего времени утомляло и тех и других. Но хакеры считали разделение времени неприемлемым. Они показывали пальцами на CTSS, Multics, даже на более дружественную систему Джека Денниса, работавшую на PDP-1, как на примеры более медленной и менее продуктивной работы, что неизбежно получалось при разделении ресурсов между несколькими пользователями одновременно. Они также заметили, что некоторые большие программы не могут быть запущены в режиме разделения времени. Над одной из таких монстрообразных программ работал Питер Самсон. Это было продолжение одного из его хаков, который он делал еще на TX-0. Это была программа, в которой можно было набрать названия двух станций метро, после чего вам сообщалось какие линии следует использовать, а также где делать пересадки с одной линии на другую. Теперь Самсон работал над всей системой Нью-Йоркского метрополитена. Он хотел чтобы в памяти компьютера помещалась вся схема подземки, а на диске размещалось расписание поездов, с которым мог работать компьютер. В один из дней он запустил программу, для того, чтобы узнать по какому маршруту следует ехать в подземке так, чтобы полностью объехать всю систему, потратив всего один жетон. Это привлекло внимание средств массовой информации, а затем кто-то поинтересовался, а что если они воспользуются компьютером, для того чтобы проделать это Через несколько месяцев хакинга, Самсон представил соответствующую схему, и в один из дней два хакера спустились в метро. В клубе выпускников МТИ, в Манхеттене, стоял телетайп, подсоединенный к PDP-6. Вдоль маршрута было расставлено около двух дюжин курьеров, которые периодически звонили на телетайп, непрерывно сообщая об изменениях в расписании, сообщая об опоздавших поездах, задержках с выходом, и неработающих ветках. Хакеры сидевшие за телетайпом, вбивали поступившую информацию, а в Кембридже PDP-6 пересчитывала маршрут и вносила в него изменения. По мере того как путешественники проезжали станции, Самсон их зачеркивал на большой карте висевшей в «штабе операции». Идея этих коротко постриженных сумасшедших полностью контрастировала с длинноволосыми протестантами — хиппи, о которых собирались новости совсем другого рода, и привлекла на целый день внимание средств массовой информации. Великий Подземный Хак был признан как самое запомнившееся использование PDP-6. Это частично объясняло тот факт, что Гринблатт, Госпер и остальные рассматривали весьма важным максимальную отдачу от программ, которая может быть получена при использовании По существу, проблема с разделением времени была скорее вопросом эстетики. Основная идея заключалась в том, что нарушалось общее управление компьютером. Даже если система с разделением времени позволяла бы отвечать машине в точности также как если бы это было в однопользовательском режиме, вы все равно знали что целиком она вам не принадлежит. Это было примерно тоже самое как заниматься любовью с женой, зная, что она одновременно занимается сексом еще с шестью мужчинами! Упрямство хакеров в этом вопросе показывало их преданность качеству вычислений: они не были готовы идти на уступки, используя систему низкого качества, которая могла бы обслуживать больше людей и возможно нести в народ идею хакерства. С их точки зрения, использование наилучшей системы было более правильной идеей служения хакерству. Система с разделением времени сюда не укладывалась. Фредкину пришлось ввязаться в сложную политическую борьбу. Его стратегией было обработать самых яростных противников разделения времени из лагеря Гринблатта. С самим Гринблаттом у него были весьма дружеские отношения, он был единственным на девятом этаже, который называл Гринблатта — Рики. Поэтому он ему всячески льстил и обхаживал его. Он рассказывал Гринблатту как можно будет увеличить мощность PDP-6, установив в нее дополнительную память, так что у нее будет памяти больше у любого другого компьютера в мире. Он обещал, что система с разделением времени будет лучше любая виденная ранее, и хакеры будут иметь над ней полный контроль. Он обрабатывал Гринблатта в течение многих недель, и, в конце концов, Рики Гринблатт согласился с тем, что на PDP-6 следует реализовать разделение времени. Спустя некоторое время, Фредкин сидел в своем кабинете, когда открылась дверь и внутрь зашел Билл Госпер во главе группы из нескольких хакеров. Они встали в линию перед столом Фредкина и дружно вперились в него ледяным взглядом. «Что случилось?», — спросил Фредкин. Некоторое время они продолжали на него смотреть. В конце концов, они начали говорить. «Мы хотели бы знать, что ты сделал с Гринблаттом», — сказали они, — «У нас есть причины полагать, что ты его загипнотизировал». Госпер особенно тяжело воспринимал идею совместного управления PDP-6. Его поведение напоминало Фредкину о архитекторе по имени Рурк из книги Эйна Рэнда " Полностью эксперимент в разделении времени завершился не так уж и плохо. Причиной этому было создание новой системы с разделением времени, системы, душой которой была Хакерская Этика. Ядро системы было написано Гринблаттом и Нельсоном за несколько недель упорного хакинга. После того как некоторая часть программного обеспечения была написана, Том Найт и остальные сделали необходимую для него настройку оборудования, а также добавили память — состоявшую из большого шкафа, шириной в обхвате как две стиральных машины Landromat, которая немедленно получила прозвище Moby Memory. Администрация одобряла работу хакеров над системой, поэтому Гринблатт и остальные пользовались полной властью в отношении того как ее следует делать. Признаком того что эта система отличается от остальных (такой, например, как Совместимая Система с Разделением Времени CTSS) было название, которое дал этой хакерской программе Том Найт: Несовместимая система с разделением времени (Incompatible Time-sharing System (ITS). Название было ироничным, в плане дружественности остальных систем и программ, ITS была куда как более совместима, чем CTSS. В соответствии с Хакерской Этикой, ITS могла быть легко связана с другими вещами, таким образом, что она могла бесконечно расширяться, а пользователи могли пробовать этот мир более эффективным способом. Как и в любой системе расширения времени, на ITS несколько пользователей могли запускать несколько программ одновременно. Но в этой системе один пользователь мог одновременно запускать несколько программ. В ITS делался сильный акцент на использование преимуществ дисплеев, в частности была реализована весьма продвинутая система редактирования, которая работала в полноэкранном режиме («за несколько лет до того как этим начался пользоваться весь остальной мир», —позднее хвастался Гринблатт). Так как хакеры хотели, чтобы машина работала максимально быстро (так же как и в однопользовательском режиме), Гринблатт и Нельсон написали код на машинном языке, который позволял осуществлять беспрецендентный контроль над системой разделения времени. Внутри ITS было еще более сильное олицетворение Хакерской Этики. В отличие от остальных систем с разделением времени ITS не использовала паролей. Она была сделана так, что позволяла хакерам иметь доступ к В ITS также сохранялось чувство сообщества, которое было у хакеров, когда на машине работал только один пользователь, а все остальные грудились вокруг и смотрели что он кодирует. Посредством хитрой координатной коммутационной системы, пользователь не только мог определить, кто еще работал в системе, просто набрав команду, но и переключиться на монитор пользователя. Можно было работать одновременно с другим пользователем. Например, Найт мог войти в систему, обнаружить что Госпер сидит на другом порту, вызвать его программу, а затем писать свой код в программу, которую хачил Госпер. Данное свойство использовалось всеми возможными способами. Позже, когда Найт делал сложные графические терминалы, могло быть так, что пользователь сидел в тяжких раздумьях над своей программой, и вдруг, внезапно на экране появлялся шестиногий… Доверие, которое ITS оказывала пользователям, наилучшим образом проявлялось в обращении с проблемой умышленных выводов системы из строя. Раньше, хакерский обряд посвящения заключался в выводе из строя системы с разделением времени и нанесения ей таких увечий, что регистры перегружались избыточными расчетами и система «вешалась». Становилась полностью мертвой. Позднее хакеры выросли из этого деструктивного режима, но часто случалось, что это представляло собой существенную проблему для тех, кто с этой системой работали. Чем больше запоров и замков было навешано на систему, тем больший соблазн испытывал какой-нибудь случайный хакер для того чтобы поставить систему на колени. Multics, например, чтобы вывести его из строя, требовал весьма нетривиального хака. Так что всегда находился какой-нибудь «мачо», который самоутверждался вешая Multics. ITS, в полную противоположность этому имела специальную команду с помощью которой можно было завесить систему. Все что для этого надо было сделать — просто набрать KILL SYSTEM, после чего PDP-6 с хрустом останавливалась. Идея заключалась в том, чтобы повеселиться над тривиальностью того, как это можно было делать. В редких случаях, какой— нибудь лозер мог посмотреть на доступные команды и сказать: «Эй! А что делает команда KILL?», после чего завешать всю систему. В общем и целом, ITS была доказательством того что лучшая система безопасности заключалась в отсутствии всякой безопасности. Естественно, что как только ITS начала работать на PDP-6, на систему обрушился шквал желающих отлаживать систему, который не спадал еще в течение десяти лет. Гринблатт был самым выдающимся из тех, кто тратил все свое время на «хакинг ITS», разыскивая ошибки, добавляя новые свойства и заставляя части кода работать быстрее. Так что ITS стала своего рода домом для системных хакеров. В том мире, который представляла из себя лаборатория ИИ, роль системных хакеров была в самом центре. Хакерская Этика позволяла любому работать на ITS, но публичные последствия системного хакерства, отбрасывали неприятный оттенок на качество вашей работы. Если вы пытались улучшить ассемблер MIDAS или отладчик ITS-DDT и если вы допускали серьезную ошибку, то все программы начинали вешаться и люди начинали пытаться выяснять , кто тот лозер, который все это устроил. С другой стороны, ничто не имело большего вызова хакерству, чем качество системного хакинга. Те кто отвечали за планирование работы не воспринимали системный хакинг с должным уважением. Их больше заботили приложения, использовавшие компьютеры, которые позволяли идти дальше, позволяли создавать полезные концепции и средства на пользу человечества. Для хакеров система была конечной целью сама по себе. Большинство хакеров, было очаровано системами еще начиная со своего детства. И они забросили в своей жизни все остальное, после того как поняли, что наилучшим средством в создании систем являлся компьютер. Вы могли его использовать не только для того чтобы создавать системы фантастической сложности, сколь роскошные, столь же и эффективные, но затем, при помощи таких операционных систем как ITS, тот же самый компьютер сам мог быть системой. И красота ITS проявлялась сама, делая более легким написание программ, которые бы в ней потом работали, упрашивая вас добавить в нее новые свойства, и прочие «звонки и свистки». ITS была хакерским жилищем, и любой мог сделать его для себя более удобным и красивым, найдя в нем свою собственную маленькую нишу. ITS была идеальной системой для построения… других систем. Это была бесконечная логическая спиральная петля. По мере того как люди использовали ITS, они могли принимать некоторое конкретное новое свойство или нет, но как правило они думали лишь о том, как улучшить систему. Это было естественным, потому что важный постулат хакерства утверждал, что ни одна программа не является законченной. Когда вы завершаете системную программу, будь это нечто столь трудоемкое как ассемблер или отладчик, или нечто столь же быстрое (и как вы надеетесь) столь же элегантное, как интерфейс для мультиплексора вывода, то вы одновременно создаете средство, которое создает почву для хакерства на более высоком уровне. И это является специфичным циклическим процессом, практически одухотворенным, в котором системный программист является обычным пользователем системы, которую он улучшал. Множество по настоящему виртуозных программ возникли из временных решений для преодоления досадных препятствий, которые возникали на пути хакеров на их пути к оптимальному программированию. (Настоящее оптимальное программирование, конечно, могло достигаться только когда между вами и истинным компьютером не существовало никаких препятствий, это был идеал, которого можно было достичь только в случае, если бы хакерам удалось вживить себя в компьютер). Программы, которые писали ITS хакеры, помогали им писать более легко другие программы, помогали им более быстро работать, и использовать мощность компьютера в большей степени. Так что не только хакеры, получали большое удовлетворение от написания гениальных системных программ, которые были средством, которое мог использовать каждый. Начиная с этого момента, хакер шел еще дальше, делая системные программы нового поколения. Приведем выдержку из сообщения, написанного хакером Доном Истлейком спустя пять лет после начала работы ITS. «Система ITS не является результатом „человеческой волны“ или сокрушительных усилий. Система постепенно и практически непрерывно разрабатывалась, начиная с самого начала. Действительно, большие системы никогда не бывают „завершенными“… В общем, про систему ITS можно было сказать, что она реализована дизайнерами и разработана пользователями. Проблема нереалистичного дизайна программного обеспечения существенно уменьшается, когда дизайнер непосредственно участвует в разработке. А имплементору становится легче программировать, и он чувствует большую гордость за свою работу, когда он в известном смысле, является дизайнером. Свойства, вносимые в систему, почти наверняка будут широко использоваться, если конечные пользователи занимаются непосредственным дизайном, и они наверняка не будут слишком сложными если дизайнеры этих свойств одновременно являются их пользователями». Сочинение было достаточно сжатым, но основная его идея была понятна — ITS была самым сильным проявлением Хакерской Этики. Большинство из принимавших участие в проекте полагало, что данный подход должен стать национальным стандартом для повсеместной реализации систем с разделением времени. Позвольте каждой компьютерной системе на земле нести это хакерское слово, устраняя при этом одиозную концепцию паролей, подстегивая ничем не сдерживаемую практику непосредственного отлаживания систем, и демонстрирования синергетической мощи возникающей из обобществленного программного обеспечения, где программы принадлежали не автору, а всем пользователям компьютеров. В 1968 году большие компьютерные фирмы, организовали собрание в Университете штата Юта для того чтобы решить, какая из стандартных систем с разделением времени будет использоваться в последней машине разработки DEC — PDP-10. «Десятка» была очень похожа на PDP-6, и одна из систем, которая на ней использовалась по соглашению с фирмой, была как раз хакерская Несовместимая система с разделением времени ITS. Другой системой была TENEX, написанная фирмой BBN, и которая еще была не доведена до конца. Гринблатт и Найт на этой конференции представляли МТИ, что было весьма необычным зрелищем — два странноватых хакера, которые пытались навязать бюрократическому сборищу из многих десятков больших контор, идею вложения их оборудования на многие миллионы долларов, в систему, которая, для начала, даже не имела встроенной системы безопасности. У них ничего не вышло. Найт позднее говорил, что все дело было в политической наивности и простодушии хакеров из МТИ. Он догадывался, что главная проблема заключалась в том, что еще до созыва конференции было понятно что, избрание системы, построенной на принципах хакерской этики было бы чересчур радикальным шагом для этих организаций. Но Гринблатт позднее настаивал на другой версии событий: «Мы могли бы взять верх, если бы мы действительно захотели», но «плата вперед», как он говорил, была более важной. Для Гринблатта распространение Хакерской Этики за пределы Кембриджа не играло особой роли. Для себя он считал более важным сконцентрироваться на сообшестве в ТехСквере, хакерской Утопии, которая ошеломляла мир, применяя Хакерскую Этику для создания еще более совершенных систем. |
||
|