Live data from Hacker News

Lemmy: Federated Alternative to Reddit in Rust

github.com

31–40 of 108 posts

Re: Lemmy: Federated Alternative to Reddit in Rust

#31

Serious question: from a user perspective, isn't spam going to be insanely bad in the Fediverse? How do you stop spam without a central authority?

As someone running a federated server (mastodon); you get more problems with local spam than with foreign spam.

Most instances will quickly shut down any spam, so it doesn't really fill the federated timeline that much. Local accounts are something you as an administrator need to act on, so they are the annoying ones.

In my experience, instances that allow spam are rare and the get quickly blacklisted by everyone from showing up in the timelines (there is luckily a neat middleground between blocking the instance entirely and not doing that; allow local users to subscribe to that instance, which is my default action for all instances that aren't hosting illegal material for me).

Re: Lemmy: Federated Alternative to Reddit in Rust

#32
post #19

Earlier quoted context omitted.

So delegate this all to a few large blacklists (spamhaus)? And block all residential users by default?

Generally not, proactive blocking or silencing is reserved for instances that host illicit content like child porn or hate speech. Inter-moderator communication happens between your instance admin/democracy (or whatever structure your instance uses) and other instances. Traditional tools like muting a user, silencing an instance (if they're spamming up the Federated Timeline on other instances, like Humblr.social doe…

> Large instances like Mastodon.social are generally blocked tho (if your admin/democracy cares about a vibrant Fediverse).

Ah, so you achieve vibrancy by .. blocking a large number of the users?

Re: Lemmy: Federated Alternative to Reddit in Rust

#33

Earlier quoted context omitted.

Generally not, proactive blocking or silencing is reserved for instances that host illicit content like child porn or hate speech. Inter-moderator communication happens between your instance admin/democracy (or whatever structure your instance uses) and other instances. Traditional tools like muting a user, silencing an instance (if they're spamming up the Federated Timeline on other instances, like Humblr.social doe…

That sounds like it only works because spammers aren't really trying yet.

Malicious actors definitely try to spam and data mine the fediverse, but their accounts get disabled by the local instance admin, and when they try evading that by spinning up a few instances on their own domains to hide their spam or follow bots behind, those instances generally get blocked by instances that see said spam toots or spam followers.

Re: Lemmy: Federated Alternative to Reddit in Rust

#34

Earlier quoted context omitted.

Another, decentralized, project https://getaether.net/

Yup, creator of Aether here. Small difference, this is federated, Aether is decentralised. Far as I understand this is more like Mastodon where some people host servers that talk to each other. Aether is more like a decentralised Usenet, every user is a server.

Can you explain the 6 month thing to me? If I understand correctly, posts/comments older than 6 months get deleted, unless you decide to save it locally? Even if someone saves a post older than 6 months locally, others cannot see it, right?

That does not seem like a feature to me, and completely breaks geteather imo, sadly. Most of the good content on reddit is older than 6 months. Imagine if reddit decided to delete posts older than 6 months, jesus, every 6 months there would be a flood of the very same questions/posts/comments...

Re: Lemmy: Federated Alternative to Reddit in Rust

#36
post #2

sharing some others in case it helps - https://github.com/mariusor/littr.go - https://gitlab.com/tuxether/anancus

Another, decentralized, project https://getaether.net/

Where the hell is the source-code? Can't find it anywhere linked on the website..

Re: Lemmy: Federated Alternative to Reddit in Rust

#37

The code quality is amazing. Good job.

On the contrary, I thought the code was terrible quality. If someone wrote this code at my company they would be fired, or more likely not hired in the first place.

What makes you say so? Can you give examples?

Re: Lemmy: Federated Alternative to Reddit in Rust

#38
post #37

Earlier quoted context omitted.

On the contrary, I thought the code was terrible quality. If someone wrote this code at my company they would be fired, or more likely not hired in the first place.

What makes you say so? Can you give examples?

Well, for a start... having a single file called "server.rs" which is 2256 lines long is already disqualifying. This file, code structure would be incredibly poor for developer efficiency. It just grows and grows and does all the things while having a vague sounding name like "server.rs" Why is server.rs doing "EditSite." What does the name EditSite mean anyway?

Poor code reuse, same bits of code copy and pasted all over instead of being refactored out into their own methods. Methods which are doing too much different crap. The single responsibility principle is broken everywhere.

Imagine trying to write unit tests for "Perform for EditPost", this method is doing far too much and would be a pain in the ass to fully test. If you're making a method called "EditPost" it should only be doing the actual post editing, not making connections, or user validation or checking for a ban. These should happen in a method which only handles connections, or a method which is called "ValidateUser" which is properly re-used.

Generally speaking, the structure as a whole isn't very readable, poor names, methods and files which are doing too much. The project wouldn't scale well with a bigger team or if it grew in terms of codebase size.

Re: Lemmy: Federated Alternative to Reddit in Rust

#40
post #32

Earlier quoted context omitted.

Generally not, proactive blocking or silencing is reserved for instances that host illicit content like child porn or hate speech. Inter-moderator communication happens between your instance admin/democracy (or whatever structure your instance uses) and other instances. Traditional tools like muting a user, silencing an instance (if they're spamming up the Federated Timeline on other instances, like Humblr.social doe…

> Large instances like Mastodon.social are generally blocked tho (if your admin/democracy cares about a vibrant Fediverse). Ah, so you achieve vibrancy by .. blocking a large number of the users?

[deleted]
Post reply on HN