Robot Librarian
Disclaimer: I'm not actually a robot.

Help me test yet another LC Callnumber parser

Thu, Jan 30, 2014

Those who have followed this blog and my code for a while know that I have a long, slightly sad, and borderline abusive relationship with Library of Congress call numbers.

They're a freakin' nightmare. They just are.

But, based on the premise that Sisyphus was a quitter, I took another stab at it, this time writing a real (PEG-) parser instead of trying to futz with extended regular expressions.

The results, so far, aren't too bad.

The gem is called lc_callnumber, but more importantly, I...

New blog front- and back-end

Tue, Dec 17, 2013

A while back, Dreamhost had some problems and my blog and assorted other websites I help keep track of went down.

For more than two weeks.

Now, I understand that crap happens. And I understand that sometimes lots of things happen at once. But fundamentally, their infrastructure is such that they could lose everything on a machine and be unable to get it back for more than two weeks. I'm not a mathematician, but that's not "five-nine" service.

So, I decided to start hunting around for another...

Announcing "traject" indexing software

Mon, Oct 14, 2013

[Over the next few days I'll be writing a series of posts that highlight a new indexing solution by Jonathan Rochkind and myself called traject that we're using to index MARC data into Solr. This is the introduction.]

Wow. Six months since I posted here. What have I been doing?

Well, mostly parenting, but in the last few weeks I was lucky enough to get on board with a project started by Jonathan Rochkind for a new JRuby-based tool optimized for indexing MARC data into solr. You know, kinda like...

Please: don't return your books

Tue, Feb 12, 2013

So, I'm at code4lib 2013 right now, where side conversations and informal exchanges tend to be the most interesting part.

Last night I had an conversation with the inimitable Michael B. Klein, and after complaining about faculty members that keep books out for decades at a time, we ended up asking a simple question:

How much more shelving would we need if everyone returned their books?

Assuming we could get them all checked in and such, well, where would we put them?

I'm looking at this...

Ruby sidebar: Using rvm on the shebang (#!) line in a script

Fri, May 4, 2012

Just throwing this up here because I didn't find it elsewhere.

I want to run ruby scripts from the command line or in a cronjob, and I do not want to always have to type "ruby scriptname".

But, I use rvm. I want to run a particular ruby, maybe identified by an alias, maybe with a specific gemset.

It turns out you can use the env program with rvm do to accomplish this.

2    #!/usr/bin/env  rvm 1.9 do ruby
4    require 'mygem'
5    o =
6    # blah blah blah

In this...