

Your understanding is correct, yes.
Including both sorting algorithms (or a novel one in addition to the existing one) would definitely complicate the picture, though I’m not really sure how significantly. What I did was fairly simple, whereas adding a new sorting option would require changes to the UI code in addition to back-end changes like I made. It’s not impossible, but it would require more work, and would increase the odds of updates to upstream Lemmy requiring more work to merge in (if they change something in any of the parts of the code we’ve modified, there will be a merge conflict that has to be resolved).
Regarding struggle sessions, there’s no true solution, but I think having the thread fall off the feed fairly soon helps to mitigate them to at least some degree. I don’t have any data to back that up, though, so I could be wrong.
As for implementing a novel algorithm as a replacement to existing sort, I’m no better equipped than you to devise one–in fact, your graphs make clear that you’re more prepared to analyze algorithmic effects than I am–I just plugged a few values in to get a sense of what it was doing at various times after the post was made.
If you’re interested in working on something like that, it could be implemented on test.hexbear.net to see what effects it would have (if we refresh the data every so often, we can get at least some sense of how it affects post rankings). If you are, I suggest reaching out to an admin to get an invite to the dev chat. (I’m unfortunately not likely to have any time for working on Hexbear code anytime soon, though. Plus I don’t really know much of anything about Rust anyway.)
I didn’t write it; that was someone else back in the earliest days of Hexbear, back when it was still chapo.chat. I just took the SQL from the old codebase and ported it into the new one in the appropriate way to make it work.
As far as I know, it is arbitrary, though.