Authors: William Hertling
Tags: #Computers, #abuse victims, #William Hertling, #Science Fiction
I know from previous emails the doctor golfs in the early morning, does a light workout at the gym, and then swims with his wife in the afternoon. Sounds like a lot of activity to me, but then I’m not a cardiologist. I guess if you spend your whole day surrounded by unhealthy people, you’re going to overcompensate.
I need to create an email appearing to be from the doctor, wait around for the clerk to reply, and then receive the reply. This has to happen while the clerk is in the office. I’m worried she might call him for clarification (his phone log suggests this sometimes happens), and I can’t take the chance he’ll answer the call, so I need to time it for when he’s away from his phone. The doctor starts golfing before his office even opens, which makes sense, considering summer temperatures in Tucson. I take a deep breath. So many complications.
I switch over to the clerk’s email account, and compare the inbox to the sent folder to see how long it usually takes between the time he emails her and the time she normally replies with the patient data. It’s anywhere between five and thirty minutes.
I track the doctor’s location on a map, his geocoordinates still streaming in every fifteen seconds over the connection. He’s on the ninth hole when the receptionist gets into work. When he gets to the sixteenth hole, I upload a server-side rule for the receptionist’s email, temporarily shunting all incoming emails except the ones from the good doctor into a folder. I want to make sure that when his email arrives, it’s the only one she’s looking at.
When he gets to the eighteenth hole, I turn on his microphone, and listen to him talking to someone, I assume his golf partner. The sound is muted, as you’d expect from someone carrying their phone in their pants pocket. I happen to know it’s his left-front pocket.
It sounds crazy I can ascertain this from the motion data of a phone, but I’ve got acceleration details from one billion people, 365 days a year, for dozens of sit/stand events per day, and from this mass of data points I can tell you with 90 percent reliability whether a person keeps their phone in a pant pocket, jacket pocket, or purse, and if it’s a pocket, whether it’s the left or right, front or back.
I had to be sure of my accuracy, so I wrote a predictive algorithm, and tested it by turning on the camera, so I could capture video of the phone being extracted. From these videos, I figured out how often the algorithm was correct.
I didn’t do this research because I suffer from an OCD disorder when it comes to analyzing data, although that helps. This was an actual client request from advertisers who wanted to target ads based on where a woman carried her cell phone. I won’t go into the research I did to segment users based on bathroom paint color.
If this sounds intrusive, you’re right. If you think Tomo users should cancel their account, you’re also right. They won’t, because for many of them, we hold hostage their primary, or perhaps only, connection to their friends.
More and more, I see parallels between Tomo and the assholes I choose to eliminate. Abusers remove any sense of self-control from their victims by wielding absolute power over their lives, removing any privacy or ability to have a life apart. Every user of Tomo experiences same situation, albeit to a different degree: no privacy, no life apart from Tomo, and no ability to leave without forfeiting their social connections. Few recognize the parallels, but I do, and it makes me increasingly ill.
The dot on the screen moves. Focus, Angie.
The doctor approaches the club house, my cue to act. I use my backdoor into the Tomo app to send a personal email from his phone to the medical clerk. The messages requests the pacemaker model, device ID, install date, and date of last checkup for Erik Copley. All I really need is the device ID. The rest is there to lend credibility.
I bite my fingernails when the doc stops to talk to someone. I’m counting on him heading into what I assume to be the locker room. My geospatial data is less accurate once he’s inside. Historically there’s a stationary period of thirty to forty minutes after he finishes golf. My guess is he leaves the phone in his locker while he works out, and that’s ideal in case the receptionist calls for more information.
The delay is only a minute or two. In another window, I’m tracking the clerk’s inbox. She’s opened the email.
Finally the doctor gets back in motion, and a minute later the accelerometer records the sharp impact of a hard surface. He’s laid the phone down. I listen through the microphone and hear only muted sounds. I jump out of my seat when the phone rings, even though I was half expecting it. Channeling through my backdoor in the Tomo app, I check the phone status, and see he’s receiving a call from his office. I cross my fingers and offer a small prayer to universe he’s not within distance of the phone.
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 Jessica’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.