bannerbannerbanner
Хакеры. Как молодые гики провернули компьютерную революцию и изменили мир раз и навсегда

Стивен Леви
Хакеры. Как молодые гики провернули компьютерную революцию и изменили мир раз и навсегда

Перспектива службы на флоте была просто ужасна. Во время своей летней работы он столкнулся с жалкой системой, которая была противоположна хакерской этике. Программистов держали в комнате, полностью отделенной от машины; иногда, в награду за многолетнюю службу, особенно выдающемуся работнику позволялось подойти к компьютеру и посмотреть, как работает его программа. Одна женщина, как гласит история, получила эту привилегию, вошла в комнату, увидела мигающие огоньки и жужжащие диски и упала в обморок. Кроме того, начальник флота Госпера был из тех, кто не мог понять, почему логарифм суммы в уравнении не равен сумме логарифмов. Ни за что на свете Билл Госпер не смог бы работать под началом человека, который не знает таких простых истин.

Кроме того, Госпер подозревал Univac в тайных связях с ВМФ. Он считал машину Univac неуклюжим гигантом, гротескной пародией на компьютер. ВМФ не мог не понимать, что этот компьютер, по сути, липовый, и все же использовал его, – это был классический пример… бюрократии. Работать на компьютере Univac было равносильно погружению в ад. Госпер использовал компьютеры для поиска решений, которые никто никогда раньше не находил, и было очень важно, чтобы он был оптимальным во всех отношениях. PDP‐6 была лучшей машиной, которую он видел, и Госпер был полон решимости не променять ее ни на что, особенно на ужасный Univac. «Если я вижу, что у машины есть какая-то невероятная тупость, некая ошибка в ее конструкции или что-то еще, это просто раздражает меня до чертиков, – позже объяснял Госпер, – а PDP‐6 всегда казалась мне совершенной машиной. Если вам что-то в ней не нравилось, вы могли это изменить. В каком-то смысле мы жили внутри этой проклятой машины. Это была часть нашего окружения. Там было почти целое общество… Я не мог представить свою жизнь без PDP‐6».

Госпер был полон решимости найти деньги, чтобы расплатиться с флотом, и заработать их он собирался в компании с PDP‐6. Его желание сбылось: он получил работу в фирме, в которой Гринблатт работал в прошлом году, Charles Adams Associates. Тот факт, что эта компания так и не смогла полностью наладить работу своего PDP‐6 (Гринблатт настаивал, что он выполнил свою часть работы в плане подготовки компьютера должным образом), похоже, не расстроил Госпера. Его напугал тот факт, что Charles Adams отказалась от проекта и приобрела такого же неповоротливого гиганта Univac, что и ВМФ.

Но к тому времени финансирование проекта MAC увеличилось, и Билл Госпер стал получать зарплату. Ему почти не нужно было менять свои привычки, так как в течение всего своего пребывания в Charles Adams он каждую ночь пропадал на девятом этаже за PDP‐6.

*****

К тому времени Гринблатт уже вовсю занимался хакерством. Одним из первых проектов, с которым он работал на PDP‐6, был компилятор LISP, позволяющий машине запускать последнюю и самую изящную версию языка Джоба Маккарти для искусственного интеллекта. Молодой Питер Дойч написал LISP для PDP‐1, но он работал не слишком эффективно, так как у этой машины было меньше памяти; а LISP, который работал с символами, а не числами, легко переводимыми в двоичный код, пожирал невероятное количество памяти.

Некоторые люди, особенно Госпер, считали, что реализация LISP на PDP‐6 будет бессмысленна. Госпер всегда переживал из-за недостаточной мощности компьютеров, а позже удивлялся тому, насколько невежественными все они были в Лаборатории ИИ, пробуя осуществить невыполнимые задачи и обвиняя в своих неудачах не имеющиеся слабые машины, а самих себя. На старшем курсе Госпер получил задание от Минского – создать дисплей, который мог бы определить, какой перед ним зрительный феномен: бинокулярный или монокулярный. Госперу удалось создать дисплей в форме четырехлистного клевера, который, по крайней мере, отображал тот или иной феномен, но обычно он бился головой о стену, пытаясь выжать из машины больше, чем она могла. Одна из задач, которую Госпер считал невыполнимой, – сделать LISP на PDP‐6 полезным. По мнению Госпера, он мог бы быть хорош в оценке символов, но не более. Он считал затею Минского обманом заставить Гринблатта и других работать над LISP для PDP‐6 глупой.

Но у Гринблатта на этот счет было другое мнение. Хотя он понимал, что LISP на PDP‐6 будет в некой степени хаком, а не полностью прагматичной программой, он видел смысл работать над ним. Это был мощный язык, который помог бы хакерам продвинуться вперед в области искусственного интеллекта: с помощью этого языка компьютеры могли бы выполнять чрезвычайно сложные задачи и даже учиться. У Гринблатта тогда только зарождалось его видение будущего, намек на техническую реализацию хакерской мечты. Поэтому он и еще несколько хакеров, в том числе Коток, ушедший из DEC, начали внедрять LISP на PDP‐6. Они исписали все доски в TMRC кодом и наконец запустили его на машине.

Важнейшие разделы были написаны Гринблаттом и еще одним хакером. Тогда в «Тек-сквер» считалось правильным, если над проектом работали два-три хакера, что было гораздо меньше, чем в IBM, где одна задача поручалась сразу десяткам специалистов, что в итоге заканчивалось бардаком. Но поручить проект кому-то одному было бы тоже неразумно: когда один человек заканчивал свою тридцатичасовую фазу, другой мог продолжить его работу. Это было что-то вроде командного последовательного проекта.

Доработав проект для PDP‐6, хакеры начали интегрировать язык MacLISP (названный в честь проекта MAC) в свои программы и даже в свою речь. Например, в LISP латинская буква «р» (звук [п] в русском языке) используется в качестве предиката; это привело к тому, что хакеры придумали новую схему постановки вопроса. Когда кто-то говорил: «Еда-п?», каждый хакер понимал, что его приглашают поесть. Выражения Т и nill стали обозначать соответственно «да» и «нет». Принятие LISP не уменьшило любовь хакеров к ассемблеру, особенно к элегантному набору инструкций для PDP‐6. Но, как позже поняли Гринблатт и даже Госпер, LISP был мощным системным конструктором, который идеально вписывался в практическую хакерскую этику.

Компания DEC проявила интерес к языку MacLISP, и Коток устроил так, что Гринблатт и остальные поздно вечером отправились в Мейнард работать над программой, вводить свой код и отлаживать его. Все это было частью соглашения между МТИ и DEC, и никто не ставил его под сомнение. Правильнее всего было сделать так, чтобы любая хорошая программа получила максимальное распространение, потому что информация должна быть свободной, а мир мог стать лучше только благодаря ее ускоренному распространению.

После работы над MacLISP Гринблатт был, пожалуй, наиболее авторитетным из системных хакеров на PDP‐6. Новый администратор Лаборатории ИИ, молодой человек с юго-запада страны по имени Рассел Нофтскер, нанял Гринблатта главным образом для поддержания и улучшения органического творения, которое представляло собой компьютерную операционную систему. Но внимание Гринблатта не останавливалось на системах; он активно интересовался концепциями искусственного интеллекта. Он решил использовать эту операционную систему, чтобы сделать что-то важное в области искусственного интеллекта. Поскольку Гринблатт всю жизнь увлекался шахматами, было вполне логично, что он приступил к работе над шахматной программой, которая бы вышла далеко за рамки идей Котока и других шахматных проектов с ИИ – их создавали в различных лабораториях по всей стране.

Как и любой уважающий себя хакер, Гринблатт, задумав что-то сделать, сразу же принимался за это. Никто не просил его презентовать свой проект. Он даже не трудился сообщать о нем своему начальству. Минский не ломал голову над относительными преимуществами этого проекта. Не было никаких инстанций, через которые ему нужно было пройти, потому что в середине шестидесятых, в те первые дни существования Лаборатории ИИ, хакеры сами были этими инстанциями. Это соответствовало хакерской этике, которой интуитивно следовали все хакеры, и Гринблатт использовал ее по максимуму.

Он проанализировал работу программы Котока и понял, что она никуда не годится. Многие хакеры не знали, как играть в шахматы; увлекшись романтикой перестановки фигур компьютером, они забыли о сути игры: съесть фигуры соперника. Программа Гринблатта задействовала сложные методы ИИ, чтобы вычислить ходы в соответствии с определенными критериями, которым, по его мнению, должна соответствовать хорошая игра. Работая с парой других хакеров, Гринблатт участвовал в сессиях блиц-кодирования. Ему удавалось работать на PDP‐6 по четыре часа в день, а по истечении этого времени он продолжал дорабатывать код на бумаге. Ему удалось создать программу, фактически просто играя в шахматы в течение одной недели. Программа была отлажена, снабжена определенными функциями и находилась в центре всеобщего внимания на протяжении нескольких месяцев. Гринблатту в конце концов предложили получить докторскую степень в МТИ, если он напишет диссертацию о своей шахматной программе, но он так и не удосужился этого сделать.

В 1965 году в МТИ была распространена печально известная памятка «Алхимия и искусственный интеллект» корпорации RAND. Ее автор, ученый Герберт Дрейфус, резко критиковал искусственный интеллект и тех, кто этим занимался. Хакерам его критика была особенно вредна, поскольку компьютер был их имплицитной моделью поведения, по крайней мере, в их понимании теории информации, справедливости и действия. Дрейфус сделал упор на смехотворно ограниченную структуру компьютера по сравнению со структурой человеческого мозга. Окончательно всех добило его грубое утверждение, что никакая компьютерная программа не сможет обыграть в шахматы даже десятилетнего ребенка.

После того как Гринблатт закончил свою шахматную программу MacHack, MТИ пригласил Дрейфуса сыграть с программой на PDP‐6. Хакеры собрались вокруг стола, чтобы посмотреть, как компьютерное детище Ричарда Гринблатта играет с этим дерзким, худым и рыжеволосым очкариком – противником компьютеров. Первопроходец искусственного интеллекта Герберт Саймон, который наблюдал за матчем, позже сказал:

 

«…это было невероятно. Они напоминали сражающихся друг с другом шахматистов-новичков <…> программа обыгрывала Дрейфуса с достаточно сильным отрывом, и тогда Дрейфус нашел ход, при котором смог бы съесть ферзя противника. У программы был один выход: сдерживать Дрейфуса с помощью своего ферзя до тех пор, пока ей не удастся сделать вилку, напав на его ферзя и короля. Программа именно так и поступила. После этого стратегия Дрейфуса развалилась на куски, а затем ему был поставлен мат прямо в центре доски».

Питер Самсон позже вспоминал сцену сразу же после поражения Дрейфуса: побежденный критик озадаченно оглядел собравшихся профессоров МТИ и хакеров, включая Гринблатта, смотревшего на Дрейфуса победителем. Почему они не кричат, не аплодируют, не удивляются? Потому что они заранее знали исход игры. Дрейфус был частью того реального мира, который никак не мог смириться с удивительной природой компьютеров и не понимал, как можно работать с PDP‐6 так тесно, что он стал частью жизни человека. Это было нечто такое, чего Дрейфус никогда не поймет. Даже Минский, который никогда по-настоящему не погружался в тридцатичасовой марш-бросок и не работал по семь дней в неделю на ассемблере, не испытал того, что испытывали хакеры. Хакеры, такие как Гринблатт и Госпер, знали, каково это, и жили в таком режиме, придумывая разные вещи, меняя свой мир и делая его лучше. Они не хотели переубеждать скептиков, посвящать внешний мир в компьютерные тайны или проповедовать хакерскую этику. Все это было далеко не так интересно, как жить хакерством.

Глава 5
Полуночное общество перепрошивателей компьютеров

Гринблатт – системный хакер и разработчик приложений. Госпер – метафизический исследователь и мастер на все руки. Вместе они были двумя сторонами техно-культурного треугольника – опоры хакерской этики, благодаря которой ее принципы стали основными в МТИ. Третья сторона треугольника – Стюарт Нельсон – появилась осенью 1963 года.

Вскоре после появления Стью Нельсона хакеры заметили у него способность проникать в электронные миры, раскрывая его потенциал мастера-мага, последователя хакерской этики. Как это обычно и бывает, Нельсон приехал за неделю до начала учебы. Он был невысок и молод, молчалив, с вьющимися волосами, бегающими карими глазами и неправильным прикусом, который придавал ему вид маленького любопытного грызуна. Как грызун ищет себе пищу, Стюарт Нельсон искал сложное электронное оборудование, с которым мог бы побаловаться, и вскоре нашел его в МТИ.

Все началось с WTBS – университетской радиостанции. Студент – сотрудник станции Боб Клементс, который позже будет заниматься хакерством на PDP‐6, показывал группе первокурсников комнаты управления. Он открыл дверь в комнату со сложным оборудованием и обнаружил там Стью Нельсона – «пронырливого подростка, держащего в руках телефонные провода и радиотрансмиттер», как вспоминал позже Клементс.

В конце концов в комнате Клуджа Нельсон обнаружил PDP‐1. Эта машина очень взволновала его. Он увидел дружелюбный компьютер, до которого можно было дотронуться, и с уверенностью, которая, по мнению Гринблатта, была присуща прирожденным хакерам, приступил к работе. Он сразу же заметил, что к компьютеру был подсоединен внешний динамик, и понял, что программа Питера Самсона выдавала на него музыку. Итак, однажды ночью, очень поздно, когда Джон Маккензи и сотрудники, обслуживающие TX‐0, спали в своих кроватях, Стюарт Нельсон занялся программированием PDP‐1, и довольно быстро обучил PDP‐1 некоторым новым трюкам. Он запрограммировал сигналы определенной тональности, которые звучали из динамика и улавливались микрофоном университетского телефона в комнате Клуджа. Эти сигналы перепрошили телефонную сеть университета, заставив подчиняться командам Нельсона.

И сеть реально подчинялась. Благодаря его программе он мог дозваниваться по любому номеру в МТИ, затем до обсерватории Хейстек (подключенной к системе МТИ), а там, не встречая сопротивления, до любого абонента на планете. Все это стало возможно потому, что особые тональные сигналы, которые Стью Нельсон генерировал с помощью PDP‐1, в точности копировали те, что телефонная компания использовала для звонков по всему миру. Стью Нельсон знал, что может свободно путешествовать по всей телефонной сети, не заплатив ни цента.

Стью Нельсон стал в каком-то смысле алхимиком, новым королем хакеров. Он произвел сильное впечатление на программистов, работающих на PDP‐1. Они не понимали, как первокурсник колледжа в одиночку смог заполучить контроль над почти сто лет функционирующей телефонной сетью, и сделал это не для получения прибыли, а ради забавного эксперимента. Слухи о подвигах Нельсона распространились, и он стал известным в TMRC и в комнате Клуджа; вскоре некоторые из наиболее подозрительных людей, работающих на PDP‐1, стали рассуждать о том, не зашел ли он слишком далеко. Гринблатт так не думал, как и любой истинный хакер: они творили подобное в TMRC в течение многих лет; и если Нельсон сделал шаг вперед, то это был положительный результат хакерской этики. Но когда Джон Маккензи услышал об этом, он приказал Нельсону остановиться, хотя понимал, что вряд ли прекратит его поиски знаний в области системных устройств. «Как вообще можно остановить такой талант?» – позже задумался он. Как покажет время, должно было произойти очень многое, прежде чем Стью Нельсон остановится. Хотя в каком-то смысле это нескончаемый процесс.

Деятельность первокурсника Нельсона не была столь поразительной по сравнению с его жизнью до МТИ. Родившийся в Бронксе, Нельсон был сыном инженера-физика, который принимал участие в разработке технологий цветного телевидения. Его родителям даже не пришлось завлекать Стюарта – у него и так был прирожденный интерес к электронике. Интересоваться ей было для него так же естественно, как ходить, и в пять лет он уже собирал детекторные радиоприемники. В восемь лет он работал над двухрелейной охранной сигнализацией. Он не проявлял интереса к школе, но его тянуло в магазин радиодеталей, благодаря которому он мог постоянно экспериментировать. Вскоре матери других детей запретили им играть со Стюартом – они боялись, что эксперименты Стюарта могут быть опасными. Их страх не был безосновательным, ведь Стью возился с мощными радиолампами и транзисторами, подключенными к 110‐вольтовой электросети. Стью иногда получал такие сильные удары тока, что его сильно трясло. Позднее он рассказывал, что однажды его устройство пролетело половину комнаты и разлетелось вдребезги. После одного особенно сильного удара он поклялся больше не играть с электричеством, но через пару дней снова взялся за дело. Стюарт Нельсон был подростком-одиночкой, работающим над фантастическими проектами.

Стью обожал телефон. Когда его семья переехала в Хэддонфилд, штат Нью-Джерси, он обнаружил, что, щелкая рычагом, на который кладется трубка, можно набрать номер. Когда незнакомый голос на другом конце провода говорит: «Алло!.. Да?.. Алло!!!», понимаешь, что это устройство подключено к системе, и исследовать ее можно бесконечно. В середине 1950‐х годов Стюарт Нельсон начал собирать гаджеты, которые мало кто видел из его соседей, такие как автоматические номеронабиратели и многоканальное оборудование для автоматической передачи вызова с одной линии на другую. Он научился обращаться с телефонной аппаратурой с той же ловкостью, что и художник с кистью. Знакомые с Нельсоном вспоминали, что он, наткнувшись на телефон, немедленно разбирал его: сначала снимал фильтр, который не позволяет звонящему слышать звуки набора номера, а затем вносил некоторые изменения, чтобы телефон набирал номер значительно быстрее. По сути, он перепрограммировал телефоны, в одностороннем порядке отлаживая оборудование компании Western Electric.

Отец Стью умер, когда ему было четырнадцать, после этого они с матерью переехали в Покипси, штат Нью-Йорк. Он договорился с учителями средней школы, что будет чинить их радиоприемники и телевизоры, а они будут закрывать глаза на его прогулы. Вместо занятий Стюарт проводил время на маленькой радиостанции неподалеку. Нельсон, как он сам скажет позже, «в значительной степени собрал ее воедино», соединяя оборудование, настраивая передатчик, находя источники шума и помех в системе. На радиостанции он был главным инженером, а иногда и диджеем. Каждый сбой в системе был новым приключением, новым приглашением исследовать, попробовать что-то новое, увидеть, что может произойти. Для Стюарта Нельсона желание узнать, что может произойти, было главным оправданием, более весомым, чем самозащита или временное помешательство.

С таким отношением к технике он органично вписался в TMRC и в группу людей, работающих на PDP‐1. В Клубе и ранее интересовались «телефонным хакингом»; с появлением Нельсона этот интерес только усилился. Помимо того, что Нельсон был техническим гением, он брался за проблемы с тем же упорством, с каким хищник преследует свою жертву. «Он не рассуждал о проблемах, а делал то, что поможет их решить, – вспоминал позже Дональд Истлейк, хакер и одноклассник Нельсона. – Он был очень настойчив. Если вы попробуете несколько раз и сдадитесь, вы никогда не доберетесь до решения. Но если вы будете настойчиво продолжать… В мире много проблем, которые действительно можно решить, проявляя в разы больше настойчивости, чем обычно».

Нельсон демонстрировал расширение хакерской этики – если бы мы ни перед чем не останавливались в нашем стремлении, то совершили бы больше открытий, изобрели бы больше полезных вещей и обладали бы большим контролем над происходящим. Естественно, телефонная сеть была первым объектом исследования Нельсона в МТИ. Сначала PDP‐1, а затем PDP‐6 были идеальными инструментами для исследований. Но даже отправляясь в эти электронные путешествия, Нельсон придерживался неофициальной хакерской этики. Вы можете звонить куда угодно, пробовать что угодно, экспериментировать сколь угодно, но вы не должны делать это ради финансовой выгоды. Нельсон не одобрял тех студентов МТИ, которые строили так называемые синие коробки – аппаратные устройства BlueBox, с помощью которых можно было дозваниваться куда угодно за счет оператора связи. Нельсон и некоторые другие хакеры полагали, что должны помогать телефонной компании. Их идея была в том, чтобы получить доступ к приоритетным телефонным линиям компании в различных местах по всей стране и протестировать их. Если с линиями возникнут проблемы, они сообщат об этом инженерам компании.

Чтобы осуществить это, нужно было выдавать себя за технических работников компании Bell Telephone System. Хакеры были весьма убедительны в этом, особенно после прочтения таких подпольных книг, как Principles of Electricity and Electronics Applied to Telephone and Telegraph Work, Notes on Distant Dialing и выпусков журнала Bell System Technical.

Вооружившись этой информацией, можно было «путешествовать» по всему миру, говоря оператору: «Я звоню с тестовой станции в Хакенсаке и хотел бы, чтобы вы переключили меня на Рим. Мы пытаемся проверить такую-то линию». Оператор записывает ваш номер, переключает на другой номер, и вскоре вы уже спрашиваете телефонистку в Италии, какая там погода. Также вы могли использовать PDP‐1 как BlueBox, позволяя устройству перенаправлять вызовы, пока вы не подключитесь к определенному номеру в Великобритании и не услышите, например, детскую сказку. Такое можно было осуществить только с помощью BlueBox.

В середине шестидесятых годов телефонная компания развернула систему бесплатных телефонных номеров с кодом 800. Естественно, хакеры сразу же узнали об этом. С научной точностью они попытались нанести на карту зону покрытия: по номерам с этим кодом можно было дозвониться в совершенно разные места от Виргинских островов до Нью-Йорка. В конце концов сотрудник телефонной компании позвонил на телефон, стоящий рядом с компьютером в МТИ, и спросил, почему с этого номера было совершено четыре сотни звонков в места, которые, по мнению телефонной компании, не существовали. Бедному Кембриджскому филиалу телефонной компании приходилось иметь дело с хакерами МТИ и раньше (и этот раз был не последним). Однажды они ворвались на девятый этаж «Тек-сквер» и потребовали, чтобы хакеры показали им BlueBox. Хакеры указали на PDP‐6. Озадаченные чиновники пригрозили забрать весь компьютер, если хакеры не отсоединят от нее телефонное оборудование и не отдадут им.

Хотя первоначальный интерес Нельсона к PDP‐1 был связан с фрикерством (телефонным взломом), он интересовался и другими возможностями компьютера и в итоге начал программировать во всех возможных направлениях. Чем больше он программировал, тем лучше у него получалось и тем больше ему хотелось продолжить. Он садился за спиной какого-нибудь аспиранта, писавшего программу, и морально давил на него, из-за чего аспирант возился еще дольше. Наконец Нельсон не выдерживал: «Если я помогу вам, вы дадите мне поработать за компьютером?» Аспирант, который, наверное, пытался решить свою задачу уже несколько недель, соглашался, хотя и не верил, что этот странный парень поможет ему. Нельсон моментально отталкивал его и садился за консоль, вызывая программу редактирования TECO и вводя код с ошеломляющей скоростью. Через пять минут он вскакивал, чтобы вырвать напечатанный результат из телетайпа Model 33 по соседству, бежал обратно к компьютеру, вытаскивал ленту с программой аспиранта и отправлял его восвояси, а потом приступал к своей работе.

 

Он не знал границ. Он работал как на PDP‐1 в комнате Клуджа, так и на более новой машине проекта MAC. Все, кто садились за PDP‐1 с ограниченным набором инструкций, часто жаловались, что им приходится использовать несколько инструкций для выполнения простой операции, а также писать подпрограммы для решения своей задачи. Нельсон максимально эффективно втискивал код на обоих компьютерах, хотя на самом деле ему тоже хотелось, чтобы на машине было больше инструкций. Добавить дополнительные инструкции в компьютер – весьма неординарная задача. Когда поступали новые инструкции для TX‐0, машину выключали, пока технические гуру – посвященные жрецы – проводили необходимые операции на «мозге» компьютера. Это казалось вполне логичным – никто и представить не мог, что университет позволит студентам-первокурсникам влезть в мозг фантастически дорогого компьютера.

Никогда! Более того, Дэн Эдвардс, один из аспирантов Минского, который в числе прочего приложил руку к хаку Spacewar! оберегал компьютер как зеницу ока. По словам Госпера, Эдвардс как-то заявил: «Любой, кто осмелится хотя бы поменять ленту в принтере, будет навсегда изгнан из этого места!» Но хакерам было все равно, что разрешал или не разрешал университет. То, что думал Дэн Эдвардс, волновало их еще меньше: его авторитет, как и авторитет большинства бюрократов, считался недоразумением.

Нельсон считал, что добавление регистров к памяти несомненно улучшит работу машины. Возможно, на это потребуются месяцы, и если он сделает это сам, то узнает немного больше о том, как все устроено. Так что однажды вечером Стюарт Нельсон спонтанно созвал Полуночное общество перепрошивателей компьютеров. Это была особая организация, которая, когда того требовала наука, обходила правила МТИ относительно несанкционированного вмешательства в дорогие компьютеры. В тот вечер Общество перепрошивателей, состоявшее из Нельсона, сотрудника-студента и нескольких заинтересованных наблюдателей, приступило к перепрошивке PDP‐1. Нельсон закоротил парой диодов контакты строк Add («Добавить») и Store («Сохранить») декодера команд, что позволило добавить новый операционный код, причем с сохранением всех имеющихся инструкций. Затем он собрал машину, приведя ее в первозданное состояние.

В ту ночь хакеры протестировали компьютер, и он прекрасно работал. Но на следующий день Маргарет Гамильтон появилась на девятом этаже, чтобы поработать над программой Vortex – частью ее проекта по моделированию погоды. Маргарет только начинала карьеру программиста, и проект Vortex был для нее очень важен. Позже она станет программировать бортовые компьютеры космического корабля «Аполлон». Она хорошо знала повадки хакеров на девятом этаже и даже дружила с некоторыми из них, хотя в ее голове все они сливались в один собирательный образ – образ неопрятного, хотя и вежливого молодого человека, чья любовь к компьютеру лишила его разума.

В своей программе Vortex Маргарет использовала не хакерский ассемблер MIDAS, а официальный DECAL, который хакеры считали абсолютно ужасным. Поэтому, разумеется, Нельсон и общество перепрошивателей, тестируя машину прошлой ночью, даже не задумались, как официальный ассемблер отреагирует на перепрошивку. Они никогда даже не рассматривали, что ассемблер DECAL получит доступ к инструкции иным способом из-за небольшой потери прямого напряжения после пайки двух диодов между строками ADD и STORE. Маргарет, конечно же, не знала, что прошлой ночью PDP‐1 был перепрошит. Поэтому она не сразу поняла причину, по которой ее программа, после того как она загрузила ее с помощью ассемблера DECAL, вдруг зависла. Перестала работать. Умерла. Таинственным образом перестала функционировать ранее полностью рабочая программа. Хотя программы часто переставали работать по разным причинам, но на этот раз Маргарет пожаловалась на неполадки. Заглянув в компьютер, заподозрили Общество перепрошивателей. Последовал разбор полетов, выговоры…

Но на этом история Полуночного общества перепрошивателей компьютеров не завершилась. Эдвардс и иже с ним не могли бодрствовать всю ночь, карауля машины. Кроме того, Минский и его коллеги, ответственные за проект MAC, понимали, что ночная деятельность хакеров превращается в практический аспирантский курс по логическому проектированию и навыкам работы с аппаратным обеспечением. Нельсон и другие члены Общества перепрошивателей научились работать так, чтобы инциденты, подобные случаю с Маргарет Гамильтон, больше не повторялись. Запрет Лаборатории ИИ на изменение оборудования официально продолжал существовать, но уже устарел, как закон, запрещающий публично бить лошадь в воскресенье. В конце концов, Общество перепрошивателей почувствовало себя достаточно свободно, и по собственному почину добавило инструкции, настроило аппаратуру и даже синхронизировало освещение комнаты на девятом этаже с работой компьютера: когда загружался редактор TECO, свет автоматически тускнел, чтобы было легче читать тест с экрана.

Это последнее изменение имело неожиданные последствия. Если пользователь совершал ошибку, TECO издавал звук, уведомляя об этом. Обычно это не доставляло неудобств, но в некоторые дни машина начинала тупить и становилась чрезвычайно чувствительной к колебаниям напряжения – вроде тех, что вызывал звуковой сигнал. В случае возникновения ошибки раздавался звуковой сигнал, и машина начинала творить непонятно что. Компьютер выходил из-под контроля: он судорожно набирал текст, издавал звуки и, что самое неожиданное, в комнате то тускнел, то ярче загорался свет. Было ощущение, что компьютер взбесился! Научно-фантастический армагеддон!

Хакеры сочли это крайне забавным.

Ответственные за лабораторию, особенно Марвин Минский, очень хорошо разбирались в таких вещах. Марвин, как его называли хакеры (хотя обычно они называли друг друга по фамилии), знал, что именно хакерская этика поддерживает продуктивность Лаборатории, и не собирался вмешиваться в один из важнейших компонентов хакерства. С другой стороны, был Нельсон, постоянно нарушающий правила, – непредсказуемый человек, который становился все более безбашенным, и в конце концов его поймали с поличным при взломе телефонной сети. Надо было что-то делать. Поэтому Минский позвонил своему хорошему другу Эду Фредкину и сказал, что у него возникла проблема с невероятно одаренным девятнадцатилетним парнем, который имел склонность к изощренным шалостям. Минский предложил Фредкину взять Нельсона на работу.

*****

Помимо того, что Эд Фредкин был близким другом Марвина Минского и основателем компании Information International Incorporated (Triple-I), он считал себя величайшим программистом в мире.

Темноволосый, с теплыми карими глазами, спрятанными за очками, которые покоились на носу с легкой интеллигентной горбинкой, Фредкин так и не окончил колледж. Он изучал компьютеры в ВВС США в 1956 году и был одним из первых, кто работал над компьютерной системой противовоздушной обороны SAGE, которая на тот момент считалась самой сложной. Фредкин в группе из двадцати человек был слушателем интенсивного курса, посвященного зарождающейся области вычислений; они изучали барабаны памяти, логику, коммуникации и программирование. Позднее Фредкин рассказывал: «Через неделю все бросили учебу, кроме меня».

1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38 
Рейтинг@Mail.ru