Showing posts with label Leigh Lundin. Show all posts
Showing posts with label Leigh Lundin. Show all posts

16 January 2022

Company Town, Part 1


A staple of Westerns features small towns embroiled in takeovers by criminal gangs or religious cults or power-hungry land/cattle/mining/oil/railroad barons not above skulduggery, the Greek tragedies of our era: Giant, Billy Jack, There Will Be Blood, Dallas, Yellowstone. Lee Van Cleef and Clint Eastwood crafted the movie subgenera into a cottage industry.

In modern times, we need look no further than Florida. Numerous developers and con artists have molded lands into their image. Some built monuments to themselves… literally castles. Roughly a dozen castles (including Cinderella’s) dot the Florida landscape. Two infamous local examples have been torched with redneck lightning in recent years, Glenn W Turner’s Turner Castle in Winter Park and the scandalous Mikey Busey’s Sausage Castle in St. Cloud. (Home of Sharon, who prompted this two-part series by sending me the following CIA article.)

Sanibel postcard

Sanibel

Friends in Minnesota loved vacationing on Sanibel Island, which was the extent of my knowledge at the time. It gives new meaning to ‘company town’, assuming you’re au fait with espionage parlance.

I confess I wasn’t familiar with author Randy Wayne White’s Marion ‘Doc’ Ford series. The protagonist is a marine biologist and not-so-retired former spy based in– you guessed it– Sanibel.

It turns out the island is loaded with former spies including some brought out of retirement from time to time. And when backed into a corner by county commissioners, they came out fighting. They built this city, not so much brick by brick, but with legal filings: “Don’t condo our island, you snot-wipes!”

So enjoy the article before we move on.

Stereotyping an Article

The COVID quarantine has taught me something about myself– I’m a mystery character clichĂ©. The forced alone-time drives some people crazy, but others thrive. I’m one of the latter– solitude suits me. Roots probably extend back to childhood where plowing and planting, haying and harvesting, feeding, milking and mucking didn’t provide time or proximity to people. And it stuck.

But it worries me. The age line is very fine between solitude guy and crazy old coot.

Live on a boat, live on a secluded island, for me that’s paradise. As delineated below, one person’s heaven is another man’s hell.

02 January 2022

New Years - Past, Present, Future Done Lightly


New Years Past

A century ago, similar concerns.

cartoon © 1921 Buffalo Times (New York)
Normalcy © 1921 Buffalo Times (New York)

New Years Present

The light show, just because.


New Years Future

At heart, mystery writers are romantics searching for happy endings in our own little world.

Oh, c'mon, admit it– that's sweet.


Happy New Year!

19 December 2021

Elf's Lament


When folks think of a romantic Christmas, some think of Barenaked Ladies. And Sarah McLachlan.

Wait, we’re not talking bare, naked ladies, although I fondly recall a holiday season with Bubbles LaFerne… Well, never mind.

We’re discussing the Ontario retro pop rock band that isn’t bare, isn’t naked, and isn’t ladies. They’re also damn smart lyricists.

You probably know then from one or more hits such as ‘One Week’, which has a higher rapid-fire word count (600) than some short stories. Founders Ed Robertson and Steven Page also wrote ‘The History of Everything’, the theme song of The Big Bang Theory, and the Grinch theme.

Beyond clever, clever wordsmithing, the group likes to collaborate. In 2004, they released a Christmas album, Barenaked for the Holidays, which reminds me that Bubbles… Sorry, pay no attention. It’s been a long pandemic.

The collection includes Christmas and Chanukah songs, traditional and some newly written by BNL’s Page, Robertson, Kevin Hearn, and the Creeggan brothers. Here is a collaboration with Sarah McLachlan practicing ‘God Rest Ye Merry Gentlemen’ / ‘We Three Kings’.

Did I mention Barenaked Ladies wrote and performed ‘Green Christmas’, the 2000 soundtrack for How the Grinch Stole Christmas?

At the time, Michael BublĂ© was relatively unknown, but the crooner (pictured below) joined Barenaked to sing a Robertson/Page tune, ‘Elf’s Lament’.

Listen, class, for the third Christmas in a row, we’re living under threat of the COVID pandemic. As Eve Fisher and others have pointed out, people haven’t stopped dying, but we’ve grown weary… and careless.

Canadians have taken the coronavirus seriously, mourning a total of 30,000 deaths. In contrast, Florida with 5/9th the population of Canada, has more than doubled Canada’s total. America has surpassed 828 000 deaths out of 52-million known cases. Professionals believe the majority could have been saved with mandatory masks and vaccinations.

Like Thanksgiving and Christmas last year, it’s looking to be a forlorn Christmas, friends still in lockdown, no decorations… Wait… incoming text message… Bubbles LaFerne… Hey! Like Santa, she’s flying into town and she’s vaccinated! (Humming a brand new song, ‘Baby, it’s warm inside…’)

Merry Christmas and Happy New Year!

05 December 2021

Lost in the 80s tonight


1980s big hair
Don't ask me.
I didn't get the 80s then or now.

Readers, writers, and viewers find anachronisms in novels, movies, and television shows vexing. TV shows and films have deployed LEDs in the 1950s. A novel set in the antebellum Deep South described slaves eating and drinking from bean cans. I annoyed an editing client by explaining his plot could not hinge upon a cell phone call in the early 1970s.

"Are you sure? Maybe you've forgotten."

Tarantino's Django Unchained contained so many time-warp errors, I gave up counting. My number was well into the dozens. And then Tarantino bragged about his research. Next time Quentin should hire an historian. Like one of my SleuthSayers colleagues.

Friends Sharon and Cate forwarded an article about words and phrases that came out of the 1980s. The 80s churned out some great music, but I didn't get leggings, Uggs, or television motorcycle cops sporting carefully coiffed big hair.

Following is a summary of the article with a few comments. Be sure to read the original.

1980 1981 1982 1983 1984 1985 1986 1987 1988 1989

Gordon Matthews invented the voice mail system in 1979 and formed the company VMX (voice message express). By 1980, the phrase and new technology had made its way into the English language.

The comb-over is a bald spot covering hairstyle. Since the 1980s, the comb-over has declined in popularity.

Topoisomerase is an enzyme which alters the supercoiled form of a DNA molecule, first discovered by James C. Wang. Topoisomerase breaks down and rebuilds strands of DNA molecule.

Yuppie is a slang term referring to young, educated adults with well-paying jobs. Mirroring the word hippie, the word is said to be a combination of the words young, urban, and professional coined by Dan Rottenberg.

1980 1981 1982 1983 1984 1985 1986 1987 1988 1989

A type of snow that has acidic properties due to environmental pollutants, used in a 1981 New York Times article chronicling acid snow.

A drug thought to lead people to abuse harder, more serious drugs, which may or may not be accurate.

A term describing the large (and often undeserved in the opinion of some) severance packages given to executives being terminated.

Sleazeball describes a dishonest or sleazy person. Other slang terms with the suffix "-ball" conceived in the 1980s and 1990s include goofball, oddball, and dirtball.

Spreadsheets are used extensively in office and lab environments. Students Dan Bricklin and Bob Frankston invented the world's first electronic spreadsheet on the Apple II.

1980 1981 1982 1983 1984 1985 1986 1987 1988 1989

The CDC defined the disease acquired immunodeficiency syndrome, also known as AIDS, as "moderately predictive of a defect in cell-mediated immunity, occurring in a person with no known cause for diminished resistance to that disease."

Barista is an Italian word for a bartender, now used to describe someone who makes coffee or espresso drinks.

Complementary medicine includes alternative treatments like homeopathy and chiropractic medicine used alongside mainstream medicine.

After globalization and industrialization moved manufacturing overseas, the region in the US spanning New York through Michigan and Illinois became known for deteriorating, abandoned factories.

Like the term Valley girl began in the 1980s to denote girls from California's San Fernando Valley, but it later morphed into a stereotype used to describe people who go Valley talk.

1980 1981 1982 1983 1984 1985 1986 1987 1988 1989

Belgian mathematician Lambert Adolphe Jacques Quetelet conceived the equation for body mass index in the 1800s, but not until the 1980s did BMI become the standard for measuring fat.

The first mobile, hand-held phone was created in 1973, but commercial use didn't become viable until Motorola made available cellular phones to Americans in 1983.

FLOTUS stands for First Lady of the United States. POTUS, the acronym for the president, first appeared in 1895 as a shortcut for telegraph operators. FLOTUS came nearly a century later, possibly a code name for Nancy Reagan.

In 1983, the TTAPS study coined the term nuclear winter to describe the extreme cold, high radiation levels, and devastating effects a nuclear war could theoretically cause.

Seasonal affective disorder is defined as a condition often associated with lack of sunlight, particularly due to shorter daylight hours during fall and winter months.

1980 1981 1982 1983 1984 1985 1986 1987 1988 1989

The Eggs Benedict recipe had been a staple of American brunch since the 1970s, but wasn't named as such until 1984.

Streptokinase was first used to break down blood clots in the 1930s, but it wasn't until half a century later that it was used to halt the damaging effects of heart attacks and strokes.

In September 1984, Alec Jeffreys accidentally stumbled on DNA fingerprinting while studying how illnesses transfer through families. DNA fingerprinting has revolutionized crime scene investigations.

Power walking involves walking at a fast pace, often while carrying weights.

The name sriracha is derived from Si Racha, a Thai province where the hot sauce is thought to have originated.

1980 1981 1982 1983 1984 1985 1986 1987 1988 1989

Frankly, I'm surprised this hi-tech language made the list. Its predecessor, the C compiler was developed in universities and at Bell Labs in the 1970s. Bjarne Stroustrup developed an object-oriented version described in the first C++ programming guide. The name is a pun, a reference to the C language ++ operator.

Cosmeceutical combines the words cosmetic and pharmaceutical, informally used to refer to beauty products with supposed medicinal benefits.

The idiom 'elephant in the room' refers to major problems people are unwilling to address.

Premenstrual dysphoric disorder (PMDD) is a severe health condition that can cause depression and anxiety before a woman's menstrual cycle. Causes of PMDD remain unclear.

Tankinis combine bikini bottoms and a tank top.

1980 1981 1982 1983 1984 1985 1986 1987 1988 1989

The sport of bungee jumping gained popularity when AJ Hackett bungee jumped off the Greenhithe Bridge in Auckland, New Zealand.

Crackhead is a slang term used to describe a habitual user of crack cocaine, in the same vein as acidhead and methhead.

The slang word modifies the verb cringe into an adjective by adding the suffix -y. The word denotes something that causes one to feel uncomfortable or embarrassed.

A planogram is a visual floor plan used in office and store space management to optimize floor usage.

Sport-utility vehicles, large conveyances often built on truck chassis, replaced station wagons (estate wagons) popular from the 1950s through the 1970s.

1980 1981 1982 1983 1984 1985 1986 1987 1988 1989

The term describes the effect of alcohol making potential sexual partners more appealing. It was first used in the January 1987 edition of Playboy magazine.

An emoticon, similar to an emoji, combines the words emotion and icon. Carnegie Mellon Professor Dr. Scott Fahlman is credited with developing the first emoticons.

Off-label drugs are used to treat conditions not officially approved by the FDA, sometimes in experimental circumstances.

Shy bladder refers to a social anxiety that makes urinating in public places difficult. Other names for this condition include paruresis and bashful bladder syndrome.

Detroit electronic dance music, made with fast digital rhythms and synthesizers, became popular with U.S. electro-beats becoming a mainstay in European raves.

1980 1981 1982 1983 1984 1985 1986 1987 1988 1989

Boomerang children is a term used to describe young adults who return home after college or work experience to live with their family, often for financial reasons.

Emo music, short for emotional, merges rock and punk rock genres known for its emotional lyrics.

The Kuiper Belt is a region of celestial bodies in the solar system beyond the orbit of Neptune, named after Dutch-born astronomer Gerald A. Kuiper. Astronomers first discovered a Kuiper Belt object in 1930; it took another 62 years to discover the second.

A microloan is a small loan given to impoverished people or groups of people to fund entrepreneurial projects, often attributed to Mohammed Yunus.

Road rage is violent anger directed at the actions of other motorists.

1980 1981 1982 1983 1984 1985 1986 1987 1988 1989

Spy magazine and Science Magazine are credited with using the term air quotes, a gesture to signify the following words in quotation marks. It is said air quotes eliminate responsibility for one's actions.

Generation X members were born in the 1960s and 1970s after baby boomers and before the millennials.

HTML, or hypertext markup language, was developed by Tim Berners-Lee and Jean-François Groff in the 1980s and 1990s. While working at CERN in 1989, Berners-Lee sent a memo advocating for the use of a "hypertext system," and Groff sent a sample to colleagues in the US for comment.

Kimberlé Crenshaw, black feminist author and scholar, invented the word intersectionality in 1989 to describe the intersection of different types of discrimination including race, class, and gender discrimination.

Nightclub singer Rommy Revson invented and patented the scrunchie in the 1980s to contain her hair. The product was initially called "Scunci" before the name was changed to scrunchie.

21 November 2021

Character References


Queen's Gambit, girl and chessboard

The Netflix miniseries Queen’s Gambit led me to check out the novel from my local library. I was charmed. Walter Tevis chronicles the professional life of chess prodigy Beth Harmon, an orphan who rises above her expectations.

Her journey reminds me of the vicissitudes of Bobby Fischer, America’s erratic genius. When Fischer faced off against his friend and relentless Russian competitor Boris Spassky in ReykjavĂ­k, for the first time the US saw Fischer and Spassky’s battle televised move for move. Those of us with an interest in chess enjoyed the showdown.

When Queen’s Gambit appeared on Netflix, those days came back to me. I was immediately captivated. I’m going to preach heresy– I liked the series slightly better than the novel.

Film has advantages over words on a page and one here was the portrayal of chess on the ceiling. (You have to see it to get what I mean.) Beyond that, the miniseries offered a few subtle enhancements. For example, Beth learns Russian and happens to overhear an opinion about her… a critical opinion that gives her a chance to assess the destructive path she’s taking.

Top chess players often suffer a touch of madness, Fischer among them. The great Paul Morphy committed suicide. Few women play. It might be sexism or women may be too smart to pursue chess. The actress, Anya Taylor-Joy, perfectly portrays that touch of something not-quite-right and does it in an endearing way.

In both book and on screen, the players (her competitors), her mentors, and especially her step-mother are well drawn. Unfortunately, the novel’s sketch of her primary Soviet opponent reminds one of a boar-like Leonid Brezhnev. The movie version opted for a sophisticated, elegantly dressed family man, which carries much better.

The series outlines that male habit of being cautious of interlopers until they prove themselves. Beth’s biggest fans become those she defeats. She earns their respect, unstinting admiration and, in one case even love.

The ending of the miniseries is well done, a fitting ending to a poignant story.

But…

In both book and film, I level a criticism about a small but important lost opportunity. The story opens with Beth’s mother crashing her car into a steel bridge. Later, her childhood friend Jolene asks, “What’s the last thing your mother said to you?”

Beth answers, “Close your eyes.”

Absolutely chilling, or it would have been except both the book and the film felt they had to add background, diluting that simple answer down to nothing. Therein, I thought, lay a lesson.

Oh, the cover, Queen’s Gambit… sheer genius.

chessboard with bottles of booze and pills

07 November 2021

Professional Tips – Kindle Edition


e-reader spilling books

Blatant Teaser

If you’re a Kindle owner and avid consumer of ebooks, today’s hottest tip will more than repay the price of your SleuthSayers subscription. This article includes a startlingly simple way to open your Kindle to the vast library of ePub titles available to everyone… except Kindle users.

Most of my comments are directed toward the Kindle PaperWhite. The Kindle Fire is a different machine with different capabilities. For example, you can ‘side-load’ Android apps to read formats and read aloud that the Kindle e-Ink tablets won’t allow.

But first…

Self-editing is at best problematic. Once a draft is completed, we must first rid a text of errors and then refine and smooth the writing. I’m not alone in this, but I may be more prone to skid-reading than many of my colleagues.

In latter stages of the editing process, I read a story aloud and have the computer read it back to me. I’ve discovered reading from different platforms (laptop, desktop, tablet, even a printed page) often reveals bugs that may have lurked for ages, defying me to spot them.

I like to take a break from the computer, load a document on my tablet, put my feet up on the sofa, and either read or let the tablet read to me. Android and Apple app stores offer several free programs that will do this. Most accept the world’s most common format, .ePub, but not the proprietary Amazon formats, AZW, AZW3, KF8, KFX, MOBI, and so on. Likewise, Kindles refuse to read ePub formats, locking readers into the Amazon ‘eco-system’.

One of the early Kindle models would read aloud documents, but what Amazon giveth (albeit for lots of money), Amazon taketh away. When Amazon announced that functionality had returned in later PaperWhite models, they limited it to Kindle commands for the visually impaired and Audible™ books.

Proprietary formats have been a problem throughout the ereader industry, following the same history of word processors, the first practical programs for personal computers. Companies would throw up fences around their products, refusing to write to ‘foreign’ file types and making it as difficult as possible for others to read theirs. The most common ebook format is ePub, the open technical standard published by the International Digital Publishing Forum, a standard Kindle will not read.

eReaders

  • Amazon Kindle dominates about 80% of the North American market, much less so in other parts of the world. Its native formats are .azw and .mobi.
  • Rakuten Kobo (Kobo is an anagram of book) is the only major global competitor to Amazon. They sell worldwide, everywhere except the US. That may change with their partnership with Walmart.
  • Pocketbook is sold mainly in Oceania and states of the former Soviet Union.
  • Barnes & Noble Nook (and Samsung Nook) was one of the first ereaders on the market, quickly steamrolled by Amazon. They have a spotty market mostly in the US.

eFFective (not)

I have a relatively recent Kindle PaperWhite that I occasionally use, but its strict limitations on what I can load onto it usually leave it on the shelf. Seldom do I bother to create .mobi files just for the Kindle. It’s far easier to use an iPad or Android tablet with free third-party apps to read free ebooks.

eAuthors?

I’ve been experimenting loading on Microsoft Word .docx and .rtf files. Using the eReader, I can mark up manuscripts by pressing a word, expanding the range of the word if necessary, and then typing in a note of the text I want to change. Unlike a Word-type app on a tablet where I might change the text directly, I’m restricted to marking up text, but that can be useful.

In-Line Markups
  List of Markups
Kindle screen with notes and highlights
Kindle screen with notes expanded

Usually I note the change, which I then effect when I return to my computer. Initially, I keyed in ‘Del’ for deletion of a word or phrase, but now I simply highlight the words (using the same mechanism), which serves to remind me what has to go.

Kindle notation number in box

The main visual difference is that a note will contain an identifying superscript number in a tiny box. When tapped, the note pops up in a window.

Amazon.com can display Kindle notes and highlights in a browser window, which would be wonderfully convenient for editing but… forget that route for now. Once again, Amazon permits browser viewing of notes only for books purchased from them. Amazon giveth, Amazon taketh away.

In case you’re wondering, that special URL is

SleuthSayers Auto-Magical, Tremendous, Stupendous,
Super-Fantastically All Powerful, Fabulous Kindle Tip

You have a Kindle PaperWhite and would like to read an .epub file on it, one that Amazon won’t allow. If you email it to your kindle.com address, you’ll receive a message like this:

Dear Customer,
The following document, sent at 11:04 PM on Sat, Nov 06, 2021
GMT could not be delivered to the Kindle you specified:
    * ExoticEroticRomanceNo54.epub

Uh-oh. But try the following additional step, which might be a programmer’s ‘back door’. I have no other logical explanation why this works… it just does.

  1. Rename your ebook extension from .epub to .png … that’s right, the graphics format. For example, rename your novel
     ExoticEroticRomanceNo54.epub
               to
     ExoticEroticRomanceNo54.png
  2. Email it to your kindle.com address as usual. You do have one of those, don’t you? It’s mentioned in your Kindle settings.
  3. Transfer should take only moments, but grab a coffee, then see if your story is on your Kindle.

Did it work? Thank us later!

e-reader spilling books

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.

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 pane. 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.

03 October 2021

Certifiable – Arizona Elections Corrections 301


Previous   PREV Arizona ‘fraudit’ Conspiracy Theories         

For perhaps the final time, this is OAN’s Blanca Mujer reporting from Memorial Coliseum in Phoenix.

We arrive at this much anticipated juncture wrapped in unfathomable disappointment. We’d hoped to prove massive fraud took place on election day, but instead, to paraphrase Oath-keeper Senator Wendy Rogers, the Deep State has so cleverly hidden their huge deception, it’s become impossible to find. Thus Wendy Rogers and others urge the election be decertified and rerun until they get the results they want.

I apologize for the background noise. What you hear is a great gnashing of teeth on the floor of the Arizona legislature. Senate President Fann is acting all innocent and Karen like she never heard of this and opposed it all along. My, my, my.

How were we to know she’d hired the one election truther who, uh, believed in truth. Cyber Ninja didn’t get the difference between determination and predetermination. Listen, buddy, when we shell out $6-million, we’re not paying to get the same answer as the previous three recounts-slash-audits paid for by Arizona taxpayers.

At least we got free colorful T-shirts.

This has been Blanca Mujer… and seriously, why does everyone in Arizona call me ‘Moo-hair’? Speak English, for heaven’s sake, my name rhymes with huger. This is Blanca Mujer getting the hell out of town, OAN Pseudo-News, Phoenix.

Validation, Verification, Verdict

No one, liberal or conservative, left, right, or center, expected the answer that arrived last week, a finding of no fraud and a judgment that votes tallied, slightly widening the win-lose gap.

During the interminable wait for results, one clue surfaced, almost immediately dismissed, considering the pressure of power and money. That hint: An acquaintance of Doug Logan claimed anyone who knew him would say he’s an honest man.

And so he was… so he is. Doug Logan and apparently his friend Ben Cotton may have fringe notions, but amid death threats, they put the gritty in integrity.

Meanwhile in Idaho, My Pillow’s Mike Lindell instigated an audit by claiming between 4.2 and 30 percent of votes in every county were shifted by computer from one party to the other. Some of Idaho’s precincts are so small, they couldn’t justify electronic tabulators, so votes were counted by hand. Idaho’s partial recount showed the numbers matched almost exactly except for a nine-ballot overcount for Mr Trump.

Loose Ends

The thrust of this series has focused on the numerous election fraud conspiracies. Before abandoning this topic to the trashcan of hysterical, histrionics history, a few more crazy notions cropped up in recent weeks. Two of the wilder ones are worth mentioning.

4.2%

4.2%

Let’s introduce a pretty smart guy named Shiva Ayyadurai. For some reason, petulantly claiming he invented email in 1979 at the age of 14 has become increasingly important to him. Generation X doesn’t believe anything was invented before their own births, so he can’t believe he didn’t invent anything other than the name… maybe. As someone who was using email years earlier and invented encrypted email in the mid-1980s, I take his claim with a huge block of salt.

But he makes other fringe claims such as vitamins offset COVID and election fraud. He’s appeared on fraud felon Steve Bannon’s show to expound upon conspiracy theories. What sets Dr Ayyadurai apart from run-of-the-mill election truthers is a claim that would make Scientologists cringe.

According to Ayyadurai, every voting machine in every state in the US is designed to shift 4.2% of votes from the (R) column to the (D). 4.2%, every machine, every state.

If you’re thinking 4.2% comes from rigorous quantitative regression analysis of election-engineered differential equations… you’d be wrong.

The Hitchhiker’s Guide to the Galaxy (published the same year Ayyadurai ‘invented’ email), Douglas Adams’ humorous quasi-sci-fi novel, tells us the answer to life, the universe, and everything is 42. And therefore, according to Dr Ayyadurai, precisely .042 of votes were tampered with. Seriously.

đť„ž♪♫ And 42’s exactly two dozen and the reverse of 24 and we call it a day and the age of Howard Hill, which rhymes with Bill married to Hillary which rhymes with biliary that takes a lot of damn gall and starts with B, the actress of Maude with rhymes with fraud, and there you have it, proof of election tampering. ♬♩𝄇
— apologies to The Music Man
hypodermic with Russian salad dressing

Salad Days

Help yourself to a palate cleanser and strap yourself in for a fresh election conspiracy from none other than admitted felon and foreign agent for Turkey, Ukraine, and other non-American venues, Michael Flynn.

According to Flynn, former Security Advisor, God help us, pro-vaxers are slipping coronavirus vaccines into salad dressing and plan to genetically alter lettuce to contain mRNA inoculation material.

Honest. I hope it’s iceberg lettuce. It might add flavor.

The Future, or Something Like It

Pennsylvania and Wisconsin are struggling toward full-blown recounts despite assurances from election authorities that all went smoothly and no fraud was detected. Precincts are giving pushback to the state especially against revealing voters’ personal information. As in the Arizona fraudit, a judge may have to rule whether to permit the recount.

Texas Governor Abbott snapped to attention, genuflected, and kissed the ring when the ex-president asked for a recount of four counties. The reason seems to be because they can. Strangely, the office of Supervisor of Elections is presently vacant, so no one is certain who’s calling the shots.

And finally back in Arizona, disbelieving fraudit supporters and ‘democracy skeptics’ now demand a new statewide election recount.

Democracy skeptics… They’re driving America.

19 September 2021

How to Speak American


This one’s for you, Anne!

When our Dutch colleague Anne van Doorn visited SleuthSayers, we discussed English competency in general, and American English in particular. Following is my own contribution, but I’ll mention Wikipedia contains a surprisingly good article on the topic.

Grammar

The primary thing that’s driven me mad is the concept of mass versus collective nouns and subject-verb agreement. For example:

  • US: “Tottenham FC is expected to win.”
  • UK: “Tottenham FC are expected to win.”

When I asked a British instructor to explain, all he imparted was, “You aren’t wrong.” If you figure this one out, let me know. (Wikipedia makes a decent stab of kinda, sorta explaining it.)

In parts of Britain, articles (a, an, the) seem to disappear. In Yorkshire you might hear a construct something like, “She dropped pudding on floor.” The tendency appears occasionally in phrases such as, “I took her to hospital,” where an American would say, “I took her to the hospital.”

For some reason, North Americans don’t have a similar problem with school: “I went to school today.” To be clear, that means attending classes, whereas, “I went to the school today,” more likely implies visiting the campus or schoolhouse. We might say, “I attended college,” but also confusingly say, “I attended the university.”

fanny covering (girl in shorts)
fanny
covering
fanny covering (girl in shorts)
also fanny
covering

In the US, bath is strictly a noun and bathe is the corresponding verb. In the UK, bath can be both. My ears still aren’t used to someone saying, “I’ll bath this evening,” (where it’s pronounced bawth). When I try to say it, I sound like a smartass. Er, smartarse.

Meaning

Thanks to internationalism, Americanisms have filtered into the UK and vice versa. However, a few words differ in meaning.

In North America, corn means a particular type of maize. The British use a broader sense of a cereal crop including oats, wheat, and barley.

North Americans tend to use the adjective ‘mad’ when they mean angry. The British limit the word to mean insane.

How do I put this delicately: Never, ever, pat an Englishwoman on the fanny. Bad enough in America, but just… don’t… do it. In the UK, it’s probably not what you think it is.

And…

We come to one of my least favorite (least favourite) words. Feel free to skip to the next topic. I wouldn’t go into this at all, except the English insist upon inserting some derivation of the word piss in every third paragraph– more often if they’re watching a football match in their local pub. North Americans lean toward two meanings, urinate and anger, but the British have come up with many, many more, confusing us poor Americans. These include:

Someone who’s ‘on the piss’ is engaging in a heavy drinking bout until they’re thoroughly ‘pissed’, i.e, drunk. ‘Taking a piss’ can refer to misleading someone, but ‘taking the piss out of’ someone is mocking them. A ‘piece of piss’ refers to something easy to do. A ‘pisser’ is someone or something funny. Telling someone to ‘piss off’ means leave immediately. ‘Piss about’ is to waste time and resources on something foolish. ‘Piss up’ means to ruin something, but plain ‘piss’ means something that tastes bad. Finally the English exploit the word’s versatility with ‘piss on’ implying great contempt and ‘piss in one’s pocket’ meaning virtually its opposite, to ingratiate oneself.

I’m convinced a writer could invent his or her own combination in the form of piss+preposition, and people on that side of the English Channel would intuit exactly what was meant. A wiser choice might be to avoid it altogether. Now excuse me whilst I bath.

French Influence

Despite time and distance, some French spellings and pronunciations have survived in the US. When I was a child, my mother pronounced pot-pourri the French way, ‘POH-puhREE’, but thanks to dumbing down by television and radio, the pronunciation is shifting to ‘pot-porry’. Ugh.

We still pronounce filet mignon as ‘FEElay MIN-yon’ whereas the British say fillet (‘fill-it’) steak. We retain other words the French either seldom use (derrière, double entendre) or the meaning has altered (brassiere). In some cases, North Americans have retained French spelling, such as valor versus valour.

maths symbols

baseball, soccer ball, basketball, football

tyre by the kerb, tire by the curb

Canadians still use serviette but Americans seem to be losing this elegant and useful word in favor (favour) of table napkin.

Spelling

Math in the US, maths in the UK. Sports in the US, sport in the UK. Consistent, right? And of course US soccer = UK football.

British contrast certain nouns ending in -ce with their corresponding verb forms ending in -se. For example: licence/license, practice/practise. Americans (but less so Canadians) often narrow the spelling of noun and verb to -ce endings. Outside US borders, my memory aid associates the ‘c’ ending with ‘concrete noun’.

Then we have variant spellings: kerb/curb, tyre/tire, gaol/jail. If I could get away with it, I’d use kerb and tyre, being unambiguous with their homonyms. We see a precedent in the word clew that retains its spelling for maritime use, but evolved to clue in the crime and mystery world.

A few authors have proposed we Americans adopt British spellings regarding two ‘writerly’ words. One is cosy (instead of cozy), which one SleuthSayer or another uses. The other is storey (instead of story) when referring to the floor of a building. For example, “She was reading a cosy on her second storey balcony.” Your choice.

Finally, the dot at the end of a sentence… the British refer to it as fullstop whereas Americans usually call it a period. That’s a clue to wrap up.

Good luck, Anne!