DEV Community

Doogal Simpson profile picture

Doogal Simpson

I'm a Senior Staff Engineer and former start-up founder. I'm trying to help developers bridge the gap from technical competence to professional engineering.

How to Fix the Thundering Herd (Cache Stampede) Problem

How to Fix the Thundering Herd (Cache Stampede) Problem

Comments
3 min read

Want to connect with Doogal Simpson?

Create an account to connect with Doogal Simpson. You can also sign in below to proceed if you already have an account.

Already have an account? Sign in
Automate Video Editing with Whisper, LLMs, and FFmpeg

Automate Video Editing with Whisper, LLMs, and FFmpeg

Comments
3 min read
How Quorum Prevents Split-Brain in Distributed Systems

How Quorum Prevents Split-Brain in Distributed Systems

Comments
4 min read
Why You Should Never Use a Database as an API

Why You Should Never Use a Database as an API

Comments
4 min read
Should You Use Custom ID Types or Plain Strings?

Should You Use Custom ID Types or Plain Strings?

Comments
4 min read
When to Use an ORM vs SQL and Query Builders

When to Use an ORM vs SQL and Query Builders

Comments
3 min read
Solving the N+1 Query Problem in Databases and ORMs

Solving the N+1 Query Problem in Databases and ORMs

Comments
4 min read
How Collaborative Docs Work: An Introduction to CRDTs

How Collaborative Docs Work: An Introduction to CRDTs

Comments
3 min read
Boost LLM Accuracy with Self-Correcting Agent Loops

Boost LLM Accuracy with Self-Correcting Agent Loops

Comments
3 min read
LLM vs. AI Agent: Understanding the Difference

LLM vs. AI Agent: Understanding the Difference

Comments
4 min read
How TypeScript Makes Your JavaScript Run Faster

How TypeScript Makes Your JavaScript Run Faster

1
Comments
3 min read
How the V8 Engine Optimizes JavaScript at Runtime

How the V8 Engine Optimizes JavaScript at Runtime

Comments
4 min read
Conway's Law: How Team Structure Shapes Architecture

Conway's Law: How Team Structure Shapes Architecture

Comments
4 min read
How Conway's Law Shapes Your Software Architecture

How Conway's Law Shapes Your Software Architecture

Comments
4 min read
Designing Idempotent APIs and Resilient Pipelines

Designing Idempotent APIs and Resilient Pipelines

Comments
4 min read
Idempotency Explained: Handling Duplicate API Requests

Idempotency Explained: Handling Duplicate API Requests

Comments
4 min read
Why a Day Isn't 86,400 Seconds in Programming

Why a Day Isn't 86,400 Seconds in Programming

Comments
4 min read
A* Search Algorithm: Game Pathfinding Explained

A* Search Algorithm: Game Pathfinding Explained

Comments
4 min read
Handling ISO Currency Codes in Software

Handling ISO Currency Codes in Software

Comments
4 min read
How Git Uses Merkle Trees for Fast Verification

How Git Uses Merkle Trees for Fast Verification

Comments
4 min read
How Merkle Trees Verify Large Files

How Merkle Trees Verify Large Files

1
Comments
4 min read
Storing Exchange Rates for Multi-Currency Systems

Storing Exchange Rates for Multi-Currency Systems

1
Comments
3 min read
Merkle Trees Explained: How We Verify Large Files

Merkle Trees Explained: How We Verify Large Files

Comments
5 min read
Correct by Design vs Correct by Coincidence

Correct by Design vs Correct by Coincidence

Comments
3 min read
How to Represent Money in Software

How to Represent Money in Software

2
Comments
3 min read
How DRAM Works: The 64ms Memory Refresh Cycle

How DRAM Works: The 64ms Memory Refresh Cycle

Comments
4 min read
Engineering Intuition: Knowing When to Refactor

Engineering Intuition: Knowing When to Refactor

Comments
4 min read
Why Code Documentation Is a First-Class Citizen

Why Code Documentation Is a First-Class Citizen

Comments
4 min read
Agile is a Mindset, Not Endless Sprint Meetings

Agile is a Mindset, Not Endless Sprint Meetings

Comments
4 min read
Good Enough Software: Balancing Quality and Time to Market

Good Enough Software: Balancing Quality and Time to Market

Comments
3 min read
The Physics of Phone Cameras: Photons to Pixels

The Physics of Phone Cameras: Photons to Pixels

Comments
4 min read
Why OLED Screen Burn-In Looks Yellow

Why OLED Screen Burn-In Looks Yellow

Comments
4 min read
djb2 Hash Function: String to Integer Algorithm Explained

djb2 Hash Function: String to Integer Algorithm Explained

Comments
4 min read
Microsoft Project Silica: Storing Data in Glass

Microsoft Project Silica: Storing Data in Glass

Comments
4 min read
Microsoft Project Silica: Glass Storage Explained

Microsoft Project Silica: Glass Storage Explained

1
Comments
4 min read
Blue-Green Deployments: Instant Rollbacks & Zero Downtime

Blue-Green Deployments: Instant Rollbacks & Zero Downtime

Comments
4 min read
Debugging Microservices with Distributed Tracing

Debugging Microservices with Distributed Tracing

Comments 1
3 min read
Database Internals: How Data is Stored in Pages

Database Internals: How Data is Stored in Pages

Comments
4 min read
Single Responsibility Principle for AI Sub-Agents

Single Responsibility Principle for AI Sub-Agents

Comments 2
4 min read
How Database Reads Work: Pages, Buffer Pools, and Disk

How Database Reads Work: Pages, Buffer Pools, and Disk

Comments
4 min read
How Database Inserts Work: WAL and Buffer Pools

How Database Inserts Work: WAL and Buffer Pools

Comments
4 min read
Database Transaction Isolation Levels Explained

Database Transaction Isolation Levels Explained

Comments
4 min read
Consistent Hashing Explained: How Netflix Scales

Consistent Hashing Explained: How Netflix Scales

Comments
4 min read
AI Code Refactoring: Why Testing Still Matters

AI Code Refactoring: Why Testing Still Matters

2
Comments
4 min read
Count-Min Sketch Explained: Trillions of Counters

Count-Min Sketch Explained: Trillions of Counters

Comments
4 min read
Apple Secure Enclave: Face ID Security Explained

Apple Secure Enclave: Face ID Security Explained

Comments
3 min read
How Face ID Adapts to Beards and Facial Changes

How Face ID Adapts to Beards and Facial Changes

Comments
3 min read
Optimize Your Codebase for AI Coding Agents

Optimize Your Codebase for AI Coding Agents

1
Comments
4 min read
Prompting AI Coding Agents to Write Clean Code

Prompting AI Coding Agents to Write Clean Code

1
Comments
4 min read
Why COBOL Still Powers Modern Banking Systems

Why COBOL Still Powers Modern Banking Systems

1
Comments
4 min read
How OLED & LTPO Enable Always-On Displays

How OLED & LTPO Enable Always-On Displays

Comments
3 min read
Why Mobile CPUs Have Performance & Efficiency Cores

Why Mobile CPUs Have Performance & Efficiency Cores

Comments
4 min read
Amdahl's Law: Why More CPU Cores Don't Make Code Faster

Amdahl's Law: Why More CPU Cores Don't Make Code Faster

Comments
3 min read
Why Quantum Computers Won't Replace Classical Computing

Why Quantum Computers Won't Replace Classical Computing

Comments
3 min read
Spotify's Approximate Nearest Neighbor Search

Spotify's Approximate Nearest Neighbor Search

Comments
4 min read
How Face ID Works: Infrared Lasers & Neural Networks

How Face ID Works: Infrared Lasers & Neural Networks

1
Comments
4 min read
Networking Logic: How Your Data Navigates the Internet

Networking Logic: How Your Data Navigates the Internet

Comments
3 min read
What About Second HTTP? Solving the 100-File Connection Bottleneck

What About Second HTTP? Solving the 100-File Connection Bottleneck

Comments
4 min read
The 600ms Tax: Why Every TCP Connection Starts with a State Negotiation

The 600ms Tax: Why Every TCP Connection Starts with a State Negotiation

1
Comments
4 min read
TCP Exponential Backoff: Why Your Retries are Doubling

TCP Exponential Backoff: Why Your Retries are Doubling

1
Comments
4 min read
loading...