Say you’ve got a simple web-service to write. It’s going to be a microservice, and in order to play nice in its environment, you want it to serve a static file with JSON that describes where it’s monitoring page is and who to get in touch with if it misbehaves. You could include a literal JSON string, but it becomes harder to work with than it would be in its own file.
Somewhere along the line (I’m not sure exactly where) a significant part of my work life became building Docker images. Often, clusters of related Docker images. Specifically, writing Makefiles to build Docker images.
After working with Nix and NixOS casually for about a year I started to play with NixOps, the deployment tooling built on top of Nix. Right away, my reaction was “gosh, that was easy!”
Strong authentication is often a requirement for working with software. It can be a hassle to manage the secrets required to adequately protect the integrity of our code and control access to its deployment. Many developers give up, treating the whole game as not worth the candle.
As phenomenal a concept as it is, semantic versioning often gets a bad rap. Many developers publicly express their frustration (or even contempt) for this tidy codification of a core principle of software design: the definition of interfaces. I tend to think that it’s not semantic versioning that’s badly understood, but the idea of what an interface is and how to design one.
From the “niche interest” desk:
This is such a good trick, I wanted to share.
subscribe via RSS