I have been misled by my understanding of a "Hacker". I've always thought and believed that "hacking" is a selfish act.. an act of abusing intellectual ability.
When I was young, back then, CDs were burned at the highest speed of 32x.. my CDROM can only read those burned up to 16x. It was a terrifying fact that I cannot buy the high end CDs because of financial limitations. I had to stick by the 'old' CDs that were sold at a cheaper cost because they had to get rid of the 'slow' CDs. I end up scavenging those CDs that nobody would even like. I take whatever interests me. Sometimes its frustrating to find the ebook CD you want burned at a higher speed I cannot read. At worst, the seller doesn't even know the speed used for burning and sell out a copy that I cannot even use. But there is one though that I wanted and was burned at a lower speed.. it was a "Hacking Tools" CD.
This was one of my favorite CDs. I learned that the CD I bought won't teach me anything about 'good' pride. By good, I mean the pride that you get from giving your projects a good thought, ample time of planning and rigorous code development. It taught me about 'bad' pride. It showed me a lot of 'instant gratification' coding. I'd like to call these tricks and 'hacks'.
With this, it kinda stuck in my head that 'hacking' is a negative term. I have confused the "Masters" with the "Crashers".
Hacker is a term used by some to mean "a clever programmer" and by others, especially those in popular media, to mean "someone who tries to break into computer systems."
-as defined by http://searchsecurity.techtarget.com
A Google search even defines a hacker in a positive manner for only 6 out of 22 relevant results. Now, the term 'hacker' is coined with the malicious exercise of good knowledge. Among geeks, this term is no longer used as an epitome of greatness. You can either be called a guru or master for that matter, but no longer a 'hacker'. It has died out to bring birth to the more famous 'cracker'.
Crackers, they gave Hackers the bad name. They were the ones who brought about leetspeak or (l33t). More of the currently accepted norm of 'cool teenage computer knowledge' came from crackers' practice.
Cracker: Hackers who break into computer systems with the intent of doing harm or destroying data.
Programming and IT is usually compared to love, religion and even gender. People are always opinionated and even the dictionary couldn't keep up with how we define certain aspects of it.
I have recently heard someone who coined in his own version of "Two different types of programmers". He said, (1) was the hacker type, and that the other (2) was the one who loves to plan and structure his work. I guess, for me, it can't be helped that my brows met upon hearing this.
My closest friends and even my better half knows me as someone who advocates good thought, ample planning and right coding.. ALL THE TIME. But where would I belong in his category of developers? Aren't hackers actually good? Let's see..
The true hacker
Eric S. Raymond's document on How to Become a Hacker describes it all. Two things I'd like to cherish from this document, are the Attitudes and Basic Skills.
The world is full of fascinating problems waiting to be solved. I agree. There is actually a lot to learn, discover and contribute to. Everyday, brilliant minds share their thought over the internet and even pitch in new interesting problems. No hacker should actually lack something good to do.
- No problem should ever have to be solved twice. That's why there are coding principles such as DRY, YAGNI, and KISS or even OAOO that envelope the understanding that nothing should be unnecessarily repeated. Aside from the fact that repetition wastes your energy, there is no amount of justification that time spent coding something will be indispensably useful to other codes/programmers.
- Boredom and drudgery are evil. An idle mind is the devil's workshop. Isn't always true?
- Freedom is good. Yup. I really think so. If freelancing could actually pay my rent and more.. I don't think I would be in an office. ;)
- Attitude is no substitute for competence. Work harder than you think you possibly can. Competence is a must. Even if you do have the attitude, aim for the unviably beautiful work that you can ever produce.. all the time.
I think that programmers in their good sense should still be defined as Hackers.. or maybe they should start acting like one. For me, hackers are like the masters of Kung Fu who are nice, calm and well-mannered. They are like the monks of the IT temple. :) Maybe training to become like them would still take a couple more years.. but I'd better be called a Hacker than a shameless Cracker in the end. :)