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.
January 1, 1970
On the day of my birthday, I wondered (of course - as many us do), if this is my start date, what is the to origin story of the birth date of computer time?
The Unix epoch, defined as 00:00:00 UTC on January 1, 1970, serves as the foundational reference point for timekeeping in nearly all modern computing systems. This date, though seemingly arbitrary, emerged from a confluence of technical constraints, historical decisions, and practical considerations during Unix’s early development.