For many people - certainly for myself - November is the month of the year where you rush to close things before Christmas arrives. Well, Christmas is already here if you have a look at the lights in the streets or the aisles in supermarkets, but clearly there is still a long way to go to really be able to get into the mood - among other things, wrapping up stuff so you don’t need to remember what you were doing in January. In the weeks that remain, there are plenty of RSE activities going on, from great events to attend or sign up to, to blog posts to read with a mug of mulled wine, to the good old Avent of Code you should all sign up to, just for fun. So park your work for a few minutes and keep reading - it will be time well invested!
On Monday 18th December 2023, 15:00-17:00, we’ll be holding an Imperial Research Software Community mini-workshop and festive get-together. Join us to hear talks from members of the community, chat with friends, old and new, over festive treats such as mulled wine and mince pies, and have a chance to try out our developer escape room! Please register here - there is an online attendance option for the talks element of the event. We also have a couple of spaces for lightning talk speakers - there is an option on the registration form if you’d be interested to give a lightning talk.
PyLadiesCon, an impactful event dedicated to fostering diversity, education, and empowerment within the Python community, takes place online from 1st to 3rd December 2023.
The EESSI community are organising and event on “Best Practices for CernVM-FS in HPC” on Monday 4th December 2023 (12:30-16:00 GMT). This is an online tutorial - further information and registration.
PyData Global 2023 is a 3-day virtual event from December 6th to 8th 2023, for the international community of data scientists, data engineers, and developers of data analysis tools to share ideas and learn from each other. Registration is now open.
The ARCHER2 training team are running a course on ARCHER2 for Package Users on Thursday 7th December, 09:30-15:30. This course is for people who have used other HPC platforms and want to work with ARCHER2, using pre-installed software packages that are already available on the ARCHER2 platform.
The ARCHER2 Celebration of Science event will take place in Edinburgh on 7th-8th March 2024. Registration is required but there is no fee to attend. There is also a Call for Posters for this event, for which the submission deadline is Tuesday 23rd January 2024.
ICSE24 is also hosting a wide range of workshops covering areas such as Quantum Software Engineering, Robotics Software Engineering, Responsible AI Engineering, and Search-based/Fuzz Testing. Workshop submissions are being accepted until 7th December 2023 (although please check individual workshop details to confirm the submission deadline if you’re planning to submit something).
The Platform for Advanced Scientific Computing Conference (PASC24) takes place in Zurich in June 2024. This conference is a great opportunity to present your work to and engage with the international computational science community. The submission deadline for PASC 2024 paper submissions is 1st December 2023 and there is a deadline for minisymposium submissions of 17th December 2023.
FOSDEM is an open source developer community event held in Brussels that has been running since 2000. The event is free and more than 5,000 developers attend. The 2024 event takes place on the 3rd and 4th February 2024. As highlighted on the FOSDEM website, this is a great opportunity to “…meet, share ideas and collaborate…You don’t need to register. Just turn up and join in!” However, if you want to give a presentation, the call for contributions is now open.
The Software Sustainability Institute (SSI) has announced that Collaborations Workshop 2024 (CW24) will be held as a hybrid event from Tuesday, April 30, to Thursday, May 2, 2024. If you’d like to receive updates about the event, you can subscribe to the CW24 newsletter.
ACM FAccT 2024, the ACM Conference on Fairness, Accountability, and Transparency will be held in person in Rio de Janeiro, Brazil from June 3rd to June 6th, 2024. One area of interest highlighted in the call for papers is System development and deployment. This theme covers “…work concerned with the development and deployment of algorithms, frameworks, models, systems and applications, with the goal of making them more fair, just, secure, privacy preserving, accountable, transparent and ethical”. For those interested in participating, abstract submissions are currently open, with the submission deadline set for 11th January 2024. See the call for papers for further details.
This month, in our series highlighting key members of the College community helping to support research computing and research software services, we hear from Dr Lee Benson, Research Software Engineer in the Department of Aeronautics:
I’m new to Imperial having recently joined the Department of Aeronautics as an RSE to work on an AI for Net Zero project looking at real-time optimisation of energy and transport systems. Specifically, I’m supporting the team’s data management and helping to ensure our research is open and reproducible.
Before starting my PhD back in 2016 I did a number of information analysis and database development jobs in the NHS. My PhD thesis was all about simulation and model fitting for air and waterborne diseases, and since then I’ve worked on projects related to Covid-19 and emerging livestock diseases.
There are a lot of new and unfamiliar things to get my head around in this new role, but this for me is the best thing about working as an RSE - the chance to work in new and unfamiliar fields, with fresh challenges and the chance to learn something new!
This month, we’re highlighting WSIMOD an open source Water Systems Integrated Modelling framework developed by the Department of Civil and Environmental Engineering.
The terrestrial water cycle is a highly interconnected system where the movement of water is affected by physical and human processes. Thus, environmental models may become inaccurate if they do not provide a complete picture of the water cycle, missing out on unexpected opportunities and omitting impacts that arise from complex interactions.
WSIMOD is a modelling framework written in Python to integrate these different processes. It provides a message passing interface to enable different subsystem models to communicate water flux and water quality information between each other, and self-contained representations of the key parts of the water cycle (rivers, reservoirs, urban and rural hydrological catchments, treatment plants, and pipe networks).
WSIMOD has benefitted from several Code Surgeries with the RSE Team to help bringing the tool to the current state and is the focus of two active projects to improve its capabilities and features. Among the immediate goals to complete before the end of the year, WSIMOD will be deployed to the Data & Analytics Facility for National Infrastructure (DAFNI) and to PyPI, to facilitate its installation and widespread use.
More information about WSIMOD can be found in the paper published in JOSS, the GitHub repository and the documentation.
The IEEE Computer Society together with US-RSE have produced a career guide “Research Software Engineers: Creating a Career Path—and a Career”. This guide looks at the role of the Research Software Engineer, the range of skills that are needed, and how they can be developed. It’s also a useful resource to point your colleagues or students to if they’re interested in the idea of a Research Software Engineering career.
It’s almost time for Advent of Code 2023! This annual coding challenge begins on the 1st December and consists of fun and often challenging daily coding problems in the run up to 25th December. Use it as a way to get started with a new language you’ve been wanting to learn, or simply test yourself and brush up your coding skills in a language you’re familiar with. We have a private leaderboard that we’ve used over the last several years of Advent of Code which you’re welcome to join - look out for the join code being posted on Slack once the challenge gets going or email us at rse-committee@imperial.ac.uk to ask for it so you can add yourself to our private leaderboard.
The Policies in Research Organisations for Research Software (PRO4RS) Working Group, which we’ve highlighted in previous newsletters, held its first event as part of the Research Data Alliance’s Plenary 21 event held in Salzburg, Austria in October. A short report on this session is now available.
Design patterns are the sort of things never spoken about but that differentiate the occasional coder from someone who knows how to unleash the power of software engineering. Design patterns in Python is a fantastic guide on how to apply the most common design patterns to Python to help you write good quality code. If you are not a Python person, Refactoring Guru is your page, not only describing the main design patterns at a higher, language agnostic level, but also giving tips on how to do effective refactoring of your - or someone else’s - code.
Have you ever found yourself writing if statements within loops within other ifs and more loops in a never ending nesting structure? Well, you’re not alone. This Youtube video walks you through the process of un-nesting your code - and the benefits of doing it!
Asynchronous computation for Python has been around for a few releases now, but even if we use it, sometimes we do not really understand how it works or how it differs from other forms of “parallelism”. This nice, step by step blog post will bring you the insides of how things are done under the hood, giving an interesting perspective of the async/await functionality in Python.
“Foundational Competencies and Responsibilities of a Research Software Engineer” is a pre-print article that looks at the various competencies required to become an RSE and the learning pathways that can support developing core RSE skills, as well as those required to underpin a variety of different RSE specialisms.
This month, Code for Thought brings a lot of interesting podcasts to the table. Check the webpage for the full range, but to mention two of them: ByteSized RSE: Software Estimation or - How Long Is A Piece of String? highlights the often overlooked, incredibly difficult topic of estimating the effort required to develop or maintain a piece of software. On the other hand, for those interested in AI, ML and, especially, large language models, we bring Jean Zay Supercomputer, Large Language Models - Nathan Cassereau, Hatim Bourfoune. Whenever you have a few minutes, perhaps on the train or the bus when communiting, tune in to Code for Thought!
The Imperial Research Software Community Slack workspace is a place for general community discussion as well as featuring channels for individuals interested in particular tools or topics. If you’re an OpenFOAM user, why not join the #OpenFOAM channel where regular code review sessions are announced (amongst other CFD-related discussions…). Users of the Nextflow workflow tool can find other Imperial Nextflow users in #nextflow. You can find other R developers in #r-users and there is the #DeepLearners channel for AI/ML-related questions and discussion. Take a look at the other available channels by clicking the “+” next to “Channels” in the Slack app and selecting “Browse channels”.
If you want to start your own group around a tool, programming language or topic not currently represented, feel free to create a new channel and advertise it in #general.
If you need support with your code, seek no more! The Central RSE Team, within the Research Computing Service is here to help. Have a look at the variety of ways the team can work with you:
All the documentation, tutorials and howtos for using Imperial’s HPC are available in the HPC Wiki pages. See also the Research Computing Service’s Research Computing Tips series for a variety of helpful tips for using RCS resources and related tools and services.
Imperial’s Research Software Directory provides details of a range of research software and tools developed by groups and individuals at the College. If you’d like to see your software included in the directory, you can open a pull request in the GitHub repository or get in touch with the Research Software Community Committee.
Drop us a line with anything you’d like included in the newsletter, ideas about how it could be improved, or even offer to guest-edit a future edition! rse-committee@imperial.ac.uk.
If you’re reading this on the web and would like to receive the next newsletter directly to your inbox then please subscribe to our Research Software Community Mailing List.
This issue of the Research Software Community Newsletter was edited by Diego Alonso Álvarez. All previous newsletters are available in our online archive.