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

Most software I write isn't worth announcing, but you can find it on my github.

Some things I've made that you might have heard of

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 Chrome and LLVM developers.

c-repl — a C read-eval-print loop (really!).

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

lmnopuz — multiplayer realtime web-based crosswords.

arabic — a transliteration bookmarklet for typing Arabic on the web; likely obsolete but still a source of visitors to this site.

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

Some other things I've contributed to

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. I was soon hired to help design a Napster clone called Scour Exchange. Few people even remember these sites now.

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.