Hey JackJack, been using your service for quite a while. Collected plenty of plus and minus and evened everything out to Zero. Figured out some suggestions

Those pluses are kinda bulky to load on a lengthy page and often create plenty of pings to your server. And I guess most data would goes to the header instead of data. What if when the page initialize, fetch a JSON of all pluses and minuses (Cache for 1 or 2 minutes if you would consider even saving more DB processing power) and match it locally. So there would be less request to your server.
Extra thing that I had made to made reading new post on forum like reading your Facebook Stream at
https://bitcointalk.org/index.php?action=unread with this script (I code in a very ugly way, much of a newbie coder with 3 years of experience)
Made a snippet for the Unread Post since last visit page to auto update itself without all the refresh, ugly code

At least it updates and you can catch up the latest news!
var script = document.createElement('script');
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
script.onload = function() {
setTimeout('confirminit()',1000)
};
function confirminit(){
$('#bodyarea').prepend('<br><center><a href="#" style="font-size:16px" onclick="iaa=0;ajaxinit()">Press to start autoupdates (12 seconds interval)</a><br></center>')
}
var audioElement = document.createElement('audio'); audioElement.setAttribute('src', 'http://chromaticcreative.net/bitcoin/p.mp3')
var $page
var iaa=0
function ajaxinit(){
iaa++
if(iaa>50){
$('#bodyarea').prepend('<br><br><center><a href="#" style="font-size:16px" onclick="iaa=0;ajaxinit()">Timeout, press to reconnect updates</a><br></center>');return false;
}
$.get(location.href, function(data) {
$page = $(data);
if($('#bodyarea table.bordercolor table.bordercolor tr:nth-child(2) td:nth-child(3)').html()!=$page[42].children[2].children[0].children[0].children[0].children[0].children[0].children[1].children[2].innerHTML){
audioElement .play()
}
$('#bodyarea').html($page[42].innerHTML)
setTimeout('ajaxinit();$(".catbg span").text("Bitcoin Forum")',12000)
setTimeout('$(".catbg span").text("Until Next Update: 5")',7000)
setTimeout('$(".catbg span").text("Until Next Update: 4")',8000)
setTimeout('$(".catbg span").text("Until Next Update: 3")',9000)
setTimeout('$(".catbg span").text("Until Next Update: 2")',10000)
setTimeout('$(".catbg span").text("Until Next Update: 1")',11000)
});
}