Illustration of a stack collapsing as a recursive function reaches its base case.

When Recursion Stops Using the Stack: Tail Calls, Trampolines, and Iterative Transformations

A deep dive into techniques that let recursive algorithms run without exhausting the call stack, covering tail‑call optimization, trampolines, and practical rewrites.

May 19, 2026 · 7 min · 1344 words · martinuke0
Diagram of a request flowing through multiple microservices with tracing spans attached.

Tracing Distributed Requests Without Losing the Thread

This guide explains how to maintain request context across microservices, avoid losing the original execution thread, and implement reliable end‑to‑end tracing.

May 19, 2026 · 7 min · 1404 words · martinuke0
Diagram of TCP congestion window and data flow.

Where TCP Transmission Speed Meets the Congestion Window Boundary

A deep dive into how TCP’s congestion window governs transmission speed, with practical guidance for developers and sysadmins seeking higher network performance.

May 19, 2026 · 7 min · 1339 words · martinuke0
A schematic of a processor core with transactional memory highlighted.

Why Hardware Transactional Memory Failed to Go Mainstream

Hardware transactional memory promised easy lock‑free programming, but a mix of hardware complexity, unpredictable performance, high silicon cost, and insufficient language and library support kept it from widespread adoption.

May 19, 2026 · 7 min · 1309 words · martinuke0
Diagram of a CPU pipeline with speculative execution paths.

Why Speculative Execution Needs Branch Prediction to Succeed

A deep dive into how branch prediction enables effective speculative execution, boosting performance while introducing new security challenges.

May 19, 2026 · 7 min · 1424 words · martinuke0
Feedback