Recent posts
-
WebGPU — All of the cores, none of the canvas
WebGPU is an upcoming Web API that gives you low-level, general-purpose access GPUs.
-
My approach to coding interviews: Optimize for iteration
A big part of interviews is development velocity and agility. And that can be optimized for.
-
<video>, HTTP range requests & WHATWG streams
Range requests allow a <video> tag to seek through a video file. Adding support to your dev server is a fun challenge and taught me some interesting things about WHATWG Streams.
-
Is WebAssembly magic performance pixie dust?
Add WebAssembly, get performance. Is that how it really works?
-
Why your phone’s portrait mode fakes the blur
Portrait mode artificially blurs out the background of an image to make it look... “better”. Turns out the reason this is done artificially is physics more than anything else.
- … all posts
Recent experiments
-
Film & Developer comparison
In this YouTube video, Andrew compares how different black-and-white film developers affect different black-and-white film. He kindly provides contact sheets for inspection, but I really wanted a way to properly inspect the differences.
-
Ditherpunk
Demo accompanying the Ditherpunk article which dithers an image of your choice with a bunch of dithering algorithms.
-
WhatWG Stream Visualizer
A visual “interface” for WhatWG streams.
-
Vinylizer
Renders images as a spiral with varying wobblyness (technical term), so it looks a bit like a vinyl record.
-
Discrete Cosine Transform (DCT)
A reactive UI that creates the Discrete Cosine Transform of a given image, removes some data and then applies the reverese DCT to show the visual artifacts.
- … all experiments