Not a whole lot of technical crap today...end of the weekend, I suppose.
Picked up Lord of the Rings: Fellowship of the Ring DVD yesterday. I tried to resist, really, I did, but it just wasn't happening. Which, of course, means that I'll own two copies come november when the special edition comes out, but it's worth it I suppose. Anxiously awaiting the theatrical release of The Two Towers as well, of course, but that's a few too many months out to really think about. Of course, if doesn't help that I like to watch the quicktime trailer all the time, but that's my own fault.
Actually, a bit of technical news. It turns out that people really do read advogato (surprise, surprise.. :-)), and I've had a couple of emails regarding interesting projects to be involved in, so I'm grateful for that. I've only started looking at code right now, and moving things into source control, so no real progress yet, but it's something, and it'll almost certainly develop into something else...
Testing, Bugs, and small annoyances
I've been following the bugs/testing discussion with some interest over the last couple of days. Given that my day job involves creating an awful lot of unit tests for software, it's something that I have a fair amount of experience in. A lot of interesting ideas have floated across these pages, and I have to say that while a lot of them are really nice in theory, practice is another matter entirely. And there needs to be some recognition of the differences between open source and commercial software as well, I think. While it would be great if all software were bug free, I think that's a bit on the unrealistic side. Sure, a very simple piece of software, with limited inputs and outputs, can be bug free, but any relatively complex piece of software is going to be very difficult to prove to be bug free. Of course, commercial software also has the added pressure of having to actually ship to a customer base that is often more concerned about bullet points on feature lists than quality. It's not that the developers don't care about the quality of the software, it's that the consumer is concerned with 'good enough', and not demanding of 'great'.
Some of it is a matter of system and responsibility as well. Developers need to be aware that testing is part of the development process, and not separate from it. Too often I've heard the words 'testing isn't my job' come out of the mouth of a developer, and it's disturbing. Just because a QA department exists, or because there are helpful users doing testing, doesn't mean that excuses the developer from providing unit tests and running them before the software gets out the door. There will always been unforseen sequences of inputs and outputs in a complex system, and I don't necessarily expect developers to spend weeks trying to dream up every possible sequence of events that would lead to the invocation of the code that they have modified, but you can't just make a change and merge it either.
Just because you can't find all the bugs doesn't mean you shouldn't test.