• 0 Posts
  • 33 Comments
Joined 1 year ago
cake
Cake day: June 25th, 2023

help-circle














  • Also, there’s way too much trust in instances.

    I say there’s too much care about votes. Because someone can just give themselves infinite votes from their private instance, it makes it all the more worthless.

    Instances should have their own settings on what instances are allowed to keep a local copy.

    There’s a setting for that, it’s called the allowed list - configures who are allowed to federate with you. Beyond that - if it’s out, it’s out.


  • For transparency, this is what a Like payload looks like. The first part is just context for the activitiypub protocol and is pretty much the same for each message. The second part contains the actual data of the message, and the most personal detail in it is the url of your own profile, and the url of the post/comment you like:

    {
    	"@context": ["https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1",
    	{
    		"lemmy": "https://join-lemmy.org/ns#",
    		"litepub": "http://litepub.social/ns#",
    		"pt": "https://joinpeertube.org/ns#",
    		"sc": "http://schema.org/",
    		"ChatMessage": "litepub:ChatMessage",
    		"commentsEnabled": "pt:commentsEnabled",
    		"sensitive": "as:sensitive",
    		"matrixUserId": "lemmy:matrixUserId",
    		"postingRestrictedToMods": "lemmy:postingRestrictedToMods",
    		"removeData": "lemmy:removeData",
    		"stickied": "lemmy:stickied",
    		"moderators":
    		{
    			"@type": "@id",
    			"@id": "lemmy:moderators"
    		},
    		"expires": "as:endTime",
    		"distinguished": "lemmy:distinguished",
    		"language": "sc:inLanguage",
    		"identifier": "sc:identifier"
    	}],
    	"actor": "--URL OF THE USER PROFILE--",
    	"object": "--URL OF THE POST OR COMMENT--",
    	"type": "Like",
    	"id": "-- URL TO THE INSTANCE THAT PASSED THE MESSAGE--",
    	"audience": "-- URL TO THE COMMUNITY THE POST IS PART OF--"
    }
    


  • Generally speaking, lemmy is much more cpu bound than it is bound by bandwidth - so the added bytes don’t matter that much. The example above was just for 1 community. Now imagine the user is subscribed to a dozen communities, but doesn’t even browse lemmy that day. That’s probably thousands of api calls made to keep his server on sync, and 0 requests saved.

    Like the big instances have literally hundreds of thousands of workers running in order to get all the updates out. If one of those calls fails, it gets put back into the queue for retry.

    OP asked if having his server added to the lemmiverse would alleviate the load “Like with torrent”. That is demonstrably not the case - it only adds more workload on the other servers, with a break even point that’s highly variable. Yes, your server will be nice and snappy, but the origin servers have to pay the price - death by a thousand papercuts synchronisation calls.


  • So you need just 15 more users on your instance to break even, if you have 17 in total, you’ve saved 10 calls.

    In this particular example, yes. But only if those 15 people subscribe to the exact same communities. If they don’t, the calculation gets even more complicated.

    I’m not sure why exactly you’re opposed to federation when that’s one of the biggest points of fediverse.

    Some people seem to be under the impression that setting up their own personal server is relieving the pressure on the network. What I trying to get across is that’s not the case, unless it’s being used by a reasonable amount of people.

    I can’t tell you what the sweet spot is - but my guess would be that it’s only going to be at least several dozen, more if their interests (subscriptions) don’t overlap very well.