• Action: "A drop of alcohol will spice up this bolognese sauce."
    Reaction: It now smells like an accident in a mulled wine factory.
  • Action: Trying to cook bolognese at all.
    Reaction: My shirt is covered in red spots.

Equal and opposite? Not so sure.

Posted in Food | Leave a comment

More lunch blogging

Today sees a serious sandwich combination, namely ham and mustard. I recently provided a buffet supper for some friends, and included this classic combination a long with some others, all unashamedly stolen from the Hotel Felix afternoon tea menu:

  • Ham & Mustard
  • Cream Cheese & Cucumber
  • Smoked Salmon
  • Cheese & Pickle

(admittedly their combinations were a little more upmarket, stating the source and variety of each item)

Posted in Food | Leave a comment

In Defence of Spam

Nobody could really be surprised when spam emails started appearing. Every other communication medium is filled with advertisements and unsolicited intrusion. Newspapers are filled with adverts, and we are harassed by junk mail, telemarketing and door-to-door salesmen.

Two experiences have give me something more to think about when it comes to spam.

Some time ago I was reading the traffic of an email list of which I am a member. For some reason somebody posted to the list a spam message that they had received. Somebody else said “hang on, I’ve received that as well.” All of a sudden everybody was looking through their spam folders, and lots had received the same message. The list was in uproar – how had the spammer got their details?

Had their email addresses been grabbed from the list server, probably hacked by a malicious Russian teenager and sold for thousands? Their email addresses had in fact been collected by hand by another member of the list, whose friend was starting a company and was trying to drum up some publicity. Many on the list responded angrily. It seemed like they’d collected together all their hatred of email spam and directed it at this one person. This seemed a little harsh to me, especially when it became apparent he’d received a threatening phone call, which takes a petty argument to a whole new level.

The second event was more recent. A group with whom I am involved were organising an event. They’d collected lots of names and addresses, and also two-hundred or so email addresses which they wanted to contact about the event. I declined. Should I have?

Now we all know about evil spam. I don’t want tablets or surgery in an attempt to improve my sexual prowess. Nor do I want illegal drugs or to help Nigerians transfer money around. Over here we have banks for that. That sort of spam is a complete waste of packets, and probably clogs up the tubes.

But what about the other sort of Spam?

Supposing I were launching an event, or starting up a business. I’d probably print some fliers and put them through a lot of doors. I’d probably send some emails to people I knew, and to people they new, and maybe to people I didn’t know at all. Surely if my business is providing a useful service then maybe it’s in their interest to know about it.

In turn, I sometimes quite like getting junk through the door. It’s nice to know that some kids down the street will mow my lawn if I get bored of doing it myself, and I’m grateful for some of the takeaway menus. Email is a far better medium for this communication. It takes about the same to decide what’s important and what isn’t, but there’s no impact on the environment or effort required to dispose of the item.

So I say bring on the spam. Just make sure it’s interesting, relevant, and that I might want to use what you’re selling.

Posted in Computing | Leave a comment

Lunch blogging

Ham and sun-dried tomato omelette, salad with thousand-island dressing.

Maybe I ought to do more of this.

Posted in Food | Leave a comment

Leigh’s Backup Strategy Begins…

I’ve never really had a backup strategy. Now and again everything’s turned to toast, but previously it’s not been much of a worry. As one gets older, however, things start to seem more important, and constant nagging focuses the mind as well.

Each loss of data eats away at your soul a little bit. Admittedly I haven’t had a big crash for a while, but little losses happen all the time. I seem quite adept at overwriting newer versions of files when synchronising online and offline copies of this site, for example. Every time this sort of thing occurs I find myself reminded of the fragility of digital data.

Secondly, things become older, and the function of more and more hours of expenditure. After a while the thought of losing a big project becomes more acute.

Some initial worries of data loss got me thinking about online storage. Collecting your email via IMAP is an easy way to start the process. Now the death of a computer doesn’t mean you’ve lost all your previous emails. Since most of us tend to accumulate emails containing useful information, this is a definite plus.

As part of this online storage drive, I moved my diary online. I also uploaded my budget and some other bits and bobs. Of course one does have to make the assumption that the hosting company are better at looking after data than I am. I don’t think this is a bad assumption – after all, that is what I’m paying them for. Not only this, but a few bad data losses would almost certainly destroy their business. These people have a backup strategy, unlike me.

The last time I lost data badly was when I was still at school. I think it could have been related to the widely-publicised “Deathstar” drive errors, but all I can really remember is that the hard drive was toast. So the first part of the strategy was to buy another one.

So, we’ve now got backup potential and a speed bonus by putting programs and data on separate hard drives. Maybe it could be time for a dual-boot Linux installation as well…

I’ll let you know how I get on.

Posted in Computing | Leave a comment

What’s in your phone number?

Recently I’ve been entering a lot of phone numbers in a database. This is dull. Phone numbers do, however, open up a load of (slightly) interesting geekery.

One of the problems I had was with the London dialling code. Numbers in London tend to start with 0207 or 0208. I decided that this seemed like a reasonable dialling code. Some people tended to list their phone number as (020) 8…… but I discounted that – after all it looks very European and not at all like other British numbers.

Unfortunately my slightly Euro-phobic decision turned out to be completely wrong. I was labouring under a common misapprehension. Luckily I’m not alone, and it isn’t really my fault. After all, even BT seem not to understand, listing 0207, 0208, and 0203 as separate codes.

From quite an amusing rant:

Worse still, on some telephone networks the call return (1471) service reads out numbers in these wrong forms. For any company to have let this bug slip through in the first place is bad enough, but I can’t for the life of me understand how any of them can have not fixed it by now. You’d think that basic knowledge of how phone numbers work is essential to the ability of a phone service to function. In any case, anybody who cannot understand such a simple aspect of a phone numbering system has absolutely no business to be working in a phone company. But perhaps worst of all is that some websites devoted to providing information on dialling codes, such as UK Phone Info, are giving false information in this department.

Luckily reading further down the page gives some clear instructions. UK area codes are either:

  • (02x) [London]
  • (011x)
  • (01×1)
  • (01xxx)
  • (01xxxx) [very rare]

If you want to know what all the area codes are, then you can, as always, consult Wikipedia. Their list is particularly useful in that it reveals the origins of many area codes as mnemonic versions of their place name. For example, Cambridge starts with the letters “CA”. If you wanted to text that on a mobile phone you’d use the number 2 key twice. So the Cambridge area code starts 0122x. In this case it’s the third area code of this form, some others being Cardiff, Aberdeen, Bath and Carlisle.

I think it’s very satisfying learning about the origins of complex systems such as the UK area codes and their history. And now you can too.

Posted in Uncategorized | Leave a comment

Link of the day


All print providers must export the initialization function, InitializePrintProvidor. Pointers to all the other functions must be supplied in a PRINTPROVIDOR structure. (Note that these two names are misspelled, but are consistent with the names that appear in the header file, winsplp.h.)

Of course, one can’t correct the spelling of one’s functions, else one breaks the principal of backwards-compatibility. (via Raymond)

Posted in Uncategorized | Leave a comment

Open Source Software – a Chink in the Armour

The collective wisdom of the Internet states pretty categorically that Microsoft is evil, Google is never evil, Macs are cool and Linux is best of all.

Of course not all of that is true, and you can’t always believe what you read on the Internet. Google isn’t evil but colludes with dictatorships to oppress freedom of their citizens, Macs look cool but have an increasing tendency to break, and Linux has a few small issues.

We’ll get over the fact that I couldn’t install it on my new PC, and the fact that for non-technical users it’s a bit of a nightmare to use and configure.

A couple of days ago I was amused to receive an email from one of the hosting companies I use along the following lines (paraphrased):

Big exploit in Debian!


Change all your passwords and run for your lives.

Linux distributions all exist in a sort of family tree. One of the big strengths of open source software (OSS) is that you can edit the source and create your own version of it to suit your needs. This becomes a problem. Looking at this chart we can see that this problem probably effects:

  • Debian
  • Ubuntu
  • About 20 other derived distributions

And the problem itself?

The problem is with the implementation of OpenSSL, some security software which is widely used. The Debian package editors commented out a line which turned out to be quite important, dramatically reducing the security offered. There’s some good links available from Schneier on Security.

Ben Laurie explains more about the problems:

I’ve ranted about this at length before, I’m sure. But now Debian have proved me right (again) beyond my wildest expectations. Two years ago, they “fixed” a “problem” in OpenSSL. The result of this is that for the last two years anyone doing pretty much any crypto on Debian (and hence Ubuntu) has been using easily guessable keys. This includes SSH keys, SSL keys and OpenVPN keys.

What can we learn from this? Firstly, vendors should not be fixing problems (or, really, anything) in open source packages by patching them locally – they should contribute their patches upstream to the package maintainers. Had Debian done this in this case, we (the OpenSSL Team) would have fallen about laughing, and once we had got our breath back, told them what a terrible idea this was. But no, it seems that every vendor wants to “add value” by getting in between the user of the software and its author.

This is a problem with all code in general, but is a real problem with OSS. Someone writes code one way for a reason, but that reason isn’t always obvious to those maintaining the software. All it takes is someone to do something daft and break it.

Posted in Computing | 1 Response

Is the Network Timeout Dead?

Computers are quite good at waiting. My computer spends a substantial proportion of its day in an idle state waiting for me to do something. It also spends time waiting for network resources, and it makes me wait too.

When I go to a webpage or request something online the computer needs to download everything it needs from a server in the cloud. This might be hundreds of miles away, and the data might need to propagate through tens of separate machines before it gets here. This inevitably takes time, and computers deal with this by waiting. What if the item can’t be found, however? I don’t mean “the item isn’t on the server” but “we can’t even find the server – it’s not answering.” This is dealt with by waiting – but not waiting too long. If a response doesn’t come back after a certain amount of time then the computer decides that it isn’t going to come at all.

This all seems quite sensible. It’s difficult to detect the absence of something at the end of your wire except by seeing whether it responds or not. This decision is complicated by the latency in the network. So we have to set a threshold, i.e. a network timeout. If the server usually takes .5 seconds to respond, and we’ve waited for 3 seconds, then it probably isn’t going to answer.

“Connection timed out” error messages via your web browser of choice are annoying, but not infuriatingly so. There are more significant problems inherent in operating systems, however. If your computer uses a logon script to connect to shared network drives then subtle problems start to develop. Usually you’d log on in a few seconds, but now a blank screen appears for half a minute after clicking the “Enter” button.

A better solution would be helpful, but it doesn’t seem likely that there is one. The network timeout isn’t dead at all and isn’t going away anytime soon. All I have to do now is figure out how to decrease it…

Posted in Computing | Leave a comment

Misinformation on the Internet

Recently I’ve been writing code to produce a database of Alumni in the University’s Architecture Department where I work. Somewhat irritatingly the servers all run on IIS which required me to learn how to talk to SQL Server with ASP. The irritating part being that I’ve only just learnt how to talk to MySQL with PHP in order to make bits of this site work (like the diary).

During this process I’ve spent quite a while looking through the Microsoft documentation available on MSDN as well as searching the Internet. It’s laborious to search through documentation when so much is available just by firing up a search engine.

For my latest project at work I’ve had to rename photographs to match details in an Excel Spreadsheet. Since I already had Excel up-and-running, I decided to use Visual Basic for Applications to write a Macro to do the job. Although I’ve been programming in BASIC for years there’s lots of API calls to learn to make Excel do what you want it to.

In my youth I had never learnt the mysteries of escaping character strings. Now in many programming languages character strings are delimited using double quotes (“). Thus to store a string one could use a command like the following:

$poem = "Mary had a little lamb."

Now let’s see what happens if we store a more complicated string. I’m going to try: Mary had a little lamb, whose name was “Flossy.” Now let’s put that in the code:

$poem = "Mary had a little lamb, whose name was "Flossy.""

Now there’s a problem. The character string starts with the first set of quotes, and ends with the second set. So our string becomes “Mary had a little lamb, whose name was “, and the remaining characters cause an error.

So I fired up the Internet, and searched for “visual basic escape quotes.” I found several solutions along the following lines:

$poem = "Mary had a little lamb, whose name was " & Chr(34) & "Flossy." & Chr(34)

That is, instead of writing the quotes as part of the string, we join them in using their character code. A little guess work (and further searching) established the proper way of doing things:

$poem = "Mary had a little lamb, whose name was ""Flossy.""

I.e. you double each set of quotes.

I suppose the moral of the tale is not to trust everything you read on the Internet, but you knew that anyway. Perhaps it isn’t such a good substitute for buying decent programming books and downloading the proper specifications.

Posted in Uncategorized | 1 Response


I was amused to have finished migrating this blog over to WordPress to read this article on Coding Horror:

I’ve been thoroughly impressed with the community around WordPress, and the software itself is remarkably polished. That’s not to say that I haven’t run into a few egregious bugs in the 2.5 release, but on the whole, the experience has been good bordering on pleasant.

Or at least it was, until I noticed how much CPU time the PHP FastCGI process was using for modest little old

I’m not alone; just do a web search on WordPress CPU usage or WordPress Digg Effect and you’ll find page after page of horror stories, most (all?) of which are solved by the swift and judicious application of the WP-Cache plugins.

It’s not like this a new issue. Personally, I think it’s absolutely irresponsible that WP-Cache like functionality isn’t already built into WordPress. I would not even consider deploying WordPress anywhere without it. And yet, according to a recent podcast, Matt Mullenweg dismisses it out of hand and hand-wavingly alludes to vague TechCrunch server reconfigurations.

Oh well, I’ve installed the caching plugin and thus won’t get stroppy messages from my hosting company about server load. Hopefully.

I’ve finally managed to make the blog page look vaguely like the rest of the site, though this was a somewhat frustrating problem. Making changes to the theme isn’t anywhere near as easy as on Blogspot.

The hardest bit was dealing with my blogroll. This is auto generated by Bloglines, as I described a while ago. Annoyingly Bloglines spits out a bit of HTML with each link contained within a <div> element. I needed <li> elements as the sidebar is built as sets of bulletted lists. In the end I managed to do the conversion using XSL Transforms. They’re neat.

Posted in Uncategorized | Leave a comment

Further reading – Godwin’s Law

Having recently discussed the strategy of comparing one’s antagonist’s actions to those of the Nazis, I was amused to notice Dr Crippen referring to a similar technique:

Over the years, I have seen far too many women who have been raped. There will be others, patients of mine, who have not sought help from me and possibly, indeed, not sought help from anyone. I have also seen some women who have had bad obstetric experiences. Sometimes not anyone’s fault. Sometimes, sadly, there have been problems with unsympathetic doctors or midwives. I have seen patients who, as a result of their bad experiences, have developed post-natal depression. I have never had a patient compare their experience to rape. A bad obstetric experience is not rape, nor is it anything like it.

In this case women are comparing their poor birthing experiences to being raped. Admittedly giving birth can be traumatic if things go wrong. Medical staff often don’t have time to explain everything going on when they try to act in a crisis. I would suggest that nothing which occurs as part of the process of childbirth could ever be described using the term rape.

One of the commenters on the post described the practice via Godwin’s Law. The law states:

As a Usenet discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one.

Clicking on the right link yields the correct name for the practice previously described:

Reductio ad Hitlerum is a modern fallacy in logic. Engaging in this fallacy is sometimes known as playing the Nazi card.

(via wikipedia)

Posted in Uncategorized | Leave a comment

Nazi Germany: an argument technique?

Comparisons to the holocaust seem rife today. Any attack on civil liberties is compared to the way the Nazis treated the Jews. Another example crops up today via the UK’s leading anti-vaccine site, JABS (no link love, search for it yourself).

The government is considering making vaccination compulsory for children as a way of improving the current low uptake of vaccines, including MMR. The low uptake is a problem; with vaccination rates below the level required for herd immunity measles outbreaks are starting to appear again. So what does JABS have to say about this?

Even raising the issue of compulsion is the thin end of the wedge. If vaccines are made mandatory before school age even with the most liberal of exemptions (i.e. parents allowed to opt out for whatever reason) then the genie will be out of the bottle and as the Americans have discovered, exemption conditions will be made increasingly more stringent until non-vaccinators find themselves treated not unlike the Jews in the early days of Hitler’s Germany.

(via Black Triangle, emphasis mine) (note that the comment was attributed to “Scotmum,” who may well not represent the official JABS point-of-view).

Admittedly your interpretation of this may depend on your personal viewpoint with regard to vaccination, but the commenter above seems somewhat morally bankrupt. I think that making comparisons between our democratic state and a system which arranged for the killing of six million innocent people is rather poor. If I were Jewish then I could see myself becoming quite cross. Kenneth Jacobson, of the Anti-Defamation League has this to say (admittedly about a different case):

From every side, I think the use of these kinds of holocaust analogies is counterproductive, disturbing, and offensive. People who use these kinds of arguments are trying to be deliberately provocative, knowing full well that the Holocaust is the epitome of evil in the world. But I think there’s a price to be paid, in terms of the offensive element for Holocaust survivors, and it also debases the currency of genocide. It trivializes what the Holocaust was about.

(via dot earth)

Posted in Uncategorized | 1 Response

Shopping Vacuum

Recently Cambridge saw the opening of a substantial extension to the Lion Yard shopping centre – the Grand Arcade. This development features 50 or so largish shopping units as shown in the floorplan.

I was somewhat amused to wander round the arcade soon after its opening and discover that many of the units were still unoccupied. Have the developers greatly overestimated the demand of retailers for more space in the city? Admittedly the arcade opened some months ahead of schedule, but there doesn’t appear to be much change, or indeed signs of opening of these vacant units. Still, I’m sure they’ll all fill up eventually.

On the far right of the ground floor plan you can see a road named “Petty Cury.” Sadly many of the shops there appear to be closing. Clinton Cards has gone – moved into the Grand Arcade. So has Warehouse. So has another girly clothes shop whose name escapes me. If the only shops in the Grand Arcade turn out to have moved from somewhere else then we haven’t gained anything.

I do hope the current shop vacuum in Cambridge starts to fill up. Only time will tell. Perhaps a Greggs Bakery might appear as a welcome change to the current overpriced pasty shops. Perhaps the stage is set for a return of Woolworth’s…?

Posted in Local | Leave a comment


I migrated this blog in early February – now we’ve reached early April and the comment spam has noticed me. Here’s hoping that WordPress comment spam features work better than Bloglines.

In alternative news, there’s an amusing tale at theDailyWTF referring to security at the Halifax.

Not too long ago, my HalifaxATM card got deactivated because I misentered the PIN number three times in a row. So, the next day, I went into the main bank branch to get some cash from a teller.

I headed to the counter with my card in hand and some ID in my pocket. I explained the situation and asked to withdraw a few hundred pounds to carry me over until a new PIN number arrived. After taking my ATM card, she handed me a slip and asked me to sign. I did that, and she then counted out the money and gave it to me. No questions asked.

I’ve thought before that Halifax customer service leaves a lot to be desired. Maybe this will spur me on to open an account somewhere else.

Posted in Computing | Leave a comment


Despite a long round trip, and waiting a million years for some DNS settings to propagate themselves correctly, I’ve managed to migrate the blog to here, which is nice.

Over the next few weeks there’ll be some formatting changes, as I start to build a website at


Posted in Uncategorized | Leave a comment


They tell me that the latest phenomenon to hit the internet today is a blook. An online book. Not sure why the word book gains an ‘l’ – to me that implies that the word “blog” should be an online bog, which can’t be true…

Nowadays you can go straight to Lulu and upload your blook. Anyone can download it and you can even charge to make money! Hurrah! All I need now is a book and somebody to buy it.

Perhaps the most exciting feature of Lulu is the option to publish your book. That’s right, for real, actual publishing. To me this seems like one of the most useful options. Suppose I’ve a massive pdf document and I can’t be bothered to read it online. If I print it i’ll end up with a right mess of pages falling apart. So instead I can upload it and order a printed copy, hardbound if I desire, and the rates aren’t insane.

For a while I’ve had plans to try and compile a modicum of Change Ringing theory into a text. My lack of knowledge implies a selection of contributors may need to be chosen, but it’s a relief to realise that the hard job of having the thing printed is actually quite a bit easier than anticipated.

The question now is whether anyone will want to spend £40 on a full-colour 500-page ringing textbook…

Posted in Uncategorized | Leave a comment

Blog Updates

The cheeky people at Blogger have been updating their engine, temporarily breaking the beast which is Windows Live Writer. No matter, a quick journey to the writer home page, a seamless install and we’re going again.

They do tell me that it’s possible to blog from MS Word these days, though I’m quite happy with the writer so haven’t really tried it out. I don’t like editing anything other than documents with word because I like the “Print View” mode far too much. Messing around with web pages has an unfortunate habit of switching things to other views, which is incredibly annoying when I later come to edit a document.

The updates at Blogger are quite interesting. When developing applications or libraries it’s usually reckoned that changing interfaces is a big no-no. You’re free to modify the implementation of your system as much as you like, but it must talk to the outside world in the same way. Add new functionality if you must, but most importantly remain backwards compatible!

Blogger hasn’t done this – they broke Windows Live Writer, and they also broke their own Word Toolbar, leaving just the simple message:

Note: Development on Blogger for Word has been discontinued, and is no longer available for download. We don’t have plans to update it for the new version of Blogger. If you feel strongly about the loss of this feature, though, please let us know via our Feature Suggestions form. The following article applies only if you are still on the old version of Blogger and have previously downloaded Blogger for Word.

They won’t have a problem, of course – they’re offering a service people want for free. Who cares about the raft of applications which depend on the way it works? Is this just another big company trampling on the little guy(s)?

Of course keeping “the way it works” the same restricts the range of upgrades you can offer to your service. The choice to upgrade is difficult. Is it really necessary? What are the implications? I’m sure the guys at Blogger thought long and hard about this, and no doubt the upgrade will prove useful if I ever figure out what it offers…

Posted in Uncategorized | Leave a comment


I’d just like to point out that Madeira Cake is very high on the list of greatest cakes known to humanity. It manages to be luxuriously moist, proving far better than many inferior sponge cakes which generally prove to be dry and crumbly.

It’s not quite up there with Mille-feuille, of course, which combines several of life’s finer pleasures – Puff pastry, icing, strawberry jam and cream.

Posted in Food | Leave a comment


The Question of the Week on B3ta at the moment is all about personal hygiene. It’s full of exciting stories about people who smell really bad.

Unfortunately this seems to have coincided with an eczema flare up, and the great sage that is Wikipedia is advising:

The first and primary recommendation is that people suffering from eczema shouldn’t use detergents of any kind unless absolutely necessary. Current medical thought is that people wash too much and that eczema sufferers should use cleansers only when water is not sufficient to remove dirt from skin.

Interestingly this seems to be serving me quite well. Cutting back on soap has spared me from spending the morning itching, a significant problem just a few days ago. The only problem now, though, is personal hygiene.

If you happen to be walking past me any time soon and I offend your nostrils, please tell me.

Posted in Uncategorized | Leave a comment