The Programming Procedural Story
This is not an article about procedural programming.
There’s a type of fiction called “police procedural” that, according to Wikipedia, “attempts to convincingly depict the activities of a police force as they investigate crimes.”
A Google search for “programming procedural,” a story that attempts to convincingly depict the activities of a programmer as they investigate nefarious (or otherwise interesting) activities, turns up nothing.
I’m sure books like this must exist already, but I figured it’d be good to at least get people to use the name “programming procedural” to describe them.
I write middle grade fiction as Barnaby Quirk, and my latest book, Virtual Grunt, stars Bobby Thomas, a thirteen-year-old who discovers that the virtual reality game he loves is being rigged by someone out to win a fifty million dollar prize. He contacts the company that makes the game and speaks to a programmer, Amanda, who is forced to spend some time doing customer service because it’s an all-hands-on-deck kind of time. She, in turn, decides to dig in and see what’s going on.
I had to figure out how to express Amanda’s thought process in a way that was understandable to non-technical readers (ages 10+). She starts by querying a somewhat unrealistic database and then using a couple of homegrown utility programs:
She opened a command line on her computer and wrote:
> SELECT rank, username FROM leaders LIMIT 3
After she pressed ”enter,” the computer displayed:
1, “Kelly Mason”
1, “Michael Rose”
3, “Alfonso Giuseppe”
“So, after that match Kelly Mason and Michael Rose are tied,” she thought.
She ran another couple of commands:
> matchfinder “Kelly Mason” “Michael Rose” 2027–06–14
match id: ae9ff4e96c90a234625fba1aaa5c16f2 (3:45pm, Flying Squirrels)
> matchinfo ae9ff4e96c90a234625fba1aaa5c16f2
The second command printed a couple of screenfuls of information. She had looked at matchinfo many times and knew what she was looking for, so she scanned until she saw it:
Player 1 Opponents:
AIs: 0
Grunts: 5
Player 2 Opponents:
AIs: 0
Grunts: 5
The data confirmed her suspicion that AIs had nothing to do with it. All of the chipmunks had been grunts. The screen listed the grunts’ EL names as well, so she copied and pasted those names into a new file on her computer.
The “grunts” she’s referring to are key to the story. Grunts are humans that take on game roles that were traditionally handled by AIs. So, she saw something fishy and decided to look into how the grunts were being assigned. The code looked suspicious, so she decided to see if anything had changed recently:
She looked at the file change information.
Commit ID: be49096d717e47e5743a591eb5331e0e
Date: 2027–06–13
Author: Scott R. Reid <scottreid@everythingleague.com>
Message:
Improve card rack
“But why were you improving it, Scott?” Amanda said aloud. “And why were you doing that on a Sunday?”
That’s a pretty terrible commit message from Scott. Not descriptive at all. But, Scott‘s not exactly trying to be clear about what he was doing to that file.
Amanda ended up having to face down one of those problems where you know something is out of place, but you just can’t see it. I hate bugs like that.
The real lives of programmers (or fiction writers, for that matter) don’t tend to make exciting backdrops for stories. Of course, the same could probably be said for lawyers. But I’m sure there’s a place for stories that present programmers doing their thing in interesting scenarios, and I daresay we could do worse than calling these stories “programming procedurals.”
Early feedback tells me that the approach worked in Virtual Grunt. An eleven-year-old reader told me (emphasis mine), “I really enjoy all the characters, places and locations in it, especially the coding bits!”
More programming procedural examples
Since writing this, I came across two examples that I thought I’d share:
Cliff Stoll’s Cuckoo’s Egg was recommended by a friend for the detail in went into about how one person went from spotting a small discrepancy to uncovering spies.
The Lottery Hackers (a long read article, rather than a book) talks about a couple that spotted favorable odds in certain lottery games and made millions in a pool by buying up tickets for those games at the right times, and then how others spotted the trends and worked to shut it down.
Are there any good programming procedural novels that you’ve read?
Virtual Grunt by Barnaby Quirk arrives on March 9th, 2018 and is available for pre-order now.