Almost Right - but Wrong
One of the things I care deeply about is helping other engineers grow. Over the last year, I’ve had a lot of conversations, some with folks just entering the field, others with seasoned pros, asking the same question: how is AI going to reshape our work? There is fear and uncertainty, but also some optimism.
There’s a rhythm to these tech cycles.
I’ve seen it before, big promises, huge hype, sweeping predictions. Right now, we’re being told that AI will replace entire roles, maybe entire industries. It’s the same energy we saw with self-driving cars. For years, we were told they were just around the corner. But today, in 2025, I still don’t see a 40-ton truck rolling down the Autobahn without a driver. Waymo works, yes, but in tightly controlled areas, in a few cities. Meanwhile, here in Europe, truck drivers are still very much in demand.
MCP RIPEstat: Ask Your Network Questions in Plain English
Ever found yourself knee-deep in a routing incident at 3 AM, frantically switching between terminals and browser tabs trying to piece together BGP data? I’ve been there. You’re chasing down a routing anomaly, your coffee’s gone cold, and you’re clicking through endless forms just to figure out which AS is announcing that suspicious prefix.
What if I told you that instead of switching between terminals and browser tabs, you could use natural language to describe the problem, and then ask the computer to do the work for you?
Distroless Containers
If you’ve been in the container game for a while, you’ve probably seen a lot of buzz around “distroless” containers. The first time I heard the term, I pictured a container floating off into the void - no OS, no shell, just… code. Turns out, that’s not too far from the truth, but just like Serverless, Distroless is a misleading term!
Let’s break down what distroless containers are, why you might want them in your stack, what they’re great at (and not-so-great at), plus how to actually debug one.
DNS Benchmarking
I’m happy to announce a simple yet effective command-line DNS benchmarking tool I’ve recently developed: dns-benchmark. This project was directly inspired by the outstanding work of Steve Gibson and his well-known DNS Benchmark utility. Steve’s meticulous attention to detail in benchmarking DNS performance motivated me to create something similar, but tailored specifically for the command line.
This CLI tool, written in Go, allows individual users to quickly test and compare various recursive DNS servers, checking key metrics such as latency, reliability, DNSSEC validation, and even response correctness—like detecting servers that hijack NXDOMAIN responses.
Accel-PPP Prometheus Exporter
As infrastructure engineers, we often find ourselves bridging gaps between the tools we use and the monitoring systems we rely on. When I’ve migrated to Prometheus and Grafana on one of the sites, integrating Accel-PPP posed a unique challenge. The absence of native Prometheus support for Accel-PPP meant I was stuck with an SNMP-based monitoring setup, but relying on SNMP for metrics felt like patching a modern system with legacy tools—inefficient and less than ideal. Additionally Accel-PPP lacks any API or interface to get information about its state. This led me to develop accel-exporter.
The Evolution of Configuration Management
Over my two decades as an infrastructure engineer, I’ve watched our field transform dramatically. What began with manual server configuration has evolved into defining entire organizations infrastructure as code. This journey reflects not just technological change, but a complete shift in how we approach managing systems at scale. I’ve been in the trenches through most of it, and I want to share my story of this evolution with fellow infrastructure engineers who’ve lived through similar transitions.
Managing dotfiles with GNU Stow
In Unix-like operating systems, dotfile is synonymous with hidden file. Usually used by programs to store configuration variables.
I have multiple machines, which I regularly work on. I keep sync of a set of personalized dotfiles between them – customized settings for programs that I’m using, like many of you. Till now, I was using my private git repository for things like my private scripts, Mutt, Irssi, Ekg2 or Tmux configurations. On the other hand some I keep publicly available for others i.e. on GitHub like Vim configs. And oh boy, there are so many of them! The true is, I customize almost everything that I’m using including simple tools like cp (just to get progress bar or interactivity).
What ever happend to IPv5
Back in 1994, a new Internet Protocol was in the works - Internet Protocol next generation (IPng) - which eventually became IPv6. The goal was to have it up and running by 1996, with the idea that by the time IPv4 addresses ran out, everyone would already be using IPv6. Well… that didn’t quite go as planned. As of last year (2012), global adoption of IPv6 only just hit 1%.
CLOCK: INSERTING LEAP SECOND 23:59:60 UTC
I found above message in a kernel log and I was just wondering what is all about. I was amazed how little I knew about it.
A leap second is a second, as measured by an atomic clock, added to or subtracted from UTC to make it agree with astronomical time to within 0.9 second. It compensates for slowing in the Earth’s rotation and is added during the end of June or December. The first leap second was added to atomic clocks in 1972, with the most recent leap second being added on December 31, 2008.