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.
Ditherpunk — The article I wish I had about monochrome image dithering
I always loved the visual aesthetic of dithering but never knew how it’s done. So I did some research. This article may contain traces of nostalgia and none of Lena.
Case study: Moving a Three.js-based WebXR app off-main-thread
Keeping the frame rate stable is vital for virtual reality applications. Off-main-thread architecture can help ensure that the frames keep shipping.
Streams for reactive programming
Can you use WHATWG Streams for reactive programming? It seems so. But is it a good idea?
- … all posts
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.
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.
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