Today’s Cycling

Today’s ride: Down mill hill, into waterhall playing fields. Turn right and go up sweet hill, following the path all the way to newtimber hill. This was exceedingly slippery with all the rain and mud, I had a hard time keeping my back wheel from spinning out under me. At newtimber turn left and descend rapidly towards the farm at saddlescombe. Sadly, it was pretty dark by this point, so I couldn’t go too fast as the light was poor. Cross over the road and head up towards Devils Dyke. I nearly ran over a belligerent sheep at this point, the thing was snoozing in the middle of the path.

Just before I got to Devils Dyke, I had a puncture on my back wheel. Thankfully, it was close enough to walk to the pub and use the outside lights to fit the spare inner tube. Only after I had finally wrestled the tyre back on after changing the tube did I realise that I hadn’t checked inside the wheel for pointy bits. Nah, it’ll be alright. It’s only 15 minutes back to Brighton.

Duly, just before I get to the outskirts, I get a second puncture. That’ll teach me to be sloppy. So I walked the rest of the way. The rain was starting by now, but it was light and not too cold, so not a problem.

The best bit of the ride? Being faced with baked potatoes upon my return. Yum!


Cat & Mouse

Our little darlings brought in a mouse last night. Just when I wanted to go to bed. Of course, at the first sign of us, they drop the little beggar and flee the scene of the crime. The poor little mouse is still alive and cowering by the skirting board. After much thought, I decide to lock a cat in the same room as the mouse until I don’t have a mouse problem any more.

Fat chance. The cat just claws at the door until I let it out again.

Insert Cat#2. This time it just sits there looking confused. I should point out that this is the one that caught the mouse in the first place.

So it falls to me to extract the mouse. After a long game of moving furniture and having the small creature jump out of my hands, I eventually managed to catch the little sod. At which point it sank its fangs into me.

So not only have the cats reduced the dignity of this home by bringing in vermin, I’m probably going catch mouse-disease. Bloody marvellous.


Broken web sites still broken

The Google Web Accelerator has just been brought back, apparently. I don’t care much, except to note that it’s caused the rails people to go, well, off the rails. Again.

I don’t really have much to add to the discussion, except to point at Aristotle’s choice extracts. In a sense this is all quite amusing, except for the fact that the rails people still don’t grok what they’re getting wrong.


Comment Spam

Finally the spammers have found me. I’ve got about 30 comment spams in my moderation queue this morning. Good job I enabled the moderation in the first place…

Anyway, to help with sorting it all out, I wrote a <a href="javascript:(function(){var _1=document.getElementById('comments').getElementsByTagName('input');for(var i=0;idelete comment spam bookmarklet. If you run it on the wordpress comment moderation page, then you will set the action for every comment to be delete by default. If you get almost no comments, like me, then this is probably a worthwhile default action.

I know it’s not a perfect bookmarklet. It will stick an error into your JavaScript console when you run it on any other page. But it works well enough for now.


OpenOffice 2.0

I downloaded the new OpenOffice release and played around with it a bit. I don’t use office style software that much, but it’s occasionally useful to have around. The first impression is that the installer (on windows, anyway) is much more modern. It looks like it’s using NSIS.

Firing it up for the first time, the interface is a lot more modern and fits well into the windows desktop. It no longer looks like Office ‘97. There’s still too many toolbars, but they’re easy to turn off.

I had a look at the new OpenOffice Base application. It was really quite easy to get connected to my PostgreSQL server using JDBC (just drop the jar in the jre/lib/ext directory first). About half a minute later, I was looking at my web server logs in the database. It works reasonably well, and appears to be moderately intuitive to use. The bits I still need to play with are Forms and Reports. B ut then again, I’ve never used those in a Microsoft Office environment, so I’ve got no experience to go on.

The one thing that I was really curious to see was the XForms support. It’s lauded as a great new feature, but I found it very difficult to figure out what was going on. Some kind of tutorial would have been a great idea. Actually, I didn’t look hard enough. I need to spend some time over at

Overall, there’s a lot in here that I need to spend some time with to get the full benefit of. But I’m looking forward to it.


XML::Filter::Normalize 0.1

A couple of days ago, I released <a href="”>XML::Filter::Normalize, in order to clean up a SAX event stream where possible. Here’s Robin’s prodding. Anyway, it appears to work more or less as expected. I’m particularly pleased as it appears to have 100% test coverage. Now, I just need to make <a href="”>XML::Genx::SAXWriter depend upon it in order to make Aristotle’s original problem go away.


HP “Extended Capabilities”

I’ve just installed some printer drivers for an HP Officejet at work. Half way through, the installer popped up a question: Do you want to install HP Extended Capabilities? Well, I have no idea what they are, so I clicked on “More information”. This is what it said:

This software can help you get additional benefits only available to HP printer customers.

Once this software is installed, you will have an opportunity to help HP design new and better products by participating in brief surveys. An invitation will appear later on your screen and you can choose whether or not to participate.

You may receive invitations for special programs designed to help customers who do a lot of printing.

HP highly recommends that you install today since this will not be offered at a later date.

Participation is completely voluntary. This program will provide a full disclosure at the time of invitation. If at that time you choose to participate, the software may occasionally connect to HP when you are online, but will have a negligible impact on processing and connection speed. Personal information is never sent to HP unless you give permission. IP address will be used only to enable the connection and for security purposes. This software is governed by the HP Privacy Policy

So it transpires that “Extended Capabilities” is marketing speak for “Spam Me Harder, Please!” I don’t think so.


OpenSSH & zsh misfeature

For a while, I’ve been using a little trick that I found on the zsh wiki (CompletionExamples) to automatically turn my known_hosts file into a set of host names. Unfortunately, the latest Ubuntu upgrade has turned on a new feature of OpenSSH, HashKnownHosts (detailed in ssh_config(5)). Unfortunately, this breaks the parsing because the hostnames are no longer stored in the known_hosts file.

The simple workaround, in my case, was to stick HashKnownHosts no into /etc/ssh/ssh_config. And now everything’s back to normal.

Update: As Aristotle points out below, this is definitely a trade off of security vs convenience. Don’t do it if you’re not happy with the consequences.


Ubuntu Upgrades

For some reason, the upgrade page for Ubuntu is very difficult to find. So, here’s a link to BreezyUpgradeNotes. That’s for the latest version, anyway.


new XML::Genx

XML::Genx 0.19 is now out. Changes include:

  • Allow namespace objects to be passed in to StartElementLiteral() and AddAttributeLiteral(). This makes it much easier to put things into the default namespace.
  • Add a missing “static” declaration to some XS helper functions.
  • Allow multiple different default namespaces inside XML::Genx::SAXWriter. Previously you would get a “Duplicate Prefix” error. Bug spotted by Aristotle Pagaltzis.
  • Make the tests work in perl 5.6.1. Not sure when I broke this.

I deliberately left out the SAX changes that Aristotle was talking about on the list, as I wanted some more feedback. I’ll do another new release in a few days if nobody has said anything.