I haven’t posted to this blog for a few weeks mostly because I’ve been slammed at work trying to help stabilize our Oracle Portal system that kept crashing every few days. We appear to have gotten a handle on it after spending a ton of time and money. But this experience has led me to my Christmas wish for every programmer around the world: more open source.

The biggest problem we had was that we couldn’t get a handle on exactly what was breaking. It appears we had a bunch of little problems — all of which added up to a system that wasn’t stable and could get pushed over the edge from a variety of sources.

There are so many components to this system; plus, the various bits and pieces all logged things differently — from little things like using totally different timestamp formats to big things like whether they included an IP address in the log.

The biggest gripe was when a log file wouldn’t contain the critical piece of information we really needed. For example, one particular component would throw a nice Java exception into the log indicating that a network error had occurred. But it did not log to what IP address it was communicating when the network error happened. It would have been so helpful to know if it could have just dumped the IP address when it threw that exception.

I kept wishing I had access to the source code for all these bits so that we could modify them to log the pieces and bits we needed in the formats we wanted. I think that would have made the job a lot easier, and it would simplify future operations.

I could blame the original developers of the Portal for not anticipating all my needs and for not making a system where all the components log in a consistent way so that we could analyze all the logs with a consistent set of tools and techniques, but I don’t think that’s fair — there’s no way the developers of a J2EE container, for example, could anticipate all the other tools and systems that might get integrated with that container. There’d be no way to create a logging system in advance that could handle every need.

This is where open source would have been tremendously helpful. It would have given us the opportunity to make all the pieces work the way we want and need, so we can simplify the operation and maintenance of this system.

My Christmas wish for myself and all my fellow programmers is: I wish we could get even more open source software to make our lives simpler and easier.

Oh, and since I’m making such a nice magnanimous wish that’s going to benefit everybody, I’d also like to make one selfish wish for me: If Apple really is building an ultralight Mac laptop, could I get one (preferably in black, if they make it in that color)?