Hacker News new | ask | show | jobs
by CJefferson 3353 days ago
Academia. I'm going to pick on something specific:

* Reproducibility -- running code months or years later, on another machine.

Current tools, like VMs tend to be too heavy-weight. Docker is too hard to set up.

The main problem with these various tools is that exploration is slow -- Often I'll take an experiment, tweak it a few dozen times, then finally get the code for a paper. At that point I don't want to package it up, I want to be able to "freeze" where my last execution.

3 comments

This sounds like a job for NixOS[1]! Specify a basic build environment for your lab, and then write per-paper or per-project build configurations. Once you've frozen/committed the configuration, you have a reproducible, deterministic build, and can run it over and over again at leisure.

[1] -- https://nixos.org/nix/about.html

You might be interested in this - "computational reproducibility using Continuous Integration to produce verifiable end-to-end runs of scientific analysis": https://greenelab.github.io/continuous_analysis/
Authorea (www.authorea.com) supports including data/code in articles. There's even some in-article iPython support.
How likely are my pages to still work in 20 years?