Сегодня большинство людей представляют хакеров обычными взломщиками, которые охотятся за данными кредитных карт в популярных приложениях. Отчасти это правда, но так было не всегда.
Немного об истории хакеров
Изначально «хакерами» называли высококлассных профессионалов-программистов. Они умели «внедряться» в ПО — на случай, если нужно исправить ошибку в ядре ОС, улучшить работу программы или сбросить пароль, который никто не может вспомнить.
Хакеры появились в то же время, что и первые компьютеры — в 1960-х. Считается, что слово впервые стали использовать в клубе железнодорожных моделей Массачусетского технологического института (MIT). В 1961 году в MIT приобрели компьютер PDP-1, а члены клуба создавали на нем ПО для управления моделями. Самые талантливые из компьютерщиков и стали первыми хакерами.
А первым известным «плохим» хакером стал американец Джон Дрейпер по прозвищу Cap’n Crunch, в честь кукурузных хлопьев.
В 1971 году Дрейпер взламывал телефонные системы AT&Т — как раз с помощью коробки от кукурузных хлопьев и детского свистка. Ему удалось имитировать звук телефонной сети, и благодаря этому совершать бесплатные звонки. Чуть позже хакер избавился от коробки со свистком и соорудил электронное устройство для имитации нужного звука — Blue Box. Помогли ему в этом инженеры Стив Возняк и Стив Джобс (да-да, те самые).
Если же говорить о крупных хакерских атаках, первую совершил Роберт Моррис в 1988 году: он запустил интернет-червя Morris, который парализовал тысячи американских компьютеров. С тех пор хакерские знания регулярно используются во вред человечеству, но само слово не сразу стало отождествляться с киберпреступником. Айтишники пытались вводить новые термины.
Сейчас все эти понятия забылись, как и настоящий хакерский сленг. Но мы предлагаем вспомнить самые важные и интересные слова — чтобы немного лучше понимать культуру людей, которые стояли у истоков нашего цифрового мира.
Vanilla
В Штатах слово «ванильный» используют, говоря о чем-то дефолтном — без дополнительных вкусов, примесей, надстроек. Так повелось, потому что во все мороженое добавляют ваниль, и мороженное без шоколада, ягод или орешков — просто «ванильное». А в мире хакеров vanilla software и hardware — ПО или железо в своем исходном виде, без всякой кастомизации.
При этом у хакеров был еще один близкий термин canonical — то есть, каноничный. Не путайте с vanilla: если что-то canonical — значит оно привычное, такое, как должно быть, как хакеры и ожидали. Это вовсе не обязательно означает отсутствие кастомизации. Если хакеры пойдут в азиатский ресторан, «ванильным» назовут суп без добавления топпинга, а «каноничным» — тот, который все обычно заказывают. С софтом и железом то же самое. Кстати, термин Canonical жив по сей день: одноименная компания выпускает один из самых популярных дистрибьюторов Linux — Ubuntu.
Foo
Считается, что в обиход хакеров слово вошло чуть ли не с момента зарождения самих хакеров — в железнодорожном клубе в MIT. Как и многие другие хакерские словечки, foo до сих пор на слуху, вместе со слогом bar. Эти foo и bar — две главные метасинтаксические переменные, которые и сегодня используют в технических текстах и программировании.
Вообще в английском foo временами используют в значении чего-то «дурного», «отвратительного» (от fool — «дурак»). Но у хакеров оно применялось для обозначения чего угодно несуществующего: если в разговоре надо упомянуть какой-нибудь неопределенный файл или программу, это все будет foo. Такой вот плейсхолдер. Также на основе foo изобретали новые слова, подставляя второй слог. Самое известное такое слово — foobar. Значение то же, что и у foo.
Слово foo появилось в американском английском задолго до хакеров. В 1930-х известный автор комиксов Билл Хольман выпустил свое произведение Smokey Stover: в нем было много бессмысленных словечек, в том числе и foo.
Оно использовалось и как отдельное слово, и как слог: был в комиксе, например, двухколесный «фумобиль» (foomobile). По одной из версий, Хольман нашел это слово на китайской статуэтке — в китайском языке созвучное слово переводится как «счастье».
Употребления foo отмечались во время Второй Мировой в разном контексте. Например, неопознанные летающие объекты называли foo fighters (словосочетание позаимствовали у Хольмана). А еще была армейская аббревиатура FUBAR (Fucked Up Beyond All Repair или «необратимо разрушено»). Считается, что она вошла в обиход, потому что созвучна с немецким furchtbar — «ужасно».
Наконец, есть версия происхождения слова foo из искаженной буддистской мантры Om Mani Padme Hum — foo mani padme hum. Именно на нее члены клуба железнодорожного моделирования MIT и ссылались в своем словаре. А вот как именно слово вошло в хакерский лексикон, точно не известно. По одной из версий, надпись foo у них появлялась на экранах, когда модель поезда ехала не в ту сторону. По второй версии, foo и bar — это были названия каких-то двух кнопок.
Demigod
«Полубогами» называли авторитетных хакеров с мировой известностью и огромным опытом. Чтобы стать Demigod. нужно было отличиться в сообществе — внести внушительный вклад в разработку какого-то известного продукта. Среди таких выдающихся личностей, например:
- разработчики ОС Unix и языка C — Кен Томпсон и Деннис Ричи;
- автор GCC, EMACS и текста Свободной Лицензии GNU Ричард Столман;
- создатель языла Perl Ларри Уолл;
- отец операционной системы Linux Линус Торвальдс;
- создатель языка Java Джеймс Гослинг;
- автор языка Python Гвидо ван Россум.
Wannabee
Так называли тех, кто хотел стать хакерами. По одной из версий, это понятие зародилось в байкерском сленге. Широко использовать термин wannabee в массовой культуре стали применительно к фанатам Мадонны, которые стремились одеваться, говорить и вести себя как она.
Хакеры могли называть wannabee как увлеченных новичков, подающих надежды, так и спецов из других сфер, которые были очарованы хакерской романтикой, но не слишком вникали в суть.
Считается, что изначально wannabee были те, кто имел неосознанную внутреннюю тягу к хакерству. Применительно к ним есть еще выражение larval stage (стадия личинки) — когда человек неделями, месяцами, а то и годами увлеченно занят хакерством, забывая поесть, поспать и помыться. Сейчас для описания новичков в русском языке иногда используют выражение «личинка программиста». Правда, это просто означает «начинающий» — он вполне может быть выспавшимся и умытым.
В 90-e годы профессия хакера достигла кризиса популярности: настоящих гиков стало меньше, а обычных подражателей — больше. Тогда и начала происходить подмена понятий. Настоящие хакеры, ставшие буквально народными героями, отходили на второй план, а их славу переняли люди, которые вписывались в образ хакера, но не были такими крутыми профи.
Помимо wannabee для обозначения новичков у хакеров был еще один термин — newbie. Это слово пошло из британских школ и армейского сленга — от new boy. Newbie называли новичков в Юзнете, слово родилось на одном из форумов, часто использовалось в словосочетании clueless newbie — ничего не смыслящий новичок. Могло использоваться, в частности, как оскорбление для тех, кто давно в Usenet, но не может разобраться в каких-то простых вещах.
Bells and whistles
Выражение, у которого есть расхожий перевод «свистелки и перделки». Так называли второстепенные фичи в программе или системе — чтобы сделать ее привлекательнее с точки зрения хакеров — но не несли практической пользы для базового функционала. Был, кстати, еще термин chrome (почти браузер Google) — он тоже означал бесполезные фичи, но привлекательные уже для юзеров, а не для самих хакеров.
По одной из версий, понятие пошло от театральных органов — устройств, которые умели воспроизводить много звуков одновременно: имитацию фортепиано, шум ветра, звук грома, гул сирен и много чего еще. Также есть и вторая версия происхождения термина — исходя из нее, целиком фраза звучит как «bells, whistles, and gongs». Это версия моряков. До появления мегафонов с усилителем мощности корабли использовали колокольчики, свистки и гонки, чтобы посылать сигналы на дальние расстояния.
Gang Bang
«Гэнг-бэнг» по-хакерски — это когда много программистов, которые слабо понимают поле деятельности друг друга, привлекаются, чтобы побыстрее внедрить кучу фичей в продукт. Обычно «гэнг-бэнги» случаются в крупных компаниях, когда поджимают сроки. Менеджеры, опираясь на маркетинговые нужды, составляют бесконечный список фичей и бездумно выдают его айтишникам. Результатом обычно становится огромный, плохо организованный массив кода, который нередко вредит базовой функциональности.
Geek Code
Это придуманный в 1993 году секретный шифр, по которому гики (хакеры, в частности), могли виртуально знакомиться друг с другом: узнавать о возрасте, опыте, интересах собеседника. Послание на Geek Code могло стоять, например, вместо подписи в email-письме. Цель создания кода — не столько секретность, сколько компактность. Хакеры старались изложить максимум информации как можно более кратко.
Вот пример — тут много чего говорится. В частности, что автор письма — гик по части технической документации (GTW), носит джинсы и футболки, среднего веса (s:+), в возрасте от 25 до 29 (a-):
Изобретатель кода, Роберт Хайден, позаимствовал идею у субкультуры Bear в гей-сообществе — это движение гомосексуальных мужчин с подчеркнуто маскулинной внешностью. У них была похожая «Система классификации медведей».
В 1996 году разработали универсальную и официальную версию Geek Code. Правда, использовать его быстро перестали, и сейчас это совсем «мертвый» язык.
Flame
Словечко пошло от первых хакеров в MIT, хотя появлялось и в других американских университетах — точное место зарождения установить трудно. Изначально использовали фразу flaming asshole. Кстати, в русском языке есть похожее выражение «горящие жопы», правда, используется оно, когда дедлайн на носу. А у хакеров «flaming assholes» — это провокаторы и разжигатели скандалов на форумах. Соответственно, flamе означает писать провокационный пост/сообщение или говорить о чем-то с насмешкой. В общем, проявлять враждебность.
Есть мнение, что первым изобретателем сленгового словечка flamе был британский средневековый поэт Джеффри Чоссер. На хакера он, конечно, слабо похож.
Тем не менее, для своего времени этот симпатичный старичок был вполне себе хакером: он, помимо поэзии, написал руководство по астролябии — инструменту для вычисления положения небесных тел. Но нам интереснее его поэма «Троил и Крессида». Там героиня плачется о своей неспособности понять математическую теорему. Ее отец говорит, что это «the flaming of wretches» — можно это трактовать как-то, что теорема «ссорит несчастных».
То ли с подачи Чоссера, то ли с легкой руки массачуссетских программистов, словечко flamе прижилось в интернет-среде. Сейчас и в русскоязычных чатах можно встретить выражение «не разжигай» («stop all that flamage»). И кальку с английского — «флеймить» — тоже часто используют.
К чему все это
Сленг — отражение культуры. Популярные словечки из лексикона «старых» хакеров помогают лучше понять, как формировалось IT-сообщество: в те времена, когда программирование еще было искусством, а не ремеслом. А интереснее всего, что большинство из этих слов дожили до наших дней и используются — иногда даже «не-айтишниками».
Мы взяли 8 расхожих жаргонизмов из книги Эрика Реймонда The New Hacker’s Dictionary. В ней еще много интересных словечек. Бумажную версию можно найти на Amazon, а в электронном виде книга есть в открытом доступе.