Welcome to my home page
This is the place where I publish articles about my findings and progress in the awesome world of technology and beyond! Also, check out my projects or get in touch.
My latest articles //
Auto-scaling Azure Pipelines Agents in Kubernetes
This article explores my Kubernetes operator that provisions Azure Pipelines agents as Kubernetes Pods. It comes with an in-depth tutorial for how to use my operator. I also explore all alternative options for running Azure Pipeline agents, and explain why using a Kubernetes-based option beats all other options. Introduction CI/CD pipelines are a cornerstone to improve the efficiency of software…
Advanced Docker / BuildKit Caching with 5 tricks to speed up your image builds
This article explains BuildKit caching in detail. First you learn background knowledge, e.g. how the local and remote cache differs, and what kinds of cache items BuildKit can store where. Then, BuildKit’s garbage collection is explained in detail. Finally, I present 5 tricks to speed up your image builds, e.g. tuning the garbage collection policies, or how to efficiently use…
Docker and BuildKit: how building images really works
This article explains how Docker builds images with BuildKit, via buildx. It discusses the advantages of BuildKit over Docker’s legacy image builder, and then elaborates on three approaches for calling BuildKit in Docker: 1) using the embedded BuildKit library managed by the Docker daemon, 2) using a BuildKit container managed by buildx, and 3) using a containerized BuildKit instance directly…
Focus tools – tool support to get more work done and silence the noise
In this post I demonstrate how I increased my productivity with the help of focus tools. They automatically reserve focus time periods in my calendar and automatically trigger my operating system’s focus mode on and off, based on the calendar events. Introduction In my daily work life, it is difficult to allocate time slots where I can get coding work…
Renovate Bot: 4 advanced tips and tricks – Part II
This is part two of a series that provides tips for advanced Renovate Bot users. It gives valueable tips for writing your own regex managers, explains why and how to self-host a Renovate Bot instance, how you can reduce friction when introducting Renovate to your teams, and encourages interacting with the active Renovate community. Introduction to Renovate Bot Renovate (Bot)…
Renovate Bot: 3 advanced tips and tricks – Part I
This is part one of a two-part series that provides tips for advanced Renovate Bot users. Part 1 explains some important, basic concepts, illustrates how Renovate approaches creating and updating PRs as a flow chart, and goes into details about Renovate’s “post upgrade tasks” feature. Introduction to Renovate Bot Renovate (Bot) is a CLI tool that regularly scans your Git…
Backup Docker volumes (and restore them) – done right
This article explains how to use “tar” correctly, to backup Docker volumes and restore them. I explain why two top-ranked tutorials are not doing a good job, by taking them apart. Finally, I give hints for creating backups of Docker volumes in production. Introduction Making a local backup of a Docker volume and restoring it is a common task if…
Broken drift detection with Terraform
When the resources of a Terraform provider (e.g. Azure) define “computed” optional attributes, these are not properly covered by Terraform’s drift detection. As I will demonstrate, this can lead to non-reproducible infrastructure. I also experiment with Terraform’s behavior, depending on what you declare in your configuration file, the content of your state file, and the state of your actual infrastructure….
Renovate bot cheat sheet – the 11 most useful customizations
Renovate bot is a tool that automatically updates third-party dependencies declared in your Git repository via pull requests. This Renovate bot cheat sheet helps teams who adopt Renovate with customizing the most common (and useful) configuration options, without having to read the entire, extensive Renovate bot documentation. Originally posted on 2021-07-25, updated on 2023-07-30. Introduction Renovate (Bot) is a CLI…
Automatic dependency updates – a Renovate Bot introduction
Renovate bot is a tool that automatically updates software dependencies declared in your Git repository via pull requests. In this Renovate bot introduction I explain the benefits of automated dependency updates, how the Renovate bot works, how to operate/run the bot yourself (if necessary), and how you can configure the bot’s behavior for each repository. Originally posted on 2021-07-11, updated…