The start of January seems like quite a long time ago now, but with this being our first research software community newsletter of 2023, we’d like to wish all our readers a rather belated Happy New Year! We hope you enjoyed a break over the holidays and were able to disconnect from research and programming for at least a short time.
The new year is already off to a busy start, with more and more conferences, events and training workshops returning to an in-person format. We have lots to tell you about this month so read on for our usual mix of dates for your diary, news and, of course, our regular Research Software of the Month and Research Computing at Imperial features.
FOSDEM 2023 is a large, two-day, event to promote the widespread use of free and open source software. It will take place in Brussels, Belgium this coming weekend, the 4th and 5th February 2023. There is a long list of accepted stands and developer rooms (a little like mini-workshops on specific topics in open source - each has its own Call for Participation which you can look at for more details). While it’s likely that travel and accommodation will be expensive at this late stage, there is no registration for FOSDEM, it’s free to attend and you can just turn up!
The Imperial “ICT Expo” will take place at the College main entrance on the 7th and 8th of February between 11:00 and 15:00. Members of the Research Computing Service will be there to give you the latest news on developments with the HPC service, how they can support your research software and what they are doing to improve the College’s research management applications such as Worktribe and Spiral. Drop by at any time and have a chat with the team! You can also learn about other parts of ICT too, of course!
The next session in the Byte-sized RSE series will cover Code Style and Linting and take place on Tuesday 28th February 2023 at 13:00 GMT via Zoom. Save the date, registration will open in the next couple of weeks and further details of this session (and all previous byte-sized RSE sessions) are available on the byte-sized RSE webpage.
The annual Software Sustainability Institute (SSI) Collaborations Workshop (CW23) will take place on the 2nd-4th May 2023 as a hybrid event - in person in Manchester, and online. Registration is now open.
JupyterCon 2023 will take place in Paris, France on 10th-12th May 2023. Conference registration is now open.
This month, in our series highlighting key members of the College community helping to provide, manage and support research computing and research software services, we hear from Dr Srikanth Ravipati, Senior Research Software Engineer in the Department of Materials:
I have been a Senior Research Software Engineer (RSE) within the Stevens Group in the Department of Materials for a year and a half. I have been developing software with a graphical user interface to control Single Particle Automated Raman Trapping Analysis (SPARTA), SPARTAControl, and software to process data obtained using SPARTA, SPARTADiscovery. (https://spartabiodiscovery.com/)
I have had an RSE spirit all along, with a different quality, to be fair, since my Ph.D. as my thesis extensively involved molecular simulations. After my Ph.D., I moved to the UK for a postdoctoral position in the Department of Chemical Engineering and continued as a computational researcher with the internal RSE spirit growing. Then I moved to the Department of Chemical Engineering at University College London to work on the development of Zacros (https://zacros.org/), which was the transitioning point in my career as an RSE.
I enjoy working on projects to develop software that is easy to use, flexible (as most of the research software is constantly in flux), and performant (the past times of processing molecular simulation data inefficiently still haunts me). I like reading about updates in programming languages and observing their evolution. Now, I am enjoying reading about RUST, although I do not use it in a project, not yet anyway!
Our Research Software of the Month for January 2023 is ICLOCS:
ICLOCS (pronounced “eye-clocks”) is a comprehensive software suite for solving dynamic optimization problems (DOPs) in MATLAB and Simulink. This type of infinite-dimensional optimization problem is frequently seen in optimal control, state and parameter estimation, system identification and engineering design problems, where dynamic models are employed.
The toolbox builds on a wide selection of numerical transcription and discretization methods, as well as automated tools to assist the design and implementation of DOPs. The aim is to provide the first port of call for solving different types of challenging DOPs. The suite of solution techniques implemented in ICLOCS significantly increases the chance of successfully solving difficult problems to a high accuracy. In addition, ICLOCS is also designed for prototyping implementations on embedded processors. The package offers the user flexibility in trading off the solution quality with the computational complexity.
The result is a comprehensive toolbox that is capable of efficiently solving and implementing a wide variety of challenging DOPs. Consequently, users may implement the DOPs in a straightforward manner, making nonlinear optimal control available to a broader range of application fields. In addition to internal and collaborative research in aerospace, energy and healthcare sectors, ICLOCS has also appeared in publications helping researchers in a wide range of fields (e.g. electrical and electronics engineering, robotics, autonomous driving) to address their respective challenges.
The software is open source and released under an MIT licence. You can find the source code and further details in the project’s GitHub repository.
Are you an Imperial PhD Student? Would like you like to help support research software at the College and raise awareness of key best practices to support high quality research outputs within your communities? We are looking for 12 Research Software Champions to work with us on a project to enhance research software culture at Imperial between February and July 2023. See the advert (Imperial login required) for more details. (deadline extended to 23:59 on Tuesday 7th February 2023).
The Research Computing Services (RCS) offers an exciting opportunity for a technically interested person to join the group for a period of 6 months as part of the RCS Experience programme. See the advert to learn what this post is about - deadline 13th February 2023.
Some of you may be aware of the recent security issue that affected PyTorch. This was a result of compromised dependency. If you develop any Python packages that make use of dependencies hosted via repositories other than PyPI, you’re advised to familiarise yourself with cause of this issue and check whether you need to take any action to help mitigate the chance of a similar issue affecting your software.
A reminder that ARCHER2 (the UK’s National Supercomputing Service) has announced their 9th eCSE call. The eCSE programme provides a great opportunity to obtain funding for research software engineers to work on preparing and optimising your codes to run on the ARCHER2 system. See the eCSE pages for more details on how to apply. There is a 2-stage submission process, the deadline for technical evaluation documents is 16:00, Tuesday 21st February 2023 and final submission is 16:00, Tuesday 14th March 2023.
F1000Research has just issued a call for papers for a new collection on Innovations in Research Assessment. The deadline for submissions is Friday 30th June 2023. You can also find further information in this short SSI post announcing the collection.
A couple of new episodes have been released in the Code for Thought podcast series. The first is the latest companion episode for byte-sized RSE, covering Continuous Integration, and linked to the byte-sized RSE session that took place online on Tuesday 17th January 2023. An episode of the podcast has also been released looking at the use of Jupyter in the classroom.
For a great example of the challenges of managing and sustaining research software packages, take a look at this fascinating article - “Crucial Computer Program for Particle Physics at Risk of Obsolescence” - relating to the FORM software that is widely used in the particle physics community.
Software Sustainability Institute Fellow, Meag Doherty, kicks off a 4-part series on human-centred design on the SSI blog. Some of you may recall that Meag visited us at Imperial in September 2022 and gave a talk about her work. You can find out more about Meag’s experience of attending RSECon22 from the perspective of someone interested in and working in the field of human-centred design in her blog post “Human-centred design at RSECon22”.
Learn “How to undo (almost) anything with Git” from this article on the GitHub blog!
Software Sustainability Institute Fellow, Jannetta Steyn, reports on the experience of running an Internet of Things (IoT) workshop at Stellenbosch University in South Africa: IoT for Novices in South Africa
As part of the visit to South Africa, Jannetta also delivered a Carpentries workshop covering git and Python programming. This provided an opportunity to test some ideas related to CarpentriesOffline and you can read more in this blog post on Testing CarpentriesOffline.
Following on from the 2022 RSE conference, videos from the sessions are available on YouTube via this playlist. Some sessions received a number of questions that couldn’t be handled in the session itself but were subsequently answered offline. The Society of Research Software Engineering has published RSECon22 Q&A Extra Time detailing these additional questions and their responses.
RS Community Slack
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.
Research Computing Tips
See the Research Computing Service’s Research Computing Tips series for a variety of helpful tips for using RCS resources and related tools and services.
Research Software Directory
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! firstname.lastname@example.org.
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 Jeremy Cohen. All previous newsletters are available in our online archive.