-
Vault is Not One Thing: KV, PKI, Automation — and Why Mixing Them Hurts Systems
-
Channels Are Not Queues
-
Bounded Concurrency Beats Clever Concurrency
-
From Localhost to Kubernetes: How DNS Really Works (and Why It Breaks)
-
Pool Exhaustion Cascades in Go: When “the DB Is Slow” Takes Down Everything
-
Retry Storms: The Silent System Killer
-
Why Goroutines Leak (and How to Prove It)
-
Redis + Lua: Atomic Operations Without Lying to Yourself
-
context.Context Is the Real API in Go
-
Graceful Shutdown Is a Feature, Not a Signal Handler
-
From Go to Python: What’s in Your Year-2 Backend Toolbox?
-
Choosing Your Observability Stack Starts With Scope
-
Evolving a FastAPI Backend: REST, WebSockets and Event-Driven
-
Docker Build Speed Isn’t Magic but Cache Discipline
-
Dynamic Scheduled Tasks in Python
-
FastAPI Swagger: Auto-Magic… Until You Need Control
-
Monoliths, Multi-Tenancy, and the Inevitable Split
-
Python Async Made Simple: Process vs Thread vs Coroutine
-
Raise the Abstraction: Simpler Code, Stabler Tests
-
Can Pydantic Fix Untyped Python?
-
SQLAlchemy merge(): Powerful, Convenient — and Easy to Misuse
-
Using a Single Session Factory for Multi-Schema Databases in SQLAlchemy
-
“Just Split the Database” — Is That Always a Good Idea?
-
Rethinking Database Connections: Engine, Session, and the Batch Mindset
-
Async Doesn’t Make Your System Fast but Honest
-
The Subtle Async Mistake: Async Generators vs Async Context Managers
-
Hello