За годы, когда я работал с Linux, я заполнил три с половиной записных книжки, отражающие мои опыты. Я начинаю записывать что-либо лишь тогда, когда делаю нечто заумное, подобно установке X Window или «ступлению по лезвию» соединения с Интернетом, и поэтому те записные книжки содержат только записки о моей борьбе и поражениях. Когда вещи по-моему ведут себя хорошо, я буду работать себе счастливо в течение многих месяцев, не записывая ни единственой памятки. Итак, эти записные книжки созданы для весьма мрачного чтения. Изменение чего-либо в Линухе связано с открытием всех тех разных мелких текстовых файлов ASCII и изменением слова здесь и символа там, что чрезвычайно существенно в том смысле, как система действует.
Многие файлы, которые определяют, как Linux работает, — не что иное, как командные строки, которые стали такими длинными и сложными, что даже линуховым хакерам влом кропотливо набирать их правильно. Работая с чем-то таким же мощный, как и Linux, вы можете легко потратить целых полчаса на создание единственной командной строки. Например, «find» команда, которая ищет файлы в вашей файловой системе, которая сочетает определенные критерии, фантастически мощные и общие. Его «руководство» — длиной одиннадцать страниц, и это вразумительные страницы; вы могли бы легко развернуть их в целую книгу. И буде это не слишком заумно и само по себе, вы можете всегда «затрубить» выход одной команды Unix на ввод другой (от слова pipe, использованного в качестве глагола — на юниховом жаргоне «трубка», такой же сложной. «pon», команда, которая используется, чтобы установить соединение PPP с Интернет (вообще-то, в разных системах могут быть разные команды: в юнихах это всякие дружественные надстроки над сложной, почти мистической для простого юзера сущностью демона коммутируемых соединений pppd), требует столько подробной информации, что практически невозможно запустить эту прогу целиком из командной строки. Взамен вы сводите большие куски своего ручного ввода в три или четыре дополнительных файла. Вам нужен «дозвонный» сценарий (to dial — набирать номер, и в этом смысле — дозваниваться — прим. перев.), который является фактически небольшой программой, сообщающей проге, как набирать телефонный номер и откликаться на различные события; файл опций, который включает вплоть до шестидесяти других настроек, указывающих, как соединение PPP должно быть установлено; и секретный файл, содержащий информацию о вашем пароле.
Возможно, есть «богоидные» (от godlike — в смысле, «богоподобные», но многие хакеры, как следует из уважаемого словаря жаргона от Стила, склонны в шутку применять термин bogus, к тем, кто слонен что- либо сравнивать с богом — эта «богость» последних часто приводит к тому, что их грандиозные замыслы становятся в натуре «[у]богими», часто — из-за нарушения принципа простоты «KISS» и более общего — бритвы Оккама — прим. перев.) хакеры Юниха где-нибудь в мире, которым не нужно использовать эти небольшие сценарии и файлы опций, как костыли, и кто может просто настучать фантастически сложные командные строки, без типографские ошибок и не тратя часы на перелистывание документации. Но я не один из них. Как почти все линуховые пользователи, я завишу от того, чтоб иметь все те подробности спрятанными к дьяволу в тысячи небольших текстовых файлов ASCII, которые в свою очередь запрятаны в тайники Юниховой файловой системы. Когда я хочу изменить что-то в способе, которым моя система работает, я редактирую те файлы. Я знаю, что если не отслежу каждого небольшого изменения, которое сделал, я не смогу вернуть вашу систему обратно к прежнему порядку работы, после того, как мне удалось все облажать. Хранение вручную записанных протоколов скучно, не говоря уже о своего рода анахроничности. Но необходимо.
Я вероятно уберег бы свою голову от многих болей, имея дело с компанией, называющейся Cygnus Support («поддержка от Сайнуса» — прим. перев.), которая существует, чтобы предоставить помощь пользователям свободного программного обеспечения. Но я этого не сделал, из-за того, что хотел увидеть, смогу ли я сделать что-то сам. Ответ оказался скорее «да», но еле-еле. И есть много «ужимок и прыжков» (ухищрений оптимизации — прим. перев.), которые я мог вероятно сделать в моей системе, к чему я никогда не оставлял попыток, частично из-за того, что меня прет от того, чтоб побыть Морлоком несколько дней, и частично из-за того, что я боюсь неисправности в системе, которая обычно работает хорошо.
Хотя Linux работает для меня и многих других пользователей, чистая мощность и общность является его ахиллесовой пятой. Если вы знаете, что делаете, вы можете купить дешевый ПиСюк из любого магазина компьютеров, выбросить нафиг диски с «Окнами», которые идут с ним, превращаете это в линуховую систему умопомрачительной сложности и мощности. Вы можете подцепить к нему до двенадцати других «Линух-боксов» и сделать его частью параллельного компьютера. Вы можете сконфигурировать его так, что сотни других люди смогут регистрироваться на нем прямо по Интернету, через хренову тучу модемных соединений, карт Ethernet, TCP/IP розеток, и каналов пакетного радио.). Вы можете навесить полдюжины других мониторов и поиграть в DOOM с кем-то в Австралии, прослеживая спутники связи на орбите и управляя освещением вашего дома и термостатами, и смотреть потоковое живое видео из вашей веб- камеры, и «серфить» по Сети, и разрабатывать печатные платы на других экранах. Но чистая мощность и сложность системы — качества, которые делают ее настолько технически более развитой по сравнению с другими ОСями — иногда заставляет ее казаться слишком ужасной для обычного повседневного использования. (Упертые юнихоиды: «Контрррра!» Переводчик: «Спакойна! Это еще не конец…»)
Иногда, другими словами, я просто захочу пойти в Диснейлэнд.
Идеальной ОпСистемой для меня была бы та, которая имела бы хорошо запроектированный ГРАФИЧЕСКИЙ ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ, который можно легко настроить и использовать, но который включает терминальные окна, где я мог бы возвратитьсяв интерфейс командной строки, и выполнять программное обеспечение ГНУ, когда это имеет смысл. Несколько лет тому назад, Be Inc. изобрела точно такую ОСь. Ее назвали BeOS.
Etre
Многие люди в компьютерном бизнесе пожили в интересное время, сталкиваясь с корпорацией Be, по той простой причине, что ничто, что касается ее, кажется не имеет абсолютно никакого значения. Она была запущена поздним 1990, что делает ее приблизительно ровесницей Linux. Изначально она посвящалось созданию новой операционной системы, которая, конструктивно, несовместима со всеми другими (хотя, как будет видно, она совместима с Unix в некоторых весьма важных аспектах). Если по определению «знаменитость» — кто-то, кто известен своей известностью, то Be в натуре антизнаменитость. Она известна своей незнаменитостью; она известна благодаря своей обреченности. Но она была обречена очень долго.
Миссия Be возможно поимела большее значение для хакеров, чем для всех прочих. Чтобы объяснить, почему, мне нужно ввести понятие «ремезло» (игра слов, хакерское cruft — искаженное craft, как уничижительное обозначение неудачных попыток «сделать как лучше» — прим. перев.), которое для людей, пишущих код, почти так же отвратительно, как и ненужное повторение.
Если вы были в Сан-Франциско, вы видали более старые здания, которые подверглись «сейсмическому апгрейду,», который часто означает, что абсурдные надстройки современной арматуры воздвигаются вокруг зданий, построенных, как говорится, в классическом стиле. Когда новые угрозы возникают — пусть это будет Ледниковый Период, для смеха — дополнительные слои все более высокотехнологичных причиндалов могут создаваться, в свою очередь, вокруг этих, пока исходное здание, не станет подобно святой реликвии в соборе — типа кусочка пожелтевшей кости, хранящейся в полтонне причудливой защитной рухляди.
Аналогичные меры могут быть предприняты, чтобы поддержать скрипучую деятельность старых операционных систем. Это случается все время. Выбрасывание на помойку дохлой старой ОСи должно упрощаться тем, что, в отличие от старых зданий, ОпСистемы не имеют эстетического или культурное значения, которое делает их внутренне стоящими сохранения. Но этого не происходит на практике. Если Вы работаете с компьютером, то вероятно настроили под себя ваш «рабочий стол», ту среду, в которой вы сидите, чтобы работать каждый день, и затратили кучу денег на программное обеспечение, которое работает в этой среде, и посвятили много времени ознакомлению с тем, как оно все работает. Это отнимает время, а время — деньги. Как уже упоминалось, желание поиметь взаимодействие с сложными технологиями упрощенным при помощи интерфейса, и окружать себя с виртуальными фенечками и газонными орнаментами — естественно и повсеместно — возможно, это реакция против сложности и