by YZ Chin
“What kind of nondairy milk do you have?” I asked.
The barista wore a slouchy beanie, paired with an apron that wasn’t tied at his waist. The apron billowed and sagged as he leaned down to perch his elbows on the counter, looked me up and down, and said: “Cambodian breast milk.”
The door jingled on my wordless way out. If Marlin were still living with me, I would have said something. I would have said something because then when I recounted the episode to him I would have come off cool. It had been a ritual almost, one that I relished. We’d trade reports of microaggressions, laughing at the more ridiculous of them, even though they also hurt a little, of course.
“It’s us against the world,” I’d tell him.
“I’ve got your back,” he’d say, pinching at the fat below the hooks of my bra.
EMPTY BROOKLYN BREWERY BOTTLES AND SOLO CUPS LITTERED OUR OFFICE space. There was an uncapped Hendrick’s on my desk, my keyboard pushed askew to make room. I picked up the gin bottle by its neck and wagged it. The splashing of liquid answered me.
They must have stayed late on Friday, either for someone’s birthday or for a code sprint. I looked around for pizza boxes and found them on Lucas’s desk. Code sprint.
I didn’t want the gin on my desk, but I couldn’t just dump it on someone else’s instead. I took it, sloshing, as I wandered around the bullpen searching for the cap. Then I thought: AInstein has its own office. I could leave the gin there, close the door, and not have to smell alcohol while I worked anymore.
AInstein’s head gleamed when I turned on the lights in Bond. It was so quiet I could hear the machines hum. I set the gin down on the floor by AInstein and woke it up.
“Hello! The time is: eight thirty-eight a.m.”
“Hello.”
“Would you like to hear a joke?”
“What’s your favorite joke?” I asked, knowing full well that it was nowhere near sophisticated enough to have an opinion.
It whirred its head as it always did, and then it asked: “What was Einstein’s rapper name?”
“What?”
In response, AInstein made a sound between a murmur and a cough. What was going on? Was it broken, all because I’d asked it for something resembling a take? Had I unleashed the beginnings of an AI awakening?
Then I caught myself. I knew what “artificial intelligence” powered AInstein—nothing more than the ingestion of large data sets and subsequent pattern identification. There was no way AInstein was gaining sentience.
“Please repeat,” I instructed.
Again, AInstein emitted a short, confusing sound. It started like a hesitating “Mmm” which then quickly segued into a cough, followed by what sounded like the number 2. These sounds were definitely not expected. I went to AInstein’s control laptop to investigate. Could it be a memory corruption?
The answer blinked into existence on the screen, and I burst out laughing. Because AInstein’s content was trawled from online forums, many of its jokes had improperly formatted text, typos, and the like. The joke in question, in its original typed form, went like this:
Q: WHAT WAS EINSTEIN’S RAPPER NAME?
A: mc2.
It was obvious, to those in the know, that the punch line should be pronounced “em cee squared,” from the formula E=MC2. But AInstein didn’t know this. Its text-to-speech voice generator did its best with nonsense words, of course, but in this case the joke was totally ruined. In fact, even if the text had been properly formatted, I wondered how the text-to-speech generator would fare with superscript. I tore off a piece of paper from a pad nearby and started jotting down notes. We would have to add a filter to catch words the text-to-speech generator couldn’t handle. I made a mental note to bring it up with Lucas for extra green card points. Smiling, I folded my notes and put it in my pocket. It was so like AInstein to name something defective as its favorite.
Marlin’s favorite joke, before he changed, had of course been one related to programming.
KNOCK, KNOCK.
Who’s there?
RACE CONDITION WHO?
Race condition!
The joke is funny because it demonstrates the symptom of a race condition. You see, a race condition is when events occur out of expected order, so the punch line works by switching the order of the answer (“Race condition!”) and subsequent follow-up (“Race condition who?”). But of course explanations ruin a joke. Marlin liked it, he said, for its potential double meaning, as in the color of his skin shouldn’t be the first thing people notice about him, but often that ends up being the case.
“What I love about New York is that it’s so diverse, I don’t stand out as much,” he’d said. “Also no one knows what a Chindian is.”
I wondered what his new favorite joke might be. I stood there trying to come up with jokes about ghosts until I felt tears coming. I pictured Marlin laughing, his eyes crinkled, and it hurt to imagine him so happy without me. I could only hope that my seven-word letter would move him enough to change the situation between us.
BACK AT MY DESK, I WATCHED MY COWORKERS SLOWLY TRICKLE IN TO work. The stench of alcohol was thankfully lesser, though it still lingered. I checked the status of the canary test suite that had run over the weekend. As you might have guessed, canary tests are named after the birds in coal mines. Like those unfortunate creatures, canary tests are meant to exist in the background, out of sight and mind, when everything is going well. But when something goes wrong (new code committed that breaks existing product features, for example), they’re supposed to act as an early alert system that can help us discover and revert bugs quickly.
This morning, I saw that our canary tests had caught a failure. I felt a sour dread rising. When I inspected the failure, sure enough—AInstein’s ability to de-duplicate jokes had been compromised, the exact error I’d caught last week, caused by Josh’s code.
I checked the bug ticket I’d opened and assigned to Josh. I’d spent time carefully writing up that ticket, laying out the test cases I’d written to prove that Josh’s code was at fault. Now I saw that he’d taken himself off the ticket late Friday night. No explanation. “Unassigned,” the ticket taunted.
I asked Lucas if I could have five minutes of his time.
“Sure, I can huddle real quick,” he replied.
I followed him into our tiniest conference room, a two-person space named Ant-Man.
“So what’s up?” he asked.
I took a breath. I needed to keep my story strictly linear; it was the best way to get through to him.
“I found a bug in Josh’s code last week, before it was merged to master. I opened a ticket and assigned it to him, but then this morning I saw that canaries are failing, which means he did push his bug to master. He also unassigned himself from the ticket. Even though he obviously knew about the bug.”
I stopped. I wanted to propose a bug-fix process that would bind the engineers to an SLA—for example, all reported bugs must be triaged and sized within two weeks, or one week if we suspected a major issue. But I thought I’d first see what Lucas would say, to gauge his openness to my ideas.
“Have you talked to him about this?”
“No,” I answered, startled.
“Maybe the bug fix is on his backlog?” Lucas twirled a pen in one hand. “Typically, I trust my guys to manage their own work. I’m not a micromanagey kind of leader.”
“But it’s a bug. It shouldn’t be out in production if it was previously caught.”
“Okay, can you send me the bug ticket? I’ll take a look.” He missed catching the pen, and it fell, clattering onto the tiny round table between us.
“Sure,” I said.
He stood up. I stood up too.
I stayed at my desk only long enough to forward Lucas the bug ticket. Then I left the building for a walk. Nine forty was a little early for lunch, but who would care, given the lack of micromanageyness? I could have lunch before ten if I wanted to.
I took a deep breath. Taking everyth
ing into account, Lucas was really not that bad of a manager, I reminded myself, especially given the wider general problem in tech. A good engineer had low correlation with a good manager; when tech companies tried to reward high performers by promoting them to leadership, it often backfired. More often than not, the initial power rush wore off, and the engineer-managers quickly found that they disliked meetings, the lack of time to code, and—shudder—having to be diplomatic.
I walked by an American Chinese takeout spot, the smell of frying oil rising as if out of the pavement itself. Inside, a man wearing a hairnet scowled when I asked if he would sell me just a single fortune cookie. He didn’t even bother saying no before he turned away, lifting an arm high and flapping it tiredly.
We used to insist on sharing fortunes, Marlin and I. We’d inspect our two vegan fortune cookies from Keep Calm and Curry On, and we’d pick the cookie that looked less perfect. Maybe it would have a chip along an edge, or maybe its dent was not quite in the middle, making it look lopsided. We’d unwrap the “Chinese” cookie and read its faux-oriental wisdom out loud, nodding sagely and solemnly as we acknowledged our entwined fortunes. Sometimes the little slips of paper contained not predictions but directives, like “Trust your intuition” or “Smile. Tomorrow is another day.”
The other cookie we’d throw away, whatever was folded over in its core unacknowledged.
Barred from buying a single fortune cookie, I left the American Chinese spot and got an $18 prime rib sandwich instead. I’d heard so much about this sandwich, beloved by many AInstein engineers. I wanted to see what the fuss was about. Or maybe I wanted to imagine what it was like to be them.
While I waited for my order, I read an article online that said Kobe beef tastes wonderful because of the treatment Kobe cows receive while they are being raised for their meat. Men massage the animals daily, working the muscle and fat, marbling them. In contrast, American factory beef is subpar because of the inhumane caging, crowding, and general nastiness of the cows’ environment. Every day they see their fellows marched off single-file and hear their death lows ring out. The strain builds up in their bodies, and when a chunk arrives sliced on your plate, all that they have suffered manifests in the meat, making it tough and chewy. The texture of distress.
Back in the office, I tried to really absorb it, the stress in my sandwich. I ate to feel how good it was to be so bad. I wanted the state of my body to match the state of my mind.
BY THE WAY, SORRY I DIDN’T RESPOND TO THE QUESTION IN YOUR LAST email right away. Thursday works for me. I’ll wear the same sweater from my picture in the app, so it’ll be easier for you to spot me.
SOMETIME IN THE AFTERNOON, I CHECKED MY NOTIFICATIONS AND SAW that the bug ticket I’d brought up with Lucas was now closed, marked as “Fixed.” I looked at Josh in amazement, but he had his giant headphones on, oblivious to the world. Had it actually worked out the way I’d hoped? Had Lucas sat Josh down, talked him through the importance of prioritizing bug fixes, convinced him that he and I were on the same team, working toward a common goal? I smiled. I was right to have cut Lucas some mental slack earlier.
Just to be sure the bug had truly been fixed, I ran the canary test suite again. When it finished with green checks across the board, I felt almost energized, like I’d not been sleeping terribly for a week. Thanks to me, our product was now just that little bit better. I was contributing. Making things better.
Maybe an olive branch was due. I took a screenshot of the canary results and drew a red circle around the results: “Build passing.” I pasted it in our chat application and tagged Josh by name, thanking him for his “quick turnaround on a bug fix.”
Suddenly the bullpen resounded with explosive laughter. I surveyed the space, confused. No one was meeting my eye. It took me too long before I understood I should be reading the responses to my chat message.
“Who’s gonna tell the tester?” read the latest text in our group chat. There were already a dozen more messages above it. I watched as they kept on piling up, too weary to read.
“Hey,” Ben whispered. He jabbed at his screen. I took his cue and looked at mine. He’d direct messaged me a GitHub link. I stared at the URL, expecting an explanation or a roundabout apology. But nothing else came. I clicked the link.
The first thing I registered was a gif of Bumblebee from Transformers, switching back and forth between his car and robot forms. The laughter around me had died down. In its place, the whir of a computer fan, a rhyming union protest down on street level.
“The Beetle,” I read on my screen, “detects when your tests are being run, and makes them pass.” Farther down the page was a list of “Test suites defeated” by the Beetle.
Of course, I thought. Rather than actually doing the work to fix the bug I’d reported, Josh had embedded code that falsified tests passing. Where there should be failures reported, the Beetle inserted itself and brute-forced the outcome as success. A defeat device. All of my work circumvented for a laugh, my entire raison d’être at the company called into question. I sat motionless until Lucas pulled me into our second “quick huddle” of the day. This time we didn’t even try to find a room. This time we just stood on different steps in the stairwell.
“Look,” he said. “I know those guys can be a pain sometimes.”
“Thank you,” I said. I wondered why he and I were having this chat. Was anyone else getting the huddle treatment?
“How about we expand your scope of responsibilities a bit, shift your focus for the short term?”
I blinked rapidly, wary of what was being offered. Previously, some other ways my scope of duties had been expanded at AInstein included soliciting meeting agenda items and taking notes. What was on offer now? Making coffee?
“I want you to beta-test AInstein,” Lucas continued.
“I’m already testing it,” I said, not comprehending.
“No, I mean not as an analyst but as a user. You’re going to use AInstein like a customer would. Consider it our start to prioritizing UX.”
Immediately I could tell it would be a delicate task. Whatever feedback I had from testing AInstein, I would have to present to the engineers. It would require treading carefully. But Lucas meant well, I could see. I nodded.
“Great. And don’t worry,” he said, opening the disabled fire alarm door. “I already told the individual responsible that his behavior is unproductive.”
“Unproductive?”
“Yeah, like not contributing to increasing the company’s value.”
“I see.” I blinked more.
“Okay, keep up the good work.” He smiled kindly at me, then walked away.
After
Day Six (Monday)
That night, I had takeout fried chicken for dinner. Tendons trapped between my teeth, I thought again about that gif of Bumblebee endlessly transforming. Marlin and I had both watched the cartoon version of Transformers as kids, long before Michael Bay got involved. If only we had the flexibility of alien robots from space. But for us, transformation is unidirectional. Once we change, we can never go back to exactly how we were before.
My laptop pinged. Katie had forwarded me an article from a tabloid’s website. I clicked on the link. It was a profile of a woman who was about to marry a spirit. A jolt ran through me. I stopped chewing. This woman, a wholesome-looking blonde, was going to pull out all the stops: wedding ceremony, reception, honeymoon, everything. The resort where her ghost fiancé had proposed offered to host her wedding gratis. Her family, she said, was supportive.
I read the headline again: “Woman Who Slept with Dozen Ghosts Will Wed Spirit.” The tone of the article was clearly derisive, whoever was calling themself a journalist playing it up for sensationalism. My eyes squeezed shut against a pricking that came from within, eyelids trembling to contain the sting. I laid my cheek down on my keyboard. Under my face, individual keys moved, some relenting to my weight, others resisting and struggling stubbornly against my skin. I jumped when an ad started au
toplaying.
Was it not immensely tragic, to have one’s greatest sorrow be laughing stock for other people? What sawed me to the bone, I now watched filed under Zany and classified as clickbait for everyone else, racking up cry-laughing emojis. Somewhere there was a mom who had lost a child to Tide Pod ingestion, who could no longer turn on a radio or TV for fear of hearing the easy jokes, the laugh tracks. The light of her life reduced to a meme.
The woman in the article said she’d first had sex with her fiancé on a plane. I thought back to that interminable flight after the funeral, when I’d held Marlin’s hand as long as I could. No, I didn’t think he was banging a spirit then. But I do wonder what a spirit might have whispered into my husband’s ear to turn him against me, all that time his hand was lying in mine.
My fingers shook when I scrolled back up to the picture of the ghost bride. They shook all the time now. There was a name for it: essential tremors. What a name for a condition, right? Jitters that were basic and necessary. The shaking was a physical reminder that even as I saw myself as stuck and static, I was really changing or being changed, ceaselessly, perhaps taken further and further away from someone who loves Marlin, and who was loved by him.
With some difficulty I typed my message to Katie: Why did you send me this???
“I’M SORRY,” KATIE SAID. “I JUST THOUGHT THE ARTICLE WOULD SHOW you that you aren’t alone. There are other people like Marlin, and it’s not your fault. I didn’t mean to upset you.”
We were at Stone Street Tavern, perched on opposite sides of a long picnic table. There were no stars when I looked up at the bruised-blue sky, but the moon shone bright. I sipped my whiskey and winced. I wasn’t a drinker, never had been, but Katie said that I “needed it.”
“Hey, I said I’m sorry.” She put her hand on mine.
“But you laughed, didn’t you? When you read the article?”