> (I realize my first paragraph puts a moral imperative on me posting a link to my code of this, but alas my two evenings of work on this were wiped away when I thought it would be a good idea to experiment with using Scons as a build system and then accidentally switching the order of two arguments somewhere, causing my .cpp file to be overwritten with an empty file).
I hope that has taught you to use version control.