This page gives a brief history and background to my bootleg
database. Comments
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

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.