The Runtime Theory
Runtime & ExecutionIn production

The Event Loop, Visualized

Recording in progress
#event-loop#javascript#nodejs#concurrency

JavaScript has one thread and still handles a thousand concurrent sockets. The event loop is how: a single thread that never blocks, a queue of ready tasks, and a strict order for running them. This video animates the loop tick by tick — the call stack emptying, the microtask queue draining, and I/O callbacks firing — so setTimeout vs. Promise ordering becomes mechanics, not magic.

Topics covered:

  • Why a single-threaded model can still serve I/O-heavy workloads
  • The call stack and the "one thing at a time" execution rule
  • The task queue: where macrotasks (timers, I/O, events) land
  • The microtask queue: why promises always beat timers
  • How libuv provides the underlying I/O thread pool and epoll loop
  • setTimeout(0) vs. queueMicrotask: the exact ordering
  • Blocking the loop: what a busy task does to every other callback
  • Why the browser and Node schedule differently

Related articles

More in Runtime & Execution

05:09
runtime

How Garbage Collection Actually Works

A visual walkthrough of mark-sweep, generational collection, and concurrent GC — the algorithms that keep your memory clean.

Watch
63:33
runtime

What Your Code Does Before main()

The loader, the linker, the dynamic linker, and the runtime — everything that happens between pressing run and your first line of code.

Watch
16:06
runtime

How Threads Actually Work

The kernel scheduler, context switches, goroutines versus threads — a visual walkthrough of what 'running on a core' really means.

Watch
In production
runtime

Async/Await Under the Hood

What async/await compiles to — state machines, continuations, and the executor — and how your async function actually runs on one or many threads.

Details
In production
runtime

Virtual Machines Explained

How language VMs like the JVM and the CLR work — bytecode verification, the execution engine, and the runtime services beneath your program.

Details
In production
runtime

Interpreters vs. Compilers

What an interpreter actually does at runtime versus what a compiler does before — ASTs, bytecode, and why the boundary keeps blurring.

Details
In production
runtime

Reference Counting vs. Tracing GC

The two families of automatic memory management — refcounts, cycles, and ARC versus tracing collectors, roots, and reachability — compared on real trade-offs.

Details
In production
runtime

Stack vs. Heap Memory

Where your variables actually live — the hardware stack's push and pop discipline versus the heap's malloc and free — and why the difference matters.

Details
In production
runtime

JIT Compilers Explained

How just-in-time compilers work — profiling, tiered compilation, and generating machine code at runtime — from interpreter to native in microseconds.

Details

Depth, delivered weekly

One technical dispatch a week — articles and episode notes before they go public.

One technical dispatch per week. No noise.