Страница 11 из 13
Если нужны дополнительные доказательства, можно привести пример проекта, над которым в вычислительном центре работал Коток, – шахматная программа. Над ней на машине IBM 704 работал еще бородатый Джон Маккарти, «Дядя», как называли его хакеры. Хотя Коток и другие хакеры, помогавшие ему с программой, презрительно относились к пакетной обработке данных, лежавшей в основе работы IBM 704, им пришлось пересилить себя и выкроить немного ночного времени, чтобы использовать машину в интерактивном режиме. Они вступили в неофициальную битву с системными программистами IBM 704, выясняя, кто из них «пожиратель» рабочего времени компьютера. Бой был жарким, и ксенофобы в белых рубашках и черных галстуках впечатлились и уступили напору хакеров. Они позволили Котоку с его группой касаться кнопок и переключателей IBM 704 – уникальная возможность физического контакта со знаменитым чудовищем IBM.
Роль Котока в воплощении шахматной программы в жизнь была показательна так же, как и роль хакеров в области развития искусственного интеллекта. Обычно какая-нибудь «умная голова» вроде Маккарти или его коллеги, Марвина Минского, начинала научный проект, обсуждалась возможность его реализации, и в случае заинтересованности хакеры тут же подключались.
Шахматная программа изначально писалась на FORTRAN – одном из первых компьютерных языков. Компьютерные языки гораздо больше похожи на английский, чем язык ассемблера. На них легче писать и нужно меньше строчек кода для выполнения серьезных задач. Однако всякий раз, когда в компьютер вводилась программа на языке типа FORTRAN, компьютер сначала переводил команды в двоичный код с помощью компилятора, занимавшего не только значительную часть времени работы компьютера, но и бо`льшую часть его объема памяти. По сути, использование компьютерного языка только увеличивало дистанцию между человеком и компьютером, нарушая их непосредственный контакт. Поэтому хакеры предпочитали язык ассемблера или, как они его называли, машинный язык, пусть даже не такой элегантный, как высокоуровневый FORTRAN.
Коток понимал, что из-за огромного количества инструкций будущей шахматной программы часть кода должна быть написана на языке FORTRAN, а часть – на языке ассемблера. Они собирали программу по частям, используя генераторы перемещений, составляющие основу структуры данных, и применяя всевозможные инновационные алгоритмы для реализации стратегии. После ввода в компьютер правил перемещения каждой фигуры были добавлены инструкции для оценки позиции фигуры, анализа ходов и выбора наиболее выигрышного, передвигающего фигуру в наиболее выгодную позицию. Коток работал над шахматной программой в течение многих лет. Код расширялся по мере модернизации компьютеров IBM в МТИ. И однажды памятной ночью хакеры собрались вместе посмотреть, как программа сделает свои первые ходы в реальной партии. Программа уверенно разыграла дебют, но после примерно восьмого обмена ходами начала промахиваться, и компьютеру вот-вот должны были поставить мат. Стало интересно, как отреагирует компьютер. Через некоторое время (присутствующие понимали, что во время пауз компьютер «думает», просчитывая ходы, оценивая, отклоняя большинство вариантов и используя предопределенный набор параметров для выполнения хода) компьютер передвинул пешку на две клетки вперед, перепрыгнув через другую фигуру. Баг в коде? Да, но хитрый баг – так компьютер вывел игру на новый уровень. Может быть, программа попыталась разработать какой-то новый алгоритм достижения победы?
В других университетах профессора публично заявляли, что компьютер никогда не победит человека в шахматах. Но хакерам было виднее. Благодаря им компьютеры покоряли новые вершины, порой самые неожиданные. И хакеры благодаря своей плодотворной, значимой связи с компьютером оказывались в первых рядах среди ощутивших на себе все преимущества этого плотного взаимодействия.
Но не только хакеры могут пользоваться компьютерными благами. Каждый человек может получить искомое, используя интеллектуальные компьютеры в автоматизированном мире. И не выиграет ли он еще больше, если будет подходить к миру с той же пытливой энергией, скептическим настроем по отношению к бюрократии, открытостью к творчеству, бескорыстием в обмене достижениями, стремлением к совершенствованию и желанием создавать, как последователи принципов хакерской этики? А сколько он мог бы выиграть, если бы принимал других людей так же непредвзято, как компьютеры принимают любого, кто вводит код на флексографе? Разве мы не выиграли бы, если бы переняли у компьютеров способы создания совершенной системы и использовали полученные знания для создания совершенного общества? Если бы каждый взаимодействовал с компьютерами с тем же непорочным, продуктивным, творческим импульсом, что и хакеры, хакерская этика распространилась бы по всему социуму, как благословенная волна, и компьютеры действительно изменили бы мир к лучшему.
В монастырских стенах МТИ люди свободно выбирали свой путь и могли жить, ведомые хакерской мечтой. Но никто не предполагал, что эта мечта выплеснется за пределы МТИ. Вместо этого хакеры прямо в стенах МТИ приступили к строительству хакерского Ксанаду – неповторимого и нигде больше не существовавшего.
Глава 3
Война в космосе
Летом 1961 года Алан Коток и другие хакеры из TMRC узнали о планах одной компании бесплатно поставить в МТИ новый компьютер, значительно превосходящий уже знакомый им TX‐0. Разумеется, новая машина подходила хакерам гораздо больше, чем старый добрый TX‐0.
PDP‐1. Этот компьютер навсегда изменит мир вычислительной техники. С его помощью призрачные мечты хакеров станут немного ближе к реальности.
Алан Коток творил невероятные вещи на TX‐0, поэтому Джек Деннис нанял его совместно с Сондерсом, Самсоном, Вагнером и несколькими другими хакерами для работы в составе группы системного программирования TX‐0. Жалованье было щедрым – $1,60 в час. Для некоторых хакеров эта работа стала еще одним предлогом не ходить на занятия. Такие, как Самсон, не стремились закончить обучение, но они не жалели об этом – все их время и мысли поглощало хакерство. С другой стороны, был Коток, который смог совместить свое обучение с хакерством. Будучи членом TMRC и работая на TX‐0, он стал легендой, каноническим хакером. Один хакер, только что поступивший в МТИ, рассказывал, как Коток показывал новичкам работу TX‐0. «У меня возникло ощущение, что у него проблемы с щитовидной железой или еще какие-то нарушения, – вспоминал Билл Госпер, который сам впоследствии стал каноническим хакером, – потому что говорил он очень медленно, был довольно упитанным и держал глаза полузакрытыми. Однако это было обманчивое впечатление. [Рядом с TX‐0] Коток обладал безграничным авторитетом. Он написал программу для игры в шахматы. Разбирался в оборудовании». Последнее было весомым аргументом – «разбираться в железе» означало постигнуть дао окружающего мира.
Тем летом, когда стало известно о появлении PDP‐1, Коток работал в компании Western Electric. Эта работа с телефонной сетью была работой мечты. Члены TMRC часто посещали местные телефонные станции подобно тому, как поклонники живописи ходили в музей. Для Котока стало открытием, что компания за годы работы достигла столь значительного роста, притом что лишь немногие ее инженеры разбирались во взаимосвязях и особенностях работы телефонной сети. Эти немногочисленные профессиональные инженеры с готовностью отвечали на все вопросы Котока и его товарищей о функционировании телефонной системы, например о координатных коммутаторах или шаговых искателях. Польщенные таким вниманием профессионалы телефонной компании с удовольствием беседовали с этими мегавежливыми студентами. Они не подозревали, что эти студенты будут реально использовать полученную информацию.
Коток не пропускал эти экскурсии, во время которых читал все технические руководства, которые попадались в руки. Он никогда не упускал возможности проверить, что произойдет, если набирать различные комбинации в сложной и малопонятной телефонной системе МТИ. Эти знания стали основой для дальнейших изысканий наряду с освоением работы на TX‐0. Всю предыдущую зиму 1960–1961 годов хакеры TMRC строили схему университетской телефонной сети, фиксируя все места, куда можно было дозвониться с ее помощью. Она не имела подключения к сетям общего пользования. Однако хакеры смогли выйти на лабораторию Lincoln, а далее на всех ее военных подрядчиков. Нужно было только все записывать и проверять. Начинали с одного доступного номера выхода на линию, затем добавляли к нему различные цифры и слушали, кто отвечает. Когда на другом конце отвечали, хакеры спрашивали, кто это и где ответивший находится, после чего добавляли следующую цифру, чтобы подключиться к новому месту. Иногда можно было даже связаться с пригородными телефонными линиями. Это внешнее подключение не предусматривалось телефонной сетью университетского городка. Позже Коток признавался: «Если в проекте телефонной сети были допущены ошибки, в результате чего можно было совершать не предусмотренные университетской телефонной компанией звонки, это было их проблемой, не моей».