Semantic Versioning – fearlessly breaking things

Semantic versioning (or semver) is a very basic concept that stirs a bit of controversy on the internet. A quick google for “semantic versioning problems” brings back a number of essays about all the shortcomings. They do make fair points, though to be able to appreciate the deficiencies, it’s good to just understand the thing […]

moving cron expressions up the taxonomy So cron expressions are a basic aspect of linux computing, and you’ll see them in all the major public cloud providers (AWS/Azure/GCP) for running things on a schedule. They’re useful to know, and once you’ve actually used them, they’re fairly straightforward. Well…AWS and Azure both use special syntaxes that are non-standard, but I […]

More Authentic Parsons Problems

Asking learners to organize code blocks that have been shuffled around is an approach often referred to as Parsons Problems. There is an excellent short rationale for them, and also a more in-depth research study (along with various other online sources) if you’re interested in reading more. The general idea is that there is a […]

Git Submodules, the Forbidden Art

So git submodules aren’t really all that complicated, but because they’re wrapped in mystery and intrigue (much like rebase and reflog), they tend to be a bit less well understood. As any long-time readers of this blog will immediately guess, I’m going to say that’s mostly because submodules are merely unfamiliar, rather than being complicated. […]