Introducing New Fediverse Software, Goofed v0.0.1, Minimum Viable Shitpost Edition
https://scrapetacular.ydns.eu/activities/50114ac8-fd26-47cd-8fe0-ad97f0027c5e
Introducing New Fediverse Software, Goofed v0.0.1, Minimum Viable Shitpost Edition
https://scrapetacular.ydns.eu/activities/50114ac8-fd26-47cd-8fe0-ad97f0027c5e
OK, I’m switching the guest posting feature off soon.
Thanks to everyone who tried it out. 10⁄10 responses, would break the fediverse with you all again.
Wow, bold decisions for what it’ll support and not. I like that it’s laser focused on a specific use case. What do you think about the impact to instances’ federation queue when a bunch of single user instances follow a community? 10x the traffic and queue for 10 single user instances than one instance with 10 users.
I ask this as someone that ran a full single user lemmy instance right up until recently and switch to a public piefed due to the traffic multiplication and other concerns.
Oh yeah super interested in this
I briefly entertained doing a self hosted instance but that turned out to be a tall order for a newbie
I’m glad someone gets The Vision, I don’t want to just build Lemmy but in a better language :D
There’s more where that came from
You may notice that some threads have a word count for certain words, I’m working on a feature that I’m calling the Godwin Factor, you pass in a list of words to look for that will tell you if the thread is already a dumpsterfire before you go in.
Say you’re on /c/baking and you see an innocuous thread about apple pie, then you see that it has 274 comments, and 8 people have been called nazis, just look at the picture and move on with your day.
Hopefully. Or it might actually evolve into something worse
THIS IS THE FUTURE FURRIES WANT https://evilmaid.net/blog/trusting-trust-fediverse/interactionPolicy-flow.png
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
Whoa senpai noticed me. There actually is a recursive query format in the latest sqlite for this exact situation, Postgres may have something similar, I just thought a list is fine for the web UI. I’ll have to benchmaxx and pick a strategy for the API.
I actually read that FEP. In my code that is too shameful to release yet, I look for an Object, then look for its Type, then figure out how to deserialize the rest of the object, but this object doesn’t have one. Would it be possible to do something like this:
{
"object": {
"type": "LikeCollection",
"likes": [like1, like2, ..etc]
}
}
Or is that weird. Spare a thought for those in less dynamic languages :D
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’.
I think so? I guess a Like has to happen before an Unlike, would the collection have multiple possible activity types in it?
While I have your ear, I don’t know how yet but I’d like it to be easier for devs to collaborate over AP for anything not involving security.
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 - [email protected] 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 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.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters AP WiFi Access Point DNS Domain Name Service/System VPS Virtual Private Server (opposed to shared hosting)[Thread #154 for this comm, first seen 10th Mar 2026, 22:50] [FAQ] [Full list] [Contact] [Source code]
Nested comments are super slow
I agree with this. I wrote a lemmy reader for emacs gnus and fetching the comments really leaves a lot to be desired! In fact, I’d say a lot of the Lemmy APIs leave a lot to be desired (no pagination with a cursor!)
A personal reason is that your identity on the fediverse is defined by who owns your private key (used for cryptographically signing your posts), and your domain, anybody who owns these can impersonate you or modify your posts without your knowledge.
I control both now so I’m UNSPEZABLE.
Not any more :) I don’t know any of these people in real life, some people host instances for their real life friends and family, or long time online acquaintances, which would be acceptable to me.
It actually did happen in reality on Reddit, an admin called spez changed the content of a user post. I don’t know if there’s ever been a rogue admin on the Fediverse, there’s no way of knowing.
You might enjoy sqlc
Its like a reverse ORM
SQL -> Go