Posted by: Dylan | October 12, 2009

The Three Branches of…Hacking?

The number three is a very common number. When you start a sentence where you have multiple ideas, you will often find yourself saying, “There are three ways to think of it” or something similar before you’ve even fully formulated your list. Where this comes from is hard to determine, though three does seem a common number. (No joke, the exact time I’m writing this sentence is 3:03 PM CST. Which says more about not blogging during class then it does about the power of three.)

Of course, three is an oversimplification most of the time. There aren’t actually three branches of US Government (bureaucracy is the fourth branch, the media is the unofficial fifth branch, and let’s not forget various inputs and factors and federal and state governments, etc—you didn’t think that having classes on political science was pointless, now, did you?), but we still divide it into three branches because it’s simple, and makes the most sense for checks and balances and separation of powers and the like. And, while it may not be immediately obvious, we kind of divide hacking/technology into three separate fields as well: Computer Science, Computer and Electrical Engineering, and Information Technology and Sciences.

“But wait,” I hear you say. “Hacking is about programming. That’s computer science, right?” (By the way, if you still need a primer on hacking, see my about page and the websites I link to. Hacking ≠ cracking).  This might very well be accurate, but programming is no longer limited to computer science. From application programming and database programming to complex AI constructs and NP-complete algorithmic structures to HDLs (hardware description languages) and Prolog (logic programming), it has become impossible to argue that programming is a specific field of computing. Programming is now the core tool which all computer technology is centered around.

So, what is modern computing about? How do we decide whether to major in Computer Science or Computer Engineering or Software Engineering or Electrical Engineering or Information Technology and so forth? How do we determine where we want to work, and what we want to do? Knowing that you’re interested in computers and programming simply isn’t enough anymore.

The new challenge is exploring all fields of computing technology and their applications. The hacking community places a strong emphasis on education, be it self-taught or otherwise. The key to educating yourself on various technology topics is knowing what to look for and how to find it.

I believe that the absolute best method of education in these circumstances is to learn by doing. The graphic below shows some basic technology tasks on a three-pronged spectrum, illustrating (somewhat poorly) where different tasks fall along the lines of technology and understanding. The encouragement is there, though: set up a server, design a program, design a circuit, read about various search algorithms. The challenge is not to master everything, but to find your own interests.

Three Branches of Hacking with Associated Tasks

Three Branches of Hacking with Associated Tasks

One final word to the wise. The world of hacking is a vast expanse filled with tons of fascinating things, and a huge part of the attitude is finding interesting problems and challenging yourself at tasks you find fascinating. Don’t be surprised if the world completely absorbs you and leaves you surrounded by technology with no way out, and don’t worry if this search makes you even less sure of what you want to do with computers and even more interested in them. The truth is for those who are interested by computers, the world is filled with tools to explore them and get lost in them. Whether that’s a good thing or a bad thing just depends on how much time you have. Oh, and don’t feel alone in this endeavor. Expect next week’s post to go even further into this, perhaps beginning a basic tutorial to exploring computers through programming or something similar.

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Categories

Follow

Get every new post delivered to your Inbox.