January 2007

31
Jan

Hot drinks

I have always taken tea without milk. Normally, when you make up a cup of tea for someone, you only fill the mug about three quarters full from the kettle so that you can top up with milk. However, I sometimes find that people still leave this extra space when making me black tea, even though neither they nor I will be adding milk. Why?

Another drink that I sometimes ask for from time to time is hot squash — Ribena or something. Most people are happy to oblige, but it amazes me how often they serve it up in a glass rather than a mug. Obviously people are thinking “juice” rather than “hot”. C’m on, there are good practical reasons for having hot juice in a mug rather than a glass. For starters, a glass doesn’t have a handle, which makes it pretty uncomfortable to hold your drink in your hands when it’s still hot. It also leaves you looking like the odd one out when you’re in a group where everyone else is drinking tea.

What amazes me most, however, is that the people who do this considerably outnumber the people who get it right. Sure, I may have rather quirky tastes in drinks, but don’t people ever stop and think about this when someone asks them for something like that?

30
Jan

Comment Timeout 1.2 - with new features

If you are a responsible blogger, your blog will not contain any spam comments older than a certain age. You will usually delete the occasional one that slips past Akismet within at most a month, so anything older than that will have a 100% chance of being ham rather than spam.

So while it’s right and proper to include rel="nofollow" on all hyperlinks in new comments, one would think it’s usually safe to remove it from older ones, and give constructive, bona fide comments on your blog some Google juice after a while. New comments should, of course, have the nofollow tag added.

I’m experimenting with this in the next version of Comment Timeout, which you can download and try out for yourself. The option is disabled by default, in which case all the comments on your website will, of course, be marked as nofollow, but you can of course turn it on if you want.

Another new feature is the option to indicate to your visitors how long comments will remain open on your blog.

Version 1.2 is currently in alpha, so it’s a case of “use at your own risk”, but I’m dogfooding it on my own blog, removing the nofollow on comments after 21 days. (NB: I make no guarantees that I won’t change the settings!) I’d be interested to know if anyone makes any use of it, or whether or not you think it’s a good idea. Let me know what you think by leaving a comment.

The current stable version is still 1.0 release candidate 2.

Update: I’ve released alpha 2, adding a bit more granularity to the nofollow options.

28
Jan

An evening in London at MiniCamp

A couple of us went to the MiniCamp Internet Professionals’ meetup in London on Friday evening. I’ve been wanting to do a bit more networking with other developers in recent months — more on a social basis than anything else — so I quite relished the idea of getting out from behind the computer and actually spending some time speaking to people face to face, perhaps picking up some new ideas and inspiration. Most of my interaction with other developers has been online up to now, and my offline socialising has been largely restricted to people whose technical expertise tends to average out at the level of the bare minimum of Microsoft Word needed to do their job. Start talking to them about open source, Creative Commons, WordPress, Ruby on Rails or Linux and their eyes glaze over and they wonder if you are a Klingon in disguise.

I must admit I was a bit daunted by the prospect of the venue — Truman Brewery in Corbet Place — since I’m not a great fan of places like pubs, nightclubs, bars and breweries, mainly because I don’t drink and I can’t stand cigarette smoke. Nevertheless, I decided not to let it put me off. The loud music was a bit overwhelming and it made conversation somewhat harder, but cigarettes were mercifully thin on the ground, and all in all it wasn’t too bad. There were about a hundred and fifty or so of us there — a melting pot of geeks, entrepreneurs, investors and other hangers-on looking for ideas for the Next Big Thing™, and it was a surprisingly easy environment to get chatting to new people. It was also nice to see an even distribution of ages from early twenties to late fifties — sometimes you get the impression that this kind of business is dominated by young entrepreneurs in their early twenties with brand new computer science degrees, and once you reach the big three-oh you’re past it.

One thing that struck me was that out of the dozen or so laptops that people had brought along with them, every single one without exception was a MacBook. It made me feel like something out of Noah’s Ark owning a three year old brick from Dell. I think going down the Intel route was a pretty smart move on Apple’s part. The fact that you can run Mac OS X and Windows and Linux on the same machine, all at the same time through Parallels Desktop, makes sticking with a PC seem almost inexcusable.

One of the first people I got talking to was a Ruby on Rails evangelist. I think “evangelist” is probably something of an understatement here: this guy’s passion and zeal for Rails would make Reinhard Bonnke look like a hermit. Personally, I’d love to get into Rails properly — a platform that has active records, Model-View-Controllers, and test-driven development right at its foundation has to have a lot going for it. However, I do wonder sometimes if it’s a bit over-hyped.

“So, do you find there are many job opportunities knocking around for Rails?” I asked him.

He hummed and ha-ed a bit. “Well, actually, not really, no,” he said, before going on to confess that in Rails isn’t that good in terms of performance and scalability.

That’s the problem. At the moment the business case for learning Rails seems a tad exaggerated to me: it is more or less restricted to youthful startups (some of which have, admittedly, become pretty successful) and hobbyists, who have never read Fred Brooks’s classic paper No Silver Bullet. We have clients to convince that it’s the latest and greatest thing — and they are generally rather sceptical. Enterprise development is still very much a battle between .net and Java these days, and Web 2.0 development is dominated by PHP, simply because all the most popular and stable open source apps are written in PHP, such as WordPress, or MediaWiki, or Drupal. Having said that, give it a year or two and I think Rails is going to do pretty well.

There were five short presentations by various people: the Drupal users’ group had joined in with the day, and one of their guys gave a short presentation on what’s new in Drupal 5; a Polish developer/entrepreneur who has started a promising looking hosted wiki service, WikiDot.com, which combines the concepts of wikis and MySpace; an investor giving advice for startups; someone from Tioti.com (Tape It Off The Internet) — TV with the social networking elements added; and another startup talking about video mashups, where people combine bits of different films to produce something completely new.

Mashups. It seems that’s the emerging buzzword of 2007, in the same way that Web 2.0 was the buzzword of 2006, blogging hit the headlines in 2005 and RSS in 2004.

The rest of the evening went fairly well. I had a good chat with one of the guys from the London Drupal users’ group — a Java developer primarily, but he works with Drupal on the side. Much in the same way as I work largely with .net but do some stuff with WordPress plugins in my spare time. He seemed quite interested to hear what I had to say about WordPress and compare notes with his own Drupal experience. We also chatted a bit to the WikiDot developer and swapped ideas, and to a couple of guys who were very enthusiastic about whatever they were doing, though I found it a little bit hard to figure out exactly what that whatever actually was. Perhaps I was just getting tired, but it didn’t seem entirely clear from their business cards or their website either. I think they must be designers or something.

We left to come home at about half past eight. It took us an hour to get from Aldgate East station to Victoria, partly because we caught the wrong train at first, but mainly because we were held up on the Underground by maintenance, a security alert and leaves on the line. The train to Horsham left Victoria at about ten o’clock and arrived back home in Horsham at ten past eleven. All in all, it was a good evening, and I enjoyed getting out, meeting up with other people in the industry, and seeing en masse what kind of characters get involved in the whole Web 2.0 business.

27
Jan

Comment Timeout 1.0 release candidate 2

I’ve released an update to Comment Timeout this weekend to fix a couple of critical bugs. (Did I say it was still in beta?) It was not working on PHP 4, though it was fine on PHP 5, and it was not closing comments correctly if you turned off the option to keep ongoing discussions open. Both these bugs have now been fixed.

Thanks to Heather (http://www.ohmystinkinheck.com/) for the heads-up and feedback. The latest version is release candidate 2 (because the second bug only came to light a few hours after I released a fix for the first one as release candidate 1).

25
Jan

Improving Akismet

WordPress 2.1 comes with a new version of the Akismet plugin, which has an option to silently discard comments that it considers to be spam on posts older than a month.

Personally, I don’t like this approach, because it silently nukes bona fide comments that register as false positives on older posts. My experience of Akismet is that it flags about ten percent of bona fide, non-spam comments as false positives: out of the twenty-three comments and trackbacks that I’ve had over the past month, I’ve had to rescue at least two of them from the spam queue. Furthermore, just before Christmas, the Akismet service started trapping all my comments on other people’s blogs that were labelled with my own domain name (jamesmckay.net). This was very disconcerting at the time, though it righted itself after a few days. Apparently several other people have reported the same problem. I don’t know quite to what extent this is replicated worldwide, but it’s enough to warrant keeping an eye on what is being flagged as spam and what isn’t.

The other problem is that the time delay is not configurable. It may be fine on popular blogs which are updated two or three times a week, but it isn’t suitable for the vast majority of bloggers, who only write once or twice a month and whose readership is relatively small. It also fails if you write a popular, classic post that gets linked to from, say, a Wikipedia article, and would benefit from a longer lasting, ongoing discussion. That’s why I included an option in Comment Timeout to allow you to keep a discussion open for longer if it has had some recent comments.

What we need are better tools to help get to the false positives quickly and (relatively) easily. One way of doing this is to reduce the number of comments that gets as far as Akismet. I use it in conjunction with Bad Behavior and my own Comment Timeout, and the two in combination seem to reduce the spam to ham ratio in my case from about 30:1 to 3:1. I have also tried Spam Karma, though I’m not actually using it at the moment.

The other thing that we need is a better interface to the comments that have been flagged as spam. The Akismet WordPress plugin is rubbish in this respect. It lists the whole body of everything it reckons is spam, sorted by age, with no options to apply any other sort order. If in spite of using Bad Behavior, Comment Timeout, and Spam Karma, you still end up getting hit by a hundred spams with a hundred links each in the space of half an hour, sorting out the false positives can be an absolute nightmare. What we need is an interface that shows us an overview of all the comments in the entire queue, allowing us to sort and selectively bulk delete by age of comment, age of post, IP address, length of comment, number of hyperlinks, and so on. We need to be have the comments collapsed down to just the first line or even only the comment metadata, and then expand them when they’re clicked using Javascript/DHTML. And it would also be good if the Akismet service could return an indication of the level of spamminess of a comment, rather than just a binary yes/no value as at present, so we could sort on that as well.

21
Jan

Repaintance

When we moved into our new house at the beginning of October, I had to choose a new colour for my bedroom. As its previous occupant was the three year old daughter of the last owner of the house, it was a rather girly pink, and I wanted an alternative that reflected the fact that I am (a) male, and (b) straight. Admittedly, apart from that, I didn’t have much of an idea what colour I wanted it to be, other than that it needed to be as un-magnolia as possible. Having spent most of my teens and twenties in houses in which every single room was painted magnolia, I’ve developed a long-standing hankering after something at least a little bit different.

So, I toddled along to Homebase the weekend before our move and had a flick through the catalogue.

The colour that caught my attention was Dulux Roasted Red (#AE5350 for HTML geeks): a fairly deep red, but it looked good in the brochure with the top half of the room in the photograph painted that particular colour and the bottom half in a kind of cream. So, I bought a couple of tubs of the stuff and headed to the checkout. Some light coloured bedding, curtains and furniture would finish off the colour scheme rather nicely, I thought.

When we got home, I began to have one or two second thoughts, and wondered if a combination of light orange and blue would be a better idea and I should go back to Homebase and change it. However, after chatting to one or two people, I came to the conclusion that my idea could be quite successful. Besides, I like to experiment (that’s why I did science at university, after all) so, on went the paint.

The second thoughts started to increase as the paint went on and I saw just how dark it looked,  and when I found that my audacious and outrageous choice of colour was drawing unwarranted attention to me among the folks from church who were in helping us paint the house, I began to regret it. Being the hopelessly introverted kind of character that I am, unwarranted attention is not exactly my cup of tea, after all. Then when eleven-year-old Callum from next door, who was helping with the painting, said that it reminded him of the punishment room at his school (Forest Boys), I started to wonder if this was set to be my number one worst decision of 2006.

However, by now we had painted about three quarters of the room, and with the new carpets due to be laid the following morning and our belongings to come in the afternoon, and Homebase well and truly shut as it was now ten o’clock at night, there was not a lot I could do but to press on and make the most of it. Besides, the brilliant white paint on the roof did at least make it look a little bit Christmassy, if nothing else.

The walls were pretty dark and it did make the room feel a good deal smaller and closed in than before, and it actually turned out to feel quite oppressive. In an attempt to brighten it up a bit, I got hold of a large map of the world that was sitting in the study and put it up on the wall. This made things marginally better, but the improvement was small enough to suggest to me that my idea of a cream-coloured wardrobe, bedspread and curtains would not be sufficient for it to work out in the end. Besides which, having a room that looks like the punishment room at Forest Boys could adversely affect the resale value of the house.

So, after suffering in silence for three months or so, last weekend I decided that enough was enough, I was going for the light orange and blue after all.

Monday lunchtime, I was back in Homebase, scanning my eye along the shelves of cans of paint. It didn’t take me all that long to pick out the colours I was after: Dulux Natural Saffron (#E2BF86) and Dulux Blue Babe (#96B5D4) luxury silk emulsion. Monday evening, I shifted my bed away from the wall, put down some dust sheets and started slapping the paint on.

The improvement was immediate and dramatic, and I could tell straight away that it was going to make a big difference. The contrast between the new colours and the old brick red made it look a bit like a 1980s derelict kindergarten building in an inner city council estate, but even so, it was obvious that it would work out fine with the blue on the end walls and the saffron on the sides. Some more paint went on every evening except Wednesday, when we were out, and Friday, when I spent most of the evening sleeping off the week’s hard work, and when I finally got the last red wall painted over yesterday, it at last looked no longer like the Black Hole of Calcutta nor a derelict council estate, but like something that I’m not ashamed to call my bedroom.

I woke this morning feeling much brighter and happier, and actually invigorated enough to make getting out of bed seem easy. I can see now why people go for magnolia so often, even though I still think it’s the most boring colour of paint on the face of the planet. The lesson has been learned and the repentance has been done. For a bedroom, deep red walls suck.

05
Jan

Comment Timeout on WordPress MU

It’s encouraging to see the positive response that Comment Timeout has been getting over the past week or so. Patrick Chia has adapted it to work with WordPress MU, the multi-user version of WordPress. Thanks Patrick!

04
Jan

Replacing a spleen with something else

One of the fun things about blogging that the MySpace crowd completely misses out on is that people get to your blog through Google, and if you have a bit of techno-savvy, or a Google Analytics account, or both, you can see what people are searching for to get to it. It’s quite amusing to take a look at these from time to time, especially when you get gems such as this one:

“replacing a spleen with something else”

Don’t ask me why, but at the moment I am at the top of this particular Google search, despite the fact that my knowledge and understanding of, and interest in, spleen transplants is zilch. What exactly they were thinking when they typed that into Google, the mind boggles.

Here are a few others:

“windows live writer and myspace”

Windows Live Writer works very well with several popular blogging packages and providers, including Blogger, WordPress, Movable Type, and, of course, Windows Live Spaces. However, MySpace is not one of them. It’s totally unsupported, mainly because MySpace has never released its own API. MySpace is all very well for social networking and showing off your gratuitous absence of web design skills, but as a blogging platform, it is rubbish. Get a real blog.

“james mckay poetry”

I did try writing a little poetry as a teenager. However, the doggerel I came up with was on a par with William Topaz McGonagall or Amanda McKittrick Ros so I threw it out. Nothing to see here. Move along please.

“jim mckay world cup”

It seems I have a namesake who is a well known American sports broadcaster. Apparently, I also have another namesake who is an expert on ferrets, as I discovered when somebody from the Netherlands e-mailed me to ask if that’s me. Sorry, it isn’t.

“ideal microwave height”

Any height is fine as far as I’m concerned, as long as it doesn’t bring it into conflict with the wireless router

“interactive swearing keyboard”

Why, oh why, oh why, do people search for things such as this? I’d hate to have a keyboard that swore at me. So would all my colleagues. So would everyone else I know. But then again, you get all sorts…

“unathleticism”

That’s my middle name :)

01
Jan

I’m on your WordPress dashboard!

My recently released WordPress plugin, Comment Timeout, gained the attention of Weblog Tools Collection in the wee small hours of this morning. Weblog Tools Collection is a blog which covers important new tools and gizmos available to WordPress users. It’s a particularly high visibility blog because its feed appears on the dashboard of every WordPress installation, of which there are approximately one and a half million. Nice one.

It’ll be interesting to see how widely used it becomes.