In a worst case scenario, this could financially harm Tomo, but I have strong confidence in the ops team. They can freeze the bank accounts, change the bank authorization, or find the server and kill the running process or the server itself. The thing is, nothing would seem wrong for the first hour. Probably at an hour and half, they’d discover the problem. It’d take them ten, twenty minutes to assign the right people to work on the problem. Those people take time to come up to speed, then they’d be racing to solve the problem . . . I know what they would do.
At two hours and twenty minutes, two teens sitting at the next table are using the library’s free computer terminal, looking at pictures of their female classmates. One of them yells, “Damn, dude. Tomo’s down. They kicked you off.”
“Sell,” I say to Dan. “Whatever’s left. Now, all of it.”
Dan’s been near catatonic with anxiety for so long that at first he doesn’t move, then he jerks upright and jabs at his phone.
Now I’m biting my nails.
“$7,600,” Dan says in a squeak.
Bitcoin is up almost twenty times what we bought it for only a few hours ago. Counting our combined contributions, and gradual sell-off, Dan has three hundred thousand in his bitcoin account, of which $220,000 is mine.
Tomo is almost certainly off the net because someone smart realized killing all outbound traffic would stop the purchasing server from making its next buy. They’re probably triangulating on the specific server right now. In the meantime, they stopped a tens of millions dollar bitcoin purchase by shutting down the entire network. It’s what I would have done.
“They’re going to know.” Dan says, still pale. “Trace it to back to me. It’s not anonymous you know. They’ll see I made all this money in a couple of hours. I don’t want to go to jail—I’ve got a girlfriend.”
“Think about it. How many people made money today? How many need to cash out? Hundreds of thousands. Not just you. Bitcoin miners and speculators around the world. Millions of transactions occurred. You made a half dozen of them. They aren’t going to trace anything to you.”
Dan looks modestly reassured, and nods along with my explanation.
Of course, if that was really true, if there was that little risk, then I could have made the trade myself. There is some risk, though Dan is squeaky clean. He’s not the one doing anything illegal, and if it comes down to it, there’s nothing he can go to jail for. I can’t withstand that level of scrutiny.
“Don’t withdraw the cash all at once,” I say. “Anything over $10,000 requires notifying the fed. Take out six or seven thousand in cash, every week. You take your percentage, meet me here on Friday mornings, and give me my cut. Sound good?”
He nods. “My book.” He points towards Neuromancer like it was a poisonous snake.
I pass it toward him, and as I do, I look down at my hand. My fingerprints are on the book. I pull it back toward me.
“I’ll keep this. You report it lost in a few weeks.”
“You can’t keep a library book. It’s public property.”
“Don’t worry, you can afford the fine. See you later, Danger.”
CHAPTER 16
* * *
MAT MENTIONED IndieWeb, and when I first research it, there’s almost too much for me to read: the grassroots effort has spawned a sprawling wiki and dozens of web sites. There are principles, how-to pages, protocol specifications, history, and nobody is in charge of any of it. It’s decentralized, self-organizing, and rapidly changing.
The first principle is so compelling, I know they’re onto something important: When you post something on the web, it should belong to you, not a corporation.
My reading increases my desire to meet Amber, but only when I’m done with my bitcoin manipulations do I have the time and energy to meet. We make contact and plan dinner at Bamboo Sushi.
Amber’s already here, sitting at the sushi bar, easily recognizable from her profile picture. She’s American, but chatting with the chef in Japanese, fluently as far as I can tell.
“Amber? I’m Angie.”
Amber glances up from the chef and smiles. Without hesitation, she bends her right arm at the elbow and touches her upper arm to mine. It’s rare to meet someone who knows the right protocol for greeting an amputee, let alone carries it off so smoothly.
“Have you been here before?” Amber asks. “It’s my favorite.”
“First time.”
Soon we’re chatting about the menu. Before we order, the sushi chef brings over several plates, and says something in Japanese.
“Hiro says they’re compliments of the house.”
I raise an eyebrow.
“Sorry. I travel frequently to Japan, and Hiro told me to visit his hometown. I met his mother. Ever since then, he gives me sushi. But you probably didn’t set this up to discuss fish.”
“No, I really want to talk about IndieWeb.”
Amber stares at me like she’s assessing my worth. “So you said in your email. I looked up your profile. You work for Tomo. IndieWeb is . . . well, the exact opposite of everything Tomo stands for.”
“I left Tomo. I’m working on a new project.”
“What’s that?” She grabs a piece of sushi with the back end of her chopsticks, then passes the serving plate over.
“Decentralized, decomposed social networking.”
Amber smiles and laughs. “I love it. Even the employees of the Evil Empire are peeling away to join the Rebel Alliance.” She takes a bite, then continues. “IndieWeb is about returning the web to what it was before—a bunch of home-brew websites. People create content, they should own that content. Too many companies went out of business and lost all of their users’ data.”
My heart beats faster. She understands!
“Yes!” I jab at the table. “Users are completely dependent on the goodwill of companies for access to their own data. If Tomo changes their retention policy, old photos disappear. Or private photos turn public with a change in sharing policy. When I joined Tomo, it was about empowering the user. Now it’s about controlling the user to maximize ad revenue.”
Amber nods. “That’s why the first principle of of IndieWeb is each person is in control of what they create. Take a basic website, the way it worked in the old days, before blogging services and social media. If you wanted to share ideas, you’d write HTML, upload a few files on your server, and share the link. Five or ten years later, your data is still there, still readable, still linkable. If you want to take the data away, you remove your file from the server. You’re totally in control.”
“How do you bootstrap?” I ask. “How do you solve the empty network problem?”
“How do we convince people to adopt IndieWeb in a world where nobody cares about it?”
I nod, and grab a piece of fish.
“Metcalf’s Law is a bitch,” Amber says. “The IndieWeb solution is POSSE. Post on Own Site, Syndicate Elsewhere. You create content on your own domain, then copies are automatically shared to Tomo and other networks, with links back to the original version. Your friends and family keep using whatever silo they’re on to read your stuff.”
It strikes me that I want to build a new type of social network, but I don’t have a circle of friends and family to read my posts, or anything to even share. The only thing I ever talk about online is hacking in conversations hidden away in darknet forums. What would I post about? Who would read it? There are precisely two people I give a damn about: Thomas and Emily.
How can a social isolationist expect to make a social network? I’m crushed under the hopelessness of what I’m trying to do.
Amber looks expectantly at me, and I replay what she was talking about—oh, yeah, syndication.
“How can you expect Tomo to allow you to do that indefinitely? What if IndieWeb, or something else, becomes a threat? Won’t they shut down the ability to replicate content on Tomo?”
Amber shrugs. “IndieWeb content is the web. That’s it. Is Tomo going to shut down
the Internet? Make it so you can’t see public web articles? They aren’t that powerful.”
My mind immediately jumps to PrivacyGuard, and the plan to filter webpages with private data. The web turned dystopia. Oh yeah, Tomo could do that, and they will. Unfortunately, I can’t share those details with Amber.
“Tell me about what you’re working on,” Amber says. “Decentralized, decomposed social networking. You must have your own ideas.”
I explain how I want to break apart the pieces of social networking—content authoring, content storage, notifications, user identity, friend networks, content selection algorithms, feed readers—and make them all interoperate. “I’m prototyping now, defining and building RESTful interfaces. With a complete protocol definition, anyone could build an interchangeable component.”
Amber shakes her head. “There’s a better way.”
My first thought is stupid kid, what do you know? She’s half my age and doesn’t have any idea what I’m capable of. She probably writes database queries that iterate over a single row at a time. I don’t possess much of a poker face unless I’m trying. She must see what I’m thinking.
“Obviously you can define messages in JSON. You absolutely can. But according to IndieWeb principles, you’re doing it backwards. You’ve looked at RSS, right?”
“Of course.”
“It’s totally pointless. It’s an XML representation of a blog post, in theory to make a machine-readable version of the content. But why? The blog content already exists in HTML. HTML is XML. If you want a machine-readable form of a blog, instead of defining a secondary representation, mark up the HTML with extra tags. It’s what we call micro formats in IndieWeb, and you already see little bits and pieces of this in the semantic web and HTML5.”
The individual words make sense, but I don’t grok the whole.
She grabs a laptop from her bag.
“You want to exchange information between two sites about a person. Your way, the protocol-first approach, would have you define JSON to represent that person. Something like this . . .” She cranks out text in an editor.
{
“Person”: {
“Name”: “Angie Benenati”,
“Url”: “http://angiebenenati.com”,
“Email”: “[email protected]”,
“Photo”: “http://angiebenenati.com/angie.png”
}
}
“Yeah. Of course.” In fact, my protocol does look similar to this.
“You’d agree we could represent the same thing in XML, and it would be functionally identical?” Amber bangs out a little a few example lines.
“Yeah, that’s the same.”
“Now, isn’t that information already present?” Amber brings up my website, and there it is, sitting in the upper-right hand corner: my name, my email address, my photo, my bio.
“It’s not machine readable like the JSON or XML,” I say. “The HTML used to display this is unstructured, just a div and some paragraphs. It’s impossible for me to write code that can tell the email address from the phone number from my bio, because they’re all just strings of text.”
“So structure it.” Amber goes back to her text editor, copies the source from my site and adds class tags to my HTML.
“It’s the same data,” she says, “but instead of two different representations, you’ve got one. It’s the user interface and it’s machine readable. If you later add phone numbers or addresses to your UI, you don’t implement that twice. Just once.”
“These things are already defined?”
“Sure,” she says. “People, events, reviews, tags, even social relationships.”
My mind reels. This is half the work laid out in front of me.
CHAPTER 17
* * *
THIS IS MY fourth appointment with Charlotte. We haven’t really talked about anything so far. Each of my last several visits I arrived in a state of anxiety, and she spent the time having me practice coping tools. She asked on the last visit if I was interested in a referral to a psychiatrist for anxiety medication, but I shook my head. Drugs seem like another way to lose control of myself.
When I arrive at her office, I sit on the couch for a change, plopping onto the cushion with gusto. I’m still excited about yesterday’s discussion with Amber.
Charlotte sits in her own chair with a pad of paper. The office is quiet, the noises of city traffic filtering through the ninth floor window, making it sound far away. The room is a little on the warm side, and I can feel the sun streaming in, heating the room up.
I smile at myself. I started my grounding practice subconsciously out of habit even though I’m not at all anxious today.
“You’re in a good mood,” Charlotte says. “Want to talk about it?”
I tell the story of the meeting with Amber and of her ideas, and I’m animated, my arm waving about as I draw pictures in the air, architecture boxes of how servers communicate. Charlotte would be lucky to understand a quarter of what I’m saying, but it feels so good to be talking to another person about creating something so exciting. It helps that she’s a good listener, asking questions at all the right places. They aren’t the technical questions I might have asked, but they’re still interesting ones.
“The decision to leave Tomo to work on this is relatively recent. What made you decide to build Tapestry?”
Where do I begin? I can’t say killing people eats away at the fragile remains of my humanity. I can’t ask which is worse, what those assholes do, or that I reach out and rip their lives from them. Maybe I could tell the story of Tomo, and how they’re abusing billions of users, manipulating everyone to extract one more piece of data, one more minute of screen time, one more layer of entanglement into their universe so they can hold everyone’s relationships and content hostage. But that is too personal, too intricately linked to my own past experiences, and I don’t want to discuss those either.
Charlotte clears her throat softly, and I glance up at her. She smiles and waits.
I swallow, try to start, and the words stick in my throat. I try again. “There are two sides to everything: creation and destruction. When I finished college, I went on a job interview.”
* * *
1993, twenty-two years old
“Angelina Benenati?” The secretary looks at me. I’m the only one in the waiting room.
“Angie, please.”
“Mr. Repard is ready to see you. Follow me.”
Last week I interviewed at this same office, with a dozen different people over eight hours. They say all the Big Six accounting firms have tough interviews, though I found the questions simple. I could have answered them while still cranking out code. Still, a security job here is my dream, and I’ve been waiting around the clock to hear back.
I received a call yesterday, and was told only to come back so Repard can meet me.
I hung up confused. I was neither given the job, nor rejected. Repard is known throughout the hacker world. It’s hard to imagine him taking an interest in a potential candidate. Nonetheless, I’m here, dressed in my one skirt suit, carrying a small purse, a serious case of impostor syndrome leaving me feeling like a parody of a smart, eager employee-to-be.
The secretary opens a door to an office and ushers me in. “Miss Benenati, Mr. Repard.”
She closes the door.
There’s a guy in a white T-shirt with the number 2600 across the front, and he’s typing furiously at a computer. His hair is gra
ying, and he wears thin-framed glasses. On the back of his chair there’s a suit jacket, and on his filing cabinet, a hanger with a white dress shirt and a tie.
I wait for a minute, standing, then clear my throat quietly.
“Sit down, and don’t interrupt again.”
Jesus. This is Repard? I sit, inching into the chair to avoid any noise, and wait. I glance at my watch, and decide to time him. Time passes slowly when you’re watching someone else type. I wonder if making me wait is some sort of power trip for him, and whether taking off his suit jacket and shirt is his way of thumbing his nose at management.
Seventeen minutes go by, and the typing stops. He leans back in his chair, puts his hands behind his neck, and smiles. He stays like that for a while, staring at the ceiling, face creased wide. His eyes slowly come back down and resolve on me.
“Miss Benenati, sorry for making you wait.”
“Angie, please.”
“Not Angel of Mercy?”
My throat catches, and I’m dumbfounded for a second. “I’m not sure what you mean,” I manage eventually.
“Come on. You want to work as a penetration tester. Every newbie cracker wants to earn money to hack. You think we wouldn’t do a little background research?”
“I guess you got me.” My stomach churns as I try to force a smile to my lips. Are they going to count my past hacks against me? What does he even know about?
Repard stares at me. “How’d you pay for school? MIT isn’t cheap, and they didn’t give you a scholarship until your second year.”
He must have access to MIT’s systems. I’m impressed. I could never break into their finance systems. “I had savings. From my parents.”
“Bullshit. You and your mother were living in a one-bedroom apartment in Brooklyn next to the 86th street line. You had subway cars running right outside your window. If you had money, you would have lived somewhere else.”
I drum my fingers on my skirt. Shit, I guess I’ve got nothing to lose by telling him. “I won the Z100 Corvette contest in ’91.”