← Back to examples ยท View source on GitHub

Blog

Replacing Redis with SQLite for Local Caching

· 6 min read

PYTHON SQLITE

Redis is overkill for most local caching needs. SQLite with WAL mode gives you persistence, atomic writes, and zero infrastructure for single-node services.


Zero-Downtime Deployments with SQLite and Litestream

· 8 min read

DEVOPS SQLITE

Litestream replicates your SQLite database to S3 in real time. Combined with a blue-green deploy strategy, you get zero-downtime deploys without Postgres.


Why I Switched from Neovim to Helix

· 5 min read

TOOLS EDITORS

After years of maintaining a 500-line Neovim config, Helix gave me better defaults out of the box. Here is what I gained and what I miss.


Building Type-Safe APIs with Hono and Zod

· 7 min read

TYPESCRIPT WEB

Hono's RPC mode combined with Zod validators gives you end-to-end type safety from route handler to client call. No code generation required.


A Practical Guide to Nix Flakes

· 12 min read

NIX DEVOPS

Flakes finally make Nix reproducible and shareable. This guide walks through creating a development shell, building a package, and deploying with NixOS.


Structured Logging in Go: Beyond Zerolog

· 6 min read

GO OBSERVABILITY

The standard library's slog package has matured enough to replace third-party loggers. A comparison of slog handlers and patterns for production services.


Container Networking from Scratch

· 10 min read

LINUX NETWORKING

Building a container network with veth pairs, bridges, and iptables rules. Understanding what Docker and Podman do under the hood.


My Terminal Setup in 2025

· 4 min read

TOOLS TERMINAL

Ghostty, fish shell, Starship prompt, and a handful of Rust CLI tools. A minimal setup that stays out of the way.