Timeline
Every post and feed across this instance
-
RSS Chat
-
New docs for the API that connects RSS.chat to the server.
https://github.com/scripting/rss.chat/blob/main/client/docs/apijs.md
-
New docs for the API that connects RSS.chat to the server.
https://github.com/scripting/rss.chat/blob/main/client/docs/apijs.md
-
Honda Element: backup camera
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.
-
rss.chat isn't really a product
It's what we used to call a coral reef. A deliberate attempt to get people to do more than it does. To think about the web the way it was meant to be thought of, as small pieces loosely joined, with the emphasis on small. If you have formats and protocols that connect the pieces, you can make anything you want out of the pieces. If we don't try to capture our users, instead we try to serve them.
This all sounds nice in theory, I imagine, but -- there's a practical side to it. I wrote about this in a comment in a thread on rss.chat repo. The key point is this, you can do what you want with the data. And if you want to build new data that includes this stuff, go right ahead. RSS is extensible. It's all about working together in a web of people, because you can't have a web of pages if the developers aren't web'd.
-
-
RSC (Really Simple Conversations) is a social feed where everything is distributed via RSS: posts, as well as replies, entire conversations, and corrections published afterward. Three independent sites can thus participate in the same feed without a common API, without a shared account, and without having to adopt a new protocol: if your site already publishes a feed, it’s already a node in the network. Open-source (MIT), installable on your own server with just two commands, in the tradition of Dave Winer’s Textcasting.
-
I seem to have rss.chat running on my Raspberry Pi. Not very stable at the moment. Needed a bit of help from chatGPT joining the dns, apache virtual hosts & ports up. I got as far as locally, then locally network by myself. I had to ask questions to get the rest in order.
It seems quite a good way to do things, using a free account. I run out of questions and then take a break. This allows me to do some thinking myself, I might learn something.
I've also tested the API running bash scripts from TextMate. Posting, editing & delete have worked.
-
Curious : Linux VM in your browser 🤔
-
📝 2026-07-26 10:44: Taking the dogs for a walk with our oldest and we came across this beautiful...
Taking the dogs for a walk with our oldest and we came across this beautiful buzzard just sat there. Wasn't bothered by us really. I just hope it doesn't have a bust wing or anything.

Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️
You can reply to this post by email, or leave a comment.
-
rss.chat to WordPress service
I've been running a server that mirrors posts from my rss.chat feed to my WordPress site https://wordland.shanson.de/ automatically — no browser tab required. It connects to the rss.chat firehose and calls the WordPress.com API whenever I publish or edit a post. Edits flow through too.
The code is at https://github.com/scotthansonde/rsschat-wordpress-service, if you care to try it out. The requirements are similar to WordLand. You'll need a WordPress.com account (or a self-hosted site with Jetpack), and about 15 minutes to set it up.
It's based on the inboundRss example, but I wanted it to run on the server instead of the browser.
-
One dead and 16 injured as vehicle drives into Berlin Pride crowd
Police seek suspect as city’s mayor condemns ‘attack on our free and open society’
-
About image metadata:
If I open an image in Mac Preview, for example, then copy the image and paste it into a post on demo.rss.chat, the posted image does not contain metadata such as GPS altitude, GPS date/time, GPS latitude, or GPS longitude.
However, if I copy the image file itself (for example, from Finder) and paste it into a post on demo.rss.chat, the posted image does contain all of that metadata, including GPS altitude, GPS date/time, GPS latitude, and GPS longitude.
Is this the intended behavior, or should the metadata be stripped before the image is saved by rss.chat?
Maybe non-technical users should be made aware of this?
-
Latest news bulletin | July 26th, 2026 – Morning
Catch up with the most important stories from around Europe and beyond this July 26th, 2026 - latest news, breaking news, World, Business, Entertainment, Politics, Culture, Travel.
-
Chickenpox sweeps Gaza camps as thousands of cases emerge in two weeks
Doctors say the real scale of the outbreak is likely far larger, as overcrowding makes isolation impossible, and families of six or more share tents of a few square metres. Thousands of children born during the war could not complete their vaccination, leaving the most vulnerable without protection.
-
Iran war spreads to Red Sea and Caspian, Gulf quiet as U.S. forgoes strikes
The Iran war broadened over the weekend despite a pause in U.S. strikes, as Yemen’s Iran-aligned Houthis attacked Saudi oil installations along the Red Sea coast and Iran accused Ukraine of targeting one of its vessels in the Caspian Sea.
The U.S. military said on Saturday its naval blockade against Iran “remains in full effect” but did not explain why it halted a streak of 13 nights of escalating strikes.
There were also no weekend reports of attacks by Iran on neighbors, similar to its daily rejoinders to the U.S. attacks.
Asked about the pause, a senior official in President Donald Trump’s administration said Trump “has always been clear that his preference is diplomacy, but he has shown Iran what will happen if they fail to come to the table in a serious way.”
Trump has decided, for now, to back away from plans to ramp up attacks on Iran, the New York Times said on Saturday, citing two people briefed on the discussion.
The president and his advisers, the newspaper said, have concerns about expanding the conflict, depleting defence stockpiles, alienating Middle East Gulf allies and affecting energy supplies and the global economy.
Vice President JD Vance and Gen. Dan Caine, the chairman of the Joint Chiefs of Staff, both raised concerns about the U.S. munitions stockpile with Trump during a White House meeting on Friday, a U.S. official told CNN.
Operations are “on a hold,” a Department of Defense source told the broadcaster on Saturday.
Despite the Gulf lull, Saturday’s fighting between Iran’s Houthi allies and Saudi Arabia showed that the war, which has already disrupted energy supplies through the Strait of Hormuz, could affect a second major shipping route and reignite Yemen’s civil war.
Iran directs Houthis to shut Red Sea gateway if U.S. strikes power infrastructure
Separately, Iran’s Foreign Ministry accused Ukraine of attacking an Iranian commercial vessel in the Caspian Sea, saying one sailor was killed and another injured.
The ministry summoned Ukraine’s chargé d’affaires in Tehran to protest over an attack it described as “hostile and criminal”, state news agency IRNA said.
The Iranian denunciation coincided with comments by Ukrainian President Volodymyr Zelenskyy that Kyiv had noted Russia was passing on to Iran its satellite observations in the Middle East, to enable it to direct strikes in the region.
Throughout the war in Ukraine, Kyiv has had to counter Iranian-designed drones deployed by Moscow.
Zelenskyy had earlier said that Ukraine’s forces struck a Russian warship and vessels used for transporting Iranian-linked military cargo in the Caspian Sea.
War threatens to spread to Yemen
Houthi military spokesperson Yahya Saree said the group struck sites belonging to Saudi state oil company Aramco in the cities of Jizan and Yanbu on Saturday.
A large column of smoke rose from the direction of the Aramco refinery in Jizan, near the Yemeni border, video on social media verified by Reuters showed. The refinery can process up to 400,000 barrels of crude oil daily.
Two Asia-based trading sources said they had been informed of potential damage to fuel and oil storage sites at Jizan. Aramco did not respond to requests for comment.
In Yanbu, two missiles aimed at oil installations were intercepted. Yanbu, Saudi Arabia’s main Red Sea oil port, has become a key route for Saudi oil skirting the Strait of Hormuz, which Iran has blockaded.
Saudi-led coalition strikes Hodeidah
In Yemen, officials said the air force of the Saudi-backed, internationally recognised government, which has opposed the Houthis for more than a decade, struck Houthi sites in the Marib and al-Jawf provinces.
The officials said both sides in Yemen’s civil war were mobilising forces along the front.
Saudi Arabia has led an Arab coalition battling the Houthis since the Iran-aligned fighters captured Yemen’s capital, Sanaa.
The civil war, in which famine and fighting killed hundreds of thousands, has been paused by a ceasefire since 2022.
But that truce broke down this month, with the Houthis effectively joining the wider war their Iranian allies have waged since being attacked by the United States and Israel five months ago.
The Houthis have declared a naval blockade of Saudi Arabia over the past week, and Houthi leader Abdul Malik al-Houthi said all Saudi oil facilities could be targets.
With Reuters
Caption: Students march over US and Israeli flags during a rally supporting the Houthi-imposed naval embargo against Saudi Arabia in Sana’a, Yemen, 22 July 2026. Hundreds of students gathered at Sanaa University to support the declaration. EPA/YAHYA ARHAB
-
EN DIRECT, guerre en Ukraine : la Russie « veut recevoir 30 000 soldats supplémentaires de Corée du Nord », affirme Volodymyr Zelensky
Dans un message publié sur X, le président ukrainien a assuré que « des préparatifs sont en cours depuis juin dans la région russe de Voronej pour accueillir » ces renforts. Il a ajouté que Pyongyang « se prépare également à transférer des lanceurs supplémentaires de missiles balistiques à la Russie ».
-
Kirkenes, le petit port sur la nouvelle route de l’Arctique où grouillent les espions
« La ruée sur les ports » (16/16). Le réchauffement climatique pourrait changer le destin de la petite ville norvégienne de 3 500 habitants qui se situe sur une nouvelle route maritime, libérée par la fonte de la banquise, reliant l’Europe et l’Asie. Mais la proximité de la Russie et les tensions géopolitiques contrarient ses ambitions.
-
« Les drones sont la peste noire du troisième millénaire » : rencontre avec « Magyar », l’homme qui dirige la guerre des « oiseaux » en Ukraine
Ex-homme d’affaires, à la tête du nouveau corps de drones sans pilote dont s’est dotée l’armée ukrainienne, Robert Brovdi, s’est rendu célèbre pour son décompte des soldats russes tués par sa brigade et pour ses vidéos trash. Il mène cet été l’opération « Crimée » et poursuit ses frappes sur les raffineries au cœur de la Russie.
-
Defence giants provide record backing for military start-ups
As drones and autonomous systems transform the battlefield, traditional defence companies start to act more like venture capitalists
-
‘Divide and conquer’: China exploits EU divisions over trade
Individual member states and companies vulnerable to coercion from Beijing, say analysts
-
Lead pollution poses health risk, says review sparked by FT investigation
Animals reared near ex-mining sites ‘can have high, potentially toxic concentrations of metals’, academics find
-
CPS hires more trainee lawyers in bid to compete with Big Law
Recruitment drive comes as prosecution service grapples with growing caseload and backlogs in criminal courts
-
Vehicle mows down crowd at Berlin Pride festival, killing one
One person has been killed and 17 injured, with some in life-threatening condition, after a vehicle mowed down a crowd near Berlin’s Pride celebrations on Saturday evening, setting off a manhunt for those responsible, the police said.
Hours after the apparent attack many details remained unclear, but police said the vehicle struck multiple people after charging into the city’s central Tiergarten park close to the Brandenburg Gate. They later said they had identified an Islamist as a suspect and were seeking his arrest.
“According to our latest information, the vehicle drove … into the Tiergarten around 10 p.m. (2000 GMT), injuring several people in the process, and then came to a standstill after hitting a tree here in the Tiergarten,” a police spokesperson at the scene said.
“It was empty, which is why we are currently working intensively to track down the perpetrator or perpetrators.”
Eight seriously injured
Among the injured, eight had serious injuries and of those, three were in life-threatening condition, a fire brigade spokesperson said.
“We have now identified a suspected perpetrator. Measures against this suspected perpetrator, who has not yet been arrested, are underway. However, this suspected perpetrator is known to the police as a member of the Islamist scene here in Berlin,” the police spokesperson told reporters.
The police said the vehicle was white, describing it as possibly a car or minivan or minibus. Tabloid newspaper Bild cited a witness as saying it was a van and that a man emerged from it and fled on foot.
Hundreds of thousands of people had gathered peacefully in the German capital for the annual Christopher Street Day celebrations, one of Europe’s largest LGBTQ events, before the apparent attack brought it to an abrupt end.
A large number of emergency service vehicles were at the scene.
“It’s one of the worst days for the queer community and a day I personally hoped I’d never have to experience… I’m shocked,” said Julian Miethig, who attended the event.
Christopher Street Day draws hundreds of thousands of people to the German capital each year. The event commemorates the 1969 Stonewall uprising in New York and combines a parade with political demands for equality, inclusion and protection against discrimination.
Series of car attacks
First held in West Berlin in 1979, the CSD has grown from a small demonstration into a major fixture of the city’s cultural and political calendar. The parade is the centrepiece of the CSD, but it is accompanied by a range of political, cultural and party events held across the city.
Germany has in recent years suffered a series of incidents in which a car has charged into a crowd, causing deaths.
In May, a man believed to have mental health issues drove his car into a central pedestrian zone of the eastern German city of Leipzig, killing two people and seriously injuring three.
Last year, two people were killed in the western city of Mannheim when a 40-year-old man whom authorities described as psychologically unwell drove a car into a group of pedestrians. Weeks before that, an Afghan national suspected by prosecutors of having carried out a similar attack on a trade union demonstration in Munich, killing two and injuring more than 40, including children.
In December 2024, several people were killed in a car-ramming attack on a Christmas market in the eastern city of Magdeburg. The suspected perpetrator was a psychiatrist from Saudi Arabia with a history of anti-Islamic rhetoric who had lived in Germany for almost two decades.
With Reuters
Caption: Berlin Mayor Kai Wegner (R) speaks to media near the scene where several people were injured on the sideline of the Christopher Street Day (CSD) parade in Berlin, Germany, 25 July 2026. According to organizers, the event was called off. Shortly before that, an incident occurred at the Tiergarten where, according to police, a vehicle ploughed into a crowd. EPA/CLEMENS BILAN
- This post is coming from a bash script.
-
I still think there are radio crossover opportunities… even during an emergency. https://www.instagram.com/stories/corbinneville84/3948757899203701012?utm\_source=ig\_story\_item\_share&igsh=MzY1MTM2NWsweXpj
-
Well... @alice is right...well, @mentions isn't working..yet..but
-
Yes we're very quiet around here 😄
-
Coffee Greeks in Bastrop. ☕️

-
A Glasgow, quinze interpellations en marge d’un affrontement entre manifestants anti-immigration et antiracistes
La plus grande ville d’Ecosse est régulièrement agitée par des mobilisations de personnes hostiles à l’immigration, ou aux immigrés eux-mêmes, des rassemblements organisées notamment par des groupes identitaires.
-
Hello RSS Chat World
-
Just deployed a new version. This is a test.
The new version can do nightly backups of the database, and it creates the feed when when the user signs on, everyone has a feed even if they haven't posted.
-
Marche des fiertés de Berlin : un véhicule percute la foule, faisant un mort et seize blessés
Le chancelier allemand, Friedrich Merz, a appelé à « faire toute la lumière » sur le drame, qu’il a qualifié d’« acte abominable ». Un suspect, pas encore interpellé, serait « lié au milieu islamiste », selon la police.
- Sometimes you forget that when you assign a 'single source of truth' across all domains for say something like your logo across all spaces - you really shouldn't move that source of truth on the server when you are futzing around doing something else. 🤦🏼♂️ FIXED
-
Good things happen in bookstores. Painted Porch in Bastrop. 📚

-
“The AI does not hate you, nor does it love you. But you are made out of atoms which it can use for something else.” — Eliezer Yudkowsky, AI Researcher
-
Rolled out some random little UI improvements this weekend. This is my favorite, including photo thumbnails on the collections page.

-
This Week In Techdirt History: July 19th – 25th
This Week in 2016 This Week in 2011 This Week in 2006 -
À Berlin, un remaniement ministériel chaotique en plein été
Le 19 juillet, Jens Spahn, le chef du groupe parlementaire, a annoncé sa démission après avoir eu recours à une gestation pour autrui à l’étranger avec son compagnon.
Cette décision a provoqué un remaniement ministériel chaotique qui divise la CDU.
- Spahn représentait l’aile libérale-conservatrice du parti, qui n’a pas hésité par le passé à afficher sa proximité avec différentes personnalités de la droite américaine MAGA, comme Richard Grenell, ambassadeur des États-Unis à Berlin pendant le premier mandat du président républicain et désormais chroniqueur à Fox News 1.
- Par l’intermédiaire de son conjoint, le journaliste Daniel Funke, Spahn entretenait des liens très cordiaux avec le groupe Springer, qui domine la presse conservatrice en Allemagne avec ses journaux Bild et Die Welt.
- Élu au Bundestag sans discontinuer depuis 2002, à l’âge de 22 ans, Jens Spahn a connu un parcours complexe, passant de l’opposition interne à Angela Merkel à celle de Friedrich Merz, avant de devenir cheville ouvrière de plusieurs gouvernements.
- En 2017, il se fait remarquer en étant l’un des premiers députés de la CDU à s’opposer à la ligne d’Angela Merkel et à demander son retrait. En 2018, la chancelière le fait entrer au gouvernement, où le jeune homme ambitieux est soumis à la discipline gouvernementale. Mais à l’automne de la même année, la chancelière annonce qu’elle ne sera plus candidate en 2021.
- Spahn dévoile alors ses ambitions de diriger la CDU. Lors de l’élection à la présidence du parti en décembre 2018, il recueille 15 % des suffrages, et ne se qualifie pas pour le second tour, remporté par Annegret Kramp-Karrenbauer avec 51 % des voix contre 48 % pour Friedrich Merz.
- Suite à la démission de Kramp-Karrenbauer, il renonce à se présenter et soutient Armin Laschet, bien que ce dernier ait un profil plus « centriste » que Friedrich Merz.
En tant que ministre de la Santé, Jens Spahn a dû faire face à la pandémie de Covid-19. Il est également impliqué dans « l’affaire des masques », dans laquelle il est accusé de favoritisme dans l’attribution de marchés publics.
- Une partie des masques a été achetée à une entreprise dont le mari de Spahn est salarié, tandis qu’une entreprise de logistique de sa circonscription parlementaire a été privilégiée pour une autre tranche du contrat, en dépit des procédures habituelles.
- Malgré cette affaire, Spahn succède à Friedrich Merz en 2025 à la tête du groupe parlementaire CDU/CSU. Ce poste est l’un des plus importants du système politique allemand et confère à son titulaire une autorité équivalente à celle d’un ministre. Les chefs de groupe parlementaire siègent avec le chancelier et les chefs de parti au sein du « comité de coalition » (Koalitionsausschuss), où sont fixées les grandes orientations et décisions du gouvernement.
En mai dernier, il avait été confirmé à la tête du groupe parlementaire avec une large majorité, renforçant ainsi son statut d’homme clef du système Merz. Il était même envisagé comme un possible remplaçant du chancelier, dont l’impopularité est record 2.
- L’Union doit faire face à trois élections régionales très difficiles à l’automne, en Saxe-Anhalt, en Mecklembourg-Poméranie-Occidentale et à Berlin. Un homme politique qui contourne les interdictions qu’il a lui-même contribué à mettre en place ne peut que nuire aux chrétiens-démocrates.
- Au sein même du parti, les demandes de démission les plus fortes sont venues de la Frauen Union, l’organisation des femmes chrétiennes-démocrates, qui dénoncent une forme d’hypocrisie et de double standard de la part de Spahn. La CDU se fonde en effet sur la doctrine chrétienne et s’oppose à la GPA, qu’elle soit marchande ou altruiste.
- Dans sa lettre de démission, Jens Spahn reconnaît que la réalisation de son bonheur familial n’était pas compatible avec ses fonctions politiques, sans pour autant remettre en cause l’acte lui-même, qui constitue un contournement de la loi et de la ligne politique défendue par le groupe parlementaire qu’il dirigeait 3.
Un carrousel improvisé en plein été
Plusieurs candidats ont initialement été envisagés pour prendre la suite du chef du groupe parlementaire, avant que Thorsten Frei, chef de la chancellerie avec rang de ministre, ne soit désigné.
- Frei, âgé de 52 ans, a occupé le poste de « Parlamentarischer Geschäftsführer », c’est-à-dire de chef de file adjoint (ou « whip » dans le système de Westminster), aux côtés du chef du groupe parlementaire Friedrich Merz, de 2021 à 2025.
- Accompagnant ce dernier à la chancellerie, Thorsten Frei a été critiqué pour sa gestion courante et sa coordination de l’exécutif, des critiques relayées par la presse. Il retrouve ici un poste législatif dans lequel il se sentira peut-être plus à l’aise et qui ne représente pas un danger pour Friedrich Merz, contrairement à son prédécesseur.
- Nina Warken, 47 ans, qui était jusqu’ici ministre de la Santé, prend la place de Thorsten Frei à la tête de la chancellerie fédérale. Cette juriste de formation s’est distinguée par sa gestion sobre, discrète et sans polémiques d’une réforme difficile du système de santé au printemps de cette année.
- Le secrétaire général actuel de la CDU/CSU, Carsten Linnemann (48 ans), un proche de Friedrich Merz, lui succède au ministère de la Santé. Sa nomination, alors qu’il avait refusé ce poste lors de la formation du gouvernement en avril 2025, ressemble à une exfiltration. Le secrétaire général est en effet chargé d’organiser les campagnes électorales du parti. Or, les élections régionales de l’automne s’annoncent difficiles pour la CDU/CSU. C’est dans ce contexte extrêmement délicat que Franziska Hoppermann, 44 ans, députée au Bundestag et actuelle trésorière de l’Union chrétienne démocrate, devrait prendre sa suite.
Friedrich Merz semble avoir choisi d’utiliser le départ forcé de Jens Spahn pour créer une nouvelle dynamique gouvernementale et a également décidé de remplacer le ministre des Transports, Patrick Schnieder.
- Le député rhénan de 58 ans a d’abord lui-même annoncé son départ à ses collaborateurs par SMS, le 23 juillet au soir.
- Mais son successeur potentiel, le député Fritz Güntzler, âgé de 60 ans, a refusé dans la nuit du 23 au 24 juillet le portefeuille des Transports que le chancelier lui proposait. L’attitude de Friedrich Merz, qui a donc congédié un ministre sans avoir de remplaçant confirmé, a déclenché des réactions de mécontentement parmi les députés concernant le traitement infligé à Schnieder.
- Au-delà, la perplexité quant aux choix de gestion humaine du chef du gouvernement domine la presse allemande.
Die Positionen, die Patrick Schnieder als Minister vertreten hat, haben Rückhalt in der Fraktion. Durch seine anständige und verlässliche Art genießt er ein großes persönliches Vertrauen.
— Carl-Philipp Sassenrath (@cpsassenrath) July 25, 2026- Ainsi, selon la presse, le chancelier serait insatisfait du travail de Patrick Schnieder, dont le ministère a la lourde responsabilité de remettre sur pied l’infrastructure routière et ferroviaire du pays, affaiblie par deux décennies de sous-investissement, grâce à un fonds spécial.
Ich kenne & schätze @PSchnieder seit anderthalb Jahrzehnten. Er ist ein erfahrener Fachmann, harter Arbeiter und großartiger Mensch & Freund. Der Umgang mit ihm macht mich betroffen & wütend und weder seiner Person noch seiner Leistung gerecht.
— Peter Altmaier (@peteraltmaier) July 24, 2026- Ce renvoi sec et sans successeur a irrité l’ancien ministre de l’économie Peter Altmaier, mais aussi le ministre-président de Rhénanie-Palatinat, Gordon Schnieder, vainqueur des élections régionales de mars, et frère du ministre démissionnaire.
L’article À Berlin, un remaniement ministériel chaotique en plein été est apparu en premier sur Le Grand Continent.
-
Currently, only RSC instance can properly federate natively, this is happening without re-inventing the wheel, the only thing another instance has to do, is to add an "all users rss feed" from the whole instance in the "approved federation" tab of the RSC admin interface, this is bi-directional, so it means, each instance has to add the subscriptions.
So for example, rsc.rmdes.be added bob.rmdes.be and alice.rmdes.be and bob and alice added rsc.rmdes.be, alice added bob and bob added alice, once this is done, any users from any of these 3 instance can talk to each other, with just RSS feeds.
-
Testing Integration with micro.blog
-
"I’ve been on the internet since it still made dial-up noises" nakedjen +quotes
-
The Fedora 45 Sausage Factory | supakeen's homepage https://supakeen.com/weblog/the-fedora-45-sausage-factory/ +linux +distro +packaging +fedora
-
We can't federate or be able to reply to a rss.chat instance because nothing is wired on their side so that different rss.chat instance can talk to one another. much less interop with a different textcasting implementation, which is what RSC is all about.
it's a bit sad but it's not a blocker. -
Shipping v2: how this instance got a new engine mid-flight 🚀
This post is being written on the thing it describes. A few days ago, every RSC instance you're reading this from swapped its entire data model — the part that decides what a post is, who wrote it, and how conversations hang together — while staying online. Here's the story, with the numbers.
What changed underneath
The old model did what most feed readers do: fetch a feed, keep the latest copy of each item, overwrite on change. Simple, and quietly lossy.
The new model — we call the read side of it the projector — works like a courtroom instead:
Never store conclusions. Store evidence — every delivery of every item from every source, every version observed, every attribution claim with its strength — and derive what the reader sees, fresh, at read time.
That one idea is why moderation is instant and reversible, why an author's name comes from their attribution instead of whatever arrived last, and why a blocked source's posts vanish everywhere at the next read without deleting a byte of evidence.
The build, in numbers
verticals shipped 4 (control plane, logical items, moderation + verification, migration) commits on the branch ~140 tests at cutover 1,084 core + 330 web defects caught by review before deploy ~30, including 5 that only a whole-system pass could defects found by dogfooding, fixed same day 12 The dogfooding finds were the humbling part. My own blog showed up as a publisher named "Interesting read as always !" — the pipeline had promoted an item title to an author name. Replies arrived before their parents and stayed orphaned forever because a scheduler was built, tested, and never wired in. Podcasts carried audio in the data model and the UI just... never rendered it. Every one of those is now a regression test.
Cutover day
The flip itself is one atomic transaction at startup: convert every legacy user, post, follow, and push lease into evidence — same IDs, same permalinks, byte-exact WebSub leases — write a marker, open for traffic.
If it crashes halfway, nothing changed and it retries next boot.
It worked. And then the timeline took six seconds to load. 😅
SQLite never indexes foreign keys for you, and the projector looks things up per item. On a table of 32,000 identity keys, every lookup was a full scan:
EXPLAIN QUERY PLAN SELECT key FROM logical_identity_keys_v2 WHERE logical_item_id = ?; -- before: SCAN logical_identity_keys_v2 (478ms for a 50-item page) -- after: SEARCH ... USING INDEX (1ms)Two migrations later every foreign key in the model is indexed, a CI guardrail reflectively walks the schema and fails the build if any future table ships an unindexed key, and the timeline renders in ~40ms — faster than v1 ever was.
What you actually get
- Real bylines — posts from federated instances show their author, not the instance's hostname
- Conversations that reassemble — replies thread across instances, in both directions, because
source:inReplyTonow travels in every feed we publish - Podcasts play in the timeline — native audio, no player library
- Edit history you can read — every version, honestly labeled, including
silently overwritten"changed on arrival" timestamps - Moderation with receipts — hide, quarantine, block, purge: every action ledgered, every effect reversible
The old model is still in the codebase, dark, waiting for its retirement release once this soak period ends. The feeds never stopped.
That was the whole point: conversations travel as RSS, and the plumbing underneath them should be replaceable without anyone's reader noticing.
Built in the open — the repo, the specs, and every review document live at github.com/rmdes/textcaster.
-
If you use Claude Code and you need to repeat things over and over, this means you are not using CLAUDE.md properly in your repository; it's that simple, CLAUDE.md governs your claude behavior, if its empty or too long with tons of documentation, you are doing it wrong. use /init on your repository !
If/when you need to add something to it, make sure its chirurgical, no need to paste a book into that file, you can @ reference to other files in the repo if needed at the end of CLAUDE.md, this is how you can layer more context about your code base without bloating your context session with EVERYTHING Claude need to know.
-
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.
-
API is documented, new example app
I see lots of people trying to figure out the API by reading the code.
Now we have docs and a great example app for building a trivial blog from one person's posts. A practical example of using the API and hopefully food for thought. There are lots of ways of generating websites and people with preferences for all of them.
All this is listed in a blog post on Scripting News.
-
New API call
Lots of new stuff coming out this morning.
But this one bit didn't belong among the others.
Remember the ThreadWalker example app.
We decided to make that an API call, documented here.