Research Computing Forum: Discussions on Software
My proposal when applying for the Software Sustainability Institute’s Fellowship was to engage with all researchers at my institute, and get them talking about software, sustainable software, and best practices. As with all plans, they changed along the way—a lack of time forced me to go from a piece meal department by department interaction to an all out “let’s get everyone together in one room”. I will admit there were many fears at the beginning (will they come, will they like it, will I forget something). It all came together well, people seemed to enjoy themselves, and the discussions were encouraging and insightful. The final good sign of a meeting is the requests for another, and people asking me to give more tutorials. Let us now step back to the beginning and look at how the event was organised and how it went. Hopefully, this will encourage new fellows to branch out of their comfort zones and have the confidence to run their own events.
As part of my fellowship with the Software Sustainability Institute, I had planned to try and give talks to all departments about sustainable and reproducible software. After a hectic year, I found myself running out of time to be able to do this and conduct the training I had planned to do. I knew I had to change the plans and was thinking of ways to do this—perhaps engage with faculties or institutes instead? A chance meeting with a colleague from Birmingham and a discussion on all things training lead to them casually mentioning that Birmingham had recently set up a new "group" where people working with/on software could meet and talk. This was the idea I needed.
I found one of Lancaster's previous Software Sustainability Institute Fellows, Barry Rowlingson, and asked them for some advice/support. We talk through my new suggestions —a 2 hour forum, with an opening talk on sustainable and reproducible software, with a passing glimpse of best practises followed by talks on anything related to software. This would then be finished with an un-conference style breakout into discussion groups of peoples choosing—with the suggestion that lunch run through the discussions as no-one can dominate a discussion, if they are eating at the same time!
I sought out a colleague in Data Science for the support of the Data Science Institute at Lancaster; their support was not financial, but rather their facilitator helped me organise the Eventbrite page, email Departmental Officers (main communication route to each department) and remind me of things I had forgot to book—this was very useful and much needed support as I had not organised anything of this scale before. The hardest part turned out to be booking a room that would fit my needs—I wanted to avoid a lecture theatre and have a non tiered room with tables in for the discussion / lunch—not many of these exist.
The Eventbrite page was created, with options for people to give a talk (on anything: software they use and find useful, tools they find useful, concepts for sustainable/reusable software, requests for help, or just to tell us how they use software in their research). It took a week or two for all the newsletters to be sent out, but I soon found we had hit 48 attendees and 8 talks (we could only accommodate 50 in the room) - the initial success was met, people wanted to attend and talk.
Best Laid Plans
The only real problem we encountered was that two hours before the event, I realised that the room had been double booked. After much panicking, and trying to find a new room, we opted to bring tables and chairs into a demonstration lab / teaching room. All was good to go.
On the day, the first notable thing was that more people attended than had actually booked online—so I was glad that I added an error to the catering. The event started with me giving a talk on sustainable and reproducible software, why it is needed, how it helps, and the basics of improving your software (testing, version control, documentation, clear code, code buddies, sharing and so on.) We then had a talk by our local HPC admin, Mike Pacey, on the capabilities of the cluster and how to access—I felt this was important as many researchers are not aware of the benefits of this, even if you don't need high performance. We then had our three-minute lightning talks on various topics including: GPUs in Python, R Markdown, How to get help online, Test driven development, a web application in Shiny, and how people are using software in their research. (All talks can be accessed here)
After the lightning talks, we moved onto lunch with 15-minutes free discussion. During this time, participants were expected to mark a tally next to the discussion group they would like to attend on the whiteboard, or add one of their own choosing. It turns out the lunch discussions were so useful, people got caught up in them. I let this run to 30 minutes before prompting everyone to pick a group.
The discussion groups proved to be very successful with huge amounts of contributions. There ended up being 3 discussion groups. The first was on testing code: although this was less discussion and more people asking lots of questions about testing and workflows to the speaker of the testing talk. The second was on RSEs and the need for them locally—this allowed a lot of input and for people to realise that several groups were already independently pushing for them. The third group chaired by myself was looking at how to provide training and how future meetings could continue—the two main outcomes were to continue with more forums in the same format and to host at least one workshop on version control.
I think this was a success. I have not got all the feedback from the event yet, but the general consensus was that people enjoyed it. It achieved its aims of getting researchers together and letting people know there are better ways to do software, and thus better ways to do research. On the heels of this we have more events planned (sign up for notifications!) and more volunteers to help.
It was fun, if a little challenging to organise, but it looks like it will be sustainable. It will hopefully allow people to create more sustainable software leading to better research and code overall.