Russel Winder's Website

A Look at Parallel Programming in Various Languages

I will be doing a session covering parallel programming in various common and not-so-common programming languages at the ACCU 2009 conference. This is currently scheduled as a 180min session starting 2009-04-24 14:00 (Processors Processors Everywhere, But How Do I Actually Use Them).

If you are a programmer/software engineer/software designer/, the ACCU conferences are always worth going to (even if you don't go to my session).

I am giving a (sort of) preview (entitled "Fortran is not the only language for parallel computing") of some of the material for the ACCU 2009 conference sesion at 2009-03-25 20:00 to the Oxford sub-group of ACCU, see here

Gant 1.6.1 released: Groovy 1.6.0 is harnessed

With the formal release of Groovy 1.6.0, it seemed obvious that there needed to be a build of Gant explictly compiled against it rather than a release candidate. Rather than muck around with repositories to get new builds of Gant 1.6.0 in place, it seemed easier and more straightforward, simply to create a new release of Gant - and those asked about this agreed.

So this release of Gant has no amendments, and no bug fixes. It is made just to ensure there is a version of Gant out there compiled against Groovy 1.6.0.

Gant 1.6.1 is in the Codehaus Maven repository groupId:org.codehaus.gant, version:1.6.1, but remember three different artefactIds, gant_groovy1.5, gant_groovy1.6, and gant_groovy1.7 - you have to use a version of Gant that matches the version of Groovy.

Distributions of Gant are in the usual place accessible from the Gant home page.

Gant 1.6.0 has been released.

This is really a single change release - Gant now supports build listeners, thanks to Graeme Rocher - but there are a couple of minor bug fixes as well. The main version of Groovy used is 1.6-RC-2, though there are version for 1.5.7 and Trunk as of yesterday (labelled 1.7-beta-1). Also Gant now uses Ivy 2.0.0 and not a release candidate!

This is the version of Gant that will be used in Grails 1.1 -- unless some bugs are found in the next few days, in which case it a Gant 1.6.1 will appear :-)

Gant can be found at

SC08 - A Trip to Austin, TX

At Concertant LLP we deal with all things multicore, concurrent and mainly parallel. It seemed sensible therefore to go to SC08 (used to be called Supercomputing) to find out what the very top performance niche of computing was up to. It gave us a chance to interview people from Intel, AMD, Sun, HP, IBM, Microsoft, etc., etc. to see what would be happening in supercomputing soon - what happens in supercomputing now is what happens for the wider world two or three years later.

The three of us who went wrote a number of short artcles whilst we were there. The whole collection can be found here. If you want a list of the one I wrote that can be found here.

Continuing the move from Subversion

Along with many, many others, I have come to the end of my tether with Subversion. The only thing that can try and save it is if every computer is always connected to the Internet always with a high bandwidth connection. Even then the big problem is having a .svn directory in every directory. OK, this is essential to the "directory as checkoutable item" architecture on the server but it is horrible to work with locally.

For many months now I have been using Bazaar and Git as my Subversion clients, i.e. I don't use Subversion to work with Subversion repositories, I am using a Git repository or a Bazaar branch instead. I am all a-dither as to which of these two is best - the Bazaar command set is somewhat easier to work with, the Bazaar GUI tools work a lot better on Gnome, but Git is a lot faster.

I probably won't come to a final decision as to which to plump for until the next generation of version control system appears. This means I can't say which of the two I am going to move Gant to, so in the interim I am keeping all three. Until Codehaus decide which of Git, Mercurial or Bazaar they are going to support, I am maintaining a Bazaar branch on Launchpad, and a Git repository on GitHub as well as continuing to have the Subversion repository at Codehaus.

Analysis and Articles for Concertant LLP

It just struck me (OK it should have done so ages ago) that I have been failing to put on this webpage information about articles I am writing. The material gets written for and published by Concertant LLP and appears at IT Analysis ( and IT Director (

My latest piece is "Is Dataflow the New Black?"

Not all the articles on this Concertant LLP page are by me but a number of them are. I guess I should create a list and put it somewhere on this site.

A Gant Event ![](/Images/gant_logo_96x47.png)

I will be doing an "In the Brain" session on Gant (The Groovy way of scripting Ant tasks) on Thursday 2008-08-21 18:30. This will happen at Skills Matter, 1 Seckford Street, London EC1R 0BE, UK. The Skills Matter announcement is here.

As part of this session I am going to undertake "The Gant Challenge". The idea is for people to bring small examples of Ant (or other) builds that really irritate them so we can create the Gant version live and show that Gant can do the business where Ant often cannot.

If you are in the area then, feel free to drop by -- though you need to register beforehand so some forethought is needed. This is planned as a 90min session after which things move to a local hostelry.

Gant 1.4.0 is Released

There are a lot of internal changes removing assumptions, correcting bugs etc. There are also a couple of changes that mean that tools and target sets have a different initialization, effectively an API change. Also the deprecated task closure has actually been removed. All the details are to be found in the release notes.

As ever distributions are available at For those who use Maven 2, the repository URL is, the groupId is org.codehaus.gant, the artifactId is gant , and the version is 1.4.0.

The Gant webpage has the documentation.

Gant 1.3.0 is Released

An increasing number of people have been saying that having Gant install into an existing Groovy installation is not a good idea. Instead, they were asking, Gant should exist in a directory tree of its own and use the GROOVY_HOME environment variable to refer to the Groovy installation. This seemed like a good idea, so this has been done. Hence this release. Apart from a couple of very trivial bug fixes 1.3.0 is 1.2.0 but restructured.

There is the added advantage of course that with the new organization it became essentially trivial to construct a standalone version of Gant that does not require a prior Groovy installation - this distribution has a Groovy jar and various other (transitive dependency) jars included. So there are now three distributions:

  • For use with a pre-existing Groovy 1.5.6.
  • For use with a pre-existing Groovy 1.6-beta-1.
  • Standalone and including a Groovy 1.5.6 jar.

As ever distributions are available at For those who use Maven 2, the repository URL is, the groupId is org.codehaus.gant, the artifactId is gant , and the version is 1.3.0.

The Gant webpage has the documentation.

Copyright © 2017 Russel Winder -