Бюрократизм, будь то корпоративный, правительственный, или университетский, - это порочная система, потому что она не в силах согласовать исследовательский импульс настоящих хакеров. Бюрократы прячутся за деспотическим правилами (в противопоставление логическим алгоритмам, по которым машины и компьютеры работают): они взывают к этим правилам, чтобы консолидировать власть, и воспринимают конструктивный импульс хакеров как угрозу.
Изображение бюрократического мира можно было найти в очень большой компании по названию Международные Бизнес Машины - IBM. Ее компьютеры были неуклюжими гигантами лишь отчасти по причине технологии вакуумной трубки. Настоящая же причина была в том, что IBM являлась неуклюжей гигантской компанией, которая не понимала хакерского импульса. Если бы IBM развивалась по своему пути (как думали TMRC хакеры), весь мир работал бы на тех раздражающих крошечных карточках, и лишь наиболее привилегированным было бы дозволено непосредственно работать на компьютере.
Все, что оставалось делать, так это смотреть на кого-то из мира IBM, замечать белую рубашку, аккуратно повязанный черный галстук, тщательно причесанные волосы, и целую кипу карточек в руках. Можно было бродить по Вычислительному центру, где 704, 709 и позже 7090 были расположены – лучшее, что могла предложить IBM – и смотреть на удушающий порядок в рамках огражденной веревкой территории, за которую несанкционированный человек не мог попасть.
Можно было это сравнить с той непринужденной атмосферой вокруг TX-0, где нормой было носить несвежую одежду, почти никто не обращал на это внимания. Сейчас компания IBM достигла много и будет продолжать это дело, чтобы совершенствовать компьютер. Благодаря своему абсолютному размеру и значительному влиянию, она сделала компьютер неотъемлемой частью жизни в Америке. Для многих людей слова IBM и компьютер были практически синонимами. Машины компании IBM были надежными ломовыми лошадками, заслуживавшими того доверия, которое возлагали на них бизнесмены и люди науки. Это отчасти было благодаря консервативному походу IBM: она не создавала наиболее технологически продвинутые машины, а делала упор на проверенные концепции, точный и агрессивный маркетинг.
Так как лидерство IBM в компьютерном мире было установлено, компания стала империей, скрытной и необщительной. То, что на самом деле бесило хакеров, так это отношение приверженцев IBM, которые думали, что IBM владеет единственно настоящими компьютерами, а все остальное было мусором. С этими людьми нельзя было поговорить – их нельзя было в чем-то убедить. Это было заметно не только в их преференции машин, но и по той идее, как вычислительный центр и весь мир должен работать. Эти люди никогда не могли понять очевидного превосходства децентрализованной системы, где не дают приказы: система, где люди могли жить своими интересами, и если по ходу они находили порок в системе, они могли приступать к амбициозной хирургии.
Нет необходимости получать официальное разрешение, лишь для необходимости сделать исправление. Это антибюрократическое понимание точь-в-точь совпадало с личностями многих хакеров, которые с детства росли привычные к созданию научных проектов, в то время, как их остальные одноклассники гоняли по спортплощадке. Эти молодые люди, ставшие однажды изгнанниками, поняли, что компьютер – это фантастический эквалайзер, придающий некое чувство, как говорил Питер Сэмсон, когда ты открываешь дверь и находишь за ней новый огромный мир. Пройдя однажды через эту дверь и присев перед консолью компьютера, стоившего миллион долларов, хакеры завоевывали власть. Поэтому было естественным не доверять любой силе, которая молга ограничить эту власть.
Хакеров следует оценивать по их хакерским критериям, а не с точки зрения их оценок, возраста, расы или позиции
Принятие 12-летнего Питера Дойча в общество TX-0 было тому ярким примером. Подобно тому, как люди спешившие стать своим с внешне внушительными рекомендациями, не воспринимались всерьез, пока они не показали себя за консолью компьютера. Хакеры меньше всего обращали внимание на чьи-то высшие характеристики, больше их занимал потенциал человека, способствующий продвижению общего состояния хакерства, созданию новых программ.
На компьютере можно создавать предметы искусства
Примером служила музыкальная программа Сэмсона. Но для хакеров искусство программы не таилось в приятных звуках, исходящих из спикера. Код программы был по-своему прекрасен. (тем не менее Сэмсон особенно скрытен и отказывался добавлять какие-либо комментарии к своему коду, объясняя чем он занимался в это время. Для одной из программ, которую написал Сэмсон, требовалось несколько сотен инструкций на техническом языке. Помимо инструкции был один комментарий, который содержал цифру 1750. Комментарий был RIPJSB. Люди ломали головы над его смыслом, пока кто-то не додумался, что 1750 – это был год смерти Баха, и Сэмсон составил сокращение «спи спокойно Джон Себастьян Бах» (RIPJSB).
Появился особый эстетический стиль программирования
По причине ограниченной памяти TX-0 (недостаток, присущий всем компьютерам того времени), хакеры особенно оценили инновационные техники, которые позволяли программам выполнять сложные задания с очень небольшим количеством инструкций. Чем короче была программа, тем больше места оставалось для других программ, тем быстрее работала программа. Иногда, когда не требовалась высокая скорость или много места, и не думали об искусстве и красоте, создавались уродливые программы топорным методом. «Что ж, мы можем это сделать, добавив двадцать чисел».
Хакеры – герои компьютера
Бывало, Сэмсон говорил сам себе, «быстрее написать инструкции, чем выдумывать обходной путь, в начале и в конце делать ту же самую работу в семи или восьми инструкциях». Друзья-хакеры могут восхищаться программой, и некоторые программы могли быть сокращены до нескольких строчек настолько искусно, что «коллеги» автора программы будут смотреть на нее и пускать слюни.
Иногда начинались соревнования по сокращению программ. Это были соревнования для самоутверждения в системе, когда принимались элегантные сокращения для удаления инструкции или двух, а еще лучше можно было обдумать еще раз всю проблему и создать новый алгоритм, который сохранил бы целый блок инструкций (алгоритм – это специфическая процедура, которую можно применить для разрешения сложной компьютерной задачи; это своего рода математическая отмычка). Это можно было наиболее настойчиво сделать, подходя к проблеме с необычного угла, о котором никто никогда не думал ранее, что ретроспективно и несло основной смысл.
В тех, кто хотел использовать эту гениальную идею черной магии, определенно был артистичный импульс, фантастическое качество, которое позволяло им отказаться от старого мировоззрения лучших умов на земле и выработать абсолютно неожиданный новый алгоритм. Так произошло с десятичной печатной шаблонной программой. Это была шаблонная программа в программе, которую можно было иногда интегрировать во многие другие программы – переводить двоичные числа, которые компьютер предлагал, в нормальные десятичные числа. По словам Сондерса, эта проблема стала «камнем преткновения – если ты мог написать десятичный печатный шаблон, который работал, ты достаточно много знаешь о компьютерах, чтобы называть себя программистом». А если ты написал большой десятичный печатный шаблон, тогда ты мог бы называться хакером.
Более, чем соревнование, написание десятичных печатных шаблонов стало своего рода хакерским Холи Грэйл. В ходу были различные версии десятичного печатного шаблона в течение нескольких месяцев. Если ты специально был тупым, или был гениальным идиотом, тебе потребовалась бы сотня инструкций, чтобы компьютер смог перевести машинный язык в десятичный. Но любой достойный хакер мог сделать это, и в итоге, применяя лучшие из программ, урезая инструкции здесь и там, шаблон был уменьшен до порядка 50 инструкций.
После этого все было серьезно. Люди работали часами в поисках способа сделать тоже самое, но с меньшим количеством строчек кода. Это стало больше, чем соревнование, это был поиск. Потратив все силы, казалось, никто не был в состоянии побить рекорд 50 строчек. Вставал вопрос, возможно ли было сделать это меньшим количеством строчек кода. Была ли точка, за которой программу уже нельзя было сократить.
Среди людей, ломавших голову над этой дилеммой, был парень по имени Дженсон, высокий, молчаливый хакер из города Майн, он обычно сидел тихонько в Kluge комнате и преспокойно царапал на бумаге, подобно провинциальному мяснику. Дженсон всегда искал способы сжать свои программы во времени и пространстве – его код был абсолютно причудливым сочетанием смешавшихся Boolean и арифметических функций, часто вызывавших несколько разных вычислений в разных секциях одного и того же 18-битного «слова».
Изумительные вещи, волшебные трюки
До Дженсона существовало общее соглашение о том, что только логический алгоритм для десятичного печатного шаблона будет постоянно задавать машине вычитание, используя таблицу степеней десяти, чтобы сохранять числа в правильных цифровых колонках. Дженсон каким-то образом вычислил, таблица степеней десяти была не нужна. Он составил алгоритм, способный конвертировать числа в обратном порядке, но какое-то цифровое жонглерство печатало их в правильном порядке. Это была математически подтверждено и было ясным для других хакеров лишь тогда, когда они увидели программу Дженсона, вывешенную на доске объявлений. Таким образом он сообщил, что довел десятичный печатный шаблон до его предела - сорок шесть инструкций. Люди пялились на код с отвисшими челюстями. Марг Сондерс помнит, как хакеры были непривычно спокойны несколько дней после. «Мы знали, что это был конец», сказал Боб Сондерс позже. «Это была нирвана».
Компьютеры могут изменить жизнь к лучшему
Это было практически манифестом. Редкий хакер будет пытаться доказать мириады преимуществ компьютерных знаний аутсайдеру. Все же это определяло каждодневное поведение хакеров ЕTX-0, а также и последующее поколение хакеров. Несомненно, компьютер изменил их жизни, обогатил их жизни, сделал их жизни полными приключений. Он сделал их мастерами определенной части судьбы. Позже Питер Сэмсон сказал: «На 25-30% мы делали это просто, чтобы делать, потому что это было то, что мы могли делать и делали хорошо, а на 60% для того, чтобы иметь что-то живое, наш отпрыск, который будет работать самостоятельно, когда нас не будет. Вот это великая вещь в программировании, волшебно привлекательная... Как только вы установили поведенческую проблему [компьютера или программы], она установлена навсегда».
Подобно лампе аладдина, его можно заставить выполнять твои желания
Конечно, каждый мог извлечь пользу из такой власти. Конечно, каждый мог извлечь выгоду из мира, основанного на этике хакера. Это было скрытое убеждение хакеров, и хакеры непочтительно распространяли давно известную точку зрения, что компьютеры могут и должны привести мир к новому способу восприятия компьютеров и взаимодействия с ними. Это было сделано с трудом. Даже в таком продвинутом институте, как MIT, некоторые профессоры признавали маниакальное влечение к компьютерам легкомысленным, даже сводящим с ума.
TMRC хакеру Бобу Вагнеру однажды пришлось объяснять профессору инженерии, что такое компьютер. Вагнер знал по опыту конфликт компьютера против анти-компьютера даже более очевидно, когда он был на занятии по Цифровому анализу, на котором профессор требовал от каждого студента выполнять домашнюю работу, используя трескучие электромеханические калькуляторы. Коток был в том же классе, и они оба испуганы перспективой работы с теми чудо-машинами. «С какой стати мы должны», спрашивали они, «когда у нас есть этот компьютер?».
Таким образом, Вагнер приступил к разработке программы, которая бы подражала бы работе калькулятора. Идея была скандальной. Для некоторых это было неправильным предназначением машины. В соответствии со стандартным мышлением о компьютерах, их время настолько дорогим, что делать на компьютере можно было пытаться лишь те вещи, которые получали максимум отдачи от компьютера, вещи, которые в противном случае будут занимать комнаты, полные математиков, проводящих бессмысленные подсчеты.
Хакеры считали по-другому: все, что выглядело интересным или прикольным, было пищей для вычисления – и, используя интерактивные компьютеры, когда никто не выглядывает из-за твоего плеча с требованием доказательства твоего проекта, можно было действовать в рамках этого убеждения. Через два или три месяца стараний найти выход из лабиринта арифметики (необходимой для того, чтобы программа могла определять место десятичной точки) на машине, которая не обладала простым способом выполнения элементарного умножения.
Вагнер написал три тысячи строк кода, которые выполняли работу. Он заставил нелепо дорогой компьютер выполнять функции калькулятора, стоившего в тысячу раз меньше. Чтобы подчеркнуть эту иронию, он назвал программу Дорогостоящий Настольный Калькулятор, и с гордостью выполнял домашнее задание для своего класса на нем. Его оценка – ноль. «Вы пользовались компьютером!» сказал ему профессор. «Это не может быть верным». Вагнер даже не пытался объяснить. Как он мог донести до преподавателя, что компьютер создавал реальность из того, что когда-то было невероятной возможностью?
Другой хакер создал программу под названием Дорогостоящая Печатная Машинка, которая конвертировала TX-0 в нечто, на чем можно были писать текст, которая могла обработать ваш почерк и распечатать на флексорайтере – можете ли вы представить профессора, который принимает классную работу, написанную компьютером? Как мог этот профессор – как мог кто бы то ни было, кто не был посвящен в этот мир машины и человека – понять, каким образом Вагнер и его друзья хакеры использовали компьютер для симуляции, как говорил Вагнер, "странных ситуаций, которые сложно даже нарисовать в своем воображении".
Профессор поймет со временем, как и каждый другой, что компьютер открывает безграничный мир. Если кому-то необходимы дальнейшие доказательства, можно процитировать проект, над которым работал Коток в вычислительном центре, программа игры в шахматы, которая смело выступала против Al профессора «дядя» Джон МакКарти, как его знали его студенты-хакеры, начала работать на IBM 704. Даже несмотря на то, что Коток и несколько других хакеров, помогающих ему с программой, лишь презирали IBM интеллект, который охватывал машины и людей вокруг себя. Они умудрились выпросить несколько часов поздно ночью для того, чтобы пользоваться им интерактивно, и вовлекались в неформальную борьбу с системными программистами на 704, чтобы увидеть, которая из групп станет наибольшей по времени работы за компьютером.
Свинец прыгал туда и обратно, а люди 704, одетые в белые рубашки и черные галстуки, были достаточно сильно поражены тому, что Коток и его группа притрагивались к клавишам и выключателям на 704: редкий чувственный контакт с превознесенным IBM чудовищем.
Роль Котока в создании программы игры в шахматы показывала, какова роль хакера в миру искусственного интеллекта: МакКарти или Марвин Мински наверняка начнут вслух рассуждать, возможно ли это, а хакеры, если это интересовало их, будут делать это. Программа игры в шахматы стартовала с использованием FORTRAN, один из ранних компьютерных языков.
Компьютерные языки больше походили на английский, чем на технический язык, на них было легче писать и делать больше вещей с меньшим количеством инструкций. Однако, каждый раз, когда инструкция подается на таком компьютерном языке, как FORTRAN, компьютер в первую очередь должен был перевести эту команду на свой двоичный язык. Программа под названием компилятор делала это.
Компилятору требовалось время для того, чтобы выполнить эту работу, так же как и драгоценное место в памяти компьютера. В итоге, использование компьютерного языка отстраняло тебя на шаг дальше от непосредственного контакта с компьютером.
Хакеры предпочитали технический, или как они называли «машинный язык» менее элегантному языку высшего разряда, такому как FORTRAN. Коток считал, что из-за огромного количества цифр, которые будет необходимо растрескать в шахматной программе, часть программы нужно выполнить на языке FORTRAN, а часть на техническом языке. Они создавали ее часть за частью с «генератором движения», основными базами данных, и всякого рода инновационными алгоритмами для стратегии.
После того, как машина была напичкана правилами перемещения каждой части, они задавали некоторые параметры, с учетом которых оценивалась позиция, распознавались разные перемещения, и осуществлялись перемещения, которые приведут к наиболее выигрышной ситуации. Коток сидел над ней годы. Программа совершенствовалась по мере совершенствования IBM компьютера в институте MIT.
Однажды ночью хакеры собрались, чтобы увидеть, как программа выполняет свои первые перемещения в реальной игре. Её открытие заслуживало уважения, но после 8 или около того перемещений она столкнулась с настоящей проблемой. Компьютер терпел полное поражение. Все гадали, какой будет реакция компьютера. Последовала пауза (каждый знал, что во время этих пауз компьютер в действительности «думал», если ваша идея мышления включала механическое распознавание разных перемещений, компьютер оценивал их, отметая большинство, и используя предопределенный набор параметров для окончательного выбора). Наконец компьютер перемещал пешку на два квадрата вперед – нелегальный прыжок поверх другой части. Технический дефект! Но очень умный – он вывел компьютер из остановки. Возможно, программа искала какой-то новый алгоритм для соперничества с шахматами.
В других университетах профессоры делали публичные заявления, что компьютеры никогда не будут в силах победить человека в игре в шахматы. Но хакеры знали лучше. Именно они приведут компьютеры к большим высотам, чем кто-либо мог ожидать. И хакеры станут передовыми специалистами среди бенефициариев. Но они будут не единственными бенефициариями.
Каждый сможет выиграть что-либо благодаря использованию компьютера в интеллектуальном мире. И не получит ли каждый даже большую выгоду, если будет воспринимать мир с той же любознательной интенсивностью, скептицизмом к бюрократии, открытостью к творчеству, готовностью поделиться достижениями, постоянно стремиться к совершенствованию подобно тем, кто следовал этике хакеров? Принимая других на той же основе без предрассудков, на которой компьютеры принимали всех, кто вводил код в Флексорайтер.
Неужели мы не выиграем от того, что научимся у компьютеров способам создания совершенных систем? Если бы каждый мог взаимодействовать с компьютером с тем же невинным, продуктивным и творческим импульсом, как это делали хакеры, то этика хакеров могла распространиться в обществе, и компьютеры на самом деле изменили бы мир к лучшему. С монашеских казармах Технологического института Массачусетса люди имели право оживить эту мечту – мечту хакера. Никто не осмеливался предположить, что мечта может распространиться. Вместо этого люди в MIT были заняты созданием хакерского Ксанаду, который никогда нельзя будет продублировать.