magpiebrain

Sam Newman's site, a Consultant at ThoughtWorks

Archive for ‘December, 2004’

I’m currently working on a project with a relatively large (~2000 line) Ant build file, with several supplemental files. The first thing that’s struck me, is that something about the nature of Ant itself makes people treat it very differently from the code it’s building. Rules concerning consistency, testing, maintainability and even common sense seem to go out the window. Whilst it’s true that Ant doesn’t go out of its way to help us – there is little tool support and the XML syntax is fundamentally unsuited to a program (which is really what an Ant file is) – if developers engaged their brain a little more, they’d make life a little easier for everybody.

I’m going to revisit some of the problems with Ant at a later date, but today I’d like to focus on one particular annoyance – the use of the full stop in naming of targets and properties.
Continue reading…

Advertisements

It’s cold, and no doubt it’s going to get colder. Some of my colleagues are currently enjoying temperatures of -35°C, and will no doubt pick up the odd cold along the way. With this in mind I thought that I’d post my favourite cold remedy, courtesy of an old mailing list:

Ingredients

* 1 Lemsip max strength sachet or similar, lemon recommended
* 1 soluable vitamin C tablet, lemon flavour preferable, orange at a pinch. Go for 1000mg Vitamin C, or the 500m Vitamin C/Zing tablets if you can find them
* 1/2 Lemon
* Hot water
* Honey to taste
* Mug
Continue reading…

“FreeMind”:http://freemind.sourceforge.net/ is a pretty good open source “mind mapping(Wikipedia – Mind mapping)”:http://en.wikipedia.org/wiki/Mind_mapping tool, which we’ve been using to capture the efforts of various bits of brainstorming, as well as keep track of ever evolving processes. One of the processes we’ve detailed using FreeMind has been our build process – during which I was struck by just how good FreeMind could be at actually modelling an “ant”:http://jakarta.apache.org/ant build structure. High level tasks (such as @deploy@) can be easily broken down into smaller dependent tasks (@compile@, @copyToServer@ etc).
Continue reading…