Если нужны дополнительные доказательства, можно привести пример проекта, над которым в вычислительном центре работал Коток, – шахматная программа. Над ней на машине IBM 704 работал еще бородатый Джон Маккарти, «Дядя», как называли его хакеры. Хотя Коток и другие хакеры, помогавшие ему с программой, презрительно относились к пакетной обработке данных, лежавшей в основе работы IBM 704, им пришлось пересилить себя и выкроить немного ночного времени, чтобы использовать машину в интерактивном режиме. Они вступили в неофициальную битву с системными программистами IBM 704, выясняя, кто из них «пожиратель» рабочего времени компьютера. Бой был жарким, и ксенофобы в белых рубашках и черных галстуках впечатлились и уступили напору хакеров. Они позволили Котоку с его группой касаться кнопок и переключателей IBM 704 – уникальная возможность физического контакта со знаменитым чудовищем IBM.
Роль Котока в воплощении шахматной программы в жизнь была показательна так же, как и роль хакеров в области развития искусственного интеллекта. Обычно какая-нибудь «умная голова» вроде Маккарти или его коллеги, Марвина Минского, начинала научный проект, обсуждалась возможность его реализации, и в случае заинтересованности хакеры тут же подключались.
Шахматная программа изначально писалась на FORTRAN – одном из первых компьютерных языков. Компьютерные языки гораздо больше похожи на английский, чем язык ассемблера. На них легче писать и нужно меньше строчек кода для выполнения серьезных задач. Однако всякий раз, когда в компьютер вводилась программа на языке типа FORTRAN, компьютер сначала переводил команды в двоичный код с помощью компилятора, занимавшего не только значительную часть времени работы компьютера, но и бо`льшую часть его объема памяти. По сути, использование компьютерного языка только увеличивало дистанцию между человеком и компьютером, нарушая их непосредственный контакт. Поэтому хакеры предпочитали язык ассемблера или, как они его называли, машинный язык, пусть даже не такой элегантный, как высокоуровневый FORTRAN.
Коток понимал, что из-за огромного количества инструкций будущей шахматной программы часть кода должна быть написана на языке FORTRAN, а часть – на языке ассемблера. Они собирали программу по частям, используя генераторы перемещений, составляющие основу структуры данных, и применяя всевозможные инновационные алгоритмы для реализации стратегии. После ввода в компьютер правил перемещения каждой фигуры были добавлены инструкции для оценки позиции фигуры, анализа ходов и выбора наиболее выигрышного, передвигающего фигуру в наиболее выгодную позицию. Коток работал над шахматной программой в течение многих лет. Код расширялся по мере модернизации компьютеров IBM в МТИ. И однажды памятной ночью хакеры собрались вместе посмотреть, как программа сделает свои первые ходы в реальной партии. Программа уверенно разыграла дебют, но после примерно восьмого обмена ходами начала промахиваться, и компьютеру вот-вот должны были поставить мат. Стало интересно, как отреагирует компьютер. Через некоторое время (присутствующие понимали, что во время пауз компьютер «думает», просчитывая ходы, оценивая, отклоняя большинство вариантов и используя предопределенный набор параметров для выполнения хода) компьютер передвинул пешку на две клетки вперед, перепрыгнув через другую фигуру. Баг в коде? Да, но хитрый баг – так компьютер вывел игру на новый уровень. Может быть, программа попыталась разработать какой-то новый алгоритм достижения победы?
В других университетах профессора публично заявляли, что компьютер никогда не победит человека в шахматах. Но хакерам было виднее. Благодаря им компьютеры покоряли новые вершины, порой самые неожиданные. И хакеры благодаря своей плодотворной, значимой связи с компьютером оказывались в первых рядах среди ощутивших на себе все преимущества этого плотного взаимодействия.
Но не только хакеры могут пользоваться компьютерными благами. Каждый человек может получить искомое, используя интеллектуальные компьютеры в автоматизированном мире. И не выиграет ли он еще больше, если будет подходить к миру с той же пытливой энергией, скептическим настроем по отношению к бюрократии, открытостью к творчеству, бескорыстием в обмене достижениями, стремлением к совершенствованию и желанием создавать, как последователи принципов хакерской этики? А сколько он мог бы выиграть, если бы принимал других людей так же непредвзято, как компьютеры принимают любого, кто вводит код на флексографе? Разве мы не выиграли бы, если бы переняли у компьютеров способы создания совершенной системы и использовали полученные знания для создания совершенного общества? Если бы каждый взаимодействовал с компьютерами с тем же непорочным, продуктивным, творческим импульсом, что и хакеры, хакерская этика распространилась бы по всему социуму, как благословенная волна, и компьютеры действительно изменили бы мир к лучшему.