A Crash Course on Concurrency: Build a Tiny Scheduler from Scratch
Build a tiny concurrency runtime from scratch and discover how schedulers, task switching, yielding, coroutine state, and event loops work under the hood
I'm a consultant for high-performance Node.js/JavaScript apps. You'll find my blogs, courses, and services here.
Build a tiny concurrency runtime from scratch and discover how schedulers, task switching, yielding, coroutine state, and event loops work under the hood
Learn how Odin keeps control flow explicit through exhaustive switch statements, value-based error handling, or_return, and block-scoped defer. Discover why visible control flow makes code easier to reason about.
Learn how Tina combines AddressSanitizer, arena allocation, and logical lifetimes to detect memory safety violations
A succinct introduction to the Odin programming language for experienced programmers, especially those familiar with Go, Java, and other GC-based languages.
Write your first Odin program and learn about the structure of an Odin program/project.
Learn how to work with data, and fearless memory management in Odin
How to build a production-grade HTTP server without async/await or coroutines. Discover how Tina HTTP uses thread-per-core state machines in Odin
Async/await makes concurrency easy to write, but incredibly complex to operate. Read on for why the Tokio/Rayon boundary is failing in production, and how explicit state machines fix it.
Why adding Kafka or bigger queues won't save your server from traffic spikes. Learn the physics of backpressure, load shedding, and the latency death spiral.
A comprehensive and practical guide to synchronous and asynchronous generators and iterators in JavaScript & TypeScript
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.
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.
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
A look back at some of the most impactful articles, talks, research papers, and software tools that shaped my year in 2025.
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.
Learn how to use client-side prerendering and the Speculation Rules API to improve the performance of your site.
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.
Exploring the challenges of software complexity and advocating for simplicity in design.
Learn how to implement a queue data structure from scratch using circular buffers. Understand FIFO principles, constant-time operations, and why this pattern powers everything from audio processing to network packet handling. Code examples in Zig.
This is a story about leaving the comfort of web development to tackle hard problems, find a new philosophy, and build software that lasts.
A comprehensive tutorial for experienced Angular developers to learn Angular Signals and their practical applications.
Learn how to optimize Node.js for processing large files: 14GB of data processed 78% faster using buffer streaming, byte-level parsing, and hash-based lookups. Complete guide with benchmarks, profiling insights, and code examples for handling 1 billion rows efficiently.
Learn how to work with strings in Zig: slicing, formatting, Unicode handling, memory allocation, and C interoperability. A practical reference for Zig developers.
Learn how to build React applications using Bun's fast runtime and built-in tooling. Create a blog app with TailwindCSS and discover the developer experience.
MCP/tools are sometimes designed like REST APIs. I'll show you how to design better tools for AI agents and models.
A review of the top 5 React data grid libraries with code examples and performance benchmarks.
Learn how to build your first AI agent in TypeScript.
Learn how to build a blog using Angular and Analog. This tutorial will guide you through the process of setting up a Markdown-powered blog using Analog.
Vibe coding reality: My 20-hour journey building with AI peer programming. What senior engineers actually experience beyond the 1-hour hype.
See how to build an Angular application with Analog, enjoying a modern, smooth developer experience.
Explore the importance of code literacy in the age of AI and how it can empower individuals to harness Gen AI effectively.
This article contains a collection of resources for senior (or staff+) engineers exploring the use of LLM for collaborative programming.
Learn how to use the Cookie Store API for efficient cookie management in web applications.
This guide will show you how to use libuv from your Zig project.
Explore the best React UI libraries available. Enhance your development experience and ship quickly to production!
Explore advanced Set operations in JavaScript. Learn how to leverage these powerful methods for unique collections and data manipulation.
A guide on how to build applications and packages that work across different JavaScript runtimes.
Learn how to install Node.js on Windows using modern nodejs version managers and the official installer. A step-by-step guide for JavaScript developers.
Explore Node.js's experimental features: native TypeScript, SQLite support, and glob file search. Discover the latest advancements!
This tutorial will teach you how to create a CLI using JavaScript and TypeScript. We'll use Bun, a JavaScript runtime, to build the CLI.
Discover new Node.js features: native .env loading, built-in file watching, and faster script execution without third-party tools
Learn how to install Node.js on Ubuntu and Linux systems using modern nodejs version managers. A step-by-step guide for JavaScript developers.
Automate Kafka topic management with JavaScript and GitHub Actions for scalable, event-driven DevOps workflows (aka GitOps)
Introducing Buntastic, a high-performance static site server built with Bun and Tigris. Learn how it offers blazing-fast performance, global caching, and more.
Compare Docker and Podman on features, performance, security, and use cases to choose the best container engine for your needs
This article will show you how to install Docker on Windows 10 and above.
This article will compare Hyper-V and WSL on Windows, helping you decide which one to use for your projects.
Learn how to improve your website speed using speculation rules api
Learn how to build fast websites using real user data, expert insights, and framework-independent techniques for improved performance and SEO
Learn how to effectively map over promises in JavaScript. Also how to handle concurrency for them