Хакеры. Как молодые гики провернули компьютерную революцию и изменили мир раз и навсегда
Шрифт:
Этот термин, вероятно, в стенах МТИ появился еще ранее. Им здесь называли редкие студенческие выходки, например покрытие купола здания кампуса фольгой. Когда члены клуба упоминали «хак», они выражали свое уважение. И хотя кто-то посчитает хитроумное соединение ретрансляторов простым «хаком», следует учитывать, что хак предполагает инновации, стиль и виртуозное владение техникой. Можно было бы преуменьшить значение «хака системы» (сравнив его с тем, как кто-то просто «ломает», словно хворост), однако в процессе столько мастерства, что, пожалуй, сложно не воздать ему должное.
Самые продуктивные члены «энергетического комитета» клуба гордо называли себя хакерами. В стенах клубного помещения в здании № 20 и комнаты, где проводились учебные занятия и велись многочисленные технические споры, участники группы самовольно возвели
Великий стрелочник,
Тестер предохранителей, творец-путейщик,
Строитель железных дорог и продвинутый ломщик систем;
Чумазый, волосатый, раскинувший свои щупальца,
Аппарат с точечной функцией и индикаторами:
Я слышал, что ты злодей, и поверил; ибо я видел, как ты заманиваешь послушников системы цветными огоньками…
В пыли под башней мы взламываем все подряд,
Ломаем так, как это делает невежда-первокурсник, не терявший работы и не вылетавший из школы.
Ломаем пульт управления, чтобы добраться до переключателей, контролирующих движение поезда по макету,
Ломаем!
Мы хакеры, чумазые, волосатые, юные, неудержимые, те, кто палит диоды и гордится тем, что он стрелочник, тестер предохранителей, творец-путейщик, строитель железных дорог и продвинутый ломщик системы.
При любой возможности Самсон и его друзья проникали в компьютерную комнату со своими платами, мучая машину для совершенствования системы переключателей под макетом. И, что не менее важно, они видели, что происходит с вычислительной техникой, если довести ее до предела.
Весной 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, пришел и все объяснил.