Namespace Isolation for a Shared Redis
The pattern I use to avoid key collisions and TTL accidents when a single Redis instance is shared across several projects
sade.dev
sade.dev — I write about production lessons, architecture decisions, database, server and application patterns, and AI-assisted engineering. Notes on one side, small but useful developer tools on the other.
Production notes and short technical explainers.
The pattern I use to avoid key collisions and TTL accidents when a single Redis instance is shared across several projects
pg_dump alone is not a backup. A PITR-capable, compressed, verifiable backup architecture with pgBackRest
Laravel queue workers are flawless locally and slow in production. The five most common reasons developers overlook
Full architecture breakdowns.
Generating legally sequential, gap-free numbers with parallel workers: the JIT reservation pattern that solves race conditions and gaps together
As data load grows, where does boring architecture break? Working set, read replicas, partitioning, write load and a separate data layer — the breaking points in order, and what each one costs
Developer tools that run entirely in your browser.
Encode and decode text with Base64. Supports the URL-safe variant. Unicode-aware.
Format and minify JSON. Runs in your browser, your data never leaves it.
Decodes the header and payload of a JSON Web Token. Does not verify the signature
Cryptographically secure password generator with adjustable length and character classes. Runs in your browser.
Decision logs and opinion pieces.
The measured signals that justify moving from a monolith to a distributed architecture — and the common false reasons that say it's still too early
Practical criteria for picking a branching strategy by product model, version count, and deploy rhythm — and how each model breaks in the wrong place.
The tools and server setup I use in production.