Crap, there’s probably an Android API to reject calls! Why didn’t I prepare for this? I search and end up with a list of Stack Overflow questions and answers even as the phone keeps ringing. Damn. I’m hoping for a simple one liner, but none of them are, and to be honest, Java makes my eyes want to bleed. After an eternity, the phone stops ringing. I keep searching, because it would be awesome to dismiss the notification of the phone call. I glance at the receptionist’s email. No reply yet.
Finally, I find what I’m looking for, a snippet of Java to allow me to dismiss notifications I have permission to access. I check his Android version, compile the code, and download it to his phone, where the backdoor executes it. The odds are good it worked, although I can’t be sure without finding and running yet more code, which just isn’t worth the effort.
I wish I could get up and pace. I can’t stand without hunching over, and the van rocks back and forth if I move around, so instead I settle for closing my eyes and counting. I’m up to 697 when my computer beeps to indicate the doctor received an email. I open my eyes. It’s spam. I go back to counting. At 770 it beeps again. A text from his wife. The doctor is suddenly popular. After losing track of my count several times, I’m up to 852 when I hear the third beep. The subject line says “Erik Copley”.
I snap my fingers and return to work, copying the email contents onto my computer, deleting the email from the doctor’s phone, and clearing his notifications again. I hit Enter, realizing too late I accidentally cleared the notification for the text message from his wife. Whoops. Oh well, the worst that will happen is that he’s puzzled. Finally I delete the email from the clerk’s sent archive. Anything else? Not that I can remember. I reset the doctor’s account to non-debug status, and shut down all my connections.
Armed with the ID, I’m ready for part two.
Wirelessly reprogramming Erik’s pacemaker requires a 175 kHz signal or 402 to 405 MHz signal. I need a transceiver capable of those frequencies. Fortunately, the office building where Erik works uses a mesh network, and the mesh boxes use software-defined radios to implement their transceivers. That’s a fancy way of saying they can transmit and receive on a wide range of frequencies, including 402 MHz.
I’ve already researched Erik’s workplace, so I spend the next three hours finalizing a piece of software and data package, interspersed with eating protein bars, drinking coffee, having a chocolate bar, using the bucket again, and shaking out my arm, which grows numb from hours of non-stop work.
When I’m done, I make a call through my computer, a simple dial-out through an anonymous Skype account, passing through a service to spoof my caller ID. Someone picks up, although I can barely make out the voice on the other end through the garbled connection. I glance at the screen to find I’m routing through twelve onion network nodes. Too much latency. I dial it back to four nodes.
“Lois Thatcher, calling for Chris.” I’ve called the building management’s main office. I happen to know Chris Robson, their onsite IT administrator, has left work early, according to his current Tomo location.
“Sorry, Chris is gone. This is Margaret. Can I take a message?”
“Damn. He and I played phone tag all day. You have a new tenant coming in on Monday, on the fourth floor. He needs me to reconfigure the network.” This I found out from a quick web search.
“You’re with Tucson Telecom?”
“Yes, that’s right,” I say. Sucker.
“Oh, Chris will be sorry he missed you.”
“Well, maybe you can help.”
“I’m the office manager.” She laughs. “I don’t know a thing about computers!”
“Oh, it’s pretty easy. Is there a white box, high up on one of the walls, with a green light on the front?”
“Yes, I see it. It has a couple of stubby antennae sticking out of it.”
“That’s it!” I say. “I need you to press and hold the power button.”
“Oh. It’s very high up.”
“Maybe you can stand on a chair?”
“I’ll try. Hold on.”
I hear the sound of a headset being placed on the table. A minute passes.
“No, I’m sorry, I can’t reach it. Maybe you can wait for Chris on Monday?”
“Chris really wants this done before the new tenant moves in. Is there a table you can stand on?”
“I really don’t think—”
“I’m sure you can, Margaret. Climb onto the table, look for the big button, there’s only one. Press it in, and hold it for six seconds. You could bring the chair over there with you, and pull it up onto the table if you need to.”
There’s another thump of the handset being set down. I feel badly for poor Margaret, I really do, but I’m dying to see her face and what’s going on. I should have gotten access to their security cameras. I hear furniture being dragged around in the background.
A few more moments pass, and then I hear a distant cry of “I did it!”
I thank Margaret and disconnect the call.
The mesh node, thanks to Margaret’s help, temporarily resets to its default configuration and password. I connect to the node from the nearest phone running Tomo, and grant myself administrative access. The rest of the mesh network reincorporates the known MAC address into the greater network.
From there, it’s simple. A software-driven radio preconfigured for the correct frequency, a payload already prepared with Erik’s pacemaker ID.
I’m about to upload the module to the network node when I hesitate, overcome by a familiar gut-wrenching feeling. I’m reaching out through the Internet to kill someone thousands of miles away. My finger might as well be connected to a switch on the back of his skull marked “kill.” It’s absolutely irrevocable, totally fatal. The ultimate action against another human.
Who am I to do this? Someone else should make this decision, someone with perfect judgement, who could be trusted to do the right thing from among all the choices. But there’s only me, avenging hell cop or angel of mercy, with all of my flaws and hangups. Am I really killing Erik, or am I trying to reach into my own past to kill my husband?
Sometimes I don’t know.
There is nobody else, so I do what needs doing. I hit Enter, my script runs and uploads the module to the network node I own, and within seconds the file distributes to the rest of the mesh network.
Every transceiver in the building broadcasts a handshake, trying to reach to Erik’s pacemaker. Soon enough a node on the third floor closest to Erik’s office connects with the pacemaker. I freeze, set down my coffee cup, and press my hand to the desk.
It only takes a few seconds. The new instructions override the pacemaker’s default behavior. Instead of tiny pulses at the natural rhythm of the heart, the pacemaker sends the strongest electrical charges it can generate, isolated to one of the three leads to desynchronize his heart. It’ll drain the rest of the ten-year battery in the next few minutes.
I wait, keeping an eye on his accelerometer data. I see movement consistent with a fall and imagine him collapsing at his desk. I start a timer and wait another two minutes, until it’s impossible for him to still be alive.
There’s a huge gaping pit in my stomach. I’m afraid I’m going to be sick, but I force myself to focus on the unfinished work. I must eliminate any traces of my presence.
Now I have to reach back inside a man I killed seconds ago. I revert the pacemaker program to its original settings while there’s still battery power left, erase my software-defined radio program from the mesh, add in the troublesome tenant access code Chris was “mysteriously” having difficulty configuring, then remove my temporary administrative account from the mesh right before I reboot the whole thing.
I shut down all my network connections, pack up the computer equipment, and sweep all my snack wrappers into a bag. My eyes water, but I’m sure it’s just because I’m tired. Three straight days of non-stop work.
One last thing. The point of the whole exercise. I insert links into Jess
ica’s feed and email for grief counselors and support groups for domestic violence survivors. God, universe, Dennis Ritchie, if there’s anyone out there listening, please give Jessica the strength to take this hard-won opportunity and build a new life. I can’t save her again.
I wipe my eyes with a tissue.
It would have been easier to go down there and shoot him. Dirty Harry had it so easy. Could I have pulled the trigger in person?
* * *
A nightmare wakes me. I work my way out of the hot, twisted sheets and I’m halfway to the bathroom before I realize it wasn’t the usual dream. I dreamed about Gary, the banker from Beaverton whom I killed with his own BMW. I never met him in person, only ever saw photos. In the dream, I’m with him in the car, and he turns to me in the passenger seat, begging and pleading for his life as we go off the edge of the road. I woke when we hit the tree.
I splash water on my face and return to bed on the other side, where the sheets are cool. In the beginning, I didn’t dream about the men I’ve killed, but lately it happens most of the time. If I don’t kill anyone, then it’s my own history that comes back in my nightmares. I’m screwed either way.
As much as I’d like to deny it, the men are victims, too. Usually they’ve grown up in households with violence directed at them, their mothers, or both. They’re my victims, too. They may be vile and violent, but they’re still people.
I remind myself the majority of people who’ve grown up under those conditions don’t become abusers. There’s a choice here, a surrender of humanity. At least, I want to believe that.
I lie there for a long time before fading back to sleep.
The next morning is Saturday, and I’m too tired to repeat all my usual processes, so I settle for a VPN connection to work, then SSH to a machine in the server clusters we run our news aggregation on. I search the database from the command line, and it doesn’t take long to find the news stories about the heart attack and subsequent death of Erik Copley in Tucson.
Mission accomplished, the pressure is off my shoulders. Jessica will not be hurt again, at least not by Erik.
There will be someone else. It’s the weekend, and since I have no work, I could profile the next person. I would go mad if this was all I did.
I push the keyboard away and will myself not to look at the code to see who is next. I grab my phone and text Thomas to see if he wants to meet for lunch.
CHAPTER 6
* * *
I ARRIVE EARLY on Monday morning. I boot up my laptop, then disregard it and stare at the wall. Once an idea has been planted in my mind, it’s hard to let go. I’m still contemplating privacy, social networks, and the travesty of Tomo’s PrivacyGuard.
In polls, a third of Tomo users love us, citing reconnections to old friends and maintaining relationships. Another third have mixed feelings, citing benefits and costs. The last third claim to hate us, and yet still use Tomo.
Those with complaints talk about three classes of issues: privacy (who can see their data), data ownership (they’ve given all their data to us, and we monetize it), or the trivialization of human relationships.
I can’t do much about the last, unless society decides to give up computers and spend our time together; however, there’s a chance to do something about the first two. I head to the kitchen to refill my coffee. The pot is empty, so I refill the basket and wait for it to brew.
I go back to thinking about users and data. Data ownership is a big deal. Users stay on Tomo, even when they hate us, because their friends are here. If they want to remain in contact with their friends, they’re stuck with us. Everyone is jointly locked in together.
At the far side of the break area, a guy is trying to figure out why the big poster printer isn’t working. He’s wearing slacks and a button-down shirt, which means he’s marketing. A button-down shirt alone isn’t a giveaway, but the slacks are. He’s not in legal, because the shirt is a little too nice. Eventually he gives up fiddling with the printer and turns around, a man clearly in need of help.
Two men, programmers, are drinking coffee and talking at a table in the break area between the marketing guy and me. I can tell they’re programmers because they’re both wearing t-shirts, and nobody around here in marketing or management wears a t-shirt to work. That they’re talking about video games only reinforces the stereotype. If they’d been born twenty years earlier they’d wear neckbeards.
The guy at the printer looks at the two men, and sees me. Oh, no, here it comes. He has to walk around the guys right next to him.
“Oh, hi. My name’s Jerry.” He holds out a hand to shake.
I back away slightly, trying to keep my distance, judging angles so he can’t cut me off. I’m at work, I’m safe. The words seem weak in my head. I raise my coffee cup to show my hand is full. “Jerry.”
Once he realizes I’m not going to shake, he uses his outstretched hand to point back toward the laser printer. “Is there any chance you could help me out with the printer?”
My first job in tech, an older woman in the office came up to me at the end of the first week, as I washed the dishes for the third time, and told me to never make coffee for a man, never wash his dishes, and never help with the copier. The printer is close enough to count.
The temptation to avoid confrontation is strong. I try to embody how I felt when I was young, new to work, and full of verve. “What’s wrong with those guys over there?”
He looks back. “They seemed busy.”
“They’re talking about gaming. You could have interrupted them.”
The coffee gurgles as it nears the end of the brewing cycle.
He shakes his head and walks away. “Jeez, you don’t have to be such a . . .”
My shoulders relax as he moves away and the threat diminishes. I’m so relieved he’s gone, I almost don’t care he implicitly called me a bitch. Still, I can’t let behavior like that go on. I make a mental note: Jerry, from marketing, my floor. He’s overdue for an accident in payroll.
Then I let it go. It’s small beer, and I have enough karmic debt. I grab my coffee and go back to my desk, forcing myself to put the incident out of mind and focus on social networks.
Every once in a while, a new competitor comes along, like Ello, the social network that says they won’t sell data. I checked it out. What are you going to do there? You visit and none of your friends are around. So you leave. A new social network has to offer an incredible benefit to get people to stick around long enough to overcome the empty network problem. Sure, maybe I check it out for a day or two, then I give up. By the time a few friends come along, I’m gone.
It’s a variation of Drake’s Equation or maybe Metcalf’s Law. I’ll call it Angie’s Equation:
Padoption = B × (nN × fEA × fAT × nL) ∕ (nB × nF)
B = The benefit of the new social network
nN = Size of my network (number of friends)
fEA = Fraction of those friends who are early adoptors
fAT = fraction of those with available time to try a new network
nL = Average length of time people stay on the network
nB = Average length of time it takes to see benefit of the new network
nF = Number of friends needed to see benefit
What it basically says is enough friends have to show up and stick around long enough and at the same time I do for me to see the benefit of the new social network. That doesn’t happen very often.
It would be easy enough to fix if social networks were open. If I use Tomo and you want to use some new network, and there’s still some way to communicate and connect across those networks, then you’re free to go use your new network and keep your connections to your friends. The empty network problem goes away.
Of course, Tomo doesn’t want that. They don’t want competition. They want barriers to entry, which they achieve by owning your social graph and social connections.
It’s this barrier to movement that keeps people stuck on Tomo. You can hate our p
rivacy policies, and our data ownership, and our manipulative ad techniques, but what are your alternatives? To quit Tomo?
In today’s age that means choosing isolation. Nobody chooses isolation. That’s why they use it as a punishment in prisons.
CHAPTER 7
* * *
SAM BEKINS, thirty-nine years old, lives in Bend, Oregon, a five-hour drive from Portland, over the Mount Hood pass and into the desert highlands.
I debate taking the Accord. It predates computers, so there’s no track of where it’s been, except for photos of it. I can swap out the license plate, and I’ve made sure there are no distinguishing marks on the vehicle. Although I worry about taking it so far from home. Will I unwittingly bring home compromising evidence it’s been to Bend, a smidgen of dirt or wisp of leaf caught in a crevice that would tie it specifically to that geography? All the cool kids get car washes these days, but you never know what forensics will turn up even after a machine wash.
I reserve two nights at Timberline Lodge, the highest place you can stay on Mount Hood. It’s a beautiful old place made of thick beams and heavy stones. Snowboarding season ended many weeks ago, yet plenty of people stay up there during the summer to explore the mountain, hike, or fish. Timberline Lodge itself is seven miles up a twisting and turning road away from Highway 26, the main path across the mountain and primary way to Bend.
I take three days off work, and wake up very early on Wednesday morning. I check into Timberline mid-morning, enjoy the lunch buffet, and go for a short walk. By three, I’m back into my hotel room and launch an app on my laptop to start a preprogrammed sequence of emails, web browsing, and video streaming. I swallow a dose of Benadryl, shower, and lie down for a nap.
My phone wakes me at eleven, and I change into a set of clean clothes. I head down to the parking lot, where my chariot awaits: an old Jeep Wrangler belonging to a couple staying overnight.
Kill Process Page 5