Every year Donations With A Difference runs a charity fantasy-football-type game to raise money for good causes. This year we have been able to cover the £1,200+ prize fund entirely through sponsorship which means that we can donate everything that we make to Kelly’s appeal.

So, if you’re in the UK or Ireland (unfortunately we can’t make it available in the US as we don’t want to go to prison there – but you can donate directly to Kelly here), please sign-up today. There are cash prizes every week, the chance to win additional money for a charity of your choice, mini-leagues to compete against your friends, and the warm glow of knowing you’ve taken Kelly one step closer to her goal.

If you’re not in the UK or you’re not interested in the Beautiful Game and helping charities then this post isn’t for you. I’ve generally tried to keep the articles on this site at least tangentially related to software development but on this occasion the link is a bit more tenuous than usual.

I’d like to ask you to consider playing our online charity football game, Super10. You can win a share of several hundred pounds in cash prizes and, more importantly, you can help to raise money for charities. The charity aspect is two-pronged. Firstly you can win money for one of the four organisations that the game is supporting this season (Demelza Hospice Care for Children, Kent, Surrey and Sussex Air Ambulance, Pilgrims Hospices, and homelessness charity Porchlight) and secondly all additional proceeds go to Donations With A Difference (DWAD), the newly-registered charity, of which I am now a trustee, that is running the competition. DWAD will use this money to make grants to individuals and organisations to support the improvement of physical health, mental health and education in the UK.

Super10 is a little bit like fantasy football except that instead of picking players, you pick ten clubs – seven from the English game and three from the top European leagues. These teams score points for you throughout the season. Compared to traditional fantasy football it’s a low-maintenance game as there are no substitutions to deal with each week and transfers only occur during the January transfer window. You can make your selections and mostly forget about them. That said, it does have a way of making you care deeply about the results of teams you previously had no attachment to. Never been to Peterborough? Doesn’t matter, you’ll still feel the despair as they concede a late equaliser to Port Vale.

So what’s the software angle? Well Super10 has been around for a few seasons, certainly much longer than I’ve been involved, but this year we’re trying to take it beyond its previously limited scope. That has meant getting it fully online including being able to take payments online so that we can extend the game to a much wider audience and therefore raise more money. To enable this I’ve built the responsive Super10 website using Python, Django and Bootstrap. Much of the website was in use for most of last season but now we’ve extended it to open up Super10 to the whole country for the first time.

We’re restricting Super10 to the UK only for now because we are not familiar enough with the laws governing this kind of competition in other countries. The deadline for entries is noon (BST) on Saturday 16th August. Give it a go and get your friends to play too.

The big news in the UK today is the mysterious destruction of a wind turbine in Lincolnshire. The 300ft high turbine lost one of its three blades and suffered damage to a second at about 4am on Sunday morning. Based on careful analysis of the facts, most of the nation’s media has attributed the incident to a UFO. The Sun “newspaper” felt that this incident was sufficiently important to dedicate its front page to the story:

Dorothy, of Louth, said: “The lights were moving across the sky towards the wind farm. Then I saw a low flying object. It was skimming across the sky towards the turbines.”

Hours later there was an almighty smash.

Only “hours later”? I’m ready to believe already, but there’s more. The BBC corroborates this evidence with a quote from a spokesman for the prestigious Flying Saucer Bureau:

Russ Kellett, from the Flying Saucer Bureau, said witnesses had told him of activity in the area.

“One saw what they at first thought was a low-flying aircraft on the Saturday evening and another heard a loud banging in the early hours of Sunday,” he said.

A low flying aircraft on Saturday, a bang on Sunday, how can they not be linked? Dale Vince, a spokesman for the turbine’s owners Ecotricity helpfully suggested to the Today programme on Radio 4 that “something the size and weight of a cow would do it” (which itself suggests an appropriate soundtrack for the incident).

If you’re still sceptical about the involvement of extra-terrestrials, possibly the most compelling evidence comes from witness John Harrison:

John Harrison, another witness, described how he looked out of his landing window and saw a “massive ball of light with tentacles going right down to the ground” over the wind farm. He said: “It was huge. With the tentacles it looked just like an octopus.”

Unfortunately, the journalists at the Guardian don’t exhibit the same imagination as John. They scandalously suggest that John and other witnesses might actually have been observing the fireworks display just down the road from the wind farm. It’s an easy mistake to make (at least compared to this).

Now I’m not a wind turbine engineer, but I’m not yet ready to rule out the possibility of mechanical failure. It wouldn’t be the first time. This particular turbine had only been operational since April and this week experienced its lowest temperatures so far. Perhaps there’s a link there? Or maybe I’m just jumping to ridiculous conclusions?

So what the hell does all this have to do with software development? Not much really, except it provides an opportunity to mention Occam’s Razor, which is as applicable to debugging as it is to debunking. The idea is that you should favour the explanation that fits the facts and relies on the fewest assumptions. Next time you hear yourself uttering the fateful phrase “it must be a compiler bug”, think of the good people of Lincolnshire. Likewise, if there are 100,000 other developers successfully using a given library and it doesn’t work with your program, you shouldn’t be looking at the library’s source until you’ve proved the correctness of your own.

The alternative to Occam’s Razor is to believe that the Earth is flat, that all the space programmes are fakes (because those photos of a spherical Earth can’t be real) and that the destruction of Tower 7 was an inside job to destroy the evidence of the US government’s involvement in this spherical conspiracy.

The big story in UK in the last couple of days has been the vote in the House of Commons on increasing the maximum period that somebody can be detained on suspicion of terrorism without charge to 42 days. When the Labour Party came to power in 1997 you could not be held without charge for more than 7 days. Under Tony Blair this was doubled to 14 days. It was later doubled again, to 28 days, but only after an attempt to extend it to 90 days was narrowly defeated.

Yesterday the government’s bill to extend detention without charge to 42 days was passed by the House of Commons (though it may yet be rejected by the House of Lords or ruled illegal by the European Court of Human Rights). This prompted prominent opposition MP David Davis to resign from Parliament this morning (more on him later).

Throughout the many debates on this issue over the last few years the justification in favour of the increase has been that terrorist plots are becoming ever more complex. We are constantly told about cases that require the police to examine hundreds of computers and thousands of CDs in the search for evidence. The extra time is needed, so we’re told, to allow police to access these “encrypted” files. The Prime Minister himself mentioned encryption in his press conference this morning (towards the end of the video clip embedded on that page):.

“…certainly involving encrypted computers and everything else… that they will need more time to deal with that.” – Gordon Brown

Any terrorist who allows their encryption to be cracked by the police within 42 days was not paying attention at terrorist school. The real world is not like a badly written crime drama where the stereotypical nerd cracks the bad guys’ encryption in less than an hour using a desktop PC and a 3D screensaver. Even a 128-bit AES key would take trillions of years to crack:

16. What is the chance that someone could use the “DES Cracker”-like hardware to crack an AES key?

In the late 1990s, specialized “DES Cracker” machines were built that could recover a DES key after a few hours. In other words, by trying possible key values, the hardware could determine which key was used to encrypt a message.

Assuming that one could build a machine that could recover a DES key in a second (i.e., try 255 keys per second), then it would take that machine approximately 149 thousand-billion (149 trillion) years to crack a 128-bit AES key. To put that into perspective, the universe is believed to be less than 20 billion years old.

So it seems to me that the debate should be about detaining suspects without charge for up to 149 trillion years (and let’s just hope that the terrorists don’t think to use 256-bit keys). Anything less would be an ineffective compromise. David Davis touched on this in his resignation speech:

“…because the generic security arguments relied on will never go away – technology, development and complexity and so on, we’ll next see 56 days, 70 days, 90 days…” – David Davis

David Davis is a Computer Science graduate, so he is probably more aware than other MPs of the absurdity of the idea of detaining suspects while their encryption is cracked.

Davis has chosen to wage war on the Labour government’s approach to civil liberties. In his criticism of the national DNA database and proposed ID cards he coined the term “The Database State“. I think this is a phrase we will be hearing a lot more of in the coming months. Especially given recentfailures to protect sensitive data.