Sick of this Crap

Yea, me too.

As I mentioned many times before, recent development and support on both Spam Karma and WPPM have taken a serious toll on a schedule that certainly didn’t need the extra excitement.

On an average, I receive over a dozen emails/comments a day regarding SK or WP-related support. A good 90% of which are usually RTFM-related and not in any way due to a bug in SK. Lately, I have spent upward of two hours, every single day, dealing with plugin development issues (mostly SK). Very often to come to the conclusion that the bug I’m going after has been introduced by some changes in WP’s code, user hacks, exotic server configurations or any of the hundred parameters I have little control over.

And this, of course, for the mere glory of it all. Because it is doubtful I will ever make a buck off it (and that’s really not the goal), nor is this type of development ever likely to impress anybody reading my resume (the kind of people who employ me usually, ignore until the very meaning of the word ‘blog’).

But this is quite alright.

The many thank-you notes, sincere props, pitches in the tip jar, as well as the personal benefit from using these tools on my own blog, definitely go a long way toward making it worth my time. And I am certainly not gonna start complaining because a project of mine gets some amount of popularity. User adoption is indeed the greatest form of appreciation for one’s work.

Why am I putting Spam Karma’s development on hold, then?

Well, because on top of being something I barely have time to do, developing SK has recently become one of the most excruciatingly irritating experience of my whole life as a developer.

Hang that on two reasons: 1) blogs 2) WordPress.

“Blogs”: because developing a blog-related tool means that, whenever a bug or incompatibility comes up, instead of doing the normal user thing and contacting the developer with some data regarding occurrences of the bug, most bloggers simply decide it’s infinitely more productive to bitch about it on their blog, addressing a readership that most likely can’t do anything about it and doesn’t care. This would only be half-irritating if not for the fact that the problem usually turns out to be coming from the user’s failure to read the docs or his less-than-standard setup.

Note that I even went to the length of explicitly mentioning this problem in Spam Karma’s doc. But then again, the people who jump on their blog as soon as they encounter an issue before posting the slightest comment or email are also the ones who usually skip on the doc-reading part.

Second and principal reason why developing SK is becoming more of a drag than I am willing to handle: WordPress.
WordPress is a wonderful tool, it is probably the best publishing platform available out there at the moment. Essentially thanks to the huge community that revolves around it: developing plug-ins, patching the code and guiding new users. Literally hundreds of people putting their time to the service of the community.

However, I have a serious beef with the way its development has been going lately: chiefly, I am getting sick and tired of discovering massive changes in ostensibly alpha-phase code, every other morning. Changes that are neither discussed nor announced on any of the main community channels. Announcing major alterations to the code architecture is not only simple courtesy toward the people working with it, it is also bloody common-sense, if you hope to keep them interested in contributing.

This goes along with the overal flakiness of the release scheme (there again: absolutely devoid of any communication) and the fact that, rather than fixing fundamental flaws, current development seems to focus essentially on adding trendy features, overlapping existing ones (please just do not ask me one more time why there is a and a or making sweeping, untested and half-efficient last-minute changes to the code.

Well, the development leads are, after all, perfectly entitled to conduct development the way they see fit. It is their utmost right.

But it’s also my right to be pissed and tired of swimming against the flow: I am just not that interested in dealing with this particular brand of ego-tripping any more.

And this is why, until further notice, you can consider development on Spam Karma frozen.

I will try to release the last bug-fixing version I have ready, but this is nowhere near my list of top-priorities for the day. It is also unlikely to fix whatever has been broken by the latest release of WP alpha 1.5: consider SK officially incompatible with 1.5 alpha.

This is definitely not to say that I consider SK in its current incarnation to be an efficient and sufficient answer to blog spam: truth is, it is barely keeping afloat of the latest spambots (which is already better than most, but probably won’t last). I know very exactly what is needed and what could be done to bring it back up to a satisfying level of efficience: I might get back on it some day when I have both time and motivation.

I am not stopping all spam-related development. I actually plan to keep working on that project I have been alluding to for a while. If only because, at its essence, it is intended to be entirely blog-independent. Therefore avoiding me the kind of WP-related frustration mentioned above. We’ll see in the future about adapting it for WordPress or possibly even integrating it with an hypothetical 2.0 release of SK…

In the meantime, for all of you happy with the current release of SK, it should keep doing a decent job for as long as you stay away from CVS code. After that, I believe there should be many an alternative available.

Now if you will excuse me, I have a long awaiting date with a bottle of Bombay Saphire

Note: I also want to use the occasion to introduce the awesome Documentation for Spam Karma kindly put together by Johnathan Abad. Definitely go check it out: it’s full of useful stuff for every level of users.

Filed under: WordPress


  1. Sorry to have taken the “post angry screed to blog” route, even though I did try to find you on IRC this morning. Still, the blog post comes after several successful discussions with you concerning previous versions that did not install properly.

    After recommending SK to many people and having most of them come back to me saying it doesn’t work, and then having it fail once again on my own site, only to have 30 spams fly in while I tried to debug it, I had had enough. Sorry if the post was a bit acerbic – it was late (I know you know those bleary hours too well) and I was unhappy.

    Just like your WordPress release philosophies differ with its devs, my SK release philosophies differ from yours. You put a lot of work into back-porting SK to WP 1.2.x, which is a heavy volume of work I never would have undertaken, but so many people have appreciated.

    My frustration was primarily driven by what you describe: Abrupt WordPress 1.5 code changes conflicting with SK updates. You’ll notice these concerns in a follow-up post I’ve already written.

    It’s a shame to see you leave the space. I was honestly looking forward to Spam Karma levelling out on the 1.5 final while I filled in with something temporary. Hopefully you get a little time and pressure off to come back to it in the future.

    Best wishes on your other projects.

  2. Sorry for the frustrations. I use SK on 1.5 alpha 6 and it works flawlessly. Hope to see you back developing SK soon.

  3. Sorry for all the frustration it brought you Dave.
    And thank you for all the good work done so far on SK and WPPM, they’re both amazing.
    Just take some rest now

  4. Have never updated WP .. i think i am still on 1.2 and it is fine for me and I am just super thankful for SK and always fun to see you in #wordpress … hope you are not too frustrated to shy away from there …


  5. Pingback: Magic Bean Dip
  6. What you’ve started is already very useful. I anticipate that someone (if not you) will pick the code up again when WP 1.5 is finalized. You can take out all the 1.2 and early-1.3 backwards-compat stuff and that’ll make life much easier.

  7. I only found Spam Karma perhaps a week ago, and absolutely love it. Thanks for your hard work in developing it, and enjoy your other projects.

  8. Well, guess I’m not upgrading to the newer alpha builds anytime soon 😉

    thanks again for the great product, and I’ll be sure to hit the tip jar again sometime 🙂

    Y’all come back now, y’hear?

  9. Sorry to see you go. I’m one of your silent users who has kept quiet about any problems I’ve had (though none of them were your code, but merely my installation) but also kept quiet about what a great product you have put together. I’m sorry to see you go, but I agree that if people want to treat your time as worthless and complain about that which you give away for free, then there is little justification in continuing the work you do. However, I just wanted to give you a thanks for all your hard work.

  10. I know you don’t need a champion, especially from someone whose website is named Radical Wacko, but I’ve posted a little article about your decision to drop out of the comment spam development movement.

    I tried to use trackback, but obviously I don’t have enough knowledge to make it work. However, I’m not going to complain. Just to keep this conversation going, my article is at:

  11. Bravo Dr. Dave. I applaud your decision to effectively tell all the whiners out there who are either 1) too lazy or 2) too incompetent to build their own software that works as they wish (i.e. flawlessly) to bug off. If I were you, I’d continue development (because you obviously enjoy it) and then use it for yourself, alone.

    Again, bravo.

  12. Ok, OK… time for some clarifications here.

    First and foremost, please refrain from posting angry messages on Owen’s blog regarding this entry: this was really in no way the intent of my post.
    His rant sure ticked me and acted as the proverbial straw, but was not the primary reason for my decision. Moreover, even if I might disagree strongly on that specific issue, I deeply respect his opinion and work as a developer: Spam Karma owes quite a lot to his own work. So let’s try to keep the dialogue courteous and constructive.



    No worries: I didn’t take that as a personal attack. I know how things can get frustrating at a certain hour, and I sure have done my fair share of over-the-board ranting at times…
    Now, regarding SK’s dev: one thing you seem to fail to realize is that there was no “release philosophy” for Spam Karma’s latest releases because they were not planned releases. As of approximately 1.7 (that is, way before you installed it, I think), I haven’t implemented a single new feature that wasn’t directly linked to fixing bugs or compatibility issues. I have been holding up on a lot of filters ideas I had (including some that would have been “just a few lines”), for a very specific reason: I feel very strongly about the issue of projects that bloat out of proportions feature-wise, while the overall stability takes a dip…

    With the notable exception of TrackBack support, every single release of Spam Karma made over the past few weeks was only a bug-fixing one. Of course, in a few instances, the bug-fix itself induced other bugs (can’t prevent that), and in a very few cases, I didn’t run the tests on every single versions of WP (sometimes I really don’t have the time, and an untested bug-fix is better than no fix at all), resulting in temporary breakage of a release. But in all honesty, I doubt you ever ran into one of these: these broken releases were usually fixed within hours, if not minutes, of being put online. In fact, you are pretty much the first person that mention an update breaking a previously working install of SK+WP…
    On the other hand, WP’s updates have regularly brought changes, some good, some entirely unasked for, that have broken compatibility. You the first should be aware that this is a very obvious risk of running alpha code, and in this regard, your comment regarding the fact that SK wasn’t necessarily up to the latest alpha was pretty much out of place: I certainly have other things to do than avidly download the latest CVS each day to see if there’s a surprise change in there that I need to fix at once.

    Precisely, it is a forum for announcing and possibly discussing major alterations to the code and, in particular, aspects that pertain to core-plugin interactions. I haven’t seen a single communication from the dev team in there regarding half of the changes made to the code, except sometime after they were made.
    I am perfectly aware that one cannot expect alpha version APIs to be carved in stone, but recently, *way* too many instances of unilateral code changes inducing breakage of SK have happened without any other way for me to realize this, other than by testing it myself every other hour on CVS code. It would perhaps be a bit easier to stomach, if on the other hand there was a sensible release schedule, but the fact there hasn’t been a single significant release in about 6 months, while on the other hand, the CVS is blowing up out of proportions, pushes way too many people toward nightlies or CVS code, and result in the kind of problems I am currently whining about.
    I might have missed them, but so far I haven’t seen a single release schedule, feature roadmap (one that has any connection with reality), prioritization of tasks or communication on any of the above to the WP development community at large.
    As mentioned in this entry above, I am personally dissatisfied with the way communication on WP development goes, but I also realize I only have a very marginal say in the matter, which is why I prefer, in the current state of things, take some distance from WP’s code in my own developments. Just thought I would clearly state the reason.

    To Everybody Else

    Thanks a lot for the your kind words and support. I also want to make it clear that, while the whining about flaws in a piece of code that is generously provided to them free of charge and for the sole sake of helping the community definitely tick me off, they are not the primary reason for this break on SK’s development: for each of these ungrateful assholes, there’s been loads of great people showing their support and appreciation in all kind of ways, and that totally makes up for it.
    It’s just that as I was telling Owen above: I have been unable to focus on anything else than SK support and bug-fixing over the past weeks of development. And too much of this bug-fixing was called by things I had no power over (e.g. WP Alpha development). While on the other hand, I was unable to spend any time improving SK or developing other efficient tools to deal with spam.
    So, no need to bother with the whiners: I will be developing more stuff in the future, including spam-fighting tools. And at one point I might pick up where I left out with a hopefully heavily rewritten Spam Karma 2…

    In the meantime, Spam Karma 1.17 as it stands, still stops efficiently 100% of all spam attempts on this blog and hasn’t caught a single false positive in a while, so there’s no reason it shouldn’t work for most of you too…

  13. Dave, despite your opinions on development, one thing that we’ve been really trying to do is make everything more pluggable. I don’t remember what it was, but I remember you telling me we had degraded the hooks somehow on IRC, and it was fixed shortly afterward. 1.5 makes it much easier for plugins to take control of core functions (like commenting) and replace them. If you’re running into trouble for lack of hooks by all means let us know.

  14. Matt:
    Please, don’t get me wrong, I never claimed for a second that WP developers were not putting huge efforts in making everything pluggable. I know you guys are also very much listening to the needs and problems of developers. Indeed, at times changes have been undone after undergoing closer scrutiny or in order to make life simpler for plugin developers and I am very grateful for that. But that is also the problem: too many of these sweeping structural changes, and no concertation (or announce) beforehand. While it is ok to have and make a case every once in a while, and very appreciable to be heard by the devs when doing so, there have been just too many times where it could have been avoided by a bit of preemptive consultation or a slightly more cautious approach to these changes.

    But once again, this is only a symptom of the bigger problem: I shouldn’t have to be developing for pre-alpha code (because this is what it is, official denomination notwithstanding: a beta means feature-frozen and only fixing bugs, I don’t see the current CVS anywhere near that). But things being what they are, because there is a substantial userbase already for 1.3/1.5 (and I do mean *userbase*, not beta-testers), plugin devs all pretty much have to consider supporting them.

    And I know, these users shouldn’t be complaining, they are “living on the edge”, and too bad for them if it breaks… But truth is, it’s hard to blame them for not wanting to use the “stable” version of WP, which still has known unfixed bugs and is lightyears behind current dev. Which takes us to the essence of the problem: a sensible release path (with regular, pre-announced, feature-frozen releases), not an attempt at stuff as many features as possible and give a great once-a-year release.

    But once again: I can see many reasons why you (and the other devs) would prefer to do otherwise. And I firmly hold it to be your right, as the lead developers of this project. Yes, it annoys me deeply, but my comfort of development or opinion on the matter certainly doesn’t have to be a guiding principle. I just thought it was only fair to expose one of the reason why development of SK is becoming so overly burdened and why I need to take a break from it.

  15. There have been several places it would have been great to stamp things and put it out as a release, unfortunately it has been harder than expected sometimes for external issues (for example Wednesday I have to add something new after a 3rd-party announcement) and other times for personal issues, for which I take full responsibility for and apologize.

  16. Dr. Dave:

    While I will be sad to see that SK development is halted for now, I am happy to hear that you are taking a long-deserved break from it all. Aside from the blogging software itself (WP), your plugin has been, by far, the most important piece of software to help me in the maintenance of my blog.

    The simple ban lists and such that come with WP were fine and dandy, until my readership started growing beyond my expectations. Now, I am averaging upwards of 500 comment spams a week. If it weren’t for SK, I would go absolutely insane trying to manage all the poker/viagra/weight loss solicitations.

    Thanks a lot for creating SK. It is the best tool I’ve used so far for spam!

  17. Dr. Dave,

    thanks a million for Spam Karma – it really has helped me enormously manage the flood of spam comments I was getting.

    Hopefully, you will come back to it again soon when the next version of WordPress (1.5) is officially released.

    If we are all disappointed that you have stopped development for a well earned rest it is only because we find SK so invaluable.

    Thanks again,


  18. Dr. Dave, I’m very sorry to hear that this process has been so frustrating for you. I want to express my undying appreciation for Spam Karma, which has made blogging possible for me (it is the best plugin EVER).

    I would hope that the WordPress developers would throw some user-donated cash your way, since WordPress without Spam Karma is going nowhere fast.

  19. Pingback: Radical Wacko Blog

Comments are closed.