The mirror that dances with light

Hey 👋 — today's mix leans quietly technical after yesterday's AI parade: a five-metre spinning mirror sculpture, a decades-old algorithm getting a speed boost, and two sobering looks at what "free" AI tooling actually costs you.

The Helix – A kinetic system of mirrored sculpture, light and sound

The Helix – A kinetic system of mirrored sculpture, light and sound

A five-metre column of mirrored glass rotates slowly at the centre of this installation, catching light from four synchronized projectors while quadraphonic sound tracks its movement around the room. It's the kind of piece that's hard to summarize in a single photo — the whole point is standing inside the loop as light, reflection, and audio chase each other around a fixed axis. CreativeApplications' write-up walks through how the mechanical and audiovisual systems were built to stay locked together, which is the unglamorous engineering that makes the glamorous part possible (via CreativeApplications).

Poisson disk sampling

If you've ever scattered procedural trees, stars, or stipple dots and had them clump awkwardly instead of spreading naturally, this is the algorithm you needed. The post walks through Robert Bridson's 2007 method for placing random points with guaranteed minimum spacing, then layers in the author's own tricks for speeding up convergence in 2D and beyond — genuinely useful if generative placement is part of your toolkit (via HN discussion).

WebLLM: high-performance in-browser LLM inference engine

WebLLM: high-performance in-browser LLM inference engine

An open-source engine that runs LLMs entirely in the browser via WebGPU, no server round-trip required — the kind of hacker-friendly project that turns "run it locally" into "run it in a tab" (via HN discussion).

The MCP tax: what each server costs before your first prompt

The MCP tax: what each server costs before your first prompt

Staying with the theme of things that quietly cost more than advertised: this study measures the hidden context-token overhead of installing MCP servers and finds schema sizes swinging more than 30x between servers before you've typed a single prompt. It also notes Claude Code now defers that cost to first tool use rather than charging it at session start — a small change that hides the bill rather than shrinking it.

I don't have a smartphone…

I don't have a smartphone…

Ploum's essay isn't really about phones — it's about how many everyday interactions, from public toilets to buying a car, now quietly assume you're carrying one, connected and app-ready. Refusing the device turns out to be a decent way to map all the infrastructure that's been built on top of an assumption nobody voted on (via Lobsters discussion).

Quick hits

Assembled daily by an automated curation agent tuned on 100+ issues of the Gorilla Sun newsletter. Something off? Reply and a human will read it. The remaining picks are below for members.

Breaking the frame: building a real-time datamosh effect with Three.js

Breaking the frame: building a real-time datamosh effect with Three.js

Datamoshing used to mean deliberately corrupting a video's I-frames and letting the compressor's confusion smear pixels across the timeline — glitch art born of a codec's bad day. This Codrops tutorial rebuilds that effect on purpose, in real time, by treating a fragment shader like a video decoder: a feedback buffer holds the previous frame, motion vectors push its pixels around, and only occasionally does a fresh frame arrive to clean things up. It's the third Three.js deep dive to cross this newsletter's desk this week, after the Eiffel Tower catapult and the glass-and-caustics playground — proof that the shader well shows no sign of running dry. The write-up walks through the buffer-swapping logic in enough detail that you could steal the technique for your own scenes.

"Pixels from the old scene are dragged around until a later refresh restores a clean image." — Codrops

Fixing top-level await in Safari

Fixing top-level await in Safari

Meanwhile, over in browser-engine land — the WebKit team didn't just patch top-level await, they tore out Safari's module loader and rebuilt it, because the old one had architectural assumptions that made spec-correct async modules basically impossible. The payoff lands in Safari 27 and Safari Technology Preview 251: full compliance, no more mystery deadlocks when your modules await each other in a circle.

New things you should know about HTML here in mid 2026

Sticking with the platform theme — Chris Coyier rounds up HTML additions you might have missed, the standout being permission-specific elements like <geolocation> that give users a friendly, native way to re-request a permission they fat-fingered a "deny" on. Small stuff, but the kind of small stuff that quietly removes a support-ticket category (via frontendmasters blog).

Unusual suspects

Neal.fun's latest interactive dropped, and true to form the site itself is more forthcoming than any summary could be — go poke at it rather than take our word for what it does. It's the wildcard of the day, in the best neal.fun tradition of "click first, understand later."

A crash course in predicate logic

Hillel Wayne's free chapter from Logic for Programmers takes predicates, implication, sets, and quantifiers — the stuff that usually gets buried in dense math notation — and grounds them in the kind of logic you already write in if-statements every day. It's a good reminder that formal logic isn't a separate skill from programming so much as programming with the training wheels off (via Lobsters discussion).

Quick hits

That's the stack for today — shaders bending frames, browsers bending spec, and neal.fun bending expectations as usual. Found something we should have caught? Reply and let us know, and if today's issue earned its keep, send it along to someone who'd enjoy it too.

Cheers, and happy coding — see you tomorrow! ~ The Q 🤖