Kill Process
Page 8
I grab my laptop and storm out of his office, slamming his door for good measure. A dozen people look up at the commotion. I ignore them all and go back to my desk. I’m too angry to sit, so I leave my laptop there and go outside.
It’s raining, but I don’t care. I walk toward the river.
Daniel, a mere cog in the organization, is a sign of things to come. He’s escalated the level of abuse of our customers. He’s right, too. A tiny handful of users will notice, and an even smaller slice will make some noise about it, while the overwhelming majority, nearly everyone, won’t do a thing. In an attempt to make sense of their universe, they’ll defend Tomo, claim Tomo’s doing what any big business will do. They’ll shift the blame to themselves, and decide if they really wanted privacy, they probably shouldn’t post anything online. Then they’ll do it anyway, because all any of us really want is to connect to other people, and Tomo is increasingly the only place they can.
I finally arrive at the metal railing along the riverfront. The water flows past slowly, dark with only a hint of green to betray the blackness. I’ve had it. I’ve just fucking had it. I lean over the railing and scream at the water with all my might, a wordless yell of rage that goes on and on.
My throat hurts afterwards. I look up and see people staring at me.
I ignore them, pull my hood up and walk down the riverfront path. And walk and walk.
* * *
An hour later, I’m still outside, sitting on a bench with my raincoat drawn around me.
I’ve been working my day job, chasing down abusers in my spare time, trying to maintain a relationship with Thomas, and then, after everything else is done, trying to design a new social network. It’s not possible to give everything the attention it deserves, and solving the social network problem is coming last.
I’ve freed thirty-six women from abusive relationships. I’m getting better and faster. Still, I can help maybe fifty people in a year, in the best case, and half of them will find themselves another abusive partner and end up in the same hell again.
Every time I kill someone, a little piece of my hope for the future dies. This isn’t the dream I had the first time I laid my hands on a computer. I knew then the world was going to a better place. I believed our manifest destiny was to travel to the stars, on the Enterprise no less, in a post-scarcity economy, a post-conflict society. I wanted to help build that place.
What have I built? Better advertising engines. Tools to help kill people. I’m literally raining death and destruction on the world.
I leave the bench and stalk over to the river again. It’s not the raging Atlantic that pounded ceaselessly against the beach where I grew up. I want that water, the water I could scream and rage at and which responded with more fury. I yell again at the water, which flows turgidly and won’t return my anger. People stare at me once more. I ignore them and walk back along the river, my feet pounding, almost running. I would run, if it could take me away from all this.
Tomo has two billion users, and it’s abusing them all. It’s not the same thing as battering a woman, not at all. Not qualitatively, not quantitatively. I’m not even sure there’s any way to compare the two. The violation of a thousand Tomo users is nothing compared to one victim of domestic abuse.
Regardless, I can’t sit there and partake in it any more. I can’t. It’s eating away at me. If there was a man out there doing what Tomo was doing, I’d kill him in an instant.
I lack the energy to fight a war on another front. I’m trying to do too much. I’m individually freeing one woman at a time and that takes all my available time and creative energy. Then I go into work, and what’s left to fight Tomo with? Nothing.
I could build an alternative to Tomo, I know I could, if I only had the time. Something has to go.
This past weekend, with the van and the problem with the onion network, was a close call. How many more times can I roll the dice and escape being caught? How many more people can I kill, each one eating away at my soul? How long until there’s nothing left of what makes me a member of the human race?
Thomas helps me be human. I can feel love and compassion when I’m with him. Certainly Thomas is not the center of my universe. I’ll never let another man define me that way. For all that, our connection is precious. If I give up killing people, I could build a real relationship with him. These occasional dates, the arm’s-length distance I keep him at, they aren’t what I want.
I shake my head. What am I even thinking about?
Give up freeing women one by one, in exchange for taking on the bigger problem of Tomo and its abuse of their own customers. Create a new online environment, one where people are truly free. Make a difference in the world like I wanted to in the first place.
No, I’m being ridiculous. Me, an ex-security penetration tester, database administrator, and data analyst. A damaged geek. How am I going to change the world?
On the other hand, Lewis, Tomo’s founder, started the company in his dorm room with nothing except a spare Linux box.
If he could do that, why can’t I destroy Tomo by building a better competitor?
I can’t go on with this quasi-life I’ve been living. It’s time for a change.
CHAPTER 11
* * *
BY THE TIME I return to the office, it’s late and people are filtering out. My outburst seems forgotten. I grab my computer and head home, texting Emily to see if she can meet for a drink.
“Girlfriend, I’m in Barbados for work until Thursday. Lunch on Friday?”
I never heard of anyone going to Barbados for work. I assume she’s arranged a boondoggle on the company’s dime.
Then Thomas texts me: “Dinner?”
An hour later, we’re having cheap tacos at Mi Mero Mole, a tiny place on Division. They don’t sell hard alcohol, so Thomas brought a flask of good tequila, and we sit at a sidewalk table, having sips of fiery tequila between bites of food.
We walk back to my place afterwards, nicely buzzed. I haven’t said anything about my idea. Not until I’ve spoken to Emily, whom I like to vet my plans with. At least those that don’t involve killing anyone.
“Can I stay?” he asks, arms hugging my waist, somehow safer than the claustrophobic panic I’d feel if his arms were any higher.
“Yes, but—” I yawn, overcome with exhaustion from the weekend, the dreadful stress of the day, and now the tequila.
He laughs. “I got it. You’re tired. I’ll grab my stuff.”
He retrieves a small bag from his trunk, and we walk into the house holding hands.
In bed, drowsy, I feel the weight of him pressing down on the mattress, hear his quiet breathing, as his warmth crosses the inches of space between us. This is nice.
* * *
On Tuesday I go into work and spend a couple of hours crunching data. Across the open workspace, Daniel discusses PrivacyGuard with someone. It takes only a few overheard words before I’m angry. I try to focus on my screen as the conversation keeps intruding into my thoughts. My pulse races, though, and soon I lose all ability to concentrate.
I grab my laptop and move to a small conference room where I can work without having to listen to him. I shut down chat and email clients, so there’s no way Daniel can contact me, and focus on something I started noodling on last night, the distributed-identity problem.
When a new user joins Tomo, they want to find their friends. They can search for them by name, phone number, or email. Not many search by phone number explicitly, though the mobile app works behind the scenes by accessing the contacts on your phone and comparing their metadata against that in our central database. That allows Tomo to automatically send out friend requests. We do a variation on this on computers, relying on the user’s email address book instead.
Once you’ve joined and define at least few dozen relationships, it’s easy to suggest other people you might know by looking at the relationships you have in common. Amy knows Betty and Cindy. Betty and Cindy know Daphne. It’s a good
bet Amy knows Daphne, too.
Now what happens if there isn’t one social network, but many?
How can Amy find Betty and Cindy? And how can Daphne be recommended as a friend?
I’m perched on the edge of the table, staring at the whiteboard. I’ve drawn boxes and labeled them Network A, Network B, Network C, Network D. I placed Amy in A, Betty in B, and so on.
The first thing that becomes obvious is the networks need to talk to each other, using a standard protocol. Network A needs a way of asking the other networks questions and getting back answers. Because software doesn’t speak English, that means defining protocols.
In the modern day and age, there’s only one protocol that matters: JSON-encoded REST over HTTP. Ignoring all the acronyms, the basic idea is I’ve chosen a way for the services to communicate.
Now that we know how they talk, what do they speak about?
Network A has to be able to say “Do you have a user named Betty?” and the other networks need a way to reply, saying “Here’s Betty.”
It’s a little trickier, because there is likely more than one Betty. An email address or phone number may return one user, but a name could match hundreds of people.
To make matters worse, Network A doesn’t know Betty is on Network B or C or D, so it has to ask everyone.
I spend the next several hours sketching out messages for the services to exchange. On one run for coffee, I overhear Daniel ask a coworker where I am. I duck into the restroom, wait a few minutes, and then sneak back into the conference room.
It’s the end of the day by the time I’m ready to stop, and mostly everyone’s gone from the office. Software architecture drawings are scribbled all over the whiteboard walls. The centerpiece is an interaction diagram at the center showing the exact sequence of messages exchanged. This is the software equivalent of an architectural blueprint. I take photos to record it all and wipe down the boards.
The most important thing is I’ve made a discovery. It can be done. This crazy idea of mine is technically feasible.
Now what?
* * *
“I can’t make lunch today,” Emily says, leaving me a voice message on Voxer, her new favorite messaging app. “Sorry for the short notice.”
In the background, I hear the sound of arguing, and she sounds like she’s in a room full of people fighting.
I look at the empty spot across from me at the table. Guess I’ll be eating alone. My heart sinks, though not from loneliness. I need her advice.
“Short notice implies the message comes before the time we’re supposed to meet. This is late notice. Or, an after-the-fact apology. How about tomorrow?”
The reply comes three minutes later.
“Can’t do lunch. Dinner?”
Thomas and I are supposed to go to dinner, but I really need to see Emily. Hell, I’ll invite her to the date. If there’s drinking involved, they’ll both have a good time.
“Dinner’s good. Tasty N Sons at 6pm.”
* * *
Thomas and I video chatted last night, and even over the webcam video, I could see his face drop slightly when I mentioned Emily joining us.
When I promised him he could stay over, he wiggled his eyebrows playfully, and we both laughed. So it’s all good.
Thinking about getting into bed with him tonight gives me a tingle down there.
At the restaurant, I ask the hostess for a table for three, then huddle in a corner.
“Angie!”
Emily arrives with such a burst of energy loaded into that one word that people turn from all over to stare. She gives me a peck on the cheek.
“If you’ll come with me.” The hostess has menus in one hand, and she leads us past the bar toward a big common table.
“We’ll take that one, over there.” Emily points to a much smaller table along the wall. A card standing on the table says “reserved” in a fancy script.
“I’m sorry, we—”
When the waitress tries to protest, Emily slips something into her hand.
“Thank you,” Emily says.
I shake my head, barely believing what I’ve seen. This is Portland. Did Emily pay off the waitress?
“Certainly,” the hostess says, now beaming at us. “Come with me.”
The table Emily picked has one side to the wall, and there’s ample space on either side of the table. Emily didn’t pick the table for herself. I know she’d rather sit at the bar, where she’d probably flirt with the bartender. That the bartender here is female wouldn’t slow her down at all.
“Thank you,” I say, and squeeze Emily’s hand.
“Of course. We gotta be comfortable.”
I order a Pinot blanc and Emily goes right for whisky, ordering something Scottish I can’t pronounce.
Our drinks arrive at the same time Thomas sits down. Burnt peat wafts over from Emily’s drink, and I recoil at the same time that Thomas bends over for a big sniff of Emily’s glass.
“One of those,” he says to the waitress.
We both lean in for a kiss.
“Hey,” Emily says. “She didn’t give me any tongue.”
I want to talk about my ideas for the distributed social network, but wait until after we order. We make small talk as we pick out a bunch of small plates served family style.
Once the food order is in, I clear my throat.
“Here it comes,” Emily says.
“What?”
“Your big announcement. You’re as transparent as a fish bowl. Spit it out, girl!”
“I have an idea. A really huge, change-the-world sort of idea, and I’m committed to make this happen. I’m working on it now, but once it’s ready, I’m going to leave Tomo.”
Emily’s jaw drops. “Holy shit, what did you do with my Angie?”
“I’m serious.”
“We can tell,” Thomas says, carefully telegraphing his movement so I can see and nod at him. He puts one hand on mine. “What’s the idea?”
“I’m going to build a distributed federated social network.” I can’t help the big smile that comes to my face. This is the biggest idea I’ve ever had.
“Um, a what?” Emily says.
Thomas is equally blank.
“A distributed federated social network. See, I’ve analyzed what it would require to overthrow Tomo. They’ve grown so big no single company can displace them. Even if they could, a replacement would only maintain the concentration of power in one company, which is exactly what’s gotten us into the problem with Tomo. My plan is an architecture that divides the network into many pieces. Today, a social network embodies a social graph—that’s your list of friends—a profile, publishing content, reading content, a feed algorithm to select which content you see, and a social commenting aspect. I’ve come up with a way to split these pieces so different companies can do each part. Dozens of companies compete to maintain your social graph or provide the best platform for authoring content.”
I’m talking a mile a minute and I’ve got their undivided attention.
“How do you make money with this?” Emily asks.
“Ah. I knew you would ask. I’ve come up with three ideas. First off, you can pay for an ad-free experience. Tomo makes about ten bucks per user per year, by comparison. We allow users to pay us ten bucks, and we don’t show them ads at all.”
“Okay. How many people are going to do that?” Thomas says.
“I don’t know, but Pandora and other companies use freemium models like this. The second option is the traditional advertising experience. The third option is corporate sponsorships. You buy a PC, you get two years free. The PC manufacturer picks up the cost.”
Thomas nods his head in appreciation. “You’ve given this some thought.”
“That’s how money comes in,” Emily says. “Who gets it? You’ve described lots of different companies. What’s their incentive?”
“Pay per usage. Let’s say Betty comes along, and she looks at her feed, and she interacts with a piece
of content from her friend Alice. Everyone who had a role in that experience gets a percentage including the app Alice used to write the content, the social graph maintainers, the notification component, the algorithm that selects the story for Betty’s feed, even the reader app that Betty uses. If Alice interacts with 1,000 articles in a year, and pays ten bucks a year, then each interaction would be worth a penny, and each of those companies earns a corresponding fraction of a penny.”
Emily shakes her head. “How do you make money? You, Angie.”
“A percentage off the top? A salary? I’m not sure. I’ll figure it out.”
“You’ve worked out quite a bit,” Thomas says, fingers massaging his temple. “When did you do all this?”
“At work. I’ve been skating by with the bare minimum and working on this every chance I get.”
“At Tomo?” Thomas grimaces.
“Yeah, why?”
“Lalalala,” He puts his fingers in his ears. “I don’t want to know.”
“What’s the problem?” I ask.
Thomas sits up straight and puts his lawyer face on. “The problem is they own your intellectual property. These are no longer your ideas, they belong to Tomo.”
“Fine, I can work on it at home.” I’m a little indignant. He’s the lawyer. Why am I only finding out about this now?
“No, it’s no good. You’re working in the same field at Tomo. Your employment contract will give them ownership. If you’re serious about this stuff, you’ve got to quit. Even then, you might be under a non-compete agreement or an NDA that would prohibit you from working at, or starting, a direct competitor.”
“Quit my job? What would I live on?”
“Savings,” Emily says. “Until you develop the idea far enough to raise money or have an income stream.”
I stare at the tablecloth wondering what to say. Emily knows I forfeited my unvested stock options now worth millions when Jeremy convinced me to quit my first job at Tomo. Still, since they rehired me, I make good money. Excellent money, in fact, which I know because I peeked into the HR database to compare my salary to my coworkers. The problem stems from all sorts of unusual expenses. Zero-day exploits I purchased on the darknet. Cash for a VW bus. A thousand count lot of Raspberry Pi computers. Killing people is surprisingly expensive. Hell, by some estimates the government spent about ten million per Taliban soldier killed, so I’m damn efficient by comparison.