I have written hundreds of thousands of lines of C++ and C code.

While I've been doing C since the 80s, I was an early adopter of and evangelist for C++ for Market Vision Corporation starting in 1991.

I thought I knew what I was doing with C++ when I joined Google in 2004 - but I quickly became aware of the depths of my ignorance when confronted with the level of programming there. Taking advantage of the environment, I created and maintained the Google C++ mailing list and got consistently top marks in annual reviews for the strength of my C++ coding and design.

A lot went on in next five years. A nice high point that is easy to explain was "The Deduplicator".

Google Base was a very large datastore containing "every product in the world" - but it needed to be deduplicated, and the program which did this was taking far too long to complete. I decided that instead of redoing the datastore (a huge task), there was a much better solution using a lesser-known STL class (stl::multimap) and a rewrite of the deduplicator - and then when there was no consensus from the group as to whether it would succeed, wrote the code in several very-crowded days and presented it as a working solution.

The net result was that a job that took 4.5 hours and 400 machines (and wouldn't benefit at all from more machines) became a job that took 28 minutes on 50 machines (and could expand to use more).

Another little high-point that apparently still exists in the codebase was compareIgnoreCase. I had made a tiny optimization to a string utility. The reviewer commented that the real bottleneck around there was compareIgnoreCase() - a function that compared UTF-8 strings regardless of case - because it made a lowercase copy of each string and then compared them(!)

The next day was a rainy Saturday, and my plans were rained out, so I rewrote compareIgnoreCase as a tiny function which used no heap memory, less than 32 bytes of stack memory, and with orders of magnitude greater performance (10 times faster on on a random set of "short sentences" and far over 100 times faster on long texts...) and last I heard was still in active duty in the code.

More recently, I implemented a complete rewrite of World Wide Woodshed's popular musicians' practice tool, SlowGold, in cross-platform modern C++14 for Mac and PC. This small but slick and powerful application uses the excellent JUCE cross-platform C++ development library, a general purpose toolkit with an emphasis on digital audio and a strong user community where I am an active member.

For my own entertainment, I also wrote a C++ extension for Python that does fast color arithmetic for my experiments with LED strips and matrices. Named timedata, it uses modern C++ generics and the Cython system to do fast calculations on an extensible collections of color models.