The Heart of a Hacker

This article originally appeared in issue 29:1 of 2600 Magazine’s The Hacker Perspective column.

The Jargon File provides several widely accepted definitions for the term hacker, the one of which I find most suitable is “one who enjoys the intellectual challenge of creatively overcoming or circumventing limitations.”1Countless others define hackerdom in terms of personality types, temperaments, tendencies and habits generally associated with computer enthusiasts. These definitions serve us well on a superficial level; however, I seek to define hackerdom in terms of something much more broad and encompassing. I aim to reveal something I don’t believe anyone has before: the heart of a hacker. Maybe we haven’t done this because we find comfort behind veils of secrecy and anonymity; today, I’ll do what hackers do best: fly in the face of established norms.

My name is Austin. I’m a married 24-year-old Caucasian protestant middle-class English-speaking citizen of the United States currently earning a dollar and a half above minimum wage. I have never committed a single line of code to an open source project; I have never reverse engineered a binary in hexadecimal; I have virtually no karma or presence on Slashdot; baud-rate connection speeds entirely predate me; I took one semester of junior college, and I installed my first Linux distribution less than three years ago―but I am most certainly a hacker, and so are you.

Many ask, “What is a hacker?” or, “how can I become a hacker?” These questions find a basis on the incorrect assumption that we define a hacker primarily by what we do rather than who we are. Hackerdom, rather, comprises a broad set of faculties and proclivities that I believe everyone possesses to some degree: critical thinking, creativity, inquisitiveness, problem solving skills and a hunger for knowledge, to name only a few. As such, most self-proclaimed hackers agree that, for example, every inventor that ever lived qualifies for the title “hacker.” What they may not agree about, yet what I find resoundingly true, is that everyone who ever lived behaves hackishly at times, and most people hack almost every day of their lives—even if they don’t know it.

Consider the dime-a-dozen women who master the art of manipulation by using their charms to get what they want from men: curiously reminiscent of what hackers call “social engineers.” Hacks don’t require computers or even complexity, only creativity. The Jargon File offers that “hacking might be characterized as ‘an appropriate application of ingenuity’.”2 Hacks usually involve finding a use for something beyond its designed purpose. For example, my wife used her collection of miniature hair clips in lieu of clothespins on our clothesline: a worthy, yet very simple hack. Likewise, my father hacked a tuna fish can by cutting off the bottom and using the resulting metal ring as an egg mold to make campfire egg muffin sandwiches. In fact, though he rarely applied his hackishness to computers, my dad was the most brilliant hacker I know. He found joy in innovation: making the existing process faster, more efficient, cheaper, easier, and ideally, all of the above. One day he was painting wooden siding for a home remodel, and found that he could shave minutes off the time it took to paint a slat of siding by drizzling a bead of paint down the length of it first, rather than applying paint solely with a brush. Surprisingly, his boss didn’t like this at all and insisted that he paint them “correctly,” even though his new technique resulted in a more even coat and faster application. The tragic lesson we learn time and time again remains that people take grave offense when bested, a lesson the Mentor writes about in his Manifesto: “My crime is that of outsmarting you, something you will never forgive me for.”3

If you’re asking yourself “how do I become a hacker?,” you ask amiss. Perhaps you should ask instead: “How can I cultivate and nurture the hackish qualities I already have?” The answer is as unique as you are, and don’t ever succumb to the lie that hackerdom is some exclusionist, elite meritocracy that few can ever aspire to. Yes, the Mentors and Mitnicks who truly define our generations deserve much credit, but their exploits by no means comprise the entirety of hacking—or even most of it. My hacks definitely won’t ever make the headlines, and many who frequent the likes of Slashdot would laugh down their nose at me for mentioning them, yet they remain treasures of intellectual accomplishment to me.

Back in high school I spent most of my lunch in the library computer lab, and of course, WebSense censored our Internet connection and denied access to hacking resources, along with most proxy services. My solution: set up my own proxy service on my home PC. I found that all I had to do was set up Apache with Perl and CGIProxy on my Windows XP box and leave it running during the day. I also enabled terminal services so I could use remote desktop if I wanted. I memorized my WAN IP and could then browse freely from school. However, a problem arose when the librarians would look over our shoulders to make sure that we weren’t breaking the rules. Since the librarians knew what proxies could do, I had to change the CGIProxy default splash screen to something more innocent. Ultimately, I decided to copy and paste the HTML from Google’s home page over that of the CGIProxy splash screen. Whenever I wanted to read Phrack or check 2600.com, I “searched Google” for the domain I wanted, which then took me to the proxied domain, and I avoided all suspicion! I also used my little Apache box as a crude homework repository. I organized all my assignments into school years and classes, which were all available to print from any computer in school at any time. This came as a Godsend in a pre-flash drive era when it seemed that one out of five floppies failed on my way to school, and home printing came with a hefty price tag.

The hack that gratified me the most, though, came from my creative use of MSTSC, or Microsoft Terminal Services Client. As mentioned previously, I opened port 3389 on my home box so I could use remote desktop from school. Now, school computer policy explicitly forbade downloading software either from the ‘net or from personal media, but since MSTSC is a built-in part of Windows XP, I found a delicious loophole that I exploited liberally. I terminaled to my home box daily to extract freshly downloaded warez, start new downloads, or run programs that school PCs couldn’t (e.g. IRC). Before long, the network admins began to battle my hacker friends and I for a way to block MSTSC. They set up a policy that prevented the execution of any file called “mstsc.exe,” so we just copied the binary into our personal folder and renamed it “not_mstsc.exe.” Then they blocked it by the internal program name, so we fired up reshack (Resource Hacker) and changed the program name, icon and title bar text to resemble an Internet Explorer window with a Google search for “chemistry.” Eventually the librarians decided to turn me in to the assistant principal on the grounds that I had a “downloaded program” in my personal folder (not_mstsc.exe). I carefully explained to him the nature of MSTSC and how I had not broken any school policies by using it. A look of disappointment fell on his face when the district helpdesk confirmed my explanation. I left his office without any disciplinary action as he, with a look of curiosity, tried his credentials to terminal into the district domain controller.

A more recent application of ingenuity solved my perpetual issue of Internet connectivity on Linux live distributions. I enjoy running live distros like Clonezilla, Trinity Rescue Kit and Knoppix. Most older or more minimalist distros come packaged with only wired ethernet drivers, which leaves me to install wifi drivers if I so choose. For reasons I won’t outline in detail, my home office never seems to find its place in the same room as the router, and running a hardwire has never been practical. As such, for the last five years or so my only connectivity has traveled over 802.11. This doesn’t hinder me most of the time, but sometimes the only practical means of getting online comes from a hardwire (no, I’m not going to install a wifi driver every time I boot TRK). The brilliant solution came from one of the most unlikely places: Maximum PC. They recently ran an article about the latest generation of wireless routers, and devoted a small corner of one page to what one could do with the older router. The last suggestion said that some routers, when loaded with third party firmware, could act as a “client bridge,” which effectively turns it into a universal, 4-port wireless adapter. Quite coincidentally, my grandparents sent me home with a “broken” Linksys WRT54Gv6 router only a few weeks before. I checked DD-WRT’s HCL, and sure enough, my router was on it. I devoted half a Saturday to carefully reading the flashing instructions, which proved much more difficult than usual since my router revision comes with only 2MB of flash. To my delight, I found that the version of DD-WRT I used not only supports “client bridge” mode, but also “repeater bridge” mode, which also acts as a wireless repeater. The solution worked beautifully. Now I have a 4-port 100Mbit switch in my office, an amplified wifi signal in my house, and no matter what distro I boot, it can pull a connection through the LAN.

The lesson isn’t how “elite” I am, but rather that I applied my aptitude to solve a problem in a creative way, and even without breaking the rules. My repeater bridge solved a problem I’ve wrestled with for years, at zero out-of-pocket cost and only a few hours of tinkering. Even better, I put to use an otherwise useless piece of hardware. Elitist hackers may scoff at my “infantile” solutions with comments like “why didn’t you use an SSH tunnel, or run Slackware 6 to host your site? You mean you didn’t compile Apache and Perl from source?” I find in this the most repugnant tendency in the hearts of self-proclaimed hackers and computer enthusaists: pride. After successfully installing and configuring Arch Linux on my newly-acquired laptop, I felt finally at home in the world of Linux and decided to visit the Arch IRC channel to join in camaraderie with my brethren. Upon reading the rules and MOTD, I thought it reasonable to introduce myself politely as one who heartily enjoys Arch in favor of nearly every other distro I’ve tried. The first response I got came in the form of a “cookie” from the IRC bot, compliments of a rather stuck-up idler. It carried the message, “here, have a cookie because you figured out how to follow a tutorial on installing Arch Linux all by yourself.” This attitude infects our ranks and kills our prospects at an alarming rate. Why should anyone try to join the brotherhood of hackers if he or she will find nothing but revulsion? Aren’t there enough consolidated masses arrayed against our kind to merit just a little hacker solidarity?

My message to the aspiring: don’t give up, even when those from within bring you down. If you solved a problem in a creative way, learned something that came very difficult to you, or saw something old in a new light, you hacked, and are, by extension, a hacker. Don’t let anyone convince you otherwise.

My message to the accomplished: practice tolerance, kindness, and even love to those of us who haven’t reached your level yet. Don’t feel threatened by a little competition, and don’t narrow your view of hackerdom to only include you and your particular milieu. Mentor an adept, support the seekers, and don’t ever forget where you came from. After all, we’re all alike.

Works Cited

  1. Raymond, Eric S. “Jargon File”

    Hacker. 29 Dec. 2003. Web. 24 Aug. 2010.

    <http://catb.org/jargon/html/H/hacker.html>

  2. Raymond, Eric S. “Jargon File”

    Meaning of Hack. 29 Dec. 2003. Web. 24 Aug. 2010.

    <http://catb.org/jargon/html/meaning-of-hack.html>

  3. Blankenship, Loyd. “Phrack.”
    The Conscience of a Hacker. 8 Jan. 1986. Web. 23 Aug. 2010.
    <http://www.phrack.org/issues.html?issue=7&id=3>

Leave a Reply

Your email address will not be published. Required fields are marked *