(upvotes / age_in_hurs^1.6) * lot_of_penalties
or is it
(upvotes / (age_in_hurs^1.6 * lot_of_penalties))
https://news.ycombinator.com/item?id=1781013
(= gravity\* 1.8 timebase\* 120 front-threshold\* 1 nourl-factor\* .4 lightweight-factor\* .17 gag-factor\* .1) (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)) .8 (blank s!url) nourl-factor* (mem 'bury s!keys) .001 (* (contro-factor s) (if (mem 'gag s!keys) gag-factor* (lightweight s) lightweight-factor* 1)))))
def calculate_score(votes, item_hour_age, gravity=1.8): return (votes - 1) / pow((item_hour_age+2), gravity)
https://news.ycombinator.com/item?id=1781013
Python: