Lunacy Unleashed

Notes from the field in the War on Spam

Bad Behavior 2 Roadmap Update

Make a Donation.

About a month ago I posted a roadmap for the next major version of Bad Behavior, the PHP-based automated link spam killer. Now it’s time for an update.

First off, I mentioned in a comment on a prior post that I would be waiting to see the next version of ExpressionEngine before I went very far with the next version. Though I was told a beta would be available in November, I have yet to see it. If I don’t see it in the next few days, Bad Behavior will move forward, without support for ExpressionEngine.

Second, I have the basic structure of Bad Behavior laid out. It consists of two components: a core consisting of the test suite itself, and a glue component for each host platform. I’m also planning an administrative interface that will hook into each host platform, though I am not sure if this will be ready for all platforms at the time of release. Finally you’ll be able to configure Bad Behavior and view its activity within WordPress, MediaWiki, or whatever platform.

Third, the architecture is in place for Bad Behavior to show more informative error messages, each one including a unique key which either the user or the blog admin can look up to determine what went wrong and how to fix it. While all of the keys have been set, the documentation for each remains to be written. Bad Behavior will now serve errors such as 400 and 403, depending on the request, rather than 412.

And I’m experimenting with automated methods of detecting spam attack runs which may originate from dozens of different IP addresses and have somewhat different signatures. I may call for some assistance with this in the near future, and this isn’t likely to make it into 2.0, but it is in the works.

Finally, this post wouldn’t be complete without a mention of something strange that happened when I posted last month:

Without any further contributions to Bad Behavior development, I’ll work on it in my limited free time, and it’ll take somewhere around six months. If I were to receive, for instance, $500 in contributions, I could devote a significant amount of time to it, and complete it within the next month. Hey, don’t laugh, that’s only a few cents per user.

I didn’t expect to receive much of anything, and I had just picked the number out of thin air. The surprise was that I actually received $490! Clearly I didn’t complete it within a month, but that’s mostly due to my decision to wait for ExpressionEngine. I’m not waiting on them any longer, so you should expect an early Christmas present sometime within the next couple of weeks.

Be sure and review the roadmap and comment on it now, before I go too far and any necessary design changes become difficult or impossible.

And I wouldn’t mind if you want to contribute that last $10 either. It is my birthday, after all. 🙂

November 29, 2005 Posted by | Bad Behavior, Blog Spam, Spam, WordPress, WordPress 2.0, | 1 Comment


Well, November 29th is my birthday. What are you all getting me?

November 29, 2005 Posted by | Personal | 10 Comments

Google Analytics restricts new sign-ups

After Google started offering its Google Analytics service for free early last week, so many people signed up that even Google, who has thousands of servers, was caught off-guard.

Today they’ve emailed everyone this special notice:

Hello Google Analytics User,

This is a quick update to address some issues you may be seeing in your Google Analytics account and what we’re doing to respond.

First, due to extremely high demand, we’ve temporarily limited the number of new signups as we increase capacity. This allows us to focus on our primary objective–to provide a great user
experience for our existing users.

Next, here is current information on the most common questions we’re receiving:

  1. The ‘Check Status’ button is being reworked to check for properly installed tracking code. This should be fixed by the end of November.
  2. The ‘+Add Profile’ link has been temporarily removed until we increase capacity. We’ll alert all current users when the feature is restored.
  3. While we increase capacity, you may see longer than normal delays in data showing up in your reports. All data continues to be collected and no data has been lost.

For additional help with your Google Analytics account, we encourage you to browse or search our online Help Center at

Thanks for your patience as we improve Google Analytics and add resources to ensure a high-quality service.


The Google Analytics Team

It’s about time they informed everyone what was going on. Something like this should have been sent out last week.

November 24, 2005 Posted by | Google, Google Analytics, | 2 Comments

WordPress 2.0 Beta 1 Released

WordPress 2.0 Beta 1 was quietly released early Saturday morning. So quietly that this is probably the first post about it anywhere.

Previously known as 1.6, lead developer Matt Mullenweg decided that the changes to WordPress were extensive enough to warrant a major version number change.

I’ve been running it at Make Stupidity History for some time, and while there are certainly still a few bugs to iron out, it’s probably almost ready for prime time.

It is certainly ready for plugin authors to start working with and updating their plugins. Many plugin authors will find that their plugins are broken in 2.0 and need to be updated, due to the extensive internal changes.

If you need help with it, post in the Beta forum.

Download WordPress 2.0 Beta 1.

Update: I received word that several people posted about the beta before I did. But none of them offered nearly as much useful information about it. 🙂

November 19, 2005 Posted by | WordPress, WordPress 2.0, | 16 Comments

Google Analytics sure is taking its time

I set up Google Analytics back on Monday when it was announced, but as of Friday have yet to see any data come in.

Obviously the announcement that the service would be free generated a lot of interest, and they seem to be backed up. But notices posted there (and since removed) indicated everybody should have data by now.

So I e-mailed them to find out what was going on, and got this response:


Thank you for your email. I understand that you have some concerns about data not appearing in your account. I’d like to give you an overview about the problems you may be experiencing:

– The “Check Status” feature is currently not accurate. If you added the code to your pages correctly, then we are collecting data. You can make sure by seeing if your site has set “_utm” cookies in your browser.

Yes, I’ve got the cookies, so that part seems to be OK.

– If your reports aren’t currently populated, they will be as soon as the next processing run is complete. We process every 24 hours.

So, basically, wait another day is what you’re telling me.

– You may see some reports within a profile before others. We’re populating reports like this to get you as much information as soon as we can. If you see this, rest assured that all applicable reports will show data soon.

Well, I am not seeing any reports at all yet, so we’ll see what happens.

– Once we catch up with the data for your account, you’ll see new reports every 24 hours.

That remains to be seen.

For additional questions, please visit the Analytics Help Center at If you’re unable to find an answer to your question on our site, please feel free to reply to this email.


Analytics Support

Share your knowledge and learn from others at the Google Analytics Help forum:

So far I’m not impressed with Google’s apparent inability to predict a massive spike in demand and have the capacity to meet it. They’ve been doing this for years, and should be able to figure out things like this.

Once they do finally get the thing working, maybe I’ll post an actual review of Google Analytics, and be able to do something useful with it, which was the whole point in the first place.

Update: After Google (virtually everything they have) ran quite slowly or was down for several hours, I now have data! Through Thursday, anyway. Now to see what this thing can do.

November 18, 2005 Posted by | Google, Google Analytics | 3 Comments

Madison from the 600 block of State Street

It’s been an interesting few weeks for me here in Madison, Wisconsin.

I spent most of October blogging from the road in various locales such as Knoxville, Tenn., Newnan, Ga., Asheville, N.C., New Orleans, La., (oh, and how I wish I’d had a digital camera) and canceled a planned trip to Florida due to Hurricane Wilma. So I went to Madison.

I got here just before Madison’s annual Halloween festivities and blogged about that. Earlier today I blogged about an initiative to recall Madison’s mayor for being too socialist.

From my adopted vantage point on the second floor in the 600 block of State Street, (no I won’t tell you exactly where) it’s been quite interesting to watch life in Madison. It’s definitely a statist’s paradise, if you can call statism paradise, which you really can’t.

State Street rents are quite high, and for good reason: it’s where everyone is and wants to be. One end of the street reaches the University of Wisconsin, the other reaches the state capitol building. You can easily walk from one end to the other. And the street is full of businesses which open, charge high prices for everything, and many close within a year. Some are closing after decades of operation.

In a strange reversal from virtually everywhere else in the country, Starbucks is the cheapest place to get a cup of coffee: $1.90 for a 20 oz. (venti) cup. Across the street at Espresso Royale, it’s $2.21 for the same size cup. But at Starbucks, you have to pay for the Wi-Fi connection. At Espresso Royale, it’s free — when it works.

Speaking of Wi-Fi, that mad mayor Dave Cieslewicz wants Madison to be the first completely Wi-Fi city in the nation. Under his plan, a Wi-Fi signal would reach virtually every point in the city limits by 2007. And it wouldn’t be free, either. A business will be allowed to come in, build out the network, and charge for it. This is in stark opposition to other cities, such as Portland, Ore. and New York City, in which the people themselves have put together grassroots Wi-Fi networks and charge nothing for them.

I’ve been extremely busy, what with blogging on two blogs regularly, one blog irregularly, writing code for paying customers, and totally neglecting this blog. And spending much of my free time with Becca, the mad scientist, whom I’ve mentioned here before. And by “much” I mean virtually all of it.

Not that I’m complaining; certainly not. I absolutely enjoy spending time with her. Even when she tells me about creative ways to kill an ex-boyfriend and destroy the DNA evidence — not to mention the body. Hm, what have I gotten myself into?

November 11, 2005 Posted by | Madison, Personal | 2 Comments

The new New Coke: Black Cherry Vanilla Coke

The Coca-Cola Company is doing away with Vanilla Coke and Diet Vanilla Coke in the U.S. and the U.K. Diet Coke with Lemon will also be phased out in the U.S.

A spokesperson for Coca-Cola gave the usual B.S. about adjusting their product lines to quickly meet consumer demands.

In its place, at least in the U.S., will be Black Cherry Vanilla Coke and Diet Black Cherry Vanilla Coke. The U.K., lucky them, will finally get Diet Cherry Coke.

Excuse me? I wanted Vanilla Coke! If I wanted Cherry Coke, that’s what I would have ordered! I certainly don’t want them both! And if I did want them both, I’d mix them myself from the soda fountain.

I give it a year before Coca-Cola sees the error of its ways and brings back Vanilla Coke.

November 5, 2005 Posted by | Coca-Cola, Vanilla Coke | 23 Comments

GDM, please don’t beep at login

Here’s a tip for all you GNOME users. If you’re using GDM, where the system boots directly to a graphical login, you’ve probably noticed that the computer beeps when it displays the login prompt. As it turns out, you can turn this off.

As root, edit your gdm.conf file, (mine’s inside the /etc/X11/gdm directory, yours probably is too) and add this line:


If you’d rather the computer play a sound, you can set that up too. For example:


You can also define sounds which will be played when someone successfully logs in, or when someone fat fingers it, and fails to login successfully. See the comments in the gdm.conf file for more info.

November 3, 2005 Posted by | GNOME, Linux | Comments Off on GDM, please don’t beep at login

Bad behavior from Microsoft?

Attention Bad Behavior users. I’ve received several reports of strange accesses from an IP address range traced to Microsoft Corporation. And I need your help to investigate this.

If you are using verbose logging (it’s on by default) then please check your bad_behavior_log for any accesses from the 131.107.x.x address range. (In phpMyAdmin, Search for `ip` REGEXP '^131.107.' and that will bring it up, then hit Export, in SQL format.) If you find anything, please send it to me at

Thank you!

November 2, 2005 Posted by | Bad Behavior | 8 Comments

WordPress 1.6 Bug Hunt

Waiting for WordPress 1.6? I’m afraid you’ll have to wait a little longer, but the wait promises to grow much shorter after this weekend.

This Saturday, November 5, will be the WordPress 1.6 Bug Hunt. To participate, just install a WordPress 1.6 blog somewhere from the current subversion repository, and then log in to the #wordpress-bugs channel on IRC (

Skippy says “All you need to bring is a text editor, and an installation of WordPress 1.6-ALPHA-2-still-dont-use! We’ll provide the snacks, and manage the schedule.”

During the bug hunt, we’ll all go through the outstanding bugs, work up patches, and get this puppy ready. If you know some PHP and want to get more familiar with WordPress internals, now’s your chance.

November 1, 2005 Posted by | WordPress, WordPress 1.6 | 1 Comment