The seven wonders of a hacker's world

It's not an innovative title, but it's a great excuse to step back and review what hackers have done well, so, in no particular order, here are the projects that I think represent the seven wonders of the technology world.

CryEngine

I watched a stunning video showing Cry3's physics engine last week, then another yesterday on the upcoming Unreal 4 engine. More memorable than Unreal 4's visuals is the unremarkable comment by the level designer that to light your world, you place a sun in it.

Game lighting is no longer a case of balancing ambient, diffuse, and specular components to achieve a passable imitation of realistic lighting, you build your world and give it a sun, the engine simulates the rest. Game engines aren't the stylised facsimiles of the world I remember from my youth, they have become simulations of the world, and going by the soft body physics in Cry 3, they are pretty good ones.

Don't read too much into my choice of CryEngine over Unreal's lighting, or Id's sparse voxel octrees, but physics trumps lighting when it comes to simulating our world so I went with Cry.

Google's V8 Javascript engine

V8 hasn't made it onto the list because I appreciate javascript as a language, it is here because it is so damn fast. Surprisingly, unpredictably, and unreasonably fast. In fact it is so fast, that in at least one benchmark it is regexes more quickly than C, and this benchmark shows javascript to be a defensible choice for fastest statistical language, sometimes outperforming Matlab by a factor of a 1000. Javascript shouldn't be that fast; it was designed for minor scripting tasks and it is as dynamically typed as they come, so why doesn't it languish at the back of bechmarks with other languages in its class such as Perl, Python and Ruby?

The credit lies with V8. In general Javascript doesn't outperform anything, and historically it was as slow as other languages in its class; Google's V8 engine was the magic ingredient. I don't know how Google's engineers did it, but they beat the old cliche and made a silk purse out of a sow's ear when they wrote V8.

V8 has accelerated web apps just as Google hoped it would, but its blistering performance has promoted javascript into the realm of the backroom server. Node.js could never have existed without V8, so Node's existence is further proof of how the V8 design team achieved the impossible.

LaTeX

Technology's great legacy will be its democratising effect. Blogs made everyone an author, Expedia broke the hegemony of travel agents, and web cams have made everyone a porn star. LaTeX's gift to us all is the ability to write beautiful documents. It makes no guarantees that your content is worth reading, but you can be sure it will be beautifully laid out.

This isn't a simple trick to perform, and fourty years of performing it has left the LaTeX distribution slow, bloated, and temperamental, but when you need the best for your document, there is nothing like LaTeX.

Autopilots

I couldn't decide whether to include the recent 787, the pilotless global hawk or the software systems that guided the spirit and odyssey to softs landing on mars. Instead I'm taking their common thread - the autopilots. Flying is not a simple skill, and although autopilot software may not be at the cutting edge of artificial intelligence research like chess playing software is, it does perform a great service for the human race. Besides, any software package that can take 200 tonnes of plane, passengers and luggage from a runway in London, and guide it across the atlantic to a 15m x 50m patch of tarmac in New York is just plain cool.

Lisp

A programming language had to appear somewhere on this list and I chose the Lisp family, the traditional weapon of choice for the hacking elite. Its longevity certainly contributes to its stature, but Lisp isn't just a 50 year old Kool aid. Whereas most languages are packaged with bulging featuresets, Lisp presents the hacker with the building blocks of a language, and the flexibility to craft it into a language perfect to any task.

Perhaps the most convincing justifications for Lisp's place on this list are the hundreds, if not thousands, of variants created since its introduction. It isn't just possible to experiment with Lisp's syntax and perfect the language, it is worth it. Even now, fifty years after its introduction, Lisp is lighting up the notoriously fickle world of technology under the banner of Clojure.

Linux kernel

The "one-liner" is often deemed to be the pinnacle of the hacker's art. It is the triumph of resourcefulness and brevity over vast quantities of code, documentation and test suites, which are a little too reminiscent of a cube farm. Despite is size.

Linux was almost dropped from my list because, like the logic gate and the internet, it is one of the pillars of a hacker's world, but I kept it because it was created by hackers, for hackers, and it is here to represent all the great open source projects (mysql, apache, gcc et al.) without which the tech world wouldn't work as slickly as it does.

The hashtable

Choosing a hashtable could be seen as sending this list out with a whimper rather than a bang, after all when I think of a hashtable, I think of undergraduate CS courses and standard libraries, not the technological equivalent of the pyramids. However, for those of us in what is often called the information industry, organising and finding information is our bread and butter and no tool is more used for this task than the humble hash table.

I say humble, but a hashtable's high-level design is a remarkable piece of Computer Science, and when implemented well it can be an even more remarkable piece of Software Engineering. Potentially a Relational Database such as MySQL could have filled this slot on my list, or possibly the B+ tree that so many databases are built on, but neither of these play such a fundamental role in a hacker's life as the hash table, so despite their often awesome scale, none of the hashtable's competitors actually organise as much data as the hastable.

Attractive to theorists and engineers alike, the hashtable has been on the frontline of data processing, storage and mining since its invention in the fifties, and that is why it is the perfect hack. It is simple, it is robust, and it has almost unlimited usefulness.

Posted on 15 Jun 2012

Creative Commons License
Slide to code blog is licensed under a Creative Commons Attribution 3.0 Unported License.
Based on a work at http://slidetocode.com/blog/.