How would I add a new ranking algorithm to Lemmy as a contributor? I’m a developer by trade, but unfamiliar with Rust and the codebase of Lemmy specifically. It doesn’t seem like Lemmy has a concept of ‘ranking plugins’, so whatever I do would have to involve an MR.

Specifically, I’d like to introduce a ranking system that approximates Proportional Approval Voting, specifically using Thiele’s elimination methods, like is used in LiquidFeedback.

I’m pretty sure that with a few tweaks to Thiele’s rules, I can compute a complete ranking of all comments in a thread in O(ClogC + E + VlogC), where C is the number of comments, E is the total number of likes, and V is the number of users. This would also support partial approvals, upvotes could decay with age.

I believe this would mitigate the tendency towards echo chambers that Lemmy inherits from Reddit. Lemmy effectively uses Block Approval Voting with decays to rank comments and posts, leading to the same people dominating every conversation.

  • solrize@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    3 months ago

    Lemmy needs less algorithms rather than more. If they’re accepting voting-related patches, maybe write one that turns off voting and just shows everythng chronologically. There is actually no way to do that right now. Sort by “new” orders the top level comments in a thread most recent first, but keeps the threading intact. There should be a setting that flattens out everything and sorts purely by timestamp.

    • CrashLoopBackOff@lemmy.caOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      3 months ago

      Then the conversation would be dominated by whoever has the most time to make posts, which isn’t what I’m going for. I’d rather have a method that satisfies Proportional Representation.