e-diversify / blog

Notes & ideas

Longer-form pieces on technology, design, and everything in between — starting with a look at how one invention always becomes the foundation for the next.

By Vimal Maheedharan — Technical Architect & SRE Consultant

License Drift: The Compliance Incident That Never Files a Ticket

A transitive dependency's license changes and nothing pages. Treating license risk as a monitoring problem — copyleft creep, dual-licensed packages, and a CI gate that catches drift before it ships, not after legal finds it.

Read the post →

Docker Never Promised You Isolation. Firecracker Does.

Namespaces and cgroups vs. a five-device microVM, real boot-time and density numbers, and why every AWS Lambda invocation quietly runs a Docker-style container inside a Firecracker microVM.

Read the post →

Release Velocity vs. Release Confidence: The Trade You Can Actually Measure

Deploy frequency, lead time, change failure rate, and MTTR turn a vague tradeoff into a two-axis instrument panel. A worked canary/rollback scenario shows exactly where an AI risk-gatekeeper earns its keep — and where it just borrows confidence it hasn't paid for.

Read the post →

PostgreSQL Didn't Fail. It Hit Its Limit. — An SRE's Perspective

Connection exhaustion, autovacuum falling behind, WAL filling the disk, and replicas lagging under write load — four Postgres ceilings worked through as an incident log, and the reflex that catches all four before the pager does.

Read the post →

REST, Events & Streams: Three Contracts for One Weather Service

Same coordinate, same domain logic, three completely different promises to three different consumers. A worked TypeScript/Node example — and the discipline that keeps three contracts from quietly becoming one leaky one.

Read the post →

DEX & DevOps: Hand in Hand

Developer Experience and DevOps aren't two teams competing for budget — they're the inner and outer loop of one delivery system. On golden paths, shared metrics, and where the seam shows when one outruns the other.

Read the post →

Click to Sort: A Visual Walkthrough of Three Classic Algorithms

Bubble sort, merge sort, and quick sort, animated bar by bar. Click Run and watch comparisons, swaps, and complexity classes play out in real time — O(n²) vs O(n log n), made visible instead of memorized.

Read the post →

Choosing an Index for pgvector: HNSW vs. IVFFlat, With Numbers

Distance operators, build time, recall, memory footprint, and tuning parameters for pgvector's two ANN indexes — backed by published benchmark numbers, not vibes.

Read the post →

SRE Core Areas: What Breaks Under Pressure

Four production scenarios worked through as an incident log — peak-load errors, misrouted traffic, a silent autoscaler, and stale reads after failover. Reasoning patterns worth keeping close.

Read the post →

The Twelve-Factor App — A Blueprint

A schematic walkthrough of the Twelve-Factor App methodology — codebase, config, backing services, disposability, logs, and the rest — laid out as a build pipeline from foundation to operations.

Read the post →

Dear Complexity, We Need to Talk

A love letter to simplicity in AI systems — on RAG pipelines that don't need six re-ranking stages, models that ship instead of sitting in notebooks, and why every added layer is a promise you have to keep.

Read the post →

Boundaries: The Art of Deciding What Not to Couple

The best architecture decisions are rarely about what to connect — they're about what to deliberately keep apart. Notes on coupling, cohesion, and drawing boundaries that survive change.

Read the post →

Leadership Through Influence

In distributed systems work, the person who unblocks the migration is rarely the person with the title. Notes on leading through credibility, clarity, and consistency — not authority.

Read the post →

From Clay Tablets to Thinking Machines

A visual timeline tracing technology's biggest turning points — from the abacus and the printing press through ENIAC, the internet, the smartphone, and today's AI models.

Read the post →