Bitscape's Lounge

Powered by:

In over my head

Started: Friday, March 19, 2004 22:05

Finished: Friday, March 19, 2004 23:12

Though it was discussed a bit yesterday, it wasn't until this morning that I got the call. A client of a former (and perhaps future) business partner of scottgalvin.com needed help setting up their web application/database servers. For some reason that's almost beyond me now (though still flattering none the less), I was considered a prime candidate for the task of setting up Oracle and getting a client-supplied Java web application to talk to it. (Note that this new project is completely separate and distinct from anything I may have obliquely referenced previously.)

Having done absolutely nothing with Oracle in my life, I was somewhat hesitant, but, with a little bit of additional prodding and encouragement from scottgalvin.com, I decided to try and make a go of it. What better way to learn than to be thrown into the midst of it? It wasn't like I would have to craft anything from scratch. It would just be a matter of getting the software installed and working, import an existing set of data, get tomcat going with the right jdbc driver, and all will be well, right? Besides, the money for this one is pretty decent.

So I met for lunch today with the guy who had all the info, learned about the network topology (several boxes for the project, including separate machines purely for development testing -- a far cry from the buildmeasite "one server for everything, including editing live code" philosophy), and what the project entailed. It all looked very sensible and straight forward, though I was still a bit nervous about the big unknown of how hard it would be to make Oracle interact with the pile of data I was being handed.

The guy I talked to said most optimistic goal would be to have it up and running (at least on the dev server) tonight (which would make the client absolutely thrilled). But anytime before Monday would be good.

Armed with a sheet full of IP addresses and other info, I returned home, and did a bunch of ssh-ing around.

Well, the afternoon is over. The evening is well underway. I haven't even gotten to looking at the client's code or data yet. In theory, Oracle completed the entire installation except for the last step successfully. It's that last step, that requires actually being able to connect to.... something or other.... that's screwing things up.

Having toyed with it for several hours, ran the install program twice from scratch, hunted around in their online documentation, attempted repeatedly to find answers with google, and finally been reduced to poking and prodding randomly around the installation tree at various config files, shell scripts, and curious looking binaries, I can now say that Oracle is a certifiable Hulking Nightmare Beastly Menace of a Thing.

The error messages are so obtuse, and the documentation so poor that it took me a good couple hours to finally figure out that problem I was having was most likely caused by some daemon not being started, although what process is supposed to be running, I'm still not exactly sure. (Or... something like that; everything surrounding The Beast seems to have its own freakin language apart from the rest of the world.)

As it is, The Beast has been filling up the process table with buttloads of goop. Java processes, perl programs, assorted random binaries getting spawned. You name it. As if your OS's package manager wasn't good enough for it, the thing not only includes its own binary for the perl interpreter, but an entire subtree of CPAN modules all to itself (many of them familiar standbys for most distros).

Ok, so it's picky about what libraries it wants to use. Fine. But for crying out loud, the error messages. The error messages! Tutorials littered with calls to all sorts of strange programs and daemons, but nothing to explain the purpose of each individual step.

All sorts of strange X-based interactive configuration utilities, not to mention web configuration interfaces on interesting ports (some of which seem to work, others not).

I am DETERMINED that I will somehow convince this thing to run at least one freakin query for me. If I can do that, I can do anything.

This project may or may not end up being a botch. I sure hope it's not. Besides being horribly embarrasing, that could potentially put a dent in future prospects for both me and others who have staked their reputations on my supposed abilities. If there's any possible way to do so, I will make it work. Either way though, even if it ends up being an embarrassing failure, I'm going to learn a lot from it.

A little earlier tonight, when my brain could take no more, I took a break, and walked around the block a couple times. I also found via slashdot a place with some cool tunes for sale, and bought a little bit of downloadable music from Audio Lunchbox. Though the overall selection in their store is kind of mediocre, I managed to find one album I really like, plus a couple of other individual tracks. It's probably just as well that they don't have more selection, since that would just mean I'd likely be tempted to waste more money.

(Yes, I know many many people have already been buying downloadable music from Apple's iTunes store for over a year now. I haven't, because no matter how good their selection is, or what other wonderful merits their service may feature, Apple has yet to discover the secret of open and portable file format standards. Thus their otherwise innovative business is rendered useless to me; even if they released a client for my operating system of choice, I'd be unlikely to pay for music that only works in 1 player. So it's good to see a competitor entering the market that actually cares about what customers want.)

The purchase and download was painless, even being so nice as to give me the option of grabbing all my songs in one big zip file. And them oggs sound mighty good.

Now I suppose I shall try getting back to figuring out the Beast. Who knows. Maybe I'll get lucky and actually find a way convince it to create a simple table or something. If nothing else, perhaps this will give me a renewed appreciation for postgres. In fact, I think it already has.

Progress at last
by Bitscape (2004-03-20 00:16)

In a move of desperation, I played whack a mole with all the processes oracle had started, wiped out the entire tree where I had installed it, hunted down all the config files and deleted them, and installed again from scratch.

This time, rather than trying to tell it to install in a normal place like /usr/local, I let it install in its own wierdo default directory. The install finished and worked where it didn't before!

My guess: Somebody probably hard coded a directory name somewhere when they shouldn't have. Blast it.

Now I get to begin the adventure of figuring out how to use this insane thing.

"Yield to my will, oh beastly contraption! I command thee!"

iTunes on iPod
by Jäger (2004-03-20 07:00)

Your "only works on one player" argument sounds like Microsoft's whining about why more customers aren't buying music in windows media format. Other media formats might run on more models, but last I checked, the iPod has something between 50% and 75% market share.

On the other hand, I do understand where you're coming from. Apple's DRM implementation seems slightly less evil than most others, but it's still DRM.

Players and file formats
by Bitscape (2004-03-20 13:44)

Actually, I was thinking just as much in terms of software players as hardware at this point, although hardware support will likely also enter the equation for me before long. Usually, I like to use xmms, with its lightweight yet pretty interface and plugin-able architecture. Occassionally though, it's nice to be able to use a command line player like ogg123 or mpg123 for calling from scripts, or on those rare occassions when I'm not running X.

From what I've heard, the iTunes player on Windows is a piece of memory hogging bloatware, and even if it has some nice features, I wouldn't want to be stuck using only that to play my music.

That's purely a short term practical argument though. I'm sure that if they felt motivated enough, Apple could implement a streamlined, command line controllable mythical Linux port of iTunes. (Not that I see any indication that they plan to lift a single finger in that direction.) Even on the extra slim chance that they do, what are the odds that it would be released as open source?

Virtually nil.

I'm not even necessarily arguing that Apple should open source their software, as it may not make sense in their case. But if they want my business, they need to at least make the file format public enough that anybody who felt the inkling could implement their own player. (This would likely increase their music sales if a variety of implementations became available. Think web browsers, and the ubiquity of the web.)

Many of the same arguments that apply to open vs closed source software are even more relevant when talking about file formats. Do you want the contents of your documents (or music files) to be at the mercy of one company, even if that company does have a majority market share?

Yes, when Microsoft tries to make this argument, they come of as absolute hypocrites because they have a history as being the worst offender in the industry in this regard. Windows Media format is really no more open than Apple's, which makes it even more of a joke. (Though I can sometimes convince mplayer to play wma files if I'm lucky, I certainly wouldn't pay anybody for wma downloads either.)

Anyway, when I see a vendor finally listening to what the market has been trying to say for over 5 years ("we want music downloads, and we don't even mind paying for them if they're simple, convenient, and in a high quality format that we already use"), I feel the need to reward them with my patronage, and point out their existence to others.

(There's some other nice stores that have been putting out similar offerings, but up until now, none of their content was quite compelling enough for me to spend money for their downloads. Or maybe I just wasn't patient enough to sort through enough of it to find something I really liked.)

(Also, in the not-a-pay-service category, I do like some of the free songs I've gotten from soundclick, and might be likely to buy albums from some of their artists, if they ever release any. Oh, and while we're at it, let's plug irate again too, through which I discovered at least one band that I've already bought an album from, with more potentially to come.)


Oracle
by Jäger (2004-03-20 07:08)

Oracle is a fascinating beast -- it's big and hairy and industrial-strength, which means it's a little obscure for those of us used to installing the .debs or compiling from the source. Oracle essentially requires a full-time database administrator to do anything with it, which works great for some companies and doesn't for others.

I'm fascinated that this mystery client decided to run everything on Oracle without a full-time DBA. Would it be reasonable to assume this was a decision made by a clueless PHB with no respect for its technical merrits?

My knowledge is limited
by Bitscape (2004-03-20 13:57)

I'm not sure exactly how this client originally came to a decision to go with Oracle. All I know is that they are moving their site from a hosting service that was managed and administered by somebody else and ran Oracle, to this new setup where they would also like to be running Oracle.

My only imperative at the moment is to get the thing setup and running ASAP. As for who will administer it in the future, or how that will be done, it is beyond the scope of my knowledge.