🧑‍💻 a blog about coding, devops, and stuff.

  • RE: The OpenTofu fork is now available!

    A few weeks ago HashiCorp decided to switch the terraform license model from an open source license to the Business Source License (BSL) model, so there’s now a community driven terraform fork called OpenTofu.

  • TIL: scale down a Kubernetes DaemonSet

    A DaemonSet is supposed to run on all or some Kubernetes nodes, so scaling it down is surprisingly easy: Set a nodeSelector to some label which doesn’t exist, and the DaemonSet is scaled to 0. This will patch (-p) the DaemonSet and add a nodeSelector ( spec.template.spec.nodeSelector) which makes the DaemonSet run on all nodes…

  • TIL: Run a script on every k8s Node using a DaemonSet

    I’ve known that DaemonSets are used to run containers on all Nodes of a Kubernetes Cluster (or some), but I’ve never thought of using them to run a (shell) script on each node – a not-so-uncommon task when maintaining clusters! We need two resources: A ConfigMap and a DaemonSet.

  • TIL: named return parameters in Go

    Yet another piece of ✨ Go Magic ✨ I was reading through some Go code when I came upon a function that returned two things – []string and error – but the last line of the function just said return. I was confused how this worked, and since it was part of the standard library…

  • Building for the web, with Rust and WebAssembly

    I’ve been wanting to build something in WebAssembly for a while and just recently it hit me that I have a thing: mktoc! mktoc is a table of contents generator written in Rust, it comes as a Binary and a Library and can be compiled into WebAssembly with zero effort!

  • TIL: multiple git-identities on one machine

    Turns out you can have multiple Git identities alongside each other on one Machine without needing to set them locally for each repository! It still involves multiple .gitconfig files, but it’s a lot less work than configuring an endless amount of repos! First, set the global config like this: Now in ~/AOE/.gitconfig I configure the…

  • Setting up a MacBook from scratch for the first time in 8 years

    Oh boy, did I not think about a lot of stuf… For the past 8 or so years I’ve always used my work MacBook for all things dev, including private development. I’ve spent a lot of time setting up and changing my zsh, and later fish, configs, configuring iTerm, trying out different themes, … you…

  • A new chapter

    In January 2014, I joined Synoa in its founding days as a Web Developer, focused on Magento 1 and WordPress at the time. Now, 9 years later, I decided it’s time to move on. I’m super exited to say that as of April 2023 I’ve joined AOE as a DevOps Engineer! 🥳

  • Unpinned dependencies just broke my plugin

    Hello and welcome to a little recap! My 11ty MermaidJS plugin was just broken by MermaidJS release 10.0 because they no longer provided a minified JavaScript bundle and instead only provide a ESM module. My plugin was referencing https://unpkg.com/mermaid/dist/mermaid.min.js by default for including the javascript code, but with version 10 this now leads to a…

  • TIL: One-line list manipulation in Python

    In Python there’s a one-line syntax for iterating over elements of a list. I’ve always found it looked kind-of odd, and as I need to look it up all the time I decided to write a little TIL on this blog about it. There are more powerful one-liners documented on the Python Wiki.

You can follow this blog via ActivityPub at kevin@kevingimbel.de, follow my Mastodon account at @KevinGimbel@fosstodon.org, or subscribe via RSS.