Tag: Arguing on the Internet

Block Comments by EricJ on mst3kinfo.com

If you're a longtime reader of Satellite News (mst3kinfo.com) like me, you know that it's got a pretty good comments section, except for two things:

  1. A particularly obnoxious and persistent troll by the name of EricJ who insists on pissing in everyone's cornflakes; and
  2. A bunch of other posters with poor self-control who insist on responding to him.

And so, in the tradition of my Hide Techdirt Comments script, I've written a userscript that will block EricJ and replies that quote him. Works with Greasemonkey, Tampermonkey, and presumably any other similar userscript plugins that may be out there.

If there's anybody else who bothers you, you can add other usernames to the blacklistedUsers array, too.

And ordinarily, I wouldn't even name the troll I was talking about, because the entire point here is that you shouldn't give trolls the attention they crave -- but I figure you know, this post might prove useful to other Satellite News commenters, so I should probably put his name in it so that maybe somebody will find it while searching for a way to block all comments from, and replies to, The Original EricJ on mst3kinfo.com.

Enjoy.

// ==UserScript==
// @name          Hide Satellite News Comments
// @namespace     http://corporate-sellout.com
// @description	  Hide comments on mst3kinfo.com, based on user
// @include       http://www.mst3kinfo.com/?p=*
// @require       http://www.mst3kinfo.com/wp-includes/js/jquery/jquery.js
// ==/UserScript==

// List of users whose comments you want to hide --
// you can add more names to this list, but let's be honest, you want to block EricJ.
const blacklistedUsers = [
  'The Original EricJ'
];

const $ = jQuery;

// Comment class
// Constructor
function Comment(node) {
  this.node = node;
  this.nameBlock = $('.comment-author > .fn > a', this.node);
  this.name = this.nameBlock.text();
  this.quotedUserBlock = $('a[href^="#comment"]', this.node);
  
  this.quotedUser = this.quotedUserBlock.length === 1
    ? this.quotedUserBlock.text()
    : '';
}

// Functions
Comment.prototype = {
  constructor: Comment,
  
  check: function() {
    if(
      blacklistedUsers.includes(this.name)
      || (this.quotedUser !== '' && blacklistedUsers.includes(this.quotedUser))
    ) {
      this.node.remove();
      return true;
    }
    return false;
  }
};

$('.comment').each(function() {
  const cmt = new Comment($(this));
  cmt.check();
});

License

I'm not a lawyer, but my opinion as a programmer is that this script is too short, simple, and obvious to be copyrightable. As such, I claim no copyright, and offer no license, because none is needed. Use it however you want, with the standard disclaimer that it comes with absolutely no warranty.

Better Use

Well would you look at that: I've managed a blog post every day for a 5-day week. Even if two of those were written in January.

I don't know what the future may bring, but I'm going to try and do this more often.

I don't know if blogging is a constructive use of my time, but at least it's an enjoyable one. I spend too much time doing shit I don't enjoy.

Obviously in life there are a lot of things you have to do that aren't enjoyable. Paying bills, buying groceries, cleaning up dogshit -- and wouldn't you know it, it's tax season.

But I spend too much time doing things I don't enjoy and don't have to do. For example, I spend way too much time talking to fools and trolls in comments sections.

Yeah, I've discussed this before. See also Somewhere Productive.

I like Techdirt. I like Ars Technica. I like most of the people who post there; they're smart and insightful. But the folks who aren't smart or insightful sure can drag a conversation down.

So I'm going to try, once again, to spend less time talking to them and more time blogging.

What to post about? That's the rub. Gotta prime the pump, find something to get me started. Sometimes I'll start in on something like the Spider-Man game and find I've got two posts out of it. Sometimes I'll try and force it and...wind up with a navel-gazing, blogging-about-blogging post like this one. I don't like these posts very much, but I guess they can't all be winners.

Besides blogging? I'd like to start writing books again. I've got at least three more Old Tom stories bouncing around my noggin, as well as ideas for a series about a programmer who gains psychic powers from an alien brain parasite, a law firm that deals in the supernatural (hopefully something that feels original and not too similar to the late Batton Lash's Supernatural Law), a take on the Narnia-style "children transported to a fantasy world" genre where the kids come back as traumatized adults...plus I'm about halfway through a book-length version of my Tempin' Ain't Easy blog post from 2012, but I may have to start that over, because after awhile it became clear that the format doesn't fit a book as well as it fit a blog post.

What else? Well, there are certainly some interesting open-source projects out there, and I sometimes think hey, I could help out by contributing to this. Something for me to think about.

At any rate, we'll see how long I can keep up my blogging streak. I've got at least two more that are just about ready to go for next week.

My Friend Kazz

I knew a guy named Alex McDougall. But everyone just called him Kazz. Even when we met him in person.

If you knew Kazz too -- and, if you're reading this blog, there's a good chance you did -- then you know what this post is going to be about.

Kazz struggled with substance abuse and mental illness. And last weekend he took his own life.

I'm heartbroken. If you knew Kazz, I'm sure you are too.

So the first thing I'm going to do is talk about the National Suicide Prevention Lifeline. If you have suicidal thoughts, please call 1-800-273-8255 and get help. I don't know who you are out there reading this right now. I just know that Kazz was somebody special, that the world was a better place with him in it, and whoever you are, there are people who feel the same way about you. Hell, there are total strangers, people who have never even met you, who feel that way about you, and they're on the other end of that phone call.

Pass that along to anybody who you think needs to hear it.

And now I'm going to talk about Kazz.

I'd known Kazz since 2002, a time when people still used messageboards, and "Internet celebrity" meant guys like Scott Sharkey. Sharkey had a community built around him, in the #finalfight IRC channel; one of the admins there, who went by Terra in those days and goes by Maou in these ones, started a messageboard at boards.pyoko.org.

Kazz signed up in the early days. He posted a GIF called Man Gun.

A bipedal horse, holding a gun that fires men instead of bullets. The gun says MAN GUN on the side.

He started a thread called "Pretend It's a Restaurant" (subtitle: "Pretending is fun!").

We didn't know what to make of this guy at first. He wasn't always funny. But he was always weird. Off-kilter.

In time, he and I became friends. Though anyone who remembers those days will tell you that sometimes, we had a funny way of showing it.

Kazz and I fought, a lot, over trivial nonsense that I mostly don't even remember. We were a couple of opinionated, egotistical guys in our early twenties, and we pushed each other's buttons -- sometimes by accident, and sometimes on purpose. We weren't always friendly -- but we were always friends. When push came to shove, we had each other's backs. We gave each other plenty of shit, but if anyone else gave one of us shit, the other one would come to his defense.

We'd joke about it, too; about how we were always at loggerheads. Remember when The Colbert Report first started, and there was a recurring segment with the On-Notice Board? There was a fan site at the time that allowed you to make your own On-Notice Board. Here are a couple of iterations of mine:

  • Sega, You're On Notice
  • Cardboard, You're On Notice
    Erin knows what she did.

Anyway, we outgrew all that nonsense by our mid-twenties.

In fact, I'm pretty sure I remember our last fight. Not the fight itself; I have no idea what it was about. But how it ended.

It was 2007. I don't remember the particular details; we were mad at each other about some damn thing or another again. Arc, who was the guy in charge of the Pyoko boards at the time, said he'd had enough, and laid down the law: we were no longer allowed to speak to each other, or even mention each other, or he would ban us.

To this day I don't know if that was administrative overreach or a deft bit of psychology. But it wasn't long before Kazz was IMing me with, essentially, "Can you believe this shit? Who does Arc think he is?"

Arc united us -- against him. We never fought again.

Anyway, that rule went by the wayside when Sharkey quit the Pyoko boards and started a new messageboard (then called the Worst Forums Ever, now called Brontoforumus). He kicked it off with this banner:

Hail the Heroes of the Revolution!

That's Sharkey on the left, me in the middle, and Kazz on the right.

I'd like to say that Sharkey chose the two of us because we were such valued leaders in the community, but the truth is, as best I recall, he chose us because we'd posted recent photos that made good reference for the whole Communist propaganda poster motif he was going for: Kazz with his head raised, looking at something off in the distance, and me with facial hair of the sort every Communist propaganda poster needs. (Kazz and I did end up being pretty much the two guys running WFE for awhile after that, though.)

We all met once, the three of us, Sharkey and Kazz and me. It was in the summer of 2004; a bunch of the Pyoko gang gathered in San Diego.

The most memorable moment of that trip -- to me, anyway -- is that Kazz kicked a beer can into the back of my head.

I told the story on the Pyoko boards at the time, and maybe someday I'll be able to find that post on archive.org. In the meantime, here's how I remember it fourteen years later:

We'd been looking for a karaoke bar -- Terra's idea -- and had utterly failed to find one. We were walking through the parking lot of a non-karaoke bar, and I heard my friend Jon (not a member of the Pyoko boards, but a San Diego native we'd invited along) call out "Thad, look out!"

I didn't have time to turn my head before a half-empty can of Keystone collided with it.

I turned around and tried to read the riot act to whoever had done that -- my exact words were "What the fuck is wrong with you people?" -- but you can only have so much success chewing somebody out when you're trying not to laugh. It was funny, God damn it, and I knew it.

Kazz later explained that he'd seen the half-empty beer can on the ground and had the bright idea that he would kick it up into the air and it would get beer on everyone. He had not, of course, meant to kick it into the back of my head; there's no way he could have done that on purpose.

I referenced that event in the fifteenth (and, it's probably fair to say fourteen years later, final) installment of The Mighty Trinity, which ends with Kazz showing up to kick a beer can into a monster's head.

Kazz showing up to kick a beer can into a monster's head
Monster art shamelessly cribbed from Mike and Laura Allred's Madman.
I chose the monster in part because of its name, Thad Reno.

Kazz himself did not contribute anything to that particular story, except the stick figure body that I affixed his head to. It was part of a cartoon he drew called "Meat Man", after he ate chili that was too spicy for him.

Kazz and the Meat Man

I had always hoped that he would come out of all this okay, and someday we would see each other again and I would buy him a Coke and we would laugh about the old days -- the good times, the bad times, the what-the-hell-were-we-thinking times.

Sometimes, life deals you a soul-crushing disappointment. Knowing that Kazz will never get the chance to sit down and laugh about the old days, not with me and not with anyone else -- it's a hard, hard thing to take.

There's a line from Watership Down that's been bouncing through my head: "My heart has joined the Thousand, for my friend stopped running today."

I don't know if Kazz was a Watership Down fan. I do, however, know that he was a Flight of the Conchords fan, and so if he were with us today, he'd probably respond with, "Women love that sensitive nautical shit."

Goodbye, old friend.


Update 2021-06-28: Added Man Gun and Meat Man images.

Mr. Bubble

Aside from changing my photo at the top of the homepage, I've also changed the site's tagline.

The previous tagline, "Now works on phones!" was a double entendre (of the non-sexy kind): at the time I wrote it, I had not only just converted the site over to mobile-friendly design, but I was also (briefly) working a temp job where I was setting up a new phone system. Now works on phones, geddit?

The new tagline is Uncle Thad's Propaganda Bubble.

See, the other week, some guy in the Techdirt comments said this to me:

BTW: keep pushing your web-site because proves that you make your own propaganda bubble and only read what agree with

Now, I never would have seen the post at all, thanks to my Hide Techdirt Comments script. But another poster responded to that post and quoted it. So, quick side note: please don't quote the trolls; I've blocked them for a reason, and that reason is that I do not want to see what they are saying.

That aside, though, I kind of loved the "propaganda bubble" comment -- not least because, at the time the troll accused me of using my website as a propaganda bubble, I had written a total of four posts in all of 2018, and all four of them were lengthy, digressive posts about how much I like "Weird Al" Yankovic.

Mandatory Fun album cover
Does this look like propaganda to you?

Now, the troll actually did accidentally stumble onto something resembling a point: I am posting to this blog more these days, and, as I noted last week, that's specifically because I want to spend less time dealing with assholes.

Assholes being the keyword, of course. Not people who disagree with me. I've got no problem engaging with people who disagree with me; I do it all the time. But, much as trolls like to bleat "You're only calling me a troll because I disagree with you!", there is, of course, a difference.

Shit My Thad Says

James Gunn recently got fired from Guardians of the Galaxy 3 over some tasteless and offensive jokes he made on Twitter some years back.

That's not the subject of this post. You want to read someone's opinion about the James Gunn story, there are plenty of places to do that.

But it did get me thinking. You know who else has said some stupid shit on the Internet that's still up there where anybody can see it? Me.

I've had this blog since 1999. I was seventeen years old when I started it. Some of the content is even older -- KateStory started in 1994.

So, given that this website has a pretty steady stream of stuff I've written that stretches all the way back to when I was twelve? Yeah, let's just say I've had plenty of opportunities to say things that were really dumb. (At least unlike James Gunn, I have the "I was in my teens and twenties" excuse.)

I can think of specific examples, but I feel like pointing them out isn't going to help anybody. If I said something hurtful a long time ago, and I start talking about it again now, I feel like that's hurtful too, even if I'm doing it just to apologize.

So I won't. But you know the type of stuff. I used words I don't use anymore. I made jokes I don't make anymore. Transgression just for the sake of transgression -- say something offensive for a cheap laugh, then when somebody says "Hey, that's offensive," say it's their fault for being offended, and laugh at them.

So if you're going through this site, particularly through the really old stuff, and you find something that makes you say "Aw, come on, man" -- yeah, that's how I feel about it too, and I'm sorry.

Of course, all this raises another question: why keep it? Why keep all the old stuff, even the stuff that I'm embarrassed by or ashamed of? It's my blog, after all; I can delete anything I feel like.

I guess there are a few reasons.

I'm kind of a pack rat. I have trouble getting rid of stuff. I've still got my '90s Spider-Man and X-Men comics -- and I hate that stuff. It's just that actually going to the trouble of getting rid of it (seeing if any of it's worth anything, selling the stuff that is, donating the stuff that isn't) seems harder than just hanging on to it. And my blog doesn't take up nearly as much space as all those shortboxes.

I have a genuine affection for some of this stuff. The KateStory in particular. It's something my friends and I did together when we were kids. Sure, there's adolescent bickering, and dumbass "edgy" "humor", and there are plenty of places where it outright makes me cringe. But it's my friends and me, goofing around, saying whatever damn fool thing popped into our heads. To me, at least, the good outweighs the bad.

If I'm being honest... To a large extent, this blog shows me growing up -- transforming from a dumbass kid into a guy in his mid-30s who is hopefully at least a little bit less of a dumbass. If I cut out the stuff I said and did that was bad or wrong, I'd be cutting out the actual growing up part. And I feel like it would be a copout, like I'd be hiding my mistakes. I'd rather own them. I'm not proud of everything I've written, whether on this blog or elsewhere, but I acknowledge it. This, what I'm writing right now, represents who I am. The old stuff, the stuff I wrote ten or fifteen or twenty-four years ago, represents who I was then. I like to think there's some daylight between the man I am and the kid I was.

A lot of stuff is gone. Prodigy's gone. The Pyoko boards are gone. A lot of stuff I've posted online is gone. Honestly, in a lot of cases that's for the best. But I do sometimes wish I could go back and find something I wrote that isn't there anymore. This is as complete an archive of stuff I've written online as there is. I don't want to make it less complete.

It's not like that damn many people are reading this thing anyway. I mean, let's be honest. I'm not the director of Guardians of the Galaxy. I'm some guy who's been yammering on a blog for damn-near 20 years. If somebody is actually looking back through this blog at some dumb, offensive thing I wrote in my twenties, odds are pretty good that someone is me.

Somewhere Productive

Sometimes I think "Hey, I should blog more."

The reason I've been thinking that lately boils down largely to this post I wrote on Brontoforumus the other night:

...there is a guy in the Ars Technica comments section right now who is arguing that Joss Whedon's behavior isn't anti-feminist, because if he were gay he would treat men just as badly as he treats women.

I need to stop reading the Ars Technica comments section.

Fellow Bronto Büge pointedly responded by quoting my post back to me in modified form:

I need to stop reading the [...] comments section.

She's got a point.

It's not an original observation that comments sections, by and large, are terrible. Even on a site like Ars, where most commenters are insightful, knowledgeable people, the minority who are obnoxious trolls get to dominate the conversation.

Part of why that happens is, people feed the trolls. And I'm part of the problem.

I'm not as bad about that as some people are. I've learned to make regular use of Ars's Block button. Hell, I even wrote a script to add block functionality to Techdirt's comments section. And yet, I still find myself engaging with people who I really shouldn't.

Sometimes it's an honest mistake. Sometimes it's not clear that somebody is a troll when I first engage with them, and it takes a few posts before I realize I've been wasting my time trying to engage in a good-faith discussion with somebody who isn't interested in good faith.

But sometimes, trolls are obvious, and I feed them anyway.

Take the other day, f'rinstance. A guy in the comments for an article titled News of Trump passing cognitive test may make it harder to detect dementia said this:

So we should defend the country by forcefully elimating Trump?

Seriously. Elimating.

And I spent multiple posts responding to this guy. Explaining why democracy, despite its flaws, is preferable to a violent coup.

The conversation ended with me telling the gentleman in question to go fuck himself, and blocking him. Which was entirely foreseeable, from the get-go.

Why did I bother having a conversation with a person who was not only advocating the violent overthrow of the government, but couldn't even spell it correctly? Why didn't I save myself some time and just go straight to the Block button?

Certainly part of the answer is that my impulse control needs work.

Another part is, I really do enjoy writing stuff. I write stuff every day. The trouble is, these days most of what I write is in comments sections on sites like Ars and Techdirt. What I need to get better at is focusing my writing towards somewhere productive -- or, if not productive, at least somewhere that doesn't leave me thinking, "Christ, why did I waste all that time and energy on that?" when I'm done.

Maybe that can be the new tagline for the site.

corporate-sellout.com
It doesn't leave me thinking "Christ, Why did I waste all that time and energy on that?" when I'm done.

(Your mileage may vary.)

Net Neutrality Roundup #1

Ajit Pai has announced, expectedly, that he intends to vote to kill the FCC's Title II net neutrality regulations on December 14.

As I've discussed previously, this was a foregone conclusion, but the point was never to change Pai's mind; there are, after all, two whole branches of government besides the one he serves in.

Tim Wu (the man who coined the phrase "Network Neutrality") discusses one of those branches in a recent op/ed in the New York Times called Why the Courts Will Have to Save Net Neutrality.

The problem for Mr. Pai is that government agencies are not free to abruptly reverse longstanding rules on which many have relied without a good reason, such as a change in factual circumstances. A mere change in F.C.C. ideology isn’t enough. As the Supreme Court has said, a federal agency must “examine the relevant data and articulate a satisfactory explanation for its action.” Given that net neutrality rules have been a huge success by most measures, the justification for killing them would have to be very strong.

It isn’t. In fact, it’s very weak. From what we know so far, Mr. Pai’s rationale for eliminating the rules is that cable and phone companies, despite years of healthy profit, need to earn even more money than they already do — that is, that the current rates of return do not yield adequate investment incentives. More specifically, Mr. Pai claims that industry investments have gone down since 2015, the year the Obama administration last strengthened the net neutrality rules.

Setting aside whether industry investments should be the dominant measure of success in internet policy (what about improved access for students? or the emergence of innovations like streaming TV?), Mr. Pai is not examining the facts: Securities and Exchange Commission filings reveal an increase in internet investments since 2015, as the internet advocacy group Free Press has demonstrated.

A popular argument I've seen from anti-Title II trolls on sites like Ars Technica and Techdirt is "Well if we need these rules, how did the Internet do so well before 2015?" (This rhetorical question is usually coupled with sarcastic remarks about former president Barack Obama.)

That question is disingenuous, for a couple of reasons. First, as Wu notes, that's the opposite of how FCC rules get passed and repealed. We already asked and answered the question of why we needed Title II regulations during the public comment period in 2014. The question isn't "Why did we need these rules in 2015?" It's "Why do we no longer need them in 2018?" It's the oldest forum troll trick in the book: "I'm not going to provide supporting evidence for my argument, I'm going to demand that you provide supporting evidence for yours, even though the burden of proof is on me."

The other reason the "How did the Internet ever survive before 2015?" question is disingenuous horseshit is that Pai's not merely rolling back FCC rules to pre-2015 levels, he's rolling them back to pre-2005 levels. Wu's article continues:

But Mr. Pai faces a more serious legal problem. Because he is killing net neutrality outright, not merely weakening it, he will have to explain to a court not just the shift from 2015 but also his reasoning for destroying the basic bans on blocking and throttling, which have been in effect since 2005 and have been relied on extensively by the entire internet ecosystem.

This will be a difficult task. What has changed since 2004 that now makes the blocking or throttling of competitors not a problem? The evidence points strongly in the opposite direction: There is a long history of anticompetitive throttling and blocking — often concealed — that the F.C.C. has had to stop to preserve the health of the internet economy. Examples include AT&T’s efforts to keep Skype off iPhones and the blocking of Google Wallet by Verizon. Services like Skype and Netflix would have met an early death without basic net neutrality protections. Mr. Pai needs to explain why we no longer have to worry about this sort of threat — and “You can trust your cable company” will not suffice.

So let's, just for a moment, play the trolls' game and explain why we need Title II regulations to protect net neutrality.

There's a convenient list of net neutrality violations making the rounds; I don't know where it originated, but I've seen variations on it in a couple of different places: by a poster named JoeDetroit on Techdirt and a poster named Happysin on Ars Technica. Here are both those versions of the list combined and lightly edited:

2005 - Madison River Communications was blocking VOIP services. The FCC put a stop to it.

2005 - Comcast was denying access to P2P services without notifying customers.

2007-2009 - AT&T was having Skype and other VOIPs blocked because they didn't like that there was competition for their cellphones.

2011 - MetroPCS tried to block all streaming except YouTube. They actually sued the FCC over this.

2011-2013 - AT&T, Sprint, and Verizon were blocking access to Google Wallet because it competed with their own wallet apps. This one happened literally months after the trio were busted collaborating with Google to block apps from the Android marketplace.

2012 - Verizon was demanding Google block tethering apps on Android because it let owners avoid their $20 tethering fee. This was despite guaranteeing they wouldn't do that as part of a winning bid on an airwaves auction.

2012 - AT&T tried to block access to FaceTime unless customers paid more money.

2013 - Verizon literally stated that the only thing stopping them from favoring some content providers over other providers were the net neutrality rules in place.

2014 - Netflix & Comcast sign a deal where Netflix will pay Comcast to stop throttling the service. The very next day, streaming problems vanish.

That is, needless to say, not an exhaustive list.

Meanwhile, there's another kind of forum troll, making the rounds like clockwork on every article I've ever seen on this subject: the "What does it matter? Pai's just going to do it anyway; he doesn't care what we think!" troll.

I've already responded to that argument at length (and up at the top of this post -- "two whole branches of government"). Wu reinforces my point:

Moreover, the F.C.C. is acting contrary to public sentiment, which may embolden the judiciary to oppose Mr. Pai. Telecommunications policy does not always attract public attention, but net neutrality does, and polls indicate that 76 percent of Americans support it. The F.C.C., in short, is on the wrong side of the democratic majority.

That's why people left comments on the FCC website. It's why people are writing articles protesting it now, and planning in-person protests for December 7. Lawsuits are inevitable, and clear and constant reminders that Pai threw out the Title II classification against public opinion makes his weak case weaker.

And that's not the only thing. Come back tomorrow for more.

Shout-Out to Nathan Rabin

A few months back, I tried to start blogging regularly again.

It lasted five days and five posts, at which point I started experiencing some debilitating thumb pain (carpal tunnel?). The thumb pain's not gone but it's under better control, so maybe I'll take another crack at it.

As I noted at the time, there were a couple things that inspired me to give another shot at regular blogging. One was an angry Sonic the Hedgehog fan who was so incensed by a years-old series of blog posts about Ken Penders that he just had to tell me about it when he came across my name in an entirely unrelated conversation. (Since then I've actually toyed with the idea of reposting my old, 1997-era Sonic the Hedgehog comic reviews here, but unfortunately I haven't been able to find them. They were on the same hard drive as KateStory Book IX, which I went to all that trouble to recover nine years ago; I suspect the files are still somewhere in my giant stack of hard drives but I haven't been able to find them.)

But another big inspiration was a blog called Nathan Rabin's Happy Place.

I first became a fan of Nathan Rabin about a decade ago, when he was the head writer of The AV Club and writing a column then called My Year of Flops. Every week for a year, Rabin reviewed a movie that was a commercial failure and evaluated whether it was really as bad as its reputation suggests.

I love bad movies. I love good movies. I love movies that other people don't love. My Year of Flops was right smack-dab in my wheelhouse.

My Year of Flops was eventually completed and released as a book. But the column continued after that first year, under the title My World of Flops; it expanded beyond failed films to include failed books, albums, and recently even a failed presidential campaign.

The AV Club is no longer the kind of site that does features like My World of Flops. So Rabin has started his own, Patreon-supported blog, Nathan Rabin's Happy Place. He's still writing My World of Flops, and other, similar features where he examines lesser-loved media (like Cannon Films). He also talks about other stuff, from politics to brutally honest discussions of his life experiences, including financial hardships and struggles with depression.

But my favorite of his features right now is The Weird Accordion to Al. Rabin literally wrote the book on "Weird Al" Yankovic (it's called Weird Al: The Book), and now he's taking a song-by-song look at Al's entire discography. (As of this writing he's up to Talk Soup from Alapalooza.)

I love Weird Al. I've loved Weird Al for over 25 years. Hell, all this talk about Weird Al has me thinking maybe I'll write some posts about Weird Al. (They won't be as good as Rabin's. But they'll have the added benefit of being about me.)

If you're a "Weird Al" Yankovic fan, you owe it to yourself to read The Weird Accordion to Al. And hey, if you like what you see and can spare a little money for it, kick in on Nathan's Patreon.

It's not just that Nathan's work is enjoyable, insightful, and frequently funny. It's also that his enthusiasm for his blog is infectious. I read a post where he talked about how easy it's turned out to be to write blog posts every day, and I got to thinking, shit, I used to do that for free, I enjoyed it so much. And I thought, y'know, maybe I should start doing that again. I'm going to be writing about whatever the hell's on my mind anyway, whether it's here or on Brontoforumus or The Avocado or the Techdirt comments -- so what the hell, why not here?

So thanks, Nathan Rabin, for giving me the bug again. I don't think I'll manage the same pace I did back in '11-'13 (seven posts a week about Frank Zappa, five posts a week about other stuff), but I'm still going to try and post more often.

And I'm sure those Sonic the Hedgehog comic book reviews are around here somewhere.

Hide Techdirt Comments

Updated 2022-02-28: Updated script for the new Techdirt comment engine.


Updated 2021-04-30: Fixed a bug that was preventing some replies from being hidden.


Updated 2019-09-11: Minor update because the site layout has changed slightly and the old version was no longer working.


Updated 2019-04-11: General cleanup; change to OOP.

Remove some techniques that are no longer needed since recent Techdirt update; add handling for some new types of predictable troll behavior.

Better blocking of flagged users who aren't logged in.


Updated 2018-08-19: Hide comments that have already been hidden by user flagging (this is mostly useful if the hideReplies boolean is set true).


Updated 2018-08-15: Added hideLoggedOut. If set true, then the script will hide any user who isn't logged in, unless their name is in the whitelist array.

Added hideReplies. If set true, then when the script hides a comment it will also hide all the replies to the comment.

If you set both hideLoggedOut and hideReplies to true, then the Techdirt comments section gets much quieter.


Updated 2018-08-09: Some doofus has been impersonating me. Script will now automatically flag and hide posts by fake Thad.

In addition to hiding posts if their subject line is too long, the script will now also hide posts if the username is too long. Additionally, the script can automatically flag posts if the subject or username exceeds a specified length.

This thing's gotten complicated enough that I think it's probably subject to copyright now. I've added a license. I chose a 3-Clause BSD License.


Updated 2018-06-20: Ignore mixed-case and non-alpha characters.


Updated 2018-03-06: Fixed case where usernames inside links were not being blocked.


Updated 2018-03-04: Added function to hide long subject lines, because some trolls like to write manifesto-length gibberish in the Subject: line.

There is now a maxSubjectLength variable (default value: 50). Any subject line exceeding that length will be hidden. If you reply to a post with a subject line exceeding that length, your reply's subject line will default to "Re: tl;dr".


Updated 2017-07-12: Added @include.


In my previous post, I mentioned that I spend too much of my life responding to trolls on Techdirt.

With that realization, I whipped up a quick Greasemonkey/Tampermonkey script to block all posts from specified usernames.

// ==UserScript==
// @name          Hide Techdirt Comments
// @namespace     https://corporate-sellout.com
// @description	  Hide comments on Techdirt, based on user and other criteria.
// @include       https://www.techdirt.com/*
// @require       https://c0.wp.com/c/5.9.1/wp-includes/js/jquery/jquery.min.js
// ==/UserScript==

const $ = jQuery;

// Boolean settings:
// if true, hide all posts from users who aren't logged in
const hideLoggedOut = true,

// if true, hide all replies to hidden posts
  hideReplies = true;

// List of users whose comments you want to hide -- collect 'em all!
const blacklistedUsers = [
  'btr1701',
  'Koby',
  'Richard Bennett'
],

// If an anonymous post begins with one of these strings, hide it
blacklistedStrings = [
  'out_of_the_blue',
  'Nothing to hide, nothing to fear'
],

// List of users whose comments you don't want to hide
whitelistedUsers = [
  'Chip',
  'Thad'
];

// global variable for storing gravatars of non-logged-in posters who have been blocked
let blockedGravatars = [],

// global variable for storing comments that aren't hidden
comments = [];

// check all non-hidden comments for a blocked gravatar
// (check each time a gravatar is blocked)
function checkCommentsForBlockedGravatar(blockedGravatar) {
  for(let i=0; i<comments.length; i++) {
    if(comments[i].gravatar === blockedGravatar) {
      comments[i].gravatarBlocked = true;
      comments[i].removeComment();
    }
  }
}


// Comment class
// Constructor
function Comment(node) {
  this.container = node;
  this.body = $('> .comment-body', this.container);
  this.nameBlock = $('.comment-author', this.body);
  this.name = $('> .fn', this.nameBlock).text();
  this.linkNode = $('> .url', this.nameBlock);
  this.loggedIn = this.linkNode.length > 0
    && this.linkNode.attr('href').startsWith('https://www.techdirt.com/user/');
  this.gravatar = $('> img', this.nameBlock).attr('src');
  this.gravatarBlocked = false;
  this.flagBtn = $('.report-button', this.body);
  this.alreadyHidden = this.container.hasClass('flagged');
  this.alreadyFlagged = this.flagBtn.hasClass('has-rating');
  this.postContent = $('.comment-content', this.body).text().trim();
  
  // If I click on the "Flag" button, remove the comment
  var that = this;
  that.flagBtn.one('click', function() {
    that.removeComment();
  });
}

// Functions
Comment.prototype = {
  constructor: Comment,
  
  checkForBlockedGravatar: function() {
    if(this.loggedIn) {
      return false;
    } else if(this.gravatarBlocked !== true) {
      // only need to find gravatar in blockedGravatars array once;
      // once this.gravatarBlocked is set true, then it will always be true.
      this.gravatarBlocked = blockedGravatars.includes(this.gravatar);
    }
    return this.gravatarBlocked;
  },
  
  blockGravatar: function() {
    this.gravatarBlocked = true;
    blockedGravatars.push(this.gravatar);
    checkCommentsForBlockedGravatar(this.gravatar);
  },
  
  removeComment: function() {
    if(hideReplies === true) {
      this.container.remove();
    } else {
      // replace comment with 'removed'
      // -- because replies will still be visible, this is necessary
      // so you can tell there's a missing post that they're replying to.
      this.body.text('removed');
    }
    if(!this.loggedIn && !this.gravatarBlocked) {
      this.blockGravatar();
    }
  },
  
  badStart: function() {
    for(let i=0; i<blacklistedStrings.length; i++) {
      if(this.postContent.startsWith(blacklistedStrings[i])) {
        return true;
      }
    }
    return false;
  },
  
  check: function() {
    if(
      this.alreadyHidden
      || this.alreadyFlagged
      || this.checkForBlockedGravatar() === true
      || blacklistedUsers.includes(this.name)
      || (this.loggedIn === false && hideLoggedOut === true && !whitelistedUsers.includes(this.name))
      || (this.name === 'Anonymous Coward' && this.badStart())
    ) {
      this.removeComment();
      return true;
    }
    return false;
  }
};

$('div.comment').each(function() {
  // skip comment if it's already been removed
  if(document.contains($(this)[0])) {
    const cmt = new Comment($(this));
    if(cmt.check() === false) {
      comments.push(cmt);
    }
  }
});

License

Copyright 2017-2021 Thaddeus R R Boyd

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Further Thoughts

(Note: The script was much smaller when I originally wrote this part of the post.)

This is a blunt instrument; it took about five minutes to write. It lacks subtlety and nuance.

Blocking all anonymous posters on Techdirt is not an ideal solution; most anons aren't trolls. (Most trolls, however, are anons.) I apologize to all the innocent anons blocked by this script.

I could make the script more precise. Techdirt's trolls are creatures of habit with certain noticeable verbal tics (more on that below); if I had a good parser, I think I could whip up a scoring system that could recognize troll posts with a high degree of accuracy.

The question is, how much time do I want to spend on that?

On the one hand, "five minutes in a text editor" is the appropriate amount of time for dealing with forum trolls. Anything else seems like more effort and attention than they deserve.

On the other hand, it's a potentially interesting project, I've always wanted to spend some time studying natural language processing, and any programming project is time well-spent if it teaches you a new skill.

So I haven't decided yet. Here's the script as it stands, in its initial, blunt-instrument-that-took-five-minutes form. If I update the script, I'll update this post.

Chip Tips

Lastly, as I can no longer see anonymous posts, this means I will likely have to give up my beloved sockpuppet, Chip, the man who hates all government regulations and loves to eat leaded paint chips. To anyone and everyone else who wants to keep the spirit of Chip alive, you have my blessing to post under his name.

A few tips on how to write as Chip:

  • Never use the backspace key.
  • Remember to add random Capital Letters and "quotation marks" to your posts, in Places where they "don't" make Sense!
  • Most sentences should end with Exclamation Points!
  • I told you So!
  • I have "lots" of Solutions! So many I can't Name a single "one"!
  • Sycophantic Idiots!
  • Every Nation eats the Paint chips it Deserves!

Boy, my regular readers are going to have no fucking idea what I'm talking about in this post.

Come back tomorrow; I plan on having a post about online privacy that should be a little less niche.