Basic Hacking Skills
The hacker attitude is vital, but skills are even more vital. Attitude is no substitute for competence and there's a certain basic toolkit of skills which you have to have before any hacker will dream of calling you one.
This toolkit changes slowly over time as technology creates new skills and makes old ones obsolete. For example, it used it to include programming in machine language, and didn't until recently involved HTML. But right now it pretty clearly includes the following :
1. Learn how to program.
This, of course, is the fundamental hacking skill. In 1997 the one language you absolutely must learn is C (though it's not the one to try learning first thing). But you aren't a hacker or even merely a programmer if you only know one language, you need to learn how to think about programming problems in a general way, independent of any one language. To be a real hacker, you need to have gotten to the point where you can learn a new language in days by relating what's in the manual to what you already know. This means you should learn several very different languages.
Besides C, you should also learn at least LISP and Perl (and Java is pushing hard for a place on the list). Besides being the most important hacking languages, these each represent very different approaches to programming and all will educate you in valuable ways.
I can't give complete instructions on how to learn to program here, it's a complex skill. But I can tell you that books and courses won't do it (many, maybe most of the best hackers are self-taught). What will do it is (a) reading code and (b) writing code.
Learning to program is like learning to write good natural language. The best way to do it is to read some stuff written by masters of the form, write some thing yourself, read a lot more, write a little more, read a lot more, write some more...heheheheh...and repeat until your writing begins to develop the kind of strength and economy you see in your models.
Finding good code to read used to be hard, because there were few large programs available in source for fledgling hackers to read and tinker with. This has changed dramatically; open-source software, programming tools and operating systems (all built by hackers) are now widely available. Which brings me neatly to our next topic...
2. Get one of the open-source Unixes and learn to use n' run it.
I'm assuming you have a personal computer or can get access to one (these kids today have it so easy). The single most important step any newbie can take towards acquiring hacker skills is to get a copy of Linux or one of the BSD-Unixes, install it on a personal machine and run it.
Yes, there are other operating systems in the world besides Unix. But they're distributed in binary, you can't read the code, and you can't modify it. Trying to learn to hack on DOS or Windows machine or under MacOS is like trying to learn to dance while wearing a body cast.
Besides, Unix is the operating system of the Internet. While you can learn the Internet without knowing Unix, you can't be an Internet hacker without understanding it. For this reason, the hacker culture today is pretty strongly Unix-centered. (This wasn't always true and some old time hackers aren't happy about it, but the symbiosis between Unix and the Internet has become strong enough that even Microsoft's muscle doesn't seem able to seriously dent it.)
So, bring up a Unix. I like Linux myself but there are other ways. Learn it. Run it. Tinker with it. Talk to the Internet with it. Read the code. Modify the code. You'll get better programming tools (including C, Lisp and Perl) than any Microsoft operating system can dream of, you'll have fun and you'll soak up more knowledge than you realize you're learning until you look back on it as a master hacker. To get your hand on Linux, see the Where can I get Linux.
3. Learn how to use the World Wide Web and write HTML.
Most of the things the hacker culture has built do their work out of sight, helping run factories and offices and universities without any obvious impact on how non-hackers live. The web is the one big exception, the huge shiny hacker toy that even politicians admit is changing the world. For this reason alone (and a lot of other good ones as well) you need to learn how to work the Web.
This doesn't just mean learning how to drive a browser (anyone can do that), but learning how to write HTML, the Web's markup language. If you don't know how to program, writing HTML will teach you some mental habits that will help you learn. So build a home page. But having a home page isn't anywhere near good enough to make you a hacker. The Web is full of home pages. Most of them are pointless, zero-content sludge; very snazzy-looking sludge, mind you, but sludge all the same.
To be worthwhile, your page must have content; it must be interesting and/or useful to other hackers. And that brings us to the next topic...