Изменить стиль страницы

Для него не было границ. Он использовал и PDP-1 в Клудж Комнате и более новую машину в Project MAC. Когда остальные пользовались PDP-1 с ее ограниченным набором команд, то они сетовали на то, что они вынуждены использовать для одной операции несколько инструкций, и должны придумывать множество подпрограмм, для того чтобы нормально писать программы. Нельсон мог бамить код и на той и на другой машине максимально эффективно, но на самом деле ему хотелось, чтобы на машине было больше инструкций. Заставить компьютер понимать дополнительные инструкции было весьма непростой операцией. Когда на TX-0 прошивались новые команды, ее пришлось полностью останавливать, в то время как официальные Жрецы, тренированные до уровня как минимум Римского Папы, выполняли хирургическую операцию на ее мозге. Выглядело логичным в данной ситуации, что университет никогда бы не позволил младшекурсникам лазить во внутренности и трогать деликатные части фантастически дорогого компьютера.

Никогда.

Более того, Дэн Эдвардс, один из дипломников Минского, который принимал участие в хакинге «Космических войн», взвалил на себя роль добровольного защитника компьютерного железа. Как вспоминал Госпер, Эдвардс объявил что «любой, кто в состоянии заменить ленту в принтере, должен держаться от этого места как можно дальше!». Хакеров мало заботило, что университет разрешал, а что нет, а уж что думал по этому поводу Дэн Эдвардс, их волновало еще меньше. Его властная позиция, подобная той, которую занимало большинство бюрократов, расценивалась как катастрофа.

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

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

Маргарет Гамильтон не пользовалась хакерским ассемблером MIDAS, вместо него для своей программы Vortex она использовала ассемблер DECAL, официально поставляемый фирмой DEC, и который хакеры считали ужасным. Они никогда не думали о том, что DECAL , в отличие от MIDAS, может обрабатывать командный код по-другому. На его способ обработки команд оказывало влияние незначительное опережающее падение напряжения, получавшееся из-за добавления двух диодов между строками «добавить» и «сохранить». Маргарет, конечно же, ничего не знала о хирургической операции, которую машина перенесла прошлой ночью, поэтому она не сразу поняла причину, из-за которой ее программа Vortex, после того, как она ее загрузила с перфоленты при помощи ассемблера DECAL вдруг… повисла. Прекратила работать. Померла. Было загадочным то, что ранее работавшая программа вдруг ни с того, ни с сего перестала реагировать на внешние раздражители. И хотя программы так поступали довольно часто, именно в этот раз, Маргарет пожаловалась на происходящее. Естественно, что те, кому она пожаловалась, попытались разобраться в том, что произошло, и заглянули в компьютер. Кто-то показал пальцем на Общество Полуночного Перешивания Компьютеров. После чего начались то, что и должно было произойти — разбор «полетов» и объявления выговоров.

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

Этот хак со светом имел неожиданные последствия. Редактор TECO, если пользователь делал ошибку, звонил в колокольчик на телетайпе. Обычно не было никаких проблем, но по некоторым дням машина начинала вести себя странно и становилась крайне восприимчивой к броскам напряжения, которые создавал звонок на телетайпе. И если кто-то делал ошибку при работе в TECO, то звонил звонок, и машина начинала вести себя в соответствии с собственными желаниями. Компьютер полностью терял контроль, он начинал лихорадочно печатать, звонить в звонок, и что самое неожиданное, выключать и включать в комнате свет. Компьютер неистовствовал! Полный Армагеддон! Хакеры считали это крайне забавным. Люди, которые отвечали за работу лаборатории, в особенности Марвин Минский, очень хорошо понимали такие вещи. Марвин, как называли его хакеры (хотя они непременно называли друг друга по фамилии), знал что Хакерская Этика придает работе лаборатории продуктивность, а поэтому он не собирался подавлять основные моменты хакерства. С другой стороны, здесь еще был Нельсон, который постоянно ходил по краю обрыва — крутой «перец», который стал еще более «жгучим» по сравнению с тем моментом, когда его взяли с поличным за телефонным хакерством. В общем, что-то надо было делать. Поэтому Минский обратился к своему хорошему другу, которого звали Эд Фредкин, и рассказал ему, что у него есть проблема в виде невероятно умного молодого девятнадцатилетнего парня, который страстно любит заниматься технически сложным озорством, в связи с этим обладает невероятным талантом нарываться на неприятности. Вопрос, который задал Минский, звучал так: «Не мог бы Эд взять его к себе на работу»?

* * *

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