Today
- Way, waaayyy back in 2010, I built a fun little game for the Palm WebOS series of phones called Mazer. I was happy with it, loads of people downloaded and played it, and then WebOS died. I recently found the source code again, and with the help of Claude AI I rewrote it to run …...
- Rahul Garg finishes his series on reducing the friction in AI-Assisted Development. He proposes a structured feedback practice that harvests learnings from AI sessions and feeds them back into the team's shared artifacts, turning individual experience into collective...
- Running multiple agents in parallel is not just a question of throughput. It is a new kind of cognitive labor that requires managing multiple mental models, continuous judgment calls, and an ambient anxiety tax...
- I’ve gone a lot of hard and scary experiences that’s made me deeply value stability. After enduring varied traumas, I really turned on the afterburners to make up for being ripped away from my own life and to rebuild a […]...
- Anthropic didn’t release their latest model, Claude Mythos (system card PDF), today. They have instead made it available to a very restricted set of preview partners under their newly announced …
Yesterday
- The most effective way to build software and get massive adoption is no longer high quality mainline apps but via building blocks that enable and encourage others to build quantity over quality.1
- April 7, 2026 It’s a small thing, yet it says a lot, that OpenAI’s Industrial Policy for the Intelligence Age is presented only as a PDF that looks terrible, with amateurish justification and a footer image that’s too lo-res and blurry for clear printing. I’ll note also...
- We rolled out adaptive light-dark() support on our design system themes and it’s been a delightful upgrade. Creating light and dark variable sets isn’t difficult, but delivery has trade-offs. Most apps that do this probably ship both sets of token values in a single stylesheet....
- Modern hardware is remarkably fast, but software often fails to leverage it. Caer Sanders has found it valuable to guide their work with mechanical sympathy - the practice of creating software that is sympathetic to its underlying hardware. They distill this practice into...
- Google's Gemma 4 family of open models is now available through the Gemini API and Google AI Studio. Built from the same research behind Gemini 3, these models bring advanced reasoning, native function calling, multimodal understanding, and 256K context windows to an open,...
- Introduction Buttons that scale on hover with CSS feel dead. No overshoot. No bounce. No life. Spring physics fix this. The button pops past its target scale and settles back. Feels like it has weight...
- What is a skinned mesh? A mesh is the surface of a 3D object. Made of tiny triangles. A static mesh is something that never moves. A rock. A wall. A tree. A skinned mesh is a mesh with a skeleton insi...
- The Problem You have a video on a server. You want users to watch it. But you do not want them to download it. Or share direct links. Or scrape it with bots. If you just put the file at cdn.example.co...
- The Problem When using TanStack Table with TanStack Virtual and many columns that extend beyond the viewport, scrolling horizontally causes the header cells to appear transparent. Body row content ble...
This week
- April 6, 2026 A new edition of my pop-up AI newsletter just landed: where is it like to be a language model? The discussion here is bolstered by an actual experiment, a programmatic probe of many language models. It was my first time doing something like that — fun! The...
- Did you know that Jesus gave advice about prototyping with an LLM? Here’s Luke 14:28-30: Suppose one of you wants to build a tower. Won’t you first sit down and estimate the cost to see if you have enough money to complete it? For if you lay the foundation and are not able to...
- In an earlier blog post we found out that Pystd's simple sorting algorithm implementations were 5-10% slower than their stdlibc++ counterparts. The obvious follow up nerd snipe is to ask "can we make the Pystd implementation faster than stdlibc++?" For all tests below the data...
- With enough work you can build a search system with just grep. But it’s not for the faint of heart....
- Simon Willison wrote about how he vibe coded his dream presentation app for macOS. I also took a stab at vibe coding my dream app: an RSS reader. To clarify: Reeder is my dream RSS app and it already exists, so I guess you could say my dreams have already come true? But I’ve...
- Announcing noagendanomeeting.net — a single-page site advocating that every meeting deserves an agenda, and most meetings deserve to be a document instead....
- Dominic Nguyen (Founder of Storybook and Chromatic) joins me to talk about Storybook MCP the long journey of design system quality. We get into what it actually feels like to be “scaredcited” right now, and Dom shows off the newly-released […]...
- I like reading system prompts, either when they’re published as part of open-source software, exfiltrated via crafty prompting, explicitly shared, or (in the case of last week) accidentally leaked. They’re often the best manual for how an app is intended to work. We’ve touched...
- My terminal background color changes based on the current directory. It's a small touch that makes it easy to tell which project I'm in at a glance, which is especially useful when juggling AI agents. It works via a custom fish function called _color_for_dir, which: Hashes the...
- The Problem Vite SPA serves one index.html for all routes. Social crawlers (X, Discord, Slack, LinkedIn, etc.) read the first HTML response and don't run JavaScript. So every shared link shows the sam...
Rows per page