Kaip tapti Hakeriu

Kaip tapti Hakeriu

Erikas S. Raymondas (Eric S. Raymond) <esr@thyrsus.com>
Vertė Vytautas Šaltenis <Vytautas.Shaltenis@gmail.com>
Redagavo Eglė Aleknaitė <romacatblack@yahoo.com>


Turinys

Kam reikalingas šis rašinys?
Kas yra hakeris?
Hakerio nuostatos
  1. Pasaulis pilnas kerinčių problemų, kurios laukia, kad kas nors jas išspręstų
  2. Jokia problema niekada neturi būti sprendžiama du kartus
  3. Nuobodulys ir rutina yra blogis
  4. Laisvė yra gėris
  5. Nuostatos neatstoja kompetencijos
Svarbiausi hakerio įgūdžiai
  1. Išmokite programuoti
  2. Gaukite vieną iš atvirojo kodo Unix sistemų ir išmokite ja naudotis ir valdyti
  3. Išmokite naudotis WWW ir rašyti HTML
  4. Jeigu nemokate anglų kalbos, išmokite
Padėtis hakerių kultūroje
  1. Rašykite atvirojo kodo programas
  2. Padėkite testuoti ir taisyti klaidas atvirojo kodo programose
  3. Publikuokite naudingą informaciją
  4. Padėkite veikti infrastruktūrai
  5. Pasitarnaukite pačiai hakerių kultūrai
Ryšys tarp hakerio ir vėplos
Gyvenimo būdas
Kiti šaltiniai
Dažnai Užduodami Klausimai

hacker emblem

Kam reikalingas šis rašinys?

Kaip „Žargono failo“ (Jargon File) redaktorius ir kai kurių kitų gerai žinomų panašaus turinio rašinių autorius, dažnai gaunu entuziastingų Tinklo naujokų elektroninių laiškų, kuriuose iš esmės klausiama viena: „Kaipgi man išmokti būti puikiu hakeriu?“. Dar 1996-aisiais pastebėjau, kad nėra jokių DUK ar kitokių Tinklo straipsnių, gvildenančių šią gyvybiškai svarbią temą. Tad pradėjau rašyti šį. Dabar daugelis hakerių mano, kad jis yra pavyzdinis, ir manau, jog tai reiškia, kad jis toks ir yra. Ir visgi netvirtinu esąs išskirtinis šios temos žinovas; jeigu jums nepatiks tai, ką čia perskaitysite, parašykite savo.

Jeigu skaitote šio rašinio kopiją ne internete, naujausią versiją galite rasti adresu http://catb.org/~esr/faqs/hacker-howto.html.

Pastaba: rašinio pabaigoje rasite dažnai užduodamų klausimų sąrašą. Prašau juos perskaityti skersai išilgai prieš rašant man e-laišką ir klausiant apie šį rašinį.

Tai, ką jūs skaitote, yra vienas iš daugelio šio dokumento vertimų (nuorodas į kitus vertimus galite rasti originale). Turėkite omenyje, kad originalas kartais keičiamas ar papildomas, tad šis vertimas gali mažumėlę neatitikti. Atitinka originalo 1.39 reviziją. (vert. pastaba)

Penkių taškų devyniuose kvadratuose diagrama, puošianti šį rašinį, vadinasi „glider“. Tai -- paprasta struktūra, pasižyminti stebinančiomis savybėmis matematinėje simuliacijoje, vadinamoje Life. Šios savybės daugybę metų žavėjo hakerius. Manau, kad ši diagrama yra geras simbolis hakerių pomėgiams vizualizuoti -- ji abstrakti, pradžioje atrodanti šiek kiek paslaptinga, bet atverianti duris į ištisą pasaulį, turintį savą sudėtingą logiką. Daugiau apie emblemą galite paskaityti čia.

Kas yra hakeris?

Žargono faile yra daugybė žodžio „hakeris“ apibrėžimų, kurių dauguma susiję su techniniu nusimanymu, malonumu spręsti problemas ir peržengti ribas. Vis dėlto jeigu norite tapti hakeriu, svarbūs yra tik du dalykai.

Egzistuoja tokia bendruomenė, bendraujančių patyrusių programuotojų ir Tinklo burtininkų kultūra, kurios istorija siekia kelis dešimtmečius -- pirmųjų resursus skirstančių mini kompiuterių atsiradimą ir anksčiausius eksperimentus su ARPAnet. Jos nariai ir davė pradžią terminui „hakeris“. Hakeriai sukūrė internetą. Hakeriai padarė operacinę sistemą Unix tokia, kokia ji yra šiandien. Hakeriai valdo Usenet'ą. Hakeriai verčia WWW veikti. Jeigu priklausote šiai kultūrai, jeigu prisidėjote prie jos ir kiti jos nariai žino, kas jūs esate, ir vadina jus hakeriu, tuomet jūs -- hakeris.

Hakerio mąstysena neapsiriboja hakerio-programuotojo kultūra. Kai kurie žmonės taiko hakerio nuostatas kitiems dalykams -- elektronikai, muzikai ir t.t. Iš tikrųjų, šį požiūrį galima aptikti bet kurios mokslo ar meno šakos elite. Hakeriai-programuotojai pripažįsta šias giminingas sielas ir taip pat gali jas vadinti „hakeriais“ -- o kai kurie teigia, kad hakerio prigimtis nepriklauso nuo konkrečios terpės, kurioje jis dirba. Kaip ten bebūtų, likusioje šio rašinio dalyje dėmesį telksime į hakerių-programuotojų sugebėjimus ir nuostatas bei į tradicijas kultūros, iš kurios kildinamas terminas „hakeris“.

Yra ir kita grupė žmonių, garsiai besivadinančių hakeriais, bet tokiais nesančių. Tai -- žmonės (daugiausia paaugliai), kuriuos kaltina įsilaužimais į kompiuterių ir telefonų sistemas. Tikri hakeriai juos vadina krakeriais (cracker) ir nenori turėti su jais jokių bendrų reikalų. Tikri hakeriai dažniausiai mano, kad krakeriai yra tingūs, neatsakingi bei nelabai sumanūs, ir teigia, jog gebėjimas pažeisti saugumo sistemas nesuteikia teisės vadintis hakeriu, kaip ir gebėjimas nuvaryti mašiną nepadaro tavęs automobilių specialistu. Deja, daugelis žurnalistų ir rašytojų terminą „hakeris“ klaidingai naudoja krakeriams apibūdinti; tai siaubingai siutina tikruosius hakerius.

Esminis skirtumas yra toks: hakeriai kuria, krakeriai griauna.

Jeigu norite tapti hakeriu, skaitykite toliau. Jeigu norite tapti krakeriu, paskaitinėkite alt.2600 naujienų grupę ir pasiruoškite pasėdėti penkerius-dešimt metelių kalėjime paaiškėjus, kad jūs ne toks gudrus, kaip manėte. Tai viskas, ką norėjau pasakyti apie krakerius.

hacker emblem

Hakerio nuostatos

  1. Pasaulis pilnas kerinčių problemų, kurios laukia, kad kas nors jas išspręstų
  2. Jokia problema niekada neturi būti sprendžiama du kartus
  3. Nuobodulys ir rutina yra blogis
  4. Laisvė yra gėris
  5. Nuostatos neatstoja kompetencijos

Hakeriai sprendžia problemas ir kuria naujus dalykus, tiki laisve ir savanoriška tarpusavio pagalba. Norėdami būti pripažinti hakeriu, turite elgtis taip, tarsi pats turėtumėte tokias nuostatas. O kad elgtumėtės taip, tarsi turėtumėte tokias nuostatas, tikrai turite jomis tikėti.

Vis dėlto jeigu galvojate pasitelkti hakerių nuostatas tik tam, kad būtumėte pripažinti šioje kultūroje, jūs nesupratote esmės. Tapti šiais dalykais tikinčiu žmogumi svarbu yra jums -- jie padės mokytis ir nuolat skatins. Čia, kaip ir visuose kūrybiniuose procesuose, efektyviausias būdas tapti meistru yra sekti meistro mąstysena – ne tik intelektualiai, bet ir emociškai.

Arba, kaip sakoma šiame moderniame Zen eilėraštyje:


Sekti keliu:
Žiūrėk į meistrą,
Sek paskui meistrą,
Eiki su meistru,
Žvelki per meistrą,
Tapki pats meistru.

(Eilėraštį vertė Eglė Aleknaitė)

Taigi, jeigu norite tapti hakeriu, kartokite šiuos dalykus tol, kol patikėsite jais:

1. Pasaulis pilnas kerinčių problemų, kurios laukia, kad kas nors jas išspręstų

Būti hakeriu yra labai smagu, bet ši smagumo rūšis reikalauja daug pastangų. Joms reikia stimulo. Gerus atletus skatina fizinis malonumas priversti savo kūnus dirbti, peržengti savo fizines ribas. Panašiai, norint tapti hakeriu, turite patirti esminį jaudulį spręsdami problemas, tobulindami savo sugebėjimus ir lavindami intelektą.

Jeigu nesate žmogus, kuris natūraliai taip jaučiasi, turėtumėte tokiu tapti, kad būtumėte hakeriu. Kitu atveju pastebėsite, jog jūsų hakerišką energiją atima įvairūs pašaliniai veiksniai -- seksas, pinigai ar visuomenės nuomonė.

(Jums taip pat reikėtų išsiugdyti tikėjimą savo gebėjimu mokytis -- tikėjimą, kad net jei ir nežinote visko, ko reikia kokiai nors problemai išspręsti, bet imatės spręsti nors mažą jos dalį ir mokotės iš to, jūs sužinosite pakankamai, kad išspręstumėte kitą jos dalį -- ir taip tol, kol išspręsite viską.)

2. Jokia problema niekada neturi būti sprendžiama du kartus

Kūrybingi protai – vertingi ir riboti ištekliai. Jie neturėtų būti švaistomi iš naujo išradinėjant dviratį, kai aplinkui laukia tiek daug žavingų naujų problemų.

Norint elgtis kaip hakeris, reikia tikėti, kad kitų hakerių galvojimui sunaudotas laikas yra vertybė -- tokia didelė, jog dalinimasis informacija tampa beveik moralinė pareiga. Spręskite problemas ir pasidalinkite savo rezultatais vien tik tam, kad kiti hakeriai galėtų imtis naujų problemų, o ne nuolat persprendinėtų senas.

Vis dėlto atkreipkite dėmesį, kad „Jokia problema niekada neturi būti sprendžiama du kartus“ nereiškia, jog visus egzistuojančius sprendimus turėtumėte laikyti šventais ar jog bet kuriai problemai tėra vienas teisingas sprendimas. Dažnai daug naujų dalykų apie problemą sužinome vien žiūrėdami į pirmą bandymą ją išspręsti. Tad nuspręsti, kad galime padaryti geriau yra gerai, o kartais ir būtina. Blogi tėra dirbtiniai techniniai, instituciniai ar teisiniai barjerai (pavyzdžiui, uždarojo kodo programos), kliudantys panaudoti gerus egzistuojančius sprendimus ir verčiantys žmones išradinėti dviračius.

(Nemanykite, kad privalote atiduoti visą savo kūrybinį darbą, nors tai darančius kiti hakeriai gerbia labiausiai. Parduoti tiek savo darbo kūrinių, kad užtektų maistui, pastogei ir kompiuteriams, yra normalu, tai nesikerta su hakerių vertybėmis. Puikiai galite panaudoti savo hakinimo įgūdžius išlaikyti šeimai ar netgi praturtėti -- svarbiausia, kad jūs neišduotumėte lojalumo savo menui ir draugams hakeriams).

3. Nuobodulys ir rutina yra blogis

Hakeriai (ir apskritai kūrybingi žmonės) niekada neturėtų nuobodžiauti ar kamuotis dirbdami kvailą monotonišką darbą. Kai taip nutinka, reiškia, kad jie nedaro to, ką padaryti gali tiktai jie -- spręsti naujas problemas. Toks švaistymas kenkia visiems. Taigi nuobodulys ir rutina yra ne šiaip nemalonūs, jie -- tikras blogis.

Siekdami elgtis kaip hakeris, turite įtikėti tuo tiek, kad norėtumėte kiek įmanoma automatizuoti nuobodų darbą; ne tik sau, bet ir visų kitų (ypač kitų hakerių) labui.

(Šiai taisyklei yra viena akivaizdi išimtis. Hakeriai kartais užsiima veikla, kuri pašaliečiui gali pasirodyti nuobodi ar monotoniška. Tai -- „sąmonės apvalymo“ pratimai arba veikla vardan įgūdžių ar ypatingos patirties, kurios neįmanoma įgyti kitaip. Vis dėlto tai yra laisvai pasirenkama -- gebantys mąstyti žmonės niekada neturėtų būti verčiami užsiimti jiems nuobodžia veikla).

4. Laisvė yra gėris

Hakeriai iš prigimties priešinasi autoritarizmui. Bet kas, galintis jums įsakinėti, gali sukliudyti jums spręsti jus sužavėjusią problemą -- ir, žinant, kaip veikia autoritarinės galvos, visada ras kokią nors siaubingai kvailą priežastį taip elgtis. Taigi su autoritarizmu reikia kovoti visur, kur tik jį pastebite, kad jis neuždusintų jūsų ir kitų hakerių.

(Tai nėra tapatu kovai su bet kokia valdžia. Reikia auklėti vaikus ir sulaikyti nusikaltėlius. Hakeris gali sutikti priimti tam tikras valdžios sąlygas, kad gautų kažką, ko trokšta labiau nei laiko, sugaišto nurodymams vykdyti. Vis dėlto tai yra ribotas, sąmoningas sandėris; asmenybės kapituliacija, kokios nori autoritaristai, yra nepriimtina).

Autoritaristai mėgsta cenzūrą ir slaptumą. Šie žmonės netiki savanorišku bendradarbiavimu ir informacijos dalinimusi -- jiems patinka tik toks „bendradarbiavimas“, kurį jie gali kontroliuoti. Taigi, siekdami elgtis kaip hakeris, išsiugdykite instinktyvų priešiškumą cenzūrai, slaptumui ir jėgos ar suktybės prieš atsakingus suaugusiuosius naudojimui. Ir turėtumėte noriai elgtis pagal šias nuostatas.

5. Nuostatos neatstoja kompetencijos

Norint tapti hakeriu, būtina išsiugdyti kai kurias minėtas nuostatas. Bet vien perėmę jas jūs netapsite hakeriu, kaip vien dėl jų netaptumėte atletikos čempionu ar roko žvaigžde. Tapimas hakeriu pareikalaus iš jūsų sumanumo, praktikos, atsidavimo ir sunkaus darbo.

Taigi turite išmokti nepasitikėti nuostatomis ir gerbti visų sričių kompetenciją. Hakeriai nenori, kad išsišokėliai gaišintų jų laiką, ir garbina kompetenciją -- ypač hakinimo kompetenciją, nors bet kokios rūšies sugebėjimai yra vertingi. Ypatingai vertinami gebėjimai, kuriems įgyti reikia daug pastangų ir kurie prieinami tik nedaugeliui, o tokie, kurie reikalauja ypatingo proto aštrumo, meistriškumo ir koncentracijos, yra patys geriausi.

Jeigu gerbiate kompetenciją, jums patiks ugdyti ją savyje. Sunkus darbas ir atsidavimas taps panašiu į įtemptą žaidimą, o ne kamuojančiu darbu. Ši nuostata yra esminė, siekiant tapti hakeriu.

hacker emblem

Svarbiausi hakerio įgūdžiai

  1. Išmokite programuoti
  2. Gaukite vieną iš atvirojo kodo Unix sistemų ir išmokite ja naudotis ir valdyti
  3. Išmokite naudotis WWW ir rašyti HTML
  4. Jeigu nemokate anglų kalbos, išmokite

Hakerio nuostatos yra gyvybiškai svarbios, bet sugebėjimai yra dar svarbesni. Nuostatos nėra kompetencijos pakaitalas, ir keletą fundamentalių įgūdžių privalote įgyti anksčiau, nei koks nors hakeris sugalvos jus taip pavadinti.

Laikui bėgant šie fundamentalūs įgūdžiai iš lėto kinta -- technologija kuria naujus, o seni tampa nereikalingi. Pavyzdžiui, anksčiau reikėjo mokėti programuoti mašininiais kodais, o HTML mokėjimas įtrauktas tik neseniai. Šiandien sąrašas apsiriboja maždaug tokiais sugebėjimais:

1. Išmokite programuoti

Tai, savaime aišku, yra esminis hakinimo įgūdis. Jeigu nemokate nė vienos programavimo kalbos, rekomenduočiau pradėti nuo Python. Ji yra aiškiai suorganizuota, gerai dokumentuota ir sąlyginai paprasta pradedantiesiems. Nepaisant to, ji nėra tik žaislas; ji yra labai galinga, lanksti kalba, puikiai tinkanti dideliems projektams. Esu parašęs nuodugnesnę Python apžvalgą. Gerų pamokų esama Python puslapyje.

Kaip kalbą, tinkančią mokytis pradžioje, anksčiau rekomendavau Java, bet ši kritika pakeitė mano nuomonę (ieškokite pastraipos „The Pitfalls of Java as a First Programming Language“). Hakeriui nepridera, kaip pribloškiančiai sakoma straipsnyje, „spręsti problemų kaip santechnikui vamzdžių parduotuvėje“; privalote išmanyti, kaip iš tikrųjų veikia komponentai. Dabar manau, kad geriau pradžioje išmokti C ir Lisp, o tik tada -- Java.

Jeigu pradėsite programuoti rimtai, jums teks išmokti C, esminę Unix sistemų programavimo kalbą. C++ glaudžiai siejasi su C; jei mokate vieną, kitą išmokti nebus labai sunku. Vis dėlto nė viena iš jų netinkama kaip pirmoji. Tiesą sakant, kuo labiau vengsite programuoti C, tuo produktyvesni būsite.

C yra itin efektyvi ir labai taupo jūsų mašinos resursus. Deja, ši kalba tą efektyvumą pasiekia reikalaudama iš jūsų daug paprasto rankinio darbo resursams (pavyzdžiui, atminčiai) tvarkyti. Šis resursų tvarkymas yra sudėtingas, lengva privelti klaidų, tad jis pareikalaus daug laiko programos derinimui. Su galingais šiandieniniais kompiuteriais toks sandėris yra netikęs -- išmintingiau pasitelkti kalbą, kuri prasčiau naudoja mašinos laiką, bet geriau jūsiškį. Taigi, Python.

Kitos hakeriams ypač svarbios kalbos yra Perl ir Lisp. Perl verta mokytis dėl praktinių priežasčių; ji labai plačiai naudojama aktyviems interneto puslapiams ir sistemų administravimui, tad net jeigu niekada nerašysite Perl, turėtumėte išmokti skaityti ją. Daug žmonių naudoja Perl ten, kur aš siūlau naudoti Python; tam, kad išvengtų C programavimo tose vietose, kur nebūtinas C kalbos efektyvumas. Jums reikės suprasti jų kodą.

Lisp verta išmokti dėl kitos priežasties -- dėl gilios nušviečiančios patirties, kurią įgysite galiausiai išmokę šią kalbą. Ši patirtis padės jums tapti geresniu programuotoju iki grabo lentos, net jeigu iš tiesų šios kalbos niekada dažnai nenaudosite. (Šiek tiek pradinių žinių gana lengvai galima gauti rašant ir modifikuojant redagavimo režimus Emacs teksto tvarkyklei ar Script-Fu įskiepius programai Gimp).

Geriausia, žinoma, išmokti visas penkias: Python, C/C++, Java, Perl ir Lisp. Visos jos ne tik yra svarbiausios hakinimo kalbos, bet ir pristato skirtingas programavimo paradigmas, ir kiekviena duos jums vertingų žinių.

Vis dėlto turėkite omenyje, kad jums nepavyks pasiekti hakerio ar netgi paprasčiausio programuotojo gebėjimų lygio vien mokantis programavimo kalbų. Jums teks išmokti mąstyti apie programavimo iššūkius abstrakčiai, nepriklausomai nuo bet kurios kalbos. Norėdami tapti tikru hakeriu, turėsite pasiekti lygį, kai galėsite naują kalbą išmokti vos per kelias dienas, susiedami informaciją dokumentacijoje su tuo, ką jau žinote. Tai reiškia, kad jums teks išmokti keletą labai skirtingų kalbų.

Čia negaliu pateikti pilnų instrukcijų, kaip išmokti programuoti -- tai per daug sudėtingas įgūdis. Tačiau galiu užtikrinti, kad knygos ir kursai nepadės -- daug, galbūt netgi dauguma geriausių hakerių yra savamoksliai. Iš knygų jūs galite išmokti kalbos ypatybių -- žinių nuotrupų -- bet mąstyseną, paverčiančią žinias gyvais įgūdžiais, galima išsiugdyti tik praktikos ir mokymosi dėka. Du dalykai, kurie tikrai padės, yra (a) kodo skaitymas ir (b) kodo rašymas.

Peter Norvig, vienas geriausių Google hakerių ir plačiausiai naudojamo dirbtinio intelekto vadovėlio bendraautorius, parašė puikią esė, pavadintą „Išmok programuoti per dešimt metų“. Jo „programuotojo sėkmės receptas“ vertas ypatingo dėmesio.

Mokymasis programuoti yra panašus į mokymąsi taisyklingai rašyti natūralia kalba. Geriausias būdas tai išmokti yra paskaityti kažką, ką parašė reikalo žinovai, tada pabandyti pačiam, perskaityti dar labai daug, parašyti dar šiek tiek, perskaityti dar daug, parašyti dar truputį... ir taip kartoti tol, kol jūsų rašliava pradės panėšėti į jūsų siekiamybę savo stiprumu ir paprastumu.

Anksčiau būdavo sunku rasti gerą kodą, iš kurio būtų galima mokytis. Situacija smarkiai pasikeitė; šiais laikais atvirojo kodo programinė įranga, programavimo įrankiai ir operacinės sistemos yra lengvai prieinami (visa tai sukūrė hakeriai). Tai mus veda prie kitos temos...

2. Gaukite vieną iš atvirojo kodo Unix sistemų ir išmokite ja naudotis ir valdyti

Manau, kad jūs turite asmeninį kompiuterį arba galite prie tokio prieiti. (Susimąstykite minutėlei, kiek daug tai reiškia. Hakerių kultūra susiformavo tuomet, kai kompiuteriai buvo tokie brangūs, kad pavieniai asmenys negalėjo jų turėti). Svarbiausias žingsnis, kurį bet kuris naujokas gali žengti tapimo hakeriu link -- gauti Linux, kurios nors iš BSD Unix sistemų ar OpenSolaris kopiją, ją įdiegti ir naudoti.

Taip, pasaulyje yra ir kitų operacinių sistemų, ne tik Unix. Bet jos platinamos sukompiliuotos -- jūs negalite skaityti kodo ir jo modifikuoti. Bandyti išmokti hakinti naudojant Microsoft Windows ar bet kurią kitą uždarojo kodo sistemą yra beveik tas pats, kas bandyti išmokti šokti sugipsuotam.

Naudojant Mac OS X, tai įmanoma, bet tik dalis sistemos grindžiama atviruoju kodu. Tikėtina, kad sutiksite daug kliūčių ir turėsite saugotis blogo įpročio priprasti prie Apple uždarojo kodo. Jeigu sutelksite dėmesį į Unix, slypintį Mac OS X sistemos centre, galite išmokti šiokių tokių naudingų dalykų.

Unix yra interneto operacinė sistema. Galite išmokti naudotis internetu nesusipažinę su Unix sistema, tačiau be jos netapsite interneto hakeriu. Dėl šios priežasties šiandieninė hakerių kultūra yra stipriai orientuota į Unix. (Taip buvo ne visada, ir kai kurie seni hakeriai vis dar širsta dėl to, bet Unix ir interneto simbiozė tapo tokia stipri, kad net Microsoft jėgos nepakanka jai sugriauti).

Taigi, pasiimkite Unix -- man labiausiai patinka Linux, bet yra ir kitų kelių (ir, taip, jūs galite turėti Linux ir Windows vienoje mašinoje). Įsisavinkite šią sistemą. Naudokite ją. Terliokitės su ja. Kalbėkite per ją su internetu. Skaitykite kodą. Modifikuokite kodą. Jūs gausite geresnius programavimo įrankius (įskaitant C, Lisp, Python ir Perl), nei bet kuri Microsoft operacinė sistema galėtų svajoti. Patirsite malonumą ir gausite informacijos daugiau, nei manysite išmokstantys, kol galiausiai pažvelgsite atgal, jau būdamas hakeriu-meistru.

Daugiau apie Unix mokymąsi galite sužinoti čia: The Loginataka. Taip pat pravartu būtų žvilgtelėti čia: The Art Of Unix Programming.

Linux galite gauti čia: Linux Online!; iš čia galite ją parsisiųsti, arba (tai dar geriau) rasti vietinę Linux vartotojų grupę, kuri gali jums padėti ją įsidiegiant.

Pirmąjį šio rašinio gyvavimo dešimtmetį rašiau, kad, žvelgiant iš pradedančiojo pozicijų, visos Linux distribucijos yra beveik lygiavertės. Tačiau 2006-2007 metais pasirodė lyderis -- Ubuntu. Kitos distribucijos turi savų stiprių pusių, bet Ubuntu yra labiausiai priartėjusi prie Linux naujoko.

Pagalbos ir informacijos apie BSD Unix galite rasti čia: http://www.bsd.org/.

Geras būdas sušlapti kojas yra užkrauti kompiuterį, naudojant live CD. Taip Linux fanai vadina distribucijas, kurios veikia vien tik iš kompaktinio disko, be jokios intervencijos į jūsų kietąjį diską. Toks būdas yra lėtokas, nes kompaktinio disko skaitymas yra daug lėtesnis nei kietojo disko. Bet tai leidžia pažvelgti į galimybes, nedarant nieko drastiško.

Esu parašęs Unix ir interneto pagrindų pradžiamokslį.

Anksčiau rekomendavau nebandyti diegti Linux ar BSD savarankiškai. Šiandien diegimo programos patobulėjo pakankamai, kad taptų įkandamos ir naujokui. Nepaisant to, vis tiek rekomenduoju susisiekti su vietine Linux vartotojų bendruomene ir paprašyti pagalbos. Tai nepamaišys, o gali ir palengvinti procesą.

3. Išmokite naudotis WWW ir rašyti HTML

Dauguma hakerių kultūros kūrinių nėra matomi. Jie padeda valdyti fabrikus, ofisus, universitetus, bet neveikia kitų žmonių gyvensenos akivaizdžiai. Internetas yra viena didelė išimtis. Tai -- didžiulis spindintis hakerių žaislas, kurio įtaką pasaulio kaitai pripažįsta netgi politikai. Vien jau dėl šitos priežasties (o ir dėl daugelio kitų) jums reikia išmokti dirbti su Tinklu.

Tai reiškia ne tik mokėjimą naudotis naršykle (bet kas gali tai daryt), bet ir gebėjimą rašyti HTML, Tinklo aprašų kalba. Jeigu nemokate programuoti, HTML rašymas įskiepys kai kuriuos protinius įpročius, kurie padės jums mokytis. Todėl susikurkite asmeninį tinklapį. Stenkitės naudoti XHTML, kuri yra švaresnė kalba už klasikinę HTML. (Tinkle yra gerų pamokų padedantiesiems; štai viena).

Vis dėlto asmeninio tinklapio toli gražu nepakanka, kad taptumėte hakeriu. Internete pilna asmeninių tinklapių. Dauguma jų yra beprasmis, turinio neturintis šlamštas -- labai akį traukiantis šlamštas, bet visgi šlamštas ir tiek (daugiau apie tai galite paskaityti „HTML pragaro puslapyje“ -- The HTML Hell Page).

Norint, kad asmeninis tinklapis būtų naudingas, reikia turinio -- jis turi būti įdomus ir/arba naudingas kitiems hakeriams. Tai veda mus prie kitos temos...

4. Jeigu nemokate anglų kalbos, išmokite

Kaip amerikietis, kuriam anglų kalba yra gimtoji, anksčiau šito nesiūlydavau, nes tai galėjo būti palaikyta kultūriniu imperializmu. Tačiau keletas žmonių, kuriems anglų kalba nėra gimtoji, prašė pabrėžti: anglų kalba yra darbinė hakerių ir interneto kalba, ir jums reikia ją mokėti, kad galėtumėte veikti hakerių bendruomenėje.

Kažkada apie 1991-uosius sužinojau, kad daug hakerių, kuriems anglų kalba yra antroji, naudoją ją techninėse diskusijose net tada, kai visų dalyvių gimtoji kalba yra ta pati; man paaiškino, kad anglų kalboje techninis žodynas yra turtingesnis nei bet kurioje kitoje, ir dėl to ji paprasčiausiai yra tinkamesnis darbo instrumentas. Dėl panašių priežasčių angliškų techninių knygų vertimai dažnai yra nepatenkinamos kokybės (jei jie išvis būna).

Suomis Linusas Torvaldsas savo kodą komentuoja angliškai (jam tikriausiai niekada nebuvo šovę į galvą daryti kitaip). Geras jo anglų kalbos išmanymas buvo svarbus veiksnys verbuojant pasaulinę Linux kūrėjų bendruomenę. Šiuo pavyzdžiu verta sekti.

Net jeigu anglų kalba jums gimtoji, tai dar nereiškia, kad turite pakankamai gerus kalbinius įgūdžius, reikalingus hakeriui. Jeigu jūsų rašliava atrodo kaip rašyta pusiau raštingo, nepaisote gramatikos, priveliate tipografinių klaidų, daugelis hakerių (aš taip pat) bus linkę jus ignoruoti. Prasta rašymo kultūra nereiškia prastos mąstysenos, bet koreliacija paprastai yra stipri. O mums nereikia prastų galvų. Jei dar nemokate taisyklingai rašyti, išmokite.

hacker emblem

Padėtis hakerių kultūroje

  1. Rašykite atvirojo kodo programas
  2. Padėkite testuoti ir taisyti klaidas atvirojo kodo programose
  3. Publikuokite naudingą informaciją
  4. Padėkite veikti infrastruktūrai
  5. Pasitarnaukite pačiai hakerių kultūrai

Kaip ir daugumoje kultūrų, neturinčių pinigais grindžiamos ekonomikos, hakerijos varomoji jėga yra reputacija. Jūs stengiatės išspręsti įdomias problemas, bet apie jų įdomumą ir jūsų sprendimų gerumą spręsti tegali techniškai jums lygūs ar už jus gudresni.

Taigi, žaisdami pagal hakerių taisykles, išmoksite „rinkti taškus“ iš to, ką apie jus mano kiti hakeriai (štai kodėl iš tiesų nesate hakeris tol, kol kiti hakeriai nepradeda jūsų taip vadinti). Šį faktą paslepia įvaizdis, kad hakeriai dirba tik vienumoje, ir hakerių kultūros tabu (pamažu nykstantis nuo dešimtojo praeito amžiaus dešimtmečio pabaigos, bet vis dar egzistuojantis) pripažinti, kad ego ar kitų pripažinimas veikia motyvaciją.

Hakerija yra kultūra, kurią antropologai vadina dovanų kultūra. Joje statusas įgyjamas ne dominuojant kitų atžvilgiu, ne dėl grožio, ne dėl to, kad turi kažką, ko norėtų kiti žmonės, o dėl to, kad kažkuo daliniesi. Daliniesi savo laiku, kūrybingumu ir įgūdžių rezultatais.

Iš esmės yra penki dalykai, kuriuos galite daryti, kad hakeriai jus gerbtų:

1. Rašykite atvirojo kodo programas

Pirmiausias (svarbiausias ir tradiciškiausias) reikalavimas -- rašyti programas, kurios būtų įdomios ar naudingos kitiems hakeriams ir atiduoti išeities tekstus, kad jais galėtų naudotis visa hakerių kultūra.

(Anksčiau šiuos darbus vadindavome laisvąja programine įranga (angl. Free Software), tačiau tai klaidino daugelį žmonių, kurie nesuprasdavo, ką tiksliai šiame kontekste reiškia žodis „Free“. Dauguma mūsų dabar labiau mėgsta terminą „Atvirojo Kodo (angl. open-source)“ programinė įranga).

Labiausiai hakerijoje gerbiami pusdieviai yra žmonės, parašę dideles, veiksmingas programas, kurios tenkino daugelio poreikius, ir atidavė jas, tad šiandien jas naudoja visi.

Čia esama ir geros istorijos pamokos. Atvirojo kodo programuotojai visada buvo vertinami kaip tvirčiausia hakerių bendruomenės šerdis, bet iki paskutiniojo XX a. dešimtmečio vidurio dauguma jų daugiausia laiko praleisdavo dirbdami su uždaruoju kodu. Taip vis dar buvo, kai rašiau pirmąją šio rašinio versiją 1996-aisiais. Reikalai pradėjo keistis po 1997-ųjų metų, kai atvirasis kodas išplaukė į plačiuosius vandenis. Šiandien „hakerių bendruomenė“ ir „atvirojo kodo programuotojai“ yra du praktiškai tos pačios kultūros ir žmonių apibūdinimai. Vis dėlto verta atsiminti, kad taip buvo ne visada.

2. Padėkite testuoti ir taisyti klaidas atvirojo kodo programose

Taip pat pasitarnauja tie, kurie pakenčia ir taiso klaidas atvirojo kodo programose. Šiame netobulame pasaulyje didžiąją programos kūrimo laiko dalį neišvengiamai praleidžiame klaidų taisymo fazėje. Štai kodėl bet kuris mąstantis atvirojo kodo programuotojas pasakys, kad geri testuotojai (tie, kurie žino, kaip aiškiai aprašyti simptomus, gerai lokalizuoti problemas, toleruoja klaidas paskubomis išleistoje versijoje, ir yra pasiryžę truputį padirbėti su diagnostiniais įrankiais) yra verti savo svorio aukso. Netgi vienas toks pagalbininkas klaidų taisymą iš užsitęsusio, sekinančio košmaro gali paversti tiesiog blaškančiu nepatogumu.

Jei jūs -- naujokas, pamėginkite rasti jus dominančią dar kuriamą programą ir būkite geras beta testuotojas. Tai natūrali progresija: padėti testuoti programas, vėliau padėti taisyti jose klaidas, galiausiai padėti jas vystyti. Tokiu būdu daug išmoksite ir kartu sukursite gerą karmą su žmonėmis, kurie padės jums vėliau.

3. Publikuokite naudingą informaciją

Kita gera veikla -- rinkti ir rūšiuoti naudingą ir įdomią informaciją, skelbti ją internete ar tokiuose straipsniuose kaip dažnai užduodamų klausimų (DUK) sąrašai ir padaryti juos visiems prieinamais.

Pagrindinių techninių DUK autoriai yra gerbiami bemaž taip pat, kaip atvirojo kodo programų autoriai.

4. Padėkite veikti infrastruktūrai

Hakerių kultūra (ir inžinerinis interneto vystymas) pagrįsta savanorių veikla. Yra daugybė būtino, bet susižavėjimo nekeliančio darbo, kurį reikia padaryti, kad judėjimas tęstųsi -- administruoti pašto adresų sąrašus, moderuoti naujienų grupes, prižiūrėti didelius programų archyvų portalus, plėtoti RFC ir kitus techninius standartus.

Gerai šį darbą atliekantys žmonės yra labai gerbiami, nes visi žino, kad ši veikla suryja daugybę laiko ir nėra tokia smagi kaip žaidimas su kodu. Ji rodo pasišventimą.

5. Pasitarnaukite pačiai hakerių kultūrai

Galiausiai, galite pasitarnauti propaguodami pačią kultūrą (pavyzdžiui, parašydami nuodugnų pradžiamokslį, kaip tapti hakeriu :-)). Vis dėlto šia veikla nedera užsiimti, kol nepraleisite bendruomenėje šiek tiek laiko ir netapsite žinomas dėl kurio nors iš pirmų keturių dalykų.

Hakerių kultūra iš tiesų neturi lyderių, bet turi herojus ir „genčių senolius“, istorikus ir kalbėtojus. Apkasuose kartu praleidę daugybę laiko, galite tapti vienu iš jų. Tačiau atsargiai: hakeriams nepatinka rėkiantis jų vadų ego, tad akivaizdžiai siekti tokios šlovės yra pavojinga. Vietoje to, kad siektumėte tokio statuso, geriau pasirinkite veiklą, dėl kurios jis nukristų tiesiai jums į rankas, o tada būkite kuklūs ir maloningi.

hacker emblem

Ryšys tarp hakerio ir vėplos

Kitaip nei mano dauguma žmonių, nereikia būti vėpla, kad būtumėte hakeriu. Vis dėlto tai padeda, ir daugelis hakerių išties yra vėplos. Buvimas socialiai atstumtu leidžia sutelkti dėmesį į tikrai svarbius dalykus, pavyzdžiui, mąstymą ir hakinimą.

Dėl šios priežasties daugybė hakerių prisiima „prietrankos“ (angl. geek) etiketę kaip nepriklausomybės nuo normalių socialinių lūkesčių ženklą (taip pat pomėgį kitų dalykų -- mokslinės fantastikos ar strateginių žaidimų -- kurie dažnai neatsiejami nuo hakerių). Paskutiniajame XX a. dešimtmetyje panašiais tikslais naudotas terminas „vėpla“ (angl. nerd) -- jis buvo švelnesnis „prietrankos“ atitikmuo. XXI a. pradžioje terminai susikeitė vietomis (bent jau JAV populiariojoje kultūroje) ir dabar net ne technine veikla užsiimantys žmonės labai didžiuojasi, būdami „prietrankomis“.

Jei jums pavyksta sukaupti dėmesį į hakinimą ir visgi gyventi normalų gyvenimą -- puiku. Šiandien tai daug lengviau nei aštuntajame dešimtmetyje, kai aš buvau pradedantysis; šiais laikais vyraujanti kultūra daug draugiškesnė technomanams. Netgi daugėja žmonių, suprantančių, kad hakeris dažnai gali būti labai geras meilužis ar sutuoktinis.

Jeigu hakinimas jus traukia dėl to, kad jūsų gyvenimas klostosi nekaip, nieko baisaus -- bent jau nekils problemų sutelkiant dėmesį. Galbūt vėliau gyvenimas susitvarkys.

hacker emblem

Gyvenimo būdas

Dar sykį: norint tapti hakeriu, reikia pasinerti į hakerišką mąstyseną. Yra dalykų, kuriuos galite daryti, kol nesate prie kompiuterio ir kurie, regis, padeda. Šios veiklos nėra pakaitalai hakinimui (niekas nėra), tačiau daugelis hakerių jomis užsiima ir jaučia, kad kažkokiu būdu jos siejasi su hakinimo esme.

  • Išmokite gerai rašyti savo gimtąja kalba. Nepaisant paplitusio stereotipo, kad programuotojai nemoka rašyti, stebinantis hakerių skaičius (įskaitant pačius geriausius, kuriuos pažįstu) yra gabūs rašytojai.

  • Skaitykite mokslinę fantastiką. Lankykitės mokslinės fantastikos susibūrimuose (gera proga sutikti esamus ir potencialius hakerius).

  • Studijuokite kovos menus. Sąmonės disciplina, reikalinga kovos menams, atrodo turinti svarbių panašumų į tą, kurią savo veikloje naudoja hakeriai. Tarp hakerių populiariausi yra beginkliai Azijos kovos menai, pavyzdžiui, Tae Kwon Do, Karate, Kung Fu, Aikido ar Ju Jitsu. Fechtavimas ir Azijos kovos menai su kardais taip pat turi nemažai pasekėjų. Ten, kur tai legalu, nuo amžių sandūros vis labiau populiarėja šaudymas iš pistoleto. Hakeriškiausi kovos menai pabrėžia mentalinę discipliną, „atpalaiduotą sąmonę“ ir kontrolę, o ne jėgą, atletiškumą ar fizinį stiprumą.

  • Studijuokite tikrąjį meditacijos meną. Visų laikų favoritas tarp hakerių yra Zen (svarbi Zen savybė -- disciplinos privalumus galima pajusti, nepriimant naujos religijos ir neatsisakant turimos). Kitos meditacijos rūšys taip pat gali būti tinkamos, tik būkite apdairūs ir neišsirinkite tokios, kuri reikalauja tikėti nesąmonėmis.

  • Lavinkite muzikinę klausą. Išmokite vertinti savitas muzikos rūšis, groti kokiu nors instrumentu ar dainuoti.

  • Vystykite gerą skonį kalambūrui ir žodžių žaismui.

Kuo daugiau išvardintų dalykų jau darote, tuo jūsų hakeriškoji prigimtis stipresnė. Nėra visiškai aišku, kodėl būtent išvardintieji dalykai yra svarbūs, bet jie kažkaip siejasi su svarbiais kairiojo ir dešiniojo smegenų pusrutulių veiklos ypatumais. Hakeriams reikia sugebėti ne tik logiškai mąstyti, bet kartais ir pažvelgti į problemą iš visai kitos pusės, regis, prieštaraujančios akivaizdžiai logikai.

Dirbkite taip pat intensyviai, kaip žaidžiate, ir žaiskite taip pat intensyviai, kaip dirbate. Tikriems hakeriams, ribos tarp „žaidimo“ ir „darbo“, „mokslo“ ir „meno“ išblykšta ar susilieja į vientisą aukšto lygio kūrybingą žaismingumą. Taip pat neapsiribokite siauru įgūdžių ratu. Dauguma hakerių apibūdina save kaip programuotojus, bet labai tikėtina, kad jie turi puikių įgūdžių ir keliose susijusiose srityse: sistemų administravime, Tinklo puslapių kūrime, asmeninio kompiuterio komponentų priežiūroje ir pan. Sistemas administruojantis hakeris greičiausiai yra geras skriptų rašymo ir puslapių kūrimo specialistas. Hakeriai nemėgsta dirbti vidutiniškai -- jeigu jau įdeda pastangų įgūdžiui išsiugdyti, greičiausiai jį išlavins tobulai.

Galiausiai, keletas dalykų, kurių geriau nedaryti.

  • Nenaudokite kvailų grandiozinių vartotojų vardų ar pseudonimų.

  • Nesivelkite į ginčus Usenet'e (ar kur kitur).

  • Nevadinkite savęs „kiberpanku“ ir negaiškite laiko tiems, kas save taip vadina.

  • Nepublikuokite ir nesiųskite paštu rašliavos, pilnos tipografinių ir gramatikos klaidų.

Vienintelė reputacija, kurią užsitarnausite darydamas kurį nors šių dalykų -- idioto reputacija. Hakeriai turi gerą atmintį -- gali tekti laukti metų metus, kol jūsų jaunystės klaidos bus pamirštos pakankamai, kad bendruomenė jus priimtų.

Vardų ir pseudonimų problema nusipelno paaiškinimo. Slėpti savo identitetą po pravarde yra mažvaikiškas ir kvailas krakerių, „warez d00dz“'ų ir kitų žemesnių gyvybės formų įprotis. Hakeriai taip nesielgia; jie didžiuojasi tuo, ką daro, ir nori, kad ši veikla būtų siejama su jų tikraisiais vardais. Taigi, jei turite slapyvardį, pamirškite jį. Hakerių kultūroje jis nurodys jus kaip nevykėlį.

hacker emblem

Kiti šaltiniai

Paul Graham parašė esė Puikūs hakeriai ir kitą, apie studentavimą, kuriose pasako daug išminties.

Rašinys, pavadintas „Kaip būti programuotoju“ (How To Be A Programmer) puikiai papildo šį, kurį skaitote. Jame yra vertingų patarimų ne tik apie kodavimą ir įgūdžius, bet ir apie tai kaip dirbti programuotojų komandoje.

Taip pat esu parašęs „Trumpą hakerijos istoriją“ (A Brief History Of Hackerdom).

Parašiau straipsnį, „Katedra ir turgus“ (The Cathedral and the Bazaar), kuriame paaiškinami daugelis Linux ir atvirojo kodo kultūrų funkcionavimo aspektų. Šią temą dar nuodugniau nagrinėjau tęsinyje „Noosferos įkūrimas“ (Homesteading the Noosphere).

Rick Moen parašė nuostabų dokumentą „Kaip tvarkyti Linux vartotojų grupę“ (how to run a Linux user group).

Mudu su Rick Moen parašėme rašinį „Kaip protingai paklausti“ (How To Ask Smart Questions). Jis padidins tikimybę, kad jūsų pagalbos paieškos duos vaisių.

Jeigu jums reikia elementarių žinių apie tai, kaip veikia personalinis kompiuteris, Unix ar internetas, pavartykite „Unix ir interneto pradmenų HOWTO“ (The Unix and Internet Fundamentals HOWTO).

Kai publikuojate programinę įrangą ar rašote programų pataisymus, stenkitės laikytis patarimų iš „Programinės įrangos publikavimo HOWTO“ (Software Release Practice HOWTO).

Jeigu jus sužavėjo Zen eilėraštis, galbūt patiks ir Rootless Root: The Unix Koans of Master Foo.

hacker emblem

Dažnai Užduodami Klausimai

K: Kaip man žinoti, ar aš jau hakeris?
K: Ar pamokinsite mane hakinti?
K: Tai kaipgi man pradėti?
K: Kada reikia pradėti? Ar man jau per vėlu mokytis?
K: Kiek aš užtruksiu besimokydamas?
K: Ar Visual Basic yra gera kalba pradžiai?
K: Ar padėtumėt man nulaužti sistemą arba pamokytumėt laužyti?
K: Kaip man gauti kieno nors slaptažodį?
K: Kaip man įsilaužti/skaityti/stebėti kito žmogaus e-paštą?
K: Kaip man pavogti IRC kanalo operatoriaus teises?
K: Į mano sistemą įsilaužė. Ar padėtumėt man apsiginti nuo tolimesnių atakų?
K: Turiu bėdų su savo Windows programomis. Ar padėtumėt?
K: Kur galėčiau rasti tikrų hakerių, kad galėčiau su jais pabendrauti?
K: Ar galite parekomenduoti kokių nors naudingų knygų apie hakinimą?
K: Ar man reikia gerai išmanyti matematiką, kad tapčiau hakeriu?
K: Kurią kalbą pirmiausiai turėčiau išmokti?
K: Kokios techninės įrangos man gali prireikti?
K: Noriu padėti. Ar galite pasiūlyti man problemą, prie kurios galėčiau dirbti?
K: Ar aš privalau nekęsti Microsoft?
K: Bet ar atvirasis kodas nepaliks programuotojų be pragyvenimo šaltinio?
K: Kaip man pradėti? Kur gauti nemokamą Unix sistemą?

K: Kaip man žinoti, ar aš jau hakeris?

A: Paklauskite savęs šių trijų klausimų:

  • Ar kalbate programavimo kalba? Laisvai?

  • Ar solidarizuojatės su hakerių bendruomenės tikslais ir vertybėmis?

  • Ar kuris nors gerai žinomas hakerių kultūros narys yra pavadinęs jus hakeriu?

Jeigu teigiamai atsakėte į visus tris klausimus, jūs -- jau hakeris. Dviejų atsakymų nepakanka.

Pirmasis šio testuko klausimas yra apie įgūdžius. Jūs tikriausiai atsakysite „taip“, jeigu turite minimalius techninius reikalavimus, aprašytus aukščiau. Atsakymas turėtų būti užtikrintas „taip!“, jeigu kokiame nors atvirojo kodo projekte yra juntamas jūsų kodo kiekis.

Antrasis klausimas -- apie nuostatą. Jeigu penki hakerio mąstysenos principai jums atrodė savaime suprantami, labiau panašūs į jūsų kasdienybės aprašymą nei ką nors nauja, jūs jau pusiaukelėje. Tai vidinė pusė. Kita pusė, išorinė, yra ilgalaikių hakerių bendruomenės projektų rėmimas.

Štai keletas tokių projektų pavyzdžių: ar jums rūpi, kad Linux tobulėtų ir plistų? Ar jūs -- aistringas programinės įrangos laisvės šalininkas? Nepakantus monopolijoms? Ar tikite, kad kompiuteris gali būti instrumentas, praturtinantis pasaulį ir darantis jį mielesne vieta gyventi?

Šioje vietoje reikia pažymėti, kad hakerių bendruomenė turi specifinių, daugiausia gynybinio pobūdžio politinių interesų. Du iš jų yra žodžio laisvės gynimas ir „intelektinės nuosavybės“ normų vengimas. Pastarosios gali paversti atvirąjį kodą nelegaliu. Kai kurie šių ilgalaikių projektų veikia kaip civilinių teisių organizacijos (pavyzdžiui, „Electronic Frontier Foundation“); išoriškai nuostata demonstruojama remiant šias organizacijas. Vis dėlto tolesni bandymai susisteminti hakerių nuostatas į detalią politinę programą daugeliui hakerių atrodo įtartini. Mes patyrėme (sunkiuoju būdu), kad tokios pastangos skaido bendruomenę ir blaško dėmesį. Jei kas nors įkalbinėja jus mitinguoti prie Seimo vardan hakerių nuostatų, jie kažko nesupranta. Teisingas atsakymas į tokią agitaciją būtų „Užsičiaupk ir parodyk kodą, kurį parašei“.

Trečiasis klausimas yra klastingai rekursyvus. Skyriuje „Kas yra hakeris?“ sakiau, kad būti hakeriu iš dalies (tiek vidumi, tiek išore) reiškia priklausyti tam tikrai subkultūrai ar socialiniam tinklui, turinčiam bendrą istoriją. Tolimoje praeityje hakeriai buvo ne tokia vientisa ir save suvokianti bendruomenė, nei jie yra šiandien. Socialinio tinklo aspektas per pastaruosius tris dešimtmečius sustiprėjo kartu su interneto atsiradimu, kuris palengvino hakerių kultūros branduolio formavimąsi. Vienas aiškus šio pasikeitimo požymis yra tai, kad šiame amžiuje mes jau turime marškinėlių su savo simbolika.

Sociologai, studijuojantys bendruomenes, panašias į hakerių ir vadinamas bendru „nematomų koledžų“ vardu, pastebėjo, kad joms būdinga turėti „durininkus“ -- svarbius ir autoritetingus narius, priimančius į bendruomenę naujokus. Kadangi „nematomas koledžas“, t.y. hakerių kultūra, yra neformali organizacija, durininko vaidmuo taip pat neapibrėžtas. Vis dėlto vienas dalykas aiškus visiems hakeriams: ne kiekvienas narys yra durininkas. Prieš prisiimdami šias pareigas, durininkai turi įgyti tam tikrą autoritetą ir pasiekimų bagažą. Jų mastą sunku išmatuoti, bet joks hakeris nesuklys vertindamas.

K: Ar pamokinsite mane hakinti?

A: Nuo tada, kai pirmą kartą publikavau šį puslapį, gaudavau po keletą prašymų per savaitę (dažnai ir keletą per dieną) „išmokinti mane visko apie hakinimą“. Deja, tam neturiu nei laiko, nei energijos; mano paties hakinimo projektai ir atvirojo kodo propagavimas suryja 110% mano laiko.

Net jei turėčiau laiko, hakinimas yra nuostata ir įgūdžiai, kuriuos turite išsiugdyti patys. Pamatysite, kad nors tikri hakeriai nori jums padėti, jie jūsų negerbs, jeigu maldausite jų šaukšteliu sumaitinti jums visas savo žinias.

Pirmiausia išmokite keletą dalykų. Parodykite, kad stengiatės, jog sugebate mokytis savarankiškai. Tada kreipkitės į hakerius su konkrečiais klausimais.

Jeigu rašote hakeriui laišką, prašydami patarimo, pirmiausia reikia žinoti du dalykus. Visų pirma, patyrėme, kad jeigu žmogus tingi gražiai rašyti ar jam nerūpi, kaip rašo, dažniausiai jis yra toks pat tingus ir nerūpestingas mąstydamas ir geru hakeriu netaps. Taigi atkreipkite dėmesį į tipografines klaidas, gramatiką ir skyrybą, nes priešingu atveju dėmesio tikriausiai nesulauksite. Antra, nedrįskite prašyti, kad jums būtų atsakyta kitu adresu nei tas iš kurio rašote; patirtis rodo, kad taip darantys žmonės yra vagys, naudojantys svetimas paskyras (account), o mes neturime noro padėti vagims ar juos skatinti.

K: Tai kaipgi man pradėti?

A: Bene geriausias būdas jums pradėti būtų nueiti į LVG (Linux vartotojų grupės) susitikimą. Tokias grupes galite rasti LDP bendrosios informacijos puslapyje (LDP General Linux Information Page); tikriausiai kokia nors grupė atsiras netoli jūsų, galbūt susijusi su koledžu ar universitetu. Jei paprašysite, LVG nariai tikriausiai duos jums Linux ir tikrai padės ją įdiegti ir apsiprasti.

K: Kada reikia pradėti? Ar man jau per vėlu mokytis?

A: Tinka bet koks amžius, svarbiausia turėti motyvacijos. Dauguma žmonių susidomi tarp penkiolikos ir dvidešimties metų, bet žinau išimčių abiem kryptimis.

K: Kiek aš užtruksiu besimokydamas?

A: Tai priklauso nuo jūsų talento ir kaip atkakliai to siekiate. Susikaupę dauguma žmonių gali įgyti gerbtiną žinių bagažą per pusantrų ar dvejus metus. Vis dėlto negalvokite, kad tuo viskas ir baigiasi; hakinime (kaip ir daugelyje kitų sričių) meistriškumui pasiekti prireikia dešimtmečio. Ir jeigu jūs tikras hakeris, visą likusį gyvenimą praleisite besimokydamas ir tobulindamas savo amatą.

K: Ar Visual Basic yra gera kalba pradžiai?

A: Toks klausimas reiškia, kad mąstote apie bandymą hakinti Microsoft Windows sistemoje. Tai jau savaime yra bloga idėja. Kai palyginau bandymą mokytis hakinti Windows sistemoje su bandymu išmokti šokti sugipsuotam, nejuokavau. Neikite ten. Ten bjauru, ir niekada nenustos būti bjauru.

Visual Basic turi savitų problemų; pagrindinė -- ji nėra pernešama (portable). Atvirojo kodo Visual Basic realizacijų esama, bet atitinkami ECMA standartai tepadengia mažą jų programavimo interfeisų dalį. Windows sistemoje didžioji bibliotekų dalis yra įslaptinta ir priklauso vienam tiekėjui (Microsoft); jei nebūsite ypač atsargūs rinkdamiesi savybes, kurias naudojate -- atsargesni nei bet kuris pradedantysis pajėgus -- tapsite įkalintas Microsoft pasirinktose platformose. Jeigu pradėsite Unix sistemoje, gausite daug geresnes kalbas su gerokai puikesnėmis bibliotekomis. Pavyzdžiui, Python.

Kaip ir kiti Basic dialektai, Visual Basic yra prastai suprojektuota kalba, kuri pripratins jus prie blogų programavimo įpročių. Ne, neprašykite manęs juos vardinti, tai užimtų ištisą knygą. Vietoje to išmokite gerai suprojektuotą kalbą.

Viena iš tų blogybių yra prisirišimas prie vieno tiekėjo bibliotekų, valdiklių (widgets) ir programavimo įrankių. Apskritai bet kokia kalba, kuri nėra pilnai palaikoma bent jau Linux ar vienoje iš BSD sistemų, ir/arba bent jau trijose skirtingų tiekėjų sistemose, yra blogas pasirinkimas besimokant hakinti.

K: Ar padėtumėt man nulaužti sistemą arba pamokytumėt laužyti?

A: Ne. Bet kas, klausiantis tokio klausimo po to, kai perskaitė šį DUK, yra per kvailas mokyti, net jei turėčiau tam laiko. Bet kokie panašūs klausimai e-paštu bus ignoruojami arba į juos bus atsakyta itin nemandagiai.

K: Kaip man gauti kieno nors slaptažodį?

A: Tai krakinimas. Nelįsk į akis, idiote.

K: Kaip man įsilaužti/skaityti/stebėti kito žmogaus e-paštą?

A: Tai krakinimas. Atšok, silpnaproti.

K: Kaip man pavogti IRC kanalo operatoriaus teises?

A: Tai krakinimas. Išnyk, kretine.

K: Į mano sistemą įsilaužė. Ar padėtumėt man apsiginti nuo tolimesnių atakų?

A: Ne. Kaskart, kai manęs šito paprašydavo, tai būdavo koks nors nelaimėlis su Microsoft Windows. Windows sistemų neįmanoma efektyviai apsaugoti nuo įsilaužimų; kodas ir architektūra paprasčiausiai turi per daug skylių, kurios visus bandymus apsaugoti Windows paverčia bandymais rėčiu išsemti vandenį iš valties. Vienintelė patikima prevencija yra pereiti prie Linux ar kurios nors kitos operacinės sistemos, kurioje bent jau įmanoma apsauga.

K: Turiu bėdų su savo Windows programomis. Ar padėtumėt?

A: Taip. Įsijunkite komandinę eilutę ir užrašykite "format c:". Per keletą minučių neliks jokių problemų.

K: Kur galėčiau rasti tikrų hakerių, kad galėčiau su jais pabendrauti?

A: Geriausia rasti artimiausią Unix ar Linux vartotojų grupę ir nueiti į jų susitikimą (nuorodas į keletą vartotojų grupių galite rasti LDP tinklapyje).

(Anksčiau sakydavau, kad IRC tikrų hakerių nerasite, bet pradedu suprasti, kad situacija keičiasi. Panašu, kad kai kurios tikrų hakerių bendruomenės, susijusios su GIMP ar Perl, jau turi savo IRC kanalus.)

K: Ar galite parekomenduoti kokių nors naudingų knygų apie hakinimą?

A: Aš prižiūriu Linux literatūros sąrašo HOWTO (Linux Reading List HOWTO), kuris gali būti naudingas. Loginataka taip pat gali sudominti.

Įžangą į Python rasite Python tinklapio įžanginės medžiagos skiltyje.

K: Ar man reikia gerai išmanyti matematiką, kad tapčiau hakeriu?

A: Ne. Hakinime naudojama labai mažai formalios matematikos. Pavyzdžiui, vargu ar jums prireiks trigonometrijos ar matematinės analizės žinių (žinoma, yra išimtinių sričių, kaip kad trimatė grafika). Kai kurios formalios logikos ir Būlio algebros žinios būtų gerai. Labai praverstų ir šiek tiek diskrečiosios matematikos žinių (įskaitant baigtinių aibių teoriją, kombinatoriką ir grafų teoriją).

Daug svarbiau yra gebėjimas mąstyti logiškai ir sekti griežto samprotavimo sekas taip, kaip tai daro matematikai. Nors dauguma matematikos medžiagos nepagelbės, prireiks disciplinos ir intelekto matematikai suvaldyti. Jei jums trūksta intelekto, maža vilties, kad tapsite hakeriu. Jeigu trūksta disciplinos, ugdykite ją.

Manau, kad geras būdas išsiaiškinti, ar turite reikiamą polėkį, yra pačiupti Raymond Smullyan knygą „What Is The Name Of This Book?“. Žaismingi loginiai Smullyan galvosūkiai yra labai hakeriški. Geras ženklas, jei gebate juos išspręsti; jeigu mėgaujatės juos spręsdami, tai -- dar geresnis ženklas.

K: Kurią kalbą pirmiausiai turėčiau išmokti?

A: XHTML (vėliausias HTML dialektas), jeigu dar jo nežinote. Yra daugybė rafinuotų, hiperintensyvių blogų knygų apie HTML, ir stebėtinai mažai gerų. Man smagiausia yra HTML: The Definitive Guide..

Vis dėlto HTML nėra programavimo kalba. Kai būsite pasirengę programuoti, rekomenduoju pradėti nuo Python. Daugelis pataria Perl, ir ji vis dar yra populiaresnė už Python, bet ją sunkiau išmokti ir ji (mano nuomone) prasčiau suprojektuota.

C yra labai svarbi, bet ją išmokti taip pat daug sunkiau nei Python ar Perl. Nemėginkite pradėti mokytis nuo jos.

Windows vartotojai, neprasidėkite su Visual Basic. Ji išugdys blogus įpročius, ir jos negalima pernešti už Windows ribų. Venkite.

K: Kokios techninės įrangos man gali prireikti?

A: Anksčiau personaliniai kompiuteriai buvo nepakankamai galingi, turėjo mažai atminties ir ribojo hakerio tobulėjimo procesą. Situacija pasikeitė paskutinio XX a. dešimtmečio viduryje; bet kuris kompiuteris pradedant nuo Intel 486DX50 yra daugiau nei pakankamai galingas programavimui, X Windows sistemai ir komunikacijai internetu; patys mažiausi diskai, kuriuos šiandien galite įsigyti, yra užtektinai talpūs.

Renkantis kompiuterį svarbus dalykas yra komponentų suderinamumas su Linux (ar BSD, jei planuojate pasukti šiuo keliu). Vėlgi, daugumos šiuolaikinių kompiuterių atveju tokių problemų nekils. Vieninteliai keblumai kyla dėl modemų ir bevielio tinklo plokščių; kai kurie kompiuteriai turi Windows specializuotos techninės įrangos, kuri neveiks su Linux.

Egzistuoja techninės įrangos DUK; naujausia versija yra čia.

K: Noriu padėti. Ar galite pasiūlyti man problemą, prie kurios galėčiau dirbti?

A: Ne, nes nežinau jūsų pomėgių ir talentų. Motyvuoti save turite pats, kitaip nepritapsite. Štai kodėl kitų žmonių sprendimai kur link jums pasukti beveik niekada nepadeda.

Pabandykite štai ką. Kelias dienas stebėkite naujų projektų skelbimus Freshmeat portale. Kai pamatysite tokį, apie kurį pagalvosite „Jėga! Noriu dirbti prie tokio daikto!“, prisijunkite.

K: Ar aš privalau nekęsti Microsoft?

A: Ne, neprivalote. Ne dėl to, kad Microsoft nėra bjaurus, tačiau hakerių kultūra egzistavo seniai iki Microsoft ir egzistuos dar labai ilgai po Microsoft. Energiją, kurią išeikvosite neapykantai, geriau panaudoti jūsų amato meilei. Rašykite gerą kodą -- taip pakankamai pakenksite Microsoft, nesuteršdami savo karmos.

K: Bet ar atvirasis kodas nepaliks programuotojų be pragyvenimo šaltinio?

A: Nemanau -- kol kas atvirojo kodo industrija kuria darbo vietas, o ne naikina jas. Jeigu parašytos programos turėjimas yra grynas ekonominis laimėjimas, lyginant su jos neturėjimu, tai programuotojui bus sumokėta nepriklausomai nuo to, ar programa yra atvirojo kodo, ar ne. Ir nepriklausomai nuo to kiek „nemokamos“ programinės įrangos yra sukuriama, visada auga poreikis naujoms, konkrečiam vartotojui pritaikytoms programoms. Daugiau apie tai esu rašęs Atvirojo Kodo puslapiuose.

K: Kaip man pradėti? Kur gauti nemokamą Unix sistemą?

A: Jei vis dar neturite įdiegtos Unix sistemos, kitose šio puslapio vietose įtraukiau nuorodas į populiariausias nemokamas Unix sistemas. Norint tapti hakeriu, jums prireiks motyvacijos, iniciatyvumo ir gebėjimo mokytis pačiam. Pradėkite dabar...

hacker emblem