// BLOG · PAGE 2 OF 8

All posts

ALL POSTS · PAGE 2 / 8

OBSERVABILITY

eBPF: Running Your Code in the Kernel Without a Module

For decades, changing kernel behavior meant writing a kernel module and risking a panic. eBPF lets you load sandboxed programs into a running kernel safely — and it's quietly become the backbone of modern observability and networking.

CONTAINERS

What a Container Actually Is: Namespaces and cgroups

A container isn't a lightweight VM — there's no guest kernel, no virtual hardware. It's just a normal Linux process wearing two kernel features as a disguise. Strip away Docker and the magic is surprisingly small.

KERNEL

Interrupts: How Hardware Taps the Kernel on the Shoulder

A packet arrives, a key is pressed, a timer fires — and the CPU drops everything, mid-instruction-stream, to run kernel code. How interrupts work, why handlers are split in half, and how NAPI killed the interrupt storm.

FILESYSTEMS

Journaling Filesystems: How ext4 Survives a Crash

Pull the power mid-write and a naive filesystem corrupts. A journal is the write-ahead log that lets ext4 come back consistent — by promising to do work before actually doing it.

PERFORMANCE

False Sharing: The Cache Line That Kills Your Parallelism

You split work across eight threads with zero shared state, and it runs slower than one thread. The culprit is false sharing — independent variables that happen to live on the same cache line, fighting over it.

MEMORY

How malloc Works: Arenas, Bins, and Fragmentation

malloc looks like one function, but underneath it's a memory allocator juggling free lists, size classes, and the kernel. Knowing how it works explains fragmentation, allocator contention, and why your RSS never goes down.

SECURITY

The TLS 1.3 Handshake: What Those Milliseconds Buy

One round trip now negotiates keys, proves identity, and encrypts everything after the first message. What actually happens in a TLS 1.3 handshake, why it's structurally safer than 1.2, and where the remaining sharp edges live.

ALGORITHMS

Hash Tables: The Real Cost of a Collision

Hash tables promise O(1) lookups, and then a benchmark shows them losing to a plain array. The gap between the textbook and reality is collisions, cache misses, and the resize you forgot about.

NETWORKING

HTTP/2 Multiplexing: One Connection, Many Streams

HTTP/1.1 made you choose between head-of-line blocking and opening a pile of connections. HTTP/2 fixes it by carrying many independent streams over a single connection — and then TCP reintroduces the very problem it solved.

DISTRIBUTED-SYSTEMS

Why Distributed Consensus Needs a Quorum

Replicate data across five machines and you'd think any one of them could answer. But to stay consistent through failures, a majority has to agree on every decision. Here's the arithmetic behind quorums.

SECURITY

Stack Canaries: How the Compiler Catches a Buffer Overflow

A classic stack smash overwrites the return address and hijacks execution. Stack canaries are the cheap, clever defense your compiler inserts automatically — and understanding them explains a whole class of exploits.