Thursday, July 25, 2002

On the masochistic tendencies of bloated corporate software

Measuring a summer's day, I only finds it slips away to grey,

The hours, they bring me pain.

Tangerine/Led Zeppelin/Led Zeppelin III

For all its virtual merits, Oracle suffers from all the problems of a software product that takes on a life of its own -- and that makes it look like a very twisted version of Pinnochio. Consider the rather common operation of moving the contents of a database (or a set of tables) from a development to a production machine. Oracle does what every large complex infrastructure must do: provide copious general documentation (it's only missing the references to look like your average conference proceeding entry), provide simple examples (the kind that kiddies would play with, except that smart kiddies wouldn't be caught working with Oracle), provide a helpdesk (that makes money by putting you on hold, I'd presume, based on yet another popular business model that led to the downfall of the Rome that was the dotcom wave), ad nauseum.

After hacking away at unfriendly prompts without command history (note: Oracle decided to grace its users with a more friendly function-rich interface to the database too late in the cycle for it to catch on in a big way), I managed to get a nice dump of whatever I wanted from the development database. Importing was another bad trip: the only thing that eased my ulcers was a little article in Oracle Magazine that seemed to be written by someone with more heart than the average contributor to such rags. Log files told me where the process had barfed and on examination I discovered Oracle's entry in the nominees for Masochistic Software Feature of the Year. I must explain: this category accomodates things that are not supposed to happen when you use a software package: the program fails to read files that it generated a while ago, the program decides to quit on you without a by-your-leave (and this is when you are staring at the screen wondering what your next move in this Chess with IT Death will be), the program surreptitiously alters its internals so it can stonewall you out at will, the program refuses to let you connect to it using clients that it installed with (or without, in the case of Oracle) your permission. (As a sidenote, the Oracle client comes close to Microsoft Visual Studio as a contender for maximum hard-disk and physical memory appropriated by a software installation with little to no warning issued to the hapless user).

What was my problem? Well the dear little Oracle export utility had chosen to insert (quite randomly and in an ostentatiously friendly gesture) a carriage return to splice a column name containing an underscore. Too technical, I agree, but you get the general idea, right? What happens as a consequence? The import utility complained about an unknown column name (well, hello, you did this!) and refused to comply. It was rather unexpectedly nice of Oracle to provide me with ways to zero in on the culprit (or rather the clues). The only thing that kept me interested in this whole enterprise (staring at the screen as it stares back at you as the program performs its duties at leisure is not my idea of a vacation), by this point, was the Led Zeppelin half hour on Planet Rock. God bless them. Rants done. Back to the bunker!

No comments:

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.