Современная электронная библиотека ModernLib.Net

Хакеры: Герои компьютерной революции

ModernLib.Net / Компьютеры / Леви Стивен / Хакеры: Герои компьютерной революции - Чтение (стр. 3)
Автор: Леви Стивен
Жанр: Компьютеры

 

 


Это была компьютерная программа, которая не только была музыкальным произведением в переносном смысле, она в буквальном смысле словабыла музыкой. Она выглядела как программа, которая выполняла сложные математические расчеты и статистический анализ. Цифры, которые Самсон запихивал в компьютер, были универсальным языком, на нем можно было написать все: от фуги Баха до системы противовоздушной обороны.

Самсон не говорил об этом ничего людям, которые в этом не разбирались, и которые не были впечатлены тем, что он сделал. Сами хакеры тоже не обсуждали этого, и не ясно даже, анализировали ли они вообще это явление в таких космических масштабах. Но Питер Самсон сделал это, и его коллеги, оценили его деяние по заслугам — потому что было очевидно, что это очень красивый и аккуратный хак, а этого было достаточно для оправдания траты массы времени на него.

* * *

Для хакеров подобных Бобу Сандерсу, который был лысоватым, пухловатым и веселым приверженцем TX-0, президентом Группы СиП в TMRC и студентом, изучавшим системы, такое времяпрепровождение было совершенным укладом жизни. Сандерс вырос в предместьях Чикаго, и все время пока он себя помнил, ему невероятно нравилась работа с электричеством и телефонами. Перед поступлением в МТИ, Сандерс нашел работу на лето, о которой можно было только мечтать: это была работа в телефонной компании, где он принимал участие в монтаже оборудования центрального офиса. Он проводил восемь блаженных часов за пайкой железа и плоскогубцами в руке, скрывшись с головой в потрохах различных систем. Это была идиллия, нарушаемая лишь часами приема пищи, потраченными на глубокое изучение руководств по оборудованию телефонной компании. Оборудование, подобное тому, которое он видел в телефонной компании, находилось и под моделью железной дороги в TMRC. И это заставило Сандерса стать активным членом Клуба Моделирования Железной Дороги.

Сандерс был старшекурсником, и он, в своей институтской жизни, добрался до TX-0 позже, чем Коток и Самсон. Он использовал свое время для того, чтобы заложить основу для своей социальной жизни, которая включала в себя ухаживание и возможный брак с Марж Френч, которая занималась нехакерской работой на компьютере в одном научно-исследовательском проекте. Однако TX-0 стал центром его академической карьеры, и он разделил общую хакерскую судьбу, наблюдая за тем, как его оценки начинают страдать от пропущенных занятий. Это не сильно его беспокоило, потому что он знал, что его реальное образование происходит в комнате №240 в Здании №26, за консолью Tixo. Через много лет он назовет себя и остальных «элитой».В частности он вспоминал: «Другие люди занимались изучением других вещей и проводили массу своего времени в четырехэтажных научных корпусах, проводя плохо пахнущие химические опыты, или работали в физических лабораториях, обстреливая частицами мишени. Но вне зависимости, почему они это делали — они это делали. А мы просто не обращали никакого внимания на то, чем занимались эти люди, потому что мы не испытывали к этому ни малейшего интереса. Они обучались тому, чему они обучались, а мы обучались тому, чему мы обучались. И то, что многое из этого не присутствовало в официально одобренном учебном плане, вообще говоря, было не очень-то и существенно для нас».

Хакеры приходили ночью. Это был единственный способ извлечь максимум преимущества из критических «внеплановых» интервалов машинного времени на TX-0. В течение дня, Сандерс обычно появлялся на одном или двух занятиях в Институте. Затем тратил некоторое время, выполняя «базовое обслуживание», то есть занимался вещами, подобными еде и посещению ванной комнаты. Затем в течение, некоторого времени, он встречался с Марж. Но, в конечном счете, он постепенно отфильтровывался к Зданию №26. Он просматривал некоторые из своих программ, которые были созданы предыдущей ночью и напечатаны на бумаге шириной в девять с половиной дюймов, используемой во Flexowriter-е. Он делал пометки и вносил изменения в листинг до такого состояния, который он считал следующей стадией работы. Возможно, после этого он пошел бы в Клуб Моделирования Железной дороги, где он дал бы свою программу кому— нибудь еще, а сам взял бы чужую, и проверил бы ее одновременно на хорошие идеи и на потенциальные ошибки. Затем он возвращался в Здание №26 в Клудж-Комнату рядом с TX-0, искал свободный Flexowriter, чтобы внести изменения в свой код. И все это время он постоянно проверял, не отменил ли кто-то свой одночасовой сеанс на машине, так как его собственный сеанс был расписан где-то на два или три часа ночи. Своего времени он дожидался или в Клудж— Комнате, или, убивая время, играл бы с каким-нибудь мостом, вернувшись ненадолго в Клуб Железной дороги, пока не приходила его пора.

Сидя за консолью, лицом к металлическим стойкам, в которых находились транзисторы, где каждый транзистор, представлял собою место для хранения одного бита памяти, Сандерс настраивал Flexowriter, который приветствовал его словом «WALRUS (МОРЖ)». Это было нечто, что Самсон схакерил в честь поэмы Льюиса Кэрролла, в которой была строка: «Время пришло, и Морж сказал ...». Сандерс испытывал радость, доставая из ящика стола бумажную ленту, которая содержала программу ассемблера и заправляя ее в считыватель перфоленты. Теперь, когда компьютер был готов оттранслировать его программу, он брал ленту из Flexowriter-а, над которой он только что закончил работу и загружал с нее код на компьютер. После чего он наблюдал за долгим перемигиванием огней на панели, по мере того как компьютер переключался с «источника» (символический язык ассемблера) на «объектный» (двоичный) код, а получившийся результат компьютер пробивал на другой бумажной ленте. Так как на этой ленте был пробит объектный код, который TX-0 понимал, то Самсон загружал ее опять в компьютер, надеясь, что программа будет работать так, как надо.

Весьма вероятно, что в этот момент за его спиной толпилось несколько товарищей— хакеров, которые смеялись, шутили и пили Кока-Колу, заедая это все какой-нибудь «мусорной едой», которую они достали из торгового автомата, стоявшего на нижнем этаже. Сандерс предпочитал лимонное желе нарезаное клиньями, которое остальные называли «лимонной замазкой». Но в четыре часа утра, на вкус хорошим являлось абсолютно все. Они все наблюдали, как выполняется программа, как мерцают огни, слушали, как пищит спикер, жужжащий высоким или низким тоном в зависимости от того, что было в Бите 14 сумматора, и первое что, он увидел на CRT-дисплее после того, как программа была оттранслирована и запущена — зависание программы. После этого он лез в ящик за лентой с отладчиком FLIT и загружал его в компьютер. Теперь компьютер превратился в отладочную машину, и он снова загружал в него свою программу. Сейчас можно было попробовать выяснить, что и где пошло не так, как надо, и, если он был удачлив, то он это выяснял, после чего немедленно вносил изменения, вводя команды, пощелкав некоторыми из выключателей на пульте в нужном порядке, или набивал на Flexowriter-е новый код. После того, как все это запускалось и работало правильно, результат всегда приносил невероятное удовлетворение — когда вся эта комната, полная транзисторов, проводов, металла и электричества, сливалась воедино, для того чтобы создать точный результат того, что он придумал. Завершив это, он переходил к следующему шагу. Когда его время заканчивалось, и его место занимал кто-нибудь другой, у которого также чесались руки в предвкушении работы, он был готов провести несколько следующих часов, пытаясь понять, в каком месте произвошла ошибка.

Сам по себе пиковый час был чрезвычайно интенсивен, но в течение многих часов до того, и даже спустя несколько часов после этого, хакер достигал состояния истинной концентрации. Когда вы программируете компьютер, то вы должны знать, как все эти тысячи битов информации изменяются при переходе от одной инструкции к другой, и быть в состоянии предсказывать и обнаруживать эффекты всего этого движения. Когда вся эта информация собирается и соединяется воедино в вашей голове, то это похоже на слияние вашего мозга с самим компьютером. Иногда требовались часы, чтобы дойти до точки, где в ваших мыслях начинала складываться полная картина. И когда вы доходили до этой точки, то было бы непростительной глупостью, потратить впустую то, что вы так старательно пытались поддерживать во время марафонских бросков, попеременно работая на компьютере или детально изучая код, который вы написали на одном из автономных Flexowriter-ов в Клудж Комнате. Вы бы наверняка постарались сохранить это состояние концентрации «перенеся» его на следующий день.

Эта модель мировоззрения неминуемо распространилась и на те немногочисленные островки бытия, которые у хакеров находились за пределами компьютерных вычислений. Контингент «ножа и кисти» в TMRC был весьма недоволен проникновением тиксомании в клуб: они считали ее троянским конем и переносом сферы деятельности клуба с моделирования железной дороги на вычислительную технику. И если бы вы присутствовали на одном из собраний клуба, проводимых каждый вторник в 17.15, то вы могли бы видеть странную картину: хакеры использовали каждый возможный поворот процедуры ведения собрания, чтобы сделать его столь же замысловатым, как и программы, которые они хакерили на TX-0. Предложения вносились только для того, чтобы делать другие предложения, чтобы, в свою очередь, опять делать предложения, возражения произносились не к месту, как будто повестка собрания содержала слишком много компьютерных ошибок. Примечание в протоколе встречи от 24 ноября, 1959 года, гласило: " мы осуждаем некоторых наших членов, которые могли бы принести клубу больше пользы, если бы они больше занимались СиП и меньше читали Правила Распорядка Роберта (Robert's Rules Of Order). " Самсон доставал клуб больше всех, и однажды, один из рассердившихся членов TMRC сделал предложение «купить пробку для затыкания словесного поноса Самсона.»

Хак процедуры ведения собрания был отдельно взятым явлением, но логическая структура мышления, требуемая для программирования, распространялась и на другие события в этой жизни. Вы могли задать хакеру вопрос и почувствовать, как его умственный сумматор обрабатывает биты информации, пока он не выдавал точный ответ.

Марж Сандерс каждую субботу ездила утром к магазину Safeway на своем Фольксвагене, и после своего возвращения спрашивала своего мужа "Не хотел бы он помочь ей занести ей то, что она купила в бакалее? " На что Боб Сандерс отвечал «Нет». Ошеломленная, Марж затащила продукты самостоятельно. После того как, то же самое произошло несколько раз, она взорвалась, и, разбрасывая проклятия в его адрес, потребовала от него ответа, почему он ответил «нет» на ее вопрос.

«Ты задала глупый вопрос" сказал он, —" Конечно, я не хочупомогать тебе, заносить продукты. Но если бы ты просто попросила меня принести их, то это было бы совсем другое дело».

Это было так, как будто Марж загрузила программу в TX-0, и программа, как всегда делают программы, когда синтаксис неверен, вылетела бы с ошибкой. И только после того, как она выполнила «отладку» своего вопроса, Боб Сандерс позволил ему успешно выполняться на своем собственном ментальном компьютере.

2. Этика Хакеров

Вокруг TX-0 выкристаллизовалось нечто новое. Это был новый жизненный путь — с новой философией, собственной этикой и своей мечтой.

Не было ни одного предрассветного часа, когда хакеры TX-0 не отдавали бы свои силы и способности машине, с преданностью редко отмечаемой за пределами монастырей. Они были авангардом этого выдающегося симбиоза между человеком и компьютером. С пылом молодых изготовителей хот-родов (рекордных автомобилей, переделанных из серийных), зацикленных на умощнении двигателей, хакеры получали желаемое из своего уникального окружения. Несмотря на то, что началось формирование элементов культуры и накопление легенд, (а их мастерство в программировании начало превосходить любой ранее отмеченный уровень), дюжина или около того хакеров все еще отказывалась признавать, что их маленькое сообщество, объединившееся вокруг TX-0, медленно и незаметно начало пронизываться грузом общих идей, убеждений и нравов.

Принципы этой революционной Этики Хакеров, как правило, не обсуждались и не дискутировались — обычно с ними тихо соглашались. Не выпускалось никаких манифестов, и миссионеры не обращали никого в свою веру. Это обращение делал за них компьютер, и тот, кто следовал Хакерской Этике, был преданы ей, так же как Самсон, Сандерс, и Коток, чьи жизни до МТИ, казалось, были просто прелюдией до того момента, когда они достигли самовыражения за пультом TX-0. Позднее, там появятся хакеры, которые будут следовать неявной Этике и относиться к ней еще более серьезно, чем хакеры TX-0. Это будут легендарные Гринблатт и Госпер, но окончательно принципы хакерства сформируются еще только через несколько лет.

Тем не менее, уже в дни TX-0 были заложены основы этой платформы.

Вот она, Этика Хакера:

Доступ к компьютерам и всему, что может дать вам знания об устройстве мира, должен быть полным и неограниченным. Всегда следуйте Практическому Императиву!

Хакеры полагали, что хорошие знания о системах и окружающем мире могут быть получены лишь путем разбирания систем на части. После чего следует понаблюдать, как они работают, а затем использовать эти знания, чтобы создать новые и еще более интересные вещи. Они отрицали любые физические барьеры, людей или законы, которые пытались помешать им в этом.

В особенности это было справедливо в том случае, если хакер хочет отремонтировать то, что, с его точки зрения, сломано или нуждается в усовершенствовании. Несовершенные системы приводили хакеров в неистовство, так как их основной инстинкт заключался в их отладке. Кстати, это является одной из причин, почему хакеры обычно испытывают крайне неприятные чувства при вождении автомобилей. Система беспорядочно запрограммированных красных огней светофоров и странно размещенных односторонних полос движения вызывает в них чертовское ощущение ненужности всего этого, поэтому у них часто появляется дикое желание переставить все знаки, открыть коробки управления светофорами... и полностью перепроектировать всю схему движения.

В совершенном мире хакеров, любой, кто достаточно смел[11] чтобы добраться до коробки управления светофором и унести ее с собой, а затем исправить ее для того, чтобы она начала работать лучше; должен это сделать и у него должна быть возможность это сделать. С точки зрения хакеров, правила, которые запрещают вам решать вопросы таким путем, слишком смешны, чтобы вообще вести речь о каком-либо их соблюдении. В свое время, именно такая позиция помогла Клубу Моделирования Железной дороги встать на ноги. Это был крайне неофициальный набор принципов, иногда называемый Комитетом по Полуночной Реквизиции. Когда TMRC нуждался в наборе диодов, или дополнительных реле, чтобы придать Системе некоторые новые свойства, несколько людей из группы Сигналов и Питания ожидали наступления темноты и шли туда, где все это было. Ни один из хакеров, которые, как правило, были скрупулезно честны в других вопросах, не считали это за «кражу». Вот такая преднамеренная слепота.


Информация должна быть свободна.

Как можно улучшить или отремонтировать вещь, если у вас нет доступа к информации об ее устройстве? По мнению хакеров, для развития творческих способностей должен быть реализован свободный обмен информацией, а в особенности компьютерными программами. Если вспомнить историю с TX-0, которая поступила в МТИ без всякого программного обеспечения, то для того, чтобы сделать процесс программирования более легким, все самоотверженно писали системный софт. Эти «программы для изготовления других программ», лежали в ящике стола и любой, кому нужно было поработать на машине, мог взять их и пользоваться. Это позволяло избегать повторного изобретения велосипеда, что в противном случае отнимало бы массу времени и сил. Вместо того чтобы писать каждый раз свою собственную версию программы, все имели доступ к наилучшей получившейся версии, и любой, у которого было время и желание, мог покопаться в исходниках и улучшить их. Мир, наводненный полновесными программами, «бамнутными» до своего минимума и отлаженными до совершенства — такова была хакерская мечта.

Вера, зачастую принимаемая безоговорочно в то, что информация должна быть свободной, была прямым вкладом в идею совершенного компьютера или совершенной компьютерной программы, перемещающих биты информации наиболее правильным и логичным путем, что необходимо для выполнения сложной работы. Чем бы компьютер ни был, но свободный поток информации был для него необходим. Если бы, например, аккумулятор обнаружил, что он не может передать информацию на устройства ввода-вывода типа считывателя перфолент или переключателей на передней панели, то вышла бы из строя вся система. С хакерской точки зрения, любая система только выигрывала от свободного потока информации.

Не доверяйте полномочиям, продвигайте децентрализацию.

Лучший способ продвигать свободный обмен информацией — это иметь открытую систему, такую в которой отсутствуют границы между хакером, информацией или оборудованием, которое ему нужно в процессе его познания, улучшения и всего его рабочего времени. Бюрократия — это последнее дело. Какая бы она ни была — корпоративная, государственная, университетская, она порождает ущербные системы, опасность которых заключается в том, что они не могут адекватно воспринимать исследовательские импульсы истинных хакеров. Бюрократы прячутся за произвольными правилами (в противоположность логичным алгоритмам, при помощи которых работают машины и компьютерные программы), и они используют эти правила для того, чтобы усилить свою власть и воспринимают конструктивные импульсы хакеров как угрозу.

Миниатюрная модель бюрократического мира существовала в очень большой компании под названием IBM. Причина, по которой она изготовляла свои Неуклюжие Гиганты, работающие в пакетном режиме, была только частично связана с использованной технологией электронных ламп. Истинная причина заключалась в том, что IBM была неуклюжей и неповоротливой компанией, которая не воспринимала хакерские идеи. Если бы IBM имела возможность влиять на мир (по крайней мере, так думали хакеры), то весь мир бы работал в пакетном режиме, пробитый на этих маленьких пакостных перфокартах, и в реальности только самым привилегированным из Жрецов можно было бы приближаться к компьютеру.

Чтобы в этом убедиться, достаточно было бы посмотреть на кого-нибудь из компании IBM. Вы бы заметили белую рубашку, застегнутую на все пуговицы, тщательно пришпиленный зажимом галстук, ухоженную прическу и лоток с перфокартами в руке. Если бы вы прогулялись по вычислительному центру, где стояли 704, 709, а впоследствии и 7090, в которых IBM реализовало все лучшее, что оно было в состоянии предложить, то вы бы заметили душившую все упорядоченность, вплоть до мест, которые фактически были огорожены канатами, за которые неавторизованные пользователи не отваживались переступать. Безусловно, это заслуживало сравнения с той неформальной обстановкой, которая витала вокруг TX-0, где потрепанная одежда была в порядке вещей, и куда мог зайти любой желающий.

IBM, много сделав в этой области, продолжала совершенствовать свою вычислительную технику. Благодаря своим гигантским размерам и мощному влиянию, компания сделала компьютеры составной частью жизни Америки. Для многих людей понятия «IBM» и «компьютер» были практически синонимами. Компьютеры IBM были надежными рабочими лошадями, стоящими того доверия, которое оказывали им деловые люди и ученые. Частично это было вызвано консервативным подходом компании: ее компьютеры не отличались новейшими технологическими идеями, и основывались на уже доказавших свою работоспособность принципах и тщательном и агрессивном маркетинге. После того как IBM начала доминировать на компьютерном рынке, она стала государством в государстве — своего рода империей; скрытной и самодовольной.

Но что действительно сводило хакеров с ума, так это позиция «жрецов» и «помощников жрецов» из компании IBM, которые полагали, что только IBM делает настоящие компьютеры, а все остальное — это мусор. С ними невозможно было разговаривать — они не поддавались переубеждению. Это были люди, сам мозг которых работал в режиме пакетной обработки, и это проявлялось не только в их выборе машин, но и в понятиях об организации вычислений, а также о порядке вещей в мире. Эти люди в принципе не могли понять очевидное превосходство децентрализованной системы, где никто не отдавал никаких приказов; системы в которой люди могли заниматься тем, что им было интересно. И если во время своей работы хакеры находили в системе недостаток, то они могли начать над ней честолюбивую хирургическую операцию, не заполняя при этом никаких форм и бумаг, а только лишь желая довести работу до конца.

Эти антибюрократические наклонности очень хорошо совмещались с личностями многих хакеров, которые с самого детства привыкли заниматься научной работой, в то время как остальная часть их одноклассников получала социальные навыки, сшибая лбами друг друга на аренах спортивных состязаний. Эти молодые ребята, которые когда-то чувствовали себя в этом мире не очень уютно, нашли в виде компьютера фантастический противовес, испытывая те же чувства, что и Питер Самсон, который говорил: «Как будто вы открыли дверь, прошли через нее и попали в необъятную новую вселенную…». Однажды зайдя в эту дверь и сев за консоль компьютера стоимостью в миллион долларов, хакеры ощутили силу. И для них было естественным недоверять любой другой силе, которая пыталась бы ограничить в них это ощущение.

Хакеров должно судить по их делам, а не по надуманным критериям, таким как степени, звания, возраст, цвет кожи и положение в обществе.

Хорошим примером этому явилось быстрое вхождение двенадцатилетнего Питера Дейча в сообщество хакеров TX-0 (и это притом, что аспиранты-нехакеры не воспринимали его всерьез). И сколько бы впечатляющих рекомендаций не было у человека, он не заслуживал уважения, пока он не доказывал свои способности за консолью компьютера. Эта черта характера — судить о человеке исключительно по его делам, совсем не означала наличие добродетели, укоренившейся в великодушных хакерских сердцах. Обычно, хакеры обращали гораздо меньше внимания на поверхностные характеристики конкретного человека. Их гораздо больше интересовал его практический потенциал в продвижении общего хакерского дела, создании новых программ, которыми можно было бы вместе восхищаться, и его способность поддерживать разговор о новых свойствах системы.

Вы можете создавать красоту и искусство при помощи компьютера.

Музыкальная программа Самсона была тому примером. Но для хакеров, искусство программирования не сводилось к умению извлекать приятные звуки из спикера. Программный код сам по себе был красив и совершенен.

Тем не менее, Самсон особенно скрытничал, отказываясь писать комментарии к своим исходным текстам, утверждая, что он это уже делал в свое время. В одной, написанной Самсоном и ставшей весьма популярной программе, в которой использовалось более четырех сотен команд на языке ассемблера, был один-единственный комментарий на строке номер 1750. Комментарий состоял из одного слова RIPJSB. Остальные чуть было не свернули себе мозги, пытаясь понять, что же он имел в виду, пока кто-то не догадался, что в 1750 году умер Бах, и то, что написал Самсон, означало «Rest In Peace Johann Sebastian Bach» [12]

Возникла определенная эстетика стиля программирования. Из-за ограниченного пространства памяти на TX-0 (неприятная особенность, свойственная всем компьютерам того времени), хакеры высоко ценили хитрые приемы, которые позволяли программам выполнять сложные задачи при помощи нескольких команд. Чем короче была программа, тем больше места оставалось для других программ, и тем быстрее она работала. Иногда, когда вы не сильно гнались за скоростью и экономией памяти и не очень-то задумывались над красотой и искусством, вы могли бы схачить достаточно уродливую программу, штурмуя проблему методом «грубой силы». «Ну, мы можем сделать это, добавив еще двадцать команд», — мог сказать сам себе Самсон, — «гораздо быстрее написать двадцать лишних инструкций, чем придумывать цикл в начале и в конце, для того чтобы сделать всю эту работу при помощи семи или восьми команд». Но более поздний вариант этой программы мог бы восхитить его сотоварищей, а некоторые программы «бамились» им в несколько строк настолько искусно, что его друзья могли бы только от одного взгляда на код растечься по полу от восторга.

Иногда программный бамминг принимал состязательный характер — своеобразное соревнование мачо, призванное доказать, в первую очередь, самому себе, что ты можешь управлять системой так, что эти элегантные приемы, с помощью которых можно удалить одну или две инструкции из программы, будут непременно оценены по заслугам. Или, что еще лучше, можно было пересмотреть проблему с нуля и разработать новый алгоритм, который бы сократил программу на целый блок команд[13]. Как правило, это можно было сделать, только рассмотрев проблему с такого угла зрения, с которого никто никогда не делал этого раньше, и только детально изучив настоящее и прошлое этой проблемы можно было уловить некоторый общий смысл. Это был своего рода удар, вдохновение, которое испытывает артист. Эта технология, словно позаимствованная у древней марсианской цивилизации, в сочетании с качеством, присущим черным магам и колдунам, позволяла хакерам отбросить традиционные взгляды лучших умов на земле и принести в мир абсолютно новый и неожиданный алгоритм.

Так произошло и с программой печати десятичных чисел. Эта была подпрограмма[14], иногда использовавшаяся в других программах, и которая позволяла транслировать двоичные числа, которыми оперировал компьютер в обычные десятичные цифры. По словам Сандерса эта проблема являлась «своего рода павлиньим хвостом в программировании, и, если вы могли написать рабочую программу печати десятичных чисел, то вы знали о компьютере достаточно, чтобы расправить хвост и называть себя, в некотором роде, программистом. А если вы были в состоянии написать действительнохорошую процедуру, то вы могли бы попробовать называть себя хакером». Проблема превратилась в больше чем просто состязание, окончательный бамминг процедуры печати десятичных чисел превратился для хакеров в своеобразные поиски Святого Грааля.

В течение нескольких месяцев было изготовлено множество версий процедуры печати десятичных чисел. Если программист был непроходимо глуп, или был полным идиотом и совершенным «лозером», то подпрограмма конверсии отняла бы у него около сотни команд. Но любой хакер, стоивший своего имени, мог уместить ее в меньший объем. В конечном счете, попеременно убирая инструкции то в одном, то в другом месте, процедура была уменьшена до, примерно, пятидесяти инструкций.

После этого дела приняли серьезный оборот. Хакеры тратили многие часы, пытаясь найти путь, как можно было бы сделать все то же самое, но при помощи меньшего количества кода. Это стало больше чем соревнованием — это стало настоящим крестовым походом. Сколько бы сил не было потрачено, никто не был в состоянии преодолеть барьер из пятидесяти команд. Возник вопрос: а можно ли вообще сделать ее меньше? И есть ли предел, ниже которого бамнуть программу просто нельзя?

Среди многих, кто пытался решить эту головоломку, был парень по фамилии Дженсен, высокий и тихий хакер из Мэйна. Он обычно тихо сидел в Клудж Комнате и покрывал своми каракулями распечатки с таким же невозмутимым спокойствием, как живущий в лесной глуши человек неспешно обстругивает ножом деревяшку, сидя на завалинке перед своим домом. Дженсен всегда пытался найти способ как сжать свои программы в объеме и увеличить их скорость. Его код, на первый взгляд, представлял собой беспорядочную последовательность логических и арифметических команд, часто вызывающих производство различных расчетов в разных частях одного и того же 18-битного слова. Если коротко, то его стиль программирования состоял из удивительных вещей и волшебных трюков.

До Дженсена существовала некоторая устоявшаяся точка зрения, что единственным логическим алгоритмом для процедуры печати десятичных чисел является последовательное вычитание, при котором использовались таблицы степеней числа 10 так, чтобы результирующее число попадало в соответствующие столбцы цифр. Дженсен как-то догадался, что таблица со степенями десятки была не нужна. Он придумал алгоритм, который позволял конвертировать числа обратным образом, а при помощи хитрого программного фокуса печатать их в нужном порядке. Кроме того, было дано сложное математическое доказательство всего этого, которое становилось понятным только после того, как хакеры увидели программу Дженсена, пришпиленную к доске объявлений, из которой было видно, что ему удалось преодолеть лимит длины программы для печати десятичных чисел. В ней было сорок шесть команд. Все присутствовавшие, с отпавшими челюстями уставились на код. Марж Сандерс потом припоминала, что хакеры, впервые за много дней, вели себя необычно тихо.

«Мы поняли, что дошли до логического конца», —сказал позднее Боб Сандерс, — «Это была Нирвана».

Компьютеры могут изменить твою жизнь к лучшему.

Данное мнение проявлялось очень незаметно. Хакеры крайне редко пытались объяснить массу преимуществ компьютерного пути познания людям со стороны. Кроме того, данный постулат занимал главенствующее положение в течение всего времени суток хакеров TX-0, также как и среди поколений хакеров, которые пришли за ними.

Но несомненным было то, что компьютер действительно изменил их жизнь, он обогатил ее, показал в ней цель, и сделал ее более яркой и насыщенной. Он сделал их хозяином большей части своей судьбы. Питер Самсон позднее говорил: «Примерно 25-30% процентов из того, что мы делали, было сделано только потому, что мы это могли делать, и делали хорошо. И примерно шестьдесят процентов делалось только ради того, чтобы то, что мы делаем, начинало жить само по себе, словно родное дитя, которое после своего появления на свет, подчиняется собственным правилам. И именно это было самой привлекательной вещью в программировании, своеобразным зовом свыше.… После того как вы решали проблему поведения [железа или программы], она устранялась раз и навсегда, и результат был в точности тем самым, что вы имели в виду и ничем иным».


  • Страницы:
    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40