Recently I've been on a hacking high, touching a lot of code, and in touch with a lot of cool programmers. In retrospect I'm surprised at the variety of stuff I've been doing, so I thought I'd write a short list.
Open source
Javascript
- I added support for Twitter's "lists" to seaofclouds' tweet.js widget: see my clone on github. You can see it in action at the bottom of this page.
Clojure
- Congomongo - Clojure's de-facto standard library for accessing MongoDB - had no support for MongoDB's file GridFS file storage scheme, so I added it.
- When I've only had a few spare minutes, I've been filling in a few missing Clojure examples on Rosettacode. It's a great way to share knowledge, learn new libraries and algorithms, and solve puzzles.
- I've contributed minor patches to Leiningen, the Clojure build tool.
Ruby
- Accepted some patches for my darcs-to-git repository conversion script. (See my original article about this.)
Python
- I've agreed to review (but not write) the unit-testing chapter of the PSF's planned Python book. Although I wrote the unittest module, I'm no longer an active Python user or member of the community.
Emacs lisp
- My haml-mode patch for colorizing "filter:" blocks in haml files has been committed upstream, so now textile, markdown, javascript and ruby portions of these files are font-locked correctly.
- Naturally, while I've been doing all this diverse hacking, I've been tweaking my emacs config quite heavily.
Misc
- As I recently blogged, I customised emacs-handler and have played with full-screen support for Cocoa Emacs.
Closed-source
I have two main closed-source projects on my plate. The first, our site about celebrities and the charities they support, has seen me doing a bunch of Twitter API hacking recently.
The second project, currently Top Secret, is a Clojure data-oriented website, using MongoDB and fun stuff like geocoding and data mining.
Thoughts
The programming ecosphere is more diverse than ever, and there are more powerful tools available to programmers than ever before. It's thrilling to be involved with this, and to aid in the cross-pollination of tricks, skills and idioms between unrelated projects.
As a work-from-home entrepreneur, collaborating remotely on open (and closed) source projects with interesting people is a surprisingly good proxy for having real officemates.








Thanks Christian. That's a nice scheme if there are no dependencies between the init-*.el files -- I'm not sure that's strictly the case with mine, but I might spend a bit of time figuring it out. The order of files returned by directory-files can be system-dependent, so I'd be wary of obscure problems on other platforms that might result from a different loading order.
thanks for sharing your emacs config.
i especially like your init-... convention. i myself have a ...-activator pattern, and looking at your .init-file i got the idea that requiring all those init-...-files by hand is kind of boring coding. so i tried to collect my -activator files automatically ... this is what i came up with adapted to your init-files:
(require initfile))
what do you think?