Spam, spam, spam

The spam is back. Comments are moderated again until this storm abates.

Comment Moderation Is Off

There’s still some spam, but it’s only a trickle and it’s more nonsense than obscene so I’ll just delete it after the fact.

Comment Policy

I was talking to someone who’s just getting into blogging – more about that soon, I’m sure – and the topic of commenting came up. As we discussed it, I remembered that I had meant to post something about comments here, so here we go. My comment policy is essentially very simple: I only delete spam. I have comment moderation turned on not to restrict legitimate comments but because lately Akismet – as good as it is, and it really is very good – hasn’t been catching everything. Rather than have icky spam attached to my most-current and most-read articles, I’m leaving moderation on until Akismet catches up with whatever trick this wave is using. I expect that won’t be long, and then I’ll turn moderation off again because I prefer to run that way. There are only two cases in which I can even imagine a reasonable claim that I deleted or disallowed something that wasn’t spam.

  • In one case, I chose to hide a particular post and its comments from search engines, including a referrer check that will decline to produce the content if the request came from a search engine. The post is still there, you can still see it if you come here and use my search feature or otherwise know to look for it, but you can’t get to it from Google. I am sensitive to the internet sometimes remembering things longer than it should; that was my compromise between being an accessory to continued harm and being guilty of censorship.
  • I define spam rather broadly. My definition includes advocacy or endorsement for a product, party, or position without what I consider a good-faith attempt to do more than advertise. Yes, I reserve the right to make that determination myself. This is my own virtual property, after all. On exactly one occasion, I deleted a comment that was spam by the just-given definition but probably not considered so by its author. Too bad for him.

That said, I’m sure some readers will be tempted to point out that I’ve often been rude to people who have crossed me here, told them to go away, etc. Yes, I have. I will almost undoubtedly continue to do so when I think the situation warrants, though I’d prefer to have more civil conversations. What I won’t do, unless and until I find a reason to change my policy and announce such a change, is delete people’s comments. You can disagree with me, you can annoy me, you can do whatever you want but – at least for now – as long as you don’t spam me I’ll leave your comment up.

Yes, comments are enabled on this post. Can I comment on yours?

Just Missed, Again

This is as much for my own reference as anything else, but readers who have their own blogs might appreciate some perspective. Let’s establish a ten-point scale for blog influence, where one is a blog that only the blogger’s immediate family and friends read or care about (zero is left as an exercise for the reader), five is something of significant interest within a narrow community (e.g. devotees of a particular hobby or users of a particular site/product) and ten is something that challenges or overlaps with the professional pundit class of newspaper-editorial writers and such. I’d say this blog is a four, or maybe even a three. Judging by what I can see in logs and comments, all three aspects – political, technical, personal – of my writing here attract a non-trivial but still modest audience. In that context, then, some stats from February…

  • Unique visitors: 9900
  • Total visits: 23176
  • Pages (i.e. things actually requested by users): 50903
  • Hits (i.e. including images and other stuff that gets pulled in automatically): 217088
  • The “just missed” part is that I almost got 10K unique visitors. I think visits are the best measure, though, since they measure not just number of readers but also interest level for those readers – sort of, in the sense that disinterested readers probably won’t generate many visits each. I don’t have the numbers from my last host handy, but I can see that in November of 2005 my record for visits was still around 18K. I do pay a little bit of attention to visits/day, though, and my general vague impression is that the site had been in quite a lull for quite a while with that figure around 500-600. For it to be around 800 is actually pretty good. I’m sure some of that was driven by the FairTaxBots and won’t continue, but then again maybe I’ll find something else interesting to write about.

On the Road Again

Yes, folks, it looks like it’s time for a new host again. Back in November, eMax managed to lose my entire home directory for two days. Yesterday, the site was unavailable practically all day because of database problems. With just those two outages their availability for the past year has fallen below 99%, which I know is a higher than I really need but which I also know is lower than any of a hundred competitors can provide for the same price. What really irked me both times, though, is that they claimed the problem was fixed before it really was. I’m willing to be patient. I filed my support tickets as low priority even though they represented total outages as far as I was concerned. I made it perfectly clear that I understand how these things happen and can sometimes take some time to resolve. That patience is a form of professional courtesy which I extend to people whose field is closely related to mine, but lying to me says that they’re not professionals at all. Disrespect your customers and they leave. Simple.

I’ve come to the conclusion that web hosts – at least reasonably-priced ones – are not so much like permanent equipment as they are like perishable supplies. The very same things that make them good eventually cause their servers and their personnel to become overloaded, until they’re not good any more. Experience with my seven previous hosts is that the process takes a little more than a year on average, so after doing this longer than 90% of bloggers I’m almost inclined to switch preemptively every year or so just to stay ahead of the problems. That lack of loyalty arguably makes me part of the problem, but this is one case where I don’t feel a need to be the only guy hunting the stag. Even if my switching is the last straw that turns my new host from good to bad, nobody’s going to die or anything. My moving pretty much affects only me, and besides, it gives me a chance to clean out some of the junk in my online attic.

So, you all know the drill by now. Nothing should be any different – this is really far less of a change than the software upgrade a couple of weeks ago – but if there does seem to be something awry then let me know.

New Year, New Look

I decided I was a bit overdue to upgrade my WordPress installation – from 1.5.3 to 2.3.2, so make that long overdue. While I was at it, I took advantage of the theme handling to modernize the site’s overall look. I’ve added back most of the hacks I had made to both the code and the layout in the old version, so things should pretty much work the same way even if they look different. Everything seems to have gone pretty smoothly, but please let me know of any glitches (or other feedback).

Moral Dilemma

Sometimes the internet comes back to haunt you. I’ve learned to live with that, as people have mentioned some of my old blog or Usenet posts in some very unexpected contexts including interviews. I don’t think it has ever cost me a job or otherwise hurt my career, but a couple of times it has been ugly in other ways. Probably the worst case is when some of Robert Stanek’s overzealous fans took exception to my criticism of his relentless astroturf campaign to sell his awful books. I pretty much ignored the legal threats that followed since I was absolutely 100% certain – even if they weren’t just bluffing, which to this day seems to have been the case – they’d be laughed out of court. When somebody started posting my real-life contact information on a couple of sites along with some fabrications about me, though, I had to make a couple of legal threats of my own to protect my family and have the offending content removed. There are some sick people out there.

That was, unfortunately, not the only time my writings have resulted in legal threats. Even earlier, I had written about an “unfortunate” experience I’d had with a certain puzzle website. The people behind it first tried to make excuses for their behavior, and then claimed they were suing me for damaging their internet business. To make a long story short, I called their bluff; I posted more info about them and their legal threats, and pretty explicitly told them to get lost. They did. Three or four times since then, I’ve received email from the main person involved, saying how much this information was hurting his job prospects and such and could I please remove it etc. I’ve ignored them until now, for reasons that I probably can’t explain too much better than I did in my reply.

You have presented me with quite a dilemma. On the one hand, those events actually happened and caused *me* significant distress at the time, so besides my general objection to censorship I feel as though that information is an important part of the ongoing life record that my site has become. On the other hand, I am sympathetic to the problem of having your life’s less-than-stellar moments be part of the permanent internet record, and I try not to be the sort of person who causes others undue pain. It’s a conflilct between your right to that information and mine, and I don’t really know how to resolve it. However, the fact that it might be hurting other people – i.e. your family – who are entirely innocent of any wrongdoing makes me feel like I must attempt some kind of compromise.

What I have done is this. I have added a robots.txt file to my site that should block any search engine from indexing that page. Not all search engines are well-behaved, or handle dynamic URLs properly, but this should cause the page to be dropped from their indices . . . eventually, as there’s no telling how long it will take them to notice. As an additional protection, I have added code to check whether someone has been referred to that particular post by a search engine, and not display it in that case. Currently the code only looks for Google; please let me know if there are others that you’d like me to add.

So the compromise is this: the content is still there, accessible via direct URL entry or non-search-engine links (including my own search page) but I have deliberately broken links from search engines and taken steps to prevent that page from being indexed in the future. Does that seem sufficient to you?

I’m posting this because I’m interested in other people’s opinions. Did I give in too much? Too little? Will this compromise even work? If this happened to you, how would you resolve it?

Nomadic Platypus

I’ve written before about how good web hosts never last forever, but I didn’t expect that Site5 would decline so rapidly. When I switched to them, a mere three months ago, they seemed to be one of the most respected hosts on some of the sites where people talk about hosts. Now, their reputation is dirt. Thread after thread on WebHostingTalk is about their performance and reliability problems, their lack of response to support tickets, their near disappearance from WHT itself (where they used to participate actively), etc. One thing I haven’t seen mentioned, but which I find annoying, is that my site statistics have gone all wonky. Partly it’s because I seem to be getting many more hits from worms and zombies than had previously been the case, partly it’s because Site5 doesn’t update the stats nightly like I’ve been used to (probably another side effect of servers being overloaded), and partly it’s just random weirdness. The thing that really tipped me over the edge, though, was finding out on WHT that Yahoo had blacklisted Site5 for spamming. So that’s why several of my recent emails never got replies. I’m sorry, but that’s just not something I’m prepared to tolerate. I guess I just managed to catch Site5 at the top of their trajectory, just before their (at the time well deserved) reputation for excellence led to a surge in users, overload, employee burnout, and collapse.

NameZero, JTLNet, FeaturePrice, Burton, TotalChoice, Site5, … now eMax. Some of the content here has lived at seven web hosts, through as many content-management systems (flat files, two home-grown codebases, pMachine, WordPress 1.2 and 1.5 with 2.0 to come soon). You really shouldn’t see any difference other than the little “host du jour” at the top right will flip from “Site5″ to “eMax” at some point over the next few days. If you do notice a difference, please let me know. I’ll still be able to see email and comments at both sites for a while now, because I know all of the magic incantations involved in switching hosts pretty well by now. I don’t expect any host to last forever, but my challenge is to see whether they can outdo the approximately two year run that TotalChoice had.

Comment Passwords

I just received a query from one of my readers about how I implemented the comment password that’s used on the site to prevent spam. Since this is the third such query in the past month, I figured I’d post the explanation here for others who might be curious. It’s not particularly complicated, but the following instructions will nonetheless probably only make sense to programmers.

  1. In content/themes/default/comments.php, look for the author/email/url input boxes. Cut and paste one for the password, giving it a unique name/id/label (I use “cheese” for hysterical reasons) and tabindex. For convenience, you can add it as a hidden form element instead in the registered-user case, thus:
    <input type="hidden" name="cheese" value="maple" />
  2. In wp-comments-post.php, look for the “please type a comment” error message. Immediately afterward, check the value:
    if ($cheese != "maple") { die("<p>blah blah</p>"); }

That’s basically it. There’s nothing super-secret about any of it (it’s just supposed to stop machines, not people) so here are comments.php and wp-comments-post.php as I’ve modified them from WP 1.5. I haven’t gotten around to upgrading yet, but I imagine it would be equally straightforward for WP 2.0.

New Site

If you’re reading this, it means you’ve arrived at the site’s new home. In a nutshell, I’ve changed hosts from TotalChoice to Site5. Why? Maybe it has something to do with the ever-decreasing reliability, culminating in a near-total outage since Friday. Fortunately I took a backup over my weekend, because I haven’t been able to reach the old site today at all. The only reason I’d want to at this point is to retrieve any emails for the last couple of days. Other than that, I’m done with TotalChoice. They were great for a while, but I’ve come to the conclusion that web hosts are consumable (rather than durable) commodities. If they’re any good at all, then over time they’ll get more customers and their servers will become overloaded. Then the one guy with a clue (there’s always exactly one) leaves, and now you’re stuck with a bunch of overloaded servers and nobody who knows how to run them. Time to move on.

Let’s see how long this one lasts.