Cargo.lock is great for having a known-good set of library versions for your project. I regret not pinning the rust version earlier though.
I didn't even know the minimum rust version until I was enforcing it in CI!
miniblog.
Related Posts
Sending patches/PRs to projects creates asymmetric work. The maintainer needs to think about the future work it might create.
Fortunately CI running tests, checking formatting, even enforcing commit message style helps! Reducing the amount of work needed to accept a PR matters.
@cstanhope runkit: https://runkit.com/ is a notebook-style UI that has stronger reproducibility guarantees AIUI.
Jupyter is still exploring this space and I don't think there's a standard tool for enforcing reproducibility there.
ArchUnit is really neat way of testing Java, using reflection to enforce code style ('architecture') properties. For example, enforcing that all subclasses of Connection have a name ending with 'Connection':