Joy & Curiosity #70
Interesting & joyful things from the previous week
Here’s a question I think about every day now: what will happen to code?
A year ago I started to build a little Rust program. The plan: I paste an email in, the program sends the email to an LLM inside a specific prompt, I get back a reply. The usecase: sometimes I get emails from people that ask for a discount on my books. I nearly always say yes, go to LemonSqueezy, create a personalized coupon code (think: HEYANNIE), go back to the email and reply with where and how they can use that coupon code.
So I started to build this. Single file, one API call, a few-shot prompt, works if I hardcode an email in. But then I had to figure out what type of interface I want so I can paste the email in and get the response out and I got lazy and gave up on it. I don’t want to build a chat interface and image upload and whatnot. Once I had Amp, though, I came back to the project: maybe Amp can build all of this for me? But while doing that, I realized that, wait a second, why can’t Amp itself do what the program’s supposed to do? If I paste an email into Amp, it sure can figure out how to talk to LemonSqueezy, no problem. It can also write the two sentences for the reply email. But because I’m lazy I didn’t even do that, I just marked that as a possibility in the back of my head. Only four weeks ago did I go into that codebase again.
This time I told Amp: analyze what this codebase is supposed to do, here’s the documentation for the LemonSqueezy API, figure out how to create coupons and what type of response emails to write, then put everything you figured out into a SKILL.md file. After a minute it spit out that Markdown file and I asked it: can you create a coupon code for Annie who sent me this email? Yes, Amp said, I sure can. And off it went with curl and created a coupon code and gave me two sentences with instructions to send back to Annie.
No code, only Markdown.
Yes, not every codebase can can be turned into instructions for an agent, and yes, it’s inefficient and costs money (even more money than the Rust-harness around a few-shot prompt would cost). But, directionally, there are a quite a few things that can be deconstructed into simply an agent with the right instructions and tools, are there not?
And then you throw things like exe.dev and sprites.dev into the mix, where you could run an agent and store some tools and potentially have the agent write some helper code too, and you start to wonder what’ll happen to codebases and code.
Code will always be around and codebases for Serious Programs too, but you have to wonder: how much and which ones?
Our interview with DHH is now live! Admittedly, we a made the mistake of not releasing it right after recording. In the time since, it seems as if David has (at least slightly) shifted his view on Opus 4.5 and writing code by hand. That being said: many other interesting things came up in the conversation. I especially found his thoughts on marketing & social media and the changing of that landscape to be very interesting.
If you’re curious about which future we see at Amp: we’re removing Amp Tab. The post also has a video in which Quinn and I go into a little bit more detail about why we’re doing this and how the ratio of hand-written vs. generated code has flipped.
A deep dive into ASCII rendering. Fantastic. A+. Impressive work and care and great writing too. This is the Gem of the Week (wish I could play a theme song for you right now.)
Mark my words: this blog post is a gunshot in the quiet night and it’ll ring out for a very long time. Why We Built Our Own Background Agent, by Zach Bruggeman, Jason Quense, and Rahul Sengottuveluramp at ramp. Nearly a year ago I stood on stage and said to a group of engineers that yes, you can ignore the hype, you can ignore AI, you can dig into your text editor and put your fingers in your ears. But not if you’re working in developer tooling, because your field will change like few others. And now here we are and look at what an internal team built.
antirez is encouraging his readers to not “fall into the anti-AI hype”: “Anyway, back to programming. I have a single suggestion for you, my friend. Whatever you believe about what the Right Thing should be, you can’t control it by refusing what is happening right now. Skipping AI is not going to help you or your career. Think about it. Test these new tools, with care, with weeks of work, not in a five minutes test where you can just reinforce your own beliefs. Find a way to multiply yourself, and if it does not work for you, try again every few months.” I wrote a similar thing over a year ago and now I can add antirez to the list. The biggest surprise to me is how long it took agents to replace copy-pasting ChatGPT responses.
Another entry on the list: Linus Torvalds. He used Antigravity to help him fix his audio visualization tool: “It mostly went smoothly, although I had to figure out what the problem with using the builtin rectangle select was. After telling antigravity to just do a custom RectangleSelector, things went much better. Is this much better than I could do by hand? Sure is.”
The team at ramp also put Claude Code into Rollercoaster Tycoon.
Now this, this is what it’s about, this is it, this is why computers have a power-on button and why we get up in the morning and why we have fingers to move the mouse and click and why we have eyes to see: so that someone, somewhere, can create something like this and then shoot it through thousands of miles of undersea cables into our eyeballs, and the only thing they get in return is the chance to have made the tiny muscles in our cheeks pull up the edges of our mouth: gradient.horse.
Wonderful personal blog post: Paul Stamatiou’s 2025 in review. It’s personal, it’s long, it’s about work (Paul “was Co-Founder and Head of Design at Limitless (née Rewind AI), which was acquired by Meta. Before that I spent 9 years at Twitter”), it’s about computers, about his car, about his home, about books, about design.
Paul’s post led me to this one, by Jenny Wen, on design & design process: “But along the way, we lost something. The actual work we were producing. We spent so much time trying to decode our users in so many ways — a persona! Then a journey! Then a user flow! Then a lo-fi wireframe! Then a concept test! We focused on it so much, that we deemed the pixels unserious and unimportant. We stopped doing the real thing that would be the most empathetic, useful, and that would actually serve business outcomes best: building stuff that worked well and that people would love.” If you’ve never seen it happen, it’s hard to believe how much effort can go into building something without someone saying, “Wait a second, this is dogshit. I would never use this.” But I’ve seen it, I’ve done it: it’s tempting and very easy to tell yourself that you’re doing everything right when you’re following the process and doing the capital-I Important things in the order they shall be done, while forgetting that the most important thing is to build something you and others love.
This post is already worth reading just because of that one gif in here, you’ll know which one: the struggle of resizing windows on macOS Tahoe.
“Apple picks Google’s Gemini to run AI-powered Siri coming this year” As someone who thinks that Gemini 3 was the inflection point, not Opus 4.5: hell yes, bring it.
And OpenAI is collaborating with Cerebras. If they can get the speeds out of GPT-5.2 that you’d expect when you hear the name Cerebras then the game will change.
Brian Lovin says to give our agents a laboratory. Yes! Let the codebases and the agents melt! This is the year in which they do. Think of your codebase as an application: can the agent use it? If not, what is it missing? These models will get better, it’s time to prepare for the day when you no longer need to babysit them.
Cursor has been “experimenting with running coding agents autonomously for weeks. Our goal is to understand how far we can push the frontier of agentic coding for projects that typically take human teams months to complete.” They didn’t aim low: “To test this system, we pointed it at an ambitious goal: building a web browser from scratch. The agents ran for close to a week, writing over 1 million lines of code across 1,000 files.” They had agents write a whole browser? On Twitter Michael Truell added: “It’s 3M+ lines of code across thousands of files. The rendering engine is from-scratch in Rust with HTML parsing, CSS cascade, layout, text shaping, paint, and a custom JS VM. It *kind of* works! It still has issues and is of course very far from Webkit/Chromium parity, but we were astonished that simple websites render quickly and largely correctly.” Holy fucking shit, right? Simon Willison’s 3-year prediction can already be checked off? Eh, says embedding-shapes, not so fast. And that’s also what the HackerNews comments say. Still, as someone who wants to be an optimist and who works with these agents on a day-to-day basis: maybe a quiet “holy shit” is apt?
The Death of Software Development: “While software development as we know it is dead, software engineering is alive and well. The role has transformed. Engineers are no longer writing software — they’re designing higher-order systems. They’ve moved from crafting code to designing systems that write code. […] This new reality requires rethinking everything. Forty years of best practices are now outdated. The patterns we relied on, the team structures we built, the processes we followed — all of it needs to be reconsidered.”
Uber blog on Forecasting Models to Improve Driver Availability at Airports. What a read! So many thoughts: how complex the system is (it needs to be, right?), how hard some of these problems are and how easy they would be for a human, how much work went into this, when did they decide it’ll pay off to invest this much effort into optimizing that part of the system, … Real world software, baby.
Take this and send it to everyone you know who’s switching from a large company to a startup: no management needed: anti-patterns in early-stage engineering teams. It’s spot-on and it’s fascinating how hard it is to rethink this stuff from first principles when you’ve only experienced one side of it.
“If all you think about is the tools that are available to you, then today is always a better time to start a company than yesterday, and today will always be worse than tomorrow. The cost of doing something with a computer goes one direction: Down. But what if those costs are falling quickly? What if doing things gets 10 percent cheaper every month? Imagine what you could build if you just wait a year.”
Inside Denmark’s struggle to break up with Silicon Valley. I had no clue that’s a thing, fascinating. Reminded me a lot of LiMux, even though it’s not comparable. But it kinda is.
Bill Kennedy: “I need everyone to start focusing on their engineering skills.” Great list.
Content aside (because I haven’t even read it): this thing has 82m views right now. Is that a lot? Is that not a lot? Are articles a thing? Yes, no? To tie this back to the DHH interview: there’s no playbook right now.
Somehow I’ve come across this clip of Tom Brady talking about becoming a master of the game and I’ve now watched it four times and I think what he says in that one minute and fifty-six seconds is exactly what I wanted to say with this and and this.


