Greasemonkey Killfile January 15, 2006 12:32 PM   Subscribe

Since some users previously indicated an interest in the capability, I've made available a Greasemonkey script which allows users to either highlight or filter out posts on Metafilter and its site siblings, based on conditional matching of text strings or patterns (author or content). Use it as-is or extend/morph the code for your own projects. Caveats apply: 1) this is very much a limited-test release 1.0 script and 2) though a professional coder, my eye for design elements ranges from mediocre to bad. To forestall the hypervigilant, this is a self-link and a pointer post was OK'd by Matt Haughey.
posted by mdevore to Feature Requests at 12:32 PM (35 comments total)

I'd considered doing something like this (especially the highlight bit, so I wouldn't miss comments by OmieWise or bugbread, etc.), but worried that a kill-filter destroys community.
posted by orthogonality at 1:00 PM on January 15, 2006


yeah, a delete filter is like the deleted comments we have now, you end up with a bunch of responses that don't make any sense. I like the other features though and I'll give it a run.
posted by puke & cry at 1:08 PM on January 15, 2006


I am generally neutral on user-directed locally-viewed deletion of messages. However, dating from the heyday of Usenet through paid services and forums, all the way up to (and beyond) Metafilter, it is clear that even those with the best of intentions not to respond to others who have made them angry frequently are unable to resist the temptation to do exactly that when they see further replies from An Evil Person Posting Bad Things.

As my compromise to the "con" side of the filter debate, the default delete condition is of a 90 day fixed duration. This should be sufficient time for even the most aggrieved party to settle their various bodily humours to a restful state, while still keeping the ban on author or topic as a temporary state. If not sufficient time -- or too long -- the default duration is open to change. A few may suggest a duration of 99999 days is insufficient for particular individuals with controversial posting histories. I have no productive comment on that viewpoint.

A secondary compromise is the script's ability to specify that delete filters remain but are set to foreground color equal to background color. This allows Aggrieved Parties to peek at the offending message via cursor highlighting, but forces them to overtly make that choice.
posted by mdevore at 2:47 PM on January 15, 2006


Mystyk created a MeFi Blacklist script back in September, but from the description this one sounds like it does more.
posted by Plutor at 2:51 PM on January 15, 2006


what we really need is a way to mark posts as being read already, and a way to scroll to the first un-read post.

TIA.
posted by delmoi at 3:51 PM on January 15, 2006


Thanks for the reference. I appreciate that I haven't been forgotten.

As for that script, I now wish I could go back and stop myself from creating it. I did it as a challenge, thinking that I could improve upon the work of others and maybe expand it in new directions. I have since come to the conclusion that killfile scripts do, in fact, kill community.

I would like to believe that most others agree with me, at least partially. I think it was a wonderful learning exercise, but I would discourage others from using it. I don't even use it, and I wrote it.

Enough people here keep from using killfiles and other filters to keep discussions moving. Still, what if you had the perfect nugget to contribute, but didn't because you have a script filtering out things for you. When that happens, everyone loses.

All this said, I will continue to host my script, as well as refrain from ill-will towards anyone who creates or uses any killfile or similar script. I just ask you to show deference in favor of using your mind.
posted by mystyk at 3:53 PM on January 15, 2006


delmoi writes "what we really need is a way to mark posts as being read already, and a way to scroll to the first un-read post.

"TIA."


er, like metafilthy does?
posted by orthogonality at 4:38 PM on January 15, 2006


mystyk writes "As for that script, I now wish I could go back and stop myself from creating it."

Yeah, that's why the metafilthy version with rudimentary filtering and highlighting was never released or improved upon. But mdevore's also highlights, which is perhaps worth having.

One feature I'd thought of but never implemented was an ability to only show comments by a particular user, so you could follow (and, usually, refute) his argument. But the few times I floated that idea, no one seemed enthusiastic enough about it for me to spend the requisite time developing it.
posted by orthogonality at 4:43 PM on January 15, 2006


Weird behaviour in MeFi threads - if I pick a user to highlight, and that user has posted in the thread, all posts by all users in the thread are highlighted (highlit?). Any one else see this? I also see a similar effect with the delete filter - if a delete-flagged user shows up in a thread, all responses by all posters to that thread vanish.

(Works as advertised in AskMe and MeTa threads, and on the MeFi/AskMe/MeTa front pages.)

My system notes: Win 2000, Firefox 1.5, Greasemonkey 0.6.4.
posted by hangashore at 4:54 PM on January 15, 2006


So now everybody can killfile me! Hooray!
posted by davy at 5:32 PM on January 15, 2006


i'm with orthogonality on this, and have never been a fan of kill-files in communities. But, as much as I abhor censorship, there is one person here whose posts are sadly, always an absolute waste of time. This poster is rude and shrill beyond belief. He constantly trolls and attacks others, often completely unprovoked.Why he wasn't banned years ago, I'll never know. Hardly a day goes by that he doesn't start an ugly flame war. Seriously.

I'd gouge my eyes out with red hot pokers before willingly reading his obnoxious drivel. Now it seems likely that I'll never have to read another one of his inflammatory and ignorant comments here again. So, thank you, mdveore.

( And if that language strikes some as overly harsh, it's entirely conditioned by the behaviour of the aforementioned poster. You're not likely to hear such a tone from me again).
posted by PareidoliaticBoy at 5:54 PM on January 15, 2006


Just reporting the highlight function behaves the same as hangashores does. Works fine in MeTa, but not on the blue.

WinXP, FF 1.5, GM 0.6.4
posted by Exad at 9:47 PM on January 15, 2006


This poster is rude and shrill beyond belief. He constantly trolls and attacks others, often completely unprovoked.Why he wasn't banned years ago, I'll never know.

but i was. repeatedly.
posted by quonsar at 10:43 PM on January 15, 2006


;-)
posted by ParisParamus at 10:48 PM on January 15, 2006


aww, you're so cute paris.
posted by puke & cry at 12:14 AM on January 16, 2006


I'll take a look at the Mefi problem. It should be fairly easy to duplicate, locate and fix since it's repeatable at will by multiple users.

In my experience, it isn't kill-files which substantially damage a community. Kill-filing has been around forever, supported in one form or another by all of Metafilter's antecedents. Typically it goes something like this: a significant but never particularly large number of users get kill-filed by one or two people, and a significant but never particularly large number of people kill-file one or two excessively annoying people. The pattern holds even assuming you see high percentages of people using software which supports filtering, an extremely dubious assumption to make with Greasemonkey scripts here.

No, in my experience, the behavior which most damages active online communities over the long term is unrestrained flaming and uncorralled abuse. The examples for this on Usenet are legion, extending to this very day. See alt.rec.bicycles.recumbent for an modern example of what was once a relatively pleasant newsgroup after it first formed, turned into a smoking husk by the posting actions of two or three people. CompuServe -- back in its day of millions of paying members (many professional and highly motivated) -- would often suffer user attrition in contentious forums after a huge flame-war, although posting counts themselves rose during battle. This, though CompuServe forums were typically far more controlled than Metafilter. The list of battle-scarred communities is a long one.

You do not have unrestrained flaming here, but it does go farther than many contemporary moderated communities and forums. Moderation which is not a local and temporary filtering of one person's view by their own request via a script file, but a very global, very visible, and very permanent change of the posting map.
posted by mdevore at 1:24 AM on January 16, 2006


I'm tersely anti-killfiles, just because my eyes are pretty good at ignoring things. I'm also anti-adblock, since if I didn't support MeFi or any other site I enjoy with ad traffic, they might go away. I can't think of a single site I visit regularly that I would consciously do without.
posted by Plutor at 4:12 AM on January 16, 2006


*flags mdevore's comment as "damn straight!"*
posted by LarryC at 7:30 AM on January 16, 2006


SOMEONE TELL DAVY I CAN'T HEAR HIM
posted by cortex at 8:40 AM on January 16, 2006


Ah, the problem is that Metafilter site's comment page dumps all comments into one large undifferentiated DIV, so the test on matching text is against the content of all comments together. This will require actual thought to work around. Might have to artificially split comments up by depending on the SPAN class=smallcopy (footer) divider between them. Give me a day; two if it proves painful.
posted by mdevore at 9:06 AM on January 16, 2006


mdevore writes "This will require actual thought to work around. Might have to artificially split comments up by depending on the SPAN class=smallcopy (footer) divider between them."


This is what I did in the (unreleased) version of MetaFilthy. It basically made sure that every page ended up structured like a non-preview meta or ask page. (Blue pages have a different structure than Gray or Green, and comment preview yet another structure.) I went through and created a div for each comment, and dropped the existing nodes (BR BR BR text and markup smallcopy-span) into the div., then put the div into the page where the comment had been. It was not exceptionally speedy.
posted by orthogonality at 9:32 AM on January 16, 2006


You know, I've never really thought about if before, but the name "MetaFilthy" drives me away from it.
posted by Ethereal Bligh at 9:43 AM on January 16, 2006


I would pay to have it renamed "MetaFiddler."

At least, if would pay if I were a rich man.
posted by cortex at 10:05 AM on January 16, 2006


MetaFiddler is a good name.
posted by orthogonality at 10:23 AM on January 16, 2006


MetaFilthy is an awsome name.

I really wish matt would put each comment in it's own DIV though. It would make life so much easier.

In fact, if he would just do <div class="poster_name" > we could do all of this with plain CSS.
posted by delmoi at 11:52 AM on January 16, 2006


delmoi writes "In fact, if he would just do <div class='poster_name' > we could do all of this with plain CSS."

Yeah, that would have made it much easier.
posted by orthogonality at 12:01 PM on January 16, 2006


NO.
Do not change the crusty, non-optimal, unorganized markup. Ever. It'll totally break all of my Greasemonkey scripts. And then I'll be really, really inconvenienced.
posted by Plutor at 4:36 PM on January 16, 2006


Plutor writes "It'll totally break all of my Greasemonkey scripts."

You segregated the format dependent stuff in easily replaceable functions, that are called by (or call) format-independent processing, right?
posted by orthogonality at 4:45 PM on January 16, 2006


Okay, I got a fix in (an iteration based on named anchors, for those who care). I'll post a revision tomorrow after more testing. Anybody wants to help test before then, or can't wait, drop me an e-mail.
posted by mdevore at 6:19 PM on January 16, 2006


mdevore writes "an iteration based on named anchors,"

Comments (last I tested) can contain anchors, although I've never seen this in practice (except in my own test comments). MetaFilthy, just to be extra-safe, does some extra work to make sure an anchor isn't part of the comment text.
posted by orthogonality at 6:34 PM on January 16, 2006


I qualify the anchor check by its sibling level and being named a valid number. Hopefully I haven't overqualified it. A little more testing and I'll be comfortable with releasing the update.

But my oh my, the delete debate has turned into quite the show on MetaTalk, with another ongoing topic. That's it, I'm repurposing the script: "Mondo Meta is a Greasemonkey script that allows flexible highlighting of messages based on user-selected conditions, as well as supporting automatic expansion of all links to their full URL. P.S. criteria-based deletion is available, but only if you're a black-hearted meanie."
posted by mdevore at 8:01 PM on January 16, 2006


orthogonality: "You segregated the format dependent stuff in easily replaceable functions, that are called by (or call) format-independent processing, right?"

Funny answer: It's all format-dependant!
Evasive answer: When it's a 100-line script, I don't concern myself with coding standards except where I feel like it.
Heart-felt retraction: I'd prefer well-formed markup and rewriting all of my existing scripts over having the muck around with the current state of affairs forever.
posted by Plutor at 4:13 AM on January 17, 2006


That was in fact painful, but looks like version 1.1 is working fine with the Metafilter comments page now. Plus it's better optimized for speed than the first fix mods which ran like a crippled hog. Still, entire message highlights are a major performance hit because of the need to create a SPAN for each text node on a Metafilter comment page so that a style can be assigned. Consider footer highlights instead.

Those who have an interest in the feature set, or the code, can download Mondo Meta version 1.1 here. Mondo Meta is a modestly intelligent script of 2000 lines which features highlights, link expansion, and another feature that Dare Not Speak Its Name. To make it more interesting and maybe cleanse lingering bad tastes about an Unnamed Feature, I'll toss a sign-up fee and a deuce -- $7 -- to the first 'n' users who report a new noncosmetic bug, about enough to buy two palate-pleasing Jamba Juices anyway. I define 'n' and "cosmetic". Though give me at least a couple hours respite on that, bitte?
posted by mdevore at 1:19 PM on January 17, 2006


mdevore, what's your policy or preference on redistribution of modifications of your Mondo Meta code?
posted by orthogonality at 7:37 AM on January 18, 2006


It's not like I wrote the script for anything other than to tweak my Javascript/DOM/Greasemonkey experience and get a highlighting thing going for me on Meta. It's posted Artistic License. Point 3 in the original license is likely your area of most interest. Assume a liberal interpretation, so pursuant to point 3d "make other distribution arrangements with the Copyright Holder", within extremely broad limits you can do whatever you want with it, although since I pumped a modicum of actual effort into it, I would kinda like to see either a backlink or a credit in a comment.
posted by mdevore at 8:04 AM on January 18, 2006


« Older Meetup: Jan 15, Ottawa   |   Thread about deleted-post bookmarklet was closed... Newer »

You are not logged in, either login or create an account to post comments