Over the weekend I wrote most of a portable exif data reader for Common Lisp. I'm going to use it to copy files from my digital camera to a directory named by the exposure date of the image, e.g. "2005-12-01", and to inform jpegtran how to transform the image so the top-left of the visual scene is at the top-left of the image file.
I was playing around with it and made this screenshot:
It shows the amount of time and code needed to fetch the Exif thumbnail from a bunch of images and write them out to a directory.
I'll post a link to the source when I've finished the documentation.