http://scripting.com/2025/01/09.html#a144327 http://scripting.com/2025/01/09.html#a144327
If you read this blog, I hope you'll take the time to listen to yesterday's podcast. It's all about WordPress, a product that you won't read much about on this blog, going back through the archive. I wasn't paying attention until 2023 when I began to see what an amazing product it is, not just for 2004 when it came out, but in 2024. My theory is that it's the basis for an incredible social web platform, much better than Threads, Mastodon, Bluesky and of course Twitter. That's what I'm talking about for 1/2 hour in this podcast. If you give me that much time, I'll change the way you see the world, or at least the way you see me. I think I'm right about this, with another layer on top of the WordPress foundation, it becomes newly relevant, and very timely, in ways that as far as I know, no one has been pushing it. I think for example that Ghost and Substack should be built on top of WordPress. The fact that they aren't gives a clue as to how portable your work is there, and how little choice you get in writing tools. Anyway, please make the time to listen. This is pivotal, and I don't think I'll ever be able to spell it out in writing, it's pure storytelling. Thanks!
http://scripting.com/2025/01/09.html#a150703 http://scripting.com/2025/01/09.html#a150703
I started a thread for questions and comments re the podcast.
Dear president Biden http://scripting.com/2025/01/09/140817.html?title=dearPresidentBiden

We demand that the Department of Justice to release all the special counsel reports behind the indictments of former president Trump.

Now, before the next government gets to do what Barr did to the Mueller Report, or worse?

We have a right to see what led to the indictments.

Now is the time to speak up, for once, it really matters.

Let's make the earth shake for the Biden and Garland.

It's time for one last chance to not be a scared Democrat.

Speaking up is often a pointless exercise on the net, but this is one of those times when it could really make a difference.

http://scripting.com/2025/01/08.html#a182400 http://scripting.com/2025/01/08.html#a182400
Podcast: How I view WordPress.
http://scripting.com/2025/01/08.html#a224625 http://scripting.com/2025/01/08.html#a224625
Started a new support repo for Bingeworthy.
http://scripting.com/2025/01/08.html#a170550 http://scripting.com/2025/01/08.html#a170550
Just found an exponential memory leak at the database level in Bingeworthy. I have never seen one of these in all my years of programming. A data structure that saves a copy of itself in itself. So every time it saved it became exponentially bigger. Until it made the SQL server crash because the JSON object it was storying was over the limit of JSON objects. Crashed the freaking server. Fixed. Feels good.
http://scripting.com/2025/01/08.html#a160203 http://scripting.com/2025/01/08.html#a160203
As part of the conversion of BingeWorthy, I started the database from scratch, but before I did that, I exported all the data and put it in a GitHub repo. This included a JSON file of ratings for each user. For example, this is my file. Remember we used Twitter identity then, davewiner is my Twitter username, just replace my name with yours to see your file, if you were a Bingeworthy user in the past.
http://scripting.com/2025/01/08.html#a150826 http://scripting.com/2025/01/08.html#a150826
I wrote this post in 2023 as Threads was coming online. Now that Zuckerberg has thrown us under the bus, again, it's worth remembering their rollout strategy was to get us to overlook their past betrayals of users. They said "We ❤️ Fediverse." That did it. It was at a moment of fear of Twitter, now owned by Musk, and a belief in the story of ActivityPub, that it would create an open social web. Zuck said "we're on board." Now it's expedient to say to another group that he sees things their way, and it just so happens to be the very people most people who were looking to get away from in 2023 when he was loving the Fediverse. Now we're doing the same thing with Bluesky. And it's going to happen again. There will be a moment when you look back on your "hope for the best" approach and realize that it didn't work, and if I'm around I will remind you again. We have to roll up our sleeves and make an open social web that can't be sold out. When you build value for other people, they will use it for their advantage, leaving you with nothing. That's business. There are no companies that are different, not Apple, not anyone. More in a thread on Bluesky.
http://scripting.com/2025/01/08.html#a145047 http://scripting.com/2025/01/08.html#a145047
2023: "If they really want to prove their love for the open web, if they aren't just trying to lull us to sleep while they steal yet another market from the open web, they should do something that helps the web more than it helps them."
http://scripting.com/2025/01/08.html#a144823 http://scripting.com/2025/01/08.html#a144823
Liberals should support truly open technology that doesn't have a Zuckerberg who can sell us all out. Get involved.
http://scripting.com/2025/01/07.html#a143741 http://scripting.com/2025/01/07.html#a143741
Has anyone come up with a variant of JSON that allows comments? I've started using names like "comment1" etc to shoehorn comments in. A complete hack, impossible to maintain over time. The idea of not being able to put notes in your config.json files is absolutely ridiculous.
http://scripting.com/2025/01/07.html#a165102 http://scripting.com/2025/01/07.html#a165102
I wish the Ecmascript committee had put more effort into real soul-saving enhancements like comments in JSON instead of coming up with contorted ways to do the same old contortions we got used to dealing with ten years ago. And they could have removed features from the language instead of piling on more and more random reinventions. End of editorial, now on with the new Bingeworthy.
The new Bingeworthy http://scripting.com/2025/01/07/162200.html?title=theNewBingeworthy

Last night while watching a basketball game, checking my iPad, and all of a sudden new items started appearing in the RSS feed for the new Bingeworthy.

I thought oh geez there's some kind of bug, last thing I need now, but quickly realized someone was using it and it was working.

There were some final mostly cosmetic things I wanted to deal with first, and I wanted to fix up the docs, such as they are, but I am spread too thin, and had been putting it off. But here was a reminder, I put all that effort to rebuilding it after the TwitterPocalypse. BingeWorthy is the app I missed the most that hadn't been ported off Twitter identity. So I did the deed, flipped the switch and now you can use it too.

Here's what you're getting.

  • I started fresh, with no programs, no users and no ratings. Then I imported the programs that I had rated, and my ratings for them.
  • The most important features are there, although they don't necessarily look that great. I want to do some more work there.
  • The predictive stuff, users most like you and recommendations, have not been ported, because there are only two users, and we recommend both of them to you. And all the programs I liked a lot are great, if you haven't watched them, you should, right now, stop everything.
  • If you have any questions or problems, I've started a thread.

It uses WordPress for identity. I like this because it's the same identity service I'm using for WordLand, of course, and this makes it possible to use WordLand to write reviews of shows you like or don't like for BingeWorthy. It doesn't mean anyone has to read them. And I have ideas for how to use OpenAI to generate some interesting stuff from collections of reviews. All of this is just in my head, not even started to be implemented. But the idea of compatibility between the two creates some interesting possibilities, and I love those kinds of integrations, a lot like what we were doing in Frontier on the Mac in the 90s.

BTW, of course I had ChatGPT do a logo. There's a slight typo, but rather than fix it, I left it there as something for attentive fans to find.

The all-new logo for Bingeworthy, via ChatGPT of course. 😄

http://scripting.com/2025/01/06.html#a151759 http://scripting.com/2025/01/06.html#a151759
The great thing about using a system like MySQL (or any SQL for that matter) is that it's been around for so long that if you can think of something that would be nice to have, you can be sure it's there somewhere. They've had enough time not only to hit all the walls, but to try out different approaches and settle on one. Maybe at times there were competing ways to do things, like the way Bluesky and ActivityPub, and probably Threads, and certainly Facebook and Twitter insist on reinventing RSS. But when I ask ChatGPT "can you do this in MySQL" it gives me one or two ways to do it, but usually just one. These are things I never would have found in the old Google-search way of finding answers. An example, I wanted to find out if there was a MySQL way to query a value inside a JSON object, and the answer is (of course) yes. And you can create an index on such a value. I didn't even ask for it, ChatGPT volunteered, guessing it would be my next question (it was). Whatever happened in the evolution of SQL it was a lot healthier than what's going on now in the social web, where the creators completely ignored what came before, and each other, and as a result there's a proliferation of different ways to do things we've known how to do for over 20 years. SQL has been around for 50, so maybe they went through this stage and emerged from it with a better answer. This feels a bit like the Fermi paradox and I'm a time traveler who has managed to witness 50 years of evolution long after the fact, any day of any week I want to thanks to ChatGPT. Also this is why it is so important to keep the archives of the 1990's web preserved. We may need to loop back to this when the people responsible for the social web decide that interop is important as opposed to each of them going it alone.
http://scripting.com/2025/01/06.html#a145712 http://scripting.com/2025/01/06.html#a145712
How I'd write books with WordLand. Just thinking out loud here. Working with a group of people. It's possible it's just the author and editor, or it could be a larger documentation job, or a report covering a lot of ground. In 2025 we'd use AI to find the threads in our writing, to maintain a book outline that changes as our writing goes forward. Gone is the problem of writing a chapter structure before doing any writing. I've always found that to be a real obstacle to getting started. I've yet to use a ChatGPT-like service to do this, but I expect it can be done. I'm thinking about how I can set up an experiment for WordLand for writing this kind of book. The first test case could be the docs for WordLand. I would write a post about a feature as I thought about it, but not worry about how it fits into the rest of the book. Trust the AI organizer to help us do something sensible.
http://scripting.com/2025/01/06.html#a023112 http://scripting.com/2025/01/06.html#a023112
I want to make a social network for writers.
http://scripting.com/2025/01/05.html#a182533 http://scripting.com/2025/01/05.html#a182533
Update: Bluesky images work again and thus the Great Art on Bluesky channel is back. If you're on Bluesky please subscribe.
http://scripting.com/2025/01/05.html#a152829 http://scripting.com/2025/01/05.html#a152829
The crazy thing about Bluesky's API is they took already standardized things like links and enclosures, and after 20+ years came up with new definitions. Makes our apps more expensive to maintain, and we waste time and human wear and tear on stupid bullshit make-work. Developers are people, and our work is already horribly overly complex, we're working at the edge of comprehension, and what the fukc let's throw some more unnecessary complication into the mix. Arrogance, narcissism, whatever the source is, it's not a good way to introduce yourself. And, even better, after you go through the maze they break it, with an error message about legacy blob bullshit. They've already done this, and they're just getting started. It's why I say they should just adapt to RSS instead of trying to force us to adapt to them. I'll do it one more time, and then that's it. They can fix my code next time they break it.
http://scripting.com/2025/01/05.html#a154658 http://scripting.com/2025/01/05.html#a154658
BTW, in defense of Matt Mullenweg and the culture of the developer community he built over the last 20 years, for better or worse, they don't do what Bluesky did. They look for prior art and implement it and they don't deprecate. They're still running the APIs we invented for blogging before WordPress even existed. The philosophy is "Let's not argue about decisions made a long time ago, because we want interop." People have all kinds of harsh things to say about their leadership, but unless you're a developer you don't understand that the reason it works is that they have a different code for their code, the only way we get interop is by not re-inventing. There are two competing ways to do things in tech. The blogging world has been taken over by the re-inventors, like the Bluesky people. They make a nice product, but honestly they don't reallllly want us to work with them, or we wouldn't be having this friction. Their API is bullshit. Plain and simple. They even thought of using RSS constructs and decided to reinvent the whole thing. There are places to innovate, like new freedom for users and developers, or there are ways to create hamster cages where everyone gets to run around in a very tightly defined space, that's fun. That's what Twitter was about, and that's what Bluesky is doing too. At some point we're really going to break free of this mess, but this isn't that time, yet.
http://scripting.com/2025/01/04.html#a223632 http://scripting.com/2025/01/04.html#a223632
Just taking it easy. Thinking about stuff. Will resume blogging soon. 😄
http://scripting.com/2025/01/04.html#a223717 http://scripting.com/2025/01/04.html#a223717
BTW, as promised, last night's Knicks game was great. Up until the end, when the other guys took over and sadly the Knicks lost. We need a stronger bench. The starting five are great but they're not totally super-human.
http://scripting.com/2025/01/03.html#a010024 http://scripting.com/2025/01/03.html#a010024
Knicks on Friday night: A big offline day here in the mountains, the show will resume tomorrow bright and early, Murphy-willing. Enjoy tonight's Knicks game in OKC. Should be a great game. 😄
Gambling, sports, kids http://scripting.com/2025/01/03/014548.html?title=gamblingSportsKids

Krugman writes about social media is poisoning children's minds.

I like that Krugman has resumed his blogging.

This means that sometimes I agree or disagree, or have mixed opinions, but I always learn something. That's what makes a blogger good imho.

I don't know if I agree that children's minds are being poisoned. But I am pretty sure when people like Krugman and myself reach a certain age, and we are the same age, we start looking at new media that way. Maybe our minds are poisoned. My father called television the "idiot box." But it eventually became the literature of my generation, often very good. But maybe laws can help.

One thing I am sure of is that sports is being ruined by gambling. I can't imagine that a parent in 2025 would let their kids watch the NBA on TV, because it makes gambling appear to be a normal part of being a fan. Yet the NBA, which has a reputation of being socially forward-thinking, has swallowed the pill, and gambling is an integral part of coverage of the NBA now.

Same with the NFL, MLB and tennis.

And is this why they can now afford to sign players to $765 million contracts?

They're all getting hugely rich, but I believe that they are certainly doing great harm to the new sports fans growing up now.

I am a no apologist for being a sports fan. I love the Mets and the Knicks, have flirted with the Niners, and have a place in my heart for the Cubs and Red Sox, and I know that gambling spoils what's fun about sports, can turn it into an awful addiction. I manage to be a fan without ever having bet on a game, even just a bet between friends. I don't see it as part of sports. It wasn't the way my family enjoyed sports.

I was a math major and a 50+ year programmer, and I know that if you gamble enough you lose all your money. And as an addiction no gambler ever gets up from the table to enjoy their winnings when they win.

PS: I wrote this post in WordLand on New Years Day, saving it for a good moment on Scripting.

Little Feed Reader on Bluesky http://scripting.com/2025/01/02/143149.html?title=littleFeedReaderOnBluesky

My little feed reader on Bluesky is ready for you to follow.

Technically, this is how the pieces fit together.

  1. I'm using the OPML file for my blogroll category on feedland.social to determine what's posted on Bluesky. When I add or remove feeds from the category, the OPML adjusts dynamically.
  2. I'm running a new Node app that has a websocket connection to feedland.social. It receives all the new items as they are found from all feeds over the socket. It's feedland.social's firehose. Since I'm currently the only user of that server, it's getting news from the all feeds I follow, not just the ones in the blogroll category.
  3. The Node app checks each new item to see if it's in one of the feeds in the OPML list. If so, it reformats it to fit in a Bluesky post and sends it to the feediverse account.
  4. If you're subscribed you should see the item, with a link, in your Bluesky timeline.

Notes.

  1. The Node app re-loads the OPML subscription list every minute so any change is quickly reflected.
  2. It's the same blogroll you see on my blog's home page.
  3. The biggest problem in getting this running was rate-limiting. I have dealt with this on Twitter and other services, but Bluesky was not, for a while, letting anything through with the error message that we were over the limit. It was suggested that we should cache the accessToken rather get a new one for every message. I did that and cautiously turned the server on again at first with a 5 message per hour self-imposed limit, then gradually increased it to 10 per hour. The latest version only requires that there be at least five minutes between posts, so that means no more than 12 per hour.
  4. Thanks to Mark Cuban for the initial idea and his support. He saw a river of news from FeedLand and asked if it could work in Bluesky. That was the idea. I have always wanted a tight coupling between Bluesky and RSS but didn't know how to do it. We may have just skipped a step.
  5. We realllly could use some more formating features in Bluesky messages. This is a really strong use-case imho for the textcasting idea.
  6. The coolest thing from my point of view is that I already had all the pieces, fully developed, the only thing that remained was to hook them together.
  7. Finally, there's a this.how page for Little Feed Reader. It's purposely brief, but I have put a link to this post on that page.
http://scripting.com/2025/01/01.html#a155912 http://scripting.com/2025/01/01.html#a155912
I wrote a few blog posts in WordLand this morning because it was convenient. It's good the same way I like to use a twitter-like app to write first drafts, when all I have to type into is my iPad. I've also started using it on my desktop for short things, but I just wrote and edited a complete blog post, a response to something Krugman wrote, about how gambling is destroying sports. And what for? It's like what Marge said at the end of Fargo. "There's more to life than a little money, you know." It feels like they're feeding the NBA into a wood chipper. What comes out the other side won't imho be recognizable as sport. And here you are, and it's a beautiful day.
http://scripting.com/2025/01/01.html#a155520 http://scripting.com/2025/01/01.html#a155520
Welcome to a brand new year. The best one ever. 😄
http://scripting.com/2025/01/01.html#a155554 http://scripting.com/2025/01/01.html#a155554
I've archived December in the GitHub repo, in OPML, as usual.
http://scripting.com/2025/01/01.html#a155709 http://scripting.com/2025/01/01.html#a155709
I've got so much new stuff stacked up, on its way out. Hold onto your hats.