Interesting concept, it would be nice to provide instructions for instance admins.
Also, I would suggest adding tags, that way instance admins can select specific tags if they want to. It would help create a better local feed for new instances.
Interesting concept, it would be nice to provide instructions for instance admins.
Also, I would suggest adding tags, that way instance admins can select specific tags if they want to. It would help create a better local feed for new instances.
To be honest, setting such a goal is scary to me, I have been working on my self-confidence, and I wouldn’t have been able to do it a few years ago. I try to remind myself that I am an autistic with ADHD: if I had food, meds, a bed, a place to study, and the frequent affirmation of a similarly interested peer group I would be happily studying 12 hours a day.
Super Crunchers seems like a good place to start, it’s a book about how quantitiative analysis can be used for social sciences.
I am guessing you didn’t add enough “big corps bad”.
PS big corps bad
A plugin system that allows for custom scoring methods is a good idea, IMO.
This would allow instance admins to install whatever plugins fit their users’ needs. See how many instances are deploying multiple clients like default Lemmy, old Lemmy, alexandrite, and many more.
Arbitrary code execution is not safe, so it would probably require an admin permission to install plugins.
Some ideas for interesting scoring/sorting methods or feed generation in general:
Some of these services are not cheap to host, but the fediverse allows for multiple solutions to coexist. Some servers will charge for premium features, some servers will not provide them, some people will self host over engineered solutions, and big corps will show/sell ads and track user data (never forget big corps bad).
I admire your enthusiasm, so I would like to chime in with my 2 cents. I see a solution to an undefined problem, thus we cannot evaluate if said problem is solved by the solution.
Were I to redesign Lemmy, I would start by defining the requirements of that software. Things to consider here would be:
Then, I would define operations like:
Then, I would look deep into Lemmy’s architecture in order to understand the complexity of these operations (time, memory, and developer effort). My understanding is that Lemmy is using a database to store all data you subscribe to, including posts, comments, upvotes/downvotes and stats across time. With all the data in a database, most read operations become a SQL query. On the other hand, write operations are relayed using the ActivityPub protocol.
Here I would stop for a bit, and see how I can help Lemmy right now. What’s the most value I can offer with as little effort as possible, i.e. the lowest hanging fruit. For the time being, I believe that would be moderation, basic features are missing, and there are many moderation issues someone could help with ideation, testing or implementation. However, a deep dive in moderation domain logic may not be for everyone, nor does it have to be. There are plenty of performance issues to contribute to.
This experience would give you the context needed to design a better architecture for Lemmy.
Last but not least, I suggest starting small. Distributed systems are complex, even seasoned veterans have difficulty getting their heads around it. For example, counting becomes a problem with large enough data.
Well, there is drama, like in any human community, it’s just that this community has half a million computer nerds.
It’s a bunch of people that have been leading the technological revolution of the past decades, all experimenting with something called the Fediverse.
While everything is new and there are a lot of changes, some things are more common than others.
PS Not everyone here is a computer nerd, though that’s something to take pride in IMO, but most of us kinda area.
Got anything to share? source/screenshots/roadmap/feature-set/mock-ups