Software Hates Me Day

darobin on 2002-01-30T21:08:37

I think this has been a "Software Hates Me Day". One of those days where, starting from a tiny thing you need to fix, it just threads on worse and worse into an endless stream of bugs and segfaults.

The first problem was XML::LibXML. No big deal, but I needed to upgrade from my previous version for some new features. That all went well.

Except for the fact that the latest isn't compatible with AxKit 1.5. Hmmm. That's a problem because I didn't want to upgrade from 1.4 right away but instead to take the time to check that all the sites worked well under the new release. On the other hand, I need to push myself to upgrade at some point because otherwise I know that I'll never do it. So, despite good advice from Kip, I upgraded.

That's where I started being unlucky. There are two features that I needed in AxKit that should have been in 1.5. One of them is a patch that I sent a fair while ago, and that already had to be committed twice because it had disappeared. Well, for some reason it disappeared yet again (the AxKit::Plugin::DisableXSLTParams which I released today depends on it). No big deal, I took the patch from my mail archive, applied it, and committed to CVS yet again (this is the new apache.org CVS, I hope it dislikes my patch less).

All fine and rosy. That is, until I need to debug some weird new behaviour and decide to use a new undocumented feature to see the intermediate results of my transformations.

Segfaults. Yum.

Not to be discouraged, and due to the fact that I can't really know where the bug is without that new feature (the site the bug appeared in is the one I talk about in my previous log, so it's awfully complex), I decide to track down the segfault. It takes me a fair while but I eventually spot it. Good. Fix applied, and committed to CVS (if you want to use AxKit::reset_stylesheets() to stop further processing of your data you can now do it, using the CVS version).

But of course, it turns out that the bug isn't in AxKit at all. So it's all good and well, I've contributed to the Open Source community an extra little bit, but now I need to get my work done.

Turns out that the bug was in my XSLT. Daniel Veillard's libxslt is truly excellent and fast, but the problem is that it doesn't exactly report errors in a very detailed way. And when bugs are fixed that happen to make whatever used to work now wrong it isn't exactly very helpful. I'm glad I had a strike of inspiration here because I could have looked for that bug of mine for ages.

Aaaaaaaanyway. It's now 10pm and I can start working at last (after cooling down a few minutes in front of use Perl of course). If XML, XSLT, and AxKit hadn't saved me literally weeks of work since I started using them I guess I'd be rather pissed off. Oh well, I've had days like that with pretty much anything I've used before, I guess it could be much worse.


Attitude

ziggy on 2002-02-04T17:03:45

Aaaaaaaanyway. It's now 10pm and I can start working at last (after cooling down a few minutes in front of use Perl of course). If XML, XSLT, and AxKit hadn't saved me literally weeks of work since I started using them I guess I'd be rather pissed off. Oh well, I've had days like that with pretty much anything I've used before, I guess it could be much worse.
I must say, I really like your attitude here, Robin.

I've met too many people over the years who see a day's wasted effort because of a bug as an indication that the software is complete and utter crap. However, the attitude you describe here is much more positive.

Thanks. Let's hope your attitude is infectious. :-)

Re:Attitude

darobin on 2002-02-04T17:13:16

Hehe, well at the same time it must be said that there were moments during that day when my attitude wasn't quite as positive :-) I remember mumbling stuff on #axkit(-dahut) about switching to Cocoon and asking around if anyone there would care if I were to kill Matt in an extremely painful way.

However I think the point here is to try to weigh things out. For certain, that day was in good part ruined by AxKit. On the other side of the balance are those very cool three day week-ends I was able to afford because I finished projects early, thanks to AxKit.

So I guess that if I were trying to pull a moral out of those ramblings it'd have to be along the lines of "Try to find software that only sucks part of the time, and once you have it stick to it" ;-)