Permanently Deleted


You didn’t just code it with AI, you also wrote all your posts and comments with AI.
Web developer. Lead developer of PieFed


You didn’t just code it with AI, you also wrote all your posts and comments with AI.
Argh, you’re right, I’m sorry. I’ll delete this post.
Permanently Deleted
Wouldn’t it make sense to merge in rseq support well in advance of removing PREEMPT_NONE, not do both at the same time?


Would you agree that a post written by a LLM is “low effort”?
Hosting a fediverse instance is at the higher end of the scale when it comes to hosting. There tend to be a lot of moving parts as it’s complex software.
Host a static site first, just a bunch of plain HTML files.
Then host a Wordpress site.
Then host a fediverse thing.
For Lemmy and PieFed much of the server load comes from communities, not users. It’s communities that do the activity fan out, not users.
Give them enough rope to hang themselves. They’ll learn the hard way.


20 hours of work turns into 20 minutes
The gains, where they exist, are nowhere near that much. In some cases, it makes developers slower (even though they think they’re a bit faster):
we find that when developers use AI tools, they take 19% longer than without - AI makes them slower.
https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/


There is a convention of putting a FEDERATION.md file in the root of your project (there is a FEP about it but I can’t remember what it is, heh) which lists the FEPs your project implements.
e.g. https://codeberg.org/rimu/pyfedi/src/branch/main/FEDERATION.md
There is no standardised API endpoint for discovering this info so basically you just need to lurk in all the dev spaces you can and watch what they’re talking about, stalk each other’s codeberg/github issue queues and PRs and just cope with the jank.


Yes theoretically you could have any type in there but votes are the biggest inefficiency in the system so I’ve only implemented it for them.
There are some nodebb forums that federate with us, which are intended for AP dev discussions - !technical-discussion@activitypub.space for example. Not very active. Also some Matrix channels, again not exactly humming. Everyone is pretty focused on their own projects, really.


There is a discussion but it’s an email chain between myself, Lemmy, Mbin, NodeBB so not really out in the open.
I’m thinking of using the normal OrderedCollection structure that AP has - https://www.w3.org/TR/activitystreams-vocabulary/#dfn-orderedcollection. An object of type ‘OrderedCollection’ with an array of ‘items’.


You’re right, to be more similar to the ActivityPub style of doing things the object should be a “type” of “Collection”, not just suddenly be an array instead of an object. I will migrate PieFed over to that instead.


That sounds pretty fun, I like your extremist take on things.
If you want to federate votes in an efficient way, consider doing them in batches, like this - https://codeberg.org/rimu/pyfedi/src/branch/main/docs/fep-4248.md. Sending batches means building up a queue, etc which is a pain in the ass so you might want to just receive batches and send individually.
You can do nested comments more efficiently by doing a single query for all the comments on a post and then constructing the comment tree in Go, rather than using multiple SQL queries. It’s a bit tricky to code but you can copy PieFed’s code - https://codeberg.org/rimu/pyfedi/src/commit/68d6799be5c321f9abf84d136cafef6de6e3aafb/app/post/util.py#L141
I’d hook up https://easydmarc.com/ for a couple of months to monitor deliverability, just while you’re bedding it in.