Software and research: the Institute's Blog

We're all engineers now

Latest version published on 3 October, 2016.

Well, OK, of course we're not. Most of us are researchers who want to get on and make new discoveries in our chosen fields. Increasingly we find ourselves having to create and use software to make progress, but that doesn't make us all software engineers. What we're doing is research - computational research, if you will - but not software engineering.

Hmm. Hold on a minute.

Research works best without constraints on thought; it needs the freedom to chop, change, freewheel and go off at tangents; it is, by definition, a voyage into the unknown.  

In contrast,…

Ask Steve - Developing software in an open way: Part I

Latest version published on 30 September, 2016.

So I received this question from Alex Voss the other day:

“As I am just embarking on a software development project, I would like to know from Steve what the benefits and risks are of developing a piece of software in a completely open way? Should I make all my source code available from the start to attract potential collaborators and to solicit contributions or should I keep it close initially to avoid getting locked into early solutions that have been taken up by others? Are there examples of how people have…

What makes good code good?

Latest version published on 6 October, 2016.

At the Effective Scientific Programming workshop on the 20th June 2011, Mike Jackson posed to 31 attendees one of the essential programming questions, that of "what makes good code good?" The attendees, who mostly viewed themselves as "scientists who do some programming", rather than "scientific programmers" proposed the following:

The most important quality is that the code must be fit for purpose. It must do what it is intended to do and do it correctly. Without this quality, any research deriving from the code could be fundamentally flawed. The code must be readable, well-…

SSI at the Effective Scientific Programming workshop

Latest version published on 6 October, 2016.

The Software Sustainability Institute was invited to participate in a workshop on Effective Scientific Programming at the University of Newcastle on Monday 20th June 2011. Funded by the Vitae Yorkshire and North East Hub, the workshop was run by a team of researchers from Newcastle University and Northumbria University. The workshop allowed scientists to come together and share their experiences of programming and gain a greater awareness of tools and techniques that can help them become more effective programmers.

Over 70 scientists from universities across the North East…

SSI contributes to Software Carpentry

Latest version published on 7 October, 2016.

We have written a tutorial on file management in Python, which is now available on the Software Carpentry website.

Since 1997, Software Carpentry has taught scientists and engineers the concepts, skills, and tools they need to use and build software more productively. Software Carpentry is an open-source project that provides a whole range of free-to-use online educational resources, including lectures, videos and exercises.

Greg Wilson, Software Carpentry's project lead, asked us if we could contribute lectures to their site and so extend the range of materials…

Commercialising your software

Latest version published on 6 October, 2016.

Aleksandra Pawlik, a PhD student from the Open University, has been looking into commercialisation of scientific software. Getting people to pay for your software is one of the many routes to software sustainability, so we asked Aleksandra to give us an overview.

If you’re happy to share your cutting-edge software with other researchers, why not make some money by commercialising it? If academics are dying to get a copy of your code, then your software must be a desirable product. Industry is an equally important customer for software, and if nothing else it’s fun to charge…

Ask Steve! - How to develop code to avoid dependency problems

Latest version published on 30 September, 2016.

This post is inspired by a forum question from one of the SeIUCCR Community Champions, regarding software versioning issues on NGS clusters…

Developing code that depends on other code is  common – we do it all the time, even with the simplest program. Software reuse is good practice, but a problem can occur when you take your software from its well-known and tested environment, such as the one within your research group, to a new environment. You can find that the dependent software (the software you reused…

Scientists solve one of Africa’s oldest animal plagues

Latest version published on 6 October, 2016.

An interesting press release originating from our Manchester partners.

NAIROBI, KENYA —An international research team using a new combination of approaches has found two genes that may prove of vital importance to the lives and livelihoods of millions of farmers in a tsetse fly-plagued swathe of Africa the size of the United States. The team’s results were published today in the Proceedings of the National Academy of Sciences (PNAS).

Publish or be damned? An alternative impact manifesto for research software

Latest version published on 6 October, 2016.

In the research world, we're often told that the the only way for our work to have a measurable impact is through the citation of publications based on our work. The mechanisms for this are in place, the stakeholders understand the framework, and everyone is happy... or so we're led to believe.

However, the status quo neglects the many research outputs, including software, that may be generated by a research activity and certainly doesn't encourage their sharing and reuse, let alone give proper credit for their production.

The Ancient Greeks knew a thing or two about software problems

Latest version published on 6 October, 2016.

An Ancient Greek harp, which had been lost to the world, turns out to a fantastic argument for software sustainability.

At a conference last week, I talked to Domenico Vicinanza about the Epigonion: a kind of harp that was popular in Greece around the first century. None of the instruments have survived to the present day, so its existence was only known from historical records (such as the image shown on this page). It’s not just the instrument that has been lost, so have the skills and know-how needed to create one. This led Domenico’s team to set about a digital resurrection…