Software and research: the Institute's Blog

Latest version published on 16 February, 2018.

cw186.pngBy Raniere Silva, Community Officer.

Two activities that form part of  all our Collaborations Workshop are the discussion session and collaborative ideas session. They may not be self-explanatory, but we assure you they are a great opportunity for attendees to interact and exchange ideas.

For Collaborations Workshop first-timers, including our fellows, the discussion session and collaborative ideas session may be completely new. So in this blog we will explain these two sessions and provide some tips on how to make the best of them.

Discussion session

Based on the information that attendees provide during registration, we create a list of topics that they might find interesting to discuss. For example, during CW17 we had "Best practices in Open Data and IoT data; tools & frameworks, analysis patterns and data management", "Improving diversity in research software projects and events", "How to give a kind and balanced software review" and many others. Topics can also be suggested by participants on the day—last year suggestions included "Research, Research IT, and IT: cultural bridging. Or, 'how to stop the IT department slowing down my science'".

At the very beginning of the discussion session, attendees vote for the topic they want to discuss and groups start to form. Once the groups are formed, we assign them…

Continue Reading

Latest version published on 15 February, 2018.

14963879736_f7c42086ea_z.jpgBy Mark Woodbridge, Research Software Engineering Team Lead

This is the first in a series of blog posts by the Research Software Engineering team at Imperial College London describing activities funded by their RSE Cloud Computing Award. The team is exploring the use of selected Microsoft Azure services to accelerate the delivery of RSE projects via a cloud-first approach. This post was originally published at the Imperial London College Research Software Engineering team blog. 

A great way to explore an unfamiliar cloud platform is to deploy a familiar tool and compare the process with that used for an on-premise installation. In this case we’ll set up an open source continuous delivery system (Drone) to carry out automated testing of a simple Python project hosted on GitHub. Drone is not as capable or flexible as alternatives like Jenkins (which we’ll consider in a subsequent post) but it’s a lot simpler and a suitable example…

Continue Reading

Latest version published on 8 February, 2018.

groupc.pngBy Stuart Grieve, Research Software Developer, University College London, Eike Mueller, Lecturer in Scientific Computing, University of Bath, Alexander Morley, DPhil in Neuroscience, University of Oxford, Matt Upson, Data Scientist, Government Digital Service, Richard Adams (Chair), Reader, Cranfield University, Michael Clerx, Post-doctoral researcher in Computational Cardiac Electrophysiology, University of Oxford.

This blog post was motivated by a discussion amongst academics and research software engineers from different disciplines on the challenge of writing good, sustainable software in teams with different backgrounds. Specifically, how can a mixed team of, say, scientists, librarians, engineers and project managers be encouraged to write good software together?

Our discussions led us to two broad recommendations: first, to ensure that research software…

Continue Reading

Latest version published on 8 February, 2018.

2011.11.15_building_software.pngBy Adam Tomkins (Chair), University of Sheffield, James Grant, University of Bath, Alexander Morley, University of Oxford, Stuart Grieve, University College London, Tania Allard, University of Sheffield.

There is a growing interest in the adoption of software best practices in research computing and allied fields. Best practices improve the quality of research software and efficiency in development and maintenance as well having the potential to deliver benefits outside software development.  However, this interest in these methods is not universal and there is a possibility that a drive for best practice could lead to a widening divide between those who embrace this change and those who do not. It is therefore vital that Research Software Engineers (RSEs) work closely with domain specialists, to bridge this divide and attempt to meet the challenges of efficiency and reproducibility:

  • How do we…

Continue Reading

Latest version published on 7 February, 2018.

6375359117_dc18c1a762_z.jpgBy Sam Cox, University of Leicester, Richard Adams, Cranfield University, Eike Müller, Met Office.

The role of software in research and who writes it

From an institutional level down to teams and even individuals, research today is heavily reliant upon software and particularly upon bespoke computer code which solves specific scientific problems.. This creates a huge demand for software creation and maintenance. Traditionally, this has been the responsibility of post-docs and postgraduates. But while they play a crucial role in the success of the research group, the indirect nature of the translation of their work into papers (particularly the maintenance and update work to keep on keep the software fit-for-purpose under changing scientific requirements) can leave the individual researchers at a disadvantage—they have less time for the more traditional work of running experiments and writing papers. This in turn has an effect upon their career progression, which hinges on clear metrics for success.

As a result, one major issue is how to identify what ‘…

Continue Reading