*I wrote this article for Computer Society of India, 12 years back and It's fascinating that every bit of it is very relevant even today. There are something things that not change and I believe fundamentals of Computer Science is one of them.
Disclaimer: I’m not a Hacker. From the know sources I put this before you.
In the internetworking and computer network engineering, Request for Comments (RFC) documents are a series of memoranda encompassing new research, innovations, and methodologies applicable to Internet technologies.
There are about 8500+ RFC’s (4500+ when I wrote it 12 years back) for you to look up. It is not a surprise to know most of the internets standards are adopted by IETF are from proposals made in RFC’s.
The Art of Computer Programming:
The Art of Computer Programming is a comprehensive monograph written by Donald Knuth which covers many kinds of programming algorithms and their analysis. It comprises of 4 volumes and self-sufficient to maneuver your programming skills.
Rather than me saying about this book, let’s look the other way.
Bill Gates: “If you think you’re really good programmers… read (Knuth’s) Art of Computer Programming…”
Steve Jobs:” You should definitely send me a resume if you can read the whole thing.”
Lego Bricks or Black Box:
Recently I came across a conversation which goes like this,
New: I wanted a new toy car, and everybody’s raving about how great Lego cars can be. So I bought some Lego, but when I got home, I just had a load of bricks and cogs and stuff in the box. Where’s my car??
Old: You have to build the car out of the bricks. That’s the whole point of Lego.
New: What?? I don’t know how to build a car. I’m not a mechanic. How am I supposed to know how to put it all together??
Old: There’s a leaflet that came in the box. It tells you exactly how to put the bricks together to get a toy car. You don’t need to know how, you just need to follow the instructions.
New: Okay, I found the instructions. It’s going to take me hours! Why can’t they just sell it as a toy car, instead of making you have to build it??
Old: Because not everybody wants to make a toy car with Lego. It can be made into anything we like. That’s the whole point.
New: I still don’t see why they can’t supply it as a car so people who want a car have got one, and other people can take it apart if they want to. Anyway, I finally got it put together, but some bits come off occasionally. What do I do about this? Can I glue it?
Old: It’s Lego. It’s designed to come apart. That’s the whole point.
New: But I don’t want it to come apart. I just want a toy car!
Old: Then why on Earth did you buy a box of Lego??
One thing is clear from this conversation that we as a passionate software engineers should be dare enough to play with the bricks and not the black box kind of proprietary software. This is provided by the GNU project started by the passionate programmer Stallman. This is where you can live in freedom and have access to the source code and modify to your needs. (Building toys)
P.S: Interestingly if you can master the three fields you can open your doors to become a hacker. After all what a hacker wants Extreme programming skills, Networking knowledge and an OS to work with. Well! This is not the end. In fact, who am I to say the cardinality of the skill set is only 3 fields?