IDEAS IN WRITING

Blog.

Lessons, reflections and notes on development.

October 26, 2026

Reverse-engineering a UPS: from a Debian package to Home Assistant

How a proprietary Ragtech UPS monitor became an open project with a documented protocol, CLI and NUT integration.

Reverse engineeringLinuxHome AssistantProjects

October 20, 2026

From stack trace to pull request: the fix loop with an AI agent

How I expose production errors as JSON for an AI agent (and still keep a human approving the PR).

djangoobservabilityai-agentsproductivitysoftware-engineeringautomation

September 20, 2026

Backup does not mean Disaster Recovery

Having backups is not the same as having Disaster Recovery: what real restores revealed about the control plane, PersistentVolumes, OCI images, and offline recovery.

kuberneteshomelabdisaster-recovery

September 20, 2026

The problem of consistent backups in Kubernetes

How independent control-plane and PV backups became recovery sets with exact identity and a measured 64-second consistency window.

kuberneteshomelabbackupdisaster-recovery

September 20, 2026

Measuring Disaster Recovery: reducing RTO by 29.9%

How measurable rehearsals and deterministic automation reduced the observed RTO of my K3s cluster from 1h07m09s to 47m03s.

kuberneteshomelabdisaster-recovery

September 17, 2026

GitOps, secrets, and reproducible infrastructure

GitOps with Flux, secrets with SOPS + age, and reproducible infrastructure: how the repository became the owner of each piece of cluster state.

kuberneteshomelabgitops

September 17, 2026

From a Debian server to a Kubernetes platform at home

How a Debian server became a single-node K3s cluster with Traefik, Cloudflare Tunnel, storage, and firewall — without a big-bang migration.

kuberneteshomelabinfrastructure

September 17, 2026

Real observability in a small Kubernetes cluster

Metrics, logs, and traces on a single-node cluster: the Prometheus/Loki/Tempo stack, trace_id correlation, and the real cost of observability.

kuberneteshomelabobservability

August 19, 2022

Creating animated GIFs from the terminal

How to record a terminal session with asciinema and render it as an animated GIF using agg.

terminalgiflinux

May 4, 2022

Using local mail as a notification tool

How to use a Linux host local mailbox to keep cron and script notifications without depending on a graphical interface.

linuxterminalnotifications

January 21, 2022

Fast folder iteration in Python

A practical comparison of glob, iglob, os.walk, os.scandir, and pathlib for traversing large directory trees.

pythonperformance