Так что эта компьютерная программа и в прямом, и в переносном смысле была музыкальной композицией! Такая же программа, как и те, что производили сложные вычисления или статистический анализ. Код, загруженный Самсоном в компьютер, стал универсальным языком, позволяющим создавать буквально все от фуги Баха до противовоздушной защиты.
Самсон ничего не стал объяснять людям, не оценившим его достижения. Да и среди хакеров это не обсуждалось. Вряд ли они столь детально анализировали свои успехи. Питер Самсон просто сделал это, а хакеры просто оценили его удачный хак, и этого было достаточно.
*****
Для хакеров вроде Боба Сондерса лысеющего, пухлого и веселого студента, допущенного к 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 предложил «заткнуть пробкой его словесную диарею».
Логическое мышление, необходимое для программирования, заполняло все существо хакеров, отразившись не только на их пользовании парламентскими процедурами. Оно стало проявляться и в обычной жизни. Задайте вопрос хакеру, и вы почувствуете, как его мозг обрабатывает биты, пока он обдумывает ответ.