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.
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.
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.
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.
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.
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.
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 June 2012
Slide to code blog is licensed under a Creative Commons Attribution 3.0 Unported License
Based on a work at http://slidetocode.com/blog