DEV Community

Vahid Aghajani profile picture

Vahid Aghajani

404 bio not found

Joined Joined on 
Move the data to the compute, or the compute to the data?

Move the data to the compute, or the compute to the data?

Comments
6 min read
Why your index is ignored: expression indexes explained

Why your index is ignored: expression indexes explained

Comments
4 min read
Design a Rate Limiter: The Four-Point Answer, and the Trap

Design a Rate Limiter: The Four-Point Answer, and the Trap

1
Comments
10 min read
MCP vs API: Why Your Server Needs a /mcp Endpoint (and What You Actually Write)

MCP vs API: Why Your Server Needs a /mcp Endpoint (and What You Actually Write)

1
Comments
9 min read
RTO vs RPO: The Two Numbers That Decide What Disaster Recovery Costs

RTO vs RPO: The Two Numbers That Decide What Disaster Recovery Costs

Comments
15 min read
Cache Invalidation: The Delete Ran, and the Page Is Still Wrong

Cache Invalidation: The Delete Ran, and the Page Is Still Wrong

Comments
17 min read
Continuous Integration vs Continuous Delivery: The Two Halves Almost Nobody Separates

Continuous Integration vs Continuous Delivery: The Two Halves Almost Nobody Separates

Comments
16 min read
Service Boundaries: Where Does the Line Between Two Services Actually Go?

Service Boundaries: Where Does the Line Between Two Services Actually Go?

1
Comments
13 min read
Validating Input at the Edge: Why Four Checks in Four Places Are Worse Than One Border

Validating Input at the Edge: Why Four Checks in Four Places Are Worse Than One Border

1
Comments
13 min read
Read Replicas Explained: How to Scale Database Reads Without Shipping a Time-Travel Bug

Read Replicas Explained: How to Scale Database Reads Without Shipping a Time-Travel Bug

1
Comments
10 min read
MVCC and VACUUM: Why Deleting a Million Rows Made Your Table Bigger

MVCC and VACUUM: Why Deleting a Million Rows Made Your Table Bigger

1
Comments
10 min read
What Is Middleware? The Onion Model, and Why the Order Is the Configuration

What Is Middleware? The Onion Model, and Why the Order Is the Configuration

1
Comments
12 min read
Design Search Autocomplete: The Four-Point Answer, and the Trap

Design Search Autocomplete: The Four-Point Answer, and the Trap

1
Comments
9 min read
The Ring Buffer: Why a Queue With No Limit Is a Memory Leak (and What Happens When It Fills)

The Ring Buffer: Why a Queue With No Limit Is a Memory Leak (and What Happens When It Fills)

Comments
15 min read
What Is a Webhook? The Same HTTP Request, With the Arrow Turned Around

What Is a Webhook? The Same HTTP Request, With the Arrow Turned Around

Comments
9 min read
Read Committed vs Serializable: The Write-Skew Bug Your Default Isolation Level Allows

Read Committed vs Serializable: The Write-Skew Bug Your Default Isolation Level Allows

1
Comments
8 min read
Design a Web Crawler: The Four-Point Answer, and the \"Polite\" Trap

Design a Web Crawler: The Four-Point Answer, and the \"Polite\" Trap

1
Comments
7 min read
How Safe Is a 60-Minute Signed URL? The Link Is the Credential

How Safe Is a 60-Minute Signed URL? The Link Is the Credential

1
Comments
9 min read
Design a Notification System: The Four-Point Answer, and the Duplicate-Send Trap

Design a Notification System: The Four-Point Answer, and the Duplicate-Send Trap

1
Comments 1
8 min read
Architecture Patterns: The Six Shapes a System Can Take (and Why They Are Not a Menu)

Architecture Patterns: The Six Shapes a System Can Take (and Why They Are Not a Menu)

Comments
9 min read
SLIs, SLOs and Error Budgets: How to Turn Reliable Enough Into a Number

SLIs, SLOs and Error Budgets: How to Turn Reliable Enough Into a Number

Comments
12 min read
HTTP Caching Explained: max-age, ETag and Why Your Users Still See Last Week's CSS

HTTP Caching Explained: max-age, ETag and Why Your Users Still See Last Week's CSS

Comments
10 min read
Offset vs Cursor Pagination: Why LIMIT/OFFSET Breaks at Scale (and What to Use Instead)

Offset vs Cursor Pagination: Why LIMIT/OFFSET Breaks at Scale (and What to Use Instead)

Comments
8 min read
Running LLMs Locally — Small Models, Quantization, and Your 4GB GPU

Running LLMs Locally — Small Models, Quantization, and Your 4GB GPU

Comments
12 min read
Authentication vs Authorization: AuthN vs AuthZ (and Why 401 403)

Authentication vs Authorization: AuthN vs AuthZ (and Why 401 403)

Comments
6 min read
How AI Agents Do Deep Search — Building a Research Agent from Scratch

How AI Agents Do Deep Search — Building a Research Agent from Scratch

Comments
13 min read
PostGIS vs DuckDB — Choosing the Right Tool for Spatial Data

PostGIS vs DuckDB — Choosing the Right Tool for Spatial Data

Comments 1
11 min read
S3 vs Database Blobs: Why Your Files Don't Belong in Postgres (and What Pre-Signed URLs Fix)

S3 vs Database Blobs: Why Your Files Don't Belong in Postgres (and What Pre-Signed URLs Fix)

Comments 1
6 min read
Pub/Sub vs API Calls: Should Your Services Publish an Event or Just Call Each Other?

Pub/Sub vs API Calls: Should Your Services Publish an Event or Just Call Each Other?

Comments
5 min read
WMS vs WMTS vs WFS: A Picture, Fast Tiles, or the Raw Data (and When to Use Each)

WMS vs WMTS vs WFS: A Picture, Fast Tiles, or the Raw Data (and When to Use Each)

Comments
5 min read
Design a URL Shortener: the Four-Move Answer, and the 301 vs 302 Trap

Design a URL Shortener: the Four-Move Answer, and the 301 vs 302 Trap

Comments
7 min read
Feature Flags vs Load Balancer: One Splits Versions, the Other Splits People

Feature Flags vs Load Balancer: One Splits Versions, the Other Splits People

Comments
8 min read
Chaos Engineering vs Load Testing: One Measures the Ceiling, the Other Measures the Floor

Chaos Engineering vs Load Testing: One Measures the Ceiling, the Other Measures the Floor

Comments
12 min read
Big-O Without the Maths: a Prediction, Not a Measurement

Big-O Without the Maths: a Prediction, Not a Measurement

Comments
12 min read
View vs Materialized View: A Saved Question vs a Saved Answer

View vs Materialized View: A Saved Question vs a Saved Answer

Comments
8 min read
Hot Keys in a Cache: Why One Key Saturates One Node While the Cluster Looks Idle

Hot Keys in a Cache: Why One Key Saturates One Node While the Cluster Looks Idle

Comments
12 min read
Background Jobs Without a Broker: Your Worker Is Holding a Database Connection for 40 Minutes

Background Jobs Without a Broker: Your Worker Is Holding a Database Connection for 40 Minutes

Comments
13 min read
Heaps and Priority Queues: The Array That Is Secretly a Tree

Heaps and Priority Queues: The Array That Is Secretly a Tree

Comments
13 min read
Arrays vs Linked Lists: Why the Textbook Winner Loses on Real Hardware

Arrays vs Linked Lists: Why the Textbook Winner Loses on Real Hardware

Comments
10 min read
Processes vs Threads

Processes vs Threads

Comments
6 min read
Active-Active vs Active-Passive: You Had a Second Server, So Why Were You Down for 41 Minutes?

Active-Active vs Active-Passive: You Had a Second Server, So Why Were You Down for 41 Minutes?

Comments
10 min read
Hash Tables Explained in Detail: Why a Dict Lookup Beats a List Scan by 62,000x

Hash Tables Explained in Detail: Why a Dict Lookup Beats a List Scan by 62,000x

Comments
8 min read
Write-Through vs Write-Back Caching — Explained in Detail

Write-Through vs Write-Back Caching — Explained in Detail

Comments
6 min read
Airflow vs Cron: When a Crontab Line Isn't Enough

Airflow vs Cron: When a Crontab Line Isn't Enough

Comments
6 min read
25 Years of Object Detection in 4 Walls (Sliding Window YOLO DETR)

25 Years of Object Detection in 4 Walls (Sliding Window YOLO DETR)

Comments
5 min read
Ollama vs vLLM: Local Dev Tool or Production Inference Engine?

Ollama vs vLLM: Local Dev Tool or Production Inference Engine?

Comments
3 min read
Autoscaling Explained: Why New Servers Always Arrive Two Minutes Too Late

Autoscaling Explained: Why New Servers Always Arrive Two Minutes Too Late

Comments
8 min read
Debouncing vs Throttling: Only the Last Event, or the Ones in Between?

Debouncing vs Throttling: Only the Last Event, or the Ones in Between?

1
Comments
6 min read
Proximity Search: How \"Restaurants Near Me\" Doesn't Scan Every Restaurant

Proximity Search: How \"Restaurants Near Me\" Doesn't Scan Every Restaurant

Comments
6 min read
At-Least-Once vs Exactly-Once Delivery: Why the Customer Got Charged Twice

At-Least-Once vs Exactly-Once Delivery: Why the Customer Got Charged Twice

Comments
7 min read
Chain of Thought — why 'think step by step' actually works

Chain of Thought — why 'think step by step' actually works

Comments
5 min read
Quantization vs Distillation

Quantization vs Distillation

Comments
4 min read
Distributed Tracing — how you find which service ate the 3 seconds

Distributed Tracing — how you find which service ate the 3 seconds

Comments
6 min read
SQLite FTS5: How Full-Text Search Actually Works (Inverted Index + BM25)

SQLite FTS5: How Full-Text Search Actually Works (Inverted Index + BM25)

Comments
6 min read
Next-Token Prediction: How an AI Actually Writes Text (Not Magic — Just Probability)

Next-Token Prediction: How an AI Actually Writes Text (Not Magic — Just Probability)

Comments
5 min read
Speculative Decoding, Explained: Free LLM Speed With Zero Quality Loss

Speculative Decoding, Explained: Free LLM Speed With Zero Quality Loss

Comments
5 min read
Data Modeling Explained: From One Messy Table to a Real Schema

Data Modeling Explained: From One Messy Table to a Real Schema

Comments
6 min read
GeoParquet Explained: Your Geodata Has Two Shapes (One You Edit, One You Scan)

GeoParquet Explained: Your Geodata Has Two Shapes (One You Edit, One You Scan)

Comments
8 min read
Connection Pooling: Why Your API Dies at 200 Users (But the DB Is at 4% CPU)

Connection Pooling: Why Your API Dies at 200 Users (But the DB Is at 4% CPU)

Comments
6 min read
Zero-Shot vs Few-Shot Prompting: Why Your LLM Output Keeps Breaking (and the 1-Minute Fix)

Zero-Shot vs Few-Shot Prompting: Why Your LLM Output Keeps Breaking (and the 1-Minute Fix)

Comments
4 min read
loading...