Vous êtes sur la page 1sur 19

13/06/2016

HowToBecomeAHacker

HowToBecomeAHacker
EricStevenRaymond
ThyrsusEnterprises
<esr@thyrsus.com>

Copyright2001EricS.Raymond
RevisionHistory
Revision1.50
19July2015
esr
Addedlinkto"Let'sGoLarval".
Revision1.49
21November2014
esr
Addedlinkto"HowToLearnHacking".
Revision1.48
19June2014
esr
freshmeat/freecodeisdead,alas.
Revision1.47
20May2014
esr
Fixupvariousstalelinks.Joinahackerspace!
Revision1.46
25Sep2013
esr
Addmicropatronageexplanationandgittiplink.Whyyoushouldnotaskmeforadviceonhowtogetstarted.
Revision1.45
12May2013
esr
OpenSolarisisn't,andUnityscrewedthepooch.
Revision1.44
20May2012
esr
UpdatedthecritiqueofJava.
Revision1.43
07Feb2011
esr
PythonpassedPerlinpopularityin2010.
Revision1.42
22Oct2010
esr
Added"Historicalnote".
Revision1.40
3Nov2008
esr
Linkfixes.
Revision1.39
14Aug2008
esr
Linkfixes.
Revision1.38
8Jan2008
esr
DeprecateJavaasalanguagetolearnearly.
Revision1.37
4Oct2007
esr
RecommendUbuntuasaUnixdistrofornewbies.
TableofContents
WhyThisDocument?
WhatIsaHacker?
TheHackerAttitude
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

1/19

13/06/2016

HowToBecomeAHacker

1.Theworldisfulloffascinatingproblemswaitingtobesolved.
2.Noproblemshouldeverhavetobesolvedtwice.
3.Boredomanddrudgeryareevil.
4.Freedomisgood.
5.Attitudeisnosubstituteforcompetence.
BasicHackingSkills
1.Learnhowtoprogram.
2.GetoneoftheopensourceUnixesandlearntouseandrunit.
3.LearnhowtousetheWorldWideWebandwriteHTML.
4.Ifyoudon'thavefunctionalEnglish,learnit.
StatusintheHackerCulture
1.Writeopensourcesoftware
2.Helptestanddebugopensourcesoftware
3.Publishusefulinformation
4.Helpkeeptheinfrastructureworking
5.Servethehackercultureitself
TheHacker/NerdConnection
PointsForStyle
HistoricalNote:Hacking,OpenSource,andFreeSoftware
OtherResources
FrequentlyAskedQuestions

WhyThisDocument?
AseditoroftheJargonFileandauthorofafewotherwellknowndocumentsofsimilarnature,Ioftengetemail
requestsfromenthusiasticnetworknewbiesasking(ineffect)"howcanIlearntobeawizardlyhacker?".Back
in1996Inoticedthattheredidn'tseemtobeanyotherFAQsorwebdocumentsthataddressedthisvital
question,soIstartedthisone.Alotofhackersnowconsideritdefinitive,andIsupposethatmeansitis.Still,I
don'tclaimtobetheexclusiveauthorityonthistopicifyoudon'tlikewhatyoureadhere,writeyourown.
Ifyouarereadingasnapshotofthisdocumentoffline,thecurrentversionlivesat
http://catb.org/~esr/faqs/hackerhowto.html.
Note:thereisalistofFrequentlyAskedQuestionsattheendofthisdocument.Pleasereadthesetwice
beforemailingmeanyquestionsaboutthisdocument.
Numeroustranslationsofthisdocumentareavailable:ArabicBelorussianBulgarianChinese,DanishDutch
EstonianFrenchGerman,GreekItalianHebrew,JapaneseLithuanianNorwegian,PersianPolishPortuguese
(Brazilian),RomanianSpanish,Turkish,andSwedish.Notethatsincethisdocumentchangesoccasionally,they
maybeoutofdatetovaryingdegrees.
Thefivedotsinninesquaresdiagramthatdecoratesthisdocumentiscalledaglider.Itisasimplepatternwith
somesurprisingpropertiesinamathematicalsimulationcalledLifethathasfascinatedhackersformanyyears.I
thinkitmakesagoodvisualemblemforwhathackersarelikeabstract,atfirstabitmysteriousseeming,but
agatewaytoawholeworldwithanintricatelogicofitsown.Readmoreabouttheglideremblemhere.
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

2/19

13/06/2016

HowToBecomeAHacker

Ifyoufindthisdocumentvaluable,pleasesupportmeonPatreon.Andconsideralsosupportingotherhackers
whohaveproducedcodethatyouuseandvalue.Lotsofsmallbutcontinuingdonationsaddupquickly,andcan
freethepeoplewhohavegivenyougiftsoftheirlabortocreatemorevalue.

WhatIsaHacker?
TheJargonFilecontainsabunchofdefinitionsofthetermhacker,mosthavingtodowithtechnicaladeptness
andadelightinsolvingproblemsandovercominglimits.Ifyouwanttoknowhowtobecomeahacker,though,
onlytwoarereallyrelevant.
Thereisacommunity,asharedculture,ofexpertprogrammersandnetworkingwizardsthattracesitshistory
backthroughdecadestothefirsttimesharingminicomputersandtheearliestARPAnetexperiments.The
membersofthiscultureoriginatedthetermhacker.HackersbuilttheInternet.HackersmadetheUnix
operatingsystemwhatitistoday.HackersmaketheWorldWideWebwork.Ifyouarepartofthisculture,ifyou
havecontributedtoitandotherpeopleinitknowwhoyouareandcallyouahacker,you'reahacker.
Thehackermindsetisnotconfinedtothissoftwarehackerculture.Therearepeoplewhoapplythehacker
attitudetootherthings,likeelectronicsormusicactually,youcanfinditatthehighestlevelsofanyscience
orart.Softwarehackersrecognizethesekindredspiritselsewhereandmaycallthemhackerstooandsome
claimthatthehackernatureisreallyindependentoftheparticularmediumthehackerworksin.Butintherestof
thisdocumentwewillfocusontheskillsandattitudesofsoftwarehackers,andthetraditionsoftheshared
culturethatoriginatedthetermhacker.
Thereisanothergroupofpeoplewholoudlycallthemselveshackers,butaren't.Thesearepeople(mainly
adolescentmales)whogetakickoutofbreakingintocomputersandphreakingthephonesystem.Realhackers
callthesepeoplecrackersandwantnothingtodowiththem.Realhackersmostlythinkcrackersarelazy,
irresponsible,andnotverybright,andobjectthatbeingabletobreaksecuritydoesn'tmakeyouahackerany
morethanbeingabletohotwirecarsmakesyouanautomotiveengineer.Unfortunately,manyjournalistsand
writershavebeenfooledintousingthewordhackertodescribecrackersthisirritatesrealhackersnoend.
Thebasicdifferenceisthis:hackersbuildthings,crackersbreakthem.
Ifyouwanttobeahacker,keepreading.Ifyouwanttobeacracker,goreadthealt.2600newsgroupandget
readytodofivetotenintheslammerafterfindingoutyouaren'tassmartasyouthinkyouare.Andthat'sallI'm
goingtosayaboutcrackers.

TheHackerAttitude
1.Theworldisfulloffascinatingproblemswaitingtobesolved.
2.Noproblemshouldeverhavetobesolvedtwice.
3.Boredomanddrudgeryareevil.
4.Freedomisgood.
5.Attitudeisnosubstituteforcompetence.
Hackerssolveproblemsandbuildthings,andtheybelieveinfreedomandvoluntarymutualhelp.Tobe
acceptedasahacker,youhavetobehaveasthoughyouhavethiskindofattitudeyourself.Andtobehaveas
thoughyouhavetheattitude,youhavetoreallybelievetheattitude.
Butifyouthinkofcultivatinghackerattitudesasjustawaytogainacceptanceintheculture,you'llmissthe
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

3/19

13/06/2016

HowToBecomeAHacker

point.Becomingthekindofpersonwhobelievesthesethingsisimportantforyouforhelpingyoulearnand
keepingyoumotivated.Aswithallcreativearts,themosteffectivewaytobecomeamasteristoimitatethe
mindsetofmastersnotjustintellectuallybutemotionallyaswell.
Or,asthefollowingmodernZenpoemhasit:
Tofollowthepath:
looktothemaster,
followthemaster,
walkwiththemaster,
seethroughthemaster,
becomethemaster.
So,ifyouwanttobeahacker,repeatthefollowingthingsuntilyoubelievethem:

1.Theworldisfulloffascinatingproblemswaitingtobesolved.
Beingahackerislotsoffun,butit'sakindoffunthattakeslotsofeffort.Theefforttakesmotivation.
Successfulathletesgettheirmotivationfromakindofphysicaldelightinmakingtheirbodiesperform,in
pushingthemselvespasttheirownphysicallimits.Similarly,tobeahackeryouhavetogetabasicthrillfrom
solvingproblems,sharpeningyourskills,andexercisingyourintelligence.
Ifyouaren'tthekindofpersonthatfeelsthiswaynaturally,you'llneedtobecomeoneinordertomakeitasa
hacker.Otherwiseyou'llfindyourhackingenergyissappedbydistractionslikesex,money,andsocialapproval.
(Youalsohavetodevelopakindoffaithinyourownlearningcapacityabeliefthateventhoughyoumaynot
knowallofwhatyouneedtosolveaproblem,ifyoutacklejustapieceofitandlearnfromthat,you'lllearn
enoughtosolvethenextpieceandsoon,untilyou'redone.)

2.Noproblemshouldeverhavetobesolvedtwice.
Creativebrainsareavaluable,limitedresource.Theyshouldn'tbewastedonreinventingthewheelwhenthere
aresomanyfascinatingnewproblemswaitingoutthere.
Tobehavelikeahacker,youhavetobelievethatthethinkingtimeofotherhackersisprecioussomuchso
thatit'salmostamoraldutyforyoutoshareinformation,solveproblemsandthengivethesolutionsawayjust
sootherhackerscansolvenewproblemsinsteadofhavingtoperpetuallyreaddressoldones.
Note,however,that"Noproblemshouldeverhavetobesolvedtwice."doesnotimplythatyouhavetoconsider
allexistingsolutionssacred,orthatthereisonlyonerightsolutiontoanygivenproblem.Often,welearnalot
abouttheproblemthatwedidn'tknowbeforebystudyingthefirstcutatasolution.It'sOK,andoftennecessary,
todecidethatwecandobetter.What'snotOKisartificialtechnical,legal,orinstitutionalbarriers(likeclosed
sourcecode)thatpreventagoodsolutionfrombeingreusedandforcepeopletoreinventwheels.
(Youdon'thavetobelievethatyou'reobligatedtogiveallyourcreativeproductaway,thoughthehackersthat
doaretheonesthatgetmostrespectfromotherhackers.It'sconsistentwithhackervaluestosellenoughofitto
keepyouinfoodandrentandcomputers.It'sfinetouseyourhackingskillstosupportafamilyorevengetrich,
aslongasyoudon'tforgetyourloyaltytoyourartandyourfellowhackerswhiledoingit.)

3.Boredomanddrudgeryareevil.
Hackers(andcreativepeopleingeneral)shouldneverbeboredorhavetodrudgeatstupidrepetitivework,
becausewhenthishappensitmeanstheyaren'tdoingwhatonlytheycandosolvenewproblems.This
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

4/19

13/06/2016

HowToBecomeAHacker

wastefulnesshurtseverybody.Thereforeboredomanddrudgeryarenotjustunpleasantbutactuallyevil.
Tobehavelikeahacker,youhavetobelievethisenoughtowanttoautomateawaytheboringbitsasmuchas
possible,notjustforyourselfbutforeverybodyelse(especiallyotherhackers).
(Thereisoneapparentexceptiontothis.Hackerswillsometimesdothingsthatmayseemrepetitiveorboringto
anobserverasamindclearingexercise,orinordertoacquireaskillorhavesomeparticularkindofexperience
youcan'thaveotherwise.Butthisisbychoicenobodywhocanthinkshouldeverbeforcedintoasituation
thatboresthem.)

4.Freedomisgood.
Hackersarenaturallyantiauthoritarian.Anyonewhocangiveyouorderscanstopyoufromsolvingwhatever
problemyou'rebeingfascinatedbyand,giventhewayauthoritarianmindswork,willgenerallyfindsome
appallinglystupidreasontodoso.Sotheauthoritarianattitudehastobefoughtwhereveryoufindit,lestit
smotheryouandotherhackers.
(Thisisn'tthesameasfightingallauthority.Childrenneedtobeguidedandcriminalsrestrained.Ahackermay
agreetoacceptsomekindsofauthorityinordertogetsomethinghewantsmorethanthetimehespends
followingorders.Butthat'salimited,consciousbargainthekindofpersonalsurrenderauthoritarianswantis
notonoffer.)
Authoritariansthriveoncensorshipandsecrecy.Andtheydistrustvoluntarycooperationandinformation
sharingtheyonlylikecooperationthattheycontrol.Sotobehavelikeahacker,youhavetodevelopan
instinctivehostilitytocensorship,secrecy,andtheuseofforceordeceptiontocompelresponsibleadults.And
youhavetobewillingtoactonthatbelief.

5.Attitudeisnosubstituteforcompetence.
Tobeahacker,youhavetodevelopsomeoftheseattitudes.Butcoppinganattitudealonewon'tmakeyoua
hacker,anymorethanitwillmakeyouachampionathleteorarockstar.Becomingahackerwilltake
intelligence,practice,dedication,andhardwork.
Therefore,youhavetolearntodistrustattitudeandrespectcompetenceofeverykind.Hackerswon'tletposers
wastetheirtime,buttheyworshipcompetenceespeciallycompetenceathacking,butcompetenceatanything
isvalued.Competenceatdemandingskillsthatfewcanmasterisespeciallygood,andcompetenceat
demandingskillsthatinvolvementalacuteness,craft,andconcentrationisbest.
Ifyoureverecompetence,you'llenjoydevelopingitinyourselfthehardworkanddedicationwillbecomea
kindofintenseplayratherthandrudgery.Thatattitudeisvitaltobecomingahacker.

BasicHackingSkills
1.Learnhowtoprogram.
2.GetoneoftheopensourceUnixesandlearntouseandrunit.
3.LearnhowtousetheWorldWideWebandwriteHTML.
4.Ifyoudon'thavefunctionalEnglish,learnit.
Thehackerattitudeisvital,butskillsareevenmorevital.Attitudeisnosubstituteforcompetence,andthere'sa
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

5/19

13/06/2016

HowToBecomeAHacker

certainbasictoolkitofskillswhichyouhavetohavebeforeanyhackerwilldreamofcallingyouone.
Thistoolkitchangesslowlyovertimeastechnologycreatesnewskillsandmakesoldonesobsolete.For
example,itusedtoincludeprogramminginmachinelanguage,anddidn'tuntilrecentlyinvolveHTML.But
rightnowitprettyclearlyincludesthefollowing:

1.Learnhowtoprogram.
This,ofcourse,isthefundamentalhackingskill.Ifyoudon'tknowanycomputerlanguages,Irecommend
startingwithPython.Itiscleanlydesigned,welldocumented,andrelativelykindtobeginners.Despitebeinga
goodfirstlanguage,itisnotjustatoyitisverypowerfulandflexibleandwellsuitedforlargeprojects.Ihave
writtenamoredetailedevaluationofPython.GoodtutorialsareavailableatthePythonwebsitethere'san
excellentthirdpartyoneatComputerScienceCircles.
IusedtorecommendJavaasagoodlanguagetolearnearly,butthiscritiquehaschangedmymind(searchfor
ThePitfallsofJavaasaFirstProgrammingLanguagewithinit).Ahackercannot,astheydevastatinglyputit
approachproblemsolvinglikeaplumberinahardwarestoreyouhavetoknowwhatthecomponentsactually
do.NowIthinkitisprobablybesttolearnCandLispfirst,thenJava.
Thereisperhapsamoregeneralpointhere.Ifalanguagedoestoomuchforyou,itmaybesimultaneouslya
goodtoolforproductionandabadoneforlearning.It'snotonlylanguagesthathavethisproblemweb
applicationframeworkslikeRubyOnRails,CakePHP,Djangomaymakeittooeasytoreachasuperficialsortof
understandingthatwillleaveyouwithoutresourceswhenyouhavetotackleahardproblem,orevenjustdebug
thesolutiontoaneasyone.
Ifyougetintoseriousprogramming,youwillhavetolearnC,thecorelanguageofUnix.C++isveryclosely
relatedtoCifyouknowone,learningtheotherwillnotbedifficult.Neitherlanguageisagoodonetotry
learningasyourfirst,however.And,actually,themoreyoucanavoidprogramminginCthemoreproductive
youwillbe.
Cisveryefficient,andverysparingofyourmachine'sresources.Unfortunately,Cgetsthatefficiencyby
requiringyoutodoalotoflowlevelmanagementofresources(likememory)byhand.Allthatlowlevelcode
iscomplexandbugprone,andwillsoakuphugeamountsofyourtimeondebugging.Withtoday'smachinesas
powerfulastheyare,thisisusuallyabadtradeoffit'ssmartertousealanguagethatusesthemachine'stime
lessefficiently,butyourtimemuchmoreefficiently.Thus,Python.
OtherlanguagesofparticularimportancetohackersincludePerlandLISP.Perlisworthlearningforpractical
reasonsit'sverywidelyusedforactivewebpagesandsystemadministration,sothatevenifyouneverwrite
Perlyoushouldlearntoreadit.ManypeopleusePerlinthewayIsuggestyoushouldusePython,toavoidC
programmingonjobsthatdon'trequireC'smachineefficiency.Youwillneedtobeabletounderstandtheir
code.
LISPisworthlearningforadifferentreasontheprofoundenlightenmentexperienceyouwillhavewhenyou
finallygetit.Thatexperiencewillmakeyouabetterprogrammerfortherestofyourdays,evenifyounever
actuallyuseLISPitselfalot.(YoucangetsomebeginningexperiencewithLISPfairlyeasilybywritingand
modifyingeditingmodesfortheEmacstexteditor,orScriptFupluginsfortheGIMP.)
It'sbest,actually,tolearnallfiveofPython,C/C++,Java,Perl,andLISP.Besidesbeingthemostimportant
hackinglanguages,theyrepresentverydifferentapproachestoprogramming,andeachwilleducateyouin
valuableways.
Butbeawarethatyouwon'treachtheskilllevelofahackerorevenmerelyaprogrammersimplyby
accumulatinglanguagesyouneedtolearnhowtothinkaboutprogrammingproblemsinageneralway,
independentofanyonelanguage.Tobearealhacker,youneedtogettothepointwhereyoucanlearnanew
languageindaysbyrelatingwhat'sinthemanualtowhatyoualreadyknow.Thismeansyoushouldlearn
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

6/19

13/06/2016

HowToBecomeAHacker

severalverydifferentlanguages.
Ican'tgivecompleteinstructionsonhowtolearntoprogramhereit'sacomplexskill.ButIcantellyouthat
booksandcourseswon'tdoitmany,maybemostofthebesthackersareselftaught.Youcanlearnlanguage
featuresbitsofknowledgefrombooks,butthemindsetthatmakesthatknowledgeintolivingskillcanbe
learnedonlybypracticeandapprenticeship.Whatwilldoitis(a)readingcodeand(b)writingcode.
PeterNorvig,whoisoneofGoogle'stophackersandthecoauthorofthemostwidelyusedtextbookonAI,has
writtenanexcellentessaycalledTeachYourselfProgramminginTenYears.His"recipeforprogramming
success"isworthcarefulattention.
Learningtoprogramislikelearningtowritegoodnaturallanguage.Thebestwaytodoitistoreadsomestuff
writtenbymastersoftheform,writesomethingsyourself,readalotmore,writealittlemore,readalotmore,
writesomemore...andrepeatuntilyourwritingbeginstodevelopthekindofstrengthandeconomyyouseein
yourmodels.
IhavehadmoretosayaboutthislearningprocessinHowToLearnHacking.It'sasimplesetofinstructions,but
notaneasyone.
Findinggoodcodetoreadusedtobehard,becausetherewerefewlargeprogramsavailableinsourcefor
fledgelinghackerstoreadandtinkerwith.Thishaschangeddramaticallyopensourcesoftware,programming
tools,andoperatingsystems(allbuiltbyhackers)arenowwidelyavailable.Whichbringsmeneatlytoournext
topic...

2.GetoneoftheopensourceUnixesandlearntouseandrunit.
I'llassumeyouhaveapersonalcomputerorcangetaccesstoone.(Takeamomenttoappreciatehowmuchthat
means.Thehackercultureoriginallyevolvedbackwhencomputersweresoexpensivethatindividualscouldnot
ownthem.)Thesinglemostimportantstepanynewbiecantaketowardacquiringhackerskillsistogetacopy
ofLinuxoroneoftheBSDUnixes,installitonapersonalmachine,andrunit.
Yes,thereareotheroperatingsystemsintheworldbesidesUnix.Butthey'redistributedinbinaryyoucan't
readthecode,andyoucan'tmodifyit.TryingtolearntohackonaMicrosoftWindowsmachineorunderany
otherclosedsourcesystemisliketryingtolearntodancewhilewearingabodycast.
UnderMacOSXit'spossible,butonlypartofthesystemisopensourceyou'relikelytohitalotofwalls,
andyouhavetobecarefulnottodevelopthebadhabitofdependingonApple'sproprietarycode.Ifyou
concentrateontheUnixunderthehoodyoucanlearnsomeusefulthings.
UnixistheoperatingsystemoftheInternet.WhileyoucanlearntousetheInternetwithoutknowingUnix,you
can'tbeanInternethackerwithoutunderstandingUnix.Forthisreason,thehackerculturetodayispretty
stronglyUnixcentered.(Thiswasn'talwaystrue,andsomeoldtimehackersstillaren'thappyaboutit,butthe
symbiosisbetweenUnixandtheInternethasbecomestrongenoughthatevenMicrosoft'smuscledoesn'tseem
abletoseriouslydentit.)
So,bringupaUnixIlikeLinuxmyselfbutthereareotherways(andyes,youcanrunbothLinuxand
MicrosoftWindowsonthesamemachine).Learnit.Runit.Tinkerwithit.TalktotheInternetwithit.Readthe
code.Modifythecode.You'llgetbetterprogrammingtools(includingC,LISP,Python,andPerl)thanany
Microsoftoperatingsystemcandreamofhosting,you'llhavefun,andyou'llsoakupmoreknowledgethanyou
realizeyou'relearninguntilyoulookbackonitasamasterhacker.
FormoreaboutlearningUnix,seeTheLoginataka.YoumightalsowanttohavealookatTheArtOfUnix
Programming.
TheblogLet'sGoLarval!isawindowonthelearningprocessofaanewLinuxuserthatIthinkisunusually
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

7/19

13/06/2016

HowToBecomeAHacker

lucidandhelpful.ThepostHowILearnedLinuxmakesagoodstartingpoint.
TogetyourhandsonaLinux,seetheLinuxOnline!siteyoucandownloadfromthereor(betteridea)finda
localLinuxusergrouptohelpyouwithinstallation.
DuringthefirsttenyearsofthisHOWTO'slife,Ireportedthatfromanewuser'spointofview,allLinux
distributionsarealmostequivalent.Butin20062007,anactualbestchoiceemerged:Ubuntu.Whileother
distroshavetheirownareasofstrength,UbuntuisfarandawaythemostaccessibletoLinuxnewbies.Beware,
though,ofthehideousandnighunusable"Unity"desktopinterfacethatUbuntuintroducedasadefaultafew
yearslatertheXubuntuorKubuntuvariantsarebetter.
YoucanfindBSDUnixhelpandresourcesatwww.bsd.org.
AgoodwaytodipyourtoesinthewateristobootupwhatLinuxfanscallaliveCD,adistributionthatruns
entirelyoffaCDorUSBstickwithouthavingtomodifyyourharddisk.Thismaybeslow,becauseCDsare
slow,butit'sawaytogetalookatthepossibilitieswithouthavingtodoanythingdrastic.
IhavewrittenaprimeronthebasicsofUnixandtheInternet.
IusedtorecommendagainstinstallingeitherLinuxorBSDasasoloprojectifyou'reanewbie.Nowadaysthe
installershavegottengoodenoughthatdoingitentirelyonyourownispossible,evenforanewbie.
Nevertheless,IstillrecommendmakingcontactwithyourlocalLinuxuser'sgroupandaskingforhelp.Itcan't
hurt,andmaysmooththeprocess.

3.LearnhowtousetheWorldWideWebandwriteHTML.
Mostofthethingsthehackerculturehasbuiltdotheirworkoutofsight,helpingrunfactoriesandofficesand
universitieswithoutanyobviousimpactonhownonhackerslive.TheWebistheonebigexception,thehuge
shinyhackertoythatevenpoliticiansadmithaschangedtheworld.Forthisreasonalone(andalotofother
goodonesaswell)youneedtolearnhowtoworktheWeb.
Thisdoesn'tjustmeanlearninghowtodriveabrowser(anyonecandothat),butlearninghowtowriteHTML,
theWeb'smarkuplanguage.Ifyoudon'tknowhowtoprogram,writingHTMLwillteachyousomemental
habitsthatwillhelpyoulearn.Sobuildahomepage.
Butjusthavingahomepageisn'tanywhereneargoodenoughtomakeyouahacker.TheWebisfullofhome
pages.Mostofthemarepointless,zerocontentsludgeverysnazzylookingsludge,mindyou,butsludgeall
thesame(formoreonthisseeTheHTMLHellPage).
Tobeworthwhile,yourpagemusthavecontentitmustbeinterestingand/orusefultootherhackers.Andthat
bringsustothenexttopic...

4.Ifyoudon'thavefunctionalEnglish,learnit.
AsanAmericanandnativeEnglishspeakermyself,Ihavepreviouslybeenreluctanttosuggestthis,lestitbe
takenasasortofculturalimperialism.Butseveralnativespeakersofotherlanguageshaveurgedmetopointout
thatEnglishistheworkinglanguageofthehackercultureandtheInternet,andthatyouwillneedtoknowitto
functioninthehackercommunity.
Backaround1991IlearnedthatmanyhackerswhohaveEnglishasasecondlanguageuseitintechnical
discussionsevenwhentheyshareabirthtongueitwasreportedtomeatthetimethatEnglishhasaricher
technicalvocabularythananyotherlanguageandisthereforesimplyabettertoolforthejob.Forsimilar
reasons,translationsoftechnicalbookswritteninEnglishareoftenunsatisfactory(whentheygetdoneatall).
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

8/19

13/06/2016

HowToBecomeAHacker

LinusTorvalds,aFinn,commentshiscodeinEnglish(itapparentlyneveroccurredtohimtodootherwise).His
fluencyinEnglishhasbeenanimportantfactorinhisabilitytorecruitaworldwidecommunityofdevelopers
forLinux.It'sanexampleworthfollowing.
BeinganativeEnglishspeakerdoesnotguaranteethatyouhavelanguageskillsgoodenoughtofunctionasa
hacker.Ifyourwritingissemiliterate,ungrammatical,andriddledwithmisspellings,manyhackers(including
myself)willtendtoignoreyou.Whilesloppywritingdoesnotinvariablymeansloppythinking,we'vegenerally
foundthecorrelationtobestrongandwehavenouseforsloppythinkers.Ifyoucan'tyetwritecompetently,
learnto.

StatusintheHackerCulture
1.Writeopensourcesoftware
2.Helptestanddebugopensourcesoftware
3.Publishusefulinformation
4.Helpkeeptheinfrastructureworking
5.Servethehackercultureitself
Likemostcultureswithoutamoneyeconomy,hackerdomrunsonreputation.You'retryingtosolveinteresting
problems,buthowinterestingtheyare,andwhetheryoursolutionsarereallygood,issomethingthatonlyyour
technicalpeersorsuperiorsarenormallyequippedtojudge.
Accordingly,whenyouplaythehackergame,youlearntokeepscoreprimarilybywhatotherhackersthinkof
yourskill(thisiswhyyouaren'treallyahackeruntilotherhackersconsistentlycallyouone).Thisfactis
obscuredbytheimageofhackingassolitaryworkalsobyahackerculturaltaboo(graduallydecayingsincethe
late1990sbutstillpotent)againstadmittingthategoorexternalvalidationareinvolvedinone'smotivationat
all.
Specifically,hackerdomiswhatanthropologistscallagiftculture.Yougainstatusandreputationinitnotby
dominatingotherpeople,norbybeingbeautiful,norbyhavingthingsotherpeoplewant,butratherbygiving
thingsaway.Specifically,bygivingawayyourtime,yourcreativity,andtheresultsofyourskill.
Therearebasicallyfivekindsofthingsyoucandotoberespectedbyhackers:

1.Writeopensourcesoftware
Thefirst(themostcentralandmosttraditional)istowriteprogramsthatotherhackersthinkarefunoruseful,
andgivetheprogramsourcesawaytothewholehackerculturetouse.
(Weusedtocalltheseworksfreesoftware,butthisconfusedtoomanypeoplewhoweren'tsureexactlywhat
freewassupposedtomean.Mostofusnowpreferthetermopensourcesoftware).
Hackerdom'smostrevereddemigodsarepeoplewhohavewrittenlarge,capableprogramsthatmeta
widespreadneedandgiventhemaway,sothatnoweveryoneusesthem.
Butthere'sabitofafinehistoricalpointhere.Whilehackershavealwayslookeduptotheopensource
developersamongthemasourcommunity'shardestcore,beforethemid1990smosthackersmostofthetime
workedonclosedsource.ThiswasstilltruewhenIwrotethefirstversionofthisHOWTOin1996ittookthe
mainstreamingofopensourcesoftwareafter1997tochangethings.Today,"thehackercommunity"and"open
sourcedevelopers"aretwodescriptionsforwhatisessentiallythesamecultureandpopulationbutitisworth
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

9/19

13/06/2016

HowToBecomeAHacker

rememberingthatthiswasnotalwaysso.(Formoreonthis,seethesectioncalledHistoricalNote:Hacking,
OpenSource,andFreeSoftware.)

2.Helptestanddebugopensourcesoftware
Theyalsoservewhostandanddebugopensourcesoftware.Inthisimperfectworld,wewillinevitablyspend
mostofoursoftwaredevelopmenttimeinthedebuggingphase.That'swhyanyopensourceauthorwho's
thinkingwilltellyouthatgoodbetatesters(whoknowhowtodescribesymptomsclearly,localizeproblems
well,cantoleratebugsinaquickierelease,andarewillingtoapplyafewsimplediagnosticroutines)areworth
theirweightinrubies.Evenoneofthesecanmakethedifferencebetweenadebuggingphasethat'saprotracted,
exhaustingnightmareandonethat'smerelyasalutarynuisance.
Ifyou'reanewbie,trytofindaprogramunderdevelopmentthatyou'reinterestedinandbeagoodbetatester.
There'sanaturalprogressionfromhelpingtestprogramstohelpingdebugthemtohelpingmodifythem.You'll
learnalotthisway,andgenerategoodkarmawithpeoplewhowillhelpyoulateron.

3.Publishusefulinformation
Anothergoodthingistocollectandfilterusefulandinterestinginformationintowebpagesordocumentslike
FrequentlyAskedQuestions(FAQ)lists,andmakethosegenerallyavailable.
MaintainersofmajortechnicalFAQsgetalmostasmuchrespectasopensourceauthors.

4.Helpkeeptheinfrastructureworking
Thehackerculture(andtheengineeringdevelopmentoftheInternet,forthatmatter)isrunbyvolunteers.
There'salotofnecessarybutunglamorousworkthatneedsdonetokeepitgoingadministeringmailinglists,
moderatingnewsgroups,maintaininglargesoftwarearchivesites,developingRFCsandothertechnical
standards.
Peoplewhodothissortofthingwellgetalotofrespect,becauseeverybodyknowsthesejobsarehugetime
sinksandnotasmuchfunasplayingwithcode.Doingthemshowsdedication.

5.Servethehackercultureitself
Finally,youcanserveandpropagatethecultureitself(by,forexample,writinganaccurateprimeronhowto
becomeahacker:)).Thisisnotsomethingyou'llbepositionedtodountilyou'vebeenaroundforwhileand
becomewellknownforoneofthefirstfourthings.
Thehackerculturedoesn'thaveleaders,exactly,butitdoeshavecultureheroesandtribaleldersandhistorians
andspokespeople.Whenyou'vebeeninthetrencheslongenough,youmaygrowintooneofthese.Beware:
hackersdistrustblatantegointheirtribalelders,sovisiblyreachingforthiskindoffameisdangerous.Rather
thanstrivingforit,youhavetosortofpositionyourselfsoitdropsinyourlap,andthenbemodestandgracious
aboutyourstatus.

TheHacker/NerdConnection
Contrarytopopularmyth,youdon'thavetobeanerdtobeahacker.Itdoeshelp,however,andmanyhackers
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

10/19

13/06/2016

HowToBecomeAHacker

areinfactnerds.Beingsomethingofasocialoutcasthelpsyoustayconcentratedonthereallyimportantthings,
likethinkingandhacking.
Forthisreason,manyhackershaveadoptedthelabelgeekasabadgeofprideit'sawayofdeclaringtheir
independencefromnormalsocialexpectations(aswellasafondnessforotherthingslikesciencefictionand
strategygamesthatoftengowithbeingahacker).Theterm'nerd'usedtobeusedthiswaybackinthe1990s,
backwhen'nerd'wasamildpejorativeand'geek'aratherharsheronesometimeafter2000theyswitched
places,atleastinU.S.popularculture,andthereisnowevenasignificantgeekpridecultureamongpeoplewho
aren'ttechies.
Ifyoucanmanagetoconcentrateenoughonhackingtobegoodatitandstillhavealife,that'sfine.Thisisalot
easiertodaythanitwaswhenIwasanewbieinthe1970smainstreamcultureismuchfriendliertotechnonerds
now.Thereareevengrowingnumbersofpeoplewhorealizethathackersareoftenhighqualityloverand
spousematerial.
Ifyou'reattractedtohackingbecauseyoudon'thavealife,that'sOKtooatleastyouwon'thavetrouble
concentrating.Maybeyou'llgetalifelateron.

PointsForStyle
Again,tobeahacker,youhavetoenterthehackermindset.Therearesomethingsyoucandowhenyou'renot
atacomputerthatseemtohelp.They'renotsubstitutesforhacking(nothingis)butmanyhackersdothem,and
feelthattheyconnectinsomebasicwaywiththeessenceofhacking.
Learntowriteyournativelanguagewell.Thoughit'sacommonstereotypethatprogrammerscan'twrite,
asurprisingnumberofhackers(includingallthemostaccomplishedonesIknowof)areveryablewriters.
Readsciencefiction.Gotosciencefictionconventions(agoodwaytomeethackersandprotohackers).
Joinahackerspaceandmakethings(anothergoodwaytomeethackersandprotohackers).
Traininamartialartsform.Thekindofmentaldisciplinerequiredformartialartsseemstobesimilarin
importantwaystowhathackersdo.ThemostpopularformsamonghackersaredefinitelyAsianempty
handartssuchasTaeKwonDo,variousformsofKarate,KungFu,Aikido,orJuJitsu.Westernfencing
andAsianswordartsalsohavevisiblefollowings.Inplaceswhereit'slegal,pistolshootinghasbeen
risinginpopularitysincethelate1990s.Themosthackerlymartialartsarethosewhichemphasizemental
discipline,relaxedawareness,andprecisecontrol,ratherthanrawstrength,athleticism,orphysical
toughness.
Studyanactualmeditationdiscipline.TheperennialfavoriteamonghackersisZen(importantly,itis
possibletobenefitfromZenwithoutacquiringareligionordiscardingoneyoualreadyhave).Otherstyles
mayworkaswell,butbecarefultochooseonethatdoesn'trequireyoutobelievecrazythings.
Developananalyticalearformusic.Learntoappreciatepeculiarkindsofmusic.Learntoplaysome
musicalinstrumentwell,orhowtosing.
Developyourappreciationofpunsandwordplay.
Themoreofthesethingsyoualreadydo,themorelikelyitisthatyouarenaturalhackermaterial.Whythese
thingsinparticularisnotcompletelyclear,butthey'reconnectedwithamixofleftandrightbrainskillsthat
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

11/19

13/06/2016

HowToBecomeAHacker

seemstobeimportanthackersneedtobeabletobothreasonlogicallyandstepoutsidetheapparentlogicofa
problematamoment'snotice.
Workasintenselyasyouplayandplayasintenselyasyouwork.Fortruehackers,theboundariesbetween
"play","work","science"and"art"alltendtodisappear,ortomergeintoahighlevelcreativeplayfulness.Also,
don'tbecontentwithanarrowrangeofskills.Thoughmosthackersselfdescribeasprogrammers,theyarevery
likelytobemorethancompetentinseveralrelatedskillssystemadministration,webdesign,andPC
hardwaretroubleshootingarecommonones.Ahackerwho'sasystemadministrator,ontheotherhand,islikely
tobequiteskilledatscriptprogrammingandwebdesign.Hackersdon'tdothingsbyhalvesiftheyinvestina
skillatall,theytendtogetverygoodatit.
Finally,afewthingsnottodo.
Don'tuseasilly,grandioseuserIDorscreenname.
Don'tgetinflamewarsonUsenet(oranywhereelse).
Don'tcallyourselfacyberpunk,anddon'twasteyourtimeonanybodywhodoes.
Don'tpostoremailwritingthat'sfullofspellingerrorsandbadgrammar.
Theonlyreputationyou'llmakedoinganyofthesethingsisasatwit.Hackershavelongmemoriesitcould
takeyouyearstoliveyourearlyblundersdownenoughtobeaccepted.
Theproblemwithscreennamesorhandlesdeservessomeamplification.Concealingyouridentitybehinda
handleisajuvenileandsillybehaviorcharacteristicofcrackers,warezd00dz,andotherlowerlifeforms.
Hackersdon'tdothisthey'reproudofwhattheydoandwantitassociatedwiththeirrealnames.Soifyouhave
ahandle,dropit.Inthehackercultureitwillonlymarkyouasaloser.

HistoricalNote:Hacking,OpenSource,andFreeSoftware
WhenIoriginallywrotethishowtoinlate1996,someoftheconditionsarounditwereverydifferentfromthe
waytheylooktoday.Afewwordsaboutthesechangesmayhelpclarifymattersforpeoplewhoareconfused
abouttherelationshipofopensource,freesoftware,andLinuxtothehackercommunity.Ifyouarenotcurious
aboutthis,youcanskipstraighttotheFAQandbibliographyfromhere.
ThehackerethosandcommunityasIhavedescribeditherelongpredatestheemergenceofLinuxafter1990I
firstbecameinvolvedwithitaround1976,and,itsrootsarereadilytraceablebacktotheearly1960s.Butbefore
Linux,mosthackingwasdoneoneitherproprietaryoperatingsystemsorahandfulofquasiexperimental
homegrownsystemslikeMIT'sITSthatwereneverdeployedoutsideoftheiroriginalacademicniches.While
therehadbeensomeearlier(preLinux)attemptstochangethissituation,theirimpactwasatbestverymarginal
andconfinedtocommunitiesofdedicatedtruebelieverswhichweretinyminoritiesevenwithinthehacker
community,letalonewithrespecttothelargerworldofsoftwareingeneral.
Whatisnowcalled"opensource"goesbackasfarasthehackercommunitydoes,butuntil1985itwasan
unnamedfolkpracticeratherthanaconsciousmovementwiththeoriesandmanifestosattachedtoit.This
prehistoryendedwhen,in1985,archhackerRichardStallman("RMS")triedtogiveitaname"free
software".Buthisactofnamingwasalsoanactofclaimingheattachedideologicalbaggagetothe"free
software"labelwhichmuchoftheexistinghackercommunityneveraccepted.Asaresult,the"freesoftware"
labelwasloudlyrejectedbyasubstantialminorityofthehackercommunity(especiallyamongthoseassociated
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

12/19

13/06/2016

HowToBecomeAHacker

withBSDUnix),andusedwithseriousbutsilentreservationsbyamajorityoftheremainder(includingmyself).
Despitethesereservations,RMS'sclaimtodefineandleadthehackercommunityunderthe"freesoftware"
bannerbroadlyhelduntilthemid1990s.ItwasseriouslychallengedonlybytheriseofLinux.Linuxgaveopen
sourcedevelopmentanaturalhome.Manyprojectsissuedundertermswewouldnowcallopensourcemigrated
fromproprietaryUnixestoLinux.ThecommunityaroundLinuxgrewexplosively,becomingfarlargerand
moreheterogenousthanthepreLinuxhackerculture.RMSdeterminedlyattemptedtocooptallthisactivity
intohis"freesoftware"movement,butwasthwartedbyboththeexplodingdiversityoftheLinuxcommunity
andthepublicskepticismofitsfounder,LinusTorvalds.Torvaldscontinuedtousetheterm"freesoftware"for
lackofanyalternative,butpubliclyrejectedRMS'sideologicalbaggage.Manyyoungerhackersfollowedsuit.
In1996,whenIfirstpublishedthisHackerHOWTO,thehackercommunitywasrapidlyreorganizingaround
Linuxandahandfulofotheropensourceoperatingsystems(notablythosedescendedfromBSDUnix).
Communitymemoryofthefactthatmostofushadspentdecadesdevelopingclosedsourcesoftwareonclosed
sourceoperatingsystemshadnotyetbeguntofade,butthatfactwasalreadybeginningtoseemlikepartofa
deadpasthackerswere,increasingly,definingthemselvesashackersbytheirattachmentstoopensource
projectssuchasLinuxorApache.
Theterm"opensource",however,hadnotyetemergeditwouldnotdosountilearly1998.Whenitdid,mostof
thehackercommunityadopteditwithinthefollowingsixmonthstheexceptionswereaminorityideologically
attachedtotheterm"freesoftware".Since1998,andespeciallyafterabout2003,theidentificationof'hacking'
with'opensource(andfreesoftware)development'hasbecomeextremelyclose.Todaythereislittlepointin
attemptingtodistinguishbetweenthesecategories,anditseemsunlikelythatwillchangeinthefuture.
Itisworthremembering,however,thatthiswasnotalwaysso.

OtherResources
PaulGrahamhaswrittenanessaycalledGreatHackers,andanotheronUndergraduation,inwhichhespeaks
muchwisdom.
ThereisadocumentcalledHowToBeAProgrammerthatisanexcellentcomplementtothisone.Ithas
valuableadvicenotjustaboutcodingandskillsets,butabouthowtofunctiononaprogrammingteam.
IhavealsowrittenABriefHistoryOfHackerdom.
Ihavewrittenapaper,TheCathedralandtheBazaar,whichexplainsalotabouthowtheLinuxandopen
sourcecultureswork.IhaveaddressedthistopicevenmoredirectlyinitssequelHomesteadingtheNoosphere.
RickMoenhaswrittenanexcellentdocumentonhowtorunaLinuxusergroup.
RickMoenandIhavecollaboratedonanotherdocumentonHowToAskSmartQuestions.Thiswillhelpyou
seekassistanceinawaythatmakesitmorelikelythatyouwillactuallygetit.
Ifyouneedinstructioninthebasicsofhowpersonalcomputers,Unix,andtheInternetwork,seeTheUnixand
InternetFundamentalsHOWTO.
Whenyoureleasesoftwareorwritepatchesforsoftware,trytofollowtheguidelinesintheSoftwareRelease
PracticeHOWTO.
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

13/19

13/06/2016

HowToBecomeAHacker

IfyouenjoyedtheZenpoem,youmightalsolikeRootlessRoot:TheUnixKoansofMasterFoo.

FrequentlyAskedQuestions
Q:HowdoItellifIamalreadyahacker?
Q:Willyouteachmehowtohack?
Q:HowcanIgetstarted,then?
Q:Whendoyouhavetostart?Isittoolateformetolearn?
Q:Howlongwillittakemetolearntohack?
Q:IsVisualBasicagoodlanguagetostartwith?
Q:Wouldyouhelpmetocrackasystem,orteachmehowtocrack?
Q:HowcanIgetthepasswordforsomeoneelse'saccount?
Q:HowcanIbreakinto/read/monitorsomeoneelse'semail?
Q:HowcanIstealchannelopprivilegesonIRC?
Q:I'vebeencracked.Willyouhelpmefendofffurtherattacks?
Q:I'mhavingproblemswithmyWindowssoftware.Willyouhelpme?
Q:WherecanIfindsomerealhackerstotalkwith?
Q:Canyourecommendusefulbooksabouthackingrelatedsubjects?
Q:DoIneedtobegoodatmathtobecomeahacker?
Q:WhatlanguageshouldIlearnfirst?
Q:WhatkindofhardwaredoIneed?
Q:Iwanttocontribute.Canyouhelpmepickaproblemtoworkon?
Q:DoIneedtohateandbashMicrosoft?
Q:Butwon'topensourcesoftwareleaveprogrammersunabletomakealiving?
Q:WherecanIgetafreeUnix?
Q: HowdoItellifIamalreadyahacker?
A: Askyourselfthefollowingthreequestions:
Doyouspeakcode,fluently?
Doyouidentifywiththegoalsandvaluesofthehackercommunity?
Hasawellestablishedmemberofthehackercommunityevercalledyouahacker?
Ifyoucanansweryestoallthreeofthesequestions,youarealreadyahacker.Notwoalonearesufficient.
Thefirsttestisaboutskills.Youprobablypassitifyouhavetheminimumtechnicalskillsdescribedearlier
inthisdocument.Youblowrightthroughitifyouhavehadasubstantialamountofcodeacceptedbyan
opensourcedevelopmentproject.
Thesecondtestisaboutattitude.Ifthefiveprinciplesofthehackermindsetseemedobvioustoyou,more
likeadescriptionofthewayyoualreadylivethananythingnovel,youarealreadyhalfwaytopassingit.
That'stheinwardhalftheother,outwardhalfisthedegreetowhichyouidentifywiththehacker
community'slongtermprojects.
Hereisanincompletebutindicativelistofsomeofthoseprojects:DoesitmattertoyouthatLinuximprove
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

14/19

13/06/2016

HowToBecomeAHacker

andspread?Areyoupassionateaboutsoftwarefreedom?Hostiletomonopolies?Doyouactonthebelief
thatcomputerscanbeinstrumentsofempowermentthatmaketheworldaricherandmorehumaneplace?
Butanoteofcautionisinorderhere.Thehackercommunityhassomespecific,primarilydefensive
politicalintereststwoofthemaredefendingfreespeechrightsandfendingoff"intellectualproperty"
powergrabsthatwouldmakeopensourceillegal.Someofthoselongtermprojectsarecivilliberties
organizationsliketheElectronicFrontierFoundation,andtheoutwardattitudeproperlyincludessupportof
them.Butbeyondthat,mosthackersviewattemptstosystematizethehackerattitudeintoanexplicit
politicalprogramwithsuspicionwe'velearned,thehardway,thattheseattemptsaredivisiveand
distracting.Ifsomeonetriestorecruityoutomarchonyourcapitolinthenameofthehackerattitude,
they'vemissedthepoint.TherightresponseisprobablyShutupandshowthemthecode.
Thethirdtesthasatrickyelementofrecursivenessaboutit.IobservedinthesectioncalledWhatIsa
Hacker?thatbeingahackerispartlyamatterofbelongingtoaparticularsubcultureorsocialnetworkwith
asharedhistory,aninsideandanoutside.Inthefarpast,hackerswereamuchlesscohesiveandselfaware
groupthantheyaretoday.Buttheimportanceofthesocialnetworkaspecthasincreasedoverthelastthirty
yearsastheInternethasmadeconnectionswiththecoreofthehackersubcultureeasiertodevelopand
maintain.Oneeasybehavioralindexofthechangeisthat,inthiscentury,wehaveourownTshirts.
Sociologists,whostudynetworkslikethoseofthehackercultureunderthegeneralrubricof"invisible
colleges",havenotedthatonecharacteristicofsuchnetworksisthattheyhavegatekeeperscore
memberswiththesocialauthoritytoendorsenewmembersintothenetwork.Becausethe"invisible
college"thatishackercultureisalooseandinformalone,theroleofgatekeeperisinformaltoo.Butone
thingthatallhackersunderstandintheirbonesisthatnoteveryhackerisagatekeeper.Gatekeepershaveto
haveacertaindegreeofseniorityandaccomplishmentbeforetheycanbestowthetitle.Howmuchishard
toquantify,buteveryhackerknowsitwhentheyseeit.
Q: Willyouteachmehowtohack?
A: Sincefirstpublishingthispage,I'vegottenseveralrequestsaweek(oftenseveraladay)frompeopleto
"teachmeallabouthacking".Unfortunately,Idon'thavethetimeorenergytodothismyownhacking
projects,andworkingasanopensourceadvocate,takeup110%ofmytime.
EvenifIdid,hackingisanattitudeandskillyoubasicallyhavetoteachyourself.You'llfindthatwhilereal
hackerswanttohelpyou,theywon'trespectyouifyoubegtobespoonfedeverythingtheyknow.
Learnafewthingsfirst.Showthatyou'retrying,thatyou'recapableoflearningonyourown.Thengotothe
hackersyoumeetwithspecificquestions.
Ifyoudoemailahackeraskingforadvice,herearetwothingstoknowupfront.First,we'vefoundthat
peoplewhoarelazyorcarelessintheirwritingareusuallytoolazyandcarelessintheirthinkingtomake
goodhackerssotakecaretospellcorrectly,andusegoodgrammarandpunctuation,otherwiseyou'll
probablybeignored.Secondly,don'tdareaskforareplytoanISPaccountthat'sdifferentfromtheaccount
you'resendingfromwefindpeoplewhodothatareusuallythievesusingstolenaccounts,andwehaveno
interestinrewardingorassistingthievery.
Q: HowcanIgetstarted,then?
A: ThebestwayforyoutogetstartedwouldprobablybetogotoaLUG(Linuxusergroup)meeting.Youcan
findsuchgroupsontheLDPGeneralLinuxInformationPagethereisprobablyonenearyou,possibly
associatedwithacollegeoruniversity.LUGmemberswillprobablygiveyouaLinuxifyouask,andwill
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

15/19

13/06/2016

HowToBecomeAHacker

certainlyhelpyouinstalloneandgetstarted.
Yournextstep(andyourfirststepifyoucan'tfindaLUGnearby)shouldbetofindanopensourceproject
thatinterestsyou.Startreadingcodeandreviewingbugs.Learntocontribute,andworkyourwayin.
Theonlywayinisbyworkingtoimproveyourskills.Ifyouaskmepersonallyforadviceonhowtoget
started,Iwilltellyoutheseexactsamethings,becauseIdon'thaveanymagicshortcutsforyou.Iwillalso
mentallywriteyouoffasaprobableloserbecauseifyoulackedthestaminatoreadthisFAQandthe
intelligencetounderstandfromitthattheonlywayinisbyworkingtoimproveyourskills,you'rehopeless.
Anotherinterestingpossibilityistogovisitahackerspace.Thereisaburgeoningmovementofpeople
creatingphysicallocationsmaker'sclubswheretheycanhangouttoworkonhardwareandsoftware
projectstogether,orworksoloinacogenialatmosphere.Hackerspacesoftencollecttoolsandspecialized
equipmentthatwouldbetooexpensiveorlogisticallyinconvenientforindividualstoown.Hackerspaces
areeasytofindontheInternetonemaybelocatednearyou.
Q: Whendoyouhavetostart?Isittoolateformetolearn?
A: Anyageatwhichyouaremotivatedtostartisagoodage.Mostpeopleseemtogetinterestedbetweenages
15and20,butIknowofexceptionsinbothdirections.
Q: Howlongwillittakemetolearntohack?
A: Thatdependsonhowtalentedyouareandhowhardyouworkatit.Mostpeoplewhotrycanacquirea
respectableskillsetineighteenmonthstotwoyears,iftheyconcentrate.Don'tthinkitendsthere,though
inhacking(asinmanyotherfields)ittakesabouttenyearstoachievemastery.Andifyouarearealhacker,
youwillspendtherestofyourlifelearningandperfectingyourcraft.
Q: IsVisualBasicagoodlanguagetostartwith?
A: Ifyou'reaskingthisquestion,italmostcertainlymeansyou'rethinkingabouttryingtohackunderMicrosoft
Windows.Thisisabadideainitself.WhenIcomparedtryingtolearntohackunderWindowstotryingto
learntodancewhilewearingabodycast,Iwasn'tkidding.Don'tgothere.It'sugly,anditneverstopsbeing
ugly.
ThereisaspecificproblemwithVisualBasicmainlythatit'snotportable.Thoughthereisaprototype
opensourceimplementationsofVisualBasic,theapplicableECMAstandardsdon'tcovermorethana
smallsetofitsprogramminginterfaces.OnWindowsmostofitslibrarysupportisproprietarytoasingle
vendor(Microsoft)ifyouaren'textremelycarefulaboutwhichfeaturesyouusemorecarefulthanany
newbieisreallycapableofbeingyou'llenduplockedintoonlythoseplatformsMicrosoftchoosesto
support.Ifyou'restartingonaUnix,muchbetterlanguageswithbetterlibrariesareavailable.Python,for
example.
Also,likeotherBasics,VisualBasicisapoorlydesignedlanguagethatwillteachyoubadprogramming
habits.No,don'taskmetodescribethemindetailthatexplanationwouldfillabook.Learnawell
designedlanguageinstead.
Oneofthosebadhabitsisbecomingdependentonasinglevendor'slibraries,widgets,anddevelopment
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

16/19

13/06/2016

HowToBecomeAHacker

tools.Ingeneral,anylanguagethatisn'tfullysupportedunderatleastLinuxoroneoftheBSDs,and/orat
leastthreedifferentvendors'operatingsystems,isapooronetolearntohackin.
Q: Wouldyouhelpmetocrackasystem,orteachmehowtocrack?
A: No.AnyonewhocanstillasksuchaquestionafterreadingthisFAQistoostupidtobeeducableevenifI
hadthetimefortutoring.AnyemailedrequestsofthiskindthatIgetwillbeignoredoransweredwith
extremerudeness.
Q: HowcanIgetthepasswordforsomeoneelse'saccount?
A: Thisiscracking.Goaway,idiot.
Q: HowcanIbreakinto/read/monitorsomeoneelse'semail?
A: Thisiscracking.Getlost,moron.
Q: HowcanIstealchannelopprivilegesonIRC?
A: Thisiscracking.Begone,cretin.
Q: I'vebeencracked.Willyouhelpmefendofffurtherattacks?
A: No.EverytimeI'vebeenaskedthisquestionsofar,it'sbeenfromsomepoorsaprunningMicrosoft
Windows.ItisnotpossibletoeffectivelysecureWindowssystemsagainstcrackattacksthecodeand
architecturesimplyhavetoomanyflaws,whichmakessecuringWindowsliketryingtobailoutaboatwith
asieve.TheonlyreliablepreventionstartswithswitchingtoLinuxorsomeotheroperatingsystemthatis
designedtoatleastbecapableofsecurity.
Q: I'mhavingproblemswithmyWindowssoftware.Willyouhelpme?
A: Yes.GotoaDOSpromptandtype"formatc:".Anyproblemsyouareexperiencingwillceasewithinafew
minutes.
Q: WherecanIfindsomerealhackerstotalkwith?
A: ThebestwayistofindaUnixorLinuxuser'sgrouplocaltoyouandgototheirmeetings(youcanfind
linkstoseverallistsofusergroupsontheLDPsiteatibiblio).
(Iusedtosayherethatyouwouldn'tfindanyrealhackersonIRC,butI'mgiventounderstandthisis
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

17/19

13/06/2016

HowToBecomeAHacker

changing.Apparentlysomerealhackercommunities,attachedtothingslikeGIMPandPerl,haveIRC
channelsnow.)
Q: Canyourecommendusefulbooksabouthackingrelatedsubjects?
A: ImaintainaLinuxReadingListHOWTOthatyoumayfindhelpful.TheLoginatakamayalsobe
interesting.
ForanintroductiontoPython,seethetutorialonthePythonsite.
Q: DoIneedtobegoodatmathtobecomeahacker?
A: No.Hackingusesverylittleformalmathematicsorarithmetic.Inparticular,youwon'tusuallyneed
trigonometry,calculusoranalysis(thereareexceptionstothisinahandfulofspecificapplicationareaslike
3Dcomputergraphics).KnowingsomeformallogicandBooleanalgebraisgood.Somegroundingin
finitemathematics(includingfinitesettheory,combinatorics,andgraphtheory)canbehelpful.
Muchmoreimportantly:youneedtobeabletothinklogicallyandfollowchainsofexactreasoning,the
waymathematiciansdo.Whilethecontentofmostmathematicswon'thelpyou,youwillneedthediscipline
andintelligencetohandlemathematics.Ifyoulacktheintelligence,thereislittlehopeforyouasahacker
ifyoulackthediscipline,you'dbettergrowit.
IthinkagoodwaytofindoutifyouhavewhatittakesistopickupacopyofRaymondSmullyan'sbook
WhatIsTheNameOfThisBook?.Smullyan'splayfullogicalconundrumsareverymuchinthehacker
spirit.Beingabletosolvethemisagoodsignenjoyingsolvingthemisanevenbetterone.

Q: WhatlanguageshouldIlearnfirst?
A: HTMLifyoudon'talreadyknowit.Therearealotofglossy,hypeintensivebadHTMLbooksoutthere,
anddistressinglyfewgoodones.TheoneIlikebestisHTML:TheDefinitiveGuide.
ButHTMLisnotafullprogramminglanguage.Whenyou'rereadytostartprogramming,Iwould
recommendstartingwithPython.YouwillhearalotofpeoplerecommendingPerl,butit'shardertolearn
and(inmyopinion)lesswelldesigned.
Cisreallyimportant,butit'salsomuchmoredifficultthaneitherPythonorPerl.Don'ttrytolearnitfirst.
Windowsusers,donotsettleforVisualBasic.Itwillteachyoubadhabits,andit'snotportableoff
Windows.Avoid.
Q: WhatkindofhardwaredoIneed?
A: Itusedtobethatpersonalcomputerswereratherunderpoweredandmemorypoor,enoughsothatthey
placedartificiallimitsonahacker'slearningprocess.Thisstoppedbeingtrueinthemid1990sany
machinefromanIntel486DX50upismorethanpowerfulenoughfordevelopmentwork,X,andInternet
communications,andthesmallestdisksyoucanbuytodayareplentybigenough.
http://www.catb.org/esr/faqs/hackerhowto.html#why_this

18/19

13/06/2016

HowToBecomeAHacker

TheimportantthinginchoosingamachineonwhichtolearniswhetheritshardwareisLinuxcompatible
(orBSDcompatible,shouldyouchoosetogothatroute).Again,thiswillbetrueforalmostallmodern
machines.TheonlyreallystickyareasaremodemsandwirelesscardssomemachineshaveWindows
specifichardwarethatwon'tworkwithLinux.
There'saFAQonhardwarecompatibilitythelatestversionishere.

Q: Iwanttocontribute.Canyouhelpmepickaproblemtoworkon?
A: No,becauseIdon'tknowyourtalentsorinterests.Youhavetobeselfmotivatedoryouwon'tstick,which
iswhyhavingotherpeoplechooseyourdirectionalmostneverworks.
Q: DoIneedtohateandbashMicrosoft?
A: No,youdon't.NotthatMicrosoftisn'tloathsome,buttherewasahackerculturelongbeforeMicrosoftand
therewillstillbeonelongafterMicrosoftishistory.AnyenergyyouspendhatingMicrosoftwouldbe
betterspentonlovingyourcraft.WritegoodcodethatwillbashMicrosoftquitesufficientlywithout
pollutingyourkarma.
Q: Butwon'topensourcesoftwareleaveprogrammersunabletomakealiving?
A: Thisseemsunlikelysofar,theopensourcesoftwareindustryseemstobecreatingjobsratherthantaking
themaway.Ifhavingaprogramwrittenisaneteconomicgainovernothavingitwritten,aprogrammerwill
getpaidwhetherornottheprogramisgoingtobeopensourceafterit'sdone.And,nomatterhowmuch
"free"softwaregetswritten,therealwaysseemstobemoredemandfornewandcustomizedapplications.
I'vewrittenmoreaboutthisattheOpenSourcepages.
Q: WherecanIgetafreeUnix?
A: Ifyoudon'thaveaUnixinstalledonyourmachineyet,elsewhereonthispageIincludepointerstowhereto
getthemostcommonlyusedfreeUnix.Tobeahackeryouneedmotivationandinitiativeandtheabilityto
educateyourself.Startnow...

http://www.catb.org/esr/faqs/hackerhowto.html#why_this

19/19