Dette er norsk (bokmål) oversettelse av How To Become A Hacker originalt skrevet av Eric S. Raymond. Oversettelse er gjort av meg, Stian Skjæveland, og gjeldende oversettelse er bassert på versjon 1.38 av nevnte dokument. Dersom du har kommentarer eller innspill av en hvilken som helst art, vennligst send det til følgende e-post addresse: stian at atlantiscrew period net.

Hvordan bli en hacker

Eric Steven Raymond

Thyrsus Enterprises

<esr@thyrsus.com>

Copyright (C) 2001 Eric S. Raymond

Innhold

Hvorfor dette dokumentet?
Hva er en hacker?
Hackerholdningen.

  1. Verden er full av fascinerende problemer som venter på å bli løst.
  2. Ingen problemer burde noensinne trenge å løses flere ganger.
  3. Kjedsomhet og ensformig arbeid er ondt.
  4. Frihet er bra.
  5. Holdning er ikke en erstatning for kompetanse.
Grunnleggende hackingferdigheter.
  1. Lær deg å programmere.
  2. Skaff deg et av åpen kildekode UNIX'ene og lær å bruke og kjøre det.
  3. Lær deg å bruke internett og kode HTML.
  4. Hvis du ikke har funksjonell engelsk, lær det.
Status i hackerkulturen.
  1. Skriv åpen kildekode programvare.
  2. Hjelp, test og feilsøk åpen kildekode programvare.
  3. Publiser nyttig informasjon.
  4. Hjelp til med å holde infrastrukturen i gang.
  5. Tjen hackerkulturen i seg selv.
Hacker/Nerd-koblingen.
Stilkarakterer.
Andre ressurser.
Frequently Asked Questions (Ofte Stilte Spørsmål).

hacker emblem

Hvorfor dette dokumentet?

Som vedlikeholder av The Jargon File og forfatter av flere velkjente dokumenter av lignende art, får jeg ofte etterlysning via e-post fra entusiastiske nybegynnere innen nettverk, som "hvordan kan jeg lære å bli et hackergeni?". Tilbake i 1996 merket jeg at det tilsynelatende ikke var noen annen FAQ eller dokument på internett som besvarte dette vitale spørsmålet, så jeg begynte dette. Mange hackere regner nå dette som det definitive, og jeg antar at det betyr at det fremdeles er det. Likevel, jeg vil ikke hevde at jeg er av eksklusiv autoritet vedrørende dette emnet; dersom du ikke liker det du leser her; skriv ditt eget.

Hvis du leser et "snapshot" av dette dokumentet avkoblet fra internett er gjeldende versjon i live på http://catb.org/~esr/faqs/hacker-howto.html.

Merk: det er en liste over ofte stilte spørsmål i slutten av dette dokumentet. Vennligst les disse -- to -- ganger før du sender meg e-post med spørsmål vedrørende dette dokumentet.

Et visst antall oversettelser av dette dokumentet er tilgjengelig: Arabisk, Bulgarsk, Catalan, Kinesisk (Simplified), Dansk, Nederlandsk, Farsi, Finsk, Tysk, Hebraisk, Italiensk, Japansk, Norsk, Polsk, Portugisisk (Brasiliansk), Rumensk, Russisk, Spansk, Tyrkisk, og Svensk. Merk at ettersom dette dokumentet endres gjevnlig, vil disse muligens være utdatert av varierende grad.

Dette fem-punkter-i-ni-firkanter diagrammet som dekorerer dette dokumentet er kallet en "glider". Det er en simpel konstruksjon med noen overraskende egenskaper i en matematisk simulering kallet Life (livet) som har fascinert hackere i en årrekke. Jeg tror dette gjør det bra som et visuelt emblem for hvordan hackere er -- abstrakte, ved første øyekast tilsynelatende noe mystifisert, men likevel en bro over til en hel verden med en kompleks logikk på sitt eget vis. Les mer om dette glider emblemet her.

Hva er en hacker?

The Jargon File inneholder en rekke definisjoner av begrepet "hacker", hvorav mesteparten har å gjøre med det teknisk avanserte og en belysning i det å løse problemer og overstige begrensningene. Hvis du vil lære hvordan du kan bli en hacker, er imidlertid bare to av dem egentlig relevante.

Det finnes et fellesskap, en delt kultur, av ekspertprogrammerere og nettverkseksperter som fører historien sin tilbake flere tiår til de første tidssparende minidatamaskinene og de tidligste ARPAneteksperimenter. Medlemmene av dette felleskapet brukte originalt begrepet "hacker". Hackere bygget internett. Hackere laget UNIX-operativsystemet til hva det er i dag. Hackere driver Usenet. Hackere får internett til å fungere. Hvis du er en del av dette fellesskapet, hvis du har bidrat til det og andre mennesker i det vet hvem du er og kaller deg en hacker, så er du en hacker.

Hackertankegangen er ikke begrenset til dette programvare-hacker-fellesskapet. Det finnes mennesker som overfører hackerinnstillingen til andre ting, som elektriske artikler eller musikk -- faktisk, du kan finne det i de høyeste gradene av en hvilken som helst vitenskap eller kunst. Programvarehackere gjenkjenner disse beslektede sjeler andre steder og kan derfor finne på å kalle disse for "hackere" også -- og noen hevder at hackernaturen er virkelig uavhengig av det gitte medium, som hackeren arbeider med. Men på resten av denne siden vil jeg fokusere på programvarehackerenes ferdigheter og holdninger samt på tradisjonene i den felles kulturen, som var opprinnelsen til begrepet "hacker".

Nå eksisterer det imidlertid også en annen gruppe mennesker som høylytt kaller seg selv for hackere, men som ikke er det. Dette er mennesker som har det gøy med å bryte seg inn i datamaskiner og telefonsysstemer. Virkelige hackere kaller disse menneskene "crackere" og vil ikke ha noe med dem å gjøre. Virkelige hackere synes hovedsakelig at crackere er late, uansvarlige og ikke helt kloke, og er av den oppfatning at det å bryte en sikkerhet ikke gjør deg til en hacker, akkurat som at evnen til å stjele biler ikke gjør en til en ingeniør. Uheldigvis er mange journalister og forfattere blitt narret til å bruke ordet "hacker" til å beskrive crackere; dette irriterer hackere grenseløst.

Hovedforskjellen er som følger: hackere bygger ting, crackere ødelegger dem.

Hvis du vil bli en hacker, fortsett lesningen. Hvis du vil bli en cracker, gå og les på alt.2600 nyhetsgruppen og gjør deg klar til å få flere år bak murene, etter å ha funnet ut at du ikke var så smart som du trodde. Og det er alt hva jeg har å si om crackere.

hacker emblem

Hackerholdningen.

1. Verden er full av fascinerende problemer som venter på å bli løst.
2. Ingen problemer burde noensinne trenge å løeses flere ganger.
3. Kjedsomhet og ensformig arbeid er ondt.
4. Frihet er bra.
5. Holdninger betyr ikke fravær av kompentanse.

Hackerholdningen.

Hackere løser problemer og bygger ting, og de tror på frihet og hjelpsomhet bassert på frivillig arbeid. For å bli akseptert som en hacker, så må du oppføre deg som om du har denne holdningen selv. Og for å kunne oppføre seg som om du har denne holdningen, så må du virkelig tro på den.

Men om du tror at det å tilegne seg hackerholdninger -- bare som et redskap til å få aksept i kulturen, så har du misforstått poenget. Å bli en som tror på disse ting, er viktig for deg -- for å hjelpe deg med å lære og opprettholde motivasjonen. Som med all kreativ form for kunst, er den mest effektive måten å bli en mester på ved å imitere tankesettet til mesteren -- ikke bare intellektuelt, men også følelsesmessig.

Eller, som det følgende moderniserte Zen-diktet sier det:

    To follo the path: (Å følge vegen)
    look to the master, (se på mesteren)
    follow the master, (følg etter mesteren)
    walk with the master, (gå med mesteren)
    see through the master, (se gjennom mesteren)
    become the master. (bli mesteren)

Så, om du ønsker å bli en hacker, kan du gjenta de følgende punkter like til du tror på dem:

1. Verden er full av fascinerende problemer som venter på å bli løst.

Det å være en hacker innebærer mye moro, men det er en form for moro som krever mye innsats. Innsats krever motivasjon. Toppidrettsfolk får sin motivasjon fra en form for fysisk oppmuntring i det å få kroppen til å prestere, i det å presse seg selv forbi deres fysiske begrensninger. Til sammenligning, for å bli en hacker må du oppnå en grunnleggende spenning av det å løse problemer, ved å bli bedre, og ved å lære opp intelligensen.

Hvis du ikke er en slik person som føler at dette er naturlig for deg, så vil du behøve å bli en slik for å kunne møte det som en hacker. Ellers vil du oppdage at "hackingenergien" vil forsvinne fra forstyrrende ellementer som sex, penger, og sosial aksept.

(Du vil også trenge å utvikle en form for tro på din egen evne til å lære -- en tro som går ut på at selv om du kanskje ikke vet alt det du trenger å vite for å kunne løse et problem, hvis du bare løser en bit av det og lærer noe av det, så vil du lære nok til å løse neste bit -- og så videre, like til du har løst det ferdig.)

2. Ingen problemer burde noensinne trenge å løses flere ganger.

Kreative hoder er en verdifull, begrenset ressurs. De burde ikke bli bortkastet til det å oppfinne hjulet på nytt når det er så mange fascinerende nye problemer som venter der ute.

For å oppføre deg som en hacker, så må du tro at den tiden andre hackere bruker på å tenke er verdifull -- så mye at det tilnærmet er en moralsk plikt for deg å dele informasjon, løse problemer og så gi løsningene videre slik at andre hackere kan løse nye problemer fremfor å måtte oppfinne gamle på nytt.

Merk, dog, at "Ingen problemer burde noensinne trenge å løses flere ganger" ikke betyr at du må ta alle eksisterende løsninger for god fisk, eller at det er kun en riktig løsning på et hvilket som helst problem. Mange ganger lærer vi mye om problemer som vi ikke visste før vi begynte å studere de første delene av løsningen. Det er i orden, og ofte nødvendig, å bestemme seg for at vi kan gjøre det bedre. Det som ikke er i orden er simulerte tekniske, lovlige, eller institusjonelle barrierer (som lukket kildekode) som forhindrer en god løsning fra det å bli gjenbrukt og tvinge mennesker til å oppfinne hjulet på nytt.

Du trenger ikke tro at du er forpliktet til å gi fra deg alle dine kreative ideer, dog får de hackerene som gjør dette mest respekt fra andre hackere. Det er foreneligt med hackerverdier å selge nok slik at du har nok til mat, leie og datamaskiner. Det er bra å bruke kunnskapene dine innen hacking til å støtte familien eller til og med bli rik, så lenge du ikke glemmer å være lojal mot kunsten og dine medhackere.)

3. Kjedsomhet og ensformig arbeid er ondt.

Hackere (og kreative mennesker generelt) burde aldri oppleve kjedsomhet eller ensformig arbeid, fordi at når dette skjer betyr det at de ikke gjør hva kun de kan gjøre -- løse nye problemer. Dette er bortkastet og skader alle. Derfor er kjedsomhet og ensformig arbeid ikke bare uønsket, men faktisk ondt.

For å oppføre seg som en hacker, så må du tro dette nok til å automatisk ville sortere bort de kjedelige bitene i størst mulig grad, ikke bare for din egen del, men for alle andre også (spesielt andre hackere).

(Det er en åpenbar untagelse vedrørende dette. Hackere vil fra tid til annen gjøre ting som kan se ensformig eller kjedelig ut andre, som en øvelse i det å klarne tankene for å kunne lære noe eller tilegne seg en spesiell erfaring som ikke kan oppnås på annet vis. Men dette er valgt frivillig -- ingen som kan tenke burde bli tvunget inn i en situasjon som kjeder dem.)

4. Frihet er bra.

Hackere er naturlig anti-autoritære. Hvem som helst som kan gi deg ordrer kan stoppe deg fra å løse et hvilket osm helst problem som du er fascinert av -- og, tatt i betrakning hvordan en autoritær persons tankesett fungerer, vil generelt sett finne en virkelig dum grunn til å kunne gjøre så. Så den autoritære innstillingen må bli bekjempet hvor du nå enn måtte finne den, slik at det ikke kverker deg og andre hackere.

(Dette er da ikke det samme som å bekjempe all autoritet. Barn trenger å bli opplært og kriminelle holdes tilbake. En hacker er kanskje villig til å akseptere noen former for autoritet for å kunne skaffe seg noe han vil ha mer enn tiden han bruker på å følge etter ordre. Men det er en begrenset, bevisst handel; den slags personlig overgivelse, som autoritære ønsker, er ikke en mulighet.)

Autoritære liker seg godt med sensur og hemmeligheter. Og de har mistillit til frivillig samarbeid og deling av informasjon -- de kan bare like den form for "samarbeid", som de styrer selv. Så for å kunne oppføre seg som en hacker, må du kunne utvikle en instinktiv fiendlighet mot sensur, hemmerligheter, og bruken av makt eller bedrageri mot ansvarlige voksne. Og du må være villig til å reagere ut i fra den troen.

5. Holdning er ikke en erstatning for kompentanse.

For å kunne være en hacker, så må du utvikle noen av disse innstillingene. Men disse innstillingene alene gjør deg ikke til en hacker, akkurat som at det ikke vil gjøre deg til en toppidrettsstjerne eller en rockestjerne. Det å bli en hacker krever intelligens, øvelser, dedikering, og hardt arbeid.

Derfor vil du trenge å lære og ikke stole på innstillinger og respektere kompetanse av alle slag. Hackere vil ikke tillate at en påtatt innstilling kaster bort tiden deres, men de lovpriser kompetanse -- da især kompetanse innen hacking, men også kompetanse på et hvilket som helst område blir verdsatt. Kompetanse innen krevende ferdigheter som få kan mestre er spesielt bra, og kompetanse i krevende ferdigheter som innebærer psykisk styrke, dyktighet og konsentrasjon er best.

Hvis du ærer kompetanse, så vil du like å utvikle det i deg selv -- det harde arbeidet og dedikeringen vil bli en form for et intenst lek, snarere enn ensformig arbeid. Den innstillingen er vital for å kunne bli en hacker.

hacker emblem

Grunnleggende hackingferdigheter.

1. Lær deg å programmere.
2. Skaff deg et av åpen kildekode UNIX'ene og lær å bruke og kjøre det.
3. Lær deg å bruke internett og kode HTML.
4. Hvis du ikke har funksjonell engelsk, lær det.

Hackerholdningen er vital, men ferdigheter er enda mer vitalt. Innstilling er ingen erstatning for kompetanse, og det er et absolutt grunnleggende verktøy av ferdigheter du trenger før en hvilken som helst hacker vil drømme om å kalle deg en.

Dette verktøyet endres sakte over tid ettersom teknologi skaper nye ferdigheter og gjør eldre ubrukelige. For eksempel, det inkluderte gjerne programmering i maskinvaresspråk, og inkluderte ikke før nå nylig HTML. Men her og nå inkluderer det ganske klart følgende:

1. Lær å programmere.

Dette er, selvsagt, den mest grunnleggende hackingferdigheten. Hvis du ikke er kjent med programmeringsspråk anbefaler jeg å starte med Python. Det har rent design, er bra dokumentert, og er relativt grei mot nybegynnere. Til tross for at det er et bra språk å begynne med, så er det ikke utelukkende et leketøy; det er veldig kraftfullt og fleksibelt og velegnet til større prosjekter. Jeg har skrevet en mer detaljert vurdering av Python. Gode guider er tilgjengelig på Python's nettside.

Jeg pleide å anbefale Java som et bra språk å starte tidlig med, men denne kritikken har forandret min mening (søk etter "The Pitfalls of Java as a First Programming Language" inni det). En hacker kan ikke, som de humoristisk nok kaller det "approach problem-solving like a plumber in a hardware store"; du må vite hva komponentene faktisk gjør. Nå tror jeg at det beste sannsynligvis er å lære C og Lips først, og så Java.

Dersom du befinner deg innen seriøs programmering, så må du lære C, the viktigste språket i UNIX. C++ er nært relatert til C; dersom du kan ett av dem, så vil ikke det andre være særlig vanskelig. Ingen av dem er et bra språk å begynne å lære programmering i, dog. Og, faktisk, desto mer du klarer å unngå programmering i C desto mer produktiv vil du være.

C er veldig effektivt, og bruker veldig lite av din maskinvares ressurser. Dessverre så er C så effektivt ved å kreve at du utfører mye lavnivå behandling av ressurser (som minne) for hånd. All den lavnivå koden er kompleks og utsatt for feil, og vil ta opp mye av tiden du bruker på å luke ut feil. Med dagens maskiners kraft, så er dette som oftest et dårlig bytte -- det er smartere å bruke et språk som bruker maskinvarens tid mindre effektivt, men din tid mye mer effektivt. Derav, Python.

Andre språk av spesiell viktighet for hackere inkluderer Perl og LISP. Perl er verdt å lære seg av praktiske årsaker; det er veldig utbredt for aktive nettsider og systemadministrasjon, slik at om du aldri har skrevet Perl så burde du lære å lese det. Mange bruker Perl til det jeg foreslår å bruke Python til, til å unngå programmering i C til oppgaver som ikke krever C's maskinvareeffektivitet. Du vil behøve å være i stand til å forstå koden deres.

LISP er verdt å lære seg av en annen årsak -- den dypgående opplevelsen du vil få når du til slutt skjønner det. Den opplevelsen vil gjøre deg til en bedre programmerer for resten av livet, til og med på tross av at du kanskje aldri kommer til å benytte deg av LISP i noen særlig grad. (Du kan tilegne deg noen nybegynnererfaringer med LISP ganske lett med å skrive og modifisere redigeringsmuligheter for teksteditoren Emacs eller Script-Fu plugins for GIMP.)

Det beste er faktisk å lære alle fem av Python, C/C++, Java, Perl, og LISP. Ved siden av det å være de viktigste hacking språkene, så representerer de veldig forskjellige aspekter ved programmering, og hvert av dem vil lære deg noe verdifullt.

Men pass på at du vil ikke oppnå ferdighetsnivået til en hacker eller knapt en programmerer dersom du bare vet ett eller to språk -- du trenger å lære hvordan du skal tenke omkring problemer innen programmeringen på en generel måte, uavhengig av programmeringsspråket. For å virkelig kunne være en hacker, trenger du å komme deg til det punktet hvor du kan lære et nytt språk innen noen dager ved å benytte deg av hva som står i manualen i tillegg til det du vet fra før. Dette betyr at du burde lære flere veldig forskjellige språk.

Jeg kan ikke gi komplette instruksjoner på hvordan lære å programmere her -- det er en kompleks ferdighet. Men jeg kan fortelle deg at bøker og kurs ikke vil ha noe for seg (mange, kanskje mesteparten av de beste hackerene er selvlærte). Du kan lære språks egenskaper -- biter av kunnskap -- fra bøker, men tankesettet som gjør kunnskap til levende ferdigheter kan kun bli lært gjennom praktiske øvelser. Det som vil ha noe for seg er (a) lese kode og (b) skrive kode.

Peter Norvig, som er en av Google's beste hackere og medforfatter til den mest brukte instruksjonen om AI, har skrevet et fremragende essay ved tittel Teach Yourself Programming in Ten Years (Lær deg selv programmering i løpet av ti år). Hans "oppskrift til å lykkes med programmering" er verdt nøye oppmerksomhet.

Det å lære og programmere er som å lære å skrive bra morsmål. Det beste er å lese det skrevne ord av mestere av formen, skrive litt selv, les mye mer, skriv litt mer, les mye mer, skriv noe mer ... og repeter til det du skriver begynner å utvikle seg til en form for styrke og enkelthet du ser i modellene dine.

Det å finne god kode å lese kunne være ganske vanskelig, ettersom det var få store programmer tilgjengelig i form av kildekode for uerfarne hackere til å lese og prøve ut. Dette har endret dramatisk; åpen kildekode programvare, programmeringsverktøyer, og operativ systemer (alt bygget av hackere) er nå vidt tilgjengelig. Noe som bringer meg elegant over til vårt neste emne...

2. Skaff deg et av åpen kildekode UNIX'ene og lær å bruke og kjøre det.

Jeg går ut fra at du har en datamaskin eller at du kan få tilgang til en. (Sett av et øyeblikk til å være fornøyd med hvor lettvindt slikt er. Hacker kulturen startet tilbake da datamaskiner var så dyre at enkeltindivider ikke kunne eie dem.) Det viktigste skrittet en hvilken som helst nybegynner kan ta på vegen mot å tilegne seg hacker ferdigheter er å gå til anskaffelse av Linux eller en av BSD-variantene eller OpenSolaris, for så å installere det på en datamaskin, og kjøre det.

Ja, det er andre operativsystemer der ute i verden foruten UNIX. Men de blir distribuert i binærform -- du kan ikke lese koden, og du kan ikke modifisere den. Det å prøve å lære hacking på en Microsoft Windows datamaskin eller et annet lukket kildekode system er som å prøve å lære og danse mens du har rustning på deg.

Under Mac OS X så er det mulig, men bare en del av systemet er åpen kildekode -- du vil sannsynligvis møte på et hav av hindrende murer, og du må være påpasselig slik at du ikke utvikler den dårlige metoden det er å være avhengig av Apples lukkede kode. Hvis du konsentrerer deg om ditt UNIX-system, som er under hjelmen, kan du lære noe verdifullt.

UNIX er det operativsystemet brukt til å styre internett. Selv om du kan lære å bruke internett uten å ha kjennskap til UNIX, så kan du ikke være en internetthacker uten å forstå UNIX. På grunn av dette er hackerkulturen i dag ganske sterkt sentrert omkring UNIX. (Dette var ikke nødvendigvis tilfellet, og noen gammeldagse hackere er fremdeles ikke begeistret for det, men symbiosen mellom UNIX og internett har blitt sterk nok til at selv Microsofts muskel ikke ser ut til å kunne seriøst fortrenge det.)

Så, kjør opp UNIX -- Selv liker jeg Linux, men det finnes andre metoder (og ja, du kan kjøre både Linux og Microsoft Windows på en og samme datamaskin). Lær det. Kjør det. Lek med det. Snakk med internett via det. Les koden. Modifiser koden. Du vil få bedre programmeringsverktøyer (inkludert C, LISP, Python og Perl) enn et hvilket som helst Microsoft operativsystem kan drømme av å ha, og du vil få det gøy, og du vil tilegne deg mer kunnskap enn du trodde var mulig til du ser bakover på det som en mesterhacker.

For å lære mer om UNIX, se The Loginataka. Du vil kanskje også se på The Art Of UNIX Programming.

For å få fatt i Linux, se Linux Online!; du kan laste ned derfra eller (enda bedre) finne en lokal Linux brukergruppe som kan hjelpe deg med innstallasjonen. Fra en nybegynners perspektiv er alle Linux distribusjoner nokså like.

I løpet av de første 10 årene dette dokumentete eksisterte, skrev jeg at fra en nybegynners perspektiv at alle distribusjoner av Linux er omtrent like. Men i 2006-2007 ble det skapt et beste valg: . Mens andre distroer har deres egne sterke områder, er Ubuntu langt på veg den mest tilgjengelige for nybegynnere innen Linux.

Du kan finne hjelp til BSD UNIX, samt ressurser, på www.bsd.org.

Et bra nybegynnerskritt vil være å prøve å boote hvca Linuxfans kaller en live-CD, en distribusjon som kjører på CD uten at man trenger å modifisere harddisken. Dette vil gå tregt, ettersom CD-ROM er treg, men det er en måte å få se på mulighetene uten å gjøre noe drastisk.

Jeg har skrevet guide for nybegynnere om grunnleggende UNIX og internett.

Jeg pleide å anbefale å innstallere enten Linux eller BSD som et enkelt prosjekt dersom du er en nybegynner. Dog, nå til dags, innstallasjonsprosedyrene har blitt gode nok slik at å gjøre det helt på egen hånd er mulig selv for en nybegynner. Uansett, jeg anbefaler fremdeles å ta kontakt med din lokale Linux-brukergruppe og spør om hjelp. Det kan ikke skade, og kan gjøre hele prosessen enklere.j

3. Lær deg å bruke internett og kode HTML.

Mesteparten av det hackerkulturen har bygget arbeider i det stille, som å hjelpe med å kjøre fabrikker, kontorer og universiteter uten noen åpenbar innflytelse på hvordan ikke-hackere lever. Internett er det store unntaket, det store skinnende hackerleketøyet som til og med politikere har innrømmet at har endret verden. Utelukkende på grunnlag av denne dette (samt mangt andre gode) vil du trenge å lære hvordan arbeide med internett.

Dette betyr ikke bare å lære å kjøre en nettleser (som enhver kan gjøre), men å lære å skrive HTML, internetts viktigste språk. Dersom du ikke vet hvordan programmere, skrive HTML vil lære deg noen mentale vaner som vil hjelpe deg til å lære. Så bygg en hjemmeside. Prøv å hold deg til XHTML, som er et renere språk enn klassisk HTML. (Det er gode guider for nybegynnere tilgjengelig på internett; her er en av dem.)

Men bare det å ha en hjemmeside er langt fra godt nok til å gjøre det til en hacker. Internett er full av hjemmesider. Mesteparten av dem er meningsløst, innholdsløst dritt -- meget fjong dritt, vær oppmerksom på det, men like fullt dritt uansett (for mer informasjon om dette se The HTML Hell Page).

For å ha verdi, så trenger siden din innhold -- det må være interessant og/eller ha nytteverdi for andre hackere. Og det fører oss over til neste emne...

4. Hvis du ikke har funksjonell engelsk, lær det.

Som en Amerikaner med Engelsk som morsmål var jeg noe tilbakeholden med å foreslå dette, av frykt for at det kunne bli oppfattet som en form for kulturell imperialisme. Men flere med andre morsmål har bedt meg om å peke på at engelsk er det gjeldende språket til hackerkulturen og internett, og at du vil trenge å kunne det for å fungere i hackersamfunnet.

Tilbake til rundt 1991 lærte jeg at mange hackere som hadde engelsk som et andrespråk brukte det i tekniske diskusjoner til og med når de har det samme morsmål; jeg ble gjort oppmerksom på at engelsk hadde et rikere teknisk vokabular enn noe annet språk og er derfor et bedre egnet verktøy for jobben. Av lignende årsaker er oversettelser av tekniske bøker skrevet i engelsk ofte ikke tilfredsstillende (når de blir oversatt i det hele tatt).

Linus Torvalds, en finne, kommenterer koden sin på engelsk (tilsynelatende har det aldri fallet ham inn å gjøre noe annet). Hans flytende engelsk har vært en viktig faktor i det å kunne rekrutere et verdensomspennende samfunn av utviklere for Linux. Det er et eksempel vel verdt å følge etter.

Det å ha engelsk som morsmål garanterer ikke for at du vil ha språkkunnskaper nok til å fungere som en hacker. Hvis språket du skriver er forenklet, har gramatiske feil og er full av skrivefeil, så vil mange hackere (inkludert meg) finne på å ignorere deg. Samtidig som ufullstendig skriving ikke konsekvent trenger å bety ufullstendig tenkning, så har vi generelt sett hatt en ganske streng hovedregel -- og vi har ikke bruk for ufullstendige tenkere. Hvis du fortsatt ikke kan skrive skikkelig, lær det.

hacker emblem

Status i hacker kulturen.

1. Skriv åpen kildekode programvare.
2. Hjelp, test og feilsøk åpen kildekode programvare.
3. Publiser viktig informasjon.
4. Hjelp med å holde infrastrukturen i gang.
5. Tjen hacker kulturen i seg selv.

Som med de fleste kulturer uten økonomisk fundament kjører "hackerdommen" på omdømme. Du prøver å løse interessante problemer, men hvor interessante de er, og om dine løsninger er noe særlig gode, er noe som bare de som er like gode som deg eller enda bedre er i stand til å bedømme.

Så når du spiller hackerspillet lærer du å holde stillingen primært bassert på hva andre hackere synes om egenskapene dine (dette er årsaken til at du egentlig ikke er en hacker inntil andre hackere kaller deg en). Dette faktum overskygges av bildet av hacking som et ensomt prosjekt; også av et hackerkulturelt tabu (som gradvis har forsvunnet siden slutten av 1990-tallet men fremdeles eksisterer) mot å innrømme at egoet og andres aksept og anerkjennelse er innvolvert i motivasjonen en har overhodet.

Spesielt er "hackerdommen" hva antropologer kaller en gavekultur. Du får status og omdømme ved å ikke dominere over andre mennesker, ei heller ved å være vakker, ei heller ved å ha ting som andre vil ha, men heller ved å gi ting bort. Spesifisert, ved å gi bort tiden din, kreativiteten din, og alle resultater bassert på dine egenskaper.

Det er fem grunnleggende ting du kan gjøre for å bli respektert av hackere:

1. Skriv åpen kildekode programvare.

Det første (mest sentrale og mest tradisjonelle) er å skrive programvare som andre hackere synes er morsomme eller nyttige, og gi kildekoden til programvaren bort til hele hackerkulturen for videre bruk.

(Vi pleide å kalle disse arbeidene "free software", men dette forvirret for mange mennesker som ikke var sikker på hva "free" egentlig innebar. De fleste av oss foretrekker nå å heller bruke "open source" programvare.)

Hackerkulturens mest verdsatte nesten-guddommer er mennesker som har skrevet store, funksjonelle programvare som dekker et stort behov og gitt det bort, slik at alle kan bruke dem.

Men her er det litt av et stykke historisk poeng. Mens hackere alltid har sett opp til åpen kildekode utviklere blant dem, som vår kulturs hardeste kjerne, før midten av 1990-tallet jobbet de fleste hackere av den tiden på lukket kildekode. Dette var fremdeles sant da jeg skrev den første versjonen av dette dokumentet i 1996; åpen kildekode ble nødvendigvis allminneliggjort etter 1997 og forandret ting. I dag så er "hackerkulturen" og "åpen kildekode utviklere" to beskrivelser for hva som egentlig er den samme kulturen og beboere -- men det er verdt å huske at det ikke alltid var slik.

2. Hjelp, test og feilsøk åpen kildekode programvare.

De feilsøker også åpen kildekode programvare. I denne alt annet enn perfekte verdenen vil vi alltid bruke mesteparten av tiden vi bruker på å utvikle programvare til feilsøking-delen. Dette er runnen til at en hvilken som helst tenkende åpen kildekodeforfatter fortelle deg at gode beta-testere (som vet å beskrive symptomer klart, oppdage problemene raskt, kan tolerere feil på grunn av gjenvlige oppdateringer, og er villig til å ta i bruk noen få simple diagnostiseringsrutiner) er verdt sin vekt i gull. En alene av disse kan utgjøre forskjellen mellom en lang fase med feilsøkingingens mareritt og en som knapt er en plagsomhet.

Hvis du er en nybegynner, prøv å finn et program under utvikling som interesserer deg og vær en god beta-tester. Det er naturlig progresjon fra det å hjelpe med og teste programvare til å hjelpe og feilsøke dem til å hjelpe med og modifisere dem. Du vil lære mye på denne måten, og skaffe deg god karma hos mennesker som senere vil hjelpe deg.

3. Publiser viktig informasjon.

En annen god ting er å samle og filtrere nødvendog og interessant informasjon på nettsider eller dokumenter som lister Ofte Stilte Spørsmål (FAQ, på engelsk), og gjøre disse allment tilgjengelig.

Vedlikeholdere av store tekniske FAQer får nesten like mye respekt som åpen kildekodeforfattere.

4. Hjelp med å holde infrastrukturen i gang.

Hackerkulturen (og den tekniske utviklingen av internet, for den saks skyld) drives av frivillige. Det er mye nødvendig men uglamorøst arbeid som trenger å bli gjort for å holde det i gang -- administrere mailinglister, moderere nyhetsgrupper, vedlikeholde store arkiver til sider til programvare, utvikle RFC-dokumenter og andre tekniske standarder.

Folk som gjør dette vil få respekt, ettersom alle vet at disse jobbene krever mye tid og ikke er like gøy som å kode. Det å gjøre dem viser dedikering.

5. Tjen hacker kulturen i seg selv.

Til slutt, så kan du tjene og innovere kultiren i seg selv (ved å, for eksempel, skrive en konkret innføring i hvordan man kan bli en hacker :-)). Dette er ikke noe du vil være i stand til å gjøre inntil du har vært tilstede en stund og blitt velkjent med en av de fire første ting.

Hackerkulturen har ikke akkurat noen ledere, men den har kulturelle helter, eldstebrødre, historikere og talsmenn. Når du har vært i skyttergraven lenge nok vil du kanskje bli en av dem. Vær på vakt: hackere har misstillit til høyrøstete eldstebrødre, så det å synlig søke denne type berømmelse er farlig. Fremfor å streve etter den så må du stille deg slik at det faller naturlig for deg, og da være beskjeden og takknemmlig for statusen din.

hacker emblem

Hacker/Nerd-koblingen.

I motsetning til hva mange tror så trenger du ikke være en nerd for å bli hacker. Det kan riktignok være til hjelp, og mange hackere er nerder. Å være sosialt utenforstående hjelper deg med å forbli konsentrert om de virkelige viktige tingene, som å tenke og hacke.

Med dette til grunn har mange hackere tatt betegnelsen "nerd" og til og med den barskere termen "geek" med stolhet -- det er en måte å si at de er uavhengig av konvensjonelle sosiale forventinger.

Dersom du er i stand til å konsentrere deg nok omkring hackingen til at du blir god i det og fremdeles ha et liv, så er det fint. Dette er mye lettere i dag enn hva det var da jeg var en nybeginner i 1970-årene; mainstreamkulturen er mye mer positivt innstillt på technonerder i dag. Det er til og med et økdende nummer av folk som innser at hackere ofte er en høykvalitets kjærlighetsemne og samboeremne.

Dersom du føler deg tiltrukket av hacking fordi du ikke har et liv, så er det i orden det også -- i det minste vil du ikke ha problemer med å holde konsentrasjonen. Kanskje får du deg et liv senere.

hacker emblem

Stilkarakterer.

Igjen, for å være en hacker, så må du tilegne deg hackeres tankesett. Det er et par ting du kan gjøre når du ikke er ved datamaskinen din som ser ut til å hjelpe. De er ikke en erstatning for hacking (ingenting er) men mange hackere gjør dem, og føler at de på en grunnleggende måte tilkobles med essensen av hacking.

Desto mer av dette du alt gjør, desto større er sjangsen for at du er et naturlig hackermateriale. Hvorfor disse tingene spesielt er ikke helt klart, men det henger sammen med en blandet bruk av venstre - og høyredelen av hjernens egenskaper som ser ut til å være viktig; hackere må være i stand til å både tenke logisk og tré ut av den synlige logikk omkring et problem i løpet av et øyeblikk.

Jobb så hardt som du leker, og lek så hardt som du jobber. For ekte hackere vil grensene mellom "leke", "jobbe", "vitenskap" og "kunst" forsvinne etterhvert, eller smelte sammen til et høyere nivå av kreativ skøy. Og, ikke si deg fornøyd med et begrenset antall egenskaper. På tross av at de fleste hackere beskriver seg selv som programmerere, så er det veldig sannsynlig at de er kompetente i flere ulike relaterte funksjoner -- system administrasjon, webdesing, og PC hardware feilsøking er vanlige. En hacker som er en system administrator, på den andre siden, vil etter all sannsynlighet ha ganske gode kunnskaper om skriptprogrammering og webdesign. Hackere gjør ikke ting halvvegs; hvis de satser på en egenskap i det hele tatt så har de for vane å bli veldig god i det.

Til slutt et par ting å ikke gjøre:

Det eneste rykte du får av å gjøre disse tingene er at du er en tulling. Hackere har god hukommelse -- det kan ta årevis å dekke over dine tidlige feilskritt nok til å bli akseptert.

Problemet med loginnavn eller kallenavn fortjener noe utdypning. Å skjule identiteten din bak et kallenavn er umoden og tåpelig oppførsel som er karakteristisk for crackere, warez d00dz, og andre lavere livsformer. Hackere gjør ikke dette; de er stolte av det de gjør og vil at det skal assosieres med deres virkelige navn. Så dropp kallenavnet om du har et. I hackerkulturen vil det bare stemple deg som en taper.

hacker emblem

Andre ressurser.

Paul Graham har skrevet et essay kallet Great Hackers, og et annet om Undergraduation, hvor han sier mye klokt.

Peter Seebach vedlikeholder en fremragende Hacker FAQ for ledere som ikke vet hvordan de skal håndtere hackere.

Det er et dokument kallet How To Be A Programmer som et er glimrende suplement til dette. Det inneholder verdifulle råd, ikke bare om koding og kunnskapsøkning, men om hvordan fungere i et programmeringsteam.

Jeg har også skrevet A Brief History Of Hackerdom.

Jeg har en artikkel, The Cathedral and the Bazaar, som forklarer mye omkring hvordan Linux og åpen kildekodekulturen virker. Jeg har skrevet enda mer direkte om dette temaet i etterfølgeren Homesteading the Noosphere.

Rick Moen har skrevet et fabelaktig dokument om hvordan drive en Linux brukergruppe.

Rick Moen og jeg har samarbeidet om et annet dokument i How To Ask Smart Questions. Dette vil hjelpe deg i å søke assistanse på en måte som gjør det mer sannsynlig at du faktisk vil få det.

Dersom du trenger instruksjoner i grunnleggende ferdighet om hvordan bruke datamaskin, UNIX, og hvordan internett fungerer, se The UNIX and Internet Fundamentals HOWTO.

Når du gir ut programvare eller skrifter patch for programvare, så bør du prøve å følge retningslinjene i the Software Release Practice HOWTO.

Dersom du likte Zen-diktet vil du kanskje også like Rootless Root: The UNIX Koans of Master Foo.

hacker emblem

Frequently Asked Questions (Ofte Stilte Spørsmål).

Q: Hvordan kan jeg vite om jeg alt er en hacker?
Q: Vil du lære meg hvordan jeg kan hacke?
Q: Hvordan kan jeg starte, da?
Q: Når må man starte? Er det for sent for meg å lære
Q: Hvor lang tid vil det ta meg å lære hacking??
Q: Er Visual Basic eller C# bra språk å starte med?
Q: Vil du hjelpe meg med å cracke et system, eller lære meg å cracke?
Q: Hvordan kan jeg få passordet til noen andres konto?
Q: Hvordan kan jeg bryte inn/lese/overvåke noen andres e-post?
Q: Hvordan kan jeg stjele kanaloperatørstatus på IRC?
Q: Jeg har blitt cracket. Vil du hjelpe meg med å beskytte meg mot ytterligere crackangrep?
Q: Jeg har problemer med Windowsprogramvare. Vil du hjelpe meg?
Q: Hvor kan jeg finne noen virkelige hackere å snakke med?
Q: Kan du anbefale noen hjelpsomme bøker om hackingrelaterte emner?
Q: Trenger jeg å være god i mattematikk for å bli en hacker?
Q: Hvilket språk bør jeg lære først?
Q: Hvilken hardware trenger jeg?
Q: Jeg vil delta. Kan du hjelpe meg med et problem jeg kan jobbe med?
Q: Trenger jeg å hate og latterliggjøre Microsoft?
Q: Men vil ikke åpen kildekodeprogramvare gjøre programmerere ute av stand til å overleve?
Q: Hvordan kan jeg begynne? Hvor kan jeg få et fritt UNIX?

Q: Hvordan kan jeg vite om jeg alt er en hacker?
A: Spør deg selv de følgende tre spørsmål:

Dersom du kan svare ja til alle disse spørsmålene så er du alt en hacker. To alene er ikke nok.

Den første testen handler om kunnskaper. Du passerer den trolig om du har de minimyme tekniske kunnskaper som tidligere beskrevet i dette dokumentet. Du suser rett gjennom dersom du har hatt en betydelig mengde kode akseptert av et åpen kildekode prosjekt.

Den andre testen handler om innstilling. Hvis de fem prinsipper om hacker tankesettet virker opplagt for deg, mer som en beskrivelse av måten du alt lever på enn som noe annerledes, da er du alt halvvegs i å passere den. Det er den indre halvdel; den andre, utvendige halvdel er graden du idenfigiserer deg med hacker kulturens langvarige prosjekter.

Her er en ufullstendig men relatert liste av noen slike prosjekter: Betyr det noe for deg at Linux forbedres og utbredes? Brenner du for frihet innen programvare? Fiendlighet mot monopol? Handler du i troen om at datamaskiner kan være instrumenter som kan forbedre verden og gjøre den til et rikere og mer humant sted?

En liten advarsel er verdt å ta med her. Hackerkulturen har noen spesifikke, primært deffensive politiske interesser -- to av dem er å forsvare ytringsfrihet og unngå "intellektuell eiendom"-jerngrepet som vil gjøre åpen kildekode ulovlig. Noen av disse langvarige prosjektene er sivile rettigheter organisasjoner som Electronic Frontier Foundation, og den synlige innstilling inkluderer passende nok å støtte dem. Bortsett fra det, de fleste hackere vil prøve å systematisere hackerinnstillingen til et klart politisk program med misstenksomhet; vi har lært, den harde vegen, at disse forsøkene er konfliktskapende og leder til at man mister fokuset. Hvis noen prøver å rekrutere deg til å marsjere til rettslokale i hackerinnstillingens navn, så har de missforstått poenget. Den riktige responsen er trolig learned, the hard way, that these attempts are divisive and distracting. If someone tries to recruit you to march on your capitol in the name of the hacker attitude, they've missed the point. The right response is probably "Hold kjeft og vis dem koden".

Den tredje testen har et finurlig gjentakende ellement ved seg. Jeg la merke til at seksjonen kallet "Hva er en hacker?" at det å være en hacker hovedsakelig er et spørsmål om å høre til en spesiell subkultur eller sosialt netverk med delt historie, en inside og en utside. For lenge siden var hackere mye mindre sammenholdt gruppe og selvobservante enn de er i dag. Men viktigheten av aspektet av det sosiale nettverket har øket over de siste tretti år, etter som internett har skapt koblinger med kjernen av hackersubkulturen som gjør det lettere å utvikle og vedlikeholde. En lett forandring å peke på er at i vårt tiår har vi våre egne t-skjorter.

Sosiologer som studerer nettverk som de i hackerkulturen under kategorien "usynlige fakulteter", har merket at et karakteristisk trekk ved slike nettverk er at de har dørvoktere -- medlemmer i kjernen med sosial autoritet og plassere nye medlemmer i nettverket. Fordi det "usynlige fakultetet" som er hackerkulturen er et løst og uformelt ett, så er rollen til dørvakten også uformell. Men en ting som alle hackere virkelig forstår er at ikke enhver hacker er en dørvakt. Dørvakter må ha en viss grad av aldersvisdom og suksess før de kan bestå tittelen. Hvor mye er vanskelig å si, men enhver hacker vet det når de ser det.

Q: Vil du lære meg hvordan jeg kan hacke?
A: Siden den første publisering av denne siden har jeg fått flere etterspørseler i uken (ofte flere samme dag) fra folk om å "lær meg alt om hacking". Dessverre har jeg ikke tid og energi til dette; mine egne hackingprosjekter, og jobbe som en åpen kildekodeforkjemper, tar opp 110% av tiden min.

Selv om jeg hadde, hacking er en holdning og en kunnskap du hovedsakelig må lære deg selv. Du vil finne ut at samtidig som virkelige hackere vil hjelpe deg, så vil de ikke respektere deg hvis du ber om å bli matet med en teskje av dem.

Lær et par ting først. Vis at du prøver, at du er i stand til å lære på egen hånd. Deretter gå til hackerene du møter med spesifikke spørsmål.

Dersom du sender e-post til en hacker og spør for råd, så følger to ting man bør vite på forhånd. For det første, vi har funnet ut at folk som er late og unøysomme i skrivemåten vanligvis er late og unøysomme i deres tenkning til å bli gode hackere -- så pass godt på å skriv korrekt, og bruk god gramatikk og tegnsetting, ellers vil du mest sannsynlig bli ignorert. For det andre, ikke våg å spør om tilbakemelding til en ISP-konto som er annerledes fra kontoen du sender fra; vi vet at folk som gjør dette vanligvis er tyver som bruker stjålen konto, og vi har ingen interesse av å belønne eller assistere tyveri.

Q: Hvordan kan jeg starte, da?
A: Den beste måten for deg å komme i gang på er mest sannsynlig å oppsøke et LUG (Linux brukergruppe) møte. Du kan finne slike grupper på LDP General Linux Information Page; det er etter all sannsynlighet en nær deg, muligens tilknyttet til en videregående skole eller universitet. LUG-medlemmer vil mest sannsynlig kunne gi deg Linux om du spør, og vil gjerne hjelpe deg med å innstallere ett og komme i gang.

Q: Når må man starte? Er det for sent for meg å lære?
A: En hvilken som helst alder når du er motivert til å starte er en bra alder. De fleste mennesker ser ut til å bli interessert mellom alderen 15 og 20, men jeg kjenner til unntak i begge retninger.

Q: Hvor lang tid vil det ta meg å lære hacking?
A: Det kommer an på hvor talentfull du er og hvor hardt du jobber med det. De fleste kan skaffe seg et respektabelt sett med kunnskaper innen atten måneder til to år, om de konsentrerer. Men ikke tro at det ender der, dog; når man hacker (som med mange andre områder) tar det om lag ti år å oppnå fullstendig mestring. Dersom du er en ordentlig hacker, så vil du bruke resten av livet ditt til å finpusse styrken din.

Q: Er Visual Basic eller C# bra språk å starte med?
A: Hvis du spør dette spørsmålet så betyr det nesten sikkert at du tenker på å prøve og hacke under Microsoft Windows. Dette er en dårlig idé i seg selv. Da jeg sammenlignet å prøve og hacke under Windows med å prøve og lære å danse mens jeg har på rustning, så tullet jeg ikke. Ikke gå dit. Det er stygt, og det slutter aldri med å være stygt.

Det er spesifikke problemer med Visual Basic; hovedsakelig at det ikke er portabelt. Riktignok er det prototype åpen kildekodeimplementasjon av Visual Basic, men den relevante ECMA standarden dekker ikke mer enn et lite sett av programmeringsgrensesnittet deres. På Windows er mesteparten av biblioteksstøtten deres lukket til en bruker (Microsoft); hvis du ikke er ekstremt forsiktig med hvilke funksjoner du bruker -- mer forsiktig enn en hvilken som helst nybegynner har mulighet for å være -- så vil du ende opp lukket inni kun de platformer Microsoft velger å støtte. Hvis du starter på UNIX så er det mye bedre språk med bedre biblioteker tilgjengelig. Python, for eksempel.

Som andre Basicbasserte programmeringsspråk er Visual Basic et dårlig designet språk som vil lære deg dårlige programmeringsrutiner. Nei, ikke spør meg om å beskrive dem i detalj; den forklaringen kunne fylle en bok. Lær et godt designet språk istedet.

En av disse dårlige rutinene er å bli avhenging av en enkel leverandørs biblioteker, artikler og utviklingsverktøy. Generelt sett så er et hvilket som helst språk som ikke er støttet fullt ut under i det minste Linux eller en av BSDene, og/eller i det minste tre forskjelige leverandører av operativsystemer, et dårlig til å lære hacking i.

Q: Vil du hjelpe meg med å cracke et system, eller lære meg å cracke?
A: Nei. Alle som fremdeles kan spør et slikt spørsmål etter å ha lest denne FAQen vil være for dum til å være lærevillig selv om jeg hadde hatt tid til tortur. Alle e-post etterlysning av dette slaget som jeg mottar vil bli ignorert eller besvart med ekstrem frekkhet.

Q: Hvordan kan jeg få passordet til noen andres konto?
A: Dette er cracking. Gå bort, idiot.

Q: Hvordan kan jeg bryte inn/lese/overvåke noen andres e-post?
A: Dette er cracking. Stikk, din tosk.

Q: Hvordan kan jeg stjele kanaloperatørstatus på IRC?
A: Dette er cracking. Forsvinn, ditt fjols.

Q: Jeg har blitt cracket. Vil du hjelpe meg med å beskytte meg mot ytterligere crackangrep?
A: Nei. Hver gang jeg har blitt spurt dette spørsmålet så langt, har det vært fra en stakkarslig person som kjører Microsoft Windows. Det er ikke mulig å effektivt sikre Windowssystemer mot crackangrep; koden og arkitekturen har enkelt og greit for mange feil, noe som gjør det å sikre Windows som å fjerne vannet fra en båt med en øse. Den eneste sikre beskyttelsen starter med å gå over til Linux eller et annet operativ system som i det minste er designet til å kunne ha sikkerhet.

Q: Jeg har problemer med Windowsprogramvare. Vil du hjelpe meg?
A: Ja. Gå til MS-DOS ledetekst og skriv "format c:". Alle problemer du har vil forsvinne i løpet av et par minutter.

Q: Hvor kan jeg finne noen virkelige hackere å snakke med?
A: Det beste er å finne en lokal UNIX eller Linux brukergruppe og gå på møtene deres (du kan finne linker til flere lister over brukergrupper på LDPsiden på ibiblio).

(Jeg pleide å si her at du ikke ville finne virkelige hackere på IRC, men jeg begynner å forstå at dette forandres. Det virker som at virkelige hackergrupperinger, som driver med ting som GIMP og Perl, nå har IRC-kanaler.)

Q: Kan du anbefale noen hjelpsomme bøker om hackingrelaterte emner?
A: Jeg vedlikeholder Linux Reading List HOWTO som du kanskje finner hjelpsom. The Loginataka kan også være av interesse.

For en introduksjon til Python, se introduksjonsmaterialet på Pythons nettside.

Q: Trenger jeg å være god i mattematikk for å bli en hacker?
A: Nei. Hacking krever veldig lite grunnleggende mattematikk eller regning. Spesielt vil du sjelden ha bruk for geometri, integralregning eller matematisk analyse (det er noen unntak til dette i en håndfull spesifikk programvareområder, som 3Dgrafikk). Å kunne noe grunnleggende logikk og boolsk algebgra er en bra ting. Grunnleggende kunnskaper innen terminal mattematikk (inkludert terminal-sett teori, kombinatorikk, and grafiske fremstillinger) kan være til hjelp.

Enda mer viktig: du trenger å være i stand til å tenke logisk og følge kjeder av nøyaktig resonering, slik som mattematikere gjør. Mens innholder av de fleste mattematikker ikke vil hjelpe deg, vil du trenge disiplin og intelligens til å håndtere mattematikk. Om du mangler intelligense, er det lite håp for deg som en hacker; hvis du mangler disiplin, bør du øke det.

Jeg synes en god måte å finne ut om du har hva som skal til er å gå til anskaffelse av Raymond Smullyans bok What Is The Name Of This Book?. Smullyans morsomme logiske paradokser er meget tilstedeværende i hackerånden. Å være i stand til å løse dem er et godt tegn; det å like å løse dem er et enda bedre.

Q: Hvilket språk bør jeg lære først?
A: XHTML (den siste dialekten av HTML) hvis du ikke alt kjenner til den. Det finnes flere blankpollerte, oppbrukte og dårlige HTML-bøker der ute, og skuffende få gode. Den jeg liker best er HTML: The Definitive Guide.

Men HTML er ikke fullt ut et programmeringsspråk. Når du er klar til å begynne med programmering anbefaler jeg å starte med Python. Du vil høre at mange anbefaler Perl, og Perl er fremdeles mer populært enn Python, men det er vanskeligere å lære og (etter min mening) mindre veldesignet.

C er veldig viktig, men det er da også vanskeligere enn både Python og Perl. Ikke prøv å lær det først.

Windowsbrukere bør ikke innvolvere seg i Visual Basic. Det vil lære deg dårlige rutiner, og det er ikke portabelt utover Windows. Unngå det.

Q: Hvilken hardware trenger jeg?
A: Tidligere var det slik at personlige datamasiner hadde lite kraft og dårlig minne, nok til at de skapte kunstige begrensinger i en hackers læringsprosess. Dette sluttet å være gjeldende sannhet i midten av 1990-tallet; en hvilken som helst datamaskin fra en Intel 486DX50 og oppover er mer enn nok kraftig til utviklingsarbeid, X, internettkommunikasjon, og de minste harddisker du kan kjøpe i dag holder i massevis.

Det som er viktig når man velger en datamaskin til opplæringsbruk er om den er Linuxkompatibel (eller BSDkompatibel, om du velger den retningen). Igjen, dette vil være sant for de fleste moderne datamaskiner. Det eneste virkelige problemer her er modemer; noen datamaskiner har Windowsspesifikk hardware som ikke vil kjøre under Linux.

Det finnes en FAQ vedrørende hardwarekompabilitet; den siste versjonen finnes her.

Q: Jeg vil delta. Kan du hjelpe meg med et problem jeg kan jobbe med?
A: Nei, ettersom jeg ikke kjenner til dine talenter og interesser. Du må være selvmotivert, ellers vil du ikke holde ut, noe som er grunnen til at å få andre til å velge din retning sjelden virker.

Prøv dette. Observer prosjektannonseringene på Freshmeat over noen dager. Når du ser et prosjekt og tenker "Tøft! Dette kan jeg tenke meg å jobbe på!", delta på det.

Q: Trenger jeg å hate og latterliggjøre Microsoft?
A: Nei, det trenger du ikke. Ikke det at Microsoft ikke er teit, men det var en hackerkultur lenge før Microsofts tid og det vil fremdeles være en i lang tid etter at Microsoft er historie. All energi du bruker på å hate Microsoft bør heller brukes på å forbedre styrken din. Skriv god kode -- noe som vil latterligghøre Microsoft betydelig uten at det går utover din karma.

Q: Men vil ikke åpen kildekodeprogramvare gjøre programmerere ute av stand til å overleve?
A: Det virker usannsynlig -- så langt, ettersom åpen kildekoeprogramvareindustrien ser ut til å skape jobber fremfor å fjerne dem. Hvis det er en økonomisk gevinst ved å ha skrevet et program fremfor å ikke ha skrevet det, vil en programmerer bli betalt uansett om programmet er åpen kildekode når det er ferdig utviklet. Og uansett hvor mye "fri" programvare som blir skrevet vil det alltid være behov for noe og spesialisert programvare. Dette har jeg skrevet mer om på Open Source-sidene.

Q: Hvordan kan jeg begynne? Hvor kan jeg få et fritt UNIX?
A: Dersom du leter etter et førsteprosjekt, ikke spør meg om et. Istedet, gå og se på lanseringsannonseringene på Freshmeat etter et prosjekt som ser interessant ut for deg, og delta i det.

Hvis du ikke engang har et UNIX installert på datamaskinen din enda, så har jeg skrevet pekere andre steder på denne siden om hvordan du kan skaffe de vanligste brukte frie UNIX-systemer. For å være en hacker så trenger du motivasjon og initiativ og evnen til å utdanne deg selv. Start nå...


Valid HTML 4.01!