When I was little a friend of mine send me some code. At that time the internet was still something that was already well in-use but more for people who were working and had the money to afford it. You'd sit infront of one of these old dial-in modems and as you'd dial into the internet, you'd hear these squeeky noises. Eventually your modem connected you to the internet and your phone would stop working. You'd browse the internet back then and not lay your eye off the clock at the bottom right because you had to pay per minute for the very freedom of speaking to the world. So you'd outline your stuff that you were going to do on the internet, log on and finish it as quick as possible.
If you initiated a download, you could watch the few megabytes be downloaded a 64kb chunk at a time. It'd take forever and so you wouldn't really bother with it. However I had a mission, I wanted to be a programmer one day. So instead of going on the internet and hearing my mother complain to me for being on there for an hour, I decided that anything can be explained by logic. So I decided to open up this code using notepad at first. Eventually my friend told me there is programs to view source code and I was browsing the code in colour! That was amazing I tell you this much.
I had a base to start on and it was much simpler than you imagine. I knew people would speak about code being written in a programming language, so I knew all along that since it was a language, all you have to do is find the correct translation. So I read the code over and over in an attempt to understand it. At the time I was rather naive and I still I am. I told my friends I am a coder and they believed me. They told me things to make and I knew I couldn't possibly do it, but I wasn't ready to give up. So I continued reading the code and changing strings in the code to make it look as if I had any clue of what I was doing. The trick worked.. for a while.
Eventually my friends realized that I was just editing text so I had to come up with more and so I decided to change a line here or there and see what happens. Of course I got thrown hundreds of errors everytime I tried to compile the code, but I did not give up. I kept reading the code in order to begin translating the code. The more I read it, the more I began translating things. I'd tell myself that any program consists of a large cabinet with ever so many drawers. I'd imagine that each drawer had a name written on them and a piece of paper inside. This piece held some information and in order to access it, you must know the name to the drawer. I had found an explanation for variables, a primitive one maybe, but I finally had something translated.
I am sure by now you must be thinking that this post is a waste of time and you're probably right. So I'll speed up the rest. I began translating more and more and eventually actually coded stuff. I was coding stuff for two more years after that until the flat-rates were invented. I found a forum where things were explained in further detail and obviously there was wikipedia. I learned so much more about programming than I ever imagined.
I've even studied programming for two years at this time and I am no longer a teenager either. However my point is something much more than just me telling you about how I learned programming. I learned something about programmers. I applied for a job as a programmer not too long ago and mind you I've already worked for companies as a programmer and during the job interview I was asked questions. I couldn't answer all of them immediatly and so the Boss told me that real programming students could answer all of them and I realized once more that what I had learned over the years was true.
Okay, I've held the answer out long enough now:
You must learn why you do things. I read it in Ninjex post as well and I immediatly knew exactly what he means. You must learn why you do things and not how. The education system works just like Ninjex explained it and I've been telling people I've met this so many times but people do not listen. The education system teaches you how to do things because they want to prepare you for work in the least possible amount of time because time is money!
They are not interested in making you understand why you do things the way you do them. However this is a key skill in order to understand anything and it is why I believe people who learn things by themself are significantly better at it than people who studied or learned it by school or university.
Imagine the following scenario:
You're going to class because you really want to learn to become a construction worker. The teacher tells you to repeatively run against the wall and stand back up once you smash into it and drop to the floor.
Now ask yourself: Would you do it? If the answer is no which I truely hope it is, then ask yourself: Why wouldn't I?. Once you understand why you wouldn't do it, you realize that you understand what you were about to do and that it made no sense. So then ask yourself: Why are you doing what the teacher tells you to?. I am guessing the answer to that can be different for some, some would probably do it because the person must know what he/she is talking about, others would argue the person has authority but I can tell you why: The teacher never explained why you're doing it, so you never really had a chance.
Anyway, I just wanted to stress that. I hope it helps some people!
Yes, I've recently found hackthissite and now I am trying to learn to become a hacker as well. Even though I believe I am already a hacker but I am still not as good as I wish to be. Any advice is always appreciated of course. Thanks so much for all your help guys =)
Good luck and be safe,
PS: For some reason I find it impossible to be hidden on the internet. I could list you way too many reasons why it is not very possible. I actually wrote a small document about how to stay hidden on the web about a year back: A funny story actually because I discovered that the technique I had "invented" in my mind already exists. It's called Onion Routing. Yeah, too bad I wasn't born like 20 years earlier so that I could of invented that method before they did! Probably had a budget now for some development plans I have!