Terraform | Python | Kubernetes | GCP | AWS
Backward compatibility is a curse
I recently had a colleague who suggested it might be a good idea to test our Python software against older versions of Python. And at first I was like: Yeah, good idea! It’s good practice, right? Support a whole range of versions! We see that all the time in the packages we fetch from Pypi. Supporting more versions is just good stewardship, right? But we were walking into a trap. We were discussing our own software, that we run, ourselves, in Kubernetes....
On formatting in Google Spreadsheets
TLDR; Colors aren’t values. Yes, as a human you can quickly see what’s up, and that’s great if it’s automatically formatted, I’m all for that. But colorizing a line or cell by hand is possibly the slowest action you can do in a spreadsheet. And yet I see people doing it all the time! Do me a favor, and look at your keyboard. Take one finger and color a cell. Nope, you can’t....
"No, I just use vim"
“No, I don’t use tool X. I do it manually with tool Y, because then I’ll have more grip on what’s happening.” Examples of this are: using git on the command line instead of a GUI using vim instead of an extensive IDE like IntelliJ or VSCode Yes, you’ll understand the lower level part of the problem you’re solving better. But logically this must cost brainpower, otherwise there wouldn’t be more understanding....
I made an online Github Actions upgrader!
TL;DR: gaup.deknijf.com Github Actions is absolutely great. It’s fast, clean, clear, and I’ve yet to encounter a task I can’t accomplish. The main advantage of Github Actions over something like BitBucket Pipelines is the sheer number of modules (called “actions”) that you can just use. Need a docker image built? - name: Set up Docker Buildx uses: docker/[email protected] - name: Login to GCR uses: docker/[email protected] with: registry: eu.gcr.io username: _json_key password: ${{ secrets....
CICD trick to keep your dependencies up to date
Most developers know they should pin their 3rd party dependencies. I usually write Python, but this goes for any language. You don’t want to send your commit into CICD and have it be deployed with packages that are different from what you’ve tested it with locally. On the other hand, every day you lag behind with updating those dependencies you’re making doing that very thing in the future more dangerous. Up to the point that it becomes a “project” in itself, or even until it’s just frozen in place because nobody will touch it....