By Simeon Griggs Houseplants often die from over-watering, not neglect. It is easy to project human needs onto them: "If I am thirsty, they must be thirsty too." But many indoor plants actually benefit from drying out between waterings. Similarly, your empathy can lead to misinterpreting signals from your database. You don't like feeling overwhelmed, so you don't want your database overwhelmed eit
Introduction It's Black Friday. In the space of a single second, your e-commerce platform processes 4,000 orders, updates inventory counts, triggers fulfillment workflows, and debits customer accounts. Every one of those operations lands in your OLTP database, fast, atomic, precise. None of it, in that same second, tells you that customers are abandoning their carts at three times the normal rat
Agentic Coding Is Not a Trap: I Answered the Viral HN Post With My Own Production Logs I made the exact mistake that viral post criticizes: I gave an agent an ambiguous task and went to make coffee. Came back 40 minutes later to 23 modified files, three broken tests, and a refactor nobody asked for. I'm not telling this to complain — I'm telling it because that day I started keeping logs of my a
PostgreSQL Query Rewriting Techniques The previous articles in this series covered performance problems you fix by adding indexes, restructuring joins, or tuning memory. This one is about the queries where the plan is "fine" — every node is doing something reasonable — but the query itself is asking the wrong question, producing unnecessarily large intermediate results or forcing the planner dow
An opinionated list of Python frameworks, libraries, tools, and resources
You've likely heard that "Data is the new oil". But raw oil is useless without a refinery. In the world of Big Data, Apache Spark is that refinery. Whether it's millisecond-level fraud detection or processing terabytes of logs, Spark's ability to handle massive scale with in-memory speed is why it remains a core skill for every ML & Data Engineer. Here are 5 real-world problems and exactly how Spa
This section is the map for the rest of the book. The five stages introduced in the 1.1 chapter overview (parse, analyze/rewrite, plan, portal, execute) are traced here through the actual code: which functions implement each stage, and in what order they get called. The mechanics of each of the five stages are unpacked in later chapters. Here, only the skeleton matters: how a backend starts up, ho
PostgreSQL Internals · Chapter 1 Query Processing Suppose a client sends SELECT * FROM users WHERE id = 1. The path that single line travels before coming back as a result row is longer than you might expect. Inside the PostgreSQL backend, that SQL goes through a five-stage pipeline. Backend entry and dispatch. The backend receives the message from the client and decides which processing path it s