shrugal

@shrugal@lemmy.world

Also @shrugal.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

sj_zero, to fediverse

Link aggregators have a problem on the fediverse. The approach is server-centric, which has positives, but it also has major negatives.

The server-centric approach is where a community belongs to a certain server and everything in the world revolves around that server.

The problem is that it's a centralized formula that centralizes power in a the hands of a whichever servers attract the most users, and potentially breaks up what might be a broader community, and makes for a central point of failure.

Right now, if user1@a.com and user2@b.com talk on community1@c.com then a lot of things can happen to break that communication. if c.com defederates b.com then the communication will not happen. If c.com breaks then the communication will not happen. If c.com shuts down then the communication will not happen. If c.com's instance gets taken over by management that doesn't want person1 and person2 to talk, then the communication will not happen.

Another problem is that user1@a.com and user2@b.com might never meet, because they might be on community1@a.com and community1@c.com. This means that a community that could reach critical mass to be a common meeting place would not because it's split into a bunch of smaller communities.

Mastodon has servers going up and down all the time, and part of the reason it's able to continue functioning as a decentralized network is that as long as you're following people on a wide variety of servers then one server going down will stop some users from talking but not all of them so the system can continue to operate as a whole. By contrast, I'm posting this to one server, and it may be seen by people on a wide variety of servers, but if the one server I'm posting this to goes down the community is destroyed.

There are a few ways to solve the problem...

one method could work as something like a specific "federated network community". There would be a local community, and the local community would federate (via local mods, I presume) with communities on other instances creating a specific metacommunity of communities on many instances that could federate with other activitypub enabled communities, and if any of the federated communities go down the local community remains. If any servers posed problems they could cease being followed, and in the worst case a community could defederate totally from a server (at a community level rather than a server level) In that case, community1@a.com and community1@b.com could be automatically linked up once both connect to community1@c.com (I'm thinking automatic linking could be a feature mods could turn off and on for highly curated communities), and if c.com shuts down or defederates with one of the two, user1@a.com and user2@b.com would continue to be able to talk through their federated network.

Another method would be something more like hashtags for root stories, but I don't know how server-server links would be accomplished under a platform like lemmy, kbin, or lotide. I don't know how hashtags migrate on mastodon type software and how that migrates. In that case, it might be something like peertube where a network is established by admins (or users, I don't know) connecting to other servers manually.

Finally, I think you could implement the metacommunity without changing the entire fediverse by having the software auto-aggregate metacommunities. You could create a metacommunity community1 on a.com that would then automatically aggregate all posts on communities called community1 on all known servers. The potential downside of this is you could end up with a lot of noise with 100 posts of the same story, I haven't thought much about how you could handle duplicates so you could participate but wouldn't have 100 similar posts. In this case with respect to how to handle new posts, each metacommunity would be a local community and new individual posts would be posted locally and federated to users on other metacommunities. If metacommunities of this sort became the norm, then the duplicates problem may be solved organically because individuals using metacommunities would see the posts on other metacommunities and wouldn't bother reposting the same story, much like how people see a story and don't repost in individual communities.

One big problem is scaling, doing something like this would definitely be a non-trivial in terms of load per community. Right now if one person signs up to one community, they get a lot of posts from one server. Under a metacommunity idea like this, if one person signs up to one community, they get a lot of posts from many, many servers. lemmy.world has 5967 total instances connected to it, and 2155 instances running lemmy, lotide, kbin, mbin, or friendica that could contain similar types of community, that's a lot of communities to follow for the equivalent of one single community, especially if some of the communities in the metacommunity have a lot of traffic in that community. You'd have to look at every known server to first see if it exists and second if it has a community appropriate for the metacommunity, and the metacommunity would have to routinely scan for dead hosts to remove from the metacommunity and live hosts that may start to see an appropriate metacommunity has been created.

I'm sure there are other solutions, but I'm just thinking of how things work within my current understanding.

Of course, for some people, the problem is one they don't want solved because it isn't a problem in their view (and that's a legit view even if it's one I'm not really amenable to). Some people prefer smaller communities, or want tighter control over their communities. For servers or communities that don't want to be brought into a metacommunity, it seems like some sort of flag to opt-out (or opt-in as the case may be) should be designed in -- I'm thinking something in the community description like a textflag NOMC or YESMC that server software would be designed to respect.

With respect to moderation, It seems to me that you could have a variety of strategies -- you could have a sort of default accept all moderation where if one instance moderates a post other instances take on the same action, or whitelist moderation where if one instance or one set of moderators on a whitelist take an action then other instances take the same action, or a sort of republican moderation where if a certain number of instances take an action then other instances take the same action, and probably an option for individual metacommunities to only accept moderation from the local community the original post came from. I suspect you'd want a choice in the matter per metacommunity instance on a server.

shrugal, (edited )

I imagine it like friend requests between communities: x@instance.a, all-about-x@instance.b and x-is-great@instance.c could send each other friend requests and merge into one federated meta-community about x. Then if one instance goes down the other two are still there to keep the meta-community alive, and if one goes rogue the others can just unfriend and keep going without it.

The nice thing about manual federation is that the communities don’t have to have exactly the same name, and the mods can keep malicious or troll communities out. And ofc you could still have client-side control if you want to, e.g. add or remove a community just for you locally, or create your own local meta-community.

shrugal,

Starting your own instance doesn’t solve the problem of big communities being reliant on the one specific instance they are hosted on to not go down or rogue.

shrugal, (edited )

The database, storage and network are usually the bottlenecks in these kinds of websites, not the programming language. It might add a few ms of latency, but the big lags come from congestion or bad db queries.

shrugal,

Most point and click adventures take about 6-10 hours in my experience. My favorites are the Monkey Island and Deponia games.

Instagram Users Shown Transphobia As Promotional Tool To Join Threads (neuromatch.social)

The link goes to this users Mastodon post on the subject. I’m going to copy part of the text of his post without having to post the Threads post they were shown. Click through if you want to see for yourself, avoid if such things are upsetting to you....

shrugal,

I’ve literally never seen anyone say this except FediPacters as a strawman.

I’ve seen that quite a few times already, mostly in the form of “it’s stupid to preemptively defederate, we can always defederate later”.

shrugal,

Oh, he is even “urging” them, so brave!

shrugal,

If you decide to go down the Synology route, make sure it supports docker. Their cheaper models don’t support it, and it’s the gateway to self-hosting all the services that are not available directly from the package manager.

what messaging app do you use?

So here’s the thing, every time I try to move away from Facebook messenger I run into the same problem, nobody else in my friends or family actually want to use a secure, private messenger app like signal or telegram, my wife, my parents, my in-laws, my friends they’re ALL on Facebook and they will never take signal...

shrugal,

Signal if possible, WhatsApp if not. I’m also trying out Session, but it’s still very much work-in-progress.

shrugal,

That’s the capitalistic definition of freedom. Everything is allowed as long as you have the money.

shrugal,

Idk if you really can copyright a letter of the alphabet.

What's your opinion on Opera browser?

I've been using Opera for a few years now and I've been enjoying its features, UI and everything. However, I (surprisingly to me) haven't noticed many people mentioning it. Also, when I was on Reddit and mentioned that I use it I got downvoted which left me somewhat confused haha....

shrugal,

The Opera of today is not the same as the one from back in the days! The original company sold all their code and rights to a chinese consortium in 2016. Since then it’s basically a variant of chromium, with some propriatary features and tracking added. I don’t know the new owners, so I don’t trust them with my browsing data!

shrugal,

I switched from Chrome to Firefox about a year ago, because it’s just better for personal privacy and the freedom of the web as a whole. Brave would be my second choice, but FF lets you easily self-host a sync server for all your browsing data.

shrugal,

Wow that looks good, thank you very much!

shrugal,

Looks good so far, but two major features I want from a note taking app are still missing: Handwriting and table calculations. If they can add good support for those then I’ll definitely switch!

shrugal,

What’s wrong with Fedora?

shrugal, (edited )

RHEL is not Fedora. It’s still lead by a community council, even if you don’t agree with some of their decisions.

In case of your first link it wasn’t even about making a decision. The project has always had the clear stance to not include patented works, so there were no two ways about it.

shrugal,

Afaik it is all connected to the domain name, so they could definitely start to impersonate any .ml instance. Other instances could detect that the signing key for federation messages changed, but that’s about it. Their admins would probably have to block/defederate them manually.

shrugal,

Because DNS is the user-facing part of the whole system. There is plenty of trouble with everything else, but you usually don’t see that as a user. Also it’s a hierarchical system with big providers/governments giving and taking names as they see fit, so there is always the possibility to get screwed.

shrugal,

This is not the solution! Being able to pick a server to trust your data and content moderation with is a feature, not a bug.

What we do have to do is make this feature more resilient and easier to use. Like adding the ability to easily transfer accounts and communities between instances, or even change the domain name of an entire instance.

shrugal, (edited )

Cryptocurrencies and social platforms are completely different beasts. In crypto I want no moderation/censorship, I want anonymity, and there is a payout system so nodes can compete for something. This is all different when building a social network, so you can’t just use the same architecture. Building social structures and trust is desirable in a public forum, not something you want to get rid of.

shrugal, (edited )

Of course! Moderation is censorship. There is certain content I don’t want to see, and I don’t want to have to filter it myself so I join a community of seemingly likeminded people who censor content based on rules I generally agree with. They ban users who break the rules, keep spambots out, block malicious instances and so on, and if they are doing their job right then it builds trust and attracts more people.

what about it makes you think that to be the case?

Because you want to strip all that out and abstract it away. Who do you think would do the moderating and spam blocking? Who aggregates posts from all over the world and presents a sorted list to a user on their smartphone? It would be the wild west with users having to do everything themselves. I know it’s tempting to think about building a Fediverse without instances, but afaik you need these social structures for the system to work.

Crypto for example only works because you can define the rules mathematically beforehand, and then hand out money for computers to check them. That’s just not possible with a public forum, at least not yet imo.

shrugal,

What I’m saying is that you cannot do those features with what you’re proposing, regardless of what you might want to do.

shrugal,

Sure 😁

shrugal, (edited )

There is so much wrong with this that I don’t even know where to begin.

I don’t intent to be rude, but this is just not how you build a decentralized/distributed system. The network would grind to a halt if every user app had to search recursively through a portion of the network, and aggregate & rank posts by itself. Aggregate values (communities, votes and so on) would never be right, because you’d never be able to acually gather all events for a particular entity in time. This might work in a local network of 10 nodes, but not on a global scale.

On top, who would pay for those nodes you are querying? There is no relationship between the users and the nodes, so why would anyone just run a node for others or be willing to pay anyone else in this scenario? Servers cost money and stuff. And your spam filtering and moderation solution would be the exact same as with instances, so nothing is gained here.

Maybe have a look at the Session messenger and their Oxen network. They go to great length to make sure the work is equally distributed among nodes and they are compensated fairly. This doesn’t just happen magically by itself, and there are many bad actors who will try to exploit any weakness they can find.

So I just think it’s impossible to create something like lemmy in an anonymous way, because content moderation is a human decision. There is no one correct mathematical solution, and I also can’t send some kind of filter query to a server to do it for me. All I can do is read the general rules that another human being has wrote up, subscribe to their moderation “service”, see how they are doing, and decide to stay or switch to another.

Similarly, if I don’t want to aggregate all the posts in the world by myself (as you are suggesting), then I’ll have to fine someone to do it for me, and somehow pay that someone for their service. This part is actually kind of solvable (again look at Session), but it is not straight forward at all! It would involve crypto currencies, mining/staking, and some kind of client-side monetization. For this part I think trusted instances are just a much better solution, because we are building a social structure here anyway.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • osvaldo12
  • magazineikmin
  • hgfsjryuu7
  • Youngstown
  • InstantRegret
  • slotface
  • khanakhh
  • ethstaker
  • thenastyranch
  • rosin
  • kavyap
  • everett
  • DreamBathrooms
  • Leos
  • Backrooms
  • cubers
  • Durango
  • tester
  • GTA5RPClips
  • mdbf
  • anitta
  • tacticalgear
  • modclub
  • normalnudes
  • cisconetworking
  • provamag3
  • lostlight
  • All magazines