Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Blue Screen of Death
Blue Screen of Death
Blue Screen of Death
Ebook304 pages4 hours

Blue Screen of Death

Rating: 5 out of 5 stars

5/5

()

Read preview

About this ebook

Veronica Avalon has a knack for finding and fixing problems in computer programs. Silicon Valley engineers like her call it debugging. It turns out debugging is a lot like solving a crime.

Veronica's personal hero Peter is found electrocuted in his bathtub. His parents believe it was a freak accident. The police call it suicide. Only tech-savvy Veronica recognizes the clue that points to murder.

When Peter's parents ask Veronica to recover information from their son's computer, she discovers that it hosts a pornographic web site. Could his illicit site have something to do with his murder? Loyalty and unresolved feelings for Peter drive Veronica past her revulsion to the porn. She digs into Peter's PC and follows the trail from online vice to the frontiers of artificial intelligence research.

Uncertain if she can trust her friends, her boss, or even Peter's parents, Veronica tries to single-handedly unmask the killer. Her talent for debugging software translates well into investigation, but the only way to draw the murderer out may be to complete Peter's enigmatic project.

If she succeeds, her discovery could bring down the Internet.

If she fails, she could be the killer's next victim.

LanguageEnglish
Release dateFeb 26, 2012
ISBN9781465954534
Blue Screen of Death
Author

Adrian McCarthy

Adrian McCarthy, a California native, has spent more than twenty years writing software professionally, including stints at some of the most famous companies in Silicon Valley. He wasted decades dabbling with screenwriting and science fiction short stories and novels before figuring out that he liked mysteries.

Related to Blue Screen of Death

Related ebooks

Mystery For You

View More

Related articles

Reviews for Blue Screen of Death

Rating: 5 out of 5 stars
5/5

1 rating0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Blue Screen of Death - Adrian McCarthy

    Chapter 0

    zero-based: Describes a list in which the first element is numbered zero rather than one. Counting from zero is a common quirk of many computer programmers.

    Victim: A twenty-four year old Chinese-American male.

    Cause of Death: Cardiac arrest due to electrocution.

    Summary of Findings: A 15-amp breaker protected the otherwise unloaded circuit. Breakers are designed to prevent fires caused by the heat of an overload. They react too slowly to prevent electrocution.

    It doesn’t take much current to be lethal. As little as 0.07 amps across the heart will cause it to stop pumping. Dry human skin has a high electrical resistance, requiring quite a few volts to get any kind of current flowing through the internal organs. Of course, the victim, being submerged in the bathtub, was far from dry. Water drastically reduces the skin’s resistance.

    According to the crime scene investigators, the current flowed from the outlet through a light-duty household extension cord strung down the hallway. A laptop computer’s AC-to-DC power adapter was plugged into the extension cord, the computer and the power adapter was in the bathtub with the victim. The cast iron plumbing to the drain provided an effective electrical ground. The water, as well as the victim, completed the circuit.

    The victim suffered from convulsions due to the current. Shredded abdominal muscles attest to the violence as does the blunt trauma to the back of the victim’s head. The scalp impressions at the posterior of the cranium correspond to the tile pattern of the bathtub enclosure.

    The lightning-bolt patterns of charring in the victim’s tissues suggest that his left heel was in direct contact with the steel drain fitting. Even if he had broken contact during the convulsions, the water in the bathtub would have been more than sufficient to maintain the circuit.

    Time can be a factor in electrocutions. Longer exposure to marginally dangerous currents increases mortality. Based on insurance data for similar power adapters, it’s possible the current flowed for as long as half a minute before the transformer burned out. Had the circuit lasted much longer, the stranded aluminum wire in the extension cord would have started to melt even before the breaker tripped.

    The victim, who held a degree in electrical engineering, undoubtedly knew the danger of mixing electricity and water, thus we can rule out accidental death.

    Conclusion: Suicide.

    Chapter 1

    timeout: The condition when an expected event does not occur within the time allotted.

    Peter left me in the lurch.

    I glanced down at the candidate’s job-interview schedule for the umpteenth time. Had I misread it? Nope. Right after 10–11: Ranna (that’s me), it clearly said 11–12: Peter.

    My turn to suffer this interview should have been over, but Peter was late. Twenty minutes late. Flex-time was a given at our company, but this was unacceptable. I had bugs to fix.

    So far, I had served up every interview question ever thrown at a programmer and exhausted my supply of hints. The whiteboards should have been filled with UML diagrams, pseudo-code, and smudged-out mistakes, but the candidate, Charles Franklin, had so far failed to make one intelligent mark. I’d had enough.

    Peter should be here any second, I said. Do you have any questions for me?

    No, Chuck said. It was the first definitive answer he had given all morning. He smoothed his yellow necktie. A necktie! Forget that it was about a zillion degrees outside. No self-respecting coder would show up to an interview wearing a tie, let alone a suit. The damn tie wasn’t even long enough to circumnavigate his middle-aged gut. It looked like the Munchkins had run out of money trying to extend the yellow brick road down a snow-covered hill.

    How about some coffee? I said. Or a bathroom break?

    No, thanks. I’m good.

    I thought I felt a blood vessel burst behind my right ear. Then I realized it had just been wishful thinking.

    Dammit Peter! Where the hell are you?

    Despite a solid hour of false starts, excuses, and shrugs, Chuck still smiled as though he eagerly anticipated another two hours of professional humiliation. If it hadn’t been for that grin, I might have pitied him.

    I’m not usually harsh on the job candidates—not even the unqualified ones. I’ve got a fair set of questions. Experts whiz through them. Intermediates do fine if I toss out a couple hints. Even newbies can make a good showing. But Chuck had nothing to offer. Why was he here wasting our time?

    Strike that. My time. So far, Peter hadn’t wasted one clock cycle on this fossil.

    I hefted Chuck’s four-page résumé. It scared me. He had been a software developer for two decades—almost as long as I’d been alive. Now here he was, devoid of marketable skills. Could that happen to me? Maybe Chuck was a COBOL programming guru or a master of FORTRAN, but we didn’t need those anymore, not in this age of object-oriented languages and managed code. Somewhere along the way, he must have stopped keeping up with the technology. It couldn’t have taken long to become obsolete. Falling behind can be a death sentence for a software engineer.

    At last, two quick knocks announced the arrival of my savior.

    That must be Peter, I said as I sprang from my seat to open the door.

    But it was my boss, Ray Eichler, who shuffled into the room.

    Where’s Peter? I asked.

    Just a sec, Ranna. My friends call me Ranna, but my real name is Veronica. Actually, my full, legal name is Athena Veronica Avalon-Smith, but that’s another story. Hey Charles, Ray said to the candidate, glad you could make it in today.

    Chuck rose and shook Ray’s hand, grinning. My pleasure, he said. Young Veronica here is quite impressive. You should be proud to have her on your team.

    Oh please! As if brown-nosing would help his case.

    Why don’t you get yourself a cup of coffee down the hall, Ray said. I’ve got to talk with Ranna for a moment.

    Sounds great, Chuck said like a Survivor contestant who had been offered a steak dinner. He took off his suit coat and hung it on the back of the chair before he headed to the coffee machine. Ray closed the door and turned toward me with an ashen, somber expression I hadn’t seen since last year’s layoffs.

    Who screened this guy? I said.

    How’s he doing?

    He’s useless. Unless we’re going back to punch cards and porting the project to Pascal, I think we’re wasting our time here. You should put him out of his misery and cut him loose. My hour is lost, but there’s no point in wasting Peter’s or Wei’s.

    There’s more to the job than the latest technology, Ray said. Charles brings a lot of industry experience.

    Normally I like Ray. He does exactly what a manager is supposed to do. He shields his team from corporate politics, gives us the resources we need, and clears obstacles out of our way. We see eye-to-eye on a lot of issues, and most of the time he makes me feel like he has a lot of respect for my opinions. So his defense of Chuck took me by surprise. I stammered.

    The tech is always changing. Ray pursed his lips and his black mustache bristled. I’m sure Charles can learn the details of the project fast enough. His experience—his strategic thinking—is a valuable asset. Few of the code jockeys we bring in here can offer that.

    You didn’t ask me to probe for strategic thinking. You didn’t give me any special instructions. I gave him my standard programmer screening.

    And?

    He sucks. With previous candidates, an evaluation like that would have been the end of it, but Ray just stared at me, apparently waiting for specifics. "No Java. No Dot-Net. He’s only used COM as a consumer. And his networking knowledge seems to include everything but TCP/IP. What the hell was DECnet anyway?"

    What about debugging?

    What?

    Don’t you usually run through a debugging scenario?

    Yeah, but … I dropped back into my chair. Debugging—tracking down and correcting mistakes in computer programs—was one of my specialties. In fact, it was probably what I was best known for on the team. My usual battery of questions probed for the systematic thinking necessary to find subtle bugs, but I hadn’t used those. He was so bad at everything else …

    Maybe you were afraid that, with all of his experience, Charles might be a contender for your title as top bug slayer.

    If you can’t code, you certainly can’t debug, I said. Why was Ray putting me on the defensive like this? I wondered, for just a fleeting moment, if he could have been right. Would another team member who could eradicate bugs as reliably as I could make me jealous? No, of course not! Being the go-to girl for elusive bugs was a burden, not a privilege. I would rather rack up karma by polishing my own code than by spending tedious hours helping others find their mistakes. Ray was messing with my mind.

    Shaken and speechless I picked up Charles’s résumé. I skimmed it at high speed, looking for evidence of debugging skills. Words like designed and implemented peppered the pages, but nothing even hinted at troubleshooting. One line, however, did catch my eye.

    Caltech? I stood up again and looked right into Ray’s dark little eyes. You went to school with this guy!

    Yeah, so? Now I had Ray on the defensive.

    So you didn’t even bother to have him phone screened.

    He’s a good guy. A smart guy. He needs a job.

    My grandmother needs a job. When can she start?

    That’s not fair.

    What’s unfair is playing these mind games, making me second guess my interviewing skills.

    I trust you. If you say the guy isn’t any good at C++, I’m not going to question that. I love the fact that I can send you into an interview with the same confidence that I have in more senior people. But face it, Ranna, you’re—what?—twenty-one?

    Twenty-three.

    Fine, twenty-three. You don’t know it all yet.

    In the end it’s your call, I said. I give every candidate a fair chance to show me what they’ve got.

    I know. And I appreciate that. I’m just saying that there is more to the position than the technology checklist. I have to look at the big picture. We’ve been trying to fill this slot for weeks now. We’ve passed on dozens of candidates. We can’t afford to do that much longer. I need to put a body in that seat soon, or we’ll lose the req. Charles has a decent brain, even if it doesn’t come preconfigured exactly the way we would hope. His eyes were sincere. I felt a twinge of guilt. Maybe I was being too hard on him.

    There was a long moment of silence, like Ray wanted to change the topic but didn’t know how.

    Half of the conference room lights switched off. For a moment, I thought we had been standing so still that the occupancy sensor had assumed we had left. Then I realized it must be getting hot outside already. A heat wave had rolled into the Bay Area over the weekend. Offices all over would be cutting back on lighting about now, saving Northern California’s limited power generation capacity for the midday peak in demand.

    I’ve got to get back to work, I said at last. I don’t know where the hell Peter is, but I’m done with this interview.

    Hang on Ranna. Ray touched my shoulder. His tone changed, softened. Do you know where Peter’s apartment is?

    Yeah, I said, perplexed. I’ve been there once or twice. Why?

    The door opened, and Chuck barged in with his cup of coffee. The interruption clearly irritated Ray. Charles, can you give us one more minute?

    Sure. I have to hit the men’s room anyway. He put his cup on the table and headed out again.

    Ray closed the door, took a moment to collect his thoughts, and turned back to face me again. His dark eyes peered right into me.

    Peter’s parents called. They are at his apartment, and they called asking for you.

    His parents? I’ve never met them.

    Can you go over there? On your lunch hour. They have a favor to ask of you.

    Ray, what’s going on?

    He rubbed his hands down his face, never taking his eyes off mine. Sweat glistened among the strands of his comb-over. Maybe you’d better sit down.

    You’re scaring me.

    Ray gestured toward the chair. I complied. He took the seat next to me and swiveled to face me head on.

    Peter died over the weekend.

    What?

    Somebody found him in his apartment Sunday evening, electrocuted in his bathtub.

    Electrocuted. My whole body clenched as though it had received a jolt of its own, and I was thankful Ray had made me sit. My lungs stuttered as I tried to draw a deep breath. How?

    Had he been depressed?

    Suicide? You think it was a suicide? Was there a note?

    Ray shook his head vigorously. I don’t have any details. None. I just found out.

    Just found out? You made time to debate the merits of your college buddy with me first!

    Look, Ranna, I’m sorry. I know he was your friend.

    We had been friends. Our whole development team was pretty tight. Nerds have to stick together. Lately, though, Peter and I hadn’t clicked like we used to. Perhaps that growing distance had prevented me from seeing the warning signs of his impending suicide. Teardrops refused to flow, but my vision grew misty.

    Chuck’s steaming coffee stank with a bitter odor.

    We’re all going to miss him, Ray continued. I set up a meeting at five to let everyone know at once.

    Why are you waiting until the end of the day? I surprised myself with the question. Emotions were rising inside of me, but they hadn’t quite reached the brim.

    It’s Monday, Ray said. I’ve got planning meetings all afternoon. Look, I told you first because …

    Because his parents asked for me?

    Right.

    I stumbled back to my cubicle like a zombie. At my desk I faced the computer screen but failed to focus. My jaw clenched so tightly I feared I would crack my molars. When at last my emotions spilled over, they surprised me. Sadness, loss, guilt—they were all represented. But the feeling that rose to the top was entirely unexpected.

    My last thought just before the tears started to roll: Frak you, Peter. Frak you!

    Chapter 2

    server: A computer or process that responds to requests from another, often over a network connection.

    I stood on the concrete porch at the top of the stairs to Peter Yuen’s apartment, finding it hard to believe that he was really dead. Everything had seemed completely normal since I’d left the office. Mowry Avenue bore the usual level of inattentive and overly aggressive drivers who taunted the red-light cameras. The hills to the east glowed in the sunshine like golden velvet. Contrails radiating from the three Bay Area airports scarred the hazy cyan sky. Peter’s death had changed nothing.

    And all he ever wanted was to change things, or rather, to guide the changes going on around us. As technology continued to revolutionize the world—even more than most people realized—he dreamed of shaping that new world. He never missed a chance to advocate for fair use, bloggers’ rights, and net neutrality. He staunchly opposed any government or corporate effort to restrict communication, breach privacy, or block innovation. He had been fighting the important battles on the technology front before most people realized there was a war going on.

    Down the stairs, in the parking lot, I saw his Mitsubishi Eclipse shining like a newly-minted penny in its assigned space under the carport. My eyes had checked for it reflexively, as if to reassure myself that he was home. Surely there had to be a mistake. Peter was sitting on the other side of the door before me, sleeping in or so caught up in some personal programming project that he’d simply forgotten it was Monday. He couldn’t have been dead. His work wasn’t done.

    Procrastinating, I took off my glasses. Two eyelashes, moist with the tears that I had shed back in my cubicle, clung to the lenses even as I tried to blow them away. I brushed them off with my finger, leaving a smudge. While I worked on the smear with the hem of my tee-shirt, the door opened abruptly. I whipped the glasses back up to my face.

    The Asian man I saw through the smudges looked nothing like Peter. He was short and puffy-faced with a bulbous nose. The folds and features of his visage seemed pinched with pain. Clusters of skin tags bracketed his solemn, pale brown eyes.

    Are you Veronica? His voice gurgled, which seemed to surprise even him. He cleared his throat.

    I nodded, momentarily unable to find my voice.

    Come in, please. Now his voice flowed smoothly, the timbre soft and a little high like Peter’s. The familiarity soothed me. I’m John Yuen, he said, Peter’s dad.

    I stepped into my dead friend’s apartment and shook his father’s hand. John wore a ribbed brown tee-shirt with blue jeans that fit so well they must have been tailored. Perfectly symmetrical bows topped his bright white sneakers. His clothes were crisp. Casual, yes, but laundered and ironed to perfection.

    I searched for something to say. I’m sorry, was all I could come up with.

    Thank you, he said sincerely. I wasn’t sure if you’d be able to get through the gate without a code.

    Almost any code you can imagine works, I said, overly eager to pounce on any topic other than the one that had brought us together. There are three hundred apartments here. Each one gets to pick their own code, and I doubt they remove the old codes when somebody moves out. Virtually every easy-to-remember four-digit number will open the gate. It’s security through absurdity. I bit my lower lip to halt my nervous babbling. Had I really just trivialized Peter’s death by rattling on about something so mundane? My cheeks grew hot, and I knew I was blushing.

    John smiled. I can see why you and Peter got along so well.

    His comment struck me as odd. I wanted to ask how he knew about me, what sorts of things Peter had told him, but it seemed inappropriate. This wasn’t about me.

    A woman glided toward us from the kitchen, Peter’s mother. I knew it was her the instant I saw her. Peter may have gotten his father’s alto voice, but he had inherited his mother’s facial features. She had a high forehead, an elegant nose, and thin but well-shaped lips. To say her complexion was flawless would be an exaggeration, but it glowed enviably. It was a light shade of almond without a hint of wrinkling. She looked ten years younger than her husband. Her black hair was arranged in a short, glamorous cut. She moved with poise despite the pain in her eyes. She wore Latex gloves, the kind housewives used to wear to do dishes. Her gloved hands held an empty drinking glass and a sheet of butcher paper.

    My wife, Christine Yuen, John said.

    Christine started to reach out, as if to shake my hand. Only then did she realize that her hands were occupied, so she nodded a greeting.

    I’m sorry, I managed to say without the words getting completely stuck at the catch in my throat.

    She offered a close-lipped smile that couldn’t disguise her anguish, but a tremendous inner strength kept her from bursting into tears. I wished I could find strength like that. She wore her grief beautifully. My eyes grew foggy again.

    As you can see, John said, we’re packing up Peter’s things.

    Peter’s furnishings, like the programs he wrote, were austere. Absolutely functional and comfortable, without any unnecessary clutter. Though it was a bit sterile for my taste, I envied the simplicity. One couch, one chair, one houseplant. Everything in neutral tones. Framed posters from a Free Software Foundation conference hung on the walls. The oak entertainment center held a modest LCD television, an amplifier and speaker combo for his MP3 player, and a few family photographs in mismatched frames. The snapshots were askew, and I imagined John and Christine picking up each one and reminiscing themselves to tears.

    Still-flat moving boxes and rolls of packing tape were stacked next to the coffee table. The packing had hardly begun. Behind me, on the floor just outside the kitchen sat a basket filled with cleaning products. The Yuens were here to erase what was left of their son’s life.

    We stood there in silence, lost in our memories of Peter. If I hadn’t found a distraction quickly, I would have been sobbing again like I had in my cube. I didn’t want to do that here in front of his parents. Not just because they were strangers to me, but because I didn’t want to give them the wrong idea.

    I was told you had a favor to ask, I said. Coy smiles of relief flashed on their faces. I had saved us all from another breakdown.

    Yes, if you wouldn’t mind, John said. We didn’t know who to call. We talk—we used to talk with Peter on the phone almost every week. We don’t live far. Piedmont. But it seems he rarely had the time to visit in person. So we would talk every week. He would tell us a little about work and all of the fun things he was doing with his friends. But this morning, when we discovered that we needed someone’s help, we realized we could remember the name of only one of his friends. Yours.

    I didn’t know whether to be flattered

    Enjoying the preview?
    Page 1 of 1