DevOps tutorial - IT technology blog

Using mise (mise-en-place) in DevOps: Consistent Tool Version Management for kubectl, Terraform, Node, and Python

Tool version mismatches between local machines and CI/CD pipelines are a constant source of frustration in DevOps teams. mise (mise-en-place) solves this with a single .mise.toml config file that manages kubectl, Terraform, Node.js, Python, and 400+ other tools consistently across every environment. This guide walks through setup, GitHub Actions integration, and production tips.
HomeLab tutorial - IT technology blog

Self-Hosted Map Server with OpenStreetMap Tile Server and Nominatim: Replace Google Maps API in Your HomeLab

Running your own map infrastructure with OpenStreetMap Tile Server and Nominatim gives you full location services — geocoding, reverse geocoding, and rendered map tiles — without sending data to Google or paying per API call. This guide covers the complete Docker Compose setup, from downloading a regional OSM extract to wiring up Leaflet.js and writing geocoding calls in Python. I've run this in production for a vehicle tracker and it's been solid.
Database tutorial - IT technology blog

PostgreSQL Encryption at Rest: Protecting Sensitive Data with pgcrypto and Column-level Encryption

At 2 AM, database credentials leak far more often than hard drives get stolen — yet most teams rely on full-disk encryption and call it done. This guide walks through the four PostgreSQL encryption approaches, their real-world trade-offs, and a concrete implementation of column-level encryption using pgcrypto to protect sensitive fields even when someone has a valid database session.