The idea of hacking may conjure stylized images of electronic vandalism, espionage, dyed hair, and
body piercings. Most people associate hacking with breaking the law and assume that everyone who
engages in hacking activities is a criminal. Granted, there are people out there who use hacking
techniques to break the law, but hacking isn’t really about that. In fact, hacking is more about
following the law than breaking it. The essence of hacking is finding unintended or overlooked uses
for the laws and properties of a given situation and then applying them in new and inventive ways to
solve a problem — whatever it may be.
The following math problem illustrates the essence of hacking:
Use each of the numbers 1, 3, 4, and 6 exactly once with any of the four basic math operations (addition, subtraction, multiplication,
and division) to total 24. Each number must be used once and only once, and you may define the order of operations; for example, 3
* (4 + 6) + 1 = 31 is valid, however incorrect, since it doesn’t total 24.
The rules for this problem are well defined and simple, yet the answer eludes many. Like the solution
to this problem (shown on the last page of this book), hacked solutions follow the rules of the system,
but they use those rules in counterintuitive ways. This gives hackers their edge, allowing them to
solve problems in ways unimaginable for those confined to conventional thinking and methodologies.
Since the infancy of computers, hackers have been creatively solving problems. In the late 1950s, the
MIT model railroad club was given a donation of parts, mostly old telephone equipment. The club’s
members used this equipment to rig up a complex system that allowed multiple operators to control
different parts of the track by dialing in to the appropriate sections. They called this new and
inventive use of telephone equipment hacking ; many people consider this group to be the original
hackers. The group moved on to programming on punch cards and ticker tape for early computers like
the IBM 704 and the TX-0. While others were content with writing programs that just solved
problems, the early hackers were obsessed with writing programs that solved problems well. A new
program that could achieve the same result as an existing one but used fewer punch cards was
considered better, even though it did the same thing. The key difference was how the program
achieved its results — elegance.