http://scripting.com/2025/11/25.html#a224744
http://scripting.com/2025/11/25.html#a224744RSS 2.0, the antidote to enshitification.
I'm starting to work on my new discourse system. I've been waiting to do this for a while, until all the pieces I needed were there, and they have been for a couple of months. I'll tell you about it as it starts to come into view.
The first thing to know is that all comments are blog posts. You write the comment on a blog that you own. And maybe that will be the only way anyone other than you will ever see it. But you don't have to "go" to the blog to write the comment. You stay right where you are.
A comment is not in any way guaranteed space on the other person's blog. Thus the spam incentive that all other comment systems have is not here. I think that's a huge part of the problem, and it's neatly solved.
And the people I imagine who will be appearing in my space are the kind of people that used to get quoted on my mail pages, in the ancient pre-silo web. Doc Searls is #1 on this list, he was a perfect contributor to the mail pages. He understood the idea before he even heard it. That was how quickly he grok'd this stuff. Same way my mother understood blogging, no one had to explain it to her, she already knew. I think NakedJen will be a fantastic contributor in this mode, and we won't need Facebook to tie us together.
See, I already know the people I want to come to the party and the place I want to party. I just have to get the electricity working, the usual things you need, plumbing, heat, etc.
In the future if you have a comment on this now relatively long post, you'll click on an icon, write your comment, publish it, with almost no overhead. You won't have to "go" anywhere to do that. It'll be right there where you're reading, just like a twitter-like system. But unlike Twitter commenting, our not-so-tiny full-featured text box will let you write, for crying out loud, instead of dealing with a programmer's idea of how you should write. I want all my writing features on my blog, and dammit, when I write a comment too. Why should the comment editor be any different from the regular editor, and why can't all my comments, everywhere, be readable on my blog. See how we're making a web here? It's not hard, you just have to keep factoring. Never stop.
How many different ways do I have to write? One. Just one. But I should have choice, because not everyone loves the same kind of editor. The web is about choice, pretty much everywhere. It doesn't matter what software people use because it's all done with open formats and protocols, every part replaceable. Small pieces loosely joined. In other words we'll be using the web.
Pocket Casts has come up with a new feature called Playlists. I was able to figure out how to use it in a few minutes using their web app. Questions. Is there an open format behind this feature? Can I create a playlist outside of Pocket Casts? Can I use a PC playlist in another app? Pocket Casts comes from Automattic so I would expect the answers to be yes, given how committed they are to the web, and how podcasting is of the web. The most logical open format to use here would be imho RSS 2.0.
I've been using the term of the web, starting in a piece I wrote last Monday. Now it's time to explain more about what it means because I used the term in the context of Pocket Casts in an earlier post.
For a piece of software, being of the web means that it is built to share data with other apps, ones that receive data as input, as a feed reader consumes feeds, or generate output for other apps, e.g. software used to publish feeds. Or competitive apps, that do roughly the same thing another app does, and want to be able to receive the user's data, or better, share the users' data so they can use both apps (we shouldn't settle for less than this, imho).
Of the web means you're signed on to letting users move data wherever it makes sense to them to.
These days people use the term "web" to mean basically something you can view in a web browser. But that does not mean it is of the web. If Bluesky for example were of the web, it would mean you could add a feature to it without rewriting the whole thing.
This fantastic web is what the silos destroyed, starting with Twitter in 2006. They made the software simpler to use because all the feed reader developers were trying to wall off this part of the web for themselves. Going to WordCamp was invigorating for me, because the people I met there were very much of the web as far as I could tell. And they were young enough to not have been part of the initial web, they've never had the experience of plug and play between apps. I want desperately to develop a small web playground for us to explore all the possibilities.
There's a reason the web is called the web. Visualize what it's capable of doing as a web. It's not just a word, it's concept, a very important one.
PS: I looked around the web for illustrations of a spider's web but they're all too orderly too symetric. The point of a web in real life, the kind that spiders make, is they are chaotic and ad hoc. Like the web we make on the internet.
I'm looking for WordPress sites that are set up to cross-post to ActivityPub. My daveverse site is set up that way which means that you can follow it in Mastodon, for example, or any other ActivityPub-enabled site. The great thing about this is if you write in WordPress there is no character limit, and you can use links, styling, titles. So much more writing power. I want to see how other people use it.
This week I had lunch with a developer who had been at WordCamp last month. He apologized for not being at my session, but I waved it off. I didn't go to many sessions myself, too many great discussions in the hallway, out on the patio or in the coffee room.
I remembered this was the rationale for how and why we did BloggerCon in the mid-2000s, to bring the hallway conversations into the meeting rooms.
We did this by using a university, its classrooms, and we put someone in front of the room called a discussion leader.
A good DL should know the topic they're leading and be able to start it off with a provocative intro, 5 or so minutes, and then a microphone, held by a student, is moves to a person with their hand up, and they can speak. Not a question. They have something to say. They are the expert of the moment.
The leader can cut them off and move the mike to the next person. (Works even better if there are two roving mikes.) When this works, it really holds everyone's attention.
This idea came from literally hundreds of hours in boring sessions with a panel of experts and people lined up waiting to speak, in the form of a question of course, and getting nervous and composing a speech in their head, and when its their turn they ramble on and on, so of course the good stuff happens in the hallway.
It is harder to do this kind of conference where the "content" takes care of itself. But the BloggerCon type, when it works is far more dynamic.
BTW, the best discussion leaders are teachers and reporters.
Loving a series I just heard about, This Is Going To Hurt.
I discovered it the usual tedious way, scrolling through newly available shows on one of the streaming services with my iPad handy and when I see one that looks interesting, I look it up on Metacritic. If the rating is below 60, I don't look any further, but this show was rated 91, which is a very high rating. It's a British medical drama, the characters and story are fantastic, you can see that right from the beginning. They do show a lot of surgery details, I wish they didn't, I just can't watch that stuff. But I hold the iPad up to block the screen when it gets hard to watch, and I judge from the dialog when the gore is over.
Another thing I can't stomach are pictures of dog food, esp people eating dog food. If you have a similar phobia, episode 4 of Pluribus, which is as usual great, is hard to watch, but the segment where a character eats dog food is self contained.
There also a commercial for dog food that opens with a chunk of the most disgusting dog food, from a company that makes dog food that looks like human food. They're challenging you with a question, would you eat this shit? Well no! -- and I don't want to look at it either dammit. It's why I don't like the term dogfooding, ie people using their own products. As much as I love dogs, the people who use my software are not dogs, and my software is not dog food.
Also I want to add that I have a vague memory of actually eating dog food when I was a small child with a bunch of equally young friends because we were curious about what it was like. My memory is that it isn't bad. But the memory for me, now as an adult, is nauseating. I like eating human food, even though I'm sure in other contexts it's equally disgusting.
But do watch This Is Going To Hurt. Sorry it's only seven episodes, I would have loved it to continue for another few seasons. I have one more episode left to watch, though it totally could have ended after six episodes.
I'm working today in the internals of FeedLand, specifically the code that determines if an item has changed. When we check a feed, we check each item, if the item already exists, we look at each of the values stored for the item compared with their new values in the feed, and if any have changed, we broadcast the message that the item has changed. I'm doing a complete review of this, based on actual data, and found there were a fair number of places we were calling a change, when nothing that mattered had changed. Now I'm debating whether or not a pubDate change should be seen as an item change. My initial thought when we were working on RSS, was that the pubDate should never change. In the real world of publishing I don't think the publication date changes. Right? Of course some feeds do change the pubDate because that's the art of feeds (sorry for the sarcasm). But I don't think FeedLand should call that a change. Wondering what other feed developers do? So I asked ChatGPT. This is incredibly valuable research. One thing I learned is that people use atom:updated. It's true RSS 2.0 has no item that says when an item updated. Anyway net-net, the consensus is that a change in pubDate is not a change. I don't think I'm going to make it immutable though.
One of the reasons Mastodon doesn't get credit for being "on the web" is that there's been no buzz about the ActivityPub support in WordPress. Ghost has been beating the drum about their ActivityPub support for (many) months. I don't know if they're actually there yet, I've never knowingly seen something from Ghost on Mastodon. I sent an email to Matt this morning suggesting that we promote the incredible connection between WordPress and Mastodon via ActivityPub. In the early days of the blogosphere we had the same problem, there was no good way to see who was writing, so we started a site called weblogs.com, which ping'd each site that we knew about to see if it had changed, if so it went to the top of a list that was published at weblogs.com. So if you wanted to find out what's new you'd just go there. It got more complicated over time, as the blogosphere grew at a very fast clip. We could do that for WordPress sites on ActivityPub by pointing to their site from a weblogs.com-like site. There's no shame in telling the world about the cool new technology you've made, esp when it will make life so much more interesting! But it can't do that if they don't know it's there. Let's do some promotion. :-)
I'm looking into the problems in feedlanddatabase I mentioned yesterday. I bet it'll turn out there are a bunch of issues that have been there for a long time, but don't show up in the user interface of the product. I'm still developing good techniques for debugging Node.js server apps. Recently, I've developed new tools that make these bugs show themselves, like socketdemo. I added some new capabilities to it in the JavaScript console that make the updates visible. If you open the console in the debugger while it's running you'll see what I'm talking about, screen shot. Sometimes to debug a problem that doesn't have a UI you have to give it a UI.
Over the weekend I flipped the switch on a new app that makes my blog available on WordPress. It seems to work really well. The WordPress site is Daveverse. And because it's on WordPress it is also available on ActivityPub, at @scripting@daveverse.org, which means you can read it on Mastodon. It doesn't feel weird at all to be reading a blog post on a social network. I posted on Bluesky that we would love to have the same connection with their social network. It might happen sooner than you think. There are people developing writing tools for ATProto, but they're kind of stuck since Bluesky has all those limits that exclude the writer's web. It's so complicated, but out the other end, I hope will come a consensus that the social web should use more of the text features of the web. Further, the distributed nature of the web itself can form the backbone of distribution for the social web, that is if you think RSS is part of the web. When it's all said and done, we will realize that TBL got it right when he designed text with titles, subheads, styling, links, editing, no character limits, etc. He probably didn't even have to think about it much, considering he was basically replicating the standard document features from word processing apps of the 70s and 80s, without the printing. That's how evolution works, and the last 19 years of distortion by Twitter and those that followed them, will be seen as a weird transcription error (I hope).
Here's a screen shot of what the Daveverse home page looks like. It's got all the stuff from scripting.com. It's not a perfect rendering of my Old School blog, I have more features, but it's pretty good. I'll be testing this out and thinking about it now, as we go forward. But here's the milestone: I have a WordPress place to hook into now that has pretty much everything I write outside the tiny little text boxes. What I write in WordLand or Drummer, the two places I write for real. The rest of it is throw away nonsense, a waste of time. No one reads anything, everyone fighting for attention.
Spoilers follow. Like Doc, I have trouble getting into TV series, but not Pluribus, probably because it came from the showrunner of Breaking Bad and Better Call Saul, two series that I have watched from beginning to end at least three times.
The star of Pluribus, Rhea Seahorn, was my favorite in Better Call Saul, as Kim Wexler. So I expected a continuation of those shows, and in some sense Pluribus is much like them, but the main character Carol, is nothing like Kim -- who is by far the coolest character in any of the shows, and that's saying a lot.
That's okay because the sweetest character yet in a Vince Gilligan comedy (all these shows are comedies btw, even though the plots are super heavy), is Carol's sidekick, Zosia, played by Karolina Wydra. She's basically the voice of the Others, but the illusion is so alluring, one character in the show has already (understandably) fallen in love with her. And we know that Carol has formed an attachment too, despite her best efforts to hate her. ;-)
BTW, this post is the first one that's cross-posted to the daveverse site. There still are some things to fix, but this is a nice piece of software. Basically implements what I've been calling Inbound RSS, not for a social web app, rather for WordPress (which in my mind is becoming more of a social web system every day).
I wrote this as a comment on Doc's blog.
Doc, I’m working on a discourse system that works better than comments, imho. One thing it does is lets me use the full fidelity of the web instead of forcing me to type in yet another Inadequate Text Box (ITB) with none of the features of my blog editor.
I’m working on a Unified Text Theory (UTT) for the web. Instead of scattering Stupid Little Text Boxes (SLTBs) all over creation, let’s come up with a nice text router, that means our writing can be in one place, but through the magic of pointers, can appear to be in many places. (Actually there's nothing magical about it, pointers are very basic computer technology, when I learned to program on a PDP-11 in 1977 it very much had pointers.)
It’s mostly a matter of GOST (an acronym for Getting Our Shit Together).
All this is a preamble to say that my comment on your post can be read here.
https://daveverse.org/2025/11/16/3096/
It’s also on scripting.com.
See how that works. You can’t really tell where it is, but if I make a change to it, somehow the change appears everywhere.
And I’m using my favorite editor to write. Not the dinky one provided by the web browser.
And of course this should be on my blog too. Damn. I’m still doing it.
Interesting thought with a small Pluribus spoiler. We should all think of our AI pseudo-people with as much disdain as Carol has for the "people" who watch over her. They aren't people, in either case. In Pluribus they give you the hint in everything they say. It's not "I think this" it's we. I'd like my chatbot friends to use similar language. Never behave like a person. That should be as forbidden. We'll regret not controlling this, I think.
I have been thinking, for years now, why not reconceive the discourse system on the social web to factor out moderation. It is the web, so anyone can add a feature any time without having to rewrite the whole web. I've been trying ideas out for years, but people preferred silos. Hoping now there are enough people to start a bootstrap. Won't be much of a discourse system if people don't course. 😄
With any luck this will be the last of the tests for this particular feature.
If this continues to work, tomorrow or Monday I'll switch it over to cross-posting to daveverse instead of the throw-away test site.
Below are the debugging messages I used today. Nothing really happening here. ;-)
It's kind of weird for me to be hanging out around WordPress, but I like it. They've been very welcoming. It's kind of like I imagine it would be for Ward Cunningham to be working with Wikipedia. It may not have been everything he wanted from wiki's but it might be the best place for him to develop new features, most likely to have an influence on the way wikis are used in the real world. It's also kind of like it might have been if Doug Engelbart had been willing to hook up with Living Videotext back in the day. I had a couple of dinners with him in Palo Alto where I presented the idea. We had a growing user base of outliner users, our products had commercial success that weren't possible in the 60s and 70s, before there were personal computers like the Apple II or Macintosh. If he could help us, it would be good for both of us, I reasoned. He had his own codebase, and was working with a bunch of other people, and was happy with the setup. In 2025, I have ambitions for WordPress, I think it can play a bigger and different role in the web than it does. I believe there's a new class of developers and users who could benefit from the stability and scaling of WordPress. It's a good community, it's basically the web itself, which means imho that it can grow to be new things to new people. Anyway, you can see why this post has to be on both scripting.com and on my daveverse site as I discussed yesterday.
Here's what I'm doing. I want to get all my blog posts together in one place. I still want to use Electric Drummer to write stuff for scripting.com, there's a whole system built around it being where it is. But, I want all the posts on scripting to also appear on the daveverse site, so that the first version of my discourse module can be simple to create, debug and use. So I've got the first half working, I've got a script that hooks in via WebSockets to FeedLand and is notified every time Scripting News updates. It mirrors the updates to a site on WordPress (for testing) and once it works, I'll have it send the stuff to daveverse. That part remains to be done. Not sure if it'll be a desktop app or a server-based app. But now I need a break. ;-)