Functional Reproducibility

Have you ever written the perfect program? Has it still run unchanged 6 months later? Can your colleagues run it without you?
Just because your analysis is executable, it doesn’t mean the results are reproducible.
Data ages. Libraries change. Machines differ. Servers fail. Bits rot.
Entropy is inescapable.
We can learn how to engineer reproducibility by drawing on techniques from functional programming and software development.
I’ve summarised some lessons in a guide on Functional Reproducibility.
I’ve given this talk to a few audiences over the years and finally decided to write-up the script to share. I think the process is interesting in itself…
I’ve tried a few presentation tools over the years but I’m now really happy with Quarto. What’s remarkable is that I was able to generate both the long form post linked above and the original slide format from the same source. Naturally there’s some complexity to this but the bulk of the content is re-used. It is of course reproducible too! The build and deployment are automated with a GitHub workflow.
Read more on related topics: