Skip to content

Blog

Technical articles, tutorials, and insights

From Copilot to Claude Code — blog post cover
engineering

From Copilot to Claude Code

How my AI development workflow evolved from GitHub Copilot autocomplete to multi-agent Claude Code sessions in tmux. The tools changed, and so did how I write code.

claude ai neovim tmux devops
Uptime Kuma Changed How I Monitor Everything — blog post cover
engineering

Uptime Kuma Changed How I Monitor Everything

How a self-hosted uptime monitor with Telegram alerts replaced the need to constantly check on client services. Simple setup, immediate value.

selfhosted monitoring infrastructure devops
Cutting the Subscriptions — blog post cover
opinion

Cutting the Subscriptions

Systematically replacing paid services with self-hosted alternatives. From Spotify to Jellyfin, JetBrains to Neovim, Microsoft to Mailcow — owning the tools I depend on.

selfhosted infrastructure nixos neovim
When NextDNS Broke Minecraft — blog post cover
engineering

When NextDNS Broke Minecraft

How DNS-level ad blocking silently killed Mojang authentication and took days to diagnose. A reminder that network-wide filtering needs monitoring.

networking dns tailscale infrastructure
How Tailscale Replaced Our Entire VPN Setup — blog post cover
engineering

How Tailscale Replaced Our Entire VPN Setup

Moving from OpenVPN configuration hell to Tailscale mesh networking at Exlink and how it changed my personal infrastructure workflow.

tailscale networking infrastructure devops
The Great Server Lockout of 2025 — blog post cover
engineering

The Great Server Lockout of 2025

How I locked myself out of a remote server by re-authorizing Tailscale, killed my only SSH path, and clawed my way back in through Hetzner rescue mode.

tailscale devops hetzner infrastructure postmortem