this post was submitted on 14 Jun 2023
224 points (100.0% liked)
Programming
13362 readers
25 users here now
All things programming and coding related. Subcommunity of Technology.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I don't know a lot about Lemmy's implementation but a difficult thing to deal with is how do you "rank" a post? Like you have a small community of a few active people, but there's federation with a massive community with lots of users - which posts are "better"?
Worse still, there's an inherent lag/delay with the federated posts, a post that was very active in the last hour might have only been federated to the server in the last 5mins - so what do you do, do you bubble up all those posts or ignore it because there's more recent and relevant things?
The kicker is that these decision points aren't instant either, any system that's doing this kind of ranking will have an algorithm as you describe, but that algorithm will take time to process all the data, while the data is coming in batches as each server federates with each other. It's a difficult problem to solve.
It's all open source, you can look at the algorithms here.
https://join-lemmy.org/docs/en/index.html
https://join-lemmy.org/docs/en/contributors/07-ranking-algo.html
I'm aware, what I am getting at is that there's multiple "Right" answers to solving what is essentially a very difficult problem.
I see this as a really clear win over the likes of Reddit and Facebook of making the algorithm more understandable to users so they see WHY they're being fed the information they're getting.