Training and e-Infrastructure for Research Software Development
CodeRefinery acts as a hub for FAIR (Findable, Accessible, Interoperable, and Reusable) software practices. It currently focuses on the Nordic/Baltic countries, but aims to expand beyond this region. CodeRefinery aims to operate as a community project with support from academic organizations.
- For organizations: an opportunity to pool competence and offer more training and development opportunities than they could individually.
- For volunteers and the team: a community around teaching and opportunity for skill development, both in pedagogy and practical skills.
- For learners: a welcoming and useful environment for learning many necessary practical skills that may otherwise not be explicitly taught. This can be through courses, hackathons, and the like.
We got new funding until 2025!
Upcoming events and workshops: March 22-24 and 29-31, 2022, and September 20-22 and 27-29, 2022.
I'm more conscious about the way I write programs and organize their 'organic' growth. I try to modularize more and write proper tests. I also use git more extensive to keep track about my different development branches
The main thing I got out of the workshop is that I'm now extensively using the issue-tracking systems on GitHub and GitLab. Also on one of my major projects we have moved towards having shorter lived feature branches and using merge requests for more frequent merges and less code divergence. I also started using GitLab's issues system more frequently. It made it easier for people in my lab to report bugs, and easier for me to keep track of them
My code became much more 'sustainable' in the sense for others to read/use/modify it. In detail the most significant is improved use of git (forking workflow) and more strict 'purity' of functions. Use of PyCharm increased speed of development
I take more time to think about long term solutions than 'quick fixes' even if it's short of time. Another aspect is that I try to make the code reproducible in the sense of documentation, code readability, clear log files, etc, both for helping myself and my collaborators
My code is better documented, and I use version control much more. I have also started writing more unit tests
I write my codes now in such a way that the person who will be taking over my job would have less time figuring out what is going on. The emphasis of writing modular codes in the workshop was very helpful for me and for the people using my code
For me the most important thing was to learn to use git better. Now I make frequent commented commits so it is far easier to see what I actually did for me and others too
This was an extremely useful workshop. Thank you very much! I wish I had known this stuff already as a grad student 10+ years ago. It is now easier to collaborate with co-developers and easier to keep things in order and structured
Constantly making sure my code is as accessible as possible to ensure future me and others can understand and use it, i.e. writing explanatory comments everywhere no matter how simple the code may be.
Increased confidence. Sense of community (extremely valuable during the pandemic times). The value of volunteering.
I'm significantly more confident in navigating and creating versions and branches in git and on GitHub.
It was a great experience, it just did sum up all the necessary tools and step to build more sustainable code. That saved me A LOT of time trying to figuring out everything by myself!! :)
I am an experienced developer and instructor and attended the workshop mainly to help out. It did not change much for me in terms of the course content. However, the course was am absolutely great experience for me in terms of seeing how to conduct a massive online course with live participation. The HackMD "backchannel" and breakout rooms with helpers are features I now incorporate in teaching at my own university.
Think much more before starting a coding project and overall better structure: coding with a structure in mind (making modules, simplifying), using a structured approach to coding (knowing which tools, which steps, doing reviews, etc.), etc.
I have a much broader understanding of these tools and why they are important. I regularly use the tutorials and movies to help teach new incoming students in between CodeRefinery workshops.
The project team has a common understanding of why and how to track code versions and collaborate on processing scripts
More focus on that results and papers should be reproducible, ideally even for referees.
More feedback and testimonials here.
We offer training opportunities to researchers from Nordic research groups (but we aim to expand beyond Nordics) to learn basic-to-advanced research computing skills and become confident in using state-of-the-art tools and practices from modern collaborative software engineering.
We develop and maintain training material on software best practices for researchers that already write code. Our material addresses all academic disciplines and tries to be as programming language-independent as possible.
Code Repository Hosting
Our code repository hosting service is open and free for all researchers based in Nordic universities and research institutes and their collaborators.
Research Software Hour
Online stream/show about scientific computing and research software. It is designed to provide the skills typically picked up via informal networks: we explore and discuss tools and how we program and compute.
- Lessons learned from the May 2021 online workshop (2021-11-25)
- Towards citable lessons (2021-11-21)
- Lessons learned from phase 2 of the project (2021-11-20)
- Bi-weekly Community Calls started (2021-09-01)
- Community discussion in Nordic and Baltic countries (2020-11-13)
- git-pr: painless small pull requests (2020-09-29)
- Report from the Mega-Coderefinery workshop (2020-07-31)
- CodeRefinery tools in action: NordicHPC (2020-04-27)
- Announcing the first Nordic-RSE conference (2020-04-24)
- CodeRefinery workshops moving online (2020-04-24)
- Rebase vs merge (2020-04-24)
- Research Software Hour (2020-04-24)
- Lessons learned from running our first online workshop (2020-04-14)