DSDoogal Simpsonindoogal.dev·20h ago · 4 min readHow to Fix the Thundering Herd (Cache Stampede) ProblemThe thundering herd problem happens when a highly cached data item expires, forcing millions of concurrent requests to bypass the cache and slam your database at once. You can solve this by implementi00
DSDoogal Simpsonindoogal.dev·1d ago · 4 min readAutomate Video Editing with Whisper, LLMs, and FFmpegTL;DR: To stop viewers from getting bored staring at my face during short technical videos, I built a system that parses my transcripts, generates relevant illustrations using AI, and splices them int00
DSDoogal Simpsonindoogal.dev·1d ago · 6 min readHow Quorum Prevents Split-Brain in Distributed SystemsQuick Answer: A split-brain scenario occurs when a network partition isolates server nodes, leading multiple nodes to assume the "leader" role and accept conflicting writes. To prevent this data corru00
DSDoogal Simpsonindoogal.dev·1d ago · 5 min readWhy You Should Never Use a Database as an APITL;DR: Sharing databases across team boundaries bypasses service interfaces, turning database schemas into public APIs. This tightly couples services, halts schema migrations, and stalls development. 00
DSDoogal Simpsonindoogal.dev·1d ago · 5 min readShould You Use Custom ID Types or Plain Strings?Should you use a custom ID type or just stick to strings? Sticking to raw strings is simpler and faster to write, but wrapping your IDs in a custom domain type prevents developer mistakes—like running00