We recently had Eric Doernenburg from ThoughtWorks at our MOIA office for a tech talk on the Architecture Advice Process. Good timing because I’ve been thinking about how we make architectural decisions in our platform engineering team and where the friction points are. The talk started with a familiar scenario: development teams need architectural decisions, but they go through a central…
Just got back from GopherCon UK 2024 in London (August 14-17) at The Brewery on Chiswell Street. First time back in London since 2015, and the city has definitely changed — much more hectic and crowded than I remember. Exploring London Arrived a day early to get some sightseeing in. Walked along the Thames past Tower Bridge, Parliament, and Big Ben. The weather was surprisingly good for London in…
Went to GrafanaCon 2024 in Amsterdam, July 7-10. First time attending in person after years of watching remotely. My colleague and I took the train from Hamburg — direct connection, easy trip. We arrived Monday evening, checked in, and went out for food and beer. The conference The venue was the Muziekgebouw on Piet Heinkade, right on the water. About 300-400 attendees, which felt like a good size…
This is a written version of a talk I gave on profiling in Go — what tools exist, how to use them, and how to read the output. What profiling is (and isn’t) If you’re already doing observability (logs, metrics, traces), profiling fills in the gap: it tells you where your application spends CPU time, allocates memory, or blocks on locks. It’s the difference between knowing your…
Work Still at MOIA , now on the Developer Experience team. Earlier this year we split the Platform Engineering team into Infrastructure and Developer Experience. After years of infrastructure work, I’ve enjoyed shifting toward software development while keeping one foot in infra. The biggest lesson from this role: you have to actually talk to other dev teams to find out what’s broken.…
I led a beginner Go workshop at DevFest Hamburg 2022. About three hours, from zero to a working HTTP server. Setup Participants could run Go locally, in the Go Playground , or via the Go Docker image . What we covered First 45 minutes —> the basics: constants, variables, loops, conditions, types, functions, and package management. Second 45 minutes —> zero values, pointers, arrays, slices, maps,…
In June 2022, I gave a 20-minute talk at the GDG Hamburg Meetup about code generation in Go using templates. The idea is simple: programs are better at repetitive tasks than we are. If you’re writing the same boilerplate over and over, a generator can do it faster and more consistently. The basic model: [INPUT] --> [GENERATOR] --> [OUTPUT] We looked at tools most Go developers already know —…
Just got back from KubeCon Europe 2022 in Valencia, Spain. First major in-person event after the pandemic, and it was good to be back. Here’s what stood out. Getting there Traveling to Valencia came with some COVID-related concerns, but reconnecting with the Kubernetes community made it worthwhile. KubeCon was my first major Kubernetes event years ago, so I was curious to see how things have…
GitHub Actions matrix builds are usually about running things in parallel — test across multiple OS versions, Node versions, whatever. But you can also use them to run things sequentially, which turns out to be a clean way to handle multi-stage deployments. The trick: max-parallel 1 Say you’re deploying to development, integration, and production, and the steps are identical across stages.…
I recently got a Macbook from my new employer and had to leave my Linux setup behind. 2021 was the first time in my life I owned an Apple product. MacOS is fine, but switching my workflow was painful. I’d been using i3 under Linux for years and couldn’t imagine working without it. A colleague (thanks Marcel aka @snowiow !) had gone through the same thing and pointed me in the right…
Für mich ist 2020 ein verrücktes Jahr. Nicht wegen der Corona Krise, sondern wegen der Autoimmunerkrankung Guillain-Barré-Syndrom (kurz GBS), welche im März diesen Jahres bei mir diagnostiziert worden ist. In diesem Blogartikel geht es (ausnahmsweise) nicht um Technik, sondern ich möchte hier über einen persönlichen Krankheitsverlauf berichten und wie es ist, zwei Monate ans Bett gefesselt zu…
For me 2020 is a crazy year. Not because of the corona crisis, but because of the autoimmune disease Guillain-Barré syndrome (GBS), which was diagnosed in March this year. This blog article is (exceptionally) not about technology, but I would like to report about a personal disease course and how it feels to be bedridden for two months. At the same time I would like to encourage those affected and…
I went through “Practical Vim - Second Edition” by Drew Neil and wrote down the parts I keep coming back to. Mostly for my own reference, but maybe useful to someone else. Navigation H , M , L : jump to the top, middle, and bottom of the screen. Buffers :ls lists open buffers. % marks the active one. :bnext , :bprevious , :bfirst , :blast move between them. Mappings I use (from Tim…
I gave a talk at ContainerDays 2019 about securing container workloads. You can watch the full thing here . The basic problem: containers share a kernel. If something goes wrong in one container, the host kernel is right there. This matters especially if you’re a PaaS or serverless provider running other people’s code. The talk walks through known vulnerabilities and past container…
Just wrapped up a Go workshop at HAW Hamburg. Here’s a quick overview of what we covered and some useful resources. Setup First thing was getting everyone able to run Go code regardless of their local setup. Participants could either use the Go Playground online or the Go Docker Image to avoid local installations. Content Overview We started with the fundamentals - variables, loops, and…
I recently switched to Arch Linux and I am very satisfied with this decision. Enclosed I would like to provide you with a setup summary how to install Arch Linux with the Logical Volume Manager (LVM) and an encrypted home partition. USB flash installation media First of all, download the latest arch image from here . On Linux run the following command, replacing /dev/sdx with your drive, e.g.…
Kubernetes was 2017’s buzzwords in container orchestration and still is. The only problem is that you can’t try out Kubernetes so easily, because some resources are needed. There are already some projects like Minikube, which deal with this problem and create a local playground, but such a cluster is something more tangible with real hardware in my opinion. Therefore, the Raspberry Pi…
Here comes part two of my procedual world generation with Java series. Today I’d like to introduce you to an generation algorithm called Simplex Noise, which is very common for terrain generation in games. Simplex Noise? Never heard! That’s okay. It was exactly the same as when I started to inform myself about the topic. The idea behind it is very simple. As a basis for our…
Today I must make you a confession. I play computer games. But instead of just enjoying it and seeing it as a kind of competition, I’m interested in the implementation of the features that make a game playable. A special feature that is used in many games today is the creation of randomly generated content using algorithms. Whether it’s randomly created items, landscaping objects like…
Hey, I’m Chris 👋 I’m a Software Engineer working on distributed systems and sovereign European cloud infrastructure, with a focus on observability, reliability, and performance. I also contribute to open source projects; check out my GitHub account to see what I’m up to. I’ve spent the past several years building platforms and cloud infrastructure with Kubernetes. Before that, I worked in…