|
When i first started fac13/stormy clouds, i made it a point to not use any scripts or other software obtained as a "black box" on the web somewhere. I wanted to program everything, to understand how everything worked inside and out ... to use a Seinfeld-ism i wanted to be "master of my domain". Therefore, as the site evolved i had coded my own version of a lot of common web software ... blogging utilities, photo galleries, music playlist monitors, and on and on.
However, not being a full-time or classically-trained software engineer this approach also caused my solutions to be less than optimal in many instances. Case in point: databases. All my journal, photo, and music databases consist of a series of text files for which i've written a variety of query utilities. This has worked fine for most of my applications, but lately my music database has been screaming to be reworked. Because of limitations of the speed of my implementation i could only store the last 1500 songs in my playlist database, because to store more meant casual queries to the database took too long to execute. Recently i began wondering if perhaps i should make use of a standardized database language, and this week i took it upon myself to learn MySQL. After spending a while learning the Perl DBI interface to the language and even longer reworking my music scripts, my playlist database now exists in SQL form. And what a difference that makes ... complex queries that used to bring my home-grown code to its knees now run in milliseconds. My playlist database is now free to grow at will.
When i get a chance, i'm going to convert most of the site to an SQL implementation. I'm also going to put up a searchable archive of my music library, previously impossible due to size and speed constraints. Onward and upward.
Of course, this also means i've most likely introduced a new set of snafus into previously functioning code, so if you notice anything amiss please beat me over the head with it.
|