Russel Winder's Website

A General Election

So today is a general election in the UK. The only real outcome of this is that later tonight one tribe of people will be drinking a lot and smiling, and all the other tribes of people will be drinking a lot and frowning. The outcome for tomorrow will be just another bunch of politicians trying to tell us what we can and cannot do, whilst lining their own pockets by redirecting money we pay in tax into their own personal bank accounts.

If one party gets in the very rich will be happy and will set about putting more money in their pockets at the expense of everyone else. The rest of use will be shafted. If any other party gets in then the spongers on society will be happy as they will set about putting more money in their pockets at the expense of everyone else. The rest of use will be shafted.

So if you are in the middle, i.e. the vast majority of people in this country, then prepare to be shafted as of tomorrow morning.

Depressing, but sadly too true.

Why People Should Study the History of Their Subject

Recently I have been taking a look at the Go programming language. I find it very interesting and feel it could have a great future. As with anything new though, people are studying it without appreciating the history that leads up to it. In one particular case, you get comments along the lines of: "their concept of Go routines and Channels, and I wanted to see if this really was a new paradigm for multi- threaded, multi-tasking programming." (from The answer is clearly "No" since the Go paradigm for handling concurrency and parallelism (goroutines and channels) is based fairly and squarely on CSP (Communicating Sequential Processes) which Tony Hoare and collaborators invented and about which he published a book in 1984. The Go documentation clearly points out this historical background to the goroutine concept. The problem is that people are either not reading it, or are choosing to ignore it. Fortunately the developers of Go are less dismissive of history. Possibly because some of the team were involved in making it 30+ years ago.

"Standing on the shoulders of giants" is a well used phrase to describe moving things forward by using the great work that people have done in the past. The Go development team are doing this. It is a pity that too many people are not realizing this, because they have failed to appreciate the history of their subject.

On Evil Empires

The recent behaviour of two of the big computing companies, you know which ones, really has shown that bullying has become standard business practice. It is tantamount to extortion. If it were human beings and not corporates behaving like this they would be in court on criminal charges of bullying and extortion.

I have started a league table, currently based entirely on prejudice with no underlying data, of "Evil Empires". I will update it as and when, initially on whim, but if people start writing to me, I may turn the league table into one based on votes and commentary.

St George's Day

Google seems to think that only should celebrate this and not I suspect there would be an international outcry if they only celebrated St Patrick's Day on Perhaps there is a conspiracy at work?

Of course today is also the official birthday of William Shakespeare so double the reason to celebrate. But only with a comedy not with a tragedy.

It really is a shame that English pubs don't take as much trouble over selling English ale on St George's day as they do Irish stuff on St Patrick's Day. Bad marketeers I guess.

ACCU 2010 - Done and Dusted

Or is that "ashed"?

ACCU 2010 was volcanically good this year - though not for people who couldn't get there due to the Iceland volcano eruption that has paralysed air travel in Europe, nor for those stuck in the UK after the conference when they would much prefer to travel home. The situation led to massive rearrangement of the conference programme including shifting my sessions from Saturday to Friday.

I presented my keynote The Multicore Revolution: We've Only Just Begun at 2010-04-16 09:30+01:00 - a day earlier than originally scheduled. People seemed to like the session. The PDF of the slides used can be found here, they may not mean too much unless you were there! The basic message was that hardware has changed massively over the last two or three years, but that software has not; that there needs to be a revolution in software to match the revolution in hardware.

The day before I had presented my session Parallelism: The JVM Rocks; a session focused mainly on Java, Groovy and the Groovy library GPars. Functional Java was mentioned as were Scala, Clojure, Fortress and X10. The intention was to show that the JVM is an excellent platform for the sort of multi-language systems that are the clear future. Dynamic languages such as Groovy make great coordination languages where the "grunt" computation is in Java. The slides can be found here, but most of the material was based on the code examples. There is a Bazaar branch containing all these at You can get all the code using the Bazaar Explorer or the command line "bzr branch".

After my keynote, I did a session Parallelism: The Functional Imperative. This session was a follow up on all the recent interest in functional language, especially Haskell and Erlang. OCaml, Functional Java, Scala and Clojure made an appearance, as did Groovy/GPars. The slides can be found here, but most of the material was based on the code examples. There is a Bazaar branch containing all these at You can get all the code using the Bazaar Explorer or the command line "bzr branch".

A Groovy Night at BCS APSG

Last evening I gave a presentation on Groovy to the BCS Advanced Programming Specialist Group. After a short introduction to the history of Groovy in order to set the scene, the session was devoted to showing example code using the Groovy Console. We only had to do some scripting, we didn't really get on to writing classes. It really was a whirlwind introduction.

The session went well. At least I thought it did :-) The organizers must have done as well as they have already asked me if I would do a session on GPars next year.

The slides I used are here, and the start point source code of various examples is here.

Parallelism can be Groovy

I am doing a "webinar" about Groovy and GPars for the BCS Distributed and Scalable Computing Specialist Group at 2010-03-17T17:30+00:00. See here.

From the announcement mailed out to group members and others:


This email is to provide you with joining instructions for Russel Winder's Webinar "Parallelism can be Groovy" taking place on Wednesday 17th March at 17:30 GMT, details of which I sent you earlier.

You can watch the webinar by going to the following URL:

if you have questions for Russel please email them to:

which will be available for mailing to from one hour before the webinar. Please ensure that you provide your name on the email. Mail will be moderated.

We very much hope that many of you will join the webinar, which is a new venture for DSC SG, aimed at helping the membership to "attend" as many of the group's talks as possible without the hassle of having to get to Central London.

We are very grateful to Professor Choi-Hong Lai and The University of Greenwich who are kindly providing facilities for the webinar.


Canon say they have Linux software, but don't :-(

As a new year pressie to myself I bought a Canon EOS 5D Mark II (*). The camera is superb - unlike the weather which is all slush rather than the more photogenic snow. I tried getting support software for the USB link from Canon's site. They advertise Linux and Unix on the drop down menus, leading to an expectation that they have Linux and Unix versions of all their software tools for the camera. Wrong. They only have Windows and Mac OS X variants of their software. This means I can't do the firmware upgrade unless I get a Windows or a Mac OS X machine. Extreme disappointment.

When asked, Canon report that there is no expectation of support for Linux at this time. Sad as well as disappointing.

(*) If anyone wants a well-used, but still totally working, Canon EOS 10D with battery grip, 4 batteries and charger, email me to negotiate. Also I have a Tamron 28-200 lens with hood, Skylight 1A, circular polarizer, and UV filter also in need of a good home.

Copyright © 2017 Russel Winder -