A overwhelming amount of feedback for Help us redesign the Stack Overflow homepage was: "Keep the way the front page looks, just tweak the question order"
Interesting algorithms were suggested by Kip and radp, but there was no real playground to experiment.
Enter Home Page MiniCollider™ Question Reordinator™
Users with 200 rep or more on Stack Overflow have access, it includes the 3000 last active questions, favorite tags, ignored tags and top tags you answered (with score and count).
You can play around with the question order, all you need is to plug in your ordering function:
function calculateWeight(q) {
return 1 /* your magic ordering goes here */ ;
}
/*
available params on q:
views,
score,
answer_count,
tags(array),
last_activity_delta,
creation_date_delta,
has_accepted_answer,
total_answer_score,
is_closed
globals:
topTags array containing top tags for this user eg: {name: 'tag-name', count: 1, total_score: 1 }
ignoredTags array of strings
interestingTags array of string
*/
The experimental page lives at: https://stackoverflow.com/new-home
Once you get your magical ordering you can save a preset by clicking the "update" button. This will refresh the page and create a preset (which looks like http://stackoverflow.com?preset=41). You can refresh the page by pressing the refresh button at any time while debugging.
This allows you to do pretty cool things, like this preset by Nick Craver. The page is expensive to download, so there are limits; you may only access it once every 30 seconds.
Can't wait to see what cool presets you come up with! Please post your presets here with an explanation of why you think it is awesome.
Note: this new-home page is experimental, we are not going to keep the same architecture when we go live with the new design. The live design will perform all ordering, server side.
return q.user_id == 309308 ? Number.MAX_VALUE : Number.MIN_VALUE
was foiled when I realizeduser_id
isn't available :(get_score
exactly returns... I get 80 for Python and 8 for C, all the rest (ignored and unignored tags alike, tags where I have upvotes for etc.) gives 0.has_accepted_answer
must not have weight at all, because often bad answer is accepted before good appears (because questioner was too hurrying and guy with much better answer just was not quick enough). Sometimes accepted answer has score below zero, you know... Questions with accepted answers must not be far from top also because answer can be just useful/interesting for SO user.