human.json is a lightweight protocol for humans to assert authorship of their site content and vouch for the humanity of others. It uses URL ownership as identity, and trust propagates through a crawlable web of vouches between sites.
🎉 Support for #Mastodon #quotes in #Akkoma is here!
I am happy to announce that support for Mastodon’s Consent-Respecting Quote Posts (FEP-044f) may finally land in Akkoma.
It means that I can finally quote Mastodon posts like everybody else does!
This was a tough one to implement. Quotes were historically frowned upon by Mastodon developers, even though most of the other Fediverse services have already supported them for years (and the implementation was often as simple as a RE:<url> message).
Mastodon finally implemented quotes after a couple of years of internal discussion, and what came out of that discussion was the FEP-044f specification.
Not a simple RE:<url>, but a 3-way protocol with quote requests, authorizations and withdrawals, to be supported both on a per-profile and per-post basis.
Of course this broke compatibility with most of the other Fediverse software out there that had already relied on its conventions for years, and that’s the reason why you often can’t quote Mastodon posts on other Fediverse services.
The implementation in my PR maintains compatibility with the existing conventions, while implementing an FEP-044f negotiation if the server requires it.
This is probably not the end of this story yet, as frontend support is still missing - users on Mastodon can tweak their quote policy on a per-profile and per-post basis, in Akkoma’s case the policy is public for everything, to be consistent with the existing RE:<url> convention. It can probably be implemented later if there enough demand (but there’s a long tail of at least 4-5 other frontends that all need to be updated).
In the meantime, if you want to already use the new feature, you can build Akkoma from the feature branch on my fork: https://git.fabiomanganiello.com/blacklight/akkoma/src/branch/feature/fep-044f/mastodon-quotes
And this is the PR - feel free to upvote if you want the feature: https://akkoma.dev/AkkomaGang/akkoma/pulls/1086
A handful of adult and juvenile Eastern Kingbirds entertained us at Blackwater NWR last year, singing and flitting back and forth between the trees along the road between marsh ponds. We finally got a shot of these two against a gorgeous blue sky.
#MarshMadness #BlueSkies #birds #birding #birdsong #nature #NaturePhotography #SolaceInNature #DelightOverDarkness
NHAM Listening Party: Status by Meljoann
For the inaugural NHAM Listening Party we’ll be gathering the crew to listen to Meljoann’s fantastic album, ‘Status’.
As one of the key inspirations behind the NHAM project it is only fitting that Meljoann should star in our very first listening party.
Come and join us at 7pm UTC on Friday March 20th for a cosy get together in the chat room on TIBtv.
More episodes are on their way! Read about what's coming up:
https://about.flipboard.com/inside-flipboard/dot-social-is-back/
We’re kicking off season 3 of Dot Social with a conversation between our CEO, @mike, and @rileytestut and @shanegillio of @altstore. Watch the episode here, or listen wherever you get your podcasts:
https://flipboard.video/videos/watch/c0dfea13-7f2a-402c-b47c-50ccd151554b
#DotSocial #Podcast #OpenSocial #AltStore #Federation #Fediverse
ZACK Polanski’s speech as leader of the Green Party in England and Wales today was, at its core, an attempt to reframe British political economy along a moral axis: He highlighted the need for care rather than exploitation. It was not, primarily, a technocratic intervention. It was a narrative one. And that was both its strength and its limitation.
Why Zack Polanski's economics speech today was an important moment | The National
Today my friends were talking about streaming services (is this offer worth it, I find it too much hassle to plug my laptop to the TV, etc).
One thing I mentioned that I think is pretty important is that I totally get the need for convenience, but all of these services also have terrible annoyances and inconvenient requirements - it is just normalized, so people learn to live with them.
Needing an internet connection is a big one. Stuff being removed. Navigating through all the stuff you don't care about. Ads, and the "announcements" and "notifications" that are also mild ads. Being unable to migrate playlists or your stop points. Regional restrictions. Shitty video players. Can't rename stuff. Images keep changing.
And if you ever fall outside their average use, fuck you. Oh you move around a lot or have a weird family, you will get a bunch of restrictions.
I subscribed to Netflix mostly for my parents and sisters (I rarely even use it).
When I moved out of my parents' house and with my sister, I (and she) couldn't use it any longer. The plan covered 4 users at once, but only in the same place.
There is an option to add a "secondary account", but to get two people on that you need four on the first one which is too many. And since my parents and sister are the majority, their house is now the admin house and I can't access my own account from home. And there are other restrictions on whether the secondary account can be ad-free.
Ah yes, the convenience of a streaming service. Certainly beats having a bunch of files in a laptop or USB drives.
Finally got around to updating my rw_iter branch, which currently has 471 patches and drops the legacy fops read/write non-iterating handlers. It boots and works here. See https://lwn.net/Articles/972081/ for details. When is the last time you saw a patch series diffstat look like this:
990 files changed, 12302 insertions(+), 12993 deletions(-)
Great news today for GPU-accelerated text rendering:
"""
I was granted a patent for the Slug algorithm in 2019, and I legally have exclusive rights to it until the year 2038. But I think that’s too long. The patent has already served its purpose well, and I believe that holding on to it any longer benefits nobody. Therefore, effective today, I am permanently and irrevocably dedicating the Slug patent to the public domain. ...
To aid in implementations of the Slug algorithm, reference vertex and pixel shaders based on the actual code used in the Slug Library have been posted in a new GitHub repository and made available under the MIT license. ...
"""
Thank you, @EricLengyel!
Stop please‼️🙏🏻
The crossings are closed and the prices here in Gaza have become very expensive, the situation is very difficult,no food,no drink,no medicine💔😭
My health condition is very difficult and I need medicine,but its prices are very high,any donation can save my life🙏🏻💔
I'm glad that we're finally realizing that we need open source alternatives for the desktop and our apps, but can we also focus on mobile devices now?
It's ridiculous that we basically have two mobile 'options', both with restrictive, proprietary app stores (see also https://keepandroidopen.org/).
If Europe values digital sovereignty, then it needs to invest more in open hardware, open source OS's, and alternative app stores. 🇪🇺
@Fairphone
@LineageOS
@sailfishosnews
@ubports
@GrapheneOS
@postmarketOS
@e_mydata
@fdroidorg
@IzzyOnDroid
This is something I worry about for folks using AI today.
Future generations who cut their teeth on it will probably be fine. Then again, they probably won’t be software engineers. @kotaro https://kotaro.me/notes/ajy3xrd6h83f57o9
@fahrni@curmudgeon.cafe It's a mess. My juniors aren't just burnt out by the breakneck speed of requests from clients who use AI heavily.
They feel completely powerless. They're breaking down with depression.
Some updates to ActivityBot
https://shkspr.mobi/blog/2026/03/some-updates-to-activitybot/I couple of years ago, I developed ActivityBot - the simplest way to build Mastodon Bots. It is a single PHP file which can run an entire ActivityPub server and it is less than 80KB.
It works! You can follow @openbenches@bot.openbenches.org to see the latest entries on OpenBenches.org, and @colours@colours.bots.edent.tel for a slice of colour in your day, and @solar@solar.bots.edent.tel to see what my solar panels are up to.
This is so easy to use. Copy the PHP file (and a .env and .htaccess) to literally any web host running PHP 8.5 and you have a fully-fledged bot which can post to Mastodon.
Grab the code and start today!
Features
Over the years I've added a few more features to it, so I thought I'd run through what they are. Note, this is all hand-written. No sycophantic plagiarism machines were involved in this code or blog post. I just really like emoji, OK⁉️
🔍 Be discovered on the Fediverse
This is the big one, you can find @example@example.viii.fi on your favourite Fediverse client. This is thanks to its WebFinger support.
👉 Be followed by other accounts
No point being discovered if you can't be followed. This accepts follow requests and sends back a signed accept.
🚫 Be unfollowed by accounts
Sometimes people want to unfollow. Too bad, so sad. Again, this will accept the undo request and delete the unfollowing user's information.
📩 Send messages to the Fediverse
If a bot can be followed, but never posts, does it make a sound? This sends a post to all of your followers' (shared) inboxes. Includes some HTML formatting.
💌 Send direct messages to users
Not every message is for the wider public. If you want a bot which sends you a private message, this'll set the visibility correctly.
📷 Attach images & alt text to a message 🆕🆕
A picture is worth a thousand words. But those pictures are meaningless without alt text. Attach as many images as you like. Note, most Mastodon services only accept a maximum of four.
🍿 Video Upload 🆕🆕
No transcoding or anything fancy. Upload a video and it'll be sent to your followers.
🔊 Audio Upload 🆕🆕
Same as video. Raw audio posted to your followers' feeds.
🕸️ Autolink URls, hashtags, and @ mentions
Including URls, tags, and mentions are mostly autolinked correctly. There's a lot of fuzziness in how it works.
🧵 Threads
You can reply to specific messages in order to create a thread.
👈 Follow, Unfollow, Block, and Unblock other accounts
It might be useful for you to remove followers or follow specific accounts.
🗑️ Delete posted messages and their attachments 🆕🆕
We all make mistakes. This will delete your post along with any attachments and send that delete message to everyone. Note, because of the federated nature of the Fediverse, you cannot guarantee that a remote server will delete anything.
✏️ Edit Posts 🆕🆕
If you don't want to delete and re-post, you can edit your existing posts.
🦋 Bridge to BlueSky with your domain name via Bridgy Fed
Not everyone is on the Fediverse. If you want to bridge to BlueSky, you can use the Bridgy Fed service.
🚚 Move followers from an old account and to a new account 🆕🆕
Perhaps you started as @electric@sex.pants but now you want to become @chaste@nunslife.biz - no worries! You can tell followers you've moved and what your new name is.
Similarly, if ActivityBot is no longer right for you, it's simple to tell your existing follower to move to your new account.
🗨️ Allow quote posts 🆕🆕
Rather than just reposting your message, this sets the quote policy to allow people to share your message and attach some commentary of your own.
👀 Show followers
Your follower count isn't just a number, it is a living list of who chooses to follow you.
⚠️ Content Warnings 🆕🆕
Perhaps you want to hide a bit of what you're saying. Add a content warning to hide part of your message.
🔏 Verify cryptographic signatures
HTTP Message Signatures is hard. I think I've mostly got it sorted.
🪵 Log sent messages and errors
This is primarily a learning aide, so have a rummage through the logs and see what's going on.
🚮 Clear logs when there are too many
ActivityPub is a chatty protocol. Your server can easily fill up with hundreds of thousands of messages from others. This regularly prunes down to something more manageable.
#️⃣ Hashed passwords for posting 🆕🆕
Bit of a guilty moment here. I was originally storing the password in plaintext. Naughty! Passwords are now salted and hashed.
💻 Basic website for showing posts
A nice-enough looking front end if people want to view the posts directly on your domain.
Some Deficiencies
Not every piece of software is perfect. ActivityBot is less perfect than most things. Here are some of the things it can't do and, perhaps, will never do. If you'd like to help tackle any of these, fork the code from my git repo!
⏳ Retry Failed Messages
A proper Mastodon server will keep trying to send messages to unresponsive hosts. ActivityBot is one-and-done. If a remote server didn't respond in time, or was offline, or something else went wrong - it may not get the message.
🔄 Reposts / Announce / Quote
You cannot boost other posts, or even your own. Nor can you send quote posts.
🤖 Act On Instructions
This is a basic bot. It contains no logic. If you send it a message asking it to take action, it will not. You will need to build something else to make it truly interactive.
📥 Receive Messages
In fact, other than the follow / unfollow stuff, the bot can't receive any messages from the Fediverse. It doesn't know when a post has been replied to, liked, or reposted.
😎 Set Post Visibility
Your posts are either public or a DM. There's no support for things like quiet followers.
📊 Create Polls
Everyone loves to vote on meaningless polls - but this is quite a hard problem for ActivityBot. It would need to keep track of votes, prevent double voting, and probably some other difficult stuff.
🗨️ Change Quote Post Visibility
As quote posts are still quite new to Mastodon, I'm not sure how best to implement this.
🔗 Proper HTML / Markdown Support
Autolinking names, hashtags, and links just about works - but not very reliably. In theory the bot could parse Markdown and create richly formatted HTML from it. But that may require an external library which would bloat the size. Perhaps posting raw HTML could work?
🖼️ Focus Points for Images
Perhaps of less use now, but still of interest to people?
❓ Other Stuff
I don't know what I don't know. Maybe some stuff is total broken? Maybe it is wildly out of spec? If you spot something dodgy, please let me know or raise a Pull Request.
#ActivityBot #ActivityPub #mastodon #phpUS military stocks are rapidly running low due to the war in Iran.
The United States’ ammunition stocks are rapidly running low due to the war in Iran, three sources told the British business newspaper the Financial Times. According to one source, huge quantities of Tomahawk cruise missiles are being fired, and the US Navy will feel the effects of this for several years to come.
Ouvertarisme
Le Numérique des Lumières
Face à la dépendance technologique de l'Europe et à la domination des géants du numérique, l'Ouvertarisme propose une voie nouvelle : une stratégie industrielle et politique fondée sur l'ouverture délibérée - des standards, des logiciels, des données, des matériels et des gouvernances - pour renforcer souveraineté, résilience et innovation. À rebours des logiques de captation et d'enfermement, l'Ouvertarisme fait de la transparence, du partage et de la coopération les leviers d'un numérique humaniste et compétitif. Incarnant l'esprit des Lumières, il trace les contours d'un capitalisme ouvert, où l'excellence européenne se conjugue avec l'intérêt général.
De la politique industrielle à la philosophie, en passant par les exemples concrets d'entreprises et d'initiatives européennes - Probabl, EuroStack, l'Indice de Résilience Numérique - Yann Lechelle propose un manifeste pour un futur numérique souverain, éthique et coopératif.
"L'ouverture n'est pas une faiblesse, c'est une force stratégique. C'est l'arme des challengers et la condition d'un numérique éclairé." - Yann Lechelle
to me french kissing is just kissing, that's how french i am
I'm Reem,‼️the situation is very difficult, there is no food or medicine😢😭
And if there are very expensive prices, close the crossings and the prices have risen significantly💔💔
A while ago I was in an operation and my situation is still difficult and I need food and medicine💔😭
Your donation will save my life, please don't leave me alone, any donation will save my life🙏🏻😭