Edited (version 15)
Reproducible research environments
Sometimes you really need to run this awful old code. How to make this easier for your future self?
Why is it important?
Sometimes you really need to run some old code. Maybe it is a obscure Fortran 77 program, written by an advisor of your advisor. Maybe it is a Python script from another PhD student who left a few years ago, which uses particular combination of packages no longer working in Python 3.10. With some luck there might be a README file, but you never know for sure how accurate it is.
Needless to say, how painful it could be.
So, what can I do?
Time-traveling still works in only one direction. There is never enough time to write the documentation. However, not all hope is lost: you can always try to make things easier for your future self (or for another poor soul).
The idea of this session is to overview & compare the tools, which can help with creating the environments for your projects and reconstruct the same environments in the future.
Which tools?
- conda / mamba or any language-specific package manager
- environment modules or spack
- containerization: Docker, Charliecloud or Apptainer
- functional package managment: Nix and Guix
- something else?
How to contribute to this session?
- Tell a story how you were trying to run some very old code
- Do you pack your stuff in Docker? You can show the Dockerfile and explain what's inside.
- Do you compile some MPI codes on a few different clusters and also on your PC and laptop? (where there is MPICH insted of IMPI for example) How do you archive it?
- Share your tricks to make python scripts do not break with every python update :)
I (Iliya) have some experience with conda, Docker and Guix, so I can talk about all these things. Something similar (but not limited to) to this.
There would be topics and ideas.
So far, * Iliya (something about Docker & Guix) * add yourself!
Event finished
Event started
Research
added Zulip link
Project
Joined the team
Joined the team
Repository updated
First post View challenge