Хакерите (и въобще хората на изкуството) никога не трябва да се занимават със скучни неща или да потънат в рутината на монотонната работа, защото това означава, че не могат да правят това, което могат да правят само те - да решават нови проблеми. Подобно разточителство вреди на всички. Затова скуката и рутината са не просто неприятни - те са зло.
За да се държите като хакер Вие трябва да вярвате в това така, че да желаете автоматизацията на всичко скучно и не само за себе си, а и за всички останали (особено за другите хакери).
(Има едно явно изключение. Понякога хакерите се занимават с неща, които могат да изглеждат монотонни или скучни за странични наблюдатели в качеството си на упражнения за мозъка или за изработване на навици. Или пък за придобиване на особен род опит, който е невъзможно да се получи по друг начин. Но всичко това трябва да се прави само по собствен избор - никой от умеещ да мисли не трябва да бъде принуждаван към скучна работа.)
Хакерите по природа са анти-авторитарни. Всеки, който може да Ви заповядва, може да Ви възпре от решението на проблем, който считате за очарователен. И учтивия начин на размишление на авторитарните мозъци ще намери какви ли не потресаващо-идиотски причини за да го направи. Затова трябва да се борите с авторитарния подход винаги, когато го срещнете, за да не задушава той Вас или други хакери.
(Това не е същото като да се борите с всички власти. Децата се нуждаят от ръководител, престъпността е необходимо да се възпира. Хакера може да се съгласи на някакъв вид ръководство, за да получи нещо, което му е нужно и когато има възможност да го получи без да търпи много време заповеди. Това е органичена разумна сделка, нещо като личен компромис.)
Авторитаризмът процъфтява в условията на цензура и секретност. Сред хора, които не вярват в доброволното сътрудничество и споделянето на информацията - на тях им се нрави само такова "сътрудничество", което управляват те. За да бъдете хакер сте длъжен да тренирате у себе си неприязън към цензурата, секретността или използването на сила или измама за принуждаване на хора. Действията Ви трябва да изхождат от тази увереност.
За да бъдете хакер, сте длъжен да развивате у себе си някои от изброените принципи. Но да следвате само принципа ще Ви направи толкова хакер, колкото и спортист-рекордьор или рок-звезда. За да станете хакер трябва интелект, практика, самоотверженост и тежък труд.
Затова Вие трябва да се научите с недоверие да се отнасяте към становищата и с уважение към компетентности от всякакъв вид. Хакерът не позволява позьори да да му губят времето, но те се прекланят пред компетентността - най-вече хакерската компетентност, но компетентността, в каквото и да е заслужава внимание.
Ако боготворите компетентността Вие получавате насладата, развивайки я в себе си. Тежкият труд и преданността към работата ще станат за Вас завлядяваща игра, а не рутина. А това е жизнено необходимо за да станете хакер.
Хакерският мироглед е от значение, но майсторството е многократно по-важно. Позицията не заменя компетентността - съществуват определен набор основни навици, които е необходимо да увладеете преди другите хакери изобщо да помислят да наричат хакер и Вас.
Този базов набор с времето бавно се променя - така, както и технологиите пораждат нови умения и правят старите ненужни. Например доскоро се изискваше програмиране на машинен език и съвсем доскоро не се очакваха познания по HTML. В днешният набор определено се включват следните компоненти:
Това разбира се е основно хакерско умение. Ако не знаете никакъв компютърен език бих Ви препоръчал да започнете с езика Python. Той е разработен чудесно, добре е документиран и е доброжелателен за новаци. Не се заблуждавайте, че тъй като е добър за начинаещи той е някаква играчка. Това е много мощен и гъвкав език, много подходящ за болшинството
Знайте, че няма да постигнете майсторско хакерско ниво (или даже дори нивото на добър програмист), ако знаете само един език. Необходимо е да се научите да мислите по проблемите на програмирането въобще, независимо от конкретния език. За да бъдете истински хакери трябва да достигнете ниво, което Ви позволява да научите който и да е нов език за няколко дни, консултирайки се с ръководството му. Това означава да научите няколко много различни езика.
Ако се занимавате сериозно с програмиране то ще ви се наложи да научите C - основния език на операционната система UNIX (въпреки, че това едва ли е езика, с който трябва да започнете). Други езици от първостепенна важност за хакерите са Perl и LISP. Езикът Perl има смисъл да се научи заради практически съображения - той щироко се използва за динамични web-страници и системно администриране, така че и никога да не ви се наложи да пишете на Perl, ще е добре да можете да го четете. LISP си струва да се научи заради дълбоките познания, които ще имате, когато го усвоите. Тези познания ще Ви направят прекрасни програмисти до края на живота Ви, даже и никога да не го използвате.
Най-добре от всичко би било да научите всичките четири езика (Python, C, Perl, и LISP). Освен, че са най-важните хакерски езици, те демонстрират много различни подходи за програмиране и всеки от тях ще Ви научи на нещо ценно.
Не мога да Ви дам подробни инструкции за това как да се научите да програмирате - това е сложно изкуство. Но мога да Ви кажа, че книги и курсове на това няма да Ви научат (много, а възможно и повечето от добрите хакери са самоуци). Трябва да се учите като (а) четете програми и (б) пишете програми.
Да се научите да програмирате - това е като да се научите да пишете добре на родния си език. Най-добрият способ за това е да попрочетете какво са написали майсторите, след това да опитате сам, да прочетете още малко, да напишете още нещо... И да повтаряте този процес докато програмите Ви не се развият в нещо мощно и семпло.
Да намерите добри сорсове за четене преди беше сложни, много малко програми бяха достъпни като код и да се изучават от младите хакери. Сега ситуацията е кардинално променена: Програмите с изходните си кодове, програмисткия инструментариум и операционните системи (всичко това е създадено от хакери) сега са широко достъпни. Което ни води към следващия раздел...