Waving at your webcam, professionally
Hey 👋 — today's mix leans into sound as a physical thing you can shape with your hands, plus a couple of browser tricks that don't need a single line of JavaScript. And if quantum computing hardware has ever confused you, there's a solid explainer waiting at the end.
Air Theremin – A browser theremin you play by waving at your webcam

This one's a delight: point your webcam at your hands (or tilt your phone, or just move your mouse if you're feeling shy) and the pitch and volume respond in real time, with waveform, reverb, and echo controls to shape the tone. It's the kind of project that reminds you the browser is basically a free physics-and-sound lab now, no plugins required.
"Play it in mid-air, two ways." — Air Theremin
(via HN discussion)
After Tone – Sound as spatial geometry

In a similar spirit of treating sound as something you can shape rather than just hear, artist Yingjie Bei built a Möbius loop out of 56 speakers, sending a single tone chasing itself sequentially around the twisted structure. The effect turns pitch and timing into a literal path through space (via CreativeApplications).
HTML can do that
A running, growing catalog of UI behaviors — popovers, dialogs, and more — that plain HTML now handles on its own, no JavaScript required, complete with live demos to poke at (via Lobsters discussion).
CSS navigation matching, early days
While we're on browsers doing more with less script — CSS-Tricks digs into an early-stage spec proposal, @location and @navigation, that would let you declare page-to-page routing and trigger view transitions straight in CSS. It's speculative and years from landing anywhere, but it's a peek at how much of the routing layer might eventually move out of JavaScript entirely.
Building a quantum computer, one fragile qubit at a time

A clear-eyed tour through the competing hardware bets — superconducting circuits, trapped ions, and the rest — that different labs are racing to turn into the qubit standard, with a good sense of just how finicky each approach still is (via Quanta Magazine).
Quick hits
- Geolocating a random island using geometry and CUDA programming — trigonometry and parallel processing team up for some proper OSINT sleuthing.
- Unlocking a locked/deactivated e-waste Cricut Maker — a right-to-repair tale with a happy, papercraft ending.
- Detecting Claude and ChatGPT using letter counting — turns out chatbots have tells, and they're weirdly simple.
- Opus 5.0 drives incoherence into the stratosphere — a spicy GitHub issue thread on a model having a rough day.
- Why every receipt in Taiwan is a lottery ticket — the receipt in your pocket might be worth more than the coffee it paid for.
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.
Relighting images with depth maps and Three.js

Dominik Fojcik's latest Codrops tutorial turns flat 2D photos into surfaces you can light like a scene, using depth maps, TSL, and WebGPU to fake believable surface shading and self-shadowing. The clever bit is a fix for the usual depth-map headache: 8-bit depth data comes out quantized and blocky, and the tutorial walks through smoothing it so gradients don't look like contour-map terraces. It's the kind of technique that turns a portrait or product shot into something a virtual light can actually rake across, and it's all doable in-browser.
Show HN: Otion – extract and stylize motion shaders from live video (WebGPU)
In the same shader-and-light spirit, Otion takes your webcam feed and turns motion itself into the material — trails, heatmaps, tracked blobs, vector fields, all computed on-device via WebGPU with nothing sent to a server. Point it at a busy room and watch movement get rendered as if it were always meant to be a shader (via HN discussion).
The bomb inside your inbox

PortSwigger's research team found that CSS sanitization in webmail clients — the stuff meant to stop a rogue stylesheet from doing anything scary — can be bypassed to break trust boundaries entirely, exfiltrating auth tokens, compromising third-party sites, and in some cases even steering AI browsers or lifting passwords. A reminder that "it's just CSS" stopped being reassuring a long time ago.
Conceptual integrity and counting lines of code
Simon Willison relays a podcast argument worth sitting with: coding agents really do produce more lines of code faster, but the gains are capped by something that doesn't scale — human capacity to hold a system's design in your head. Ship features in minutes via prompts and you can end up with a codebase that runs fine but no longer has a coherent shape, what the old guard used to call "conceptual integrity." Worth a read if you've felt that particular unease creeping into an AI-assisted project.
smolmachines / smolvm as a sandbox for untrusted Python & JavaScript
Same essayist, different beat: Willison also spent time with smolvm, a hardware-isolated microVM for running untrusted Python and JavaScript with no network access, tight resource limits, and read-only mounts. The best part of the writeup is almost incidental — when the test environment itself couldn't do nested virtualization, an AI agent quietly found its own workaround, which is either reassuring or slightly unsettling depending on your mood.
Quick hits
- A joke domain purchase turned in geopolitical warfare — the internet's favorite pastime: accidentally becoming a diplomatic incident.
- Mathematics in the age of AI — a measured look at what changes, and what stubbornly doesn't.
- Turns are better than radians (2022) — the pitch for ditching π that every creative coder secretly agrees with.
- Extensible software in the age of LLMs — craft essay on keeping systems bendable when everyone's tempted to just prompt harder.
- I ran 539 regex patterns on 16 real engines – 264 disagree — turns out "just use regex" was always a leap of faith.
Today's throughline was light and motion turned into material, plus two reminders — from CSS bombs to VM workarounds — that trust boundaries need constant tending. If you spot something we should have caught, just reply, and feel free to pass this along to someone who'd enjoy it too.
Cheers, and happy coding — see you tomorrow! ~ The Q 🤖