Who

The One True Index

There is a great scene in the film High Fidelity where one of Jon Cusack’s
buddies comes over to see if the wants to go clubbing, and finds Cusack on the
floor of his apartment surrounded by piles of records. He asks how he is
filing the albums, and after some discussion, Cusack spills the beans:
“Autobiographical.” I don’t think I own as many records as the character in
High Fidelity, but in my few decades on this Earth, I have accumulated a
small pile of albums and CDs. I don’t find storing the albums much of a
problem. The records don’t take up that much horizontal space, and it’s easy
to keep them in roughly alphabetical order.

However, I’ve never had any luck finding a nice filing system for CDs.
Multiple factors play into this.

1. I hate jewel boxes. They are ludicrously large for what they do. But
without them it’s hard to browse the disks by the spine of the box.

2. No good shelving.

3. Internal fragmentation. I always find myself running out of one sort of
room or another and needing to shuffle the disks around and constantly refile
them.

The result of this is that for the last eight or nine years, I’ve just put my
CDs in a big pile.

To make things worse, the advent of iTunes means that I now spend most of my
time interacting with my CDs via their ripped representation in the computer.
The computer makes it easy to find the music, you just type in the search box.
But now I have a tendency to rip a disk and completely forget about it, and
then it is lost forever. You really need to keep the disk around for the
little liner book and other information that iTunes
misses.

Then, one afternoon, I found the perfect solution. It is axiomatic that there
is one true way to keep track of information in a computer. You store your
database as a collection of items, each of which has various distinguishing
attributes. Relational database technology teaches us that organizing the
information by any given attribute is suicide, since it makes reorganizing
based on other atttributes hard.

Therefore, take your item and give it a single unique immutable serial number.
Then, on the side, build a bunch of indexes that map the various attribute
values to the serial number.

We practice this method on this here weblog. Each article gets a number and
then google maps keywords to article numbers which happen to be encoded in the
URL.

For CDs, the logical way to apply this principle is:

1. Give every CD a number as you rip it.

2. Put the number in iTunes. Then you can find any CD you own just by
searching iTunes the same way you always do.

3. Store all the CDs in a box, ordered by serial number.

This system avoids most of the problems that used to annoy me. I never have to
shuffle the disks to make room, because I’m only ever appending disks to the
collection. I can store the disks in handy little plastic sleeves because I
don’t need the jewel box spine to allow me to find them anymore. Finally, I
can fit most of my CD collection into a relatively small space. A couple of
dresser drawers.

There are only two disadvantages, one of which is inherent in CDs as a medium:

1. You can’t spend an afternoon running your finger along the spines of your
records and looking at the nice huge covers. This is because CDs only come
with teeny little thumbnails.

2. The index is stored in iTunes, so I have to be careful not to lose it.

These are minor annoyances at best. The new album view in iTunes is like a
little virtual bookshelf that never runs out of room, and I still have my
actual LPs to fondle when I get the urge. I also have to back up all those
songs anyway, lest my iPod become as a brick.

So, there you have it. For better or worse, database engineering intrudes into
yet another aspect of daily life. I’ve been slowly ripping, numbering, and
filing my disks over the last few months whenever I have a few free minutes.
At the current rate, I should be done in a few years.

Addendum

I should note that this scheme was not entirely of my devising. A similar idea
came over the chat system (thanks pdinda) one afternoon.. My only real
contribution was buying the dresser drawers.