Casi desde el primer día del menéame, el programa que selecciona la noticia a publicar aplica un bonus a las noticias más recientes. El único objetivo de dichos bonus es publicar rápidamente las noticias que captan el interés de los que votan, en son aquellas que impactan más o que se refieren a un suceso importante.
Obviamente, una noticia que sale publicada en poco tiempo gracias a ese bonus tiene menos votos que las «normales». Así, cada vez que se publica una noticia gracias a su bonus surgen comentarios conspiranoicos de que hay manipulación o que existe una «mafia» que hace que ocurra esto. Nada más lejos de la realidad, es así como funciona el algoritmo y se puede verificar en los resultados del cálculo: la columna BONUS indica el coeficiente que se le aplica, normalmente vale uno, pero en caso de noticias recientes se observará que el coeficiente es mayor que uno.
Cómo funciona
La parte fundamental del código es el siguiente
// BONUS // Give more karma to news voted very fast during the first two hours (ish) if ($link->content_type != 'image' && $link->negatives < ($link->votes/10) && $now - $link->date < 7200 && $now - $link->date > 600) { $link->new_coef = 2 - ($now-$link->date)/7200; // if it's has bonus and therefore time-related, use the base min_karma if ($decay > 1) $karma_threshold = $past_karma; else $karma_threshold = $min_karma; } else { // Otherwise use normal decayed min_karma $karma_threshold = $min_karma; $link->new_coef = 1; }
Lo que hace es muy sencillo. Si una noticia fue enviada hace menos de 2 horas y más de 10 minutos –para evitar que salga demasiado rápido sin que otros tengan oportunidad de votar– su karma se verá multiplicado por un coeficente mayor que 1 y menor 2. Este es el valor que se puede ver en la columna BONUS explicada anteriormente.
El valor del coeficiente depende del tiempo que ha pasado –decae proporcionalmente–, es lo que se hace la primera línea resaltada. Valdrá casi 2 a los pocos minutos de haber sido enviada y decaerá proporcionalmente a 1 al llegar a las 2 horas
Además hay otra restricción. El bonus no se aplica si la noticia tiene más de un 10% de votos negativos.
No hay magia, no hay manipulación. Es un algoritmo que está implementado desde el principio y que funcionó en general muy bien para publicar rápidamente aquellas noticias que los votantes consideran muy relevantes.