unresponsive and atomic
Wednesday, February 10 2010
Back in 1999 when I was first learning about databases (not having really known, up until that point, what they were), I actually enjoyed working with Microsoft database management tools. I liked the menus and the clicking of checkboxes. The graphical environment suited me because I didn't know enough about the technology to make use of the command line tools such as Query Analyzer. I particularly liked Visual InterDev, which allowed me to browse through tables, open them up in multiple windows, and edit them as if they were Excel spreadsheets. I also liked the interactive graphical database designer. My interaction with those tools heavily influenced the design of the web-based MySQL tools I've developed over the last four years. By contrast, I never much liked Enterprise Manager, whose numerous modal windows blocked natural interaction and occasionally led to the loss of small amounts of data. I haven't had to use these tools for years but now I'm managing a Microsoft database once more and, because of the dreary cycle of planned obsolescence that goes with Microsoft products, I find myself forced to use the Microsoft SQL Sever Management Studio, their latest database management tool (which I pirated of course). With their expanding hierarchical menus, these tools resemble Visual Interdev and the SQL Server 2000 version of Query Analyzer, so in that respect they're familiar. But the interface has become increasingly colorful and cartoonish, as if to ape the worst aspects of Microsoft Office (an application suite I almost never use). And it's become difficult to figure out how to do basic things. Why, for example, must a column's default value be set in the Column Properties area at the bottom of the window, while the datatype and whether or not it can take nulls is set by a dropdown and a checkbox in a tabular display of all the columns? And why do I have to jump through hoops to see or copy a long string produced as a query result?
And what the fuck is a solution? I absolutely detest that word in the context of software development, and yet it appears several times in the menus.
But worst of all is the general unresponsiveness and the constant "transport-level" errors. I've gotten used to right clicking on an icon and having nothing happen 80% of the time. With that sort of failure rate, it's very hard to get a sense of how a program actually works. As for the "transport-level" errors, a database tool should intelligently figure out when to connect to the database, and that should be completely transparent to the user. Amazingly, Microsoft SQL Sever Management Studio, an application I had to install on my computer, is significantly less responsive than my web-based database tools. When you're designing a web application, you face far more restrictions than when you're designing a stand-alone application. Why then don't I get such basic features as auto-resort of columns when I click the column names? That's a feature my web-based database suite has taught me to expect, but in Microsoft SQL Sever Management Studio I have to live without it.
Then there's Microsoft SQL Sever Management Studio's inability to remember things I've typed in many times before. One feature of my web-based version of "Query Analyzer" is that it remembers the last twenty or thirty queries, so you can go back and edit them and try them with subtle tweaks. Such a feature never existed for Microsoft Query Analyzer, but without it I feel like I'm working without any short term memory. This lack of memory pervades Microsoft SQL Sever Management Studio and is particularly troublesome in the "wizards." When wizard fails in a Microsoft application, you have to wade through it all over again, repeating the steps you've already taken. On the fifteenth time of having to type server names and credentials for two different database servers, I was ready to cry. Would it kill the wizard to remember the settings from the last time through?
This, of course, gets to a fundamental Microsoft problem I rail about every couple of weeks or so: the shamelessness with which Microsoft creates tools that can take a long time to run but, when they fail, do so catastrophically. The file system copy is a good example of this: you go to move a huge folder of crap, and it encounters one file "in use" and the copy dies then and there, leaving some of your things in one place and some of your things in the other, and you find yourself having to dig down into subfolders to find where in the process everything went pear-shaped. With the SQL Server Import and Export Wizard (which I used and reused extensively today), any error kills the process completely. And Microsoft has actually figured out an additional extra-infuriating way for this to fail. After copying dozens of megabytes of data from one server to the other, the data isn't actually committed until the end (because the process is "atomic," though it makes no sense for it to be, since this wizard cannot work with data in an enforced relational state). But if, when it goes to commit, the wizard runs out of room for the log file, it dies at that point, even if everything else had gone swimmingly. Mind you, this is after a process that can take two hours and jack up the entire household internet connection. (There was a period today when the web didn't work at all because Gretchen was streaming a movie over Roku and SQL Server Import and Export Wizard was using all the remaining bandwidth to do a copy that would ultimately fail.)
Somehow, though, I was eventually able to do the copy, but it came much later than expected, jacking up a live website for far longer than it should have been jacked up. And why? Because of an idiotic application of atomic commits, a software wizard with no method of survival failure, and a website that depends on such unnecessarily moronic technology.
During the long periods of time when I'd be waiting for SQL Server Import and Export Wizard to do its thing and inevitably fail, I found myself watching my new favorite television junk food, a program called Hoarders, which documents the living spaces of those who collect things to the point where they have no room left for living. I'd been fairly unimpressed by the hoards documented by the shows I'd seen up until this point, which frankly weren't as bad as what I see whenever I visit my parents. But today I saw two shows documenting Class V hoarders, people whose collections of stuff include not only garbage but also dead animals and even their own excrement. With Class V hoarders, the problems include not just disorganization and an inability to let go of material possessions, but also profound laziness. (My parents definitely exhibit aspects of advanced hoarding in that they are now increasingly surrounded by things like bottles and alumnium cans in addition to the more prosaic stacks of ancient mailorder catalogs.)
A particularly engaging episode concerned a 68 year old woman named Augustine in New Orleans, who continued crapping in her toilet long after it stopped working and beneath whose middens were found two dead flattened cats. She had two children many years apart, and while the older daughter had experienced a reasonable childhood, the younger son had been raised in what he termed "squalor." The son, a nerdy, plump 28 year old now living in Seattle, seemed unusually intelligent for a character appearing in one of these types of shows. He made a number of brilliant comments about his mother, her clutter and his relationship to both (for example, comparing the accumulation of debris to an "alluvial floodplain" and suggesting that it held deposits of preserved memories) and these allowed me to vicariously feel his pathos.
Another episode featured a woman whose toilet had stopped working and who solved the problem by transitioning to the use of adult diapers. You can see where this is going. The soiled diapers were stacked to the ceiling in closets, bedrooms, and throughout the bathroom. Ultimately the woman retreated to the kitchen, where she spent the night sleeping on an adult potty, surrounded in a shoulder-deep pile of detritus. While her decision to solve her plumbing problems with adult diapers strikes us as insane, she comes across in the show as articulate and sympathetic.
Near the end of every show, a team descends in respirators and rubber gloves to clean up the mess. In the case of the woman who had filled her house with soiled adult diapers, we're told that four thousand pounds of human excrement were removed. That's a lot of shit; from my experience with an outhouse I know that even with a high-volume low-calorie vegan diet I generate less than 500 pounds of shit per year, and most of that is comprised of water that would eventually evaporate. Someone on a conventional American diet would take ten to fifteen years to crap out that much shit, and most of it would decompose and dry away to almost nothing in that time.
For linking purposes this article's URL is:feedback
previous | next