Software and research: the Institute's Blog

Latest version published on 5 December, 2017.

research software project managerShoaib Sufi, Software Sustainability Institute, Robin Dasler, CERN, Chris Edsall, University of Bristol.

This post is part of the WSSSPE5.1 speed blogging series

The accidental research software project manager

For many, the role of research software project manager (RSPM) may be an accidental calling. The career path for this role isn’t well-established, and research software development in academia may itself be something of a haphazard, nigh-accidental byproduct of conducting domain research. Individuals approaching this role may have little to no wider industry experience, instead approaching the project manager role from research or research software engineering.

For those in a RSPM role who do not have prior industry experience, there is no solid basis for comparison between industry best practices for software development and the observed practices of the research environment, nor even any sense of whether or not best practices between industry and academia should be identical. How do those in this position gauge whether the practices in place in their particular work environment reflect how a project should be conducted versus how it has always been conducted? And to what extent could this lack of relevant…

Continue Reading

Latest version published on 30 November, 2017.

We would like to invite everyone working on research software in the Netherlands to complete the RSE survey and spread the word.

The Netherlands Research Software Engineer community (NL-RSE) was started to gain insight into the various communities of RSEs in the Netherlands and increase the interaction between them. The RSE surveys in the UK in 2016 and 2017 [1, 2] have allowed to gain valuable insights and spread the word about the RSE movement. That is why the Netherlands eScience CenterePLAN (Platform of eScience/Data Research Centres in the Netherlands), NL-RSE, and the UK RSE Association are organising this survey for 2017 in the Netherlands.

The study is conducted by the University of Southampton on behalf of the Software Sustainability Institute and complies with University of Southampton ethics guidelines (reference no.: ERGO/FPSE/30610). The investigators are Simon Hettrick and Olivier Philippe. Contacts in the Netherlands are Ben van Werkhoven and Tom Bakker from the Netherlands eScience Center.

[1]: See RSE State of the Nation Report 2017, page 21.

[2]: See UK-…

Continue Reading

Latest version published on 29 November, 2017.

Best practice for scientific softwareBy Damien Irving,  climate scientist

This post was originally published on the Dr Climate blog.

Code written by a research scientist typically lies somewhere on a continuum ranging from “scientific code” that was simply hacked together for individual use (e.g. to produce a figure for a journal paper) to “scientific software” that has been formally packaged and released for use by the wider community.

I’ve written at length (e.g. how to write a reproducible paper) about the best practices that apply to the scientific code end of the spectrum, so in this post I wanted to turn my attention to scientific software. In other words, what’s involved in turning scientific code into something that anyone can use?

My attempt at answering this question is based on my experiences as an Associate Editor with the Journal of Open Research Software. I’m focusing on Python since (a) most new scientific software in the weather/ocean/climate sciences is written in that language, and (b) it’s the language I’m most familiar with.

Hosting

First off, you’ll need to create a repository on a site like GitHub or Bitbucket to host your (version controlled) software. As well as providing the means to make your code available to…

Continue Reading

Latest version published on 28 November, 2017.

ReproducibilityBy Geraint Ian Palmer, Cardiff University.

A first version of this post was originally published on Geraint's blog.

There is a reproducibility crisis in science.

In computational science this is completely avoidable: if we can tell a computer what to do, we can tell it to do it again - and we can tell other people how to tell their computer to do it again.

In the domain of discrete event simulation, however, the software and methodologies that are traditionally used can make it difficult to reproduce the simulation results. In a recent preprint I have submitted with Dr. Vincent Knight, Prof. Paul Harper and Asyl Hawa, we compare simulation approaches in terms of reproducibility and best practice, and introduce Ciw, a Python library for discrete event simulations of queueing networks that is designed to facilitate…

Continue Reading

Latest version published on 27 November, 2017.

Python web frameworksBy Mike Jackson, Software Architect.

As part of my open call consultancy for LUX-ZEPLIN (LZ), I was asked to review web frameworks for Python, in particular those that could be used with MongoDB, the database management system used by LZ. In this blog post, I survey four frameworks for implementing web applications: Django, TurboGears, Flask and Pyramid.

These four web frameworks were selected from the many available because they each meet LZ’s requirements that they can be deployed under the popular Apache web server, that they support authentication and authorisation, and that they support directly, or via third-party libraries, the use of MongoDB for holding application-specific data. Additionally, the four web frameworks are popular, with a large user communities and each have permissive open source licences. This latter selection criteria follows our guide on Choosing the right open source software for your project which summarises factors to be considered when choosing open source software for use on projects.

The key details of each web framework are as follows:…

Continue Reading