Это был застенчивый ребенок, сильный в математике и неуверенный почти во всем остальном. Тучный, физически слабый, но интеллектуально одаренный подросток, сын профессора МТИ. Естественно, Питер пользовался своим положением, чтобы попасть в лабораторию.
Его участие в работе на компьютере 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. После загрузки в компьютер ассемблера Денниса стало возможно писать программы в более простой символической форме и ждать, пока компьютер сам выполнит перевод в двоичный код. А дальше нужно только загрузить полученный код обратно в компьютер. Сложно недооценить это достижение Денниса. Его ассемблер позволял программистам писать код, а не головокружительную серию нулей и единиц.