RSS.Social

surma.dev

follow: @[email protected]

Posts

LangGraph for complex workflows

[Video] Nix explained from the ground up

Rust to WebAssembly the hard way

I turned JS into a compiled language (for fun and Wasm)

The cost of convenience

WebGPU — All of the cores, none of the canvas

My approach to coding interviews: Optimize for iteration

<video>, HTTP range requests & WHATWG streams

Is WebAssembly magic performance pixie dust?

Why your phone’s portrait mode fakes the blur

Ditherpunk — The article I wish I had about monochrome image dithering

Case study: Moving a Three.js-based WebXR app off-main-thread

Streams for reactive programming

React + Redux + Comlink = Off-main-thread

Is postMessage slow?

When should you be using Web Workers?

Compiling C to WebAssembly without Emscripten

Raw WebAssembly

Less Snake Oil, More Context

Headless Web Development

Lights, Camera, Action!

The 9am rush hour

My most useful RegExp trick

Layers and how to force them

Deep-copying in JavaScript

“An Actor, a model and an architect walk onto the web...”

2018: 120fps and no jank

Comlink + WebRTC — An Intro to WebRTC

DOM2Texture: Abusing Arcane APIs

DIY Web Animations: Promises + rAF + Transitions

Chromium Bug Tracker: All bugs with >32 stars get fixed?

DevDiary Underdash: Progressive Enhancement, Graceful Degradation and Accessibility

How to read web specs Part IIa – Or: ECMAScript Symbols

How to read web specs Part I – Or: WebVR, how do you work?

Compositor Worklet evolves into Animation Worklet!

Lazyloading

New ways to make your web app jank with Houdini – An introduction

Setting up HTTP/2

Maelstrom Gaming and 12 fps