Created
August 9, 2011 13:05
-
-
Save jashkenas/1133987 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ; Ranking | |
| ; Votes divided by the age in hours to the gravityth power. | |
| ; Would be interesting to scale gravity in a slider. | |
| (= gravity* 1.8 timebase* 120 front-threshold* 1 | |
| nourl-factor* .4 lightweight-factor* .3 ) | |
| (def frontpage-rank (s (o scorefn realscore) (o gravity gravity*)) | |
| (* (/ (let base (- (scorefn s) 1) | |
| (if (> base 0) (expt base .8) base)) | |
| (expt (/ (+ (item-age s) timebase*) 60) gravity)) | |
| (if (no (in s!type 'story 'poll)) .5 | |
| (blank s!url) nourl-factor* | |
| (lightweight s) (min lightweight-factor* | |
| (contro-factor s)) | |
| (contro-factor s)))) | |
| (def contro-factor (s) | |
| (aif (check (visible-family nil s) [> _ 20]) | |
| (min 1 (expt (/ (realscore s) it) 2)) | |
| 1)) | |
| (def realscore (i) (- i!score i!sockvotes)) | |
| (disktable lightweights* (+ newsdir* "lightweights")) | |
| (def lightweight (s) | |
| (or s!dead | |
| (mem 'rally s!keys) ; title is a rallying cry | |
| (mem 'image s!keys) ; post is mainly image(s) | |
| (lightweights* (sitename s!url)) | |
| (lightweight-url s!url))) | |
| (defmemo lightweight-url (url) | |
| (in (downcase (last (tokens url #\.))) "png" "jpg" "jpeg")) | |
| (def item-age (i) (minutes-since i!time)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment