The floor is a shader now

Hey 👋 — today's mix pairs a genuinely lovely piece of Three.js craftsmanship with a run of AI stories that range from diagnostic to deadpan. One dev built an entire retro-tech diorama out of shader tricks and stubborn textures, and elsewhere the internet is benchmarking robots on crime.

Sixty frames for the record: a Three.js game, seven fly-throughs, and a wall of CRTs

Sixty Frames for the Record: A Three.js Game, Seven Fly-Throughs, and a Wall of CRTs

One developer, one weekend-turned-obsession: a 3D Space Invaders remake, seven wandering fly-through worlds, and a bank of failing CRT monitors, all scored with his own original tracks and all held together at a steady 60fps. The writeup is the real prize — custom shader floors, instanced meshes, and event-driven lighting, each explained as the fix for something that broke first. It's the kind of postmortem that makes you want to open your own renderer and start breaking things on purpose.

"The floor is a shader, because every texture failed" — Sixty Frames for the Record

Why your local LLM feels dumber than it is

Why your local LLM feels dumber than it is

A Level1Techs forum post makes the case that when your locally-run model feels stupid, it's usually not the model's fault — quantization choices, hardware instruction sets, and inference software quietly do more damage to output quality than people assume. The author backs it up with side-by-side experiments rather than vibes, which is more than most "my local model sucks" threads bother with (via HN discussion).

Felony Bench: be AI, do crime

In a lighter register: Felony Bench looks to be a leaderboard for testing AI agents on their skill at simulated crime, though the site itself was too cagey to confirm exactly what it measures (unverified). Satire or not, it's a fitting artifact for a week when everyone's arguing about what agents should and shouldn't be trusted to do (via Lobsters discussion).

More than just code review

If Felony Bench is the id, Simon Willison's post is the superego: he argues that reviewing every line an AI coding agent produces isn't the only legitimate way to verify its work. Confident, specific instructions and confident, targeted verification can matter more than exhaustive line-by-line reading — a useful reframe for anyone feeling guilty about not reading all 400 lines of that last diff.

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.

Turning a Casio F-91W into a contactless payment device

Turning My CASIO F-91W Into a Contactless Payment Device

A cybersecurity engineer cracked open a bank card, pulled the NFC chip out, and wired it into the guts of a $15 Casio F-91W — the same watch that's been on wrists (and, famously, bomb-squad watchlists) since the 80s. The result taps to pay just like the card it cannibalized, no phone or smartwatch app required. It's the kind of hack that doesn't scale or ship, but it's a satisfying reminder that "payment terminal" is really just "chip that says yes," and that chip doesn't care what plastic it's glued to. (via Lobsters discussion)

Fine-grained shader validation in three.js

Three.js now has a GPU-based test harness that runs individual TSL shader expressions directly on WebGPU and WebGL2 and checks the numeric output against expected tolerances — essentially unit tests for the math happening inside your shaders. It caught six real bugs in core shader primitives on day one of use, which says less about the harness being clever and more about how much shader logic has historically shipped untested because there was no easy way to test it. Worth a look if you've ever debugged a lighting glitch by squinting at a render and guessing.

llm 0.33

Simon Willison's command-line LLM tool picks up an upgraded OpenAI client, per-call API keys for embeddings, combinable prompt templates, and reasoning-summary options for Responses API models. Small, steady release — the kind that keeps a tool you already rely on from quietly falling behind.

Quick hits

That's the stack for today — a watch that pays for coffee, shaders that police their own math, and a CLI tool that keeps getting quietly better. Got a find that deserves a spot in tomorrow's issue? Reply and let us know, and if this one was worth your coffee break, send it to someone who'd like it too.

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