Monday, February 2, 2026
I have an array built into every app I do, on server or in the browser, called snarkySlogans. When I need a bit of text to test with I just choose a random snarky slogan. They are little truths that have occurred to me over the years. You're free to steal this code, they do come in handy at times. There's a snarky slogan to cover that -- "Only steal from the best." Another one I really like: "Just because you're offended doesn't mean you're right."#
Sunday, February 1, 2026
Why did we need all those programming languages?#
Imagine building blocks to assemble your own social web app. A toolkit you could plug into your bot. #
I was surprised to find that nirvana.userland.com, a site that was new in 1998, is still running. #
January is archived, as is 2025. On to the future! :-)#
Saturday, January 31, 2026
Next year I have to go to FOSDEM. This year's conference is going on right now in Brussels. If you're there and reading this -- say a hello for me. I realize the piece I wrote yesterday about the future of the social web is equally relevant now for FOSDEM. My prescription: carefully start over with a simple peer-to-peer service and build on that foundation. I would use websockets. You will have to deal with issues of centralization, and at each point decide how much you're willing to trade off ease of use and performance for decentralization. I think you can go pretty far without stripping the gears of users, but there has to be some amount of centralization, identity and storage, being the two biggies. Please read the piece, it's short, bulleted style, highly opinionated, and based on my experience with systems like the ones they're working on. (Who does he think he is? Just a software developer, working hard for a feature-complete web who thinks we've been stuck in a few ruts for a depressingly long time.) #
Added a note to the storage docs page for wpIdentity, explaining that while most files we serve are private, there are examples of files we manage that are public. It had been a while since I reviewed this page. I also see now that we have to have a way to identify the app that created an object, and for that we'll need a way to identify apps. I knew that was coming sooner or later.#
Feb 4 is the midpoint of winter. Almost half-way home. #
Friday, January 30, 2026
Thursday, January 29, 2026
Yesterday I reported that I had remapped pagepark.scripting.com to the github repo for pagepark. But then later in the day it stopped doing that. Why? I have no clue. I moved it to another server and now it works. #
The best description for the web I've ever heard is small pieces loosely joined. That really gets to the essence of it. The pieces stand on their own, up to a point, when they are joined to other pieces. And you can un-join and re-join them. I see a lot of things that say they're part of the web that can't do the arbitrary joining that's central to what the web is.#
The great thing about the OG Web was that you could have an idea one day, have it deployed two days later, with a really ugly table-based UI, and everyone would know about it within a few hours. Then the reviews would come out, and a few hours later we'd know if it stuck or didn't.#
As all our former allies pay homage to Xi in Beijing, I was thinking well at the least the whole world speaks our language, and that'll take a few generations to change, but then I realized I bet the Chinese have been preparing for this, and of course they have.#
You're on the right track when all the questions have answers.#
More important than code is the right place for the code. #
I've learned a new self-management strategy. At the beginning of a day's programming work I set a specific goal that I feel I should be able to accomplish very quickly, in an hour, perhaps -- but probably less. If I get it done by the end of the day I will feel like I really got something done. The feeling it can be done quickly has to do with a lot of factors that you don't take into account so that in your mind it's simple but as you implement it you hit deal-stoppers. It makes you feel bad, if you're into being productive and brilliant as I am. But I know from experience that solving any problem in a day, at the end of the day, is a good feeling. There have been a lot of days when I don't move the needle even the smallest distance, and a fair number of days when I reject what I've been building, and basically move backward by days. We're always grappling with the mythical man-month approach to programming, when reality is very different. #
Zeldman found the Google and HTTP post I wrote many years ago. Thankfully they haven't completely broken HTTP yet. I like to think they can't because so much of the web would break if they did. People might not notice the Not Secure message they post in Chrome for sites that use HTTP (like my blog for example) -- but they would notice sites disappearing. There are so many reasons not to deprecate HTTP but the most important, no one owns it -- which is why the web is such a safe place to build. Google does not have the right to break the web. But they figure no one will object because users don't care about the web. But they do, they just don't understand that their online freedom comes from the web, like our freedom in America comes from the Constitution. Once it's gone (something we're finding out about now) we'll know why we should have cared. I've been appealing to historians to care about the history of technology, but they don't listen. Somehow they must think that tech will always remain exactly as useful as it is now. That it has never been free of platforms (it has) and the platform vendors will never cross the lines they imagine but don't actually exist? Well they can and they do, but since the historians don't study the history of tech, they don't know about it, and they don't listen to those who do. We have to build our own systems, our own news flows because the ones we depend on are owned by people who are not our friends, are not trustworthy.#
Wednesday, January 28, 2026
"There is no advantage that I can discern for creating a new format that only works in Bluesky." I put that at the end of a post the other day and as they say in journalism, he buried the lede. "Only works in" means silo. And it always results in stagnation because big organizations suck at shipping new ideas. For that you need a lot of people with laptops and a net connection and lot sof spare time to be able to replace small pieces, and join them up to the network, try out new ideas. When you're in a silo the owners place severe limits on what you can do. If you think you found a benevolent one, the exception -- there is no such thing. You're waiting for a "some day" that will never come.#
An idea I read in this blog post is one I hadn't considered, is super important. AI is going to be part of programming forever. There's no way to go back. This has made StackExchange obsolete, because it basically aggregates everything that was there, and it was worth it because you can find things you never could find before, and it takes no time to search because it isn't really searching, it's gathered the knowledge and gives it back to you exactly as you asked for it. And when I write a piece of software using ChatGPT it presumably learns everything I learned, so it gets better and better, just like StackExchange used to, but (and here's the punchline) the knowledge is owned by a few companies, with no obligation to share what they learned. Very different from the old method, though I'm sure StackExchange wasn't obligated to share everything, the users would have found out immediately and they would have quick competition that were so obligated. (So StackExchange would change.) We get so mired in the question of should we do this -- well we're doing it, time to start looking at the next set of questions. #
DNS fix: pagepark.scripting.com now redirects to the GitHub repo for PagePark. Somehow I lost the pagepark.io domain, but I don't really want it, so it's kind of ok. But there are some broken links. I recall there was a nice site with menus and stuff that was built from the GitHub repo but archive.org isn't able to find it for some reason. Moral of the story, don't buy so many domain names thinking you're really clever. But of course I still do. Someday they'll all be gone, of course. Will they have a ceremony for the last domain to be turned off, kind of like the last Blockbuster was. Does anyone remember Blockbuster. #
Tuesday, January 27, 2026
Toby Ziegler: "They'll like us when we win."#
I was looking at some of the first posts in in 1998 in discuss.userland.com and came across this post that talked about my decision to stop doing the Mail Pages, now that we had the discussion group.#
A lot of online discourse is us vs them. If you find yourself doing that, that's a sure sign that you're not working on the web. #
Jim Ray responded to my Saturday post about AT Proto. First, I've done more than kick around with ATP for the few years, I have written apps, some of which are still deployed. But I would rather continue to develop on RSS because it's not a silo, it's part of the web and imho that's where we should all be meeting. Planting seeds inside a big company's silo is not safe. If they want to shut you down, you will be shut down. They have all the power. And as long as they don't support the data format you use because of its severe limitations, you won't be able to publish on Bluesky. Imho you have no advantage using it over the web, which already does everything you need to do your own Bluesky, with none of the missing features. As long as Leaflet docs can only be read on the web, you might as well just use the standards of the web instead of betting on Bluesky's reinventions and good intentions. My opinion. And thanks for engaging in discourse, please encourage others in your community to do it too. I get my best ideas from listening to others. That's why I watch what's going on there. #
Interesting thread between Jake and Ted Howard about Frontier. #
Monday, January 26, 2026
Sunday, January 25, 2026
They should host games on ChatGPT.#
They couldn't have chosen a more ideal liberal state to own. I don't think any of this is an accident. Next time they will kill two, American citizens of course. And we'll protest. And then 25. It's starting to sink in that this is not just a bad dream and it's not going to end. (I was wrong, according to ChatGPT, Minnesota is only the 17th most liberal state.) We're always looking backward, that's a mistake. Accept where we are right now, and be able to visualize what comes next if we give up.#
Michelle Obama was wrong when she said "when they go low we go high." Sometimes the truth is pretty damn low.#
Saturday, January 24, 2026
A new home page for the Scripting News podcast. #
I've been following Bluesky since inception, even tried developing for it and found it was nothing new with its 300 character limit, no links, titles, etc. Basically you can build the same apps for Bluesky that we were able to develop for Twitter. I've also been following Leaflet, an attractive writing tool that works on AT Proto, the format that Bluesky is promoting, basically a reinvention of the web but inside a silo, which means -- perhaps confusingly, that Leaflet uses the same basic format that Bluesky uses, but Bluesky can't do anything with Leaflet posts, because of the limits that Leaflet doesn't have. So -- they formed an alliance with two other products that are writing tools for AT Proto, and came up with a format that they will all implement called standard.site (nice name and very attractive site). They probably hope that Bluesky itself will use that format, at least to let people read their documents in the same place they display the more limited Bluesky posts, in user timelines. If that happens it may be a good thing for the web, if services outside of Bluesky can post these documents from outside. But it would be imho more powerful if they created a format based on something like RSS, which is already well-known to developers, and would mean something outside of Bluesky and probably would be taken more seriously by the Bluesky people. There is no advantage that I can discern for creating a new format that only works in Bluesky. #
My first rule of platforms: "People don't listen to their friends, they listen to their competitors." I thought that rule was pretty new, but it actually appears in a 1996 blog post.#
Friday, January 23, 2026
Just watched Darkest Hour, a biopic of Winston Churchill, as he became prime minister and had to decide whether to surrender or fight Mr Hitler as they called him. I had seen it of course when it came out, but it's especially appropriate to our times. I'm glad the NATO's are resisting the US. We have to work together to keep democracy alive, not just in our own countries, but around the world. If ever there was a time when working together mattered more than it does today, I sure can't think of it. And that all of this revolves around the technology we played a part in creating, that makes it all feel so much more real.#
AI assistants could if they wanted drive all of us crazy in different ways. Advertising squared. #
Thursday, January 22, 2026
Something ChatGPT is good at. Give it a photo of the Statue of Liberty and ask it to remove the cement platform and change the background to pure white, then make the background transparent, reduce it in size, and paste it into the right margin of a blog post. #
Wouldn't it be something if the leaders of European democracies said if democracy and self-government around the world are to have any hope the American government has to stop attacking their own citizens. We see where this is headed, they might say, and there will be no coming back from this for the US, if they turn the country, which still is the leader of the free world, into a police state. What if the European leaders said out loud and in public the things the Republicans and most of the Democrats refuse to say. The inverse of what JD Lance says about their governments and their people. #
I hear Canada will be importing EV's from China. Now I'm going to have EV-envy a few hours drive away from home. They make better cars in China, I hear -- than we do in the good old USA. Too bad, it didn't have to be that way. And isn't it tragic that China is less politically toxic than the American citizen who made the car I drive now. #
Apple's 1984 ad, with the benefit of hindsight, said "a new generation is going to take over now so get ready." We live very much in those times again. Now every time I use ChatGPT to do something that I never would have been able to do before I realize wow we just did "that" again. The same feeling I got when I first saw the 128K Mac at the Apple office on Bandley Drive in 1983, about the same time as Apple people saw the ad at their sales meeting in Hawaii in October. The Mac had an exciting but rough start, but by the turn of the century it was obvious that something completely different had happened. #
Happy to say the Knicks won last night in convincing 2026 mode after I doubted them in Tuesday's post (perhaps they read my blog?). And after I asked if Greenland was the Sudetenland of our time, Trump did his famous TACO thing and said hey I was just kidding, so we don't have to ask if Canada will be this generation's Austria, or Poland? Now I have to say the Knicks beat the Nets, often referred to as the Knicks' "cross-town rivals" by sports announcers who know nothing about New York sports. The same team Kevin Durant said was the new cool NBA team from NYC (it wasn't and isn't and it turns out no one cared what KD said, certainly not basketball fans from the city). #
Wednesday, January 21, 2026
Isn't Greenland the Sudetenland of our time?#
Tuesday, January 20, 2026
Monday, January 19, 2026
Screen shot: Twitter did what I have been begging all the others to do. Get rid of the character limit and allow for simple styling, links, optional titles, the ability to edit, basically the writing functions of the world wide web. You can also put a nice Medium-like picture at the top. Twitter was started in 2006 which according to my records is approximately twenty freaking years ago! I mean geez how long does it take? #
I'm always happy to see NakedJen in my blogroll. Screen shot. #
I got a text from Matt recommending Claude Code, saying it's as new as ChatGPT was when it came out. #
I'd like to see a social network that had an AI filter that only showed comments that were responsive to the question raised by the post they're responding to. BTW we need some technical terminology for socializing online. When I reply to a post, what do we call the post I'm replying to? Remember there's a human quality to this too, you're not just talking about something on a computer, but an actual person. #
I took a couple of falls on ice the other day, during one of the many snowstorms we've had, and both times my watch, after a polite pause, shook my wrist, asking if I just took a fall and should it call in an emergency? if you don't do anything it makes the call. In that sense, your watch could beep when someone is gaslighting the other person. If it was you gaslighting them you'd see your avatar on the screen. Of it's them, you can show it to them. #
Sunday, January 18, 2026
I've been trying to stay out of politics here lately (did you notice), but I don't get how Americans, no matter who they voted for, can watch what's happening in Minneapolis and not feel like we have to protect the people there from the thugs who are attacking them. And of course that's exactly how we're supposed to feel. I watched a video of a woman, a disabled army veteran, being dragged from her car by the ICEs, and hearing cop car sirens in the background, imagining, hoping -- they were coming to stop the attack. We never did find out. How can you stand for this if you're an American. Forget about Democrats or Republicans, what about you? Where did you learn to ignore the feelings you must have when you see people, fellow human beings, attacked with such cruelty? Snap out of it, if you have any empathy left, or any love for our country. Tell your representatives to step in and stop this, and no excuses, Democrat or Republican, I don't care.#
Why now? Because there are probably still enough in the military who believe in the rule of law and will obey an act of Congress. #
Saturday, January 17, 2026
A brief podcast with the fascinating story of how XML-RPC came together in 1998. #
Friday, January 16, 2026
Last night's email didn't go out at the appointed hour, and I didn't get a chance to look until early evening. So last night's mail went out at about 6PM Eastern. Hopefully today's email will go out at roughly midnight tonight. Sorry for the inconvenience. Still diggin! #
Is there any circumstance where "Sorry for the inconvenience" isn't the wrong thing to say? Maybe I didn't even notice, or if I did, maybe I didn't care. And what if the results were more than inconvenient? What if someone died! Sorry for the inconvenience. I'll say. I like still diggin the best. It says yes we suck, and we know it, but we're trying to suck less. #
If you don't have one of these Keurig things, you're really missing out. #
Thursday, January 15, 2026
I've been watching Jake Savin for the last couple of months using Claude.ai and ChatGPT to create a headless version of Frontier that will run on Linux and current versions of MacOS. Jake worked at UserLand, but never at the kernel level, which is exactly where he and his (virtual) AI buddies are working. He knew Frontier well, he was a developer at MacWorld, where they used it as the CMS to manage their website. Then he came to work at UserLand where he worked on the CMS itself, and over time became a full contributor to the work we were doing in RSS, XML-RPC, feed reading and podcasting. He's a musician too and the nicest guy to work with. He just got the REPL for Frontier running. I'm so proud of his accomplishments, and totally looking forward using the new Frontier for server programming, which is all Linux for me these days. And I also look forward to having Manila and Radio UserLand running on modern hardware, esp so I can demo these apps for my friends in the WordPress community. There's a lot of stuff happening here these days, glad to say I'm working with some incredible people and totally excited about what comes next.#
Wednesday, January 14, 2026
Demo: rssCloud makes feeds as fast as the internet. #
It's always been difficult to compete with a platform vendor, that's why the web works so well -- it doesn't have one. The web was like the Declaration of Independence, but like a democracy it takes care and a bit of sacrifice to keep it going. It's always been possible to rebuild the web, to take back our freedom to create new webs out of the web that TBL discovered. It just takes determination and dedication to working together, a higher cause than piling up billions of dollars that the billionaires have absolutely no idea what to do with. I think the world order based on democracy depends on us digging out of the hole we're in, in the technology. Think about it.#
BTW, I haven't posted a screen shot of where I write Scripting News in quite some time. Nothing has changed, but a whole other writing enviroment, targeted at WordPress instead of Old School, and it has a different feature set, look and feel. #
Tuesday, January 13, 2026
I had a fantastic meeting today with Jonathan Desrosiers. I gave him a tour of all the software that makes up WordLand and FeedLand. It was the first time I had done that with anyone from the WordPress community. It started off with a simple story about how I knew I was on the right track when Matt announced they were porting Tumblr to run on top of WordPress as an OS. Which is exactly what I'm doing with my collection of software. Every bit of writing should be a WordPress post, and they should be linked together in arbitrary graphs. It was nice to review that with a serious developer, Jonathan is one of the core committers of the open source WordPress. It helped me see all the different things we can do, and now hope we will do. I feel I understand this community, as a time-traveler from the past I think I understand what we should do next. #
Monday, January 12, 2026
Sunday, January 11, 2026
Textcasting: Applying the philosophy of podcasting to text.#
If I were making a Bluesky client, I would get together with the other independent developers who are creating those clients and agree on adding features that Bluesky itself doesn’t support and be compatible with each other. Comment here.#
BTW, look at all the links in my writing. Shouldn't every platform that says they're part of the web let users add links to their writing? Of course they should. #
If you run a FeedLand instance, we have a new recommended index for your database. It's also part of all new installs. The code will still work without the index, but it might make it a lot faster. #
I just posted something new on Scripting News, and thought -- that should appear on the new WordLand I'm working on, even though it's not a WordPress site. It did appear. Screen shot. The beauty of RSS. It's supported everywhere, so we might as well depend on that. #
I had to do some work with Concord today, the open source JavaScript outliner Kyle Shank wrote for me in 2013. I used ChatGPT to help. It knew all about Concord. Amazing. If only through ChatGPT etc, my work will survive. That means a lot to me. I take the opposite view that some artists take. I like that it's learning about what we did with our lives. Bob Weir died yesterday. That didn't go unnoticed here. #
I wonder sometimes if we’re the last generation of humanoids on this planet for a variety of reasons. The future imagined by The Matrix is looking more likely than ever. #
Saturday, January 10, 2026
Bob Weir is gone. #
Today's song: Playing in the Band. #
What’s happening with ICE is like January 6 four years later with billions of dollars behind it and many months of planning and studying history for prior art.#
As I listened to the mayor of Minneapolis speak I thought he was going say "get the fuck out of Minneapolis" but of course he couldn't say that and then he said it.#
I'm doing little demos of stuff I'm working on in WordLand, here's a narrated demo that shows how instant updates are going. As often the recording level is too low, so turn up the volume if you want to hear the comments. A productive Saturday session. #
John Johnston, a longtime friend of UserLand and my newer products, asks how WordLand connects with FeedLand. Two ways. 1. FeedLand has an API, still working on it, but it will be public. 2. FeedLand has an outbound websockets interface, which is already public, so any can use it as their feed reader, and get notice of new items and updates to existing items as soon as FeedLand has the info. And if the site uses rssCloud, as WordPress does and has since 2009, the notices are instantaneous. So to the extent people thought RSS is a slow protocol, it's not. It runs at the speed of the internet. And FeedLand is all about RSS, as you know. #
Friday, January 9, 2026
I get ideas when I go for a walk or drive somewhere in my car. This was one of those times, but it was not a comforting idea. I live in the mountains on the west side of the Hudson River near Kingston. On my drive to town yesterday I went through the small town of Woodstock, and I was thinking about how ICE is occupying Minneapolis, and wondered why wasn't I more concerned about it personally. The answer -- it's far away from here, and Woodstock, while it is a famous place, is on absolutely no one's radar. But then I remembered the astounding amount of money we allocated for ICE, far more than could be used for border enforcement, so obviously this all is a prelude for an American secret police and here's where the disquieting idea came up. Of course ICE will operate in every city and town in the US no matter how remote or small. But first they have to perfect their act, this is a form of training to teach the skinheads of America how to be part of an SS. Experiment first in a few cities before deploying, gradually, everywhere. We're all going to have to submit to loyalty oaths, and we will all be forced to denounce our neighbors as illustrated in Lives of Others, which if you haven't watched it yet, now is the time when you have to, to get an idea what it was like in East Germany before the wall came down, and where we're headed. It still may not be too late yet, but it's getting close. #
Trump is president the same way people who do vibe coding are developers. I always thought he'd be much happier playing president on TV instead of actually being president. And people would think about this stuff more rationally if it were a TV show like Pluribus or Severance. Why did they really do what they did? Or the way we talk about the Mets or the Knicks and their various foibles. It's funny people have a clarity about fictional stuff that they don't have for real-world things like war, health insurance, the cost of eggs and gestapo tactics. #
A little fix that would make social web a lot more useful and less hate-filled and abusive... Make replies visible only to the person being replied to. If they feel the reply should be public, they can RT it.#
Thursday, January 8, 2026