some way to mark Zombie threads?

True. I rarely open threads from the last page - I always check the first page and read through (I hate being that guy who says, “I didn’t read the thread, but wanted to make sure no one overlooked Completely Obvious Point Made Four Posts Into A Five Page Thread”). But many times people do exactly that, and keep a zombie thread alive and shuffling.

Edit: Please don’t bother with the script - as you said, it’s of limited utility. And I think the people who’d benefit most are probably the least likely to go to the trouble to install a GM script.

Polerius, your script works great, it just flagged another completely useless zombification for me. Thank you for the effort.

By popular demand, below is a Greasemonkey script that warns you, on the forum page, that a thread is likely a zombie. (Puts an “OLD!” message in red, to the left of the thread title)

Since the dates of the OP’s are not available from the forum page, I used a heuristic algorithm based on the thread id’s (assuming that vBulletin gives consecutive id’s to new threads).

Seems to work decently on the few forums I tested it on.


// ==UserScript==
// @name           SDMB highlight old threads in forum
// @namespace      Polerius
// @description    In forum pages, highlights threads that are suspected of being very old
// @include        http://boards.straightdope.com/sdmb/forumdisplay.php*
// ==/UserScript==

(function() 
 {
     var allThreads  = document.getElementsByClassName('alt1');
     var std         = 0;
     var avg         = 0;
     var cnt         = 0;
     var num_sticky  = 0;
     var thread_id;

     // Find all thread id's
     for (var i = 0; i < allThreads.length; i++)
     {
	 if( allThreads*.innerHTML.match(/thread_statusicon_(\d+)/))
	 {
	     thread_id = RegExp.$1;
	     std += thread_id*thread_id;
	     avg += thread_id*1;
	     cnt += 1;
	 }
	 else if( allThreads*.innerHTML.match(/alt=\"Sticky Thread\"/))
	 {
	     // Exclude sticky threads
	     num_sticky++;
	     std -= thread_id*thread_id;
	     avg -= thread_id*1;
	     cnt -= 1;
	 }
     }

     avg /= cnt;
     std  = Math.sqrt((std - cnt*avg*avg)/(cnt-1));

     // Find all thread id's and mark the old ones (whose id is less than one std below the mean)
     // Exclude the sticky ones on top of the forum
     for (var i = 0; i < allThreads.length; i++)
     {
	 if( allThreads*.innerHTML.match(/thread_statusicon_(\d+)/))
	 {
	     if((num_sticky--) <= 0)
	     {
		 thread_id = RegExp.$1;
		 if (thread_id < (avg - std))
		 {
		     allThreads*.innerHTML = "<span style=\"font-size:12px;text-align:center;color:#ff0000;\">OLD!</span>" +  allThreads*.innerHTML;
		 }
	     }
	 }
     }

 })();


And that’s the reason I say I’m a novice programmer. I never would have thought of analyzing the post numbers.

Polerius–perhaps you can take on creating a script that would hide ignored posts. The creator of FFvB says he is no longer going to develop it, and plenty of people here will miss that particular feature on Firefox 4.

Outstanding!

Greasemonkey is such a useful widget.

Why was this thread and the prr thread marked as “Old!”?

Hmmm, neither of those are marked as old in my browser.

Maybe it has to do with the version of Firefox you are running? I’m using 3.6.13.

Or maybe there was an error in the copy & paste of the code? You could try copying the code again.

Just recopy and pasted, and I’m running the same version. Lemme reboot firefox…

Nope - still old.

Maybe because the nature of the complaints remind the computer of a senior yelling at kids on his lawn.

Jokes aside, I do think the Zombie Thread issue is something that really needs to be properly looked into- especially when the threads being resurrected are A) 5-10 years old and B) the people resurrecting them seem to make one post and then not return.

The only “solution” to that is lock them after a certain time period. Obviously, they don’t want to do that, so the best compromise is to ignore it if it bothers you.

I’d like to do just that…ignore them. Currently, I can’t ignore them until after I’ve opened them and remembered to first check the OP date. Most of the time I don’t remember, and its not what I would call ‘user friendly’ to train the user to adapt to the software (it should be the other way around).

Again, If it ever becomes easy to accomplish this task with the software, I would appreciate it.