Как стать хакером?!

Кто такой хакер?

Жаргон содержит кучу определений термина ‘хакер’. Большинство из них связано с техническим мастерством и удовольствием от решения проблемы и преодоление ограничений. Однако, если вы хотите узнать, как стать хакером, то на самом деле есть только два уместных определения этому термину.


Есть сообщество, общая культура программистов-экспертов и сетевых волшебников, которая прослеживает свою историю на протяжении десятилетий до первых мини-компьютеров с разделением времени и самая ранняя сеть ARPAnet. Представители этой культуры придумали этот термин «хакер». Хакеры построили Интернет. Хакеры сделали операционную систему Unix такой какой она представляет собой сегодня. Хакеры делают мир Работа в Интернете. Если вы являетесь частью этой культуры, если вы внесли свой вклад в он и другие люди в нем знают, кто вы, и называют вас хакером, Вы хакер.

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

Есть еще одна группа людей, которые громко называют себя хакеры, но не хакеры. Это люди (в основном подростки мужского пола), которые Получите удовольствие от взлома компьютеров и скрипа телефона система. Настоящие хакеры называют этих людей «взломщиками» и не хочу иметь с ними ничего общего. Настоящие хакеры в основном думают, что взломщики ленивый, безответственный и не очень умный, и возражает, что, будучи способным Взлом системы безопасности не делает вас хакером в большей степени, чем способность To Hotwire Cars делает вас автомобильным инженером. К сожалению, многие Журналистов и писателей обманули, заставив использовать это слово «хакер» для описания взломщиков; Это раздражает настоящих хакеров Нет конца.

Основное отличие заключается в следующем: хакеры создают вещи, взломщики сломать их.

Если вы хотите стать хакером, продолжайте читать. Если ты хочешь быть крекером, Прочтите группу новостей alt.2600 и получите готов сделать пять-десять в слэммере после того, как узнает, что вы не так Умный, каким вы себя считаете. И это все, о чем я собираюсь сказать Крекеры.

Отношение хакера

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

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

Или, как говорится в следующем современном дзенском стихотворении:

Идти по пути:
смотреть на мастера,
следовать за мастером,
идти с мастером,
видеть насквозь мастера,
стать мастером.

Итак, если вы хотите стать хакером, повторяйте следующие вещи до тех пор, пока Вы им верите:

1. Мир полон увлекательных проблем, ожидающих своего решения.

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

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

(Вы также должны развить в себе веру в собственное обучение способности — вера в то, что, даже если вы не знаете всего, что вы нужно решить проблему, если вы возьметесь только за ее часть и научитесь Из этого вы узнаете достаточно, чтобы решить следующую часть — и так далее. пока не закончите.)

2. Ни одна проблема не должна решаться дважды.

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

Чтобы вести себя как хакер, вы должны верить, что время размышлений Other Hackers ценен — настолько, что это почти моральный долг для того, чтобы вы делились информацией, решали проблемы, а затем давали Другие хакеры могут решать новые проблемы, а не постоянно возвращаться к старым.

Заметьте, однако, что «ни одна проблема никогда не должна быть решена дважды.» не означает, что вы должны учитывать все существующие священных решений, или что существует только одно правильное решение для любого данной проблемы. Часто мы узнаем о проблеме много такого, чего не знали Узнайте об этом раньше, изучив первый срез у раствора. Это нормально, и Часто необходимо, чтобы решить, что мы можем сделать лучше. Что не в порядке, так это искусственные технические, юридические или институциональные барьеры (например, закрытый исходный код), которые препятствуют повторному использованию хорошего решения и заставлять людей заново изобретать велосипеды.

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

3. Скука и тяжелая работа – это зло.

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

Чтобы вести себя как хакер, вы должны верить в это настолько, чтобы захотеть Автоматизируйте расточные долота настолько, насколько это возможно, а не только для себя, но и для всех остальных (особенно для других хакеров).

(Из этого правила есть одно очевидное исключение. Хакеры иногда делают вещи, которые могут показаться повторяющимися или скучными наблюдателю в качестве упражнения для очищения ума, или для того, чтобы приобрести навык или Какой-то особый опыт, который вы не можете получить иначе. Но это Никто, кто может мыслить, никогда не должен быть принужден к ситуация, которая им скучна.)

4. Свобода – это хорошо.

Хакеры по своей природе антиавторитарны. Любой, кто может дать тебе Заказы могут помешать вам решить любую проблему, с которой вы сталкиваетесь очарован — и, учитывая то, как работают авторитарные умы, Как правило, найдите какую-нибудь ужасающе глупую причину для этого. Таким образом, С авторитарным отношением нужно бороться, где бы вы его ни находили, чтобы Он душит вас и других хакеров.

(Это не то же самое, что бороться со всякой властью. Дети должны быть направляли и сдерживали преступников. Хакер может согласиться принять некоторые авторитета, чтобы получить то, чего он хочет больше, чем Время, которое он тратит на выполнение приказов. Но это ограниченный, сознательный сделка; Та личная капитуляция, которой хотят авторитарные режимы, не предложение.)

Авторитарные режимы процветают благодаря цензуре и секретности. И они не доверяют добровольному сотрудничеству и обмену информацией — они Только как «сотрудничество», которое они контролируют. Так вести себя Подобно хакеру, вы должны развить инстинктивную враждебность к цензура, секретность и применение силы или обмана для принуждения ответственные взрослые. И вы должны быть готовы действовать в соответствии с этим вера.

5. Отношение не заменит компетентности.

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

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

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

Базовые хакерские навыки

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

Этот инструментарий медленно меняется с течением времени по мере того, как технологии создают новые навыки и делает старые устаревшими. Например, раньше он включал в себя программирование на машинном языке, и до недавнего времени не включал HTML. Но На данный момент он довольно четко включает в себя следующее:

1. Научитесь программировать.

Это, конечно же, фундаментальный хакерский навык. Если вы этого не сделаете знать любые компьютерные языки, рекомендую начинать с Python. Так и есть Чисто спроектированный, хорошо документированный и относительно добрый к новичкам. Несмотря на то, что это хороший родной язык, это не просто игрушка; Это очень Мощный и гибкий, хорошо подходит для крупных проектов. У меня есть написана более детальная оценка Питон. Хорошими учебными пособиями являются доступно на Python веб-сайт; в Computer Science есть отличный сторонний Круги.

Раньше я рекомендовал Java как хороший язык для раннего изучения, но это критика изменила мое мнение (поищите «Подводные камни Java как первый язык программирования»). Хакер не может, как они разгромно выразились, «подойти к решению проблем как сантехник в хозяйственном магазине»; Вы должны знать, что Компоненты на самом деле это делают. Теперь я думаю, что так оно и есть вероятно, лучше всего сначала изучить C и Lisp, а затем Java.

Здесь, пожалуй, есть более общий момент. Если язык тоже много для вас, он может быть одновременно хорошим инструментом для производства и Плохо для обучения. Это есть не только в языках проблема; фреймворки веб-приложений, такие как RubyOnRails, CakePHP, Django может сделать слишком легким достижение поверхностного понимания того, что оставит вас без ресурсов, когда вам придется решать сложные задачи. или даже просто отладить решение до простого.

Лучшей альтернативой Java является изучение Go. Этот относительно новый язык довольно легко перейти с Python, а его изучение даст вам серьезный Кроме того, одним из неизвестных о следующих нескольких годах является то, до какой степени Го может фактически вытеснить C как язык системного программирования. Имеется возможное будущее, в котором это произойдет на протяжении большей части традиционных диапазон.

Если вы займетесь серьезным программированием, вам рано или поздно придется изучать C, основной язык Unix. C++ очень тесно связан с C; Если вы знаете одного, выучить другой не составит труда. Ни Тем не менее, язык стоит попробовать выучить в качестве первого. И На самом деле, чем больше вы можете избежать программирования на C, тем продуктивнее Вы будете.

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

Другие языки, имеющие особое значение для хакеров, включают Perl и LISP. Perl стоит обучение по практическим причинам; Он очень широко используется для активного веба страниц и системного администрирования, так что даже если вы никогда не напишете Perl Вы должны научиться его читать. Многие люди используют Perl так же, как я Я предлагаю использовать Python, чтобы избежать программирования на C в заданиях, которые не требуют производительности машины С. Вам нужно будет уметь чтобы понять их код.

LISP стоит изучать по другой причине — Глубокий опыт просветления, который вы получите, когда наконец достигнете оно. Этот опыт сделает вас лучшим программистом для остальных даже если вы никогда не используете сам LISP часто. (Вы можете получить начальный опыт работы с LISP довольно легко, написав и изменение режимов редактирования для текстового редактора Emacs или Script-Fu плагины для GIMP.)

На самом деле, лучше всего изучить все пять Python, C/C++, Perl и LISP. Помимо того, что это самые важные языки для взлома, Они представляют собой очень разные подходы к программированию, и каждый из них Обучите вас ценным способам. Go не совсем до того момента, когда это может быть отнесен к числу наиболее важных хакерских языков, но он Похоже, что к этому статусу движется.

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

Я не могу дать полную инструкцию о том, как научиться программировать Здесь — это сложный навык. Но я могу сказать вам, что книги и Курсы этого не сделают — многие, а может быть, и самые лучшие Хакеры — самоучки. Вы можете изучить особенности языка — кусочки знание — из книг, но образ мышления, который делает это знание Живому мастерству можно научиться только практикой и ученичеством. Он будет (а) читать код и (б) писать код.

Питер Норвиг, который является одним из ведущих хакеров Google и соавтор наиболее широко используемого учебника по ИИ, написал отличное эссе под названием Teach Yourself Programming in Десять лет. Его “рецепт успеха в программировании” стоит Внимательное отношение.

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

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

Раньше было трудно найти хороший код для чтения, потому что их было мало Большие программы, доступные в исходном коде для начинающих хакеров для чтения и Повозиться. Ситуация кардинально изменилась; программное обеспечение с открытым исходным кодом, инструменты программирования и операционные системы (все они созданы хакерами) В настоящее время широко доступен. Это подводит меня к нашей следующей теме…

2. Приобретите одну из Unix-систем с открытым исходным кодом и научитесь использовать и запускать ее.

Я предполагаю, что у вас есть персональный компьютер или вы можете получить доступ к Один. (Найдите минутку, чтобы оценить, как много это значит. Хакер Культура изначально развивалась в те времена, когда компьютеры были настолько дорогими, что Отдельные лица не могли владеть ими.) Самый важный шаг любой Новичок может принять участие в приобретении хакерских навыков, чтобы получить копию Linux или один из BSD-Unix, установите его на персональную машину, и Запустите его.

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

Под Mac OS X это возможно, но открыта только часть системы source — вы, скорее всего, столкнетесь со многими стенами, и вы должны быть Будьте осторожны, чтобы не развить дурную привычку зависеть от Apple Проприетарный код. Если вы сконцентрируетесь на Unix под капотом Можно почерпнуть кое-что полезное.

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

Итак, возьмем Unix — мне самому нравится Linux, но есть и другие (и да, вы можете запустить как Linux, так и Microsoft Windows на том же компьютере). Изучите его. Запустите его. Повозитесь с ним. Поговорите с ним в Интернете. Прочтите код. Измените код. Вы получите лучшие инструменты программирования (включая C, LISP, Python и Perl), чем любая операционная система Microsoft может мечтать о хостинге, вы Получайте удовольствие, и вы впитаете больше знаний, чем думаете Вы будете учиться до тех пор, пока не оглянетесь назад, как на мастера-хакера.

Для получения дополнительной информации об изучении Unix см. The Loginataka. Вы можете также хотите взглянуть на Искусство Unix-программирования.

Блог Let’s Вперед, Личинка! - это окно в процесс обучения нового Пользователь Linux, который, на мой взгляд, необычайно ясен и полезен. Пост Как Книга «Я узнал, что линукс» является хорошей отправной точкой.

Чтобы получить в свои руки Linux, посетите сайт Linux Online!; Вы можете скачать оттуда или (что лучше) найти локальную группу пользователей Linux, чтобы Поможем с установкой.

В течение первых десяти лет существования этого HOWTO я сообщал, что с точки зрения нового пользователя, все дистрибутивы Linux почти эквивалентный. Но в 2006-2007 годах появился действительно лучший выбор: Ubuntu. В то время как другие дистрибутивы свои собственные сильные стороны, Ubuntu - это, безусловно, самая сильная доступен для новичков в Linux. Остерегайтесь, однако, отвратительных и почти непригодный для использования интерфейс рабочего стола “Unity”, который Ubuntu представила как дефолт через несколько лет; варианты Xubuntu или Kubuntu лучший.

Вы можете найти справку и ресурсы по BSD Unix на www.bsd.org.

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

Я написал учебник по основам Unix и Интернета.

Раньше я не рекомендовал устанавливать Linux или BSD в качестве Сольный проект, если вы новичок. В настоящее время монтажники получили достаточно хорошо, чтобы сделать это полностью самостоятельно, даже для Новичок. Тем не менее, я все же рекомендую связаться с вашим местным Группа пользователей Linux и просьба о помощи. Это не может навредить, и может сгладить процесс.

3. Научитесь пользоваться всемирной паутиной и писать HTML.

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

Это означает не просто научиться управлять браузером (это может сделать любой that), но и научиться писать HTML, язык веб-разметки. Если вы не умеете программировать, написание HTML научит вас чему-то ментальные привычки, которые помогут вам учиться. Поэтому создайте домашнюю страницу.

Но просто иметь домашнюю страницу далеко не так хорошо, чтобы сделать вас хакером. Интернет полон домашних страниц. Большинство из них Бессмысленный осадок с нулевым содержанием — Заметьте, очень шикарно выглядящий осадок вы, но сладж все равно (подробнее об этом см. The HTML Hell Страница).

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

4. Если у вас нет функционального английского, выучите его.

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

Где-то в 1991 году я узнал, что многие хакеры, владеющие английским языком второй язык использовать его в технических дискуссиях, даже когда они разделяют язык рождения; В то время мне сообщили, что в английском языке есть более богатый технический словарный запас, чем любой другой язык, и поэтому Просто лучший инструмент для работы. По тем же причинам переводы технических книг, написанных на английском языке, часто неудовлетворительны (когда они вообще делаются).

Линус Торвальдс, финн, комментирует свой код на английском языке (он видимо ему никогда не приходило в голову поступить иначе). Его беглость речи на английском языке был важным фактором в его способности вербовать всемирное сообщество разработчиков Linux. Это достойный пример следующий.

То, что вы являетесь носителем английского языка, не гарантирует, что у вас есть Языковые навыки достаточно хороши, чтобы функционировать в качестве хакера. Если ваше письмо является полуграмотным, неграмматическим и изобилует орфографическими ошибками, Многие хакеры (в том числе и я) будут склонны игнорировать вас. Пока небрежно Писательство не всегда означает небрежное мышление, мы, как правило, обнаружили, что корреляция сильная — и нам не нужны неряшливые мыслители. Если вы пока не умеете грамотно писать, научитесь.

Статус в хакерской культуре

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

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

В частности, хакерство — это то, что антропологи называют даром культуры. Вы приобретаете в нем статус и репутацию не за счет доминирования других людей, ни тем, что они красивы, ни тем, что у них есть что-то иное, Люди хотят, а скорее раздают. В частности, с помощью отдавая свое время, свое творчество и результаты своей работы мастерство.

Есть пять основных вещей, которые вы можете сделать, чтобы вас уважали Хакеры:

1. Написание программного обеспечения с открытым исходным кодом

Первый (самый центральный и самый традиционный) – это написать программы, которые другие хакеры считают забавными или полезными, и дают Исходные коды программ для использования всей хакерской культурой.

(Мы привыкли называть эти работы “свободным программным обеспечением”, но это Это сбивало с толку слишком многих людей, которые не были уверены в том, что такое «свободный» предположительно имеется в виду. Большинство из нас сейчас предпочитают термин «открытый исходный код» программного обеспечения).

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

Но здесь есть небольшой исторический момент. Пока Хакеры всегда равнялись на разработчиков ПО с открытым исходным кодом До середины 1990-х годов большинство хакеров Большую часть времени работал на закрытом исходном коде. Это было все еще верно, когда я написал первую версию этого HOWTO в 1996 году; Потребовалось Внедрение программного обеспечения с открытым исходным кодом после 1997 года, чтобы изменить ситуацию. Сегодня «хакерское сообщество» и «разработчики ПО с открытым исходным кодом» — это два понятия описания того, что, по сути, является одной и той же культурой и населением — но стоит помнить, что так было не всегда так. (Подробнее об этом см. раздел «Историческая справка: взлом, открытый исходный код, и свободного программного обеспечения».)

2. Помощь в тестировании и отладке программного обеспечения с открытым исходным кодом

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

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

3. Публикуйте полезную информацию

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

Мейнтейнеры основных технических FAQ пользуются почти таким же уважением, как и авторы с открытым исходным кодом.

4. Помогите поддерживать инфраструктуру в рабочем состоянии

Хакерская культура (и инженерное развитие Интернет, если уж на то пошло) управляется добровольцами. Есть много необходимая, но негламурная работа, которую нужно проделать, чтобы сохранить его going — администрирование списков рассылки, модерация групп новостей, ведение крупных сайтов архивов программного обеспечения, разработка RFC и др. Технические стандарты.

Люди, которые делают такие вещи хорошо, получают большое уважение, потому что Все знают, что эта работа отнимает огромное количество времени и не так весела, как Игра с кодом. Выполнение их показывает самоотверженность.

5. Обслуживайте саму хакерскую культуру

Наконец, вы можете обслуживать и размножать саму культуру (с помощью Например, написание точного учебника о том, как стать хакером :-)). Это не то, что вы сможете сделать, пока не сделаете этого какое-то время и стали известны благодаря одному из первых четырех пожитки.

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

Связь между хакером и ботаником

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

По этой причине многие хакеры приняли этот ярлык «Гик» как знак гордости — это способ заявить о себе их независимость от нормальных социальных ожиданий (а также любовь к другим вещам, таким как научная фантастика и стратегии, которые часто идут с тем, чтобы быть хакером). Раньше термин «ботаник» использовался в этом Еще в 1990-х годах, когда слово «ботаник» было мягким уничижительным и ‘гик’ - довольно жесткий; где-то после 2000 года они поменялись местами, по крайней мере, в массовой культуре США, и в настоящее время существует даже значительная Культура гик-прайда среди людей, которые не являются технарями.

Если вам удастся достаточно сконцентрироваться на взломе, чтобы преуспеть в этом И при этом жить, это нормально. Сегодня это намного проще, чем это было, когда я был новичком в 1970-х годах; Массовая культура Теперь он более дружелюбен к техно-ботаникам. Растет число люди, которые понимают, что хакеры часто являются высококачественными любовниками и Материал супруга.

Если вас привлекает хакерство, потому что у вас нет жизни, Это тоже нормально — по крайней мере, у вас не будет проблем с концентрацией. Может быть У вас будет жизнь позже.

Очки за стиль

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

  • Научитесь хорошо писать на родном языке. Хотя Это распространенный стереотип, что программисты не умеют писать, удивительное количество хакеров (включая всех самых опытных тех, кого я знаю) очень способные писатели.
  • Читайте научную фантастику. Перейти к научной фантастике конвенции (хороший способ познакомиться с хакерами и протохакерами).
  • Присоединяйтесь к хакерскому пространству и создавайте вещи (еще один хороший способ познакомиться с хакерами и протохакерами).
  • Тренируйтесь в форме боевых искусств. Вид ментального Дисциплина, необходимая для занятий боевыми искусствами, похоже, аналогична в Важные способы того, что делают хакеры. Самые популярные формы среди хакеры, безусловно, азиатские искусства с пустыми руками, такие как Тхэквондо, различные формы каратэ, кунг-фу, айкидо или джиу-джитсу. Западный Фехтование и азиатское искусство фехтования также имеют видимых последователей. В Там, где это законно, стрельба из пистолета растет в Популярность с конца 1990-х годов. Самые хакерские боевые искусства это те, которые подчеркивают умственную дисциплину, расслабленное осознавание, и точный контроль, а не грубая сила, атлетизм или физическая прочность.
  • Изучайте актуальную медитативную дисциплину. Многолетник фаворитом среди хакеров является Zen (что важно, можно извлекать пользу из дзэн, не приобретая религию и не отказываясь от нее у вас уже есть). Другие стили также могут подойти, но будьте осторожны выбрать тот, который не требует от вас веры в сумасшествие пожитки.
  • Развивайте аналитический музыкальный слух. Научитесь ценить своеобразную музыку. Научитесь играть какой-нибудь мюзикл инструмент, или как петь.
  • Развивайте свое понимание каламбуров и каламбур.

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

Работайте так же интенсивно, как вы играете, и играйте так же интенсивно, как вы работаете. Для настоящих хакеров границы между «игрой», «работой», «наукой» и «Искусство» имеет тенденцию либо исчезать, либо сливаться в высокоуровневую творческую игривость. Кроме того, не стоит довольствоваться узким набором навыков. Несмотря на то, что большинство хакеров называют себя программистами, весьма вероятно, что быть более чем компетентным в нескольких смежных навыках — система администрирование, веб-дизайн и устранение неполадок с оборудованием ПК являются распространенными Те. С другой стороны, хакер, который является системным администратором, Скорее всего, вы достаточно опытны в программировании сценариев и веб-дизайне. Хакеры не делают что-то наполовину; если они вообще инвестируют в навык, Они, как правило, очень хорошо в этом разбираются.

Наконец, несколько вещей, на которые не стоит делать.

  • Не используйте глупый, грандиозный идентификатор пользователя или имя пользователя.
  • Не ввязывайтесь в пламенные войны в Usenet (или где-либо еще) иначе).
  • Не называйте себя «киберпанком» и не тратьте впустую Ваше время на любого, кто это делает.
  • Не публикуйте и не отправляйте по электронной почте тексты, полные орфографии ошибки и грамматические ошибки.

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

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

Историческая справка: Взлом, Открытый исходный код, и свободное программное обеспечение

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

Хакерский дух и сообщество в том виде, в каком я их здесь подробно описал предшествовал появлению Linux после 1990 года; Впервые я ввязался в это дело примерно в 1976 году, и его корни легко прослеживаются до Начало 1960-х годов. Но до появления Linux большинство взломов осуществлялось либо на проприетарных операционных систем или несколько квазиэкспериментальных доморощенные системы, такие как ИТС Массачусетского технологического института, которые никогда не развертывались за пределами свои первоначальные академические ниши. В то время как некоторые из них были и раньше (до Linux) попытках изменить эту ситуацию, их влияние было на лучшие очень маргинальные и ограниченные сообществами преданных истинных верующих, которые составляли крошечное меньшинство даже в хакерском сообществе, Не говоря уже о том, что касается более широкого мира программного обеспечения в Общее.

То, что сейчас называется «открытым исходным кодом», восходит к хакерам Но до 1985 года это была неназванная народная практика, скорее чем сознательное движение с прикрепленными к нему теориями и манифестами. Эта предыстория закончилась, когда в 1985 году архихакер Ричард Столлман (“RMS”) попытался дать ему название — “свободное программное обеспечение”. Но его поступок именования было также актом притязания; Он приложил идеологический багаж ярлык “свободного программного обеспечения”, который большая часть существующих хакеров Сообщество никогда не принимало. В результате, ярлык «свободного программного обеспечения» был Он был категорически отвергнут значительным меньшинством хакерского сообщества (особенно среди тех, которые ассоциируются с BSD Unix), и используются с серьезные, но молчаливые оговорки большинства остальных (в том числе и я).

Несмотря на эти оговорки, претензии RMS на определение и руководство Хакерское сообщество под знаменем «свободного программного обеспечения» широко придерживалось до тех пор, пока Середина 1990-х годов. Серьезный вызов ей бросил только появление Linux. Linux стал естественным домом для разработки ПО с открытым исходным кодом. Множество проектов на условиях, которые мы сейчас называем открытым исходным кодом, перенесенным с проприетарные Unix-системы для Linux. Сообщество вокруг Linux выросло взрывообразно, становясь гораздо больше и разнороднее, чем Хакерская культура до появления Linux. РМС решительно попыталась кооптировать всех Эта деятельность переросла в его движение за “свободное программное обеспечение”, но была сорвана как взрывной рост разнообразия Linux-сообщества, так и публики скептицизм его основателя Линуса Торвальдса. Торвальдс продолжал использовать термин “свободное программное обеспечение” за неимением какой-либо альтернативы, но публично отвергли идеологический багаж РМС. За ним последовали многие молодые хакеры костюм.

В 1996 году, когда я впервые опубликовал это Hacker HOWTO, хакер сообщество быстро реорганизовывалось вокруг Linux и нескольких других операционные системы с открытым исходным кодом (в частности, те, которые произошли от BSD Unix). Общественная память о том, что большинство из нас потратили десятилетия Разработка программного обеспечения с закрытым исходным кодом на операционных системах с закрытым исходным кодом еще не начал угасать, но этот факт уже начинал казаться как часть мертвого прошлого; Хакеры все чаще себя как хакеров из-за их привязанности к проектам с открытым исходным кодом такие как Linux или Apache.

Термин «открытый исходный код», однако, еще не появился; Это было бы Не делал этого до начала 1998 года. Когда это произошло, большая часть хакерского сообщества принял его в течение следующих шести месяцев; Исключение составляли меньшинство, идеологически привязанное к термину “свободное программное обеспечение”. С В 1998 году, и особенно после 2003 года, идентификация «хакерства» с «разработкой с открытым исходным кодом (и свободным программным обеспечением)» стала очень близко. Сегодня нет особого смысла пытаться различать эти категории, и представляется маловероятным, что это произойдет изменения в будущем.

Стоит, однако, помнить, что так было не всегда.

Другие ресурсы

Пол Грэм написал эссе под названием «Великие хакеры». другой – на бакалавриате, в которой он говорит много мудрости.

Молодые хакеры могут найти Things Every Хакер когда-то знал интересно и полезно.

Я также написал А Краткая история хакерства.

Я написал статью «Собор» и Базар, который многое объясняет о том, как Linux и культуры с открытым исходным кодом работают. Я даже обращался к этой теме более непосредственно в его продолжении Homesteading Ноосфера.

Рик Моэн (Rick Moen) написал отличный документ о том, как работать группа пользователей Linux.

Рик Моэн и я совместно работали над другим документом о том, как Задавать умные вопросы. Это поможет вам обратиться за помощью Таким образом, это повышает вероятность того, что вы действительно его получите.

Если вам нужен инструктаж по основам работы с персональными компьютерами, Unix и работа с Интернетом см. Основы Unix и Интернета HOWTO.

Когда вы выпускаете программное обеспечение или пишете исправления для программного обеспечения, старайтесь следуйте рекомендациям, приведенным в Software Release Practice HOWTO.

Если вам понравилось стихотворение Дзен, вам также может понравиться Rootless Root: The Unix Koans of Мастер Фу.

Часто задаваемые вопросы

Q: Как узнать, являюсь ли я уже хакером?
A: Задайте себе следующие три вопроса:
  • Вы свободно говорите на коде?
  • Отождествляете ли вы себя с целями и ценностями Хакерское сообщество?
  • Имеет хорошо зарекомендовавшего себя члена хакера Сообщество когда-нибудь называло вас хакером?

Если вы можете ответить «да» на все три вопроса вопросы, вы уже хакер. Одних двух недостаточно.

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

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

Вот неполный, но показательный список некоторых из них projects: Имеет ли для вас значение, что Linux совершенствуется и распространяется? А Вы Увлечены свободой программного обеспечения? Враждебно настроены по отношению к монополиям? Действуете ли вы на вере в то, что компьютеры могут быть инструментами расширения прав и возможностей, Сделать мир богаче и гуманнее?

Но здесь уместно предостережение. Хакерское сообщество какие-то конкретные, в первую очередь оборонительные политические интересы — два из Они защищают право на свободу слова и отбиваются захват власти «интеллектуальной собственностью», который сделает открытый исходный код незаконный. Некоторые из этих долгосрочных проектов связаны с гражданскими свободами такие организации, как Electronic Frontier Foundation и Внешнее отношение собственно включает в себя их поддержку. Но помимо этого, Большинство хакеров рассматривают попытки систематизировать хакерское отношение как явная политическая программа с подозрением; Мы узнали, что трудные Таким образом, эти попытки вызывают разногласия и отвлекают. Если кто-то пытается завербовать вас для марша на вашу Капитолию во имя хакерское отношение, они упустили суть. Правильная реакция Наверное, “Заткнись и покажи им код”.

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

Социологи, изучающие сети, подобные хакерским культуры под общей рубрикой «невидимые колледжи», отметили Одной из характеристик таких сетей является то, что у них есть привратники — основные члены, обладающие социальными полномочиями по утверждению новых членов; в сеть. Потому что «невидимый колледж», которым является хакер Культура свободна и неформальна, роль привратника Неформальный тоже. Но есть одна вещь, которую все хакеры понимают в своих Дело в том, что не каждый хакер является привратником. Привратники должны имеют определенную степень старшинства и достижений, прежде чем они смогут присвоить титул. Сколько, трудно подсчитать, но каждый хакер знает когда они это увидят.|
|Q:|Вы научите меня взламывать?|
|A:|С тех пор, как я впервые опубликовал эту страницу, я получил несколько запросов неделю (часто по нескольку раз в день) от людей, чтобы «научить меня всему взлом». К сожалению, у меня нет на это ни времени, ни сил; мои собственные хакерские проекты и работа в качестве защитника открытого исходного кода, занимают 110% моего времени.

Даже если бы это было так, хакерство — это отношение и навык, которые вы в основном должны Учитесь сами. Вы обнаружите, что в то время как настоящие хакеры хотят вам помочь, Они не будут уважать вас, если вы будете умолять, чтобы вас кормили с ложечки всем, что они знать.

Сначала изучите несколько вещей. Покажите, что вы стараетесь, что вы способен к самостоятельному обучению. Затем идите к хакерам, с которыми вы встречаетесь Конкретные вопросы.

Если вы все-таки пишете хакеру с просьбой о совете, вот две вещи чтобы знать заранее. Во-первых, мы обнаружили, что люди, которые ленивы или небрежные в своем письме обычно слишком ленивы и небрежны в своих думая о том, чтобы стать хорошими хакерами — поэтому позаботьтесь о правильном написании, и Используйте хорошую грамматику и пунктуацию, иначе вы, вероятно, будете Игнорировать. Во-вторых, не смейте просить ответа на учетная запись интернет-провайдера, которая отличается от учетной записи, с которой вы отправляете сообщения; Мы находим людей, которые так поступают, как правило, воры, использующие украденные учетные записи, И мы не заинтересованы в том, чтобы вознаграждать или помогать воровству.|
|Q:|С чего же начать?|
|A:|Лучший способ начать работу, вероятно, будет обратиться к LUG (группа пользователей Linux). Найти такие группы можно на LDP General Linux Информационная страница; Вероятно, рядом с вами есть такой, возможно связан с колледжем или университетом. Члены LUG, вероятно, дам вам Linux, если вы попросите, и, безусловно, поможет вам установить его и приступайте к работе.

Ваш следующий шаг (и ваш первый шаг, если вы не можете найти LUG поблизости) должно быть найти проект с открытым исходным кодом, который вас интересует. Начать чтение код и проверка ошибок. Учитесь вносить свой вклад и прокладывать себе путь.

Единственный способ сделать это - работать над улучшением Навыки. Если вы обратитесь ко мне лично за советом, как получить начал, я скажу вам то же самое, потому что у меня нет Любые волшебные ярлыки для вас. Я вас тоже мысленно спишу как вероятный неудачник - потому что если вам не хватило выносливости, чтобы прочитать этот FAQ и разум, чтобы понять из него, что единственный путь Работая над улучшением своих навыков, вы безнадежный.

Еще одна интересная возможность - посетить Хакерспейс. Существует растущее движение людей, создающих Физические локации - клубы мейкеров - где они могут проводить время для работы совместно над аппаратными и программными проектами или работать в одиночку в совместном атмосфера. Хакерспейсы часто собирают инструменты и специализированные оборудования, которое было бы слишком дорогим или логистически неудобным для физических лиц, находящихся в собственности. Хакерские пространства легко найти в Интернете; Один из них может находиться рядом с вами.|
|Q:|Когда нужно начинать? Не поздно ли мне учиться?|
|A:|Любой возраст, в котором у вас есть мотивация начать, является хорошим возрастом. Большинство людей кажется, заинтересовались в возрасте от 15 до 20 лет, но я знаю о исключения в обе стороны.|
|Q:|Сколько времени мне понадобится, чтобы научиться взламывать?|
|A:|Это зависит от того, насколько вы талантливы и насколько усердно работаете оно. Большинство людей, которые пытаются это сделать, могут приобрести приличный набор навыков за восемнадцать лет от месяцев до двух лет, если они сосредоточатся. Не думай, что на этом все заканчивается, хотя; В хакерстве (как и во многих других областях) это занимает около десяти лет достичь мастерства. А если вы настоящий хакер, то остальное потратите своей жизни, изучая и совершенствуя свое ремесло.|
|Q:|Является ли Visual Basic хорошим языком для начала?|
|A:|Если вы задаете этот вопрос, это почти наверняка означает, что вы подумываю о том, чтобы попытаться взломать под Microsoft Windows. Это плохо идея сама по себе. Когда я сравнивал попытки научиться хакать под Windows к попыткам научиться танцевать в гипсе, я не был Шутишь. Не ходите туда. Это уродливо, и это никогда не перестает быть уродливый.

Существует определенная проблема с Visual Basic; главным образом что он не портативный. Хотя есть прототип с открытым исходным кодом реализации Visual Basic, применимые стандарты ECMA Не охватывайте больше, чем небольшой набор его программных интерфейсов. На Windows большая часть поддержки библиотек является проприетарной для одного поставщик (Microsoft); Если вы не очень осторожны в том, какие функции вы используете — более осторожные, чем любые другие Новичок действительно способен быть — в конечном итоге вы окажетесь запертыми в только те платформы, которые корпорация Майкрософт выбрала для поддержки. Если вы начиная с Unix, гораздо лучшие языки с лучшими библиотеками имеются в наличии. Python, например.

Кроме того, как и другие Basics, Visual Basic является плохо спроектированный язык, который научит вас плохому программированию привычки. Нет, не просите меня описать их в подробность; Это объяснение заняло бы целую книгу. Изучите хорошо спроектированный языка.

Одной из таких вредных привычек является зависимость от одного человека Библиотеки, виджеты и инструменты разработки вендора. В общем, любой язык, который не полностью поддерживается, по крайней мере, в Linux или одной из BSD, и/или, по крайней мере, операционные системы трех разных поставщиков, является плохим Тот, чтобы научиться взламывать.|
|Q:|Не могли бы вы помочь мне взломать систему или научить меня, как это сделать?|
|A:|Нет. Любой, кто все еще может задать такой вопрос после прочтения этого FAQ слишком глуп, чтобы быть обучаемым, даже если бы у меня было время на репетиторство. Любые запросы такого рода по электронной почте, которые я получу, будут проигнорированы или ответил с крайней грубостью.|
|Q:|Как получить пароль от чужого аккаунта?|
|A:|Это растрескивание. Уходи, идиот.|
|Q:|Как я могу взломать/прочитать/отследить чужую электронную почту?|
|A:|Это растрескивание. Заблудись, придурок.|
|Q:|Как я могу украсть привилегии оператора канала в IRC?|
|A:|Это растрескивание. Уходи, кретин.|
|Q:|Я был сломлен. Поможешь ли ты мне отразить дальнейшие атаки?|
|A:|Нет. Каждый раз, когда мне задавали этот вопрос, он был от какого-то бедного сока, работающего под управлением Microsoft Windows. Невозможно эффективно защищать системы Windows от взломов; Код и Архитектура просто имеет слишком много недостатков, что делает защиту Windows Это все равно, что пытаться выручить лодку решетом. Единственно надежный профилактика начинается с перехода на Linux или какой-либо другой операционный система, которая спроектирована, по крайней мере, так, чтобы быть способной к безопасности.|
|Q:|У меня возникли проблемы с программным обеспечением Windows. Вы мне поможете?|
|A:|Да. Перейдите в командную строку DOS и введите “format c:”. Любые проблемы, которые у вас есть переживания прекратятся в течение нескольких минут.|
|Q:|Где я могу найти настоящих хакеров, с которыми можно поговорить?|
|A:|Лучший способ - найти локальную для вас группу пользователей Unix или Linux и Вы можете найти ссылки на несколько списков пользователей группы на сайте LDP по адресу ibiblio).

(Я говорил здесь, что вы не найдете настоящих хакеров в IRC, но мне дали понять, что это меняется. Судя по всему, какие-то реальные хакерские сообщества, привязанные к таким вещам, как GIMP и Perl, имеют IRC каналов.)|
|Q:|Можете ли вы порекомендовать полезные книги на тему, связанную с хакерством?|
|A:|Я веду Linux Reading List HOWTO, который может быть вам полезен. Логинатака также может быть интересной.

Общие сведения о Python см. в учебном пособии на сайте Python.|
|Q:|Нужно ли мне хорошо разбираться в математике, чтобы стать хакером?|
|A:|Нет. Хакерство использует очень мало формальной математики или арифметики. В частности, вам обычно не понадобятся тригонометрия, дифференциальное исчисление или (есть исключения из этого правила в нескольких конкретных области применения, такие как 3-D компьютерная графика). Знание формальной логики и булева алгебра хороша. Некоторые основы конечной математики (включая теорию конечных множеств, комбинаторику и теорию графов) могут быть полезный.

Гораздо важнее: нужно уметь логически мыслить и следовать цепочкам точных рассуждений, как это делают математики. Несмотря на то, что содержание большинства математических дисциплин вам не поможет, вам понадобится Дисциплина и интеллект для работы с математикой. Если вам не хватает интеллект, на вас, как на хакера, надежды мало; Если вы Если вам не хватает дисциплины, лучше ее взрастить.

Я думаю, что хороший способ узнать, есть ли у вас то, что нужно, — это выбрать экземпляр книги Раймонда Смаллиана «Как называется» Эта книга?. Игривые логические головоломки Смаллиана очень Многое в хакерском духе. Способность решать их — хороший знак; Получать удовольствие от их решения еще лучше.|
|Q:|Какой язык я должен выучить в первую очередь?|
|A:|HTML, если вы его еще не знаете. Существует множество глянцевых, шумиховых плохих HTML-книг и удручающе мало хороших. Тот, который мне нравится лучше всего HTML: Метод Полное руководство.

Но HTML не является полноценным языком программирования. Когда вы будете готовы Чтобы начать программировать, я бы рекомендовал начать с Python. Вы услышите много люди, рекомендующие Perl, но его сложнее выучить и (на мой взгляд) менее хорошо спроектированы.

C действительно важен, но он также намного сложнее, чем любой из них Python или Perl. Не пытайтесь сначала выучить его.

Пользователи Windows, не соглашайтесь на Visual Основной. Он научит вас вредным привычкам, и он не портативный Виндоус. Избегать.|
|Q:|Какое оборудование мне понадобится?|
|A:|Раньше считалось, что персональные компьютеры были довольно маломощными и Они были настолько бедны памятью, что наложили искусственные ограничения на Процесс обучения. В середине 1990-х годов это перестало быть правдой; Любая машина от Intel 486DX50 более чем достаточно мощно для разработки работы, X и Интернет-связи, а также самые маленькие диски, которые вы можете Купить сегодня достаточно большие.

Важным моментом при выборе машины, на которой вы будете учиться, является является ли его аппаратное обеспечение совместимым с Linux (или BSD-совместимым, должно вы выбираете этот путь). Опять же, это будет справедливо практически для всех современные станки. Единственными действительно проблемными местами являются модемы и беспроводная связь карты; На некоторых компьютерах установлено оборудование, специфичное для Windows, которое не будет работать с Linux.

Есть FAQ по аппаратной совместимости; Последняя версия здесь.|
|Q:|Я хочу внести свой вклад. Можете ли вы помочь мне выбрать проблему для работы?|
|A:|Нет, потому что я не знаю ваших талантов и интересов. У Вас есть быть целеустремленным, иначе вы не застрянете, поэтому Люди выбирают ваше направление практически никогда не получается.|
|Q:|Нужно ли мне ненавидеть и ругать Microsoft?|
|A:|Нет, не нужно. Не то, чтобы Microsoft не была отвратительной, но была хакерская культура задолго до Microsoft, и она будет существовать еще долго после Microsoft — это история. Любая энергия, которую вы тратите на ненависть к Microsoft, Лучше потратить на любовь к своему ремеслу. Напишите хороший код — это поможет достаточно разгромить Microsoft, не загрязняя свою карму.

Не оставит ли программное обеспечение с открытым исходным кодом программистов без средств к существованию?**

Ответ: Это кажется маловероятным — пока что программное обеспечение с открытым исходным кодом Промышленность, похоже, создает рабочие места, а не отнимает их. Если Написание программы — это чистая экономическая выгода по сравнению с ее отсутствием программист будет получать деньги независимо от того, является ли программа После того, как это будет сделано, будет с открытым исходным кодом. И, как бы ни было “Свободное” программное обеспечение пишется, всегда кажется, что спрос на него больше Новые и адаптированные приложения. Подробнее об этом я писал на страницах Open Source.|

Где я могу получить бесплатную Unix?|

Ответ: Если на вашем компьютере еще не установлена Unix, В других местах этой страницы я включаю указатели, где можно получить больше всего широко используемая свободная Unix. Чтобы быть хакером, нужна мотивация и инициативность и способность к самообразованию. Начать сейчас…|