27 October 2021

Shelf Life


There was a recent piece in the local paper about a homeless guy who was a crime victim, and the New Mexican referred to him as “unhoused,” which I’m assuming is a new locution.  Mind you, this is a guy my dad would have called a bum, plain and simple. We should take a look at some context.  There was a policy adopted a few years back – a few being relative, it might have been during the Reagan administration – to de-institutionalize the homeless.  Whatever guiding principle was involved, the proximate result was to dump a lot of people on the street who didn’t have survival skills.  What they had were serious drug and alcohol addictions, and unresolved mental health issues.  The problem hasn’t been much alleviated by successive social policies, and it doesn’t matter whether you change the descriptives to somehow humanize these people at the bottom of the food chain.  They’re still in bad shape, just the same.

I realize the anti-woke crowd would suggest that we’re getting overly sensitive to hurting people’s feelings, but it’s not about hurt feelings.  That’s to willfully misunderstand the framing of the argument.  Language is as much about the people applying the labels as it is about the people being labeled, if not more.  Spazz and ree-tard were in vogue back when we were in grade school, and they may still have currency, but if kids use them, they’d probably say they mean no insult to anybody who’s actually spastic or developmentally challenged; it’s exaggeration for effect.  The days are hopefully long past when we threw stones at the witless.  As for words (as opposed to sticks and stones), the same goes for Quentin Tarantino’s favorite noun, or any number of common slang epithets for gay guys or Jews, Italians or Irish or Arabs, and calling somebody a towelhead says more about you than it says about them.

Vocabulary goes in and out of fashion.  We use the term dial tone, but it’s untethered to physical reality, because who dials anymore?  Likewise, a word like Okie, which was specific to homegrown refugees from the Dust Bowl, and these days is as dated as The Grapes of Wrath.  (Except for those pesky refugees, the mojados who just keep coming.)

As a writer, and particularly a writer who’s done his share of period pieces, I’d be the first to admit that colorful language reinforces atmosphere, and authenticity.  Leaving aside the unhappy plethora of prithee, sirrahs in Sir Walter Scott’s medieval fables, he uses picturesque and homely lingo to honest effect in his Border stories, which are closer to his own time.  And for my part, I doubt if the Mickey Counihan stories would have the same gamy flavor if I sanitized the way he talks.  On the other hand, we recognize that even if this is “the way they talk,” common vulgarities perpetuate ugly stereotypes.  It’s not a matter of whether we say these things aloud or in secret.

Language is organic, not prescriptive.  It grows on its own.  The French have an Academy, to hand down the rules, but they can’t keep the weeds out.  I’m no big fan of eviscerating language, of diminishing its muscularity.  Why water your whiskey?  A lot of the time, there’s no real substitute for brute Anglo-Saxon invective.  But there’s a difference between talking dirty, and using language that’s offensive because it singles people out for ridicule, and diminishes them.  It cultivates lazy habits of thought: Jews are grasping, black people are shiftless, Mexicans are illiterate beaners.

We can retire usage, just like clothing.  I might still fit into those paisley bell-bottoms, but hopefully friends and family would stage an intervention.  Sentimental attachment only goes so far.  Enough with the hand-me-downs. 

26 October 2021

In the Mood to be Scared?


It's Halloween week, and what better time to talk about ghost stories? I had one published a couple of weeks ago. It's called "Wishful Thinking," and writing it was a lot of fun.

When I sat down to write a ghost story, I concentrated on mood. You want a ghost story to be scary, and what's scarier than ghosts you see? Maybe it's ghosts you don't see. The ghosts you fear are just around the corner. As my fellow SleuthSayer Bob Mangeot pointed out two weeks ago in a great post about Shirley Jackson's The Haunting of Hill House, the scariest thing of all is what we conjure in our own minds, what we are afraid is out there ... just ... about ... to ... grab us!

How did I create the spooky mood in my story? Here are some of the ingredients I mixed in:

  • A graveyard
  • An abandoned, supposedly haunted house overlooking the town, with dead trees surrounding it
  • An urban legend about a long-dead bank robber who haunts that house, forever searching for money he stole that was later hidden from him
  • Wind and thunder and lightning and rain and fog (why use just one when you can create a weather bouillabaisse?)
  • Another urban legend of missing kids who went inside the haunted house never to be seen again
  • Doors that creak open and slam shut on their own 
  • Unexplained screams

Weather is a great writer's tool because, in addition to setting the mood, it can push a plot forward, such as when heavy rain pushes four tweens to seek the house's sheltertweens who might have had second thoughts otherwise. That's just one of the ways I used the weather throughout the story to move the plot.

I also wanted to make my characters jumpy as the story went on, so I made two of them scared to go inside. Eleanor voices her fear but gets convinced that there's nothing to be afraid of (ha!). The other scared kid, Travis, who narrates the story, is too afraid to say he's spooked for fear of being called a wuss. They are easily reactive to things that happen, things other people might try to shrug off.

The other two characters want to go inside: Sean is a bully who wants to search for the missing money; Jinx is smart and logical and brave and curious. Like the weather, Sean and Jinx push the action forward. Sean proposes the idea of exploring the house. Jinx wants to stay when even Sean gets scared, determined to prove there is no such thing as ghosts.

Individually, every scary thing that happens in the story could have a logical explanationor so Jinx would saybut add them all together, using the right wording, with the right rhythm to the sentences, and even the bravest kids might come to realize that maybe ghosts do exist ... and one is inside that house ... and it's coming for them. 

"Wishful Thinking" was published by Wildside Press in issue six of Black Cat Weekly. It also was published individually by Wildside Press and can be purchased for your Kindle or Nook or other e-reader through lots of online bookstores, in the US and other countries.

I should point out that the character Eleanor was not named in a nod to the character of the same name in The Haunting of Hill House. She was named in honor of my friend Eleanor Cawood Jones, who loves a good ghost story. There's also another name in the story, a character named in honor of my fellow SleuthSayer Leigh Lundin. (Surprise, Leigh!)

If you're in the mood for a ghost story, I hope you'll check mine out.

25 October 2021

Here and Now


by Steve Liskow

A few weeks ago, I gave a short story one last read-through before submitting it, and I found myself wondering, "Would this work better in present tense?"

I've written nine of my sixteen novels in present tense, mostly the ones that take place in Connecticut. The Detroit stories with "Woody" Guthrie use past tense except for scenes in Megan Traine's POV. She lives in the present. Both the short story that was a finalist for the Edgar and the novel that was short-listed for the Shamus were in present tense, too. 

Some of my Sleuthsayers mates say present tense takes them out of the story, and I know at least one publisher has guidelines on their website warning writers not to use it. OK. I'm going to go out on a limb here.

I don't think the average reader notices whether you use past or present tense. I don't believe that most of them think about why they like a story or not, except in terms of the character or the plot. They probably don't notice point of view, either (Unless it's done badly). Writers, of course, pay attention to those things, but how many "civilians" even notice that Bright Lights, Big City uses both present tense and second-person point of view? 

Last week, I stumbled upon The Storytellers, Mark Rubinstein's collection of interviews with several dozen crime, suspense, and romance writers. His conversation with Don Winslow, one of my favorites, was the longest interview in the book, and Winslow says he turned to preent tense the same way I did. He was writing a book in past tense, and, at some point, he found himself getting bored. As an experiment, he wrote the next page in present tense and it was like the entire world opened up before him.


That happened to me, too. Fifty or sixty pages into the first draft of The Whammer Jammers, I hit a wall. After struggling for a few days, I decided that since the book had lots of action, I'd treat it as play-by-play, like the sport announcers I listened to growing up in the 1950s. 

Bingo.

Winslow has an astonishingly varied background, our only shared experience being directing several Shakespearean plays, and when I read his comments on working with the Bard's language, I felt like I was listening to myself. Theater is ALWAYS in the present, and Shakespeare's images and rhythms delineate the characters and guide the movement in the scene.

Winslow points out that using present tense helps the reader participate in the story and "experience" all that is happening because it removes a barrier between reader and story. If the story is in the past, it suggests that it's already over and can't be changed. Present tense removes that safety net. MAYBE you can still change something, and that raises the stakes. 

In present tense, it's more natural to use active verbs and avoid state of being ("to be") constructions and passives. Instead of static visual imagery, tactile and olfactory details filtered through the POV character bring the scene to life. Description becomes the verbal equivalent of a long tracking shot that becomes a landscape painting, but when you offer the character's reaction/response to the place in present tense, you eliminate that problem. 

Dialogue can help carry the load, too. Winslow writes excellent dialogue and vivid internal monologues in the voices of his characters. How a person says something shows more about him or her than description. Look at these two passages:

She looked down at the cute kitten.

"Aren't you adorable." She picked up the kitten, which buried its nose in her neck and purred.

We see both actions, but HEAR the second one, and almost FEEL the cuddling, so it includes us in the scene.

Here are the opening lines of several novels and short stories in present tense. See how they involve the reader in the action?


I have a meanness inside me, real as an organ. Slit me at my belly and it might slide out, meaty and dark, drop on the floor so you could stomp on it. It's the Day blood. Something's wrong with it. (
Gillian Flynn, Dark Places)

They shoot the white girl first. (Toni Morrison, Paradise)

The baby is dead in his mother's arms. (Don Winslow, The Power of the Dog)

You are not the kind of guy who would be at a place like this at this time of the morning. (Jay McInerney, Bright Lights, Big City)

In walks these three girls in nothing but bathing suits. (John Updike, "A & P")

A screaming comes across the sky. (Thomas Pynchon, Gravity's Rainbow)

"I poisoned your drink." (Duane Swierczynski, The Blonde)

It's never a good thing when the flight attendant is crying. (Hank Phillippi Ryan, Air Time)

Tyler gets me a job as a waiter, after that Tyler's pushing a gun in my mouth and saying, the first step to eternal life is you have to die. (Chuck Palahniuk, Fight Club)


They throw him out when he falls off the bar stool. (
Laura Lippman, The Most Dangerous Thing)

Kevlar makes Hendrix itch. (Steve Liskow, The Whammer Jammers)

By the way, I eventually sent out that short story in past tense because I  decided the rhythms worked better. But it's a case by case issue, like all writing. 

What rules do YOU like to break?

24 October 2021

The Digital Detective, Wall Street part 4


When corporations upgrade large computer systems, they typically run the old and the new in parallel a few weeks or months until the bugs are shaken out. Occasionally events take a turn as discussed last week.

Mutual Admiration Society

Back in New York, our mutual funds firm (not so fondly referred to as MuFu) faced a different problem. They had completely rewritten the primary application, changing over from Cobol to C, and it hadn’t gone well. Four months after parallel commenced, they were experiencing glitches and crashes.

The sizeOf problem I’d caught wasn’t a contributing cause. An unidentified problem was triggering errors, an oversight so simple it would boggle the mind.

Robert, their very defensive senior C expert, hadn’t told me about a front-end program written by yet another programmer. I had to figure that out for myself. The bug wasn’t in the program they’d assigned me; it was introduced by what came before.

Front end and Back end Processing
Front end and Back end Processing

As previously mentioned, Cobol reads like English and C… well, C is sometimes great and often horrible. C had become the most recent fad and application programmers were feeling the bite of its double edge sword.

The staff was comprised of university C students and the last Cobol member on her way out. Machine language (and assembler) weren’t in their purview and when they dismissed John, ‘the old guy’, they'd rid themselves of their only person who could poke around in memory (RAM) to determine what went wrong.

And memory was a problem. The program used customer numbers to index into a table and reference records in storage… in theory. In practice, I soon learned the customer was occasionally wrong, wildly wrong, trying to access a memory location off in the wilds of Kansas.

Cobol could detect out-of-bounds matrix subscripts; C could not. Thus it took me a little while to figure out the bogus account code was coming from a front end program. That preprocessor queued submitted entries, performed minor verification with a check digit, converted the input to binary, and passed the record on to the back-end program I first investigated.

In short, sometimes the data entry folks included dashes in the account number (e.g, 7654321-1) and sometimes they didn't. The Cobol app extracted only the digits; the C program didn’t. Both programs tentatively vouched for the account number (7654321) using the check digit (1), indicating it resided in the realm of possible valid numbers. Unfortunately, the newly written C routine included the hyphen when attempting to convert the number to binary. Both versions then ‘piped’ (passed along) the massaged data to the back-end program where hell and fury would erupt when a bad number with the mashed-up hyphen was passed along.

For all the grief it caused, correcting the C front end was trivial. Worryingly, the front-end program, instead of creating the transaction serial number, left that task for the back-end program. Bad, bad, error-prone design. And, as I would discover, prone to manipulation.

I returned the program to service and turned my attention back to the mysterious ‘sizeOf’ conundrum.

Faith, Hope, and Charity

Many organizations buy into mutual funds for long term storage of their money. City, county, and state governments store tax revenues, fines and fees there. Churches and charities divide money between money market and mutual funds.

In the mutual funds program, a template field labeled IRS501C was data-typed binary in the old Cobol Record data division and as boolean in the matching C Struct.

When I returned to the section with the anomalous ‘sizeOf’ routine, I could see this field being referenced, but I didn’t know why. A library search for original source code for sizeOf and the parent routines turned up nothing.

Growing more suspicious, I asked operations to dig through their archives and find the code. “Don't hold your breath,” they said.

Next day, the IT director gave me the conference room to spread out my work. I mapped binary instruction after instruction, recreating an assembler code version of the program. C could fool the eye, but machine code, even in the absence of context, revealed details of what was going on– if I could figure it out.

I constructed charts of data structures, trying to figure out what was taking place. At last when I spotted buried instructions trimming fractions of a cent from daily interests earned, I knew I’d stumbled upon skulduggery.

Figuring out the sleight-of-hand was mind-bending, but I got a break. Like so many magic tricks, the chicanery was breathtakingly simple. Only the surface artifice was complex.

I had accumulated a suite of experimental data to test extremes of the system. It contained only a dozen records but I noticed the audit log reported thirteen. What? A record with a proper transaction serial number had materialized like a magic trick.

As mentioned previously, the front-end processor should have been creating the transaction serial number, not the back end, but apparently no one here knew better. That oversight facilitated the deception, allowing crooked code to create records undetected.

Computer hours were reduced that day. Being the first of the quarter, month-end and quarter-end reports took priority. Idling, I suddenly wondered if month-end had anything to do with the mysterious symptoms I was witnessing. Once again I nagged operations about searching archives for source code.

An hour later found me wrestling with that data cleverly hidden beyond the end-of-data marker. An impatient operator slapped a cartridge on my work table. "Try this," he said.

Former employee John had made a rare oversight. He’d deleted the source files, but… Each evening, operations backed up everything, and that included John’s source code. It filled in gaps.

No comments, of course, but lo, I beheld the twisted mind of a criminal genius. The routines were rife with indirection and misdirection. The ‘sizeOf’ trick merely hinted at the scam iceberg. While the obfuscated C code suggested one thing, the meticulous machine instructions I’d decoded step by step helped me understand what was really happening.

The scheme launched from a database record under MuFu’s own name and address, 100 Maiden Lane. The registered agent was listed as K. King, address 103rd floor, 350 Fifth Avenue, Manhattan, New York 10118. Midtown… I looked it up… Empire State Building. The street address was legitimate, but 103rd floor?

interest truncation example

Greed Kills

The charlatan routine skimmed thousandths of a cent or so following rounding errors– interest and binary-to-decimal trailing digits after rounding high. On average, the algorithm could have siphoned a quarter of a cent per transaction without setting off alarms, but our sneaky programmer apparently wanted to stay well below nets cast by auditors. Those fractions of a penny accumulated in the bogus MuFu self-owned bucket until the end of the month. Dollars– thousands of them– and been created out of thin air.

I fully expected John’s wife or a friend had opened another account to receive the transfers, but as I traced the code, it invoked a random number generator to index into an entry in the hidden part of the file, just one binary field,  which turned out to be an account number. At month end, the subversive routine transferred out between $1200 to $5000 a month from the bogus MuFu in-house account to the account selected by the random number generator. But why only certain accounts? What was special about them? How was John profiting?

As always, I sat outside on the ferry shielded by a bulkhead. As I started at the lights of Brooklyn, the answer hit me, knocking sleep out of the equation. I rode the ferry back.

With suppressed excitement, I extracted the account numbers and checked the first indicated record. Bingo. And the next one. And the next. And then the 20th and the 100th. Bingo, bingo. Every case showed the IRS501C non-profit tag.

Damnation. I’d unmasked a freaking Robin Hood. John– or should one say Little John– was stochastically selecting non-profit accounts to donate to. That generated the thirteenth record.

Fascinatingly, the audit trail reinforced the fraud’s legitimacy rather than exposed it. Only a paper trail might suggest a missing document, but who was going to dig through reams of flattened dead trees?

If United Way or Scouting USA or Bethune Cookman read their statements at the end of the month, they might have scratched their heads but concluded they surely made a deposit and misplaced their record of it.

I made copious notes and documented everything. When presented to the firm’s CIO, she looked disbelieving, then doubtful, and finally bewildered.

“I know your reputation,” Loretta said, “but this can’t be possible. Besides, IT claims John had aged beyond usefulness. He couldn’t keep up. He barely finished this, his last project, before we let him go.”

“If so, he put effort into making a final masterpiece.”

“Leigh, darling, can you fix it?”

Call me darling and I can fix anything. I yanked the too-clever code out by its roots and their senior programmer, Robert, fixed the hole and, upon my recommendation, moved the transaction serializer to the front-end.

“What will you do about the spurious deposits?” I asked.

“They go back months. We wouldn’t look good demanding hospitals and heart foundations return money deliberately deposited into their accounts. John gave away money we couldn’t detect was missing. We’ll leave it that way.”

“What about John?”

Loretta sighed. “Same reasoning. Arresting him will bring nothing but bad publicity. Can you imagine the Times or the Journal with headlines about a Wall Street Robin Hood? That’s bad enough, but a sympathetic soul would raise issues about ageism. No, we can’t win there. Thank God we discovered it.”

“Can you get me John’s contact info?”

“What? No, maybe, yes, why not. I’ll discreetly ask HR for it.”

Robbin’ Robin

I phoned ‘John’ and invited him to lunch.

“I don’t think so,” he said. “Who is this again?”

“Leigh Lundin.”

“Oh shit, you? What do you want?”

“Just a chat. Really.”

“You’re working for MuFu?”

“Yes, today I am; tomorrow, no. I’m wrapping up.”

“So you know…?”

“Lunch,” I said. “Let’s not do this on the phone.”

“Fraunces Tavern?”

“Whew! If you pay.”

He laughed. “Okay. If you accept that, you aren’t out to nail me.”

“I’m not. John, can you afford it?”

“I landed on my feet. Arthur Lipper knows me and his son hired me.”

I respected Lipper Inc. He chose well.

The Wolf Pup of Wall Street

We met in the pub where George Washington bade farewell to his troops. John looked like a mad Santa with puppy dog eyes and an Albert Einstein hairdo. I’d bet a dozen grandkids employed him as a stage for hundreds of adventures.

He said, “You’re not recording this?”

“No.” I kept my smile easy and relaxed my body language.

“I’m not admitting anything including this statement.”

“Hmm. Let’s talk hypothetically, this entire conversation, okay?”

“Sounds fair. What have you figured out?”

“Most of it, I imagine. Cancer research received a couple of grand on the first before I could stop it. That will be the last payment.”

“Good,” he said. “I mean, embezzling’s awful.”

I snorted. “SizeOf.”

He laughed. “I thought that was clever hiding in plain sight, but apparently not clever enough.”

“I overlooked it at first. John, what was going on? Why did our suppositional programmer take such a risk?”

He dropped the hypotheticals.

“They dismissed anyone approaching retirement, figuring to save paying pensions, I suppose. You heard about Walston?”

“I was there, John.”

“The MuFu bastards had a definite preference for young faces. I knew for months they were going to fire me, I could smell it in the air.”

“I know that feeling, John.”

“The staff treated me like crap, acting like I was in my dotage. They figured my brain had rotted along with Cobol, but they needed me to effect the conversion. I learned C until I knew it better than they did and then studied it more. Their superstars couldn’t read a dump or comprehend machine instructions during debugging. I turned the joke on their little experts.”

“Sheesh. I’m sorry you went through that, John.”

He shrugged. “What will happen to me now?”

“Far as I know, nothing. I think they’re too embarrassed. One or two, the CIO and the VP maybe, have shown a touch of grudging respect. They’re coming to grips with the senile grey-beard who fooled them.”

“Good, because I’m a coward. I’m not looking for fame and misfortune.”

“Don’t worry, John. Everyone but the sheriff loves a Robin Hood.”

Final Thoughts

And that is my favorite Wall Street crime case. I’m called when matters go mysteriously wrong, so Miss Marple-like, I occasionally stumble upon another puzzle and test of wits.

In this case, charities profited and the bad guy turned out a good guy. Some may object that a criminal avoided prosecution, but personally, I couldn’t imagine a better outcome.


Following are a few more tech notes.

23 October 2021

Wanna Be A Paperback Writer? The Truth about Author Incomes


 My last post on leaving my day job behind to become a full-time author with a traditional publishing house garnered a lot of comments to my social media feeds.  The question most frequently asked (besides ways in which to kill your agent, editor, reviewers, and not get caught) is - can the average author really make a living writing fiction?


We're talking average author with a traditional house here.  Not someone like Linwood Barclay or
Stephen King, or Janet Evanvich (who Library Journal once compare me to. They didn't look at our bank accounts, obviously.)  These people make the big advances we all dream of.

I'm still dreaming.  By average author, I'm talking about someone like me, with sixteen books published, and ten awards you might recognize.  Someone who occasionally hits the Amazon top 100 list of all books with a new release, and then drops out of sight after a couple of weeks.  We used to be called 'mid-list' authors. I kind of like that term, so you'll hear it again today.

I'm here to tell you the truth.  Some of it hurts, and some of it may be encouraging - you can judge.

Really, I'd be more comfortable giving you my bra size than spilling the financial numbers (38 Long is a hard size to find, by the way) but here goes.

In my last post, I quoted the UK, where recent reports say the average income of a paperback writer (note how I use the Beatles here and in the title) has dropped from 8000 pounds a year (maybe 15000 Canadian dollars) to 4000 pounds a year (more like 7000 Canadian dollars.)  Point is, the average fiction novelist is earning way less than 15 years ago.

Our Canadian stats measure pretty closely.  I do better than that - or have until now - probably because I have a backlist of fifteen books, several from series.  If someone picks up the latest book in The Goddaughter series, they may go back and pick up all five books that came before (bless their little hearts.)  That's how I've managed to sort of make a living - on royalties from backlist books.

But back to the stats.  Hold on as I try to be honest:

In my best year, I made 33,000 from my books.  If you add in teaching writing courses at college, and workshops at libraries and conferences, plus author appearances, I made about 50,000 in total.

But that was my best year.  I won The Derringer that year, and the Crime Writers of Canada Award of Excellence.  I also won the Hamilton Reads award (the city I border on.)  USA Today featured one of my books, and that shot me to the Amazon Top 100 list between Nora Roberts and Tom Clancy for a few weeks.

Thing is, that isn't a typical year.

My advances usually run about 5000 a book.  If I'm lucky, I get two contracts a year and write two books a year.  That's $10,000.

I have to 'sell through' those advances before I see any royalties.  Since my books sell for 10 bucks, and I get a dollar a book, that means I have to sell 5000 books of each before I get any royalties.  That's considered a best-seller in Canada.

So advances of 10,000 a year, in a good year.  And maybe royalties of a little less than that.  In a good year.  Add in teaching - another 6000. A few short story sales - (I can hear you laughing from here.)

Last year I made 21,000 from my books.  A lot less than my best year.

Covid has definitely played a part.  My last book came out the week of first lockdown. Every event and book tour was cancelled.  It'll be a while before I earn back that advance!  How do you promote a book if you can't get out there?  And when every other writer on the planet is anxiously spamming social media?

My point through this exercise today has been to lay bare the financial realities of a mid-list author as I have experienced them.  It sobers me sometimes to think that the assistant to the assistant at a publishing house makes more than the writer does.

This month, I signed for a new series with my third publishing house.  This one is bigger and more prestigious than the previous two, so I'm on a high.  I'm also scared to death.  The stakes are higher now, the expectations greater.  I'll let you know next fall if the financial rewards match my dreams <wink>

Melodie Campbell is a paperback writer of  multiple genres, south of Toronto.  You'll find her books at all the usual suspects.

Last Goddaughter book...(crime)


 

Her last book...(Rom-Com)




 




22 October 2021

Show, Don't Tell


Show a story. Don’t tell a story.

I searched through my SleuthSayers posts and did not find that I put this up, so I'm putting up the small lesson I was taught about showing a story and not telling a story. I was asked about this twice over the last few weeks so I thought I'd put it up on SleuthSayers.

Over the years, this has been the most difficult element of fiction writing for beginning writers to learn. Showing a story is dramatizing the events in scenes. Telling a story is a summary of the story, flat without enough details to stimulate a reader’s imagination. You may summarize events between scenes but you should present the action of your story in scenes. It is immediate and much more dramatic.

In showing a story, the writer gives the reader more clearly defined action, characters, point of view and setting.

Describe the little things. Give specific details. Don’t just write – They had dinner. Put in what they ate. Don’t just write – They got in the car. It sounds better and gives a visual image if you put it as – They climbed into the red Corvette.


 

Writing and Reading a story is a collaboration between the writer and reader.

It should be something like this:

WRITER ---------- STORY ---------- READER

 

If a writer does not show enough in the story, the reader has to re-create the story in his or her mind and it will look like this:

WRITER --- STORY ----------------- READER

 

The reader has to fill in a lot of space with guessing and could guess wrong. That is why we give them specific details and setting.

If a writer gives too much information, too much explanation, and does not let the reader participate, it will look like this:

WRITER ----------------- STORY --- READER

 

The reader may be bored and stop reading. You want to hit the right balance, the half-way point.

 

Like the old saying about plays and movies. Plays tell a story. Movies show a story.


www.oneildenoux.com

21 October 2021

How To Cook A Wolfe


The September 6, 2021 New Yorker Food Issue featured reprints of articles from cooks/writers such as M. F. K. Fisher, Anthony Bourdain, and Susan Orlean, as well as Chapter 6 of Vladimir Nabokov's Pnin, which is about a dinner party with perhaps enough pirozhki for even my insatiable appetite for tiny savory pies.  

But the article that rang my bell, blog-wise, was Adam Gopnik's Cooked Books.  Originally published April 9, 2007 as "What's the Point of Food in Fiction?" it starts off with this proposition:

There are four kinds of food in books: food that is served by an author to characters who are not expected to taste it; food that is served by an author to characters in order to show who they are; food that an author cooks for characters in order to eat it with them; and, last (and most recent), food that an author cooks for characters but actually serves to the reader.  (New Yorker)

 Now it is true that most books have food in them.  The glaring exception being, of all things, The Tale of Genji, 1066 AD, which has endless detailed descriptions of clothing, handwriting, perfumes, flowers,  ghosts, and sex.  But the only mention of actual food is medicinal, when a woman asks a lover that he please not stop by that night since she still reeks from eating garlic, believed to cure colds.  

But most of the time, food is a way of giving the characters something to do, or a reason to get together.  Especially if someone's going to be poisoned by foxglove in the sage dressing, fish paste in the sandwiches, or just hit with a frozen leg of lamb that will be roasted later on with (I hope) rosemary and garlic.  

Side note:  While Gopnik mentions James Bond's (a/k/a Fleming's) obsession with food, the quote I remember best is Felix Leiter's discourse on martinis in Thunderball.  I read it in junior high, sitting in the back row during some godawful boring assembly.  Now I'd already had a martini or two (this was the summer my mother worked her way through the Bartender's Manual with interesting results for all), and didn't like them:  I was too young, and favored Cuba Libres.  But the passage stuck with me.  The trouble was I was reading the entire Bond series at the time (a thing, like work my way through the Bartender's Manual, that I never plan to do again), and I couldn't remember which one it was. But here it is, found at last: 

The Martinis arrived. Leiter took one look at them and told the waiter to send over the barman. When the barman came, looking resentful, Leiter said, “My friend, I asked for a Martini and not a soused olive.” He picked the olive out of the glass with the cocktail stick. The glass, that had been three-quarters full, was now half full. Leiter said mildly, “This was being done to me while the only drink you knew was milk. I’d learned the basic economics of your business by the time you’d graduated to Coca-Cola. One bottle of Gordon’s Gin contains sixteen true measures – double measures that is, the only ones I drink. Cut the gin with three ounces of water and that makes it up to twenty-two. Have a jigger glass with a big steal in the bottom and a bottle of those fat olives and you’ve got around twenty-eight measures. Bottle of gin here costs only two dollars retail, let’s say around a dollar sixty wholesale. You charge eighty cents for a Martini, one dollar sixty for two. Same price as a whole bottle of gin. And with your twenty-eight measures to the bottle, you’ve still got twenty-six left. That’s a clear profit on one bottle of gin of around twenty-one dollars. Give you a dollar for the olives and the drop of vermouth and you’ve still got twenty dollars in your pocket. Now, my friend, that’s too much profit…”  

But moving along, back to Gopnik and cooking from/ with/ in/ off the books.  First, I find it sad that he never mentioned Fanny Flagg's Fried Green Tomatoes at the Whistlestop Cafe, which combines murder, friendship, race relations, my favorite lesbian couple (outside of Angela Thirkell's Hampton and Bent) in all of literature, and a lot of cooking.  Ms. Flagg even provides excellent recipes for everything except - well, read the book.  Those fried green tomatoes really are delicious.  But maybe it was too low-brow for Gopnik.  

On the other hand, he likes Robert B. Parker's Spenser, who does cook a lot.  The thing is, to me, I was never interested in any the dishes Spenser made.  And his constant production of cornbread was always a mystery to me, when a light, flaky buttermilk biscuit is just as easy to make and tastes better with gravy.  

Another author Gopnik didn't mention was James M. Cain, which is a shame, because Mildred Pierce is both my favorite of all his works, and the one that finally taught me how to make those light, flaky buttermilk biscuits with the simple line: "She made pie crust, for biscuits."  100% correct.  All you have to do is make a short pie crust made with baking soda and buttermilk, barely knead it, and cut thick.  

BTW, Cain often seems to describe every meal the hero or heroine has, which makes sense considering how many of his novels are set in hard times.  He also uses food and sex kind of interchangeably. 

In The Postman Always Rings Twice, Frank's first meal at Nicks' diner is "orange juice, corn flakes, fried eggs and bacon, enchilada, flapjacks, and coffee", and it's Cora who makes the enchiladas.  She's hot in more ways than one.  

In Mildred Pierce, Mildred is an excellent cook, but it doesn't hurt that she uniforms her staff and self in "sharkskin dresses, of a shade just off white, white with a tint of cream in it, and... little Dutch caps... Always vain of her legs, she had the dresses shortened a little. Now, she hurriedly got into one, put on her Tip-Top shoes, stuck on the little cap... she looked like the cook in a musical comedy."  It works:  her ex-husband Bert and her first ex-lover Wally eye her legs and her restaurant, but it's her current lover, gentleman ne'er-do-well Monty Beragon, who takes her home:  "I've been looking at that damned costume all night, and with great difficulty restrained myself from biting it. Now, get it off." 

 In noir, sex and food and ambition are all wrapped up as tight as Cora's enchiladas.

Of course, when we talk of detection and food, we have to talk about Nero Wolfe, whose life revolves around books, orchids and food:  solving mysteries at high prices is how he pays for them.  I have a copy of The Nero Wolfe Cookbook (by Rex Stout and the Editors of the Viking Press).  And I've read a lot, if not all, of the Nero Wolfe stories and novels.  

A few things leap out:  

Nero Wolfe was as obsessed with eggs as Anthony Bourdain.  Eggs burgundian, coddled eggs, eggs au buerre noir, apricot omelets, bacon and apricot omelets, strawberry omelets, shirred eggs (one scoop of flour away, I hate to tell Wolfe, from toad in the hole), clams hashed with eggs, forty minute scrambled eggs, etc., - none of which I have made, because I need a Fritz to make something that time-consuming that early in the morning.  Nor have I nor will I ever make my own scrapple, brioche, or green tomato jam.  And Fritz puts sugar in his buttermilk biscuits - Anathema!  

Stan Hunt © The American Magazine (June 1949) – Wikipedia

Also, frankly, Fritz often overdoes the richness:  the flounder swimming in cheese over buttered noodles is enough to make Gunter Grass' Flounder choke on his sorrel.  And there's ingredients you can't even hope to find today in most American butcher shops, much less grocery stores: kidneys, tripe, turtle steaks, quail... and starlings?

Of course, things used to be different.  In my childhood I remember seeing kidneys, liver, gizzards, and brains for sale right there in the meat counter at Safeway. Grossed me right out. Now you have to ask at the local if they even have liver, and they'll look at you funny. (And they do not carry songbirds, thank God.) 

Also, Wolfe - or Fritz - never seemed to have heard of sweet red peppers, which certainly existed prior to modern times.  Green peppers show up in recipes where they never should, including Fritz' Hungarian Goulash (p. 94), which I have made, replacing the green peppers with red, and using a strong Russian vodka in place of Polish vodka.  It was pretty good, served with buttered noodles, Celery and Cantaloupe Salad (p. 35), Tomato Tarts (p. 51), Corn Cakes (p. 80), and Blueberry Grunt (p. 59).  We had 10 for dinner, including ourselves, and we all ate well.  But I have a feeling that Fritz would have served more unctuous side dishes than we did.  What Nero Wolfe really needed with every meal was a side of lipitor.  

And, looking over the cookbook, and the novels, I have to agree with what Archie Goodwin said in The Final Deduction:  

“At the dinner table, in between bites of deviled grilled lamb kidneys with a sauce he and Fritz had invented, he explained why it was that all you needed to know about any human society was what they ate. If you knew what they ate you could deduce everything else—culture, philosophy, morals, politics, everything. I enjoyed it because the kidneys were tender and tasty and that sauce is one of Fritz’ best, but I wondered how you would make out if you tried to deduce everything about Wolfe by knowing what he had eaten in the past ten years. I decided you would deduce that he was dead.”

Ya think?


PS - Some people have asked about the on-going shenanigans in South Dakota, from the further fallout of the Pandora Papers, to the current investigations (two!) of our Governor, to the apparent race to see how many state legislators can get a DUI covered up, to the SD Senate Majority Leader's son, who got almost $750,000 in coronavirus relief funds for a SD business which was actually located, operated, and paying (some) taxes in Texas - fear not, eager readers.  All shall be revealed.

20 October 2021

Popcorn Proverbs #5



Are you heading back in the theatres yet?  Not me.  But as a reminder of the goodle days, here are quotes from 25 crime movies.  As before, they are in alphabetical order by titles.  Purely by coincidence, three actors get two quotes each.  The answers are below. Good luck!
 
1. Or maybe she didn't die. Maybe she just moved to the suburbs - I always confuse those two. 
 
2. Can I trust you?  Can I trust you?  Can I trust you? 
 
3. I loved Al Lipshitz more than I could possibly say. He was a real artistic guy, sensitive, a painter. But he was always trying to find himself. He'd go out every night looking for himself. And on the way, he found Ruth. Gladys. Rosemary. And Irving. I guess you could say we broke up because of artistic differences. He saw himself as alive. And I saw him dead.
 
4. One of us had to die. With me, it tends to be the other guy. 
 

5. -What are you going to do?
-I'm going to sit in the car and whistle "Rule Britannia".
 
6. Isn't it touching how a perfect murder has kept our friendship alive all these years? 
 
7. I don't feel I have to wipe everybody out, Tom. Just my enemies. 
 
8. -The fellow whose job I'm taking, will he show me the ropes?
  -  Maybe - if you're in touch with the spirit world. 
 
9. I hear you paint houses.
 
10. It is so difficult to make a neat job of killing people with whom one is not on friendly terms.  
 
11. Who do men instinctively pull at loose threads on their parachutes? 
 

12. What can I tell you?  Don't piss off a motivated stripper. 
 
13. Has it occurred to you that there are too many clues in this room?
 
14. - Do you realize that because of you this city is being overrun by baboons?
-Well, isn't that the fault of the voters? 
 
15. -Can you be any more of a condescending ass?
-Yes. 
 
16. In my book "brave" rhymes with "stupid."
 
17. Go ahead. Jump. He never loved you, so why go on living? Jump and it will all be over.
 
18. You shoot me in a dream, you better wake up and apologize. 
 

19. The funny thing is - on the outside, I was an honest man, straight as an arrow. I had to come to prison to be a crook 
 
20. I studied on killing you. Studied on it quite a bit. But I reckon there ain't no need for it if all you're gonna do is sit there in that chair. You'll be dead soon enough and the world 'll be shut of ya. You ought not killed my little brother, he should've had a chance to grow up. He woulda had fun some time.  
 
21.Women make the best psychoanalysts until they fall in love. After that, they make the best patients.

22. Like the fella says, in Italy for 30 years under the Borgias they had warfare, terror, murder, and bloodshed, but they produced Michelangelo, Leonardo da Vinci, and the Renaissance. In Switzerland they had brotherly love - they had 500 years of democracy and peace, and what did that produce? The cuckoo clock.


23. We're going to let 'em keep the goddamn subway train. Hell, we've got plenty of them; we'll never even miss it.

24. What I do for a living may not be very reputable... but I am. In this town I'm the leper with the most fingers. 
 
25. -Do you know what a blood oath is, Mr. Ness?
-  Yes.
-Good, 'cause you just took one.
 
THE ANSWERS LURK BELOW...
 

1. - Jack Hock (Richard E. Grant) Can You Ever Forgive Me?


2.- Ace Rothstein (Robert DeNiro) Casino

3. -Mona ( Mya ) Chicago

4. - Frank Costello (Jack Nicholson) The Departed
 
5. -Edna (Rosemarie Dunham)/ Carter (Michael Caine) Get Carter

6. -Arthur Adamson (William Devane) Family Plot
 
7. -Michael Corleone (Al Pacino) The Godfather, Part Two
 

8. -Harry Palmer (Michael Caine) / Major Dalby (Nigel Green) The Ipcress File

9. -Jimmy Hoffa (Al Pacino) The Irishman

10. - Louis Mazzini (Dennis Price) Kind Hearts and Coronets

11. - Harlan Thromby (Christopher Plummer) Knives Out

12.  -Michael Clayton (George Clooney) Michael Clayton

13. -Hercule Poirot (Albert Finney) Murder on the Orient Express (1974)


14. -Commissioner Brumford (Jacqueline Brooks) / Frank Drebin (Leslie Nielsen) The Naked Gun 2 1/2: The Smell of Fear
 
15. -Dylan Rhodes (Mark Ruffalo) / Thaddeus Bradley (Morgan Freeman) Now You See Me
 
16. - Josh Howard (Sammy Davis Jr.) Ocean's Eleven

17. - Mrs. Danvers (Judith Anderson) Rebecca

18. -Mr. White (Harvey Keitel) Reservoir Dogs

19.  -Andy DuFresne (Tim Robbins) The Shawshank Redemption

20. - Karl Childers  (Billy Bob Thornton)  Sling Blade


21. - Dr. Brulov (Michael Chekhov) Spellbound

22.  - Harry Lime (Orson Welles) The Third Man

23.  -Mayor (Lee Wallace) The Taking of Pelham 123

24. -Jake Gittes (Jack Nicholson) The Two Jakes

25.  -Malone (Sean Connery) / Elliot Ness (Kevin Costner) The Untouchables
 
 
 

19 October 2021

Laws and Flaws


Mark Thielman

     In my last post, I discussed the new "Constitutional Carry" laws enacted in Texas during the most recent legislative session. Those laws took effect on September 1st. The changes to the gun laws were not the only alterations to Texas' legislative canon. As I mentioned in that last post, a few other notable additions caught national attention. The abortion restriction/life protection of the fetal heartbeat law and the voter suppression/election integrity laws elicited praise/criticism depending upon the reporter's political stance.

      Those changes and the attention they garnered obscured some other modifications to the Texas Penal Code. Before you strap on your Smith and Wesson and come on down, I want to make you aware of a half-dozen of them. I'd like to thank my friend, Richard Alpert, a member of the Baylor Law School faculty and legislative update speaker, for helping me bring to your attention a few that might have escaped local or national publicity. 

ProtoplasmaKid,
CC BY-SA 4.0,
Wikimedia Commons

1. The Texas Legislature solved homelessness. I think that the Nobel Peace Prize will be making its way to Austin soon. Every state can follow our model with this innovative and low-cost strategy. The governor signed a bill making homelessness illegal. Texas Penal Code § 48.05 prohibits camping in a public place. To ensure that all those people who want to be homeless can't sneak around our prohibition, the language forbids sleeping in tents, lean-tos, with bedrolls, sleeping bags, or blankets. Because we're not inhumane down here, the law specifically says that before the police can ticket for the violation, they must first counsel with the camper about alternatives, alert them to the dangers of human trafficking and try to contact appropriate government and non-profit officials. If they arrest, the police must also make sure that the camper's belongings are safeguarded. Our law enforcement officials don't need to be concerned with arresting murderers and rapists, they have a new legislative priority. Still, the Nobel Prize will look cool at the governor's mansion.

2. Lest you become concerned that all these counseling duties will make our local police too soft, Texas Penal Code § 9.54 authorizes the use of deadly force with drones by law enforcement. Drones are prohibited from killing if they are autonomous. No algorithm will determine when a robotic death ray may be deployed down here. 

3. While the Texas legislature relaxed the gun laws, it did up the restrictions on fireworks. Texas Penal Code §50.02 makes it a felony for someone to explode fireworks intending to interfere with the official duties of a law enforcement officer.

     Something like this might have happened in Portland or New York or Los Angeles. No one seems to be quite sure. There are no reported cases of firework assaults occurring here in Texas. We also had a variety of laws prior to September 1st safeguarding police and criminalizing attempts to hinder them in their duties. Apparently, what the legislature had done in the past wasn't enough. Now, police are specifically protected from Black Cats and bottle rockets.

     This change seems instructive on the legislative process in the social media age. Someone saw a post about something happening somewhere. Texas now has a law here to punish behavior that maybe happened there.

English: Designer unknown;
published by Knopf,
Wikimedia Commons

4. Police were not the only occupation to find the rules changing around them. Texas Government Code § 1702.3876 makes it against the law to impersonate a private investigator. Many fiction readers/writers praise research as the key to authentic writing. Remember this one before you go full-on "Spade and Archer" preparing for your next story.

5. The legislature modified Texas Penal Code § 43.251and raised the minimum age for employment in a sexually oriented business from 18 to 21. If you find yourself hanging out in some seedy cabaret and alongside a pole-dancer, rest assured that, by law, that employee is old enough to carry a handgun in a holster. You might keep your artistic criticisms to yourself. 

6. If these changes arouse your passions and motivate you to run for office, but you find yourself constrained because you happen to be ineligible as a convicted felon, take heart. Since September 1st, Texas Penal Code § 37.10 reduced the punishment for individuals convicted of lying on an application for a place on a ballot. If you want to cross your fingers and fudge about your record, hoping that no one notices, the penalty for getting busted was lowered from a Class A misdemeanor to a Class B. You're looking at only half as much time in jail.

Of course, there were a host of other legislative changes. Some plug loopholes and others address niches that had been overlooked in the hustle of past legislative sessions. Here's hoping that the above list will help you stay legal on your next swing through the Lone Star State.

Until next time.

18 October 2021

Seeds of a Writer


Every story you write is merely a fictionalized piece of autobiography. We spend our lives trying to make bad stuff better, good stuff perfect, and maybe make sense of it all.

During my senior year of high school, a former swimming coach was arrested for running a "Summer Camp" where he photographed boys naked and forced some of them into sexual acts. I changed all the details, but that scandal inspired Postcards of the Hanging, which I finally self-published in 2014. I started writing it in 1972 and submitted several revised versions before it became my sixth-year project at Wesleyan University in 1980. Between then and my self-publishing, it gathered dozens of rejections under various titles and uncountable rewrites. 

Other experiences have inspired stories, too, but only one of them has sold...so far.

After my freshman year of college, I needed a mental break. I'd worked retail in a drug store the previous summer, which was convenient becasue it was within walking distance of my house. But it only paid minimum wage and I wanted more.

Early in May, the local labor council told me a company was hiring college students at $2.25 an hour, a whole dollar above minimum wage. I found myself working in a pickle processing plant (say that five times fast). They told me to wear a hat to protect my hair, and after one night (six PM to five AM), I understood why.

Dozens of women from their late teens to considerably older and mostly Mexican, stood a floor above me as a conveyer belt carried pickles by their stations. They sorted them and dorpped them down chutes to dozens of wheelbarrows below, where I waited along with four other "college students." Then we trundled those loaded barrows out through the warehouse to vats of brine. There were different vats for different kinds of pickles. 

They wanted college students because college freshman were 18, so there was no legal limit on how much we could be told to lift. A full wheelbarrow of saturated pickles weighs about 130 pounds, and we each moved about 200 per night. The salt brine filled the air; by break time at ten, my eyes burned like I'd been reading barbed wire and I had blisters the size of dimes at the base of all my fingers. 

I quit after one night, but I used that job for a story that won Honorable Mention in the Al Blanchard Story Award several years ago and appeared in Alfred Hitchcock's Mystery Magazine: The Girl in the Red Bandanna.

While my hands healed, I turned down an invitation to work at the drug store again. A week later, I found a job in a sheet metal plant. On my first day, the foreman said they were adding a small night shift and asked if I was interested. There was a five percent bonus, so I said yes.

I became half the team running a two-man sheer, a beast with a ten-foot blade that dropped with 15 tons of force to cut sheet metal. Al, who drove a '58 Ford, was missing three front teeth, and chain-smoked Chesterfields, teamed with me to cut roughly 3000 sheets of 18-gauge galvanized steel per night into smaller pieces for various farming implements. We worked from 5:30 pm to 5 am, with a ten-minute break at 9, another at 3, and a half-hour for lunch at midnight. Friday was 3:30 to midnight with supper at 6. It sounds awful, doesn't it? Believe me, it was wonderful.

I was one of nine people on the entire shift, three of us college kids, and four welders. One of the welders added a piece of scrap metal to the back of my putter to give it more weight and help my golf game. When things were slow (rarely), another sheet metal guy taught me to drive a fork lift. 

 Friday, the foreman, a cousin of Detroit Tigers outfielder Jim Northrop, ordered takeout fish or chicken for our supper. A good humor truck saw us hanging out on the loading dock and started coming by so we could get ice cream for dessert. I returned home late Friday night as if I'd been on a date, so my weekend was a "normal" schedule.

Weekdays, I slept until about noon and played golf in the afternoon. Between lugging four-by-eight sheets of galvanized steel and wearing steel-toed shoes, I worked into the best physical condition of my life, and my golf game benefitted from it. I added about 40 yards to my drives and broke 80 a dozen times over the next few months, many of them during competitive play in a summer weekend league.

I lived with my parents and drove my mother's car to work. That work week was 52 weeks, which meant 12 hours of overtime. My living expenses consisted of keeping gas in the car and buying my own groceries. That summer before my sophomore year, I earned the money to pay for the rest of my undergraduate education. 

Yes, my social life was non-existent. The girls I knew weren't up at midnight to take a phone call for a possible date. All the metal in the building interfered with radio reception, so we could only get WSGW, which had a transmission tower two miles away. At midnight, they put a stack of singles on the spindle, played them, read the news, then played the same stack again. Between midnight at five, we heard those songs a dozen times in the same order.

But what a great summer for rock. "Paperback Writer" and "Rain." "Paint It, Black." "96 Tears" by our own local ? & the Mysterians. "Dirty Water," "Bus Stop," "Monday, Monday," "Hanky Panky," "Dedicated Follower of Fashion," California Dreamin'," "Wild Thing," "Summer in the City," "Sunshine Superman." Local versions of "Farmer John," "The Kids Are Alright (another one of my novel titles),"

and my introduction to the 13th-Floor Elevators, "You're Gonna Miss Me." That was the last summer where singles ruled. The following year would begin the shift toward albums that finally took hold about 1969-70. The Monkees premiered on TV two weeks after I quit that job. 

I've never figured out how to use that job for another mystery, but I'm still trying. I got hired because the previous operator of that sheer got careless and lost three fingers. I quit just as I was losing fear of the machine, which seemed prudent. I dated a few times before returning to college. I had my heart broken for the very first time by a girl I'd known in high school. I haven't lived in Michigan outside of a dormitory since 1967 and she and I haven't attended the same reunions. There are definitely stories here, but maybe I remember the details so clearly I don't know how to tweak them. If they were still fresh and not history, maybe I could do more. 

I still have a few short stories that come from the next couple of years in college. They all involve music, which shouldn't surprise anyone who reads my stuff. Someday, I'll find a home for them, too.

What's in your garden?

17 October 2021

The Digital Detective, Wall Street part 3


I’m still astounded Fortune 500 companies and government facilities not merely allowed, but invited me, a 19-to-20-something freelance me to play with their very expensive computers. I mean work, not play, yeah, work is definitely the word. Reputation is everything. And okay, I have authority issues. So I’m told.

Striking off on my own meant no security blanket, no 401K, no pension, no profit-sharing. It meant scary months when I wondered if the phone would ring with a client and months when I wondered if the previous client was going to pay or not. That’s a concern– some companies withheld payment until they once again needed help. Sometimes managers wouldn’t like what I reported. My type of work– designing systems software– was specialized, so occasionally famine struck.

During one drought, camels were toppling over, birds fell from the sky, and my bank account appeared a distant mirage. Finally a call came in before the telephone company could cut me off. It was Wall Street again, a mutual funds house we’ll call MuFu. Loretta was their CIO, Chief Information Officer.

100 Maiden Lane, NYC © Emporis
100 Maiden Lane
NYC © Emporis

“Darling, are you available?”

“Personal or pleasure?”

“Are you saying personal isn’t pleasure?”

“You’re married.”

“Was, Darling, was.”

“Loretta, I’m sorry.”

“Don’t be, I’m not.”

She lied. I could almost hear the sounds of tears leaking from her eyes. She was a nice lady who’d come up through the ranks.

“Loretta, what’s happening?”

“If you’re available, I need help.”

“Please don’t let it be application programming.” Even if it was, I desperately needed the work.

“Well… Did you hear we’re undergoing a conversion from Cobol to C?”

“You and every other firm with fresh university graduates.”

My professors, Paul Abrahams and Malcolm Harrison, were language experts. Abrahams was chairman of ACM’s SIGPlan and would eventually be elected president of the US’s professional organization, the Association for Computing Machinery. They received early releases of Unix and with it the C language. For my part, C was co-respondent in a love-hate relationship. It constituted a step up from assembler language, but I wanted more.

She said, “I know you’ll be simply shocked, but we’re experiencing crashes. We can’t cut over until we nail the problem. Nobody around here can read machine code. I know it’s not your thing, but nobody knows Cobol either.”

In the following, I’ve tried to trim back technical detail to make it more accessible and I apologize where I failed to restrain it. The gist should suffice.


Next day I took the Staten Island Ferry to lower Manhattan, where I strolled up Pearl Street and turned onto Maiden Lane. The mutual funds house took up a few floors of an older building, although the interior was done in chrome movie set futurism.

The glass room remained there running their big iron computer. Off to one side was a new server chamber covered in curved, blue plexiglass. Very spaceshipish.

Loretta blended 10% boss and 90% Cub Scout Den Mother, which made her a popular manager among the guys. She called in her lead analyst and chief programmer, Richard and Robert. The latter radiated lethal hostility.

“Leigh’s here to shoot that bug that’s killing us.”

“We don’t need help,” Robert said. “He’ll just waste our time.”

Loretta said evenly, “You’ve had months and it’s still not identified. Please give Leigh all the help he needs. He’ll likely work after hours to have the computer to himself.”

After Loretta departed, Robert said, “I know who you are. You used to be hot shit.”

“I’ve never heard it put so charmingly. Listen, I’m not here to take your job. I’m not here to threaten you. I’d like to get the job done and move on. Show me what’s going on.”

As predicted, the program started and died with an out-of-address exception– the program was trying to access memory that wasn’t there.

I asked for listings and a ‘dump’, formerly called a core dump, a snapshot of memory when the system died. The address of the failing instruction allowed me to identify the location of the link map, an org chart of routines that made up the program. Sure enough, the instruction was trying to reference a location out of bounds of its memory.

I took the program source listing home with me and spent a couple of days studying it. It was ghastly, a compilation of everything wrong with bad programming and especially in C. It contained few meaningful variable names and relied on tricks found in the back of magazines. Once in a while I’d see variables like Principle or Interest, but for the most part, the program was labeled with terse IDs such as LB, X1 and X2. This was going to take a while.

The company had no documentation other than a few layouts from the analyst. When I called in to ask a question, Robert stiff-armed me. I arranged my first slot for Friday evening with time over the weekend.

I began with small cleanup and immediately hit snags. I’d noticed a widely separated pair of instructions that read something like:

hash_cnt = sizeOf(Clientable);
      :
cust_cnt = abs(hash_cnt);

Wait. What was the point of the absolute value? C’s sizeof() returned the number of items in an array. It should never be negative. You could have five apples on a shelf or none, but you couldn’t have minus five.

As part of the cleanup, I commented out (disabled) the superfluous absolute value function. Robert dropped down as I compiled and prepared to test. I typed RUN and the program blew up. What the hell? Robert appeared to sneer, looking all too pleased.

He said, “That section was written by that old guy, John. We fired him because didn’t know crap, so no surprise it’s hosed up.”

I knew who he was talking about, a short, pudgy bear in his late 40s with Einstein hair. I’d never been introduced, but I’d heard him on a conference panel. John was no dummy, no matter what Robert said.

Robert smugly departed. I stepped through the instructions, one by one, studying the gestalt, the large and small. My head-smack arrived on Sunday. Curious why sizeof() would return a negative value, I traced how hash_cnt was used. As I stepped through the instructions, I saw it descend into a function called MFburnish().

I couldn’t find source code for MFburnish(). No one could. Without source, it would be very difficult to determine what happened inside it.

I went back to the variable Clientable passed to sizeof(). The array was loaded from a file, Clientable. Both consisted of binary customer numbers. I spotted something odd.

C is peculiar in that it uses null (binary zero) to mark the end of arrays and ordinary file streams. This file had two nulls, one about the seven-eights mark and another at the absolute end.

At first, I thought the file had shrunk and the marker moved down while remaining in the same space. But when I looked at the file, it had the same defect… or feature.

As some point, I looked at the link map to check upon another routine and for the first time noticed what I should have spotted earlier. There amid C Library functions of isalpha(), isdigit(), islower(), isupper(); was sizeOf().

Double head-smack. First, C’s authors claim sizeof() is a unary operator like +n and -n. To me, sizeof() looks and acts like a function and nothing like a unary operator. But by their definition, it shouldn’t show up in a link map with real functions. On closer inspection, the program read not sizeof() but sizeOf(). Another annoyance of C is that it’s case sensitive, meaning sizeof and sizeOf and SizeOf and even SIZEOF are not the same thing. This kind of nonsense wouldn’t have been possible with their old Cobol system.

The deception seemed awfully abstruse, even by C standards.

interest truncation example

The Clientable contained account numbers of a sizeable fraction of clients. Why some customers and not others would take me a while to discover. Unlike sizeof(), the ginned-up sizeOf() showed the actual record position within the full file expressed as a negative number, hence the abs() function.

Someone had written deliberately misleading code. But why?

Money, of course. Moving backwards, I began to look at the code with a different eye. And there it was… not merely the expected interest calculation, but the conversion from binary to decimal, another Cobol to C difference. I suspected one of the company’s programmers had pulled off the oldest thefts in computerdom– siphoning off money by shaving points when rounding numbers.

This wasn't the problem Loretta had asked me to solve. Robert had directed me to the wrong program, which turned out to be a stroke of luck. Loretta had invited me to track down a program bug, but I suspected I had unearthed traces of virtual villainy.

Next week: The Confrontation

Following are Cobol versus C notes for the technical minded. Feel free to skip to next week.