autobreaker: adaptive circuit breaking
Why static failure counts break at both ends of the traffic spectrum, and a lock-free Go circuit breaker that uses percentage-based thresholds to adapt automatically.
go
all tags →Why static failure counts break at both ends of the traffic spectrum, and a lock-free Go circuit breaker that uses percentage-based thresholds to adapt automatically.
Trading a traditional OCR pipeline for Gemini's vision model -- prompt engineering as product specification, multi-factor confidence scoring, and what changes when you treat document processing as understanding rather than extraction.
How a cascade of exact, prefix, and fuzzy strategies resolves broken OCR output into valid addresses -- with confidence scoring so downstream systems know what to trust.
The three-state machine that keeps a failing dependency from taking down everything else -- with sony/gobreaker, a custom atomic implementation, and retry composition.
The legacy codebase runs the business. The migration is on every roadmap. Not this one.
Cache-aside, write-through, write-behind -- and the three problems that make caching hard: stampedes, coordinated expiry, and invalidation.
How a growing team adopted Go -- not through boot camps, but through code review, shadowing, and a compiler that wouldn't let anyone be sloppy.
A GraphQL gateway that started as a unified API layer for clients became the place where we could intervene without touching the backends.
I've built a rules engine twice, in two languages, at two scales. The tree is the same.
What a digital wallet looks like underneath -- a balance, a ledger, idempotency keys, and the gap between moving money and moving money correctly.
Picking the first piece to cut from a Perl monolith, rewriting it in Go, and switching over before you lose your nerve.
Migrating a payment processing API from Node.js to Go -- what changed, what improved, and what we gave up.