original-fiction

Original stories, written by me. All content (excluding code snippets) in these posts is under copyright.

The BugCatcher Chronicles #1 - Jamestown Avenue

Danny

Shadows flank me as I march down Jamestown Avenue toward the short, squat building in the distance. The sun's last few rays are off in the distance, casting a lavender twilight into the sky that would be beautiful if I had the time to admire it. Night will soon blanket the campus, punctured only by the streetlamps and the lights of other students' rooms as they cram for finals. That's where I should be, studying, but I can't focus anymore.

My phone begins to beep, slowly at first, then more and more rapidly. There's another one in the area. As I keep walking, the beeping increases, gradually becoming a constant drone before a little blue beetle appears on my HUD. Gotcha!

I tap on the beetle, and its face fills my viewscreen. Two little options appear in the lower corners of the screen, "invoke" and "leave". I tap on "invoke" and a set of tiny spinners pops up, showing the potential inputs. I select a couple at random and hit "fire!". The blue insect stumbles but doesn't fall; I got at least one of the inputs right, just not all of them. I switch the left input to the next option, attempt the invocation again, and this time the little blue beetle falls to the ground and fades away. As I unconsciously relax my grip on my phone, the streetlamp next to me flickers and dies.

A little counter on the application heads-up display goes up by 15 points. 15 points?! That's barely worth the effort! The bug report appears, showing that this particular bug caused the light to turn off when it should have stayed lit. Ugh. That's all it did? I tap the little "report" button, and the app beeps once to let me know my bug report has been sent to the correct authority.

Looking up from my dim screen, I locate my destination in the distance: a brick two-story building at the end of the road. That building is a data center, and data centers are gold mines for us hunters. I can make out a few flickering screens in the distance; there's some hunters there already, so perhaps they found something worth catching. Unlike that blue beetle.

I glance down at the app again, pondering that name they gave it: BugCatcher. Well, that's original, isn't it? But don't let the stupid name fool you: this thing is the biggest multiplayer game on campus. Every day, every night and into the early morning, there will be people walking around staring at their phones to catch these little auto-generated bugs. I swear, people who didn't know about the app would think we were zombies.

The app finds real-world software bugs, and represents them as little insect and arachnid avatars on our phones. Each software bug is different, and so each avatar is different; the more critical the bug, the more dangerous its avatar becomes.

We hunters try to "invoke" these bugs by flinging inputs at them; only the correct inputs will trigger the bug and kill the avatar. Once triggered, we get to keep the little insect avatar in our collection and can show off what we collected to our friends. Plus, the app tells us what the bug did, and lets us report the bug to the proper organization so that they can fix it. Of course, the only way the app can know what the bug did is to actually invoke it, so once the bug is invoked, we can report it.

My roommate Jeshi and I are dedicated hunters, and normally he'd be out here with me, except that he's got some big physics final tomorrow that he's freaking out about. I mean, I've got the same final, but you don't see me all frantic. I hate physics, might as well accept that tomorrow is going to suck.

I keep walking down the street, sliding my phone back into my jeans pocket. That data center I'm heading toward tends to be a gold mine for bugs. Banks, office buildings, government buildings; all these places have loads of bugs that hunters like me can invoke and report. But data centers top them all due to the sheer concentration of software in the area. My school's data center is the perfect example: I regularly find several bugs a minute when I'm out there.

The bug I invoked last week is still my favorite: a vicious pink mantis-like thing I found at the campus credit union which, when invoked, caused something like $10,000 to disappear from a bank account. Poof. Vanished into thin air. Of course I reported it, and the bank restored the poor guy's money. But I still get to keep the avatar, and since it's fixed now, no one will ever see that exact avatar again. It's all mine.

That's the funny thing about this game: you don't have to report the bugs. There's tons of hunters that walk around invoking bugs and never reporting them. We call those guys "burners"; they just like to watch the world burn. Last week a burner made all our student records disappear, and the uni's tech support team didn't notice until Jeshi told them the next morning; they spent all night restoring the records from backups. Me, I always report the bugs I find. After all, we're causing things to break in the real world and the real world should know about it.

I'm almost to the data center when my phone starts to beep again. As I keep walking, the beeping gets louder until the constant whine bores into my ears from my pocket. I pull my phone out of my jeans and flick on the screen. The bug that greets me is something straight out of my worst nightmare.

It's a horrid cross between a tarantula and a scorpion and according to my app it's the size of a small house. Its fangs are dripping something (saliva maybe) and the six red eyes have deep dark pupils that are boring their way into my skull. For a brief second I consider closing the app and moving along, as this thing clearly hasn't been here long and I don't know if I can find the right inputs to invoke it. But I need it for my collection! No one in my building has any bug even remotely close to this one. Tentatively, I slide the input selection screen up and begin turning the dials.

The first several invocations, predictably, do not go well. The bug doesn't so much as blink as my panicked offensive goes unheeded. The tarantula-scorpion's mandibles clack and my terrified brain fills in the appropriate, awful sound. It is glaring at me, daring me to make a move, knowing that all my invocations so far have failed. I...I know it's not real, and yet I'm having to fight my own instincts, to keep my feet in place and not flee back to my dorm. It continues to gnash and swagger and glare, and my invocations are each no more effective than the last.

I figured playing this game would help me get over my fear of bugs. I'm no longer sure that this is a good plan.

On the fifteenth attempt, the monster's left side stumbles. I've found something! One of the inputs was correct, and now I've got a much bigger chance of completing a successful invocation. I spin the inputs again, hoping for a bigger effect, and by some miracle the colossus trips and falls to its knees (or whatever it has for knees). I'm so close to capturing this thing!

I spin the last two inputs to new values; the monster buckles but gets up again. No new effect. I spin several more times, until finally the bug stumbles backward and falls on its segmented tail. Now I'm close. I give the last input another spin and another and another, the spinner whirling so fast that I'm not sure how my fingers are keeping up. I'm running on instinct now, on hundreds of hours played and hundreds of bugs invoked. But nothing's happening. It's laughing at me, I can hear it, I need to make it stop. I will make it stop.

The bug stumbles, falls, goes cross-eyed, and finally melts into the virtual ground it had been standing on. That last input spin must have been right! I wasn't even conscious of my invocations, but I must have figured it out.

I caught the bug!

I pump my fist into the air, shout "Yes!" and scare the pants off a poor alley cat nearby who immediately careens into a trash can. BANG! I've been holding my breath this entire time, so I exhale, slowly, the trapped air whistling as it leaves my lungs. In the next instant, my phone is ringing, and a quick glance at it tells me that Jeshi is calling. I answer, and he informs me that our chemistry final has been moved up to tomorrow afternoon.

Dammit. I say thanks, hang up, and start the long walk back to my apartment. I enjoy chemistry, and I want to do well on that final, so it looks like I'm going to go study some more. The data center will have to wait.

As the last of the sunlight fades, I reach my apartment, open my books, and start reading. Jeshi, my roomate, has made us coffee. It'll be a long night, and we need to get started. At least I caught that bug!

Ethan

Just a few hundred feet from where the broken streetlamp towered in the darkness, another student was diligently reading his textbooks. Ethan had a philosophy final in the morning, and while all the other students in his class said it would be a simple thing to ace, he didn't want to take any chances. He was here to study, not party.

As the night engulfed the campus, he started to feel sweaty, tired, just not quite himself. He filled a small plastic glass with some orange juice and fingered his insulin pump to make sure it was still working. He felt the familiar hum, knew that it was doing its job and that his type-1 diabetes was under control, and returned to his books.

Just after midnight Ethan began to feel lightheaded. He could no longer concentrate, and ascribed his creeping tiredness to the immense amount of studying he'd been doing. The philosophy final tomorrow worried him now more than ever, and he couldn't quite place why.

He pushed his chair back from the desk and stood, tried to flick the overhead light's switch off but missed, then slowly tried again and succeeded. As his eyes adjusted, he groped his way toward the tiny bed lurking in the opposite corner of the room. In the darkness, the insulin pump continued its task, sensing that Ethan had high blood sugar and pumping more insulin into him. It had no way of knowing that its sensor was malfunctioning, and that Ethan's blood sugar levels were well within normal range.

Ethan flopped face-down onto his mattress and immediately fell into a deep, dreamless sleep. Two hours later he awoke, drenched in sweat and cold from the sudden realization that he knew what was happening, and it wasn't simple lethargy.

He sat up and reflexively checked the insulin pump's history on its tiny yellow screen, finding that he'd been given 20 units earlier that evening, 20 units that his body didn't need. He was overdosing. He carefully removed the pump and stumbled to his refrigerator, where he'd stashed an emergency glucagon shot for just this kind of situation.

Opening the fridge door and fumbling around on the shelf, his fingers finally brushed the small red case containing the one-use shot. He flipped open the case, picked up the syringe placed inside, injected it into his left thigh, placed the now-empty syringe back into the case and latched it closed before dialing 911 on his cell phone. As he tried to make coherent sentences, tried to tell the operator what was wrong, he haphazardly slid into the desk chair.

A few minutes later, as the sirens sounded in the distance, his rational brain cut through the insulin-induced fog, wondering what could have possibly happened that made his pump deliver way more insulin than he'd needed. He glared at the little silver box now resting on his desk; a glint of moonlight reflected off of the shiny casing. He'd need a new one, that much was clear, and he could get one as soon as tomorrow, but still...

What if it happened again?

As dawn approached, with the first rays of the sun climbing over the eastern horizon, on the other end of Jamestown Avenue a hunter proudly revealed the new, terrifying member of his impressive collection.

Special thanks to Scott Hanselman (@shanselman) for help on what an insulin overdose does to a type-1 diabetic.

Diary of a Death March: Terry's Story

June 2nd

It went through! After all the effort the three of us put into this deal, the company we have been trying to purchase for more than a year is finally ours. They have got a great name, a wonderful team, myriad projects, and satisfied customers. And now they are ours.

Song did an incredible job at the negotiations, especially near the end. He, Hannah, and I will now head up this company, and I am sure we are going to get the ball rolling just like it has been. We had been looking for a good opportunity to pave our own way, to create our own thing, and now we finally, finally got it. Top of the ladder, here we come!

A headshot of a middle-aged businessman with close-cropped blond/grey hair

June 3rd

Met the employees today. Of course, I already knew one of them, since he and I have been drinking buddies for years. Rodrigo is a good guy, a team player, so when he relayed to us that the previous ownership group was looking to sell, I knew we had to jump on it. An opportunity like this just does not come along very often, so when it does you have to seize it and never let go.

Here's to a new beginning! Now let's go kick ass and make money!

June 14th

Two weeks in, and it has been nothing but smooth sailing. The engineering teams are doing an incredible job pumping out products; in fact, they are almost too good at it. This is a great team we have got here, no doubt about it.

July 7th

Jamie filed for divorce today. It is... not exactly unexpected, but it is still... I dunno. Sad?

We have drifted further and further apart; there is no point in denying it. In the last few months we have barely spoken to each other. We have no children, so when it is all said and done there is nothing really binding us together.

Except... I love her. She's funny, she's radiant, she's smart. She's perfect. I can't help but to love her. I know I spend too much time at my job, but why can't she see that I am needed here, just like I was needed at our previous company? They will fail without me. Isn't it obvious?

This has been a long time coming. I don't want her to leave, I would much prefer to have her stay with me, but I doubt I can change her mind now. It is far too late for that.

August 15th

The contracts are drying up. I am not entirely sure when that happened, but today Rodrigo came to me and told me, no BS, that he needs more work. I am going to have to get new jobs lined up, so I have told Bianca to help find us new customers. She is a solid sales rep, so I am sure she will come through.

August 28th

My instincts never lie. Bianca's got a meeting set up with a new customer. We are quickly running out of billable projects, so we need a big win to keep the company in the black. It is what the company needs. I am sure we will get it, we just need to be patient.

September 4th

And, once again, my patience pays off. The customer Bianca got in touch with has hired us to produce this project scheduling app that Bianca says (and Rodrigo agrees) we will have no problem with. Now we have got work and everybody can get started right away. Bianca is still out looking for more customers just in case, but I got a good feeling about this one.

October 19th

Met with the lawyers today. I never knew a room could be so cold. I tried pleading with her, with my beloved Jamie, tried to make her see that I will change, that I want to change. I can spend less time at the company, more time with her, I promise, just after we get it up and running on its own. This time, for once, I really meant it.

Not that it mattered. She doesn't believe me. Hell, I'm not sure I believe me.

November 9th

The new project is proceeding right on schedule. We are going to blow the customers' minds! At least, that is what Rodrigo is telling me, and he has never let me down before.

December 10th

The divorce went final today. I went out drinking with Rodrigo and George to try to get out of this funk, and all that did was make me feel worse.

Why am I such an idiot?

December 17th

We had our first Christmas party today, and Song and Hannah wanted me to make a speech to galvanize our troops. Rodrigo still insists that we can make the deadline, but I felt that I needed to make it clear that we have all got to pull together and buckle down to get this project finished.

I just hope they heard me. We really need this win. I really need this win.

January 4th

So far, so good. Rodrigo's team has been pulling lots of overtime to get this project done, and it seems to be working. They are doing a great job, and their company thanks them for it.

January 27th

Almost there. Delivery is on the 4th, and Rodrigo keeps telling me that we will be good to go. And yet, I keep seeing his lead developer sleeping on the floor of his cube. I wonder what that is all about.

February 4th

Well, the delivery was today. Or, at least, it was supposed to be. Turns out that Rodrigo's team, despite all the overtime, has not finished the project, and the system isn't ready to ship. Bianca and I scrambled to get the customer to agree to a new date, and they did, so we will get a second chance at this.

Here's hoping that is all the chances we need. Come on, Engineering! What's taking you so long?

February 6th

We need some more bodies on the scheduler project, so I have reassigned Engineering Team 3 to help. It is what the company needs. Their manager, Francis, was part of the old guard here and just wasn't quite fitting in with the new order of things, so I have decided to let him go as well. My buddy George has stepped up to the plate and agreed to lead that team, a fact for which I am eternally grateful. Now we just need the developers to pull their weight.

February 11th

George has had a few days to really dig into this scheduler app, and he tells me that it is not looking good. He recommended pushing the delivery date another few months, but Bianca objected (quite rightly) that we have already failed to deliver once, so any further delay might just cause the customer to drop us altogether. We cannot afford that.

So, I need George's team to pull overtime to get this project done. They will not like it, but it needs to happen.

March 10th

Song is now on my back because the lead server admin, some chick named Kelly, quit yesterday. So now I gotta go find a new server admin, and they don't exactly grow on trees.

For now, Rodrigo's lead Steve has the most server experience, so the company needs him to fill the gap until I can find a new server admin. Hopefully that won't take too long.

March 31st

Delivery day tomorrow. Here's hoping it goes better than the first one. Rodrigo assured me it would while we were at the bar after work, and he has been nothing but consistent in his affirmations. I asked George what he thought, and he said they were closer than they had ever been.

We will be fine.

April 1st

Or maybe we won't.

Demo did not go well. The customer wasn't happy with some of the changes, and wanted a few more, so Bianca and I agreed. Gotta keep the customer happy.

Rodrigo and George are just as stunned as I am. How could they not like this project when we're closer than we have ever been to finishing it? They seem to think that the root problem is Rodrigo's lead developer, Steve. Rodrigo said he would handle it tomorrow.

I hope Steve has said his goodbyes.

April 16th

It was all going so well. Now, the scheduler project is way behind (thanks to Steve's incompetence), and I am not at all sure we can save it in time.

No! I can't think like that. We have to complete it. It is the biggest job we have had since the acquisition, it cannot fail!

On the bright side, all this commotion at work means today was the first day I have not had time to think about how much I miss Jamie. I don't know how to feel about that.

May 13th

Apparently there is something going on with Engineering Team 2; several of the interns are refusing to work late. That cannot be allowed to stand have that, the company needs every man on deck for this project. Our very survival is at stake!

I'm going to have to find whoever started this and give them their just rewards. After the project, anyway.

May 26th

Tomorrow is our last chance. The new lead, Marisol, says we're not going to make it, but Rodrigo and George have seen the product and they say it's good enough. I'm sure my buddies have a handle on this.

If not, well, I am going to need a lot more drinks.

May 27th

Shit.

The customer was fed up with us. Engineering didn't come through, despite all the promises made. They dropped us, and now we're stuck with no work and a scheduler app that nobody wants.

Somebody's going to pay for this. It is what the company needs.

May 28th

Had a heated argument with Team 2 lead Neil today. He got all pissy, saying we had not given him enough time to get his interns up to speed on the new project. Which is crap, and I told him as much. Had he put as much effort into this as we have, it would not have been a problem.

I also informed him that, while his own job is safe, we will be disbanding Team 2 and reintegrating him with Team 1. He lost his cool, something I had not seen before and, quite frankly, was rather unbecoming of him. He yelled about "broken promises" and other crap, and at that point I stopped listening.

As far as I am concerned, he, Marisol, and Steve caused this project to spiral out of control. Since Steve's gone and Marisol will be shortly, he should be pretty damn glad to still have a job.

May 29th

I fired the interns today; Neil refused to do it. I am not sure how much longer I will let his insubordination stand, but for now we are understaffed and the company needs him around. When the company no longer needs him, well...

May 30th

And now we begin the long process of finding a new team, a real team, one that will pull their weight when asked and can do the job they signed up for. I've already got several candidates coming in; replacements for Steve and Kelly, and a possible new manager. All we need is a team we can gel with; keeping the existing team employed might have been a bad idea after all.

It has been a rough few months. Lots of turmoil; Song is unhappy about the whole thing and I do not blame him. But Rodrigo, George, and I will get us back on our feet.

As long as we have a solid engineering team supporting us. We need them to be ready for anything, ready for a challenge, ready to get down and dirty. We need them to pull their weight.

It is what the company needs.

Diary of a Death March: Marisol's Story

December 1st

It's a wrap! We got that custom video server out the door on time and on budget, which makes Francis happy, which makes me happy. Just another success for Engineering Team 3! Sanita, Emily, Salvador, Jack: you guys rock!

On to the next project!

December 9th

And another project flies out the door! We've been killing it lately, not that I expected anything different. After all, we're software developers, and our company needs something done, so we get it done. That's what they expect so that's what we do. That's what we've always done: take care of each other.

A headshot of

This company has been so good to me. They let me take off extra time when Mamá passed. They gave me extra vacation last year so Enrique and I could have a honeymoon (even if it was just to a hotel for a few days). They've been good to me for ten years now, and I couldn't imagine working anywhere else.

Of course, it helps that I've got a team of geniuses, and that I've got Francis backing me. He's easily the best manager I've ever had; knows his shit, and blocks all the dumb political crap so we devs don't have to deal with it. He's the best.

Not that it's all been easy. Nick still doesn't really open up to me. Sure, we can talk about the weather and how he's doing with the football squad, but nothing really important. I mean, I know I'm not his "real" mom, but I love him all the same, and anyway that lady is psycho and won't be around for a long time. I'm sure he'll come around.

December 20th

Emily told me about the Christmas party, which I had to miss to make Nick's football game. She seemed pretty upset about it, what with the whole "not putting our needs before the team's" thing that Terry said. She took it as a threat, but, come on, that's just common sense. This company has taken care of me and my family for ten years, and hers for three, she could be at least a little grateful. If they need us to pull extra weight for a while, then we buckle down and do it, no complaints.

Anyway, it's temporary. When it's over, we'll all be better off and everything will go back to normal.

January 24th

Francis told me about Team 1's overtime, and Steve isn't taking it well. I mean, I know it sucks, but you've been here, what, six years? You know it's just temporary, so why freak out about it? What's gotten into everyone around here?

January 28th

So now Jim smashed his phone against the wall. What the hell, people? Where did your professionalism fly off to, Tahiti? Jim's one of the few who's been here longer than I have, he should know better than to bite the hand that feeds him like that. They've been good to you, I know they have.

Ugh. Men.

Just do your job, people. That's all management wants, all they've ever wanted. Do your job, and you'll be taken care of.

February 1st

Something amazing happened today. Nick actually asked me for advice! He's been invited to a Sadie Hawkins dance by one of the cheerleaders, and he wants to go but doesn't know what to say or how to act. I believe his exact words were "how do I even talk to her?"

I told him to just talk. Don't worry about impressing her; you've clearly done that already given that she asked you to the dance. Don't leave her alone, take her with you everywhere you go; all girls want to feel appreciated. Just be yourself, see if you can find common things you enjoy, and you'll have a good time.

But he asked me for advice! Maybe we're finally getting somewhere.

February 6th

Man plans, God laughs. Thanks, big guy.

Francis was fired today. I'm not sure why. Now we've got a new manager coming in, some guy named George, who's apparently friends with one of the new executives that arrived last summer. Hopefully he knows what he's doing.

Oh, and remember that project that Steve was freaking out about? Yeah, we're on that project too now. Díos mío, we've got a lot of work coming.

But, it's what the company needs from us. We take care of this, they'll take care of us, as it has always been.

February 11th

The code for this scheduler project is a mess. No tests (at least, no working ones), no real standards being followed, no true architecture. Just an awful set of code.

Time to make it right.

March 23rd

I haven't been writing much; I've been staying late trying to get the scheduler project's code in order, but it's not coming along well. We have a delivery deadline in a week, and Team 3 and I are not going to be able to get it all done before them. I've let George know, and he says he's informed Terry and Bianca.

Emily mentioned to me that she's thinking about finding another job. I understand the impulse, to be sure, but this is not the right time. We need her, the company needs her, and yes I know her husband is currently jobless, but once this project is delivered we'll be rewarded. The last time we had a project from hell like this one, the company gave us half days for a week and bonus pay. I'm sure they'll do something similar this time.

I just can't imagine leaving. I've got a good thing going here, despite all the overtime we've been pulling. Why risk that for some "better" job out there that might not even exist?

April 1st

Well, the delivery didn't go well, not that I was expected anything different. George informed me that we have a new delivery date at the end of May, and we're gonna pull out all the stops to meet that date.

I don't like George very much. I can't quite put my finger on it, but I don't think he's ever managed a software project before. He keeps insisting that we don't have time for tests, that we must get the code in a deliverable state. I understand what he's driving at, but a project with no tests is a project doomed to fail.

But, this is what the company needs. I'll get it done. We will get it done.

April 2nd

Steve continues to be a dumbass. He walked out today, dragging his little mattress, crying that he's "had enough" and "Jim snapped because of this shit." No, pendejo, Jim snapped because he forgot who pays his bills. Just do your job.

What's worse, now he's left what remains of his team, and mine, with this scheduler project that he should've been helping finish. Selfish chion. Now we have to make up for his mistakes.

April 23rd

More overtime. Now management has had to pull in Team 2, which means we have a bunch of interns working on the project. Apparently they believe more hands means more work getting done. But really, when has that ever worked?

We're getting close to the end, though. I can see the finish line, and we're almost there.

May 2nd

Ever since the Sadie Hawkins dance back in February, Nick's been raving about the girl he went with, Yasmine. Apparently she's into all the things he's into: football, Mario Kart, all those rap musicians he listens to. They're going on a date (to the movies and the local arcade) tomorrow, and for the first time Enrique feels like they can go alone, provided they're back no later than 9:00. I had to push Enrique a little, but Nick has started opening up to me, and I don't want to lose that. I want to be there for Nick.

May 20th

We're almost at the end. Salvador, Jack, Emily, Sanita, and what remains of Steve's team have really pulled together to try to make this project work.

But it isn't enough. George insists we'll be done, but I keep telling him that no, we won't. We aren't going to make the deadline. Bianca keeps adding new requirements, even after I told her we were already overstretched. Bianca didn't take it well, either, saying "it's what the customer wants, and anyway it can't be that hard." Listen here, tonta, since when did you become an expert on software development?

I even tried to tell the CTO, Terry, but he never responded to my email. This isn't going to go well, but nobody's listening to me. They'll see, after the delivery date, they'll see that I was right, and then they'll have to listen to me more often.

May 26th

Deadline is tomorrow, and Enrique suggested that I do something for the teams to "perk them up" a little. So I brought my little griddle and plates and syrup and made pancakes. The interns over on Team 2 were especially thankful; after all, interns don't get paid much, if at all, and who will turn down free food?

It felt good, being useful. I know management will see what I am doing for this company.

May 27th

Well, as I predicted, the demo was today and it didn't go well. Apparently the customer dropped us entirely; at least, that's the rumor I've been hearing.

Oh well. At least the overtime is over with. On to the next project!

May 30th

I was fired yesterday.

Fired.

I can't even say the word out loud. George called me into his office and said that Terry had made the decision to let me go. The bastard couldn't even tell me he did it himself. I know it was him, Terry doesn't even know my face!

Didn't they see what I did? I took care of them! I took over that stupid project after Steve abandoned us and I made it better! I told them we wouldn't be done in for the last demo, I told them we needed more time to build the new requirements. I did my job, above and beyond what I needed to, because that what you do for the company that takes care of you! You take care of each other!

Well, they sure "took care" of me.

Is this my reward for working hard? I was loyal to this company for ten years. I had other offers, I could have moved anywhere, but noooooo, like a pendeja I stuck around, knowing that my manager would take care of me and my family as they always had. I was LOYAL to them! When were they loyal to me?!

What does loyalty even mean anymore?

The Interrogation: A Short Story

The door flew open and harsh artificial light flooded the tiny room. Bob squinted, attempting to defend himself from the accursed light and struggling to make out who, or what, had assaulted his senses. Two amorphous masses lingered in the brightly-lit threshold for a second, then entered the room and locked the door behind them.

Fear and uncertainty gripped Bob. As the shapes drew closer, he realized that he was not going to enjoy what was coming. He attempted to stand up, to meet the black shapes head-on, but the closer of the two forms shoved him violently back into his chair.

Now Bob got a good look at the first intruder. The dark blob materialized into a tall, bulky man, his thick-rim glasses clinging to his head like moss to a cliffside. His angry grey eyes bored holes into the timid office worker's skull. Stomping around the desk toward Bob, he spoke, his voice imbued with the bass of an rock slide and the pride of a lion.

"What is the problem?"

Bob didn't understand. What was this idiot going on about? "I don't know what you are talking..."

The motion was so quick that Bob didn't even have time to comprehend what was about to happen. One moment, the bulky man had been standing completely still, and the next Bob's left cheek was stinging, red from the vicious slap that had been applied. The office worker was stunned. Had the goon even moved?

The man spoke again. "What is the problem?"

"Ow! What the hell was that for? I swear, I don't know what's going on!"

The second shape that had entered the room now calmly slid forward, materializing into a rail-thin woman with shoulder-length red hair flecked with blond streaks. She calmly strode to the opposite side of the desk from the brute and sat primly on the corner of it, right hand smoothing out the creases of her skirt as she did so, her left arm clutching a yellow notepad to her chest. Bob had to turn his chair in order to see her, but she did not turn toward him, her hair obscuring her face.

Then, after what seemed like ages, she spoke, her voice a melodious whisper: "Look, Bob, you're a nice guy, but we can't do our job without you telling us what exactly the problem is, okay? So just help us out, and we can let you go."

"Let me go? This is MY office!"

The redhead slowly nodded, then turned to look at the person whose office they had invaded. Her rich green eyes, too dark and vivid to be natural, found their purchase and burned themselves into Bob's memory. "Oh, we know. And yet, we can't let you leave, not until you give us what we want. We're on a schedule here, Bob, and you're holding us up. We need you to tell us what the problem is. Otherwise we can't do our jobs."

Bob was incensed. "Clearly you guys don't listen well. I already told you: I have no idea what you are talking about."

The woman's expression hardened, her silvery voice adopting a slight but noticeable edge. "My partner has already asked you once, and quite politely. Please don't make him repeat himself."

Bob stole a glance at the man, who was now towering over him from across the desk, and desperately racked his mind for something, anything, he could tell these two goons to make them leave him alone. He came up blank. "What, about the problem? What problem?"

The man stepped forward, as if to strike Bob again, but the woman held up her hand and he stopped. She sighed, and gracefully stood next to the corner of the desk. Even though when standing she was several inches shorter than he, at the moment, while sitting in his chair, Bob felt dwarfed by her presence.

"The problem," the woman said calmly. "Specifically, your problem. The one you filed this morning at 8:02 AM; that is the entire reason we brought you here."

Her eerie eyes met Bob's quizzical gaze. "I think you know what we mean."

With a flash of insight, Bob understood what these two were after. "Oh.... The problem."

The woman's expression softened, and she leaned ever so slightly toward him. "Yes. That's all we need. You haven't given us enough information to do our jobs, Bob. Our boss has marked your problem as our top priority, so we need to get it done. Once we have the data we require, we will let you get back to work."

"I sent you the report. Didn't you read it?"

She scoffed. "Oh, we read it all right. We read it thoroughly. And yet we still have... questions. Can you help us answer them? Or do I need Henry here to persuade you some more?"

Bob regarded Henry, who smiled menacingly back at him. He then turned back to the redhead, and nodded.

"Good. Thank you, Bob. Now we can begin."

The woman turned, walked back around the desk to a chair sitting against the wall, and gently placed it directly across the desk from Bob. She took her seat, and Henry moved to stand behind her, his arms folded across his massive chest.

"We need you to be descriptive; give us as much detail as you can remember," the woman instructed, laying her notepad on the solid wood desktop. "This will help us locate the problem. Otherwise, we'll have to come back, and you don't want that, do you?"

Bob shook his head.

"Good. So let's get started."

She gracefully took a pen from Bob's pencil holder, and started writing.

"First off: what precisely do you mean when you say in your report that 'the app doesn't work?'"

...

When he had finished telling them everything he knew, the woman got up from her chair. "Thank you for your cooperation. Now we can do our job, and we will let you get back to doing yours."

She returned the chair to its original place and motioned for Henry to lead the way out. He obliged, striding over the threshold, and she followed closely.

"Wait!" called Bob, his curiosity temporarily overriding his fear. "Who are you?"

The redhead stopped and spoke over her shoulder, her dazzling hair blending with the harsh light outside the office, red and gold and white intertwining to form a mesmerizing kaleidoscope of color.

"We are fixers, Bob. And we take our job very seriously. But we can't fix problems without first understanding what the problem is. That's why we needed you. Perhaps next time, you can be a little more descriptive in your bug reports."

With that, she glided into the hallway and shut the door behind her.