opposed to a bunch of disembodied spreadsheets
Sunday, February 24 2008
Impulsively, I tried welding a steel eyelit to my firewood cart (the one whose axles I'd been grinding for the past several days). The idea was to have a firm place to attach a bungee cord, thereby stabilizing a precarious firewood load. But arcwelding is proving more difficult than I'd expected. I could blast a weld for awhile and even balance the wire feed to the point where the arc was maintained as a hot metal-liquifying fireball, but none of the welds I made were anything but superficial and could be snapped off without much difficulty. I come from the world of soldering, where joints are made quickly once the proper temperature is reached. I'm getting the feeling that welding has a different underlying mojo. Once I find it, it will be easy, but I haven't yet.
For the past couple days I've been struggling with a difficult database migration issue. I wanted a way to move over a small subset of a database from a development system to a live system, so I designed a system that could recursively look through a database for all the rows in all the tables having relationships to a few core rows in the source table, and compile a script to copy all of that data. That part sounds tricky, but (using the framework already in place) it wasn't actually all that difficult to write. The problem came when I tried to add the exported SQL data in the live system and I found that the primary keys of the data to be added had already been taken. I ended up having to write a system that scripts out all the data using placeholders (MySQL variables) in place of all the primary keys and related foreign keys, replacing them on the fly with the next available primary keys when the script is run on the target system. I've probably lost everyone by now, but the good news is that I got all of this working correctly.
Given the number of relational database systems in use, it's somewhat surprising that interfaces to those systems don't take advantage of those underlying relationships as users interact with that data. The web-based system I've built is constantly aware of those relationships as the user is viewing, exporting, importing, and editing data, and in doing so the interface feels like it's to interrelated data, as opposed to a bunch of disembodied spreadsheets. It allows for the emergence of unforseen capabilities that are completely absent in, say, phpMyAdmin
For the first time this season, the Wire lived up to its full promise tonight. Sadly, it didn't get to do so without paying a steep price. I suspect the best episodes of the Wire feature the deaths of major characters, but I don't know if I will ever miss any of them like I'm going to miss Omar.
For linking purposes this article's URL is:feedback
previous | next