Wednesday, October 6, 2010

The Romantic Hacker

MIT has been the site of many famous hacks.  One of the more memorable was the placement of a realistic MIT police cruiser on top of the Great Dome, atop a  building on the MIT campus.  The beauty of this hack was in the effort required and the attention to detail:
MIT Hack: a police cruiser on the Great Dome
The car turned out to be the outer metal parts of a Chevrolet Cavalier attached to a multi-piece wooden frame, all carefully assembled on the roof over the course of one night. The hackers paid special attention to detail. Not only had the Chevy been painted to look just like a Campus Police car from all sides, but a dummy dressed up as a police officer sat within, with a toy disc gun and a box of donuts. The car, numbered ``pi,'' also sported a pair of fuzzy dice, the license number ``IHTFP,'' an MIT Campus Police parking ticket (``no permit for this location''), and a yellow diamond-shaped sign on the back window proclaiming ``I break for donuts.''
Hacking really is about beauty.  Brian Harvey at UC Berkeley goes so far as to declare that a hacker is an aesthete.

A ``computer hacker,'' then, is someone who lives and breathes computers, who knows all about computers, who can get a computer to do anything. Equally important, though, is the hacker's attitude. Computer programming must be a hobby, something done for fun, not out of a sense of duty or for the money...The life of a true hacker is episodic, rather than planned. Hackers create ``hacks.'' A hack can be anything from a practical joke to a brilliant new computer program.  But whatever it is, a good hack must be aesthetically perfect. If it's a joke, it must be a complete one. If you decide to turn someone's dorm room upside-down, it's not enough to epoxy the furniture to the ceiling. You must also epoxy the pieces of paper to the desk.
While in the general sense a hack can be a prank, computer hacking refers more specifically to building a great piece of software that solves an interesting problem, particularly one that is difficult, with extra points for a beautiful or elegant style.  A good computer hack should impress other hackers.

Eric Raymond discusses the hacker attitude in more detail:
1. The world is full of fascinating problems waiting to be solved.
2. No problem should ever have to be solved twice.
3. Boredom and drudgery are evil.
4. Freedom is good.
5. Attitude is no substitute for competence.
Hackers want to spend their time doing something worthwhile.  They reject any authoritarianism that gets in the way --  censorship, secrecy, closed source -- and truly respect those who are competent at very demanding skills.  The disregard for authority sometimes turns hackers into crackers -- someone who breaks into computer systems for fun.  Raymond describes this distinction bluntly:
There is another group of people who loudly call themselves hackers, but aren't. These are people (mainly adolescent males) who get a kick out of breaking into computers and phreaking the phone system. Real hackers call these people ‘crackers’ and want nothing to do with them. Real hackers mostly think crackers are lazy, irresponsible, and not very bright, and object that being able to break security doesn't make you a hacker any more than being able to hotwire cars makes you an automotive engineer. Unfortunately, many journalists and writers have been fooled into using the word ‘hacker’ to describe crackers; this irritates real hackers no end.

The basic difference is this: hackers build things, crackers break them.
This does not mean that a hacker avoids the topic of security vulnerabilities.  A white hat hacker will reveal the problems inherent in the computer systems we depend on so that we can build more robust technology.  A recent example is the team that hacked the SEQUOIA voting machines to run Pac-Man, without breaking the tamper-proof seals:


This is something that ought to concern you.  The security of many voting machines has repeatedly been demonstrated to be extremely poor.  Yet we continue to rely on them in elections across the country.  In 2008, the AVC Edge (the one hacked to play Pac-Man) was used in 161 jurisdictions with almost 9 million registered voters, covering parts of the states of Louisiana, Missouri, Nevada, and Virginia.

Hackers at heart are idealists.   They write code to create beauty.  They pursue freedom because proprietary code creates an unaesthetic inefficiency.  They believe that they should not have to waste time on trivialities, but devote their full attention to solving hard problems and making the world a better place.  They value the authentic achievement over the cheap imitation.

For additional reading, see Great Hackers and  A Brief History of Hackerdom.