Projects

Technical Journal // Projects
Apr '26

Migrating Cloudflare to Terraform

A technical reference on migrating existing Cloudflare infrastructure to Terraform. Includes an automated bootstrapping script to bypass manual state imports and handle API edge cases.

Feb '26

Building Production-Ready Background Workers in Python

Your background jobs crash on deployment, fail silently, and corrupt data. Here's how to fix it with worker pools, retry strategies, idempotency, and graceful shutdown. A guide to building production background processing systems that don't break under load. Tested at 20 req/sec.

Jan '26

I Added Session Management to Aider

Aider is my favorite AI coding assistant. It lives in the terminal, commits directly to Git, and actually understands my codebase. But it was missing one thing: the ability to save and restore chat sessions. So I built it. The PR never got merged, but I've been running my fork for months now. Here's the story.

Jan '26

ClickHouse as a Vector Database

Vector databases are everywhere now. Pinecone, Weaviate, Milvus - the list goes on. But what if you're already running ClickHouse and don't want yet another database to manage? Turns out, ClickHouse can do vectors too. This post explores what vector databases actually are, why ClickHouse might be a surprisingly good choice, and how to get semantic search running with plain SQL.

Jan '26

Go GC Deep Dive: How to Reduce Latency and Allocation Pressure in Production

"Why is our service slow?" "I don't know, the heap is only 200MB". "But we're allocating... wait, how much?" "12 terabytes". "...in how long?" "30 seconds profile". That's when we realized: we weren't running a service. We were running a garbage factory that occasionally served API requests. The Go garbage collector was heroically trying to clean up our mess, and we were blaming it for not cleaning fast enough. This deep dive into GC internals, profiling tools, and production war stories will teach you how to stop fighting the garbage collector and start working with it.

Dec '25

Introducing CouchLens: A Query Analysis Tool for Couchbase

CouchLens is a browser-based tool for analyzing Couchbase N1QL query performance. It parses system tables, extracts execution plans, and generates insights to help database administrators find performance bottlenecks without sending data to external servers. This post explains what it does, how to use it, and what features are coming.

Oct '25

I Built My Own Google Drive

My journey to build my own cloud storage from scratch with nextcloudflare and the lessons I learned along the way

Aug '25

Stealth VPN with Outline over HTTPS

Running Outline VPN over HTTPS (port 443) to slip past censorship. Learn how to blend in with HTTPS traffic and what it actually takes to stay invisible.

Apr '25

Docker Volume Backup: The 1-Line Command You Should Be Using (Instead of tar)

When working with Docker, persistent data is often stored in volumes. Unlike container filesystems, volumes survive restarts and recreations. But what if you need to move this data from one machine to another? Here's a quick and reliable way to back up a Docker volume on one computer and restore it on another.

Feb '24

NGINX: Building from Source and Installation on Linux (Updated)

In this blog we are going to build NGINX from source code. And we will configure NGINX's settings, paths, and add or remove modules.