Software and research: the Institute's Blog

Latest version published on 15 May, 2018.

DH.pngBy Becky Arnold, University of Sheffield

On the 2nd of May 2018, David Hubber, a postdoc at Ludwig-Maximilians-Universität Munich, gave a seminar on Long-term Software Development for Scientists, as part of a series of talks around good practice at the University of Sheffield. David discussed how to structure code efficiently, code module design, decoupling strategies and test-driven development.

I’ve had the pleasure of meeting David previously— we’re both astrophysicists working on simulations of star forming regions. In particular David has a great deal of experience in working with big codes that span tens of thousands of lines. While my own work is of a smaller scale I and I think many researchers are familiar with writing programs that start small and quickly evolve into a huge unmanageable mess.

David discussed the dangers of “the blob” and “spaghetti code”, before going on to cover strategies to avoid them. Some of these strategies were stylistic, he described how keeping consistent with style choices in your code makes it easier to understand for your future self and others, thus making it more maintainable.

He also discussed how comments (while absolutely vital) can also be something of a double edged sword if misused. Excessive comments can…

Continue Reading

Latest version published on 11 May, 2018.

38689453920_3f7c3fa2d5_z.jpgBy Anna Krystalli, University of Sheffield, and Toby Hodges, EMBL Bio-IT

Read part 1 and part 2 of this series of blog posts.

03: Continuing Challenges

Moving From a Top Down to a Decentralised Model

We were all in agreement that one of the most challenging aspects of sustaining community is enlisting contributions. Challenges to peoples time and the non trivial work providing support and encouragement required to foster welcoming inclusive environments pose challenges to motivating participation.

To a certain extent, dedicated seed staff will likely continue to be an important determinant on the success of a community building initiative. While making the most of the available tools and practices we've been discussing (automation, open, reusable materials, good communication channels) can really aid decentralisation, sustaining momentum and mechanisms to empower and recruit grassroots leadership is still required.

Lack of Funding & Recognition

Something I found really interesting was that both (Toby) EMBL and (Tobias) DLR had not realised how far ahead the initiatives they represented were in the areas they were leading. Tobias…

Continue Reading

Latest version published on 10 May, 2018.

16341039835_70b510396f_z.jpgBy Anna Krystalli, University of Sheffield, and Toby Hodges, EMBL Bio-IT

02: What Works

In this blog series, we're sharing our experiences from our meeting at Heidelberg to discuss how to build communities to support Research Software Engineering. We provided the background to our meeting and introduced the participants in our first post. In this one we pull out the recurring threads in our experiences of what worked.

Knowing your community

This is fundamental to the community's ability to add value and should be one of the first community development steps. We need to know both where the community is at and where they want to go. Activities responsive to such community goals, needs and aspirations will generate a higher rate of engagement and voluntary participation.

And it all started with a survey: we all started with some form of surveying our communities. But on-going revisiting and reflecting on such fundamentals is important for community sustainability so.

Effective communication channels

Community == communication

Effective communication channels are vital for both the transfer and processing of information, particularly of tacit knowledge, but also for fostering social, collaborative relationships…

Continue Reading

Latest version published on 10 May, 2018.

413592672_0b437c7519_z.jpgBy Anna Krystalli, University of Sheffield, and Toby Hodges, EMBL Bio-IT

01: Background

So many of us have been fired up by the UK Research Software Engineer (RSE) initiative and it's spread throughout further European Countries. The spark for this particular meeting started at the Second RSE conference held in 2017.

For me, the initiatives described by Toby Hodges at European Molecular Biology Laboratory (EMBL) at Heidelberg and Tobias Schlauch at the German Aerospace Center (DLR) had been two of my favourite talks and motivated me to find out more. I kept in touch with Toby and we informally swapped notes over online meetings. In the meantime Toby and Tobias had already been synthesising some of their experiences, published in this post at the Software Sustainability Institute's website. I was also excited to see the results of the German RSE survey presented by …

Continue Reading

Latest version published on 2 May, 2018.

518462367_515a386c64_z.jpgBy Anton Shterenlikht, Bristol University

With over 1100 members, the Computational Physics Group (CPG) is one of the largest IOP groups. The interests of CPG members are extremely broad, from computer algebra and numerical methods to large scale calculations in hydrodynamics, astrophysics, plasma physics, meteorology and geophysics; from HPC tools and parallel visualisation to large scale quantum mechanical simulations in nuclear, atomic, molecular and condensed matter physics; from theoretical calculations to experimental data analysis, image processing, AI, machine learning and "big data". Advances in microelectronics, numerical analysis and computer science all impact on computational physics, and it is important that practitioners of the subject are aware of developments in these fields.

CPG membership is very diverse and represents industry, academia and government organisations. The only unifying topic is the use of numerical tools to further physics research. The Group arranges specialised meetings on topics such as condensed matter simulations, applications of parallel computing, algebraic computing, image processing and computers in physics teaching, often in collaborations with other groups or organisations external to IOP. CPG has representation in the European Physics Society allowing international co-ordination.

CPG produces a…

Continue Reading