November 07, 2006

The One True Index

by psu

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.


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.

Posted by psu at November 7, 2006 07:30 AM | Bookmark This

Now we must lobby the recording industry to standardize these index numbers, and place them on the back of the cases in handy, bar-code readable form.

Posted by Eric Tilton at November 7, 2006 10:49 AM

It occured to me to maybe use the bar codes, but they are hard to order in your head. So, making up new small serial numbers works better.

Posted by psu_13 at November 7, 2006 11:43 AM

If iTunes lets you order/search by ID3 comment tags, just use those. That way, any software that can read tags should be able to use the information, should iTunes screw up or should you choose to use another media player. I use this method as a DJ when testing a set on the computer via MixMeister, as it makes collecting the exact vinyl I'll need incredibly easy.

Posted by Evil Timmy at November 8, 2006 07:56 AM

Rather than clothes dresser drawers, Can-Am makes these custom "dressers" for CDs. Check them out at: I have no connection with Can-Am other than the fact I own three of their 3-drawer CD cases. Love 'em.

The drawers have a nice action (even after more than 10 years for one of them) and they look pretty good for metal.

Posted by David Lewis at November 11, 2006 02:29 AM

I actually picked up wanky expensive wooden file drawers from Levenger, and then a kit to add tracks for the CD sleeves. Evidence indicates that one drawer will hold 400 CDs. Not counting boxed sets that I don't want to deconstruct and don't fit, that's about all I own.

Posted by psu at November 11, 2006 07:02 AM

Please help support Tea Leaves by visiting our sponsors.
Post a comment (no HTML. Sorry.)

Remember personal info?

Please enter the security code below to help us prevent comment spam.


November October September August July June May April March February January

December November October September August July June May April March February January

December November October September August July June May April March February January