Category Archives: library

Library book reminder script – Perl geeking required

W- and I borrow lots of books from the library. This script helps keep order in the house by reminding us when either of us have books that are due. I’ve removed our information from it and have made no efforts to make it user-friendly. Perl geeking required.


(It’s really a .pl. Can’t be bothered to mess around with forcing content type at 1:10 AM…)

Here’s the one that generates the RSS file that’s pulled into the right sidebar of my blog:



Library Elf is awesome


When I blogged about my totally small-school library reminder script, Claudine recommended Library Elf, which helps people manage their library loans. I hopped over and set weekly reminders to go out on Sunday, just before my Monday book runs. I just got my first reminder e-mail from them, and I am impressed. C’mon. Look at that screenshot. It tells me when books are due and when my holds expire. If I hover over the links, I can see which books they are. The lists of holds ready for pickup and books that are checked out are sorted by date, which makes perfect sense. I can add W-‘s library card and track his books as well. =)

Awesome awesome awesome.

I love you library!

On February 21, when you access the library’s catalogue and your account online, you will see the following improvements

  • Book covers and reviews for many items
  • Receive email notification about holds and overdue material, if you have provided library staff with your email address. After February 21, contact your branch or call Answerline (416-393-7131) and provide us with your email address, if you wish to take advantage of this new service.
  • Ability to suspend your holds request for a period of time – eg. do not fill this hold between July 10 and August 1. Your place in the holds queue is maintained but you are not called if you come to the top of the list between July 10 and August 1. After August 1 your hold becomes active again and you will be called when the item is available.
  • Ability to change the pick-up location for unfilled hold requests.

Toronto Public Library > About the Library > Website Redesign

I can’t wait to see the new interface!

Powered by ScribeFire.

Ruby code to quickly convert titles to ISBNs

I love the Toronto Public Library system. I can’t say that enough. I particularly love how I can go on a reading spree, place holds on a gazillion books, and have them delivered to the library branch that’s about three blocks away from the house.

Ideally, of course, these books would arrive suitably spaced apart so that a new batch arrives just as I’ve finished another. This happens when I request popular books. Most of the time, though, the books that I want to read fall in the Long Tail–obscure titles, books that have fallen off the New York Times bestseller lists, and the occasional random find.

All of these books tend to descend on the unsuspecting library branch at the same time.

There were 27 books waiting for me earlier. The librarian thanked me for clearing the shelf. J- greatly enjoyed piling them into the shopping cart we had the foresight to bring. Yes, I’ve got presentations to prepare and things to do–but reading is fun, and I’m somehow going to find time to read all those books before my three-week loan period is up. I’ll probably be able to renew them, but hey, might as well try.

So I decided I might as well try tracking them on LibraryThing. Instead of typing in all the details manually, I grabbed the list of titles from my account on LibraryElf (good reminder system for books), used ISBNdb to convert the titles into ISBNs (best guess), and imported the list of ISBNs into LibraryThing. Now my profile lists 163 books–a small fraction of the books that have passed through my hands, but it’s better than nothing. Someday I might even get myself a barcode scanner so that I can just pick up the ISBNs from the book jackets.

Anyway, I promised the Ruby code I’d quickly written to convert the titles to ISBNs:

require 'net/http'
require 'CGI'
require 'open-uri'
require 'rexml/document' 

while (s = gets)
  url = "" + access_key + "&index1=title&value1=" + CGI::escape(s)
  xml =
  if (xml.elements["ISBNdb/BookList/BookData"])
    puts xml.elements["ISBNdb/BookList/BookData"].attributes["isbn"]

Takes titles as standard input, prints out ISBNs. Enjoy!

Library shortcuts

Matt Price e-mailed me about this wonderful piece of wizardry he added to YubNub (which is kinda like a command line for the Web). He set up the tpl command, which searches the Toronto Public Library. This prompted me to finally make YubNub the default handler for my Mozilla Firefox address bar, which you can also do by going to about:config and setting or creating the keyword.URL option to

This is good stuff, and one of the many reasons why blogging saves me time and lets me hear about all sorts of interesting things. =) Matt, thanks for sharing!


Toronto Reference Library interior, Toronto, C...

Image via Wikipedia

As I write this, my shelves hold 50 books from the Toronto Public Library (the maximum you can have out at a time), and I’ve placed holds on 46 more (four away from the maximum for that, too).

I really, really, really like libraries.

It’s a great improvement over standing in bookstores, trying to figure out which one of ten books I would get, furtively skimming through books to absorb the content and writing style so that I could pick the keepers (or simply slurp the ideas from the book, and move on).

I still buy books. I buy them to give to friends, or to turn to for handy inspiration.

But oh, the library…

My first memory of a library outside the bookshelves that lined our house was the Learning Resource Center (or LRC) at my grade school. In addition to rows and rows of shelves, it had colorful books in a small carpeted play area. I’d often curl up there with random things I’d pull off the shelves: classic fiction alternated with Disney stories, reference books matched with fairytales.

My high school library had the largest dictionary I’d ever seen, reference books galore, and a decent collection of science fiction and other novels. I remember coming across a list of phobias and manias in a psychology reference once, and being absolutely fascinated by the names that people had given all these concepts. My favorite was trichorrhexophobia, the fear of splitting hairs. But Google can only find one page that has that term (aside from this one, once it’s indexed). Was it a figment of my teenage imagination, or have the years warped the spelling in my memories?

My university library had a computerized system. While I loved the ease of searching the catalog from my own computer (and even wrote a Perl script that scraped the search results into my database), I missed the familiarity of running into the same scrawled names on library check-out cards. But it was a huge library that spanned several stories, and it had so, so many books. I read and read and read.

And now this. Toronto. One of the largest library systems in the world. As a graduate student, I had access to the towering Robarts Library as well. I thought I’d miss the stacks a lot after I graduated, but the Toronto Public Library is immense and I can find almost everything I need (aside from scholarly publications, which I sometimes wish I still had easy access to, but ah well).

Someday, I want to build a library. There’s something about coming across books I would never have searched for, and I want to share that with the future.