Hi there and welcome to my blog!

You can find more about me over here or have a look at the things I wrote in the past. Most of my projects are open source, so don’t hesitate to use them!

Container Fundamentals

Containers allow you to package applications and all their dependencies in a common format and ship it to your runtime environment. But what are the fundamental technologies containers are build on? And why do we need a Linux Kernel for that? The following post is a written summary of a lecture I gave as an introduction to Kubernetes. The code is based on the excellent talk and code of Liz Rice some years ago. ...

November 6, 2024 · 8 min · 1514 words · André Sterba

Basic In-Memory Cache in Go

I often tend to stumble upon a basic problem and then try to solve it with some external library. In this case I was thinking about caching some data in memory to spare some time and resources on an external API. This time I’ve decided to write something myself instead of using an external library. And with that you can even learn something from it. So let’s write a very basic in-memory cache in Go. ...

September 19, 2024 · 5 min · 1027 words · André Sterba
Photo by [Scott Graham](https://unsplash.com/@homajob) on [Unsplash](https://unsplash.com/photos/man-writing-on-paper-OQMZwNd3ThU)

Sign your Git commits

I recently learned that you can simply sign your Git commits with your SSH key. With that there is no need for a (rather complex) PGP/GPG setup! Instead, just re-use the SSH key you are probably already using to interact with your git remote. This is already supported by GitHub 1 and GitLab 2, and you will see a green check mark or verified next to your commit message. ...

December 28, 2023 · 2 min · 259 words · André Sterba
Photo by [Barrett Ward](https://unsplash.com/@barrettward?) on [Unsplash](https://unsplash.com/photos/5WQJ_ejZ7y8)

Buildpacks

At KubeCon 2023 Amsterdam I attended a talk about Buildpacks. This is not the first time I heard about Buildpacks, but the talk in the maintainer track was very entertaining and the features like advanced caching and reproducibility sounded very convincing. So in this post I’ll try to replace an existing build pipeline based on pure docker with Buildpacks. I’ll also go a bit in detail on how to use buildpacks and show differences in the resulting images. ...

June 2, 2023 · 8 min · 1522 words · André Sterba
Photo by [Alain Gehri](https://unsplash.com/@alainpictures) on [Unsplash](https://unsplash.com/photos/ehNRo3eWJAk)

Improve your Go code with Benchmarks

We often write code without thinking about how performant the code will be in the end. Often it is also not worth to sacrifice cleaner code in terms of readability and future maintainability for the sake of a few percents of performance, be it less CPU cycles needed to compute something or a smaller memory footprint. But as always even if you don’t need to save a few cycles or bytes, it is good to know what you could do to even get started in optimize for performance. This post will about how to use the tooling provided by the Go programming language. ...

March 31, 2023 · 7 min · 1292 words · André Sterba