House style

Hands off the keyboard: it's in crash

Beginner's guide to SSL certificates

Stob I'm not usually a great one for American TV comedy, the cartoons excepted. But recently I came upon a wonderful thing called House, featuring Hugh Laurie as the eponymous hero, a consultant at a New Jersey hospital. Laurie is an effective counter to that arch-enemy of all American hospdrams, Doctor Mawk.

The first pleasure to catch the ear is that Laurie uses exactly the same accent as when he and S Fry used to appear on Saturday Night Live as American sales executives, contriving to include lots of words that sound comic in a macho US growl, eg 'furdle' (fertile).

But House is much more than saying 'tooma' every episode, splendid though this is. Laurie enriches his character with a gaggle of hilarious affectations. He indulges in casual and gratuitous rudeness to his patients, fiddles with a Gameboy while he is supposed to be a-diagnosing, and persistently pops painkillers for a fake limp.

So far, so NHS. However, House's hospital is run on different lines from your local Royal Squeamish. Cases come into the building one at a time, serially, and all the doctors devote all their time to the cure of this single beneficiary. Most of the care is administered by a trio of dimbulb Dr Watson-style sidekicks over whom House insolently sherlocks (presumably there are also some nurses at this hospital to feed the patients, wipe up the poo and blood and so on, but we never see them).

Then there's diagnosis. It turns out that the familiar procedure with stethoscope, squeezy blood pressure thing and intrusive cold fingers is quite redundant. Even MRI scans are of but marginal use, a pity because they seem to have two MRI scanners in every lavatory. No, House knows that the only way to get a real diagnosis is to burgle the patient's house looking for clues. Never mind the X-ray; get an eyeful of that ghastly retro CD collection.

Anyway - arriving finally at the point - I wondered if House's unusual approach to diagnosis could be transferred to the art of software debugging. At least for the purpose of TV drama. Here's my script for the pilot.

Pre title sequence: Woman seated at a computer, clicking at it insincerely with her mouse. Doomy incidental music. Suddenly, she gasps and leans back.

Woman: Omigod!

Camera zooms in through screen - where we glimpse a crash dialog - dramatically descending to micron level in Fantastic Voyage style until we arrive at the ESI register, still containing its recently dereferenced zero address (quite how this will be visualised in an exciting way, I leave to the special effects department. Must I do everything round here?).

Crash in title sequence with spooky title music, properly arranged by Delia Derbyshire. The BBC National Orchestra of Wales can stand down, thanks.

Scene: office of a senior programmer, with big desk, whiteboard etc, but no PC.

Me (natch, allocating myself the plum role of grumpy genius): So, what have we got, people? Differential diagnosis!

Girly-girl sidekick with local monopoly on emotion: Well, we know that the MSI installation went in cleanly, so it can't be DLL Hell...

Me: Mmm, this is good news. I feel as secure as a Java module checked into a SourceSafe suppository.

Ggswlmoe, naively: Surely you mean repository Ms Stob?

Me, writing on whiteboard:

inadm db isibil

SAAB jet Alt. texture austrian tomcruisecontrol

hairpiece carnival memento

Neighbours escapee cursed with floppy hair, baffled: Is this part of the differential diagnosis?

Me: No. I supplement my meagre income by generating 'white noise' text to help spam messages skip those pesky Bayesian filters. Pays 5p per million words. It's hard work, but artistically satisfying. What the spammers can't use, Douglas Coupland buys to put in his next novel.

Necwfh: Do you think it could be a DLL problem?

Black sidekick improbably even thicker than the other two and pompous with it: The error message does imply some sort of dynamic linkage.

Me, gravely: Error messages always lie.

Necwfh: So what shall we do?

Me: Double the RAM, update the virus checker, scan the string tables, log the exceptions and put it on a sampling profiler.

Bsietttotapwi: How will this help isolate the problem?

Me: It won't, you moron. We've got 45 minutes to fill. It would be fatal to make a correct diagnosis this early in the episode. And while you're up, go have a look round the original programmer's auntie's holiday cottage in Cornwall. I've a feeling we may discover an Important Clue there. Take Necwfh with you.

Bsietttotapwi: Necwfh?

Me: Spot of breaking and entering might put some bristle in his hair.

(Exeunt omnes, as I'm sure they are always writing in TV scripts)

(Intermission: Me, doing 'thinking' acting. Playing with cane, rubbing forehead, throwing and catching ball, watching soaps on a miniature TV, leafing through pages and pages of printed memory dumps, playing the piano. After a minute or so of this, I am discovered back in my office, making up more spam filler on the whiteboard. My pager goes off.)

Me, reading my pager message out loud for the purpose of exposition rather than dramatic realism: I see that I am wanted immediately in the walk-in tech support clinic.

(I hobble out of the office, accidentally switching the limp to the other leg.)

(Scene: the walk-in tech support clinic.)

Lady in charge of clinic, to me: Booth four. A Delphi programmer.

Female Delphi punter: I don't know, it's like the compiler has gone mad this last week. I assign values to variables, but they don't 'stick'.

Me: Let me see you hands. Aha! Just as I thought. A touch of RSI in both wrists.

Fdp: Wha...?

Me: The pain in your hands made you decide to save typing by putting in with statements. Take them out, and suddenly your assignments will start working again, just like magic. Next.

Another punter: Ms Stob, we have this mature C++ program that's suddenly started AV-ing. But it only does occasionally - say once in a day's running. The AV seems to move around and the log doesn't show...

Me: You moved the database update to a background thread recently?

Ap: Yes, but...

Me: And you're red/green colour-blind I see. Just put a critical section around the singleton that owns the memory lookup. Or even better, do without the singleton.

Ap: How did you know...

Me: …you were colour blind? Wearing that shirt with those trousers?

Ap: No, I meant about the singlet...

(Enter Ggswlmoe, accompanied by the colleague who looks like a sheep - a non-speaking role in this episode.)

Ggswlmoe, excitedly interrupting: Ms Stob, you've got to come quickly. That application we have in ICU - it's flat-lining!

(Ggswlmoe and I depart.)

Ap: What is she on?

Lady in charge of clinic: About two pints of gin a day.

Ap: Eh?

Licoc: She says it helps her cope with slow C# applications.

Ap: But surely...

Licoc: I know. With anybody else I would be worried. The alleged sluggishness of managed apps is a false and malicious myth put about by those who for reasons of prejudice fail to recognise the technical superiority of the Microsoft design. But Stob is the best damn programmer we have.

Ap, coyly: Please can I be the best damn punter you have?

Licoc: No.

(Scene: the intensive care room. Various alarms are going off. Bsietttotapwi and Necwfh are staring at a CPU usage trend, which is stuck at 100 per cent. Enter Ggswlmoe and I, at a run.)

Bsietttotapwi: It's been like this for six minutes. I think it's fitting!

Me: Au contraire. I'd say it's actually rather inappropriate.

(This pun is greeted with a ghastly silence.)

Me, to camera: Did you see what I did there? ®

Choosing a cloud hosting partner with confidence

More from The Register

next story
PEAK APPLE: iOS 8 is least popular Cupertino mobile OS in all of HUMAN HISTORY
'Nerd release' finally staggers past 50 per cent adoption
Microsoft to bake Skype into IE, without plugins
Redmond thinks the Object Real-Time Communications API for WebRTC is ready to roll
Microsoft promises Windows 10 will mean two-factor auth for all
Sneak peek at security features Redmond's baking into new OS
Mozilla: Spidermonkey ATE Apple's JavaScriptCore, THRASHED Google V8
Moz man claims the win on rivals' own benchmarks
FTDI yanks chip-bricking driver from Windows Update, vows to fight on
Next driver to battle fake chips with 'non-invasive' methods
DEATH by PowerPoint: Microsoft warns of 0-day attack hidden in slides
Might put out patch in update, might chuck it out sooner
Ubuntu 14.10 tries pulling a Steve Ballmer on cloudy offerings
Oi, Windows, centOS and openSUSE – behave, we're all friends here
Was ist das? Eine neue Suse Linux Enterprise? Ausgezeichnet!
Version 12 first major-number Suse release since 2009
prev story


Why cloud backup?
Combining the latest advancements in disk-based backup with secure, integrated, cloud technologies offer organizations fast and assured recovery of their critical enterprise data.
Forging a new future with identity relationship management
Learn about ForgeRock's next generation IRM platform and how it is designed to empower CEOS's and enterprises to engage with consumers.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
New hybrid storage solutions
Tackling data challenges through emerging hybrid storage solutions that enable optimum database performance whilst managing costs and increasingly large data stores.
Getting ahead of the compliance curve
Learn about new services that make it easy to discover and manage certificates across the enterprise and how to get ahead of the compliance curve.