Mr. Smith’s Robbery

This piece of fiction’s been floating around the Internet, recently: I first saw it on Faye‘s blog and wanted to share it. I believe it’s originally written by a Susan from Glasgow, but I haven’t find anything else to pinpoint the original author.

The law discriminates against rape victims in a manner which would not be tolerated by victims of any other crime. In the following example, a holdup victim is asked questions similar in form to those usually asked a victim of rape:

“Mr. Smith, you were held up at gunpoint on the corner of 16th and Locust?”


“Did you struggle with the robber?”


“Why not?”

“He was armed.”

“Then you made a conscious decision to comply with his demands rather than to resist?”


“Did you scream? Cry out?”

“No. I was afraid.”

“I see. Have you ever been held up before?”


“Have you ever given money away?”

“Yes, of course–”

“And did you do so willingly?”

“What are you getting at?”

“Well, let’s put it like this, Mr. Smith. You’ve given away money in the past–in fact, you have quite a reputation for philanthropy. How can we be sure that you weren’t contriving to have your money taken from you by force?”

“Listen, if I wanted–”

“Never mind. What time did this holdup take place, Mr. Smith?”

“About 11 p.m.”

“You were out on the streets at 11 p.m.? Doing what?”

“Just walking.”

“Just walking? You know it’s dangerous being out on the street that late at night. Weren’t you aware that you could have been held up?”

“I hadn’t thought about it.”

“What were you wearing at the time, Mr. Smith?”

“Let’s see. A suit. Yes, a suit.”

“An expensive suit?”


“In other words, Mr. Smith, you were walking around the streets late at night in a suit that practically advertised the fact that you might be a good target for some easy money, isn’t that so? I mean, if we didn’t know better, Mr. Smith, we might even think you were asking for this to happen, mightn’t we?”

“Look, can’t we talk about the past history of the guy who did this to me?”

“I’m afraid not, Mr. Smith. I don’t think you would want to violate his rights, now, would you?”

It’s an effective story, I think, despite the reinforcement of the illusion that rape victims are at most risk from the hypothetical “stranger in a dark alley” (when in actual fact, most rape is conducted by somebody known personally to the victim).

The crime of rape is a whole minefield of complications: the issue of consent; the fact that the only witnesses are generally the victim and their attacker(s), and the sometimes-fuzzy definitions used in many countries’ laws, to name a few. We’re less than a week since a particularly troublesome and emotive case being tried in Cheltenham. In this particular incident, a 15 year-old girl accused a 14 year-old boy of raping her, but it later became clear through the vast inconsistencies in her story that this almost certainly a fabrication. Now, naturally, she’s now being convicted of attempting to pervert the course of justice.

The statement from Women Against Rape? “It is awful that a girl so young has been prosecuted in this way.”

Whoah, whoah – let’s step back a moment. Let’s get this clear: it’s awful that a young woman who lies about being raped, threatening a young man with prison and a lifetime of being on the sex offenders’ register, is being convicted for this? That’s your stance on this? Did I accidentally turn over two pages at once, because I feel like I’ve missed something here.

It’s already awful and tragic that we live in a world where a majority of rape goes unreported. Let’s not also try to make it into a world where it’s acceptable to knowingly make false accusations of crimes, especially those with life-altering consequences.

Fox News on IPv6

Here’s what Fox News have to say about IPv6:

Web developers have tried to compensate for [the IPv4 address shortage] by creating IPv6 — a system that recognizes six-digit IP addresses rather than four-digit ones.

I can’t even begin to get my head in line with the level of investigative failure that’s behind this sloppy reporting. I’m not even looking at the fact that apparently it’s “web developers” who are responsible for fixing the Internet’s backbone; just the 4/6-digits thing is problematic enough.

Given that Wikipedia can get this right, you’d hope that a news agency could manage. Even the Daily Mail did slightly better (although they did call IPv4 addresses 16-bit and then call them 32-bit in the very next sentence).

Oh; wait: Fox News. Right.

For the benefit of those who genuinely want to know, one of the most significant changes between IPv4 and IPv6 is the change from 32-bit addresses to 128-bit addresses: that’s the difference between about 4 billion addresses and 340 undecillion addresses (that’s 34 followed by thirty-eight zeros). Conversely, adding “two digits” to a four-digit number (assuming we’re talking about decimal numbers), as Fox News suggest, is the difference between a thousand addresses and a hundred thousand. And it’s not web developers who are responsible for it: this change has nothing to do with the web but with the more fundamental architecture of the underlying Internet itself.

Puppy Eating Time

My boss, Simon, and his family have recently gotten a new puppy, called Ruby.

Ruby, my boss’s new puppy. Aww.

Apparently the little girl’s full of energy and bounce and is taking up a lot of time while she gets settled in to her new home. While talking on an instant messenger with my boss earlier this week, he was telling me about how he’d had to get up in the middle of the night and take her for a run around the garden, because the little tyke was still full of beans and not sleepy. And that’s why I made one of those fabulous moments in instant messaging: when you type something that can be read multiple ways:

Dan: Puppy eating time?

Obviously, I had meant:

Dan: [Is the] puppy eating [i.e. consuming a lot of your] time? [Poor you, you're not getting much sleep.]

Just three words. So simple. But a split second later the other, inevitable way of reading it became clear:

Dan: [Is it] puppy-eating time? [I want to eat your puppy!]

A puppy sandwich: probably the best way to eat a puppy – dressed with a little mustard and lettuce and presented in a bap. Or a french stick, if it’s a dachshund.

Shit. That’s not what I meant! I tried to correct myself:

Dan: I don't want to kill your puppy!

Then I realised: what if my boss didn’t read it the wrong way at all? What if he already understood that I was asking about how much time and energy the new family member was taking up… if that’s the case, then I’d just made myself look like a psychopath who’s contemplating killing his family pets. I backpedalled:

Dan: That came out all wrong. I mean: of course I don't want to kill your puppy - I just didn't want you to think that I did, in case you thought that for some reason.

That didn’t help. This was just going from bad to worse. Then, salvation came:

Simon has reconnected.
Simon: Sorry, had to reboot - did you get my message about our new puppy?

× ×

Argh, It Burns! Night

This weekend the other Earthlings and I celebrated Burns Night. Of course, we’re just a little bit eccentric between the four of us to celebrate it like normal people, so we decided to apply a little bit of a twist to a tried-and-tested theme.

A traditional Burns Night consists of a hearty meal of haggis, ‘neeps and tatties, drinking of whisky, and the recitation of songs, poems, and stories (with a particular emphasis on works by the poet himself). We all enjoy a nice haggis – albeit a veggie one, which I dubbed a vaggis, for Ruth and Paul – and a dram or two of decent whisky – with the exception of Paul, who substituted a series of Irn-bru-themed cocktails – so these aspects were kept intact. But we decided to swap out the traditional songs, poetry and storytelling for something a little more contemporary…

In our newly-invented, “Argh, It Burns! Night”, attendees each perform a reading of the worst piece of fan fiction that they can possibly find. There’s a wealth of truly awful fan fiction in the world, and we wanted to do justice to it by performing readings and voting on which was the most awful, or most entertainingly terribly. I suppose this was inevitable: after Troma Night gave us years of watching the worst films imaginable, the next step had to be to expand to other media.

After finishing our supper and fortifying ourselves with a drink or two, we drew lots to determine who was to go first. JTA began.

JTA begins his reading.

JTA had chosen to read Guywars, by Josh Vandergriff, a strange crossover between the Monkey Island and Star Wars franchises, with an embarrassing number of “jokes” stolen verbatim from Spaceballs. Depite lurching between the past and present tense and riddled with humour a little immature even for the playground, we couldn’t help but laugh out loud at some of the accidental moments of literary genius, like this gem:

Guyvador [a Darth Vader-like character] breaths like someone breathing out of a paper bag might breath, only without that great lunchy smell.

Paul and Ruth appreciating the... umm... "art?"

Next up was Ruth, who shared with us all Garfield: First Blood, the first in a two part series of stories in which Garfield repeatedly rescues Natalie Portman from vampire gangsters. And I’m ashamed to say that I really enjoyed this piece. Not because it was good – far from it – but because it was so beautifully awful.

“HAHA Garfield!, We demand the blood Bank of USA give us 600 million gallons of blood, all in one hundred dollar bills or else we will be making evening breakfast out of Natalie Portman!” Said the head Vampire Gangster with menace.

I’m honestly not convinced that the author  is even aware of who Garfield is, because instead of being a lasagne-eating, lazy feline, the Garfield in this story carries a handgun (difficult with paws), drives a pickup truck (very difficult when your knees are backwards), and woos movie stars. I would love to see somebody make a comic book of this story.

But although the author – the optimistically-titled “ShakespeareHemmingway” – may not know who Garfield is, he certainly knows who Natalie Portman is. The story ends with a postscript to let her know, if she’s reading this, that if she would like to date him, that would be okay.

Ruth performing a reading.

Paul took the chair next, giving us a reading of the first six chapters (they’re miniscule, although one gets the feeling that this is perhaps because large chunks of them are missing, based on the continuity problems) of HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH – yes, that’s really it’s title.

Listening to this story is like going to Azathoth‘s house and dropping acid. While outwardly it sort-of appears to be Harry Potter fanfiction, I’m convinced that it’s something more: I’m not sure what. Perhaps it’s a chant to summon demons of insanity, or perhaps it’s a piece of neo-Dadaist genius, but there’s something there. What I can tell you, though, is this: hearing it makes you feel like your brain is at risk of melting out through your ears.

Harry vomited steam and summoned a great meteor from space to smash into Hogwarts and kill everyone there, for no reason at all… He encased the entire meteor in a wreath of holy fuckfire and flew through Mercury, killing the fuck out of it. Then he sent Mercury’s carcass into Venus, killing the fuck out of it and making every vagina in the galaxy explode, and inside every vagina a booby sang of mortal life’s fleeting precipice.

Seriously. You can’t tell me that doesn’t mean something?

Paul and JTA listen and prepare for the voting...

For my story, I’d selected QUAKE THE EPIC FIGHT!, which is – I hope – probably the only piece of Quake-themed fanfiction to have ever been written. It’s starts – and finishes – with Chapter One, which kind of makes me wonder why it bothers with a chapter title in the first place, and tells the story of old schoolfriends Bill and Norman as they fight together against the, and I quote, “evill strogg robot alien things who kill humans”.

It’s pretty dire, and remarkably hard-to-read on account of it’s random tense changes, spelling (both awful and inconsistent), and the absence of punctuation. Let me share a sentence:

ther vas loud boom when bills ship crash but ther vas louder more BOOM when normans did. “oh no is he ded!” bill sayed lik sad but ther vas body who climed up from shp and they ran to others in happy!

Ballot papers.

Finally, it came time for the voting – by STV, of course, because we’re not savages. After a run-off round between tied winners Ruth and Paul, Ruth finally came out on top! Garfield had it!

The prize! Jack Daniels and ginger. In a can.

JTA has decided to provide a prize that fit with the theme. Fanfiction is a good way to ruin a perfectly good story… so what happens if you ruin whisky? You get this, it turns out: Jack Daniels and ginger, in a can. Ruth was less-than-delighted by her prize (it didn’t taste too bad all by itself, but the soapy aftertaste was pretty grim), but managed to gulp down the whole can with minimal help from the rest of us.

Ruth with her "prize".

Ruth mentioned that there existed a sequel to the piece of fan fiction she’d read, and we insisted that she give us a reading of this, too. And so, we got the dubious pleasure of a live reading of Garfield: First Blood Part II: The Legend of the Warrior of the Forever Fist, feature fantastic paragraphs like this closing moment:

Garfield and Natalie Portman went on her bed and embraced for love makings. They rubbed eachother with oil and perfume and touched eachother all over. Their bodies then joined like peanut butter and jelly and created delicious loving all night long.

Wow. The author even updated his postscript to let his admired Natalie Portman know that he’s still single (shocking, I know, that a talented author like this can’t get a date) if she’s interested.

All in all, the first ever Argh, It Burns! Night was an amazing, hilarious, and only sometimes painful, success. We’re totally going to have to do this again next year.

× × × × × × ×

Mobile One-Time-Passwords in Ruby

I recently came across the Mobile One-Time-Passwords project, which aims to make a free, secure alternative to commercial two-factor authentication systems (like SecurID). The thinking is pretty simple: virtually everybody now carries a mobile phone capable of running basic applications, so there’s no reason that such an application couldn’t provide the processing power to generate one-time-passwords based on a shared secret, a PIN number known only to the authenticating party and to the server, and the current date and time stamp.
Great! But it turns out that despite there being libraries to produce server-side implementations of the technology in PHP, Perl, and C, nobody had yet bothered to write one in that most marvelous of programming languages, Ruby.

Well, now I have. So if anybody’s got the urge to add one-time-password based security to their Rails or Sinatra app, or would like to write an MOTP client for their Ruby-capable smartphone: well, now you can.

Copy-Pasting Passwords into Steam

Just want to know how to ‘fix’ Steam’s password field? Scroll down to “How to Fix It”

Steam & Security Theatre

You’re a smart guy. You’re not stupid about computer security. And that’s why you always make sure that you use a different password for every service you use, right? You might even use a different password for every account, even when you have different passwords on the same service. You know that there are really, really good reasons why it’s simply not good enough to, for example, have “high-security”, “general use” and “low security” passwords, and re-use each of them in several places. And if you don’t know that: well, take my word for it and I’ll explain it in detail later.

It’s no great hardship to have lots of long, complex, effectively-random passwords, these days. Tools like SuperGenPass, LastPass, and KeePass, among others, mean that nowadays it’s so easy to use a different password for every service that there’s no excuse not to. So you probably use one of those (or something similar), and everything’s great.
Except for that one application – Steam. I have Steam save my password on my desktop PC (by the time somebody steals my desktop PC and breaks into the encrypted partition on which my data files lie, I have bigger problems than somebody stealing my Just Cause 2 achievements), but it forgets the password every time that Ruth uses her Steam account on my computer. No problem, I think: I can easily copy-paste it from my password manager… nope: Steam won’t let you paste in to the password field.

What? If you ask Valve (Steam’s creators) about this, they’ll say that it’s a security feature, but that’s bullshit: it’s security theatre, at best. And at worst, it means that people like me are inclined to use less-secure passwords because it’s harder to memorize and to type out that a more-secure password would be.

How to Fix It

Well, obviously the best way to fix it would be to successfully persuade Valve that they’re being stupid: others are already trying that. But what would be nice in the meantime would be a workaround. So here is is:

  1. Edit Program FilesSteamPublicSteamLoginDialog.res (Program FilesSteamPublicSteamLoginDialog.res on 64-bit Windows, somewhere else entirely on a Mac) using your favourite text editor (or Notepad if you don’t have a favourite). Take a backup of the file if you’re worried you’ll break it.
  2. In the "PasswordEdit" section (starting at about line 42), you’ll see name/value pairs. Make sure that the following values are set thusly:
  • "tabPosition" "1"
  • "textHidden" "0"
  • style="TextEntry"

The next time you load Steam, you’ll be able to paste passwords into the password field. The passwords won’t be masked (i.e. you’ll see the actual passwords, rather than asterisks), but the dialog never loads with a password pre-populated anyway, so as long as you make sure that nobody’s looking over your shoulder while you type, you’re set!

Update: let’s face it, Valve’s security policies suck in other ways, too. Please read the tale of a friend-of-a-friend who’s desperate to change her Steam username.

Dan Q found GL4ZBARC Rock Edge

This checkin to GL4ZBARC Rock Edge reflects a log entry. See more of Dan's cache logs.

Despite the foul weather I really enjoyed exploring this little nature reserve (and not just because it gave me a break from my cross-town cycle!) Photos attached of me by the notice board, down by the cliffs, and of the cliffs with me pointing at them (because otherwise those cliffs could be anywhere; but only I would wear a jacket like that!). Email to follow. TFTC.

Dan at Rock Edge GZ

Dan Q found GL4ZBA6C Son of the The Lonely tree

This checkin to GL4ZBA6C Son of the The Lonely tree reflects a log entry. See more of Dan's cache logs.

Looks like I must have been there JUST before mumzoid970! Following the coordinates, I was standing almost on top of it (well, as close as one can get!) before I thought to look down and spotted it. TFTC.

Dan Q found GL4ZB9QK Oxford United FC

This checkin to GL4ZB9QK Oxford United FC reflects a log entry. See more of Dan's cache logs.

My favourite cache of the day! A wonderful little adventure!

I’d not noticed when I copied the data to my GPSr that this find was going to involve as much leg-work as it did! Starting in Headington, I collected the clues, zipping effortlessly around the locations by bike. Then, sat on the side of London Road, I came up with the coordinates. HOW FAR? Wow… it’s a good job I’m ready for a decent cycle, today, and I’ve got a few caches down that way that I’d like to collect anyway.

Several miles (and many caches) later I found myself getting close, hoping that I’d not miscalculated or gotten the wrong numbers. When I got close, it became clear to me where it was likely to be hidden: but the recent rain had made the ground treacherously slippy, and I struggled to get the cache, between groups of people walking past, without falling over!

I have no interest whatsoever in football, but I thoroughly enjoyed this cache… as well as enjoying learning a little bit of local history! TFTC!

Dan Q found GL4ZB8G2 Testing (R50) 1, 2, 3

This checkin to GL4ZB8G2 Testing (R50) 1, 2, 3 reflects a log entry. See more of Dan's cache logs.

Found this on my way down from Horspath Nature Reserve. Nothing exciting happening on the test track, but I did notice that the signature before mine in the log was that of Fraig2010, who recently dropped off my Travel Bug at Famous Grouse, the final step of it’s journey! Maybe I’ve just passed him/her…

Dan Q found GL4ZB6WK Old SideTracked – Horspath Halt

This checkin to GL4ZB6WK Old SideTracked - Horspath Halt reflects a log entry. See more of Dan's cache logs.

During a nice stroll around this lovely nature reserve (including a look at the artificial “bat cave” that’s been formed out of the remains of the old railway tunnel), I found this cache after an embarrassingly-long hunt. I choose to blame my GPSr being thrown off by all the trees, but in actual fact it’s my bad observation skills that are to blame for this one taking me so long! Lovely little cache; delighted to have found it!

Bricked-up railway tunnel near a geocache.

Dan Q found GL4ZB6AQ Famous Grouse

This checkin to GL4ZB6AQ Famous Grouse reflects a log entry. See more of Dan's cache logs.

This cache was a primary goal of mine, today, because a travel bug I set off on it’s travels (a long while back, and in Wales), “The Oxford Scouting Party”, had safely landed here and I wanted to pick it up. Coming up the path from London Road after such rain was a mistake, because the path was wet and slippery, but I got there in the end and found the cache without too much difficulty (although I did need the clue to help make sure I was looking in the right place!). Took my travel bug, left a rubber bouncy ball and a sliding puzzle of a tiger.

And I did get to see a grouse or two on the way up! Two grouse? Grouses? Grice???

Thanks for a wonderful cache and an enjoyable walk.

Dan Q found GL4ZB5QD All Ducked Up

This checkin to GL4ZB5QD All Ducked Up reflects a log entry. See more of Dan's cache logs.

After a hard uphill trek through slippery mud (in inadequate shoes) I got to this easy cache. Lots of stuff in the box, but TNLN. Thanks for giving me an excuse to stop for a break before pressing on to Famous Grouse!