Sam Newman's site, a Consultant at ThoughtWorks

Archive for ‘October, 2003’

It seems just as spammers decided to start targeting blogs, we (or more accurately more able, less lazy people) have come up with all kinds of solutions to keep our blogs spam free. Jay Allen’s “MT Blacklist”: works like a charm and really should be a feature of MT itself. James Seng’s “elegant solution(James Seng’s Blog – Solution for comments spams)”: using automatic image generation to determine if a poster is very nice and works well if you don’t mind making your comments less accessible. Now James has created a “Bayesian filter for MT(James Seng’s Blog – Bayesian filter for MT)”: which I’m installing as we speak, and I found out that Feedster are attempting to generate a “definitive blacklist list of spammers(Feedster – OPML in Action : Updates to the Comment Spammer BlackList)”: The only problem with Feedster’s list is that its OPML which means I have to cut and paste to get it in to MT Blacklist, and they seem to have very few entries right now, although this should be rectified when I send them my list of 500+ IP addresses.

_Update_: You can report spam to Feedster to get IP’s added to their OPML file by using “this interface(Feedster – Report a comment spammer)”:

_Update 16-Oct-03, 12:37_: OK, as Jay helpfully pointed out I am of course putting URL’s rather than IP addresses in MT Blacklist. For those who care, you can see my blacklist “here(magpiebrain – Spammer blacklist)”:

“Jay Allen(Jay Allen :: The Daily Journey)”: as per his “promise(Jay Allen :: The Daily Journey – MT-Blacklist almost ready)”: got his “MT Blacklist plugin(Jay Allen :: The Daily Journey – MT-Blacklist: Stop Spam Now)”: available for download, and I’ve now installed it. Its quite niffty – the interface for adding blacklisted sites is fantastic (and supports regexps). It also handles blacklisting of trackbacks, and also seems to block comments based on their content not just their links, although I’m unsure how this is configured. Anyway, thanks Jay!

As I “mentioned before”:, james Seng has an “elegent MT plugin”:, which attempts to indentify if a commentor posting to your blog is actually human. He dynamically generates a random number as a GIF, and has the commentor type the displayed number. The only problem with such a solution at present is that those commentors that cannot view graphics will be unable to type the correct number in and therefore will be unable to type in the correct value. My potential solution is to have the pluing generate a sentance explaining what values to type in (something like “From the work “Orange” type in the 3rd character and the number positon of the letter g”). Probably not as foolproof as Jame’s solution, but more accesible anyway.

Jeremy Zawodny is “fighting back( Jeremy Zawodny’s blog- Cheap Viagra, Vicodin, Xanax, Prescription Drugs, and Penis Enlargement Pills!!!)”:, by trying to beat the spammers at their own game. Comment spammers are trying to make sure that search phrases such as those mentioned in this posts title will match their site. They’re doing this by posting links to their websites with the phrases thereby warping Goggle’s page rank. Jeremy is hoping his post will get enough Trackbacks (like the one I’m sending) so that his post will actually come out top and annoy all those spammers. Lets see what happens…

James Seng’s Solution for comments spams is to make sure the person making the post is actually human – he displays some text as a graphic, and the prospective poster has to type in the text they see. Even better, hes rolled the whole thing into a MT plugin. Whilst it is a much simpler solution than “Jay Allen’s MTBlacklist plugin”:, it does suffer from two major disadvantages over Jays approach. Firstly the system won’t work for those users unable to view graphics. Secondly it does nothing to handle the content of the post itself – I could still fill the comment’s with links to Viagra sites or verbal abuse. Still, it might make a nice addition to Jay’s plugin – as long as you could easily determine those viewers who were unable to view the graphic and let them skip the test (although any such identification code would of course expose itself to bots playing around).

The secret of good UI design (well, one of them anyway) is knowing how you work and helping you do just that. The RSS feed aggregator “FeedDemon”: is a case in point. As I have said before, I think FeedDemon is fantastic, this opinion being reinforced by something I noticed today. I was looking at a blog in Firebird and decided to add it to FeedDemon (it was actually “Small Values of Cool”:, which for some reason I’ve been reading for ages via a browser rather than an aggregator). So I clicked the syndicate link, copied the link and went to FeedDemon. Clicking the “Add Feed” button and I found that it automatically got the URL from the clipboard! A very small and simple thing, but one that really works, and works well.

Another secret of good UI design? Well, that would be changing the way you work to make you work more efficiently, all the while making the transition between working practises as seamless as possible. Something else FeedDemon has done for me.

You may of noticed that posts to my blog have become more infrequent of late. This is purely down to a decision I made in an attempt to keep my blog fairly focused on Java and web-related topics. I’ve also tried to reduce the number of posts which simply refer to other websites without any type of worthwhile commentary as even I could see that it was drastically increasing the signal-to-noise ratio of my blog. I have however realised that there is still things I want to post and am actually missing that aspect of my daily life. To this end I am planning to offer the following:

# A view of magpiebrain which filters out all non-Java related posts
# An RSS feed for the Java-only version which will become the version of my blog which “Javablogs”: will see
# A normal view of magpiebrain containing everything I post
# An RSS feed for the full view

This is going to have to be added to my already overly long todo list for the blog:

# Implement some of the comment-spam prevention mechanisms outlined by “Jay Allen(The Daily Report – Killing Comment Spam For Dummies)”:, although I may hold fire on that until his forthcoming “plugin for MT(The Daily Report – MTBlacklist Almost Ready)”: is available.
# A few design tweaks here and there (I’ve noticed that the right-sidebar text doesn’t behave very well in narrow browser windows) and I have a strange urge to try and use some of the web icon fonts over at “minifonts”: I may get the code 1.1 XHTML compliant while I’m at it.
# Finally get round to adding some about pages (probably using another blog for static pages)
# Add my blogroll to the page
# Implement a private ‘ideas’ blog
# Implement a contact me form which hides my email address

I have next week off – lets see how much I can get done 🙂

The Display tag library is a JSP Taglib that provides the advanced formatting and display of tables. As well as the ability to do simple things like style the data, it can also transform it using decorators, provide automatic searching, paging, grouping and even export to CSV, Excel or XML! I deal daily with tabled data and this taglib will be an absolute godsend. To get a good idea of what the taglib is capable of check the “live examples(JSP Display Tag in action)”:
Originally spotted over at “Dion(Dion – JSP Tag Libraries)”: