Engineering

Technical Journal // Engineering
Jan '26

OLTP vs OLAP - Why You Need Two Databases

"The database that runs your app cannot be the database that analyzes your app". It's a hard lesson learned at scale. Early on, Postgres does it all. But as you hit massive scale, your analytics queries start killing your login APIs. This post breaks down the physics of Row-oriented (Couchbase) vs Column-oriented (ClickHouse) databases, and how to bridge them using Change Data Capture (CDC) for a robust, lag-free architecture.

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.

Nov '25

What Couchbase Taught Me About System Thinking

Working with Couchbase for the past year and a half has been more than just learning a database. It has been an exercise in system thinking: seeing how indexes, queries, consistency, and durability interact, and how small design choices ripple through performance and reliability. This essay is my personal notebook from that journey. It is technically dense because Couchbase demands precision, but it is also reflective because the lessons extend beyond one database. Understanding how array indexes multiply entries, why compound index order matters, or how query consistency flags change latency is not just about Couchbase, it is about learning to think in terms of systems, trade‑offs, and consequences.

Nov '25

Understanding Private-Public Key Encryption

Understanding Private-Public Key Encryption - The Backbone of Modern Security.

Oct '25

The 5-Minute Refactor

Learn how to refactor your code in 5 minutes.

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

Jul '25

How to Resolve Huge Git Merge Conflicts Without Losing Your Mind

A no-fluff, step-by-step guide for software engineers dealing with massive Git merge conflicts during migrations or long-lived branches. Includes real anecdotes and ASCII diagrams.

Jul '25

What Facebook's Memcache Taught Me About Systems Thinking

A deep dive into Facebook's memcache architecture and the hard lessons it teaches about real-world system design, performance, and failure.