Sam Newman's site, a Consultant at ThoughtWorks

Archive for ‘September, 2003’

Now first off I have to say I have a lot of time for Allen Holub. Ever since I got a review copy of his “Taming Java Threads”: a few years ago, it has become my bible for threading in Java. Allen Holub’s article “extends is evil”: made some very valid points – in fact I realised that I’ve subconsciously completely removed implementational inheritance from my code – the places in which the use of an extends relationship made sense seemed to occur less and less frequently.
Slightly less informative was his latest piece “Why getters and setters are evil”: I understand the logic and applaud him for raising this to peoples attention, but feel the rather abstract article could do with more in the way of concrete articles.
In anycase it seems that Allen is working on a new book, Patterns: Learning Design Patterns by Looking at Code, which I’ll be sure to pickup.

At work recently I’ve been doing an informal review of our code base, in an attempt to get together a potential code refactoring work package. I say informal because I haven’t got any official time allocated to it – currently its taking place in lunchtimes and during slack that I haven’t told management about. Along with tools like “checkstyle”: and “QStudio pro”: I’ve been able to pick up some issues which will exist in any organisation which, like ours has had no real coding standards or review process. In addition I’ve been carrying out a more general design review, and one issue that cropped up was that of singleton classes and static classes.
Continue reading…

After some service hick-ups Gradwell hae got things back to normal. Despite their main file server being down for two days, the worst disruption I faced was the blog being unavailable for a couple of hours, then it being in a read only state for an hour or so.

From the Apache announcement mailing list:

The Regexp team announces the availability of Jakarta Regexp 1.3 release.

This is primarily maintenance release containing several bug fixes
accumulated since the last Regexp release. Complete list of changes is
available at: “”:

Regexp comes in one download, containing binary and source code.
Download Regexp from “”:

Bug reports and patches are accepted via Bugzilla,”:

My otherwise excellent ISP Gradwell suffered a heart stopping (for me at least) outage today:

Our primary fileserver has failed, causing primarily an outage of out web and shell account services. We are working on recovering this machine as quickly as possible, and apologise for the inconvenience this will cause. We regret no ETA is currently available.

I was at work an unable to check the dates of my last backups, but its seems to be back and working now. The outage was reported at 8am and fixed by 10:30am so no harm done. I am however going to make sure I have everything backed up when I get home tonight!

I’ve just downloaded QStudio for Java Pro, which is being offered with a free year-long license.

QStudio for Java Pro is a comprehensive software health quality assessment and control tool targeted towards the software developer.

Developers can automatically inspect their Java source code and improve their Java programming skills as they write their programs. QStudio for Java Pro provides descriptive Java patterns explaining error prone code constructs and providing solutions for it.

For those of you familiar with tools like Checkstyle or even the built in code checker in Eclipse, it does a similar job, although it does seem more sophisticated. Probably the best feature is the ability to generate a HTML view of your source complete with annotated “Observations” (as QStudio puts it) making code reviews a real breeze. I’m still trying to get it to play nice with Jalopy – however thats more an issue with getting Jalopy to format its code so QStudio doesn’t moan about it.