Software

(last updated: 2013-04-04.)

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.

Some older projects you may have heard of

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. Here's some LiveJournal-related software.

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.

Evan Martin, martine@danga.com