Charlie Hatton About This
About Me
Email Me

Bookmark
 FeedBurnerEmailTwitterFacebookAmazon
Charlie Hatton
Brookline, MA



All Quotes
Site Search:
HomeAboutArchiveBestShopEmail

« Outshone By a Phone | Main | The Extermination Revelation »

Pipe, Pipe, Douche!

No, this isn't a new -- and patently disturbing -- take on the old childrens' tag game. Nor is it the prop list for a soon-to-be-released -- and equally disturbing -- construction-site-themed porn flick. Thankfully.

Rather, it's what I said to myself earlier this evening, when I noticed that a few comments here -- quite a few comments, as it turns out -- were being inadvertently flagged as spam, and not being published. Or responded to. Or seen, at all, by myself or others. And as much as I'd like to blame the two pipes that directly caused the problem, it's really the douche that put them there who's to blame.

I'll give you three guesses who that douche is. And 'Massengill' and 'John Edwards' don't count.

"It's a lot like searching for diamond dust in a turd factory."

I'll tell you the details. It involves a bit of a computer programming lesson, but don't worry -- evidently, I don't know what the hell I'm doing, so how complicated could the explanation be, really? It'll be like having a monkey expound on the symbolism in Beowulf. You'll be fine.

So, here's the thing about comments. I've never moderated comments here, and I doubt I ever will. If and when people are kind enough to leave comments -- or annoyed or confused enough, or legally obligated to inform me of pending legal actions, perhaps -- then I'm more than happy to have them on the site. Tickled pink and puffy, even.

However.

For every legitimate comment I receive, there are hundreds -- maybe thousands -- of 'spamments' incoming. There's a constant stream, flying just under the shiny surface of the template and these words, of Viagra this and casino that and mesothelioma the other, and porn, porn, porn, always with the grandma midget donkey veggie porn.

What it is these bulkmailing bastards are trying to accomplish, I don't know. A page rank boost for their sweaty sexpot sites? An honest attempt to sell me and my three readers genuine Canadian knockoff drugs and the latest in black market near-silicone breast implants? Just freaking cheesing me off? No idea.

Luckily, they're not accomplishing any of these things, thanks to the fancy spam filter tucked away in my blog software. Every once in a while, some new spamspewing shuckmonkey will slip a 'comment' or twelve past the goalie, but all I have to do is open up the settings, update a spam filter pattern to match, and delete the offending chicanery. And since that's the only stupid job I personally have in this little arrangement, that's precisely the bit that I screwed all to hell for a few months, and never realized.

I've added a lot of spam filters manually over the past five years or so -- an awful, howling testament to the relentless misapplied creativity displayed by these spamchucking weaselbots. Maybe if their mothers had only held them as small children, or a teacher had shown even an ounce of interest in their aspirations, they could have channeled their energies for good. But no. Evil it is. And so, evil I must repel from my site.

One of my most often-pinged filters looks something like this:

/\/(forums|files|download|catalog|...)\//i

(The '...' above is simply a placeholder for another three dozen or so words, each of which has shown up in one or more spamments and been added lovingly to this list, which sends any of their subsequent slimy spammy brethren to the junk comment purgatory pit.

I like to imagine brimstone in there. And rivers of fire. Also, unspeakable acts performed with pineapples, bowling balls and rabid wolverines. Spammers and their spawn are not on my Christmas card list.)

In case you're not familiar with the syntax above, that jumble of words and punctuation is what's known in programmer's parlance as a 'regular expression'. Why it's called that, when it's clearly quite irregular, and not especially expressive, is beyond me. That's just what it's called. But what does it mean?

Well. This is where the programming bits come in. Feel free to avert your eyes for a few paragraphs, if you're allergic to these sorts of computery type things.

The slash at the very beginning and almost at the end enclose the actual code; like buns on a Big Mac, they're just the wrapper for the meaty bits inside. And that little 'i' dangling off the end stands for '(case) insensitive', so the program knows to ignore upper-casiness and lower-casitude within the pattern. No problem so far.

The first and last bits of the pattern are also slashes -- forward slashes ( / ), to be exact. But since the pattern itself is enclosed by those same sorts of slashes, the ones inside have to be noted specially, lest the first one be mistaken for the 'end of pattern' slash, and the rest of the code go for naught. In this particular coding system, forward slashes are specially-noted -- or 'escaped' by putting another character in front of them. Which happens to be a backward slash ( \ ), making a funny little V-looking thing ( \/ ).

(I wish I were making this up. But this is really the kind of shit we coders are expected to remember on a daily basis. It's a wonder I have enough brain cells left to remember my fricking name.)

Forget the funky bits for a moment. The last part of the code is a bunch of words, enclosed in parentheses and separated by a funny straight-up-and-down sort of slash. We call that a 'pipe'. And if you've read the title and ever coded a regular expression before, you probably already see where this is headed. For your sake -- and everyone else's, at this point -- I'll keep the rest of the explanation brief:

The parentheses serve to group whatever's in between them, and the pipes act as 'or's. So in the pattern above, that middle bit is saying, 'anything with the word 'forums' OR 'files' OR 'download' OR 'catalog' in it'. The funny V-looking slash-slash bits, and the 'i' at the end expand that, so that any comment is counted as spam that has:

'a forward slash, then any of the words in parentheses, regardless of case, then another forward slash'

This is all well and good, because all those words I put in the parentheses are used in spamjacker URLs all the time, and always between two slashes. If you know about directories on web sites, then you may recognize that I'm attempting to filter out directories -- like '/forums/' or '/catalog/' -- that are likely to exist on some commercial site with pills or porn or pork rinds to sell, but not so likely on a site that a legit commenter would type in. Like a blog, or a MySpace page.

This pattern has weeded out many, many hundreds of spamments for me over the years, and for that, I've been extremely grateful. Until a few hours ago, when I looked a little closer, and noticed that what the code actually said was:

/\/(forums|files||download|catalog|...)\//i

That's two pipes in a row there, in the middle. Which means that in addition to all the words in the list I worked so hard on, at some point I also introduced an 'OR nothing at all' in between those two slashes in the pattern. And a slash, then nothing, then another slash is, last I checked, 'slash-slash'.

As in 'colon-slash-slash'. As in, part of 'http://', which has been the beginning of every single freaking link on the web for the past twenty years.

So basically, if someone left a comment, and it pointed back to their site -- any site at all, spam shack, blog, vatican.com, charlieisthegreatestever.org, anything at all -- it got flagged as spam. At least since I picked up writing again in November, and probably for many, many moons before that.

There's one bright spot in my blogging day, and that's logging in to see that some kind soul has been moved enough to leave a comment on one of my posts. And for months, I've been shooting myself squarely in the ass in that regard, without ever knowing it. I could only wonder why the comments seemed to have dwindled upon my return, blame everything on the crappy economy, and cry myself to sleep on my keyboard at night.

Which sounds sort of tragic, I suppose. Except that since realizing my mistake, I've now looked through no less than twelve thousand comments relegated to the junk folder, searching for the few spare notes left by real people. It's a lot like searching for diamond dust in a turd factory. I've seen more spam in the last three hours than any one person should be subjected to in a lifetime. Frankly, I prefer the crying and wondering bit. At least a nice hot shower can wash away the shame from that.

So, long story marginally shorter, I managed to 'rescue' a couple dozen comments -- in other words, roughly four hundred percent of the ones I'd seen in the past two months, not counting the ones I've written myself. And I trashed the steaming pile of actual spam comments, to start with a fresh slate. If only I could swap my eyes for a new set, too, I'd be just peachy.

Of course, I flushed a couple of thousand comments before I looked closely enough, so I may have missed a missive or two. For that, if you sent something that you thought I'd ignored, I apologize. And I'm now going to tackle the task of responding to each of the new-to-me comments that I've found, and hope that my adjustment to the filter -- second pipe, yoink! -- fixes the problem going forward.

Still. If you left a comment in the recent past, please feel free to submit it again. Or if you don't recall what moved you at the time, drop a different line. If you haven't commented, well, now's the time. Somebody's got to test the system, and heaven knows I can't do it alone. Look at how solidly I mucked it up last time. Either way, really, it's safest just to drop a quick comment, and see what happens. I might still have gremlins lurking in my filters. Only you can help me ferret them out. Don't leave this douche crying on his keyboard.





Permalink | Comments (12)


, ,



Comments

I'm not going to lie to you. I skimmed past the extremely nerdy stuff. I think I got the jist anyway, you type when you should've weaved (you know the quote I'm referring to right? no? Oh well).

Don't worry, it just shows me you're human and for that you're forgiven ;P

I figured you just detested me for starting the 'What Happened to Monkey' commentary on Entrecard. I'm glad it isn't so! I hate being detested, it makes me all cranky and bloated.

i read it all. and i kind of understood it, too. OMG I'M TURNING INTO A GEEK!

Not sure what that was all about, but I'm glad you got whatever the problem was fixed.

Auto-closing comments for older posts has kept me spam-free. Not that I ever got much spam at all. It's sad when even the spammers and bots avoid your blog.

Strage 'sphere, this.

How can anyone not comment on this deliciously funny blog. I have been a huge fan of yours even before I knew I was a huge fan. I loves ya Charlie. nuff said.:)

Charlie, are you there? Did I do sumpin wrong. Where the hell did my comment go? It was a good one too. What the hell?

Hey, thanks for the notes, everyone!

I appreciate the understanding of my tragic doofishness. It's a curse, really.

fragileheart: I'm pretty sure I zigged when I should have recompiled. Or something. Did anyone get the license number of that Fortran truck?

Karen: Oh, please. I don't even know how to detest. If I had a better dictionary, maybe -- but right now, no way. And if anyone is going to be cranky and bloated around here, I've got dibs.

Kerry: Welcome to the dark side! We'll have you writing machine code and turning out Flash apps in no time! (Just as soon as someone teaches me, too.)

Carol: Believe me, you're better off without the spam floods. And I'd close my old posts to comments -- but there's always that little tiny hopeful voice inside that thinks just maybe someone will discover an old 'gem' and be moved to post. (I'm sure that little voice will die out any day now. It's kind of a goofball.)

And Etta: I know, I know -- even with comments 'fixed', there's still an issue here. For some reason, the page takes forever to rebuild and show the new comments. It does it to me, too, and believe me -- I've slapped the hell out of the software trying to make it behave.

But we see where that got me last time, so I've just learned to live with it for now. It's still not 'state of the art', but at least those precious comments come through now.

Eventually.

Ah, and I was feeling good there for a moment! I thought to myself that well, if Charlie here isn't getting any comments to his post about being a victim of plagiarism, then maybe my lack of comments wasn't really that bad. (Then I did the right thing and wrote a comment for the poor chap.) Oh well, I guess I just have to start writing better after all!

Thanks, Sebastyne!

I'm glad the plagiarism hoohah is over with, but very much appreciate the comments.

Especially now that they're going to the right place again. Huzzah!

my comments don't always show up first thing, so i always refresh the page to see if they show up. of course, i used to blog on yahoo 360, so that may be why i think to do this...

Well, I was one of the lucky ones who received a personal Charlie note in my email box. I have it framed hanging over my 'inspiration wall'.
Before you get too happy about that, I should tell you that the only other thing on there is a list of cheeses I like.

Ah, Kerry, you're way ahead of me. I should be more patient when I comment, or buckle down and fix the damned thing myself.

If either of those options were magically rendered effort-free, of course. Sadly, it hasn't happened yet.

And Bee, all I can ever ask is that when you daydream about gruyere, you think of me.

Unless that's not on your inspiring cheese list. In which case, you can associate me with any edam cheese you like. It's all gouda.

Post a comment

HomeAboutArchiveBestShopEmail © 2003-15 Charlie Hatton All Rights Reserved
Highlights
Me on Science:
  Secondhand SCIENCE


Me on ZuG (RIP):
  Zolton's FB Pranks
  Zolton Does Amazon


Me on Baseball:
  Bugs & Cranks


Me on Apartments:
  Author Page


Three Wee Tweets:
Favorite Posts:
30 Facts: Alton Brown
A Commute Dreary
A Hallmark Moment
Blue's Clues Explained
Eight Your 5-Hole?
El Classo de Espanol
Good News for Goofballs
Grammar, Charlie-Style
Grammar, Revisitated
How I Feel About Hippos
How I Feel About Pinatas
How I Feel About Pirates
Life Is Like...
Life Is Also Like...
Smartass 101
Twelve Simple Rules
Unreal Reality Shows
V-Day for Dummies
Wheel of Misfortune
Zolton, Interview Demon

Me, Elsewhere

Features
Standup Comedy Clips

Selected Clips:
  09/10/05: Com. Studio
  04/30/05: Goodfellaz
  04/09/05: Com. Studio
  01/28/05: Com. Studio
  12/11/04: Emerald Isle
  09/06/04: Connection

Boston Comedy Clubs

 My 100 Things Posts

Selected Things:
  #6: My Stitches
  #7: My Name
  #11: My Spelling Bee
  #35: My Spring Break
  #36: My Skydives
  #53: My Memory
  #55: My Quote
  #78: My Pencil
  #91: My Family
  #100: My Poor Knee

More Features:

List of Lists
33 Faces of Me
Cliche-O-Matic
Punchline Fever
Simpsons Quotes
Quantum Terminology

Favorites
Banterist
...Bleeding Obvious
By Ken Levine
Defective Yeti
DeJENNerate
Divorced Dad of Two
Gallivanting Monkey
Junk Drawer
Life... Weirder
Little. Red. Boat.
Mighty Geek
Mitchieville
PCPPP
Scaryduck
Scott's Tip of the Day
Something Authorly
TGNP
Unlikely Explanations

Archives
Full Archive

Category Archives:

(Stupid) Computers (70)
A Doofus Is Me (203)
Articles 'n' Zines (74)
Audience Participation (35)
Awkward Conversations (176)
Bits About Blogging (168)
Bitter Old Man Rants (50)
Blasts from My Past (78)
Cars 'n' Drivers (60)
Dog Drivel (78)
Eek!Cards (267)
Foodstuff Fluff (116)
Fun with Words! (71)
Googlicious! (27)
Grooming Gaffes (88)
Just Life (238)
Loopy Lists (33)
Making Fun of Jerks (59)
Marketing Weenies (66)
Married and a Moron (185)
Miscellaneous Nonsense (62)
Potty Talk / Yes, I'm a Pig (84)
Sleep, and Lack Thereof (34)
TV & Movies & Games, O My! (101)
Tales from the Stage (74)
Tasty Beverages (29)
The Happy Homeowner (81)
Vacations 'n' Holidays (134)
Weird for the Sake of Weird (71)
Whither the Weather (40)
Wicked Pissah Bahstan (49)
Wide World o' Sports (124)
Work, Work, Work (206)

Heroes
Alas Smith and Jones
Berkeley Breathed
Bill Hicks
Dave Barry
Dexter's Laboratory
Douglas Adams
Evening at the Improv
Fawlty Towers
George Alec Effinger
Grover
Jake Johannsen
Married... With Children
Monty Python
Nick Bakay
Peter King
Ren and Stimpy
Rob Neyer
Sluggy Freelance
The Simpsons
The State

Plugs, Shameless
Alltop, confirmation that I kick ass

TopOfBlogs

HumorSource

Blogging Fusion Blog Directory

bloglovin

Listed on BlogShares

Top Blogs

 

Feeds and More
Subscribe via FeedBurner

[Subscribe]

RDF
RSS 2.0
Atom
Credits
Site Hosting:
Solid Solutions

Powered by:
MovableType

Title Banner Photo:
Shirley Harshenin

Creative Commons License
  This work is licensed under a
Creative Commons License

Mint Installation

Performancing Metrics

Page copy protected against web site content infringement by Copyscape

Valid XHTML 1.0

Valid CSS!

© 2003-15 Charlie Hatton
All Rights Reserved