Nowinhypertext


The Evening Standard had two editions this evening. The first edition had half the front page discussing Sir David Nicholson’s role in the management of the Mid-Staffordshire NHS trust following his appearance in front of a House of Commons committee. That’s kind of important.

The later edition dropped this story from the front page to devote the whole front page to the far more important story of a Justin Bieber concert.

I remember exactly why I concluded a while back that the best thing to do with the Standard was use it to line chicken coops.


I have a radical idea. Rather than argue about Hugo Chávez on Twitter like a bunch of twats, you could just read the Wikipedia article. I haven’t read the Wikipedia article nor do I know much of anything about South American politics. I’m therefore going to make the radical decision to not talk about the life or death of Chávez. I know. Crazy.


Justin Bieber fans, according to the Evening Standard, have had all the joy sucked out of their soul. That would imply they had a soul to start with.


De Hems Cafe Bar
pub in Chinatown, London, WC2H

With the Geeks of London.


British Library
library in London, NW1

Got some time to kill so am using the free wifi. Trying to decide whether to copyedit Wikipedia or hack on some code.


Tunbridge Wells
railway station in Grove Hill Road, St James, Tunbridge Wells

Mike Davidson claims to be “ex-gay”. Shall we start taking bets on how long until his Grindr profile turns up? It’d be sad if it weren’t so pathetic and predictable.


If I ragged on TED as much as @umairh has recently, they would have carted me away to the funny farm already.

Finally, someone who gets as angry at this shit as I do. (Now tell me he’s gay and single…)


New rule: the louder a self-proclaimed libertarian is bitching on an Internet message board about how poor people are lazy and live off social welfare, the more likely they are to be unemployed, living in their parents’ house and playing video games.


Google Glass: because a Bluetooth headset doesn’t make you look like enough of a dipshit already.


New rule: for any Internet meme, the moment someone uploads a dubstep remix, it is at that point officially over.

As Godwin’s law does for Internet discusssions, this ensures that memes reach their natural conclusion.


Barnaby has an excellent post about Diaspora.


There’s a lot of hoo ha being made over dick jokes at a PHP conference. I’d weigh in but I’m too busy fiddling with some guy’s Python.


Here is a summary of the candidates for Pope. I’d vote “none of the above”, but it’s not a voting thing, because it is religion, therefore it is magic and not tainted by human political wrangling at all. Obviously.


Ruby 1.9 doesn't implement ISO 8601 properly

Quelle surprise!

In Ruby 1.9, Date.iso8601("2012-12") == Date.iso8601("2012-012"). Why bother calling the method ISO 8601 if it isn’t actually ISO 8601 compliant?

2012-12 represents the twelfth month of 2012, December. 2012-012 represents the twelfth day of 2012, January 12. It doesn’t support year-only or year-month-only levels of granularity for dates, and treats year-month as an ordinal date.

Why is it doing this? Because it doesn’t support year-only or year-month granularity. Like everyone. Because they suck. Because they think that there is no reason why one would want to represent the concept of a whole month or whole year in data. Because they are programmers and programmers don’t do vagueness well. Because programmers seem to think that we wander around with microsecond-precision atomic clocks in our pockets.

(I hope Rails apps are doing input validation on date-times from user input.)

Of course, Date.iso8601("99-01-01") == Date.iso8601("1999-01-01"). It implements pre-Y2K two-digit dates…

One of these days, Tantek and I are gonna go all vigilante on the authors of date-time libraries.


Apparently, there’s some grumbling because the people who thought AIG, Lehman Brothers and Enron were great investments days before they collapsed now think that the United Kingdom is not quite as good an investment as it once was. This is apparently important to some people. I’m not sure why.


“I really want to wipe my greasy fingers all over my laptop screen”, said no sane laptop owner ever.


The Chromebook Pixel is stupid. Touch is a compromise, and a shitty one at that. People I know have already rubbed their fucking greasy fingers all over my laptop screen because they’ve thought “herp derp, it’s got an Apple logo, therefore it must be an iPad, therefore I should be able to pinch and zoom that map you have on screen with my fingers”. Now they’ll do it more. Fuck off.

You only need touch when you don’t have a full-size keyboard and a precision pointing device. Touch is not a feature, it is a shitty workaround.


London police accused of mocking a sick trans woman in ‘brutal arrest’.

Urgh. I’m so glad we have LGBT liason officers and LGBT police surgeries and training days and coppers marching in Pride parades and so on. It should make everyone feel a lot better when they are allegedly humiliating and beating the shit out of trans women in Soho.


Watir, WebDriver, PhantomJS

There’s been some excitement about CasperJS recently. I mean, exciting exciting exciting: you can write your front-end tests in JavaScript!

Well, I’ve got something even more exciting: you don’t have to write your front-end tests in JavaScript. You can write them in Python or Ruby or some other language that doesn’t make you want to stab nails into your eye.

For a long time, I’ve been a fan of Watir, a Ruby library that basically drives a web browser (Firefox usually, but you can substitute Safari or Chrome if you prefer). Well, here’s where it gets even more awesome. Watir now uses WebDriver, a protocol to talk to the browser that has been spun out of Selenium.

And PhantomJS implements the WebDriver protocol.

What this means is headless Watir testing. Nothing funky needed. No rewriting them all in gimpy horrible JavaScript.

Here’s the install instructions for OSX

I got it running on my Ubuntu server. I just had to download the PhantomJS binary, copy it into /usr/local/bin/, install the watir-webdriver gem, install the libfontconfig package with Aptitude and boot up PhantomJS manually using phantomjs --webdriver=8910

There’s only one thing better than headless browser testing in JavaScript, and that’s headless browser testing without JavaScript.


Footer image