This week has been about software evolution, nix, Docker and some recommendations for keeping a changelog.
A tool that augments existing shells by loading and unloading environment variables depending on the current directory.
A tool for exploring a docker image, layer contents, and discovering ways to shrink the size of your Docker/OCI image.
An article that will walk you through the benefits of nix by showing how to build a Docker image with a backend in Go and a frontend in Elm.
A paper explaining the birth of Let's Encrypt and the context that made it happen and succeed.
A few recommendations on how to keep record of change for your project. They are quite codebase centric but can be extrapolated to other contexts like a product decision log.
A tour on the 40 years-old paper Programs, life cycles, and laws of software evolution, Lehman, Proc. IEEE, 1980.
Both the article and the paper are worth reading if you have an interest in software development and evolution.