Blog

Contains the title of the post: Practical Introduction to Async Generators in JavaScript

Practical Introduction to Async Generators in JavaScript

A comprehensive and practical guide to synchronous and asynchronous generators and iterators in JavaScript & TypeScript

Contains the title of the post: Building a Formal Verification Tool from Scratch: Part 3 (Rethinking the Foundation)

Building a Formal Verification Tool from Scratch: Part 3 (Rethinking the Foundation)

We take a step back to rethink the foundation. Replacing dynamic arrays with fixed-size registers, upgrading our hash function, and learning why simple data structures make things easy.

Contains the title of the post: Building a Formal Verification Tool from Scratch: Part 2 (The Virtual Machine)

Building a Formal Verification Tool from Scratch: Part 2 (The Virtual Machine)

Hardcoded solvers don't scale. We need an engine that operates purely on logic to verify any system. We build a custom Virtual Machine in Odin, tackling instruction sets (bytecode), tagged unions, and the subtle traps of memory identity.

Contains the title of the post: Building a Formal Verification Tool from Scratch: Part 1 (Die Hard Edition)

Building a Formal Verification Tool from Scratch: Part 1 (Die Hard Edition)

What if you could explore every possible timeline of your distributed system to find the bugs you haven't imagined yet? I'm building a TLA model checker from scratch to understand how formal verification works

Contains the title of the post: 2025 Wrapup: Articles, Talks, Papers, and Software I Loved

2025 Wrapup: Articles, Talks, Papers, and Software I Loved

A look back at some of the most impactful articles, talks, research papers, and software tools that shaped my year in 2025.

Contains the title of the post: Building a Lock-Free Single Producer, Single Consumer Queue (FIFO)

Building a Lock-Free Single Producer, Single Consumer Queue (FIFO)

Build a complete lock-free Single Producer Single Consumer (SPSC) queue from scratch. Step-by-step implementation in Zig with detailed explanations of every atomic operation and memory ordering choice.

Contains the title of the post: Faster Websites with Client-side Prerendering & Speculation Rules API

Faster Websites with Client-side Prerendering & Speculation Rules API

Learn how to use client-side prerendering and the Speculation Rules API to improve the performance of your site.

Contains the title of the post: When Threads Share Memory: Understanding Race Conditions and Atomics

When Threads Share Memory: Understanding Race Conditions and Atomics

Learn why multi-threaded programs break in subtle ways and how atomic operations fix them. A practical guide to race conditions, memory ordering, and Acquire/Release semantics.

Contains the title of the post: On Software Complexity: Why Can't We Make Simple Software?

On Software Complexity: Why Can't We Make Simple Software?

Exploring the challenges of software complexity and advocating for simplicity in design.

Subscribe to newsletter

Subscribe to receive expert insights on high-performance Web and Node.js optimization techniques, and distributed systems engineering. I share practical tips, tutorials, and fun projects that you will appreciate. No spam, unsubscribe anytime.