Software and research: the Institute's Blog

Advances in Data ScienceBy Raniere Silva, Software Sustainability Institute.

Manchester hosted the Advances in Data Science 2017 meeting organised by the Data Science Institute on 15-16 May 2017. It was an opening eyes meeting for privacy and inspiring for ways that researchers can analyse and visualise their data.

The meeting started with a talk by Mark Girolami covering the use case of inference and prediction of the London retail development. It was interesting to discover how retail development is important to plan the future of any city since it’s one of the main reasons why people travel across their cities. The introduction of drones and self-driven cars would completely change why and when we travel across our cities, which will create many opportunities for researchers in this area. Following Mark's talk, Raia Hadsell exposed ways to overcome catastrophic forgetting; i.e., when a machine learning entity forgets what it’s learnt when it starts learning  a new problem in neural nets. Raia used Atari Games played by an artificial intelligence…

Continue Reading

Code/Theory workshopBy Caroline Jay, University of Manchester, Robert Haines, University of Manchester.

A group of research software engineers (RSEs) recently gathered in Manchester, to explore the challenges of translating between scientific narrative and software. The full report from the Code/Theory Workshop is available in Research Ideas and Outcomes; here, we summarise the outcomes of the afternoon. Software engineers are sometimes seen as peripheral to the academic enterprise, providing the tool to do research, rather than actively contributing to the research itself. The overwhelming conclusion of the workshop was that, in reality, software engineers play a central role in the research process, and it is vital to get this message across.

Why is code/theory translation challenging?

Participants started by identifying the challenges of translating between code and theory. A key theme that emerged was the difficulty of designing research software. As scientific theory is continually changing, how do you design a plan?

All participants faced the challenge of getting to grips with new and diverse domains. In some…

Continue Reading

Docker Containers & Reproducible ResearchBy Raniere Silva, Community Officer

The Docker Containers for Reproducible Research Workshop (C4RR) is nearly upon us. It will take place from the 27th to 28th June 2017 at the Department of Engineering, University of Cambridge.

The latest changes and additions to the agenda are now live. Tuesday 27th June will be filled most with talks. 28th June will start with two demos. Delegates will need to select one to attend since they will be run in parallel and are responsible to configure their machine in advance with the requirements of the demo they plan to attend.

28th June afternoon will kick-off with the Sponsored Keynote Talk by Kenji Takeda from Microsoft. Kenji was one of the speakers at Collaborations Workshop 2017—you can watch the recording of his talk here—and we are very happy to have the opportunity to listen him talking about containers.

The workshop dinner will happen at the end of the first day, 27th June. We will be waiting delegates at The Cambridge Brew House for a informal curry night. Before the dinner…

Continue Reading

ArticDEM project

By Daniel S. Katz, Assistant Director for Scientific Software and Applications at the National Center for Supercomputing Applications, University of Illinois Urbana-Champaign.

This article is part of our series: A day in the software life, in which we will be asking researchers from all disciplines to discuss the tools that make their research possible.

A large amount of today’s computational and data science involves combining the execution of many tasks that each run a model or transform data, to build up a multi-component model or a multi-stage data transformation. Most researchers initially do this manually, and then (if they have any programming experience) eventually move to using shell scripts when the manual process gets too painful.  However, shell scripts tend to limit the work to single resources, as they don’t really work well with parallel computing.

An alternative method is to use a system that I’ve been involved in developing: the Swift Parallel Scripting Language. (Note that there’s no relation here to Apple’s Swift, other than that they reused our name.) Swift provides an implicitly parallel and deterministic programming model, which applies…

Continue Reading

Good coding practiceBy Sanjay Manohar, University of Oxford, and Software Sustainability Institute fellow

When you try to distil years of experience into words, something is always lost. How can you convey the basic principles of a practical art in a seminar? Teaching coders how to code well is challenging because each person starts with a different set of experiences, a different skill set, and a different end goal in their programming journey. Yet there is something that brings them all together: a passion to improve their code to broaden the set of techniques they have in their toolbox.

As a teacher, it is crucial to remain aware of what students do and do not understand yet. A set of assessment techniques is part of the armament of every educator and allows the use of the most appropriate level of language, criticism and sophistication. These formative tools also give students the feedback they need to see their own limitations and measure themselves against.

On 10th April 2017, I held a seminar on good coding practice for neuroscientists. It was at the British Neuroscience Association Festival of Neuroscience, a national meeting involving neuroscientists of every kind from around the country. In a small seminar room in the convention centre, forty excitable scientists crowded…

Continue Reading