Dave Winer blogging about a new WordPress → RSS.chat integration from Matthias Pfefferle:
Matthias didn’t need to tell us about what he did until it was done. That my friends is how the web works, that’s what I’ve been trying to show you, and now it has been shown. In a way the clock has gone back to the world before Twitter when events like this happened pretty routinely.
The easiest way to tell if a platform is open or not: do you need to ask permission to integrate with it? Open: RSS, IndieWeb, Bluesky, Mastodon, Micro.blog. Closed: Threads, Instagram, LinkedIn, YouTube.
Listen, none of us are Steve Jobs. He was unique and you can’t become like him just by trying. But I was thinking the other day, as I was writing some draft posts about current events and then discarding them, that I don’t really know much about Steve’s opinion on a wide range of topics.
I know what he thought about iTunes. I know what he thought about Keynote. I feel enough of a connection to him that when he died, my family and I wrote a little sticky note in his memory and put it on the glass window of the nearest Apple Store.
I love blogging about all sorts of things that I’m passionate about. And I would never suggest to someone not to write about something they care about. Part of what makes the web so incredible is the ease of publishing, giving everyone a voice.
I just think I need to remind myself more often to stay in my lane. Admitting that is a little depressing. But I don’t really need to wade into every new controversy that comes along.
Anyway, back to finishing that blog post draft about AI and geopolitics. 🤪
Finished reading: Elsecaller / King Lopen the First by Brandon Sanderson, Dan Wells, and Isaac Stewart. Two short stories, and so they naturally felt a little rushed by Stormlight standards. Nice to fill in a missing piece with Jasnah from Words of Radiance. 📚
I would bet at least 80% of people who say they read every line of code their AI agents write, don’t.
I’ve been thinking about this too. I blogged years ago in February that I read or skim everything. Still mostly true, but there’s more skimming, and I no longer read unit tests.
Last year we introduced Micro.blog Studio, a new subscription plan with greatly expanded support for video hosting. You can upload a video to your blog and Micro.blog will prepare it for streaming, so videos up to 20 minutes start playing back right away on your blog.
Today we’re adding two major features:
RSS-powered video is not a new idea. I remember watching Merlin Mann’s podcast video interview show way back in 2007. But video files are big and even for MP3s, many podcast players have switched to streaming by default. Video needs to adapt too.
For too long, we’ve let YouTube, TikTok, and other silos dominate video hosting. It was bad enough that so much of the web’s video was concentrated in one place. These silos have now leveraged the popularity of podcasting to control even more video. There are many exclusive audio shows that are not based on RSS feeds. If left unchecked, this will eventually erode the interoperability and radical beauty of podcasting.
The way forward could not be more clear. Podcast clients should support both video and audio based on open standards. And video and podcast hosts like Micro.blog should make it easy to post to your own blog first and send the video out to other social networks to reach existing audiences.
If you’re on Micro.blog Studio, under the “Blog settings” podcast section you’ll see two checkboxes:
“Save podcast audio” is off by default. Enable it to get the new MP3 extraction for video and the updated podcast feeds.
When Hugo publishes your blog, there’s a new parameter .Params.podcast_video that the default RSS template now uses to link the audio and video versions of an episode:
{{ with .Params.podcast_video }}
<podcast:alternateEnclosure type="application/vnd.apple.mpegurl" height="{{ .height }}"{{ with $.Site.LanguageCode }} lang="{{.}}"{{ end }} title="HD Video Stream" rel="alternate">
<podcast:source uri="{{ .url }}" />
</podcast:alternateEnclosure>
{{ end }}
The automatic leveling checkbox is another new feature we added recently. It makes podcast audio sound a little better without having to process the file with an external tool like Auphonic. In Micro.blog Studio, you can even record a new episode directly on the web.
Happy podcasting! Special thanks to everyone who has laid the groundwork for this. This post by Justin Jackson is a good place to start. 🎙️
Just happened to notice I merged pull request #1000 for the Micro.blog backend today. About half of those are actually in the last year. I started using PRs way more often when AI could review them for me.
Watched: The Odyssey. Didn’t end up seeing it in IMAX, but hope to eventually. 🍿
Starting to make some slow progress with Google approving Micro.blog → YouTube uploads. They’ve approved the auth scopes, but they didn’t like my privacy policy. A couple edits today, hopefully will go through. 🤞
I think some of the frustration with AI comes down to invasive UI. There’s a difference between an app that uses AI behind the scenes compared to an app that is always getting in the way: suggesting replies to an email, allow fancy edits no one asked for, adding a chatbot where it’s not needed, etc.
It has been a while since I added anything new to my Honda Element. Some of the previous posts in this series include CarPlay, rooftop solar, weBoost, and a bed platform. I have a category on my blog with everything.
Over the weekend, my son helped me add a backup camera. This was in some ways the most complicated upgrade I’ve done and really benefited from an extra pair of hands. He also has a soldering kit, multimeter, and other electrical accessories that were really helpful, and more experience than I do with making gadgets.
I bought this camera on Amazon: PixelMan PMD2A-S. Only $38. It comes with a very long RCA cable that can stretch from the back of the car all the way to the CarPlay unit in the front. There’s also a wire that gets power when the car is in reverse, turning on the camera and signaling to the screen to switch to the camera view.
There are two ways to wire the power: splice into a connection under the dashboard that is apparently impossible to reach, or splice into the line at the taillight. We decided to go with the taillight. The cables reached better there and the ground wire was nearby too, where I connected it to a bolt at one of the tie-down latches. On my car, the wire to cut is green/black.
The next step was running the cable for the camera through the tailgate. This honestly took hours to get right. You can feed a wire through where the grommet for the license plate lights wiring is, then pull the video cable through.
Here are some photos:




I was excited to see the video pop up for the first time. It’s another nice upgrade that brings this old car further into the modern era.
Coffee Greeks in Bastrop. ☕️

Good things happen in bookstores. Painted Porch in Bastrop. 📚

Rolled out some random little UI improvements this weekend. This is my favorite, including photo thumbnails on the collections page.

How can you tell you’re working on the web? When you do something new and innovative you help your competitors‘ users without forcing them to use your product.
When I linked to the letter about open weights yesterday, I mistakenly thought it was written primarily by Nvidia. It has since been co-signed by Microsoft, OpenAI, Mozilla, and others.
Looks like Anthropic will skip it. See also, my blog post from April: OpenAI got its name right.
I’m going to roll out a major update to Micro.blog Studio’s video and podcast hosting on Monday. Video uploads will automatically extract the audio and serve as a separate MP3 in the podcast feed, with support for alternateEnclosure tags. Finally. Really happy with how this has come together.
After a couple weeks, realizing that GPT-5.6 Sol extra high is overkill for almost everything I do. Burning the GPUs for little benefit. My default is now regular high and I think it’s a tiny bit faster. Always with /fast mode enabled too.
Finished reading: The Crown Tower by Michael J. Sullivan. Listened to the dramatized version with voice actors and sound effects. 📚
One minute I’m writing code, then working on a blog post, and then the next thing I know I’ve downloaded the Rushmore screenplay to check something. I’m all over the place today.
A letter from Nvidia about open weight models:
Open weights let every organization match the right model to the right job at the right cost, reserving frontier-scale capability for genuine frontier problems and running efficient, specialized models everywhere else.
Jensen Huang had avoided social media until today, when he posted to X for the first time to share this. Hmm.
Substack tries to be too clever with its dickovers and even basic HTML and images. It means that a blog on Substack is unlikely to be indexed properly by the Wayback Machine. A real problem considering how much writing is on Substack.
Well, well, well… LeBron James will finish his career with the 76ers. This is going to be fun. 🏀
Resubmitted my request to Google to approve us for YouTube upload. It has been rejected twice already, who knows why. I wrote the code almost a year ago, so very disappointing that customers can’t use it.
Good thoughts by Dustin Bluck about the decline of indie podcast apps. While I was reading, I kept thinking “we need to do video!” and then I got to that part:
Video podcasts should be embraced yesterday. There’s absolutely nothing about RSS that demands it be audio-only. Podcasts have never even been audio-only. There’s at least some evidence that video time is replacing audio. This is only going to get worse.
Grain.social is a photo social network built on the AT Protocol. Today I’ve added following users and cross-posting from your blog to Grain.
When you follow a Bluesky user in Micro.blog by searching for their handle, like username.bsky.social, we now aggregate both their Bluesky posts and their Grain photo galleries together in the timeline.
Micro.blog is a universal social timeline. Follow users on the fediverse, atmosphere, and blogs so you see all their posts in one place.
The other side of this is automatic cross-posting to Grain, similar to our cross-posting to Pixelfed. When a blog post contains photos, Micro.blog can publish them as a photo gallery for Grain users.
You’ll see “Add Grain” as an option on the Sources page if you already have Bluesky enabled. We simply reuse the existing authorization.
Why Grain.social now? More platforms appear to be building on one of the atmosphere’s unique features: storing custom data formats in your account, tied to an identity that is shared across apps. Micro.blog now supports three of those collections: Bluesky’s microblogging service, Standard.site, and Grain.social. I expect in the future there will be a suite of tools enabled by your Bluesky account.
This specific Grain support is a little bleeding-edge. There are some questions I didn’t attempt to answer yet, such as whether replies to photo galleries should go back to Bluesky or Grain.
Whenever a new photo social network pops up, you could move to that network, or you could just post your photos to your own blog and never have to change your workflow again. I’ve said before that the blog photos page is one of my favorite things.
John Gruber blogging about why there’s no way to disable Apple ads:
Apple doesn’t offer ad-free tiers for the App Store or (soon) Apple Maps because, I think, they can’t bring themselves to admit that by adding ads to these services they have made them worse.
Also, me in 2010: I hope iAd fails.
A few random phrases that are currently annoying me: “step change”, “hill climbing”, “first principles”. I can’t even really pinpoint why.
I don’t like Meta, and as a Spurs fan I don’t like that they included a Knicks celebration in this… 🙂 But the ad is pretty good.
Let’s consider where the open web has the greatest opportunity over the next decade, starting with these rough numbers:
The comparison is a little bit apples and oranges because the ad-supported platforms only care about monthly active users. There are other obvious caveats such as how many blogs get more than one post every year. That’s okay for the purposes of this post.
Blogging is the backbone of the open web. It’s not a throwaway stat. Blogs in total are already comparable in scale to the biggest networks.
Dave Winer posted yesterday: “I use twitter these days because it’s where the people are”. Some people would say the same thing about Threads. Both of those platforms are dead-ends for openness, but still useful for many people.
If I were thinking about where to invest my time to make the web a little better — and I am, every day — then there are two paths implied by these numbers:
I told someone privately this week that I’ve become disillusioned with Mastodon. For all the great work that fediverse developers are doing, and the fact that the fediverse is built on open standards, my concern is that Mastodon is a permanent niche. It’s going to take a monumental effort to change this.
Where does Micro.blog fit in all of this? It’s a tiny slice of the “600 million total blogs” number. You post to Micro.blog and it’s a blog post first. Connect to other platforms if you want to. I believe this is the way things should be.
Inspired by this blog post from Nick Heer, I took a closer look at Grain and also Flashes. I’ve prototyped support for Grain in Micro.blog and will ship it today. Flashes mostly piggybacks on existing Bluesky lexicon, so doesn’t really need special support from what I can tell.