Writing

2026-06-06
aiproductivityengineeringworkflow

The Framework That Changed How I Collaborate With AI Every Day

I use Claude every day at work — code reviews, hotfix analysis, database proposals. For a long time I thought I was using it well. Then I found the 4D Framework, and it changed how I think about the collaboration itself.

2026-05-14
javaspring-bootwebfluxmicroservicesarchitecture

Race Conditions in Reactive Microservices: Beyond the Sleep Workaround

A hard-coded sleep in a Lambda callback handler masking a timing race between a DB write and an external notification. Three ways to actually fix it — and why adding a database index doesn't help.

2026-05-14
postgresqlperformancedatabasebackend

PostgreSQL Autovacuum: The Hidden Bottleneck in High-Churn Tables

The default autovacuum configuration works fine for small tables. For tables with millions of rows and frequent updates, it silently accumulates dead rows until query performance collapses. Here's what I learned diagnosing a production incident on a 9M-row table.

2026-05-14
postgresqlperformancedatabaseindexing

When Adding an Index Makes Things Worse: Write Amplification in PostgreSQL

Not all indexes help. A production investigation found that a 1 GB index on a 9.6M-row table had been maintained on every write for years — used only 166 times in total. Here's how to identify and eliminate write amplification from redundant indexes.

2026-05-07
javaapiintegrationbackendfintech

Never Use Integer for External Partner IDs

A partner API spec declared a field as 'Integer'. We implemented it as Java Integer. Months later the partner returned values beyond 2,147,483,647. A production hotfix across three repositories followed. The fix took one evening; the lesson is permanent.