This page gives a brief history and background to my bootleg databaseComments welcome.

Introduction

So a few years ago my collection of concert recordings and outtakes - aka bootlegs1 was getting to the point that simple cataloging wasn't really cutting it anymore.  Being a part-time programmer (professionally and as a hobbyist) I recognized this as a good opportunity to learn about database design and programming.  After skimming a few introductory text books and poking around on the web for a couple of weeks I can up with this.

Schema

Bootleg schema

Implementation

I initially implemented this using MySql but have since migrated to SQLite. MySql is an awesome database engine, but it is a little like plowing my 40 foot driveway with a huge dump truck plow (hey, I live in Minnesota, plowing analogies are used a lot around here).  Of course the argument can also be made that if the dump truck plow is in the garage why not use it?  Since I've been running Linux at home for going on 7 years now that argument made sense at the time.  Unfortunately I've discovered putting a dump truck on a laptop and hauling it around while traveling really kills your mileage (my analogy is starting to break down).  So, when I heard this presentation, and being an avid (some may say rabid) TCL programmer it seemed like a good time to dump my dump truck and get a hydro-dynamic snow shovel with port and starboard attachments and turbo drive (OK, my analogy is now officially completely broken).

Use/Maintenance

So it's been a couple of years now, and I'm very happy with my schema and implementation.  Getting data into the database is still a little cumbersome.  I threw together some code which parses a very simple file to determine all the pertinent information about a new bootleg and then populates the database once the data has been properly massaged (song names resolved, venues added, artists verified, etc).  Small additions to the database, such as artists and songs, I do by hand inside a tcl shell (usually tkcon).

Publishing

So I got to the point where sending a database report to prospective traders was getting unwieldy, and publishing static pages somewhere was anathema to creating a database.  But finding a cheap hosting site with tcl or shell support was an adventure in itself.  But I eventually stumbled upon polarhome.com which just fits the bill. They're cheap (free for ftp account, $10 for a life time shell account) and they allow tcl cgi (although I'm using tclkit because the sqlite library doesn't work with their tclsh, or at least I couldn't get it to work).  So I hacked up some tcl/cgi code and here is the result (and here is the source).  Like nearly everything else on the web, it is a work in progress.  Comments, bug reports, accolades, can be sent from here.


Footnotes

1 - Bootlegs (and bootlegers) are different than pirates.  Here is a good, if somewhat verbose, explanation of the differences.