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

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

Весной 1959 года в МТИ для первокурсников внедрили новую дисциплину – курс программирования на компьютере. Учитель с дикой копной волос и непослушной бородой – Джон Маккарти, магистр математики, – был классическим сумасшедшим профессором. Ходили истории о том, как он мог внезапно подойти к вам в коридоре и ответить на вопрос, заданный ему несколько часов или даже дней назад, и ответ оказывался блестящим.

Маккарти входил в узкий круг избранных, работавших в совершенно новой форме научного познания с помощью компьютеров. Переменчивый и противоречивый характер его области исследований был очевиден из названия, которое Маккарти дал ей: «Искусственный интеллект». Он искренне верил в то, что компьютер может быть умным. Даже в таком наукоемком месте, как МТИ, большинство считали такую мысль нелепой. Они считали компьютеры полезными, хотя и абсурдно дорогими инструментами для больших объемов вычислений и разработки систем противоракетной обороны (так с помощью «Вихря» (Whirlwind), самого большого компьютера МТИ, была разработана система раннего оповещения SAGE). Но мысль, что сами компьютеры могут представлять собой объект научного исследования, казалась скептикам смешной. В конце пятидесятых информатика отсутствовала в списке предметов МТИ. Маккарти с коллегами работал на факультете электротехники и предложил к изучению курс № 641, который весной стали посещать Коток, Самсон и другие члены TMRC.

Маккарти запустил на неуклюжем гиганте IBM 704 программу, пытавшуюся играть в шахматы. Для критиков зарождающейся области искусственного интеллекта это был всего лишь еще один пример бездумного оптимизма таких людей, как Джон Маккарти. Но у Маккарти складывалось определенное представление о том, на что могут быть способны компьютеры, и игра в шахматы была только началом.

Все это казалось захватывающим, однако не разжигало интерес Котока, Самсона и их товарищей. Они хотели разобраться с тем, как компьютеры работают. Новый язык программирования, LISP, о котором рассказывал Маккарти в рамках курса № 641, конечно, вызывал интерес. Однако его нельзя было сравнить с фантастическими переживаниями во время акта программирования или получения собственной распечатки «священной» машины – слова, сказанного машиной! Или того интереса, что на протяжении часов помогал им корпеть над программой, разбираясь, что пошло не так, как должно было пойти, и что можно изменить, чтобы улучшить ее работу. Хакеры TMRC искали способы более плотной работы с компьютером IBM 704, вскоре замененным более новой моделью 709. Они проводили все предрассветные часы возле священной комнаты, знакомясь со «жрецами», выражая им свое почтение бессчетное число раз. И, в конце концов, Коток и его друзья получили возможность нажать несколько кнопок на компьютере, наблюдая за результатом.

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

При этом нужно было стремиться минимизировать объем программы, поскольку память компьютеров тех лет была крайне малой. Однажды Джон Маккарти заметил, что его студенты, получившие доступ к машине 704, работали над своими компьютерными программами, извлекая максимум пользы из наименьшего количества инструкций, пытаясь максимально сократить код и уменьшить количество карточек, загружаемых в компьютер. Сокращение программы на одну или две инструкции превратилось для них в навязчивую идею. Маккарти сравнивал их с «лыжными задницами» (ski bums): они испытывали такой же адреналиновый всплеск от сокращения кода, как горнолыжники от бешеной скорости при спуске с горы. Так родился термин «втиснуть программу» (program bumming), означающий доработку программы, ее оптимизацию и сокращение инструкций без потерь в результативности. В лаборатории часто слышалось бормотание в духе: «Может, у меня получится втиснуть программу, сократив количество инструкций и обойдясь тремя карточками вместо четырех».

В 1959 году интерес Маккарти переключился с шахматной программы на создание нового способа общения с компьютером – на язык программирования LISP. Тогда Алан Коток с друзьями взялись за реализацию шахматного проекта. Они обучали этой игре сначала машину 704, затем 709, а после ее замены – и 7090. Постепенно группа Котока стала занимать максимум компьютерного времени во всем вычислительном центре МТИ.

Однако работа с компьютерами IBM не удовлетворяла их. Худшим было ждать результат от момента, когда ты загрузил инструкции в машину, до момента, когда компьютер выдаст ответ. А потеря хотя бы одной буквы в инструкции приводила к фатальной ошибке программы. Весь процесс приходилось повторять с самого начала на фоне огромного количества правил, соблюдение которых требовалось во время работы в вычислительном центре. Большая часть правил была внедрена для физического ограждения машины от контактов с такими фанатиками, как Самсон, Коток и Сондерс. Самое жесткое правило гласило, что никто не имеет права трогать компьютер или вмешиваться в его работу. Но именно этого и добивались члены «энергетического комитета» клуба, и невозможность прикоснуться к машине сводила их с ума.

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

Младший «жрец» с трудом выдавил из себя: «Г-где ты это взял?»

Самсон, взглянув большими зелеными глазами прямо в лицо напуганному инженеру, медленно указал на открытый корпус машины, где, разумеется, никогда и не было этой платы, хотя пространство выглядело подозрительно пустым.

Младший служитель ахнул. По его лицу пробежала гримаса, и его чуть не стошнило. Он бормотал проклятия. Без сомнения, он уже видел в своем воображении, как из его зарплаты вычитают миллионы. Он успокоился, только когда его начальник, немного разбирающийся в психологии одержимых юнцов из TMRC, пришел и все объяснил.

Не только он ощутил на себе гнев хакера, которому запрещали доступ к желанному объекту.

*****

Однажды клуб посетил его бывший член, а ныне сотрудник одного из факультетов МТИ Джек Деннис. Будучи студентом в 1950‐е годы, он с воодушевлением работал над созданием железнодорожных моделей, системы питания и управления под макетом. В последнее же время Деннис работал на компьютере, предоставленном сотрудничающей с университетом военной лабораторией Линкольна. Компьютер назывался TX‐0 – один из первых транзисторных компьютеров в мире. В лаборатории Линкольна TX‐0 использовался для диагностики гигантского компьютера TX‐2, обладавшего настолько сложным устройством, что только с помощью специально созданного младшего брата можно было выявлять его неисправности. Теперь же, после завершения его главной задачи, трехмиллионный TX‐0 отправился в университет в долгосрочную ссылку. Очевидно, в лаборатории Линкольна не ждали его возвращения. Деннис предложил членам клуба посмотреть на новую машину.

Эй, «жрецы» и «послушники»! Не хотите ли познакомиться с папой римским?

Компьютер TX‐0 располагался на втором этаже корпуса № 26, в помещении научно-исследовательской лаборатории электроники, прямо над вычислительным центром, в котором обитал гигант IBM 704. Лаборатория напоминала мостик управления старым космическим кораблем. TX‐0, или «тиксо», как его иногда называли, был для своего времени миниатюрной машиной – одним из первых компьютеров с транзисторами размером в палец вместо радиоламп размером с ладонь. Тем не менее он занимал бо`льшую часть комнаты вместе с пятнадцатью тоннами вспомогательного оборудования для кондиционирования воздуха. Рабочие компоненты TX‐0 размещались на нескольких высоких узких стеллажах, похожих на прочные металлические книжные полки, со спутанными проводами и аккуратными рядами крошечных, похожих на бутылки контейнеров с транзисторами. Другая стойка представляла собой сплошную металлическую переднюю панель, испещренную мерцающими датчиками. Перед стеллажами располагалась L-образная консоль с синей столешницей – пульт управления космическим кораблем из романов Герберта Уэллса. На коротком крыле столешницы стоял флексограф, напоминающий обычную печатную машинку, переделанную военными и заключенную в серый армейский корпус. В верхней части столешницы располагались элементы панели управления в корпусах ярко-желтого цвета. На обращенной к пользователю стороне корпуса располагались датчики, несколько линий мерцающих лампочек в четверть дюйма размером, система металлических переключателей размером с рисовое зерно, и наконец, главное – круглый дымчато-серый дисплей с электронно-лучевой трубкой.

Члены клуба прыгали от счастья. Машина не использовала карточки! Пользователь сначала набирал программу на длинной тонкой бумажной ленте с помощью флексографа (в соседней комнате стояло несколько запасных), затем садился за панель управления, загружал программу, пропуская ленту через считывающее устройство, и сидел там, пока программа работала. Любой сбой обнаруживался сразу, а для диагностики использовались переключатели и сигнальные датчики. Компьютер даже имел аудиовыход: пока программа работала, динамик на панели управления издавал что-то вроде музыки, как плохо настроенный электроорган, чьи ноты вибрировали с нечетким, космическим шумом. Аккорды на этом «органе» изменялись в зависимости от того, какие данные считывала машина в каждую данную микросекунду. Вызубрив эти звуки, фактически можно услышать, над какой частью кода программы работает компьютер. То же понималось и по щелчкам флексографа, придававшим ощущение присутствия на поле боя с пулеметными трелями.

 

Еще более удивительно, что благодаря таким «интерактивным» возможностям, а также благодаря доступности TX‐0, можно было модифицировать программу, сидя за компьютером. О, чудо!

Ничто не могло сдержать Котока, Сондерса, Самсона и других от попыток сесть за компьютер. К счастью, TX‐0 не был огражден такой бюрократией, как IBM 704. Не шатались поблизости «жрецы». Главный инженер, хитрый седовласый шотландец Джон Маккензи, благосклонно допускал членов TMRC в научно-исследовательскую лабораторию электроники к TX‐0, пока остальные выпрашивали официальные разрешения на доступ к компьютеру для работы в своих проектах.

Самсон, Коток, Сондерс и еще один первокурсник, Боб Вагнер, вскоре поняли, что в корпусе № 26 лучше всего работать ночью. На это время никто в здравом уме не записывался, чтобы поработать час-другой на машине. Лист для записи вывешивался каждую пятницу рядом с кондиционером в научно-исследовательской лаборатории электроники. TX‐0 работал двадцать четыре часа в сутки. Компьютеры в то время были слишком дороги, чтобы тратить их время впустую и оставлять простаивать по ночам. Кроме того, запустить выключенный компьютер в то время было довольно сложно. Поэтому программисты TMRC, переименовавшись в хакеров TX‐0, изменили образ жизни, чтобы приспособиться к новому графику. Они записывались на ночные сеансы работы, а если кто-то не являлся в назначенный час, работали и в это время.

– О! – Радостно восклицал Самсон примерно через минуту после того, как записавшийся студент не приходил в указанное в журнале время. – Будь уверен, чувак, время не пропадет даром!

Так и было, потому что хакеры проводили там почти все свое время. Если они не болтались рядом с научно-исследовательской лабораторией электроники в ожидании ее открытия, то играли в помещении клуба в придуманную Самсоном словесную игру в духе «Виселицы». Он назвал ее «Соседняя дверь» (Come Next Door) в ожидании звонка с сообщением, что есть окно для работы на TX‐0. У хакеров появились информаторы, сообщающие им, если вдруг машина оказывалась свободной, например программа в рамках исследовательского проекта не была готова вовремя или заболел профессор. Об этом мгновенно узнавали хакеры и тут же, запыхавшиеся, появлялись в лаборатории TX‐0, готовые схватиться за панель управления.

Теоретически за операцию отвечал Джек Деннис. В то время он вел несколько курсов, а остальное время предпочитал проводить за написанием кода. Деннис играл роль доброжелательного крестника хакеров: вводил их в курс дела, направлял и забавлялся их авантюрами. Однако он не стремился быть главным и с радостью позволял Джону Маккензи управлять делами. Маккензи быстро понял, что интерактивное устройство TX‐0 вдохновляло на новые формы программирования и что хакеры стали пионерами в этом деле. Поэтому запретов с его стороны было немного.

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

В числе странников был Питер Дойч. Еще до знакомства с ТХ‐0 Дойч увлекся компьютерами. Это началось случайно, когда в руки Питера попало брошенное руководство по вычислениям на компьютере. Что-то в строгой упорядоченности компьютерных инструкций привлекло его. Позже он описывал то свое состояние, сравнивая его с трансцендентным восторгом художника, увидевшего натуру для будущей картины: «Здесь мое место». Дойч попробовал написать небольшую программу и, подписавшись именем одного из «жрецов», запустил ее на компьютере. За несколько недель он достиг поразительного мастерства в программировании. В двенадцать лет!

Это был застенчивый ребенок, сильный в математике и неуверенный почти во всем остальном. Тучный, физически слабый, но интеллектуально одаренный подросток, сын профессора МТИ. Естественно, Питер пользовался своим положением, чтобы попасть в лабораторию.

Его участие в работе на компьютере TX‐0 было неизбежным. Сначала он забрел в небольшую «комнату Клуджа» («Клудж» – оборудование, работа которого, кажется, бросает вызов самой логике). Здесь располагались три автономных флексографа для записи программ на бумажную ленту, позднее загружаемую в TX‐0. Сотрудник МТИ в этот момент вставлял ленту. Питер немного понаблюдал за ним, а потом принялся засыпать бедолагу вопросами о необычном маленьком компьютере в соседней комнате. Затем Питер подошел к TX‐0 и внимательно осмотрел его, отметив, чем он отличается от других компьютеров: он был меньше и имел ЭЛТ-дисплей. Виделись в нем и другие привлекательные новшества. Питер тут же решил вести себя как сотрудник с полным правом доступа сюда. Он раздобыл учебник и вскоре стал поражать окружающих серьезными беседами о компьютерах. В конце концов ему разрешили записываться на ночные и выходные смены, чтобы писать собственные программы.

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

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

Эти официально допущенные пользователи появлялись в комнате с TX‐0 с регулярностью пассажиров. Запускаемые ими программы были направлены на статистический анализ, перекрестные связи, моделирование внутренней части ядра клетки. Приложения… Полезно для пользователей, а для хакеров – пустая трата времени. Для них это все равно что сидеть за дроссельной заслонкой самолета. Как сказал Питер Самсон, знатный ценитель классической музыки, производить вычисления с помощью TX‐0 напоминало игру на абсурдно дорогом музыкальном инструменте, импровизировать, сочинять, подобно битникам на Гарвард-сквер в миле отсюда, и петь с полной творческой отдачей.

Такие возможности им стали доступны благодаря системе программирования, разработанной Джеком Деннисом и другим профессором, Томом Стокманом. Когда компьютер TX‐0 появился в МТИ, его характеристики урезали по сравнению с периодом работы в лаборатории Линкольна: память сильно уменьшили до 4096 «слов» по восемнадцать бит в каждом. «Бит» – единица измерения в двоичной системе, либо 1, либо 0. Эти двоичные числа – единственное, что понимают компьютеры. Ряд двоичных чисел называется «словом». Кроме того, к компьютеру TX‐0 практически не прилагалось программное обеспечение. Поэтому Джек Деннис, еще до того, как познакомил членов TMRC с TX‐0, писал «системные программы», помогающие пользователям работать на компьютере.

Первое, над чем работал Деннис, стал ассемблер. Он представлял собой транслятор, переводивший язык ассемблера с трехбуквенными символическими сокращениями, обозначающими команды, на компьютерный язык на основе двоичных чисел 0 и 1. В TX‐0 использовался сильно урезанный язык ассемблера, позволяющий использовать для команд только 2 бита каждого 18‐битного слова. Поэтому были доступны только четыре команды (каждая возможная 2‐битная вариация – 00, 01, 10 и 11 – представляла собой команду). Все, что делал компьютер, сводилось к выполнению одной из четырех команд: для сложения двух чисел требовалась одна команда, а для умножения двух чисел – серия из примерно двадцати команд. Взглянув на длинный список компьютерных команд, записанных в виде двоичных чисел, например, 10011001100001, пользователь терял рассудок. Но та же команда на ассемблере может выглядеть так: ADD Y. После загрузки в компьютер ассемблера Денниса стало возможно писать программы в более простой символической форме и ждать, пока компьютер сам выполнит перевод в двоичный код. А дальше нужно только загрузить полученный код обратно в компьютер. Сложно недооценить это достижение Денниса. Его ассемблер позволял программистам писать код, а не головокружительную серию нулей и единиц.

Другая программа, над которой Деннис работал совместно со Стокманом, – отладчик. TX‐0 поставлялся с отладочной программой UT‐3, взаимодействующей с компьютером во время его работы путем ввода команды непосредственно с флексографа. Но и здесь были большие проблемы. Так, он принимал код только в восьмеричной числовой системе. «Восьмеричная» – система исчисления с основанием 8 (в отличие от двоичной с основанием 2 и арабской с основанием 10). Это сложная в использовании система. Поэтому Деннис и Стокман решили написать нечто лучшее, чем UT‐3, что позволило бы пользователям использовать символический, более простой в работе язык ассемблера. Программа получила название FLIT. Она позволила пользователям находить программные ошибки во время сеанса работы, исправлять их и поддерживать работу программы. Деннис рассказывал, что название FLIT произошло от названия ленты для флексографа. Однако на самом деле источником вдохновения послужил спрей от насекомых одноименного бренда. FLIT, квантовый скачок вперед, позволил программистам создавать действительно оригинальные программы на компьютере подобно тому, как музыканты пишут свои произведения с помощью музыкальных инструментов. С помощью отладчика, занимавшего треть из 4096 слов всей памяти TX‐0, хакеры могли свободно создавать новый, более смелый стиль программирования.

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

И именно Джек Деннис подсказал Самсону, что с помощью TX‐0 можно воспроизводить звуки. Тогда не было встроенных регуляторов высоты, амплитуды звука, однако существовал способ управлять динамиком – на звучание влиял 14‐й бит в 18‐битных словах в памяти TX‐0, загруженный в конкретную микросекунду. Звук включался или выключался в зависимости от того, был 14‐й бит 1 или 0. Так Самсон стал писать программы, меняющие комбинации двоичных символов для получения различных результатов.

В то время лишь немногие в стране экспериментировали, используя компьютер для прослушивания музыки. Используемые методы требовали огромных объемов вычислений, прежде чем машина могла сыграть единственную ноту. Самсон отметал сомнения тех, кто в него не верил и говорил о невозможности достижения результата. Он хотел, чтобы компьютер сразу играл музыку. Поэтому он учился управлять одним битом в памяти компьютера так же искусно, как Чарли Паркер играл на саксофоне. В более поздней версии музыкальной программы Самсон настроил ее таким образом, что при появлении ошибки в коде флексограф переключался и выводил на дисплее: «Ошибаться свойственно людям, прощать – богам».

Посторонних не трогала монотонная мелодия Иоганна Себастьяна Баха, монофоническая волна, лишенная гармонии. Подумаешь! Три миллиона долларов стоит эта гигантская машина. Так почему бы ей не сделать по меньшей мере столько же, сколько может сделать пятидолларовое игрушечное пианино? Бесполезно объяснять, что Питер Самсон фактически воссоздал процесс создания музыки на протяжении многих эпох. Музыка всегда создавалась путем комбинации звуковых вибраций. В программе Самсона оказалось, что музыка заключена в наборе цифр, битов информации, введенных в компьютер. Можно часами смотреть на код и не понимать, где здесь музыка. Она появляется только тогда, когда миллионы поразительно коротких обменов данными происходили в памяти компьютера, расположенной на одном из стеллажей TX‐0. Самсон попросил компьютер, не имевший понятия, что такое голос, спеть, и тот подчинился.

 

Так что эта компьютерная программа и в прямом, и в переносном смысле была музыкальной композицией! Такая же программа, как и те, что производили сложные вычисления или статистический анализ. Код, загруженный Самсоном в компьютер, стал универсальным языком, позволяющим создавать буквально все – от фуги Баха до противовоздушной защиты.

Самсон ничего не стал объяснять людям, не оценившим его достижения. Да и среди хакеров это не обсуждалось. Вряд ли они столь детально анализировали свои успехи. Питер Самсон просто сделал это, а хакеры просто оценили его удачный хак, и этого было достаточно.

*****

Для хакеров вроде Боба Сондерса – лысеющего, пухлого и веселого студента, допущенного к TX‐0, возглавлявшего «энергетический комитет» TMRC, исследователя, – это был идеальный образ жизни. Сондерс вырос в пригороде Чикаго; сколько он себя помнил, работа электрических и телефонных сетей завораживала его. Прежде чем поступить в МТИ, Сондерс отработал лето на работе своей мечты – в телефонной компании, устанавливающей офисное оборудование. Он проводил восемь божественных часов с паяльником и плоскогубцами в руках, работая в недрах коммутационных систем. Идиллию нарушали только обеденные перерывы, во время которых Сондерс досконально изучал технические талмуды. Именно оборудование под макетом железной дороги убедило его принять активное участие в работе TMRC.

Сондерс был уже старшекурсником, когда освоил TX‐0. Его карьера хакера началась позже, чем у Котока и Самсона. Он использовал перерывы в работе для налаживания жизни в социуме, ухаживая за будущей женой Мардж Френч. Мардж не хакерила, а решала задачи разных компьютерных проектов. Тем не менее TX‐0 был центром его существования в университете, а его успеваемость так же страдала от постоянных пропусков занятий, как и у остальных хакеров. Ему было все равно. Он знал, что по-настоящему он учится в комнате 240 корпуса № 26, за панелью управления TX‐0. Годы спустя он описывал себя с товарищами как «элитную группу». «Другие студенты шли на учебу, часами тоскуя в вонючих аудиториях или в лаборатории, соединяя различные частицы или что они там делали. А мы просто не обращали на них внимания. Нас это не интересовало. Они изучали свое, а мы свое. И тот факт, что львиная доля нашей учебы не касалась официального учебного плана, по большому счету ничего не значил».

Хакеры выходили на охоту ночью. Это был единственный способ полноценно поработать на TX‐0. Днем Сондерс обычно умудрялся засветиться на одном-двух занятиях, затем какое-то время тратил на базовые потребности типа поесть и помыться, иногда встречался с Мардж, но в конце концов непременно оказывался в корпусе № 26. Он просматривал распечатки вчерашних программ на бумаге шириной девять с половиной дюймов, используемой флексографом. Вносил изменения, обновляя код для следующего этапа работы. Возможно, ходил в TMRC, чтобы обсудить свою программу, перехватить хорошие идеи и выявить потенциальные ошибки. Затем возвращался в корпус № 26, в комнату Клуджа рядом с компьютерной комнатой, где на одиноком флексографе обновлял код. Все это время он следил, не отменил ли кто-нибудь свой часовой сеанс работы с компьютером. Сам он записывался примерно на два или три часа ночи и ждал в комнате Клуджа или играл в бридж в клубе, пока не настанет его время.

Сидя за пультом управления, Сондерс поворачивался лицом к металлическим стеллажам с транзисторами, каждый из которых хранил некие данные, а затем вставлял бумагу в флексограф, приветствовавший его словом «МОРЖ» – в честь стихотворения Льюиса Кэрролла со строкой «время пришло, – сказал Морж…». Сондерс хохотал, копаясь в ящике в поисках бумажной ленты с ассемблером, наконец находил и вставлял ее в считывающее устройство. Теперь компьютер был готов работать с его программой. Сондерс смотрел на огоньки, мигающие, пока компьютер «переводил» его код с «исходного» (символический язык ассемблера) на «объектный» (двоичный), который компьютер выдавал на другой бумажной ленте. Теперь на ленте была его программа в двоичном коде, и он не сомневался, что его программа будет работать безошибочно.

Часто за его спиной оказывались другие хакеры, пришедшие поглазеть. Они шутили и смеялись, попивая кока-колу и поедая фастфуд из автомата. Сам Сондерс предпочитал дольки лимонного мармелада, которые другие называли «лимонными червяками». Но в четыре часа утра даже червяки казались аппетитными. Они вместе смотрели, как программа начинает работать, как загорается свет, какие звуки издает пищик – в высоком или низком тоне – в зависимости от того, что находится в 14‐м бите в памяти компьютера. И первое, что он видел на ЭЛТ-дисплее после запуска программы, – сбой работы. Он лез в ящик стола за лентой с отладчиком FLIT. Компьютер становился отладочной машиной: программу запускали снова и выясняли причину сбоя. Если везло и решение находилось, в код вносили изменения, введя другие команды, щелкнув переключателями на панели управления в определенном порядке или введя код с помощью флексографа. Как только все начинало работать, а это всегда было невероятно приятно, когда благодаря ему все в комнате – транзисторы, провода, схемы и электричество – сливалось вместе для достижения задуманного им результата, – он переходил к следующему шагу. Когда заканчивался его час, приходилось пускать следующего нетерпеливого хакера. А потом Сондерс будет тратить следующие несколько часов на выяснение, что, черт возьми, пошло не так и почему программа не заработала.

Час пик, проведенный хакером за компьютером, сам по себе был чрезвычайно насыщенным. Но за несколько часов до него и несколько часов после хакер должен быть необычайно сосредоточен. Программируя, он должен понимать движение каждого бита информации, каждой команды и просто обязан уметь предсказать результат.

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

Это неизбежно отражается на тех редких моментах жизни хакеров, которые они проводят не за компьютером. Члены «комитета ножа-и-кисти» TMRC были недовольны возникновением хакерской группировки в их среде. Они считали, что она подобно троянскому коню способствует разрушению клуба, меняя его направленность с железнодорожной тематики на компьютерную. И если бы вы присутствовали на одном из заседаний клуба, проводимых каждый вторник в четверть шестого вечера, вы бы заметили обеспокоенность его членов: хакеры с помощью парламентских процедур превращали эти встречи в нечто столь же запутанное, как и их программы для TX‐0. Ходатайства подавались для ходатайства, а возражения исключались по порядку, будто компьютерные ошибки. В протоколе заседания 24 ноября 1959 года записано: «Мы осуждаем некоторых членов клуба, способных принести клубу гораздо больше пользы, если бы они больше занимались исследованиями и меньше читали Правила порядка Роберта». Самсон хуже всех вел себя на заседаниях. В какой-то момент раздраженный член TMRC предложил «заткнуть пробкой его словесную диарею».

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