6 ms·
There's a Reddit thread between various users and keltranis, (one of the more senior coders Reddit ever had) explaining the code here: http://www.reddit.com/r/
by aston 13y ago
There's a Reddit thread between various users and keltranis, (one of the more senior coders Reddit ever had) explaining the code here:
http://www.reddit.com/r/programming/comments/td4tz/reddits_actual_story_ranking_algorithm_explained/ http://www.reddit.com/r/programming/comments/td4tz/reddits_a...
And a quotation for those not wanting to click:
*ProfDrMorph* 2 points 1 year ago
So that means all posts in all subreddits (when browsing
'hot') are sorted this way:
1. all posts with more upvotes than downvotes with the
order determined by age (newer posts are preferred) and
popularity
2. all posts with the same number of up- and downvotes in
whatever order the database returns them
3. all posts with less upvotes than downvotes with the
order determined by age (older posts are preferred) and
popularity (posts with a lot more downvotes are preferred)
Because that's what the _hot() function implies if the
sorting algorithm uses it as a 'key'.
*ketralnis* 2 points 1 year ago
Yes that's accurate
- Danieru 13y agoI doubt keltranis is missing the issue. Instead let's assume reddit's devs know what's what think of a why. My guess is they want to fast bury spam. Spam in old posts will have been deleted and thus old posts are more trustworthy. Voting brigades are a smaller risk than the constant flood of spam.
- ketralnis 13y agoNo, spam doesn't have anything to do with it. And actually, older (high-scoring, anyway) links are more likely to have spam comments because the moderators aren't hanging around there anymore.
- kennywinker 13y agoI believe they have other, closed source, anti-spam measures. This might be the reason, but if it is 'tis a silly reason. If I understand correctly, it means that if 75% of people like a post, and 25% dislike it, that means it has a 25% chance of not being successful because the first vote is negative. Overall, this measure is effectively lowering the quality of all content on the site.
- lnanek2 13y agoMaybe you misread, the quote shows it is the intended behavior. They don't care about the number of votes, only if it is more up, equal, or more down. After that they care about age more. The article wants them to base it more on number of votes. You can tell from the parts about returning in whatever order the DB wants that they are going for speed and scalability as well. So more down voted posts being a certain way may not even matter to them as long as they are off the page.
- SideburnsOfDoom 13y ago> Voting brigades are a smaller risk than the constant flood of spam. Are they? This behaviour allows one vote to bury a post. Is the "downvote brigade" risk really so small that you can hand it an opportunity like this?
- samclearman 13y agoIf he has some justification for the formula to be as it is, why hasn't he shared it with us?
- deleted 13y ago[deleted]
- highCs 13y agoThe less hot posts according to reddit are the ones for which people fight each other while the most hot posts are the ones which make unanimity. What's wrong with that?
- evacuationdrill 13y agoIt adds to the hive mind effect you already have with online communities. This algorithm explains frustrations I've had in the past. In 4 years on the site, I've probably submitted 20 times, but the realization that I'd have to try submitting multiple times to get a fair shot at discussion makes it unpalatable for a user that only submits on occasion. Sure, any system can be gamed, but Reddit favors unity over diversity and karma whores over Regular Joe.
- ketralnis 13y agoI'm glad you found that thread and got to the top with it, I hate trying to dive into ongoing conversations and try to change peoples' minds when the hivemind has already made its decision. This comes up every 6 months or so, always with some sensational title like this. It feels a little weird quoting myself, but I also said: > The thing is, the two most important pages are the front page (or a subreddit's own hot page) and the new page. The new page is sorted by date ignoring hotness, and if something has a negative score it's not going to show up on the front/hot page anyway. The two other main opportunities to get popular (rising and the organic box) don't really use hotness either. > So when it comes down to it, what happens below 0 is pretty moot. Smoothness around the real life dates and scores on the site is more important than smoothness around 0, where we don't really have listings that will display it anyway. In summary, there don't exist listings in which the discontinuities at 0 really matter
- jychang 13y agoBut there is! It's called "Not-that-active subreddits". A post at -1 from yesterday, in a subreddit with only 1 post a day, is completely deserving of being on the front page of that sub (top 30) posts. If all negative ones are banished from the top... that's very bad.
- e28eta 13y agoFrom what I've read, I'm in favor of merging the PR. That said, maybe they aren't particularly concerned about subreddits with minimal activity, because by definition not many people use them.
- dllthomas 13y agoBy definition, not many people use any particular minimal-activity subreddit. There are a lot of subreddits. It's certainly possible many people use at least one minimal-activity subreddit.
- Camillo 13y agoThat's begging the question. Posts with negative scores are completely banned from the front/hot page because of this bug/feature/discontinuity. You can't justify it with itself. What you can say is that you want posts to disappear from the hot page as soon as they go to -1, in which case I'll say that it's more than a little weird for the first voter to hold so much power.
- spiantino 13y agoLooking at that code I find it really hard to believe that is the intended formula. It's clearly an attempt at logarithmic magnitude in either direction with a time bonus added in. The fact that the typo usually doesn't affect things much is almost guaranteed - if it made results obviously bananas it would have been found sooner.