Knowledge Trail
Practical notes on software, systems, and the web.
- Container Networking Basics for Developers
A practical walk through how Linux network namespaces, veth pairs, bridges, NAT, DNS, and overlay networks combine to give containers their networking, and when to choose bridge, host, or none.
- An Introduction to Rate Limiting Algorithms
A practical tour of the five core rate limiting algorithms, their burst and memory tradeoffs, where to enforce limits, and how to make them work across a distributed fleet.
- Git Internals: What Really Happens When You Commit
A look under the hood of Git's object model, content addressing, the index, and refs to explain exactly what a commit is and why branching is so cheap.
- Caching Strategies Every Backend Developer Should Know
A practical tour of cache patterns, eviction and TTL, invalidation, stampede mitigation, and the layered caches that sit between your users and your database.
- Writing Robust Shell Scripts: Idempotency and Error Handling
A practical guide to writing reliable Bash scripts using strict mode, traps for cleanup, careful quoting, idempotent operations, and correct handling of exit codes, pipelines, and command substitution.
- How HTTPS Works: The TLS 1.3 Handshake Explained
A step-by-step walkthrough of the TLS 1.3 handshake, covering ClientHello/ServerHello, ECDHE key exchange and forward secrecy, the certificate chain of trust, SNI, ALPN, and the tradeoffs of 0-RTT session resumption.
- A Practical Guide to Database Indexing
A working developer's guide to how B-tree indexes work, when they help or hurt, how to design composite and covering indexes, and how to read query plans to validate your choices.
- TCP vs UDP: Choosing the Right Transport
A practical guide to choosing between TCP and UDP, covering reliability, ordering, head-of-line blocking, handshake overhead, real-world use cases, and where QUIC fits in.