How to Learn to Hack


"What would you say to young kids thinking about getting into hacking?"
"Don't make the same mistakes I did. Hacking might look exciting at the beginning, but when you look back on it, you only have one life to live."

Kevin Mitnick, talking to Jonathan Littman in The Fugitive Game.

OK. Of course, Kevin Mitnick and I use the word "hack" in two different senses. For Mitnick, a "hacker" is someone who accesses systems without the owner's permission. For me a hacker is someone who is a good programmer.

Check out this link

I'd wondered how exactly to get across the thrill of hacking in the right sense, and then discovered I DON'T HAVE TO. Eric Raymond had done a wonderful job of this in his FAQ. Check out Eric's "How to be a Hacker", which says everything I had wanted to, only better and in more detail.

A Request

I don't know where people are getting my name as a source of lessons in computer intrusion, but I get a steady stream of requests to teach hacking, and their definition of hacking means stuff which is illegal and should be.  If anyone knows where my name is being bandied about in this fashion, please ask them to take it off or tell me so I can ask them to take if off.

Additional musings

As I said above, Eric Raymond's page says it all. So consider the following just some additional random observations.

Randal's books are great. So are his Usenet postings. Start with Learning Perl.

The book that taught me the most was Lions' Commentary on UNIX 6th Edition. You'd be surprised how relevant it is to the internals of modern UNIX systems. Warning: it's very hard going, and Lions commentary makes it only slightly easier. You should already know C language cold. But this is the book that makes wizards wizards.