I write software for libraries and archives. I try to live up to at least the former in Release Early, Release Often, so most of my code musings can be found on GitHub. The idea is things incubate there, and if they ever become anything more than a plaything they migrate to a place like CPAN, RubyGems, PyPI, npm, etc.

I’ve enjoyed using several computer programming languages over the years. I guess it started with BASIC, Fortran and Pascal in the 1980s. I was very lucky to have an excellent computer science teacher in HighSchool. We had a lot of fun.

I started university as an Engineering major, but quickly started changing majors each semester from Philosophy, to Computer Science and finally landed on English Literature. On graduation I didn’t end up doing much programming but returned to it 5 years later when I started a degree in Library Science. That’s when the web was just growing, and I learned HTML and Perl.

Here are a few things I’m particularly fond of that I’ve worked on in the past:

  • anon - a bot to tweet when someone edits wikipedia from a particular IP address range, like Congress
  • wikistream - a visualization of realtime edits to Wikipedia
  • pymarc - process MARC data in Python
  • bagit - a tool to package data using BagIt
  • chronam - software that runs Chronicling America at the Library of Congress
  • id - the prototype that ran at id.loc.gov to make the Library of Congress Subject Headings available as Linked Data.