Software and research: the Institute's Blog

I received this, possibly nepotistic, question from Mahendra Mahey of the DevCSI project. He asks:

“Today is the day that people look to find their perfect match. But what about getting together with developers? Do you have any advice on the best way to meet that perfect developer you’ve always dreamt of?”

Finding the right place to meet developers can indeed prove difficult, and finding the right match for your needs is even more tricky.  Always the matchmaker, perhaps Steve ‘The Cupid’ Crouch can help all of you in this situation!

Coincidentally enough, there is an excellent JISC-funded developer conference on 16-17 February in London that provides a fascinating and unique forum to meet and chat with other developers: Dev8D.  Incorporating elements of an ‘unconference’, it provides many interesting ways to learn about what other developers are doing, to meet and collaborate, and who knows?  Maybe you can find The One. However, time has almost run out to register for Dev8D – you need to sign up by today to secure a place.  You…

Continue Reading

There I was sitting back reading a copy of ‘What Compiler?’ when I received a particularly tricky AskSteve question…  Ok, ok, Simon nudged me whilst I was reading xkcd and chomping on a sandwich and mentioned we had received a particularly tricky AskSteve question…

“Hi Steve, I’m an ambitious programmer just starting out in a new research team. I want my code to not just work fast, but to last as long as possible and I want others to admire and use my code. Everyone else seems to use Fortran round here, and I’m not sure that’s a good thing. Your wisdom, would as ever, be much appreciated”

Hmm… certainly an interesting and involved question, to which there is, unfortunately, no straightforward answer.  However, all is not lost, I’m up for the challenge!  There are some things you can consider to help narrow your search, and over the coming weeks I’ll be revisiting this question to look at each of these.  As to answering the question…

First off, as a general rule, you should of course select what is right for the application you wish to develop.  Are you developing software to produce scientific results, or some support infrastructure like a web site?  Many languages are good for many different applications, but trying to use

Continue Reading

migration.jpgTaverna is an internationally successful workflow environment developed by the myGrid team at the University of Manchester. The team recently moved the Taverna source code from SourceForge to Google Code and GitHub. We asked Shoaib Sufi – myGrid project manager and community liaison for the Software Sustainability Institute – to explain their thinking behind the move. The work behind this post was completed by Stian Soiland-Reyes, Jiten Bhagat, Stuart Owen, Alan Williams and Shoaib Sufi.

Google Code

Taverna was moved from SourceForge to Google Code due to the ad-ridden downloads on SourceForge. We felt that the adverts could cause user confusion, so we chose to move to a new repository.

At the time of writing Google Code support Subversion (SVN) and Mercurial (HG) repositories. We used a tool called cvs2svn against a CVS dump from our SourceForge repository. This was necessary to preserve the full CVS history. When performing the CVS dump, it’s important that the fresh Google Code SVN is at revision 0/1. We requested a reset on the Google Code forums, but before we did this, we made a tag in CVS so that we could confirm that there were no further commits after we made the move. If you wish to move from SVN to Mercurial, there are a number of tools available, such as svn2hg.

Google Code will not allow someone to register a project name that has already been used on SourceForge (Taverna, in our case), unless that person is the owner of the SourceForge project too. This meant that we had to send a support…

Continue Reading

Heavy users of the Hudson continuous integration server software are, no doubt, following the community vs. Oracle tussle in the news and blogosphere. Those of you who aren't, may not care. Before I touch on the current state of names and name-calling, let me put in a word of recommendation for Hudson from a pure software-development perspective.


Hudson is a server software stack that provides an environment for continuous integration. We've used it in projects here at the Software Sustainability Institute. Taverna are big Hudson users, and the ADMIRE project at Edinburgh uses it for the automatic build, deploy and test of data integration services across six European sites. We've found it straightforward to install and configure, and an excellent way of keeping an eye on the quality of code going into your project's repository. ADMIRE has Hudson configured to run builds and tests every hour for each of the project sites - ideally giving a sunny weather picture like the one shown on this page. There's even a Hudson interface for iPhone!

If anyone would like the Software Sustainability Institute to write a how-to guide for using Hudson in research…

Continue Reading

CW11_0.jpgEvents are like dentists. Everyone thinks they're a good idea, but people aren’t always that keen to attend. This year, I'm organising an event called the Collaborations Workshop (known, to its friends, as the CW). It’s certainly an easy event to organise, because the feedback from previous years has been very good. My problem is: how do I maintain this success and hopefully make it bigger and better than previous years?

Before we go any further, let’s get something straight: I have no problem… liberating… any ideas that people reading this post might have about organising successful events. If you’ve got an idea, let me know at And I also want to plug the event: it’s on 3-4 March, is based in Edinburgh and more details can be found on the conference website.

Like anyone that’s spent any time in academia, I’ve been to my fair share of conferences and sat through a lot of Powerpoint (Powerpoint derived from the latin Pooworpont meaning ‘to stare fixedly’). That’s why we run the CW with a flexible agenda. Before and during the event, people suggest topics for discussion, and these ideas are voted on by everyone at the workshop. We then split into small groups and discuss the most popular topics. I feel that this is the main strength of the workshop, because only the topics that interest everyone get air time, and if a topic runs out of steam, we simply move on to something else. Most…

Continue Reading