

Journal 3144 Links 10571 Articles 85 Notes 7732
Wednesday, March 26th, 2025

Wednesday session
Go To Hellman: AI bots are destroying Open Access
AI companies with billions to burn are hard at work destroying the websites of libraries, archives, non-profit organizations, and scholarly publishers, anyone who is working to make quality information universally available on the internet.
a:focus-visible {
outline-offset: 0.25em;
outline-width: 0.25em;
outline-color: currentColor;
}
…makes any website better
Sunday, March 23rd, 2025
Five years
My favourite bit of the archive on this site is the link that says “on this day”. It’s of no interest to anyone except me, but I love going through this little time tunnel.
Using that link this month gives me a flashback to March five years ago when The Situation was unfolding.
I remember the build-up at the end of February. We were in Galway for a birthday weekend getaway. One morning in the hotel I saw the papers were running a story that seemed so Irish to me: because of this emerging virus, people were no longer to give the “sign of peace” at mass (that’s the bit where you awkwardly shake hands with the people around you). I chuckled. Nervously.
Then we were leaving Ireland, in the taxi to the airport in Dublin the radio was on. A medical professional was urging the cancellation of the St. Patrick’s Day parade because a grand total of 2 or 3 people in the country had this virus. The DJ reacted with incredulity. It sounded like a pretty far-fetched idea to me too, because St. Patrick’s Day was just over two weeks away.
The St. Patrick’s Day parade was cancelled.
Throughout The Situation I was keeping track of things in Ireland. It was like seeing an A/B test unfolding. Everything that England was doing wrong, Ireland was doing the opposite. It wasn’t quite New Zealand, but they put scientists front and centre of their decision-making precision. Whereas here, policy was driven by wishful thinking.
I was writing about it all here on my website. I also started recording a tune every day for 200 days. Here’s the first one. See how fresh-faced I am? I decided to stop shaving during lockdown. After six weeks, I looked like this.
But to really recall what that time was like, I recommend reading Jessica’s account of 2020. The first entry is called A Journal of the Plague Week and it was published five years ago. The final entry was A Journal of the Plague Week 52 a year later.
Saturday, March 22nd, 2025
Some Thoughts on the Common Toad | The Orwell Foundation
After the sort of winters we have had to endure recently, the spring does seem miraculous, because it has become gradually harder and harder to believe that it is actually going to happen.
George Orwell on the coming of spring during the darkest of times:
It comes seeping in everywhere, like one of those new poison gases which pass through all filters.
The atom bombs are piling up in the factories, the police are prowling through the cities, the lies are streaming from the loudspeakers, but the earth is still going round the sun, and neither the dictators nor the bureaucrats, deeply as they disapprove of the process, are able to prevent it.
Friday, March 21st, 2025
FOSS infrastructure is under attack by AI companies
More on how large language bots are DDOSing the web:
LLM scrapers are taking down FOSS projects’ infrastructure, and it’s getting worse.
The Blowtorch Theory: A New Model for Structure Formation in the Universe
Make yourself a nice cup of tea and settle in with Julian Gough’s magnum opus:
How early, sustained, supermassive black hole jets carved out cosmic voids, shaped filaments, and generated magnetic fields
My Web Values: Why I Quit X and Feed the Fediverse Instead | Cybercultural
- Support open source software
- Support open web platform technology
- Distribution on the web should never be throttled
- External links should be encouraged, not de-emphasized
Thursday, March 20th, 2025

Thursday session
It’s the vernal equinox and Spring has sprung, right on time, giving us a beautiful sunny day.
Please stop externalizing your costs directly into my face
Over the past few months, instead of working on our priorities at SourceHut, I have spent anywhere from 20-100% of my time in any given week mitigating hyper-aggressive LLM crawlers at scale.
This matches my experience with The Session. In fact, while I had this article open in a tab, I had to go deal with a tsunami of large language model bots. It’s really fucking depressing.
Please stop legitimizing LLMs or AI image generators or GitHub Copilot or any of this garbage. I am begging you to stop using them, stop talking about them, stop making new ones, just stop. If blasting CO2 into the air and ruining all of our freshwater and traumatizing cheap laborers and making every sysadmin you know miserable and ripping off code and books and art at scale and ruining our fucking democracy isn’t enough for you to leave this shit alone, what is?
Command and control
I’ve been banging on for a while now about how much I’d like a declarative option for the Web Share API. I was thinking that the type
attribute on the button
element would be a good candidate for this (there’s prior art in the way we extended the type
attribute on the input
element for HTML5).
I wrote about the reason for a share button type as well as creating a polyfill. I also wrote about how this idea would work for other button types: fullscreen, print, copy to clipboard, that sort of thing.
Since then, I’ve been very interested in the idea of “invokers” being pursued by the Open UI group. Rather than extending the type
attribute, they’ve been looking at adding a new attribute. Initially it was called invoketarget
(so something like button invoketarget="share"
).
Things have been rolling along and invoketarget
has now become the command
attribute (there’s also a new commandfor
attribute that you can point to an element with an ID). Here’s a list of potential values for the command
attribute on a button
element.
Right now they’re focusing on providing declarative options for launching dialogs and other popovers. That’s already shipping.
The next step is to use command
and commandfor
for controlling audio and video, as well as some form controls. I very much approve! I love the idea of being able to build and style a fully-featured media player without any JavaScript.
I’m hoping that after that we’ll see the command
attribute get expanded to cover JavaScript APIs that require a user interaction. These seem like the ideal candidates:
button command="share"
button command="fullscreen"
button command="print"
button command="copy"
button command="install"
There’s also scope for declarative options for navigating the browser’s history stack:
button command="back"
button command="forward"
button command="refresh"
Whatever happens next, I’m very glad to see that so much thinking is being applied to declarative solutions for common interface patterns.
Wednesday, March 19th, 2025

Wednesday session
I wonder if a civilisation closer to the galactic centre might worship Sagittarius A* as a god.
Make stuff, on your own, first | Sean Voisen
AI can be incredibly useful when deployed skillfully in creative endeavors—as an ideation partner, as a scaffolding tool, by eliminating tedious tasks, etc.—but anyone making anything truly good with it is probably somebody who could already make something good first without it.
Stop Using and Recommending React - Lusitos Tech Blog
I can’t recommend React to any project or customer anymore.
Using almost any other modern alternative, you will save time, money and nerves, even if you haven’t used them before.
Don’t stick to technology just because you know it.
Books for all, and roses too!
https://ethanmarcotte.com/books/you-deserve-a-tech-union/
American workers, this is the book you need.
Style legend
There’s a new proposal for giving developers more control over styling form controls. I like it.
It’s clearly based on the fantastic work being done by the Open UI group on the select
element. The proposal suggests that authors can opt-in to the new styling possibilities by declaring:
appearance: base;
So basically the developer is saying “I know what I’m doing—I’m taking the controls.” But browsers can continue to ship their default form styles. No existing content will break.
The idea is that once the developer has opted in, they can then style a number of pseudo-elements.
This proposal would apply to pretty much all the form controls you can think of: all the input
types, along with select
, progress
, meter
, buttons and more.
But there’s one element more that I wish were on the list:
legend
I know, technically it’s not a form control but legend
and fieldset
are only ever used within forms.
The legend
element is notoriously annoying to style. So a lot of people just don’t bother using it, which is a real shame. It’s like we’re punishing people for doing the right thing.
Wouldn’t it be great if you, as a developer, had the option of saying “I know what I’m doing—I’m taking the controls”:
legend {
appearance: base;
}
Imagine if that nuked the browser’s weird default styles, effectively turning the element into a span
or div
as far as styling is concerned. Then you could style it however you wanted. But crucially, if browsers shipped this, no existing content would break.
The shitty styling situation for legend
(and its parent fieldset
) is one of those long-standing annoyances that seems to have fallen down the back of the sofa of browser vendors. No one’s going to spend time working on it when there are more important newer features to ship. That’s why I’d love to see it sneak in to this new proposal for styling form controls.
I was in Amsterdam last week. Just like last year I was there to help out Vasilis’s students with a form-based assignment:
They’re given a PDF inheritance-tax form and told to convert it for the web.
Yes, all the excitement of taxes combined with the thrilling world of web forms.
(Side note: this time they were told to style it using the design system from the Dutch railway because the tax office was getting worried that they were making phishing sites.)
I saw a lot of the same challenges again. I saw how students wished they could specify a past date or a future date in a date picker without using JavaScript. And I saw them lamenting the time they spent styling legend
s that worked across all browsers.
Right now, Mason Freed has an open issue on the new proposal with his suggestion to add some more elements to consider. Both legend
and fieldset
are included. That gets a thumbs-up from me.
Tuesday, March 18th, 2025
GetRSSFeed: RSS Feed Extractor & Finder for Websites, Blogs & Podcasts
This looks handy: a service to extract the RSS feed of a podcast (y’know—the thing that actually makes a podcast a podcast) from walled gardens that obfuscate the feed’s location: Apple Podcasts, Spotify, and Soundcloud.
Feeding your words to a platform is a vote for its values, whether you like it or not.