http://scripting.com/2026/04/28.html#a152440
http://scripting.com/2026/04/28.html#a152440New version of XML-RPC package for JavaScript. It now handles POST messages that don't have a body.
A question I'd like to put out there. Maybe AI needs the massive data centers now, but they could definitely get more efficient over time. There might be another Moore's Law in there. And the work is going very fast, and maybe they're leaving other optimizations for later. Take a look at how computers themselves have gotten more efficient since when I started in the 1970s. It was a miracle that I could buy a computer to put in my living room in 1979. A couple of years before that I had a 100 pound terminal that I could lug cross-town to show my grandfather. We may end up with a lot of unused data centers and energy generation capacity. But that's how great evolutionary steps work. You go where you're called to go. We are a big Ouija board. This stuff is really important, we're going to remove layers and layers to tech, get to the answer sooner, and more easily, and empower people with much less tech education that we have to do the good parts of what we do, the fun stuff. There's art in the lower-level stuff too, but in tech we like to bury that stuff and forget its even there. That's how we get to build more complex machines that do more. By pushing the repetitive complex stuff into the pipes. If this were parallel to the development that led to smart phones, we're at the point where we have the glass palaces with huge cooling systems, and maybe Fortran has been invented, but it might still be machine code.
This week is being spent, among other things, teaching Claude how to write code that fits in with my library of apps. I like this. It's like a painter telling an assistant the rules for adding to the sculpture. Art has been practiced like that for a long time. Anyway, here's an example of my side of a workflow where we're getting its dialog management code, that works fine, so it fits in with the other code. "these all look good, and the last one is most important, we don't need a blob of html to be there before you run, you create the dom structures you need. this may seem inefficient, but it makes it much easier to add a new element, or even more complex changes. that won't matter much to you, but when a human is editing it matters a lot. simplicity makes work flow better and reduces chance of being detoured by a bug that has to be found and fixed." I didn't edit that at all. I am also teaching it why things work the way they do because of differences between machines and humans. I'm learning a lot about our strength and weakness from seeing how it would work, left to its own needs (ie no human-edited code base, just AI-edited).
I’ve been trying to come up with a simple test that lets you know whether some software is on the web or if it just can be made to appear in a web browser. So here we go.
If you can hook up a piece of the app to the a piece of another app then it’s on the web.
This comes from the basic feature of linking, which is the unique feature of the web.
Every other feature that makes the web the web in my experience allows two things to be part of each other.
Comment here.
What you don't hear about AI is that it doesn't know how human minds work, what our limits are, what we can do that they can't. It has no memory. This was hard to believe, but you have to tell it to keep things in some kind of memory, usually a Markdown file, then tell it to read it from another file. These are things humans just do. I may have to say it two or three times, but you will remember it if you're a normal human.
I know there are places you can leave an instruction to read it when it starts, but sometimes it doesn't do it. It could never, in its current state, figure out how to make a product that people want to use. Nor would a human be able to easily read the code it generates unless you work hard at teaching it how that works, and if you have to do that, you might as well do it yourself.
It never looks for prior art, in some contexts -- but in others, it's encyclopedic about prior art. You might find a function named returnError in one place that takes a string argument, where most of the other instances take an object that contains a string. How do I, as a human, work in an environment like that?
The users who vibe code who think they know how to make code people will want to use are making the same mistake student programmers make, they come out of school only having done student projects, which have very limited objectives. The real world is far more demanding. The real world populated by humans that is. Just some random thoughts as I try to create usable code working with Claude.
Perhaps what's needed is a Developing Better Developers program for pseudo-humans.
I want writing to be as open as podcasting. The pattern is ridiculously easy to apply. If this were on a a high school math test, it would be too easy, everyone would get it right. How do you make text work like podcasting? 1. You look for a brain-dead obvious choice for text. 2. And then attach it to a format that's really good for transmitting packets of text. And then write software that works really well with the obvious choices. The user retains ownership and control of their writing, pays for the storage, and can give access to the apps they want to use. They can also, for a fee, point a domain name to one of the nodes in their storage. This would radically change the economics for independent developers. Now we don't have to resell storage. Products can be developed on our kitchen tables. There is an explosion of interest in developing software. Think it through -- how are they supposed to deploy their apps on the web? We need a BigCo that thinks like an entrepreneurial startup. How many times have I written this screed? Geez I don't like to think about that.
After last night's game I now remember why I was so relieved last season when the Knicks were eliminated in the semifinals of the NBA playoffs. It’s an exhausting sport. And the sad truth is the Knicks are getting beaten by Atlanta. Or maybe it's not so sad, because then, after they are eliminated, I can tune into the playoffs with a detached interest, and save my kvetching for the Mets, and there is plenty to complain about there, LGM.
I almost never question a coach's decisions, because they have complicated jobs -- but -- why didn't they put their top defenders, Mitchell Robinson or KAT on the court with 12 seconds left in the fourth quarter with the Knicks ahead by 1. Instead they put in all these fast small players, as if they were planning on giving up a bucket and then quickly running down the court with what little time remained and scoring a quick one to win the freaking game. At least that's what I imagined they were doing. Why not just hold them right there and run out the clock and win the game?? It all happened so fast. (I asked ChatGPT about this theory and it says I'm wrong, they put in the small players because they can switch more easily, and that's likely how Atlanta was planning to defend their shooter.)
The Knicks were out of timeouts, so they couldn't stop the clock. So I guess kind of predictably, esp the way things were going last night, the Hawk with the Hot Hand, CJ McCollum, gets the ball, dribbles a bit, and nails the shot that wins the game and now the Knicks are down 2-1 in a series they were supposed to win handily.
I didn't and don't buy the idea that the Knicks are destined to appear in the finals this year, when you boast about it, or expect it, god has a way of goofing on you, making sure you don't get it. The Knicks don't have it, because as great as Brunson is, he sucks all the energy out of the rest of the team, and when he's having a bad night, there really isn't an alternative. It's not a good configuration. As in the Melo years, Brunson doesn't make it as the captain, imho.
Melo had the size and talent, but he's sweet labrador retriever type player, the sidekick of the engine of the team, somone like LeBron James, Steph Curry or Giannis Antetokounmpo. Look at how successful Melo was in the Olympics, where he could be #2 to LeBron's #1.
It's not just about skill and hard work, it's about does the team follow you. That isn't something you can learn, you either have it or you don't. And of course I will torture myself in this mode, wondering in vain how my Knicks will fare in this quarter, or that game -- until I get to retire from the NBA for the year, and instead get a big fat bellyache on about the Mets.
Why Firefox? There's a moment now when the web could benefit from leadership. There's a chance to rebuild text in the web around the use of AI systems. But almost every company that could be a leader in this space isn't thinking about what they can do for the web, instead are focused on their corner of it. For a company like Firefox whose product everyone understands is at the center of what the web is, they keep avoiding this obvious role. The assumption I guess is they need revenue and there's no money to be made from selling browser software. But there is a lot of money to be made, imho, recurring revenue, offering services to users that can foster growth of the web, for which Firefox can lead in developing great features in an open way so other browser companies can share from their innovation. That's the Firefox I got to know in the waning days of MSIE when it was plagued by malware and we all needed, desperately, a good alternative. The one written by Blake Ross, Dave Hyatt and Joe Hewitt. We have to step out into entrepreneurial space, and I guarantee you there's money to be made here, recurring revenue and trust by users will be something that will be highly valued. But we all have to do it together, something the tech industry doesn't have in its DNA, and it's high time we got some of that.
I wonder how many people are working on clones of existing software with an eye toward making a much more evolvable and customizable version with AI at the core of the model.
You can make the same software easily, with Claude's help, and if you think about the things users want to customize, you can give them a toolkit for doing exactly what they want in prompts, as opposed to code, plugins, etc.
So you don't vibe-code it, you start with an app that's designed to be beautiful on the inside, easy to understand for a new maestro of software, but something they can evolve with prompts so they can be working on something else intently.
We provide beautiful code for aspiring symphonists to learn from.
I remember when I first got my hands on the Unix source back in 1978. I was blown away by what was possible. I had largely been a Fortran programmer up till then. The pieces don't fit together so well on their own, I learned, you have to move them into place and for that a lot of trying-things-out has to happen.
Why am I thinking about this? I have friends who are not programmers who are pretty close to where I was then, waiting to see how real software is made. And they can have that experience soon. I love where we are now in tech.
BTW, on its own Claude writes some really shitty code. ;-)
If the web were a platform for writers, how would it work?
I gave the new ChatGPT image maker a whirl, it's supposed to be more thoughtful and realistic.
The prompt: “A turkey in plastic with supermarket label with text and fine print. The branding is Really Simple brand Turkey. The motto, ‘turkey for simple people.‘“

I applied to speak at WebCamp Europe but didn't make the cut. I did see that Jonathan Desrosiers is giving a talk about the web, and his pitch is right on. Please go listen to him if you're in Kraków in June. I have been developing software around the ideas of building the web, software that runs on top of WordPress, which imho should be playing a much bigger role in the web. I have a track record here of actually founding new tech ecosystems, but as time goes by people forget how this stuff is made, I think. I'll probably try again with WordCamp US and of course Canada again, I had such a good time there last year.
I'm creating new software in ways I never would have conceived of last year. I see solutions to one of the most significant code management problems we used to have, our inability to remember how our code works, unless the app is very small and they never seem to be. This is why you don't see much inspiration in app updates after a couple of years. Everyone has moved on and no one who remains can figure out how it works. But that has changed now, bigtime.
The next product I develop should be able to continue to evolve much more easily thanks to Claude Code.
"Hey Claude, people want this feature to be optional (or configurable). Here's how that should work."
In a human-based development organization, even if you ran the show, you might wait a very long time and it might never come. With Claude, I can have the new functionality before I know what to do with it.
I called my second company UserLand. The idea was that we'd develop software for users, always be thinking of them, and listening and give them more and more power to shape the way their computers worked. It was what I felt was missing from software in the 80s, a focus on the users creating their own future. So back then we designed the software for them. We were hoping they'd get to implement it too.
Now we're going to try again. 😄
I'm doing a programming project with Claude and it's great, like a puzzle, finding out what works for me and building something I normally wouldn't have time to maintain, but -- Claude has nothing but time for stuff like that. I'm building it to pass off, a common code structure that we both understand and I know how to evolve because I design my code for evolution. And it's going well. But then I realized it's the same Claude I ask general questions of so I tried this. "I would love to pass off wpIdentity to an open source development organization. The ideal would be the WordPress's community. Is there any precedent for this, one community acquiring a new product?" You can try typing that prompt in yourself and see what you get. One thing I learned is that the Apache Foundation was set up for this. And Claude is pretty firm that WordPress is not set up for that.
A few months ago, some guys from Netscape came out with a way to get AI to pay called Really Simple Licensing or RSL.
I was really put off by the way they took the name that everyone knows came from me with no help from anyone. Maybe I could have done something about it, instead I found a way to have some fun.
With Really Simple versions of granola, spaghetti, ketchup, cola, ravioli, baby shampoo and books. And it's time for another one!

BTW, I don't think RSL was a good name. Simplicity is not its main selling point, it's money! It's about making you rich. If I'm not mistaken.
But syndication, in 2002 -- was getting much more complicated than it needed to be. So "Really Simple Syndication" was supposed to be a little funny because it was not like the acronyms that tech usually comes up with.
It didn't pretend to be anything but a syndication format. Complexity is the enemy of good software. You have to work at making something no more than it is. It's a struggle. And you don't add complexity wihtout having a really good reason for doing it.
If I were running WordPress, my first priority would be to get something exciting out that even non-WordPress users would talk about. Then do it again. Ideally it would be something that reporters would like, that they could see themselves using. As you know, my Big Idea is give people choice of editors, for writers. But I just thought of a technical thing they could do and might make no sense, but how about running Claude skills. So anything a Claude app can do a WordPress plugin can do. I just built my first skill, and they can be Node.js apps. That's a pretty broad range of features you can support inside WordPress. Also ask users to tell you what would turn them on. Couldn't hurt, sometimes they have ideas that you as a developer never would think of. I made a few million dollars from an idea a user gave me once. Not kidding.
I've been designing and developing software like WordPress for over thirty years. I have stong opinions about where the product should have gone, but mostly I've not been talking about that, because I don't want to interfere with what Matt is doing.
I've known him since he was a teenager in Silicon Valley, a boy wonder to whom the web has always been there, whereas to people my age, it was a miracle that came along to put down all the dominant BigCo's who made it impossible for individuals to create.
But I've never believed in open source the way Matt does, as I explained last week. I think there needs to be competition in the writer's UI for WordPress, and in all other areas of the user interface. I think that's what it suffers from. There isn't enough diversity. Creativity is crowded into a very small space, plug-ins. Because there's an API that covers the full functionality of product, there's no technical reason it has to be this way. I believe in competition, because it encourages listening. People don't listen to their friends, I've discovered, but people do listen to their competitors.
The community is paralyzed, it can't fix basic problems that have been there forever. Gutenberg was a good idea for a site designer and a not-good approach for writers. But it should always be a choice for writers, if they like Gutenberg. There should be no single recommended editor for WordPress.
Imho, there are ways to navigate this landscape, but it's going to require immediate and radical restructuring.
WordPress is not the last hope of the web and the web is not going to disappear in our lifetimes. Everything is built on it. People who say it's about to disappear are alarmist purveyors of clickbait. You'll still be able to ship apps for the web five and ten years from now. But WordPress is an important part of the web, and I don't mean because it runs a certain percentage of all the sites, which is imho a meaningless stat. It's a uniquely valuable API and an implementation that's debugged and scales and is profitable, and can sustain a large organization supporting it. It's one of those things we could lose, but we'd be much poorer if that happened.
WordPress is unique in the products that came to us from Silicon Valley. It's universally useful and it doesn't lock you in.
If a product like EmDash were to be the successor it claims to be, well there goes all the open stuff, because I don't think they have it in their blood the way Matt and WordPress do.
My conclusion after being a software developer since the early days of Unix and personal computers, and at times being part of the Silicon Valley -- there have to be a variety of UIs for WordPress, where all our work is compatible, regardless of what our tools look like, the approaches for users could be radically different. It's been a monoculture, and imho that's the problem. Break it apart, yet retain the compatibility -- that's the most powerful position possible in tech.
PS: After writing this piece, I looked for early references to Matt on my blog, and came across this piece he wrote in 2006. He totally understood what was going on in RSS land. Here's another Matt post from 2010, which after reading I concluded that he saw WordPress as I saw it and still do, as the rightful heir to the legacy of Twitter. And Matt and team did develop the API he talks about in 2010 as hypothetical, it's there now, ready to lead us out of the darkness.
Today the work with Claude is much better, though when we got started it was even worse than yesterday. The key to getting on track was to figure out why it worked so well in previous projects and fell apart with this one. In each of the others, I passed off an existing project for it to convert or build on. This time we started with something it had created without a "starter." So I took all the random bits we had and organized into the opmlProjectEditor format we had specified back in early March. It's how all my projects since 2013 are organized, so it's a good fit for me, and also for Claude. So now I'm going to pass back a package that's ready to be worked on collaboratively. The other thing is I switched to the Opus 4.6 model from Sonnet 4.6. So I've made it to 11AM and feel like I've already accomplished something today. The problem was yesterday we were spinning our wheels, and that doesn't work for me. I'm a very directed developer. ;-)
BTW one thing you haven't heard, because the press is so self-centered, is that as you get deeper into the AI environment, you get smarter. Not just better informed, that's what the web has been doing for 30+ years. The AI stretches your mind the way PCs did initially. It makes you smarter. Can it help us work better together? Remains to be seen. Perhaps each of us is forming our own multi-billion dollar company, and training the (virtual) people we want working with/for us. There are very few human people who seem interested in collaborating. They all want to blaze their own trail, and if you want to improve their product you have to reproduce the whole freaking thing. The web had a different philosophy, adopted from Unix, not the tech industry. We want to work with others. And we do. And it seems there's an opportunity to cast the entire AI push in the same light, so that the individual developer has the power to make industry standard products. Without the usurpious business models of the Silicon Valley VCs.