Skip to main content

Software and research: the Institute's Blog

Latest version published on 7 October, 2016.

HousesOfParliament.jpgBy Chris Morris, STFC.

In science politics, is it an advantage to get the science right? Of course, the answer to this question is yes (if you work for an organisation where this is not the case, it's time to look for a new job). The question is an adaption of Machiavelli's question about morality and war. To adapt his extended answer, if you are overconfident in this advantage, you can turn it into a disadvantage by forgetting to pay attention to the beliefs, interests, and wishes of the people around you.

Some people seem to think there is a hidden process called politics, which is separate from their work (they're the type that always have a new rumour to pass on). My impression is that this attitude makes people less effective in their work - including the political parts of it. Management is well defined by Barry Mintzberg as the art of getting things done by people in organisations. Some things get done through the exercise of power. The rest is politics. When you are managing people, it's all about the power of persuasion.

Tell the truth; listen; seek win-win solutions; when you can't make everyone happy, go with the science. It's a simple approach, but it works for me.

Latest version published on 30 September, 2016.

It’s such a joyous time becoming a parent! Your software’s been conceived and is now going through an exciting and healthy period of development. You’ve fought your way through bouts of sickness and the odd craving (I’ll write it in… Malbolge*!!!), but everything’s on schedule. But wait… the delivery date is next week! Stay calm, remember your breathing and follow these top tips for delivering something wonderful into the world.

1 – Always release software with a licence – without a birth certificate, no one will know who the parents are.

2 – Waiting isn’t going to make the delivery any better – a late delivery can be as difficult as one that is premature. If things are taking too long, it can be best to induce labour.

3 – Version your software releases – things are going to get complicated if you don’t distinguish between who’s Sr. and who’s Jr. (Michael Jackson’s a bit of a visionary in this field, having included a version number in his son’s name “Michael II”).

4 – Provide contact information – make sure your software has a name tag just in case there’s a mix up at the repository.

5 – Download and test your release – on the big day, you should make a test run so that you’re happy that there’ll be no complications (pack an overnight bag).

For a slightly more, er… 

Continue Reading

Latest version published on 6 October, 2016.

BuckingBronco.jpgBy Steve Crouch.

You've put in the hard work, developed your software masterpiece and it's finally ready. How should you go about releasing it into the wild? In the rush to release your software it's easy to forget a few things. A few very important things! Let's take a look at five things you should consider prior to release...

1. Always release software with a licence

Your hard work in developing your software is just that: it's yours. Without specifying the rights you want to convey to your users, and under what conditions, they could do whatever they want with it - including making a tidy sum by selling it! And without being clear on liability, users could pursue you for damages if something goes wrong when they use it. The onus is on you to protect your interests and the rights to your software.

For an introduction to copyright and licencing, see our guide on adopting an open-source licence.

2. Don't wait until the software is perfect before releasing

Whilst it's important to make sure your software is ready for release, it's easy to get caught up in making the software perfect, which can unnecessarily delay the release.

It's a harsh truth to accept, but your software will never be perfect. There will always be parts of it that need a little tweaking or lack the ability to do that extra something. The key here is in expectation management: be clear…

Continue Reading

Latest version published on 6 October, 2016.

SoftwareCarpentryNewcastle.jpgThis week, Newcastle University played host to a Software Carpentry boot camp run by the Digital Institute at Newcastle University, SoundSoftware and The Software Sustainability Institute. This the first boot camp to be delivered entirely by UK tutors, independent of Greg Wilson's team in Canada.

Neil, Steve and Mike joined the Digital Institute's Steve McGough and SoundSoftware's Chris Cannam for the daunting task of running the boot camp, having attended the first UK boot camp at UCL just 2 weeks ago! The attendees' comments were very positive and there was a number of valuable suggestions for future improvements - courses, like software, can benefit from iterative development.

Software Carpentry aims to teach scientists how to quickly build the high-quality software they need, and so maximise the impact of their research. The format is a workshop, or boot camp, followed by 4-8 weeks of self-paced online instruction.

Further boot camps are planned for later in the year at locations across the UK. Keep tuned to our blog or…

Continue Reading

Latest version published on 7 October, 2016.

By Mike Jackson.

During my work with the MAUS project, Chris Tunnell pointed me at a recent article in IEEE Software by Nicholas Barnes and David Jones on "Clear Climate Code: Rewriting Legacy Science Software for Clarity". The article describes the authors' experiences in completely rewriting an important climate code called GISTEMP.

GISTEMP produces global surface temperature datasets and was subject to criticism, because it was not publicly available and, when it was made available, because it had obvious bugs and could not be run. The authors' decided to completely rewrite GISTEMP to deliver a version that could be accessed, downloaded, inspected and run by any interested party. To this end, they set up the Clear Climate Code project on Google Code to produce and encourage the production of clear climate science software and contribute to increasing public confidence in the results.

The Clear Climate Code paper gives a concise and highly-readable account of the challenges faced by the authors during the refactoring of their code, and describes the research that has been mad possible by the new version of GISTEMP. I'd recommend it to anyone who is interested in scientific software development, or anyone who wants to know why scientific software should be accessible, clear, maintainable and portable (on that note, it is, perhaps unfortunate, that you may not be able to actually read the article unless…

Continue Reading