I second that.
As for beginning. There are many different ways you can go, because hacking is a broad term. There are network hacks, software hacks, etc.
I know this is a bad answer, but if want to get a good foundation, the best thing to do is learn one of those two, if not both. O'reilly has some great books out there on networking, as well as many good books on programming. If you want to start dissecting software eventually and finding flaws in it, it's almost essential that you have a good understanding of C and assembly. Then I would start digging into books like this. Also, reading through exploit code can teach you a lot. Check out milw0rm, Exploit Tree, and Security Focus for some great exploit code.
With regards to networking, I would recommend picking up a few books on networking (Cisco, etc.) and see if you can find a few devices cheap on Ebay. Then start picking them apart, and testing out hacks. There are many good documents out there on packet forensics, and network flow. I would really read up on how networks really work, eveyone knows the basic concept, but computer networks are incredibly sophisticated and there is a lot to learn. In fact, I don't think any one person can possibly know all there is to know about digital networks, so there is always more to learn, and more vulnerabilities to discover.