The 9am rush hour
A Google developer uses a rush hour analogy to explain main thread congestion in web development and explores strategies to improve performance.
Surma writes in-depth articles on web technologies, systems programming, and developer tooling. His work explores JavaScript, Rust, WebAssembly, Nix, and workflow automation with a strong focus on understanding how things work under the hood.
37 articles from this blog
A Google developer uses a rush hour analogy to explain main thread congestion in web development and explores strategies to improve performance.
A practical guide to a robust regular expression pattern for accurately extracting quoted strings, avoiding common pitfalls like greedy matching and escaped characters.
Explains browser rendering layers, when to use will-change, and how to force layers for performance in CSS animations.
Explains the complexities of deep copying objects in JavaScript, covering shallow copies, JSON methods, and the structured clone algorithm.
Explores applying the Actor Model, a concurrency concept from the 1970s, to modern web development using JavaScript and Web Workers.
Discusses the challenges of achieving 120fps on the web, analyzing performance bottlenecks and best practices for smooth animations.
An introduction to WebRTC, explaining its complexities and demonstrating its use with Comlink for peer-to-peer data connections.
A technical exploration of using SVG's <foreignObject> and canvas to render interactive DOM elements as textures in WebGL, bypassing manual font/layout work.
A guide to creating custom web animations using Promises, requestAnimationFrame, and CSS Transitions as an alternative to the Web Animations API.
Explains how the Chrome team uses star counts on bug reports to prioritize developer pain points, but clarifies it's not a strict guarantee.
A guide to reading the ECMAScript specification, focusing on understanding Symbols in JavaScript and how to navigate the official spec draft.
A guide on how to read and understand web API specifications, using the WebVR spec as a practical example for developers.
The Compositor Worklet API has evolved into Animation Worklet, a new web standard proposal for high-performance, scroll-linked animations.
A technique for lazyloading resources like iframes and CSS using <noscript> tags to ensure progressive enhancement when JavaScript is unavailable.
An introduction to Houdini, a set of upcoming web standards that allows developers to extend CSS and hook into the browser's rendering engine.
A guide to setting up HTTP/2, covering server configuration, obtaining SSL certificates, and using tools like CloudFlare and CertBot.
A technical analysis of a website's poor scrolling performance, focusing on diagnosing and fixing parallax implementation issues using DevTools.