I have a collection of notes about software on my blog about technology.

Most software I've published is collected on my GitHub.

Some highlights

Google Chrome: I gave it five years, from before release to 2012; I touched many pieces but I'm most responsible for the Linux port. I also wrote a collection of notes about the internals.

Ninja: a small build system with a focus on speed; popular with C developers. (See also n2, a Ninja rethink.)

retrowin32: a Windows emulator.

webtreemap: treemaps implemented using HTML and JavaScript. (See also bloat, a visualization of binary size).

Some other things I've worked on

I was an early contributor to LiveJournal, and later employee. I have fond memories like carrying a server in my lap on the bus to go to LJ's datacenter.

I reverse-engineered some of the Napster protocol and wrote one of the first third-party clients, coincidentally releasing mine the same week as Ryan Dahl. I was then hired to help make a Napster clone called Scour Exchange.

GtkSpell was a spell-check-as-you-type extension used by many GTK programs. I was happy to see it, via Gaim, in a movie.

On a drunken dare I made a Windows-native theme engine for GTK. It eventually morphed, after removing all my bad code, into the standard Windows GTK theme.

I wrote some moderately popular Greasemonkey userscripts. One made it into a book.