About

About

i'm Zain Ul Abidin. i build data infrastructure and increasingly write systems code — the kind that runs on real machines and breaks in interesting ways.

this blog is where i write it down. not tutorials exactly, more like build logs: here's what i tried, here's what broke, here's what i actually learned. the failures are usually the useful part, so they stay in.

what i work on

databases and data infrastructure. ClickHouse, PostgreSQL, and the pipelines that feed them — dlt for ingestion, Dagster for orchestration. Most of my day-to-day is making data land reliably somewhere it can be queried.

C++ in production. I contribute to ClickHouse, one of the larger open-source C++ codebases around. My first contribution was a fix for a fuzzer-found crash in aggregate function state handling — the whole messy story is here, including the two attempts that went nowhere first.

Linux and self-hosted systems. I run a home lab that's outgrown the name: Proxmox with LXC containers, a k3s cluster, Tailscale for networking, and a GPU box serving local LLM inference through vLLM, Ollama and LiteLLM. Most of what I know about operations, I learned by breaking this setup and fixing it.

Small tools. When something annoys me enough, I build the thing that removes it. datasip came out of a capped 5G router and a question no existing tool could answer.

how i write

honestly, mostly. a lot of engineering writing is a highlight reel — the clean path, the working solution, none of the two days you lost to something stupid. i find that useless to read and dishonest to write, so my posts keep the false starts in.

if a post says something worked, i ran it. if i don't know something, it says so.

elsewhere

happy to talk about databases, C++, home-lab infrastructure, or anything i've written here — reach me on either of those. if you're trying to make your first contribution to a large codebase and you're stuck, especially — that one's fresh for me and i'd probably be useful.