Longer posts containing deep dives into more complex topics.
Helm is a great tool for defining and deploying Kubernetes-native application packages. If we deploy to multiple environments, we typically have to write multiple values.yaml
files containing duplicate values. Keeping our values files DRY is possible, however, either natively via multiple value files options or, using YQ.
GitLab CI/CD has a powerful but somewhat under-documented pre-build script feature that allows us to execute custom logic before builds are run on a GitLab runner. This post explores how to utilize the pre-build script to automate Docker system clean-up on GitLab runners.
TypeScript is a good choice for writing CLI tools for a couple of reasons including developer-friendliness, static checks, as well as the broad choice of tooling options. As with every TypeScript project, there is, however, an initial setup hurdle. This post shows how to set up a TypeScript CLI project with linting, formatting, testing, and packaging to a standalone binary.
Jekyll’s out-of-the-box support for custom Markdown engines allows us to use Pandoc and it’s ecosystem of filters to include extensions like diagrams or mathematics. In this post, we write a minimal Jekyll based blog with support for Mermaid diagrams and Mathjax via Pandoc filters.
Pair and group programming already has a lot of potential benefits. One way to improve it further is by automating hand-over workflows. Mob.sh is a great command line tool which streamlines this process.
Integrating pictures into Jekyll blog posts is simple and easy but what if we want to highlight a single image or a gallery in a modal? The Lightbox2 JavaScript library can help. Here’s how to use it in Jekyll.
Starship.rs is a nice framework for configuring shell prompts. This post shows how to define custom prompt components with Starship.rs and provides an example terminal prompt configuration using a custom prompt component.
As programmers we typically spend a lot of time interacting with some kind of shell through a terminal (emulator) application. For obvious reasons a good terminal setup improves productivity and reduces stress. Typically, installing and configuring terminal and shell is one of the first things I do when setting up a new computer. Here is how to create a terminal experience that is clean, fast, and interactive with ZSH, Oh My ZSH, and Starship.rs.
Telepresence is a pretty clever tool for local development on a remote Kubernetes or OpenShift cluster. Here are some notes from a recent evaluation.
I recently published two introductory articles on API as a Product on our company blog. (German only, sorry 😬.)