Holding the device like a Geiger counter over his sleeping baby daughter, the man executed a series of tapping and typing motions which, forty years later, would be immediately recognizable as the kind of gestures people used to send a text message or update some status or other. To Isaac, watching him but not in the room with him, the man executed these motions with irritating slowness.
The man found what he was looking for: a single number, a karma score. His own karma score was large: he knew this because there had been a note left on the device describing the karma score and how to look it up. The note, from someone named Isaac, had told him a higher karma score was better, giving a person better health, a longer life, more wealth, etc., and had given him the approximate values of the median karma score, which he called “normal,” and one and two standard deviations up and down, which he called “high,” “low,” “very high,” and “very low.” (A comfortably middle-class American, the man did not think of himself as rich, but he was at or near the top percentile of the world’s income distribution.) His daughter’s number, however, was almost ten times his own, and well above the number the note listed as “very high”. The man probably thought this was due to luck; he did not know who Isaac was, and did not know that his daughter’s high karma score was due to Isaac’s intervention.
The man had found the device about a year before Mara was born, on someone’s front yard, a block from his house. It was in a cardboard box with the word “FREE” written in large block capitals on the front. Attached to the back of the device with book tape was a piece of paper on which was written “cjohnson” and “tier3.” He guessed quickly enough that the words on the paper corresponded to the words “username” and “password,” which appeared on the device’s screen—they were the only clues he had, and the only slots into which clues could be placed—but it took him a while to discover how to enter the username and password, and longer still to learn how to do anything useful with the device. By the time he had given it to his daughter, thirteen or fourteen years later, he was able to show her a few useful things, like how to turn herself invisible and how to read what he called “the news from that other place”.
* * *
On a cloudy day in June, Mara and her father took Rooster for a walk. Rooster was their spotted dog which was not a Dalmatian, but which Mara called a Dalmatian. Past green, close-clipped lawns, Mara performed a series of jumps and hops, avoiding the cracks on the sidewalk, quietly singing a few lines from a song they sang in church: “Majesty, kingdom authority, flow from his throne, unto his own, his anthem raise.” She was told God did not have a body (or a throne), but, especially when she sang this song, she imagined him as a crowned, white-bearded king on a throne, with a two-handed sword as tall as he was and, somewhere, a white horse. She saw a movie once in which a white horse was backlit in a creamy, golden light; it looked like the horse was glowing, like it was made of gold. It tossed its mane and reared. The people in the movie (maybe they were kids, maybe not) were seeing the horse for the first time; they stopped what they were doing, agape.
In front of a neighbor’s house, Mara saw a porcelain cat and ran over to it. The cat was on a card table; the card table was on the lawn next to other card tables. There were chairs and a desk and a coffee table and a cardboard box of books and there were coats and shirts on hangers, out on the lawn or in the driveway or in the garage.
The porcelain cat was a Siamese, sleek, slinky, shiny, colored white and tan and brown. It sat proud and imperious, a feline Pharaoh, taller than the porcelain animals and figurines around it. When she picked it up, she saw the little white circular sticker which read “25c.” She did not have a quarter with her; her father paid for the cat, after Mara promised to give him a quarter when they were back at home. He gave the quarter to a gray-haired woman wearing a small “Kern ’80” pin, next to a second pin in the shape of a tiny pair of feet. The transaction complete, he handed the cat to Mara. She named the cat Cleopatra. Walking home, she asked her father, “What is Ken 80?”
“The lady’s pin.”
“Oh, Kern. Paul Kern. He’s running for president. He’s the one your mother and I will vote for.”
Her mother would not let her take the cat into her bed with her. It was hard and fragile and, if broken, would have sharp edges. She set it on the nightstand next to her bed. Before she went to sleep, she would pet it and kiss it good night; in the morning, she would wish it a good morning and pretend to feed it from a saucer.
A few weeks later, one of Mara’s friends dropped the cat on the kitchen floor, where it landed on its head and shattered. Mara yelled and ran into her room and slammed the door. She flung the door back open and she yelled to her friend that they were not friends and never would be friends and she told her mother—who had been in the backyard when the yelling started and was just now at the door to her room—that she should take the girl home right now.
A day or two later, her father returned the cat to her, unharmed.
* * *
Mara and her father started their trip early in the morning, before the sun came up. They drove for hours through city, through suburb, through small towns with broken-down trucks, with restaurants with political slogans on readerboards, with dirty houses with overgrown lawns and mossy roofs, through a bucolic countryside of farmhouses, hand-hacked fences, horses, cows, through wilderness. The two of them played the Beach Boys and the Beatles on the truck’s radio, singing along, telling terrible jokes, playing Slug Bug, until they stopped at the campsite. Mara’s mother never wanted to go camping, and when she did go she would complain about cold or wet or blisters or bugs or dirt. Even before she left, Mara and her father usually went camping without her.
Mara watched her father set up the tent while she drank Gatorade and ate marshmallows, saw the occasional bright red salmon swim through the creek which went right by their campsite, then helped him roll out the sleeping bags inside their tent. The campground was small; there were only three other campsites. None of the others had tents set up, but one had a truck parked in it.
They went for a short hike on a trail which started at the campsite, went from the creek to a larger river and then along it, up into the lower part of the mountain. It was a bright cold day in late September, the time in western Washington when the long warm days of summer have ended, but before the wind and the rain have started. By the time they came back it was starting to get dark.
Her father opened the tailgate of the truck. They carried the kindling and the firewood to the firepit, where he started the fire. Once the fire was burning in earnest, they placed more of the wood onto the fire a piece at the time until it, too, was on fire.
Fire was like a living thing, but it was not a living thing, Mara remembered, because. Because it doesn’t reproduce? Because… She watched the fire licking the wood and turning it into itself and she watched the sparks and smoke rising up from it. Because a fire is just a chemical reaction? Because it spreads but it doesn’t really reproduce?
They roasted marshmallows, two for each of them, then made s’mores. It was getting cold. Her father said something about how beautiful the hike he had planned for the next day was going to be. They would see a waterfall, and an alpine meadow, maybe mountain goats. It became quite dark out. He began to prepare the barbecue grill, a cast-iron rectangular bowl topped with a hinged grille and welded to a metal pole going into the ground. Mara sat with her arms close to her body, her shoulders hunched, her legs close together, knees up under her chin, still a little cold even under the warm coat and the thin blanket.
Her father placed charcoal briquettes from a paper bag into the grill, poured lighter fluid onto them, lit them on fire with the same long lighter he had used to light the balls of newspaper. He grilled the hot dogs in the mostly-dark, occasionally using the flashlight to get a better look at them. By the time the hot dogs were done it was all-the-way dark.
“I’m proud of you, kiddo,” her father said. Mara looked at him and smiled at him, a little embarrassed, as shy as she always was when complimented, then looked back at the short and short-lived orange lines of sparks flying up from the fire.
From a cooler in the back of the truck her father brought ketchup and mustard. Mara closed her eyes while her father said grace. They ate their hot dogs for a while without talking. When her father was done with his, he went on, “You’re a smart kid, you know. And you’re not just good at one thing. You’re good at lots of things. You’re good at math and you’re good at English and at spelling and you can draw.”
The word “gifted” bubbled or drifted up. She remembered being called gifted the first time when she was in fourth grade, told she could enter the gifted program, because she had been gifted this present of being gifted.
“You’ll be able to do anything you want to do. You’re lucky because you’re going to a good school, and you’ll be able to go to college, something I didn’t ever get to do.
“You’ll be all right, Mara. Remember that. No matter what happens, you’ll always be all right.”
In front of her, past her blanket-covered legs, past her thick boots and wool socks, the fire blazed and crackled. Above and around the fire were the thin short trails of sparks appearing and disappearing, next to her was the reassuring bulk of her father, around her was a ragged circle of trees, and behind the trees was the infinite dome of the sky, dark blue at the bottom, black at the top, in which the flickering diamond points of stars looked down at her.
The destiny her father was granting her spread out in a shivery sphere from the center of herself (her heart, she thought, picturing it, naming the ventricles and atria) at the speed of light to encompass herself, her father, the truck, the campsite, the forest, the river, the mountains, Washington, North America, the Earth, the visible dots of stars, the uncountable infinity (no, not infinity, she reminded herself; just very, very many) of invisible stars beyond them, the universe—which was mapped on a poster on the wall of her bedroom as something like a set of nesting dolls, the Earth inside the solar system inside the Milky Way inside the local cluster inside the local supercluster inside the vastness of everything, a poster she would sometimes lay on her side and look at before she went to sleep, feeling the great empty bulk of the universe surrounding and containing her.
This camping trip happened more than once. Later, Mara’s father would give her the device he had used to check her karma and fix the broken cat, and she would use it to trace her own branching history in the simulation. She would find that different versions of Mara had experienced her childhood at least twelve times, and this camping trip at least ten (in one of the two in which the trip did not take place, Mara died before her tenth birthday; in the other, Mara’s father’s truck broke down, and they had a version of this conversation in their back yard, looking up at the stars on a clear night).
* * *
The bus was usually crowded until about the halfway point in Mara’s trip home. Sometimes Mara was the last one on the bus by the time she got home; sometimes there were two or three other people. On this particular day, Mara was alone.
She took the device out of her backpack and pressed the button on the side which turned it on. (Later, she would say that the button woke it up.) The device was a little wider and a little longer and a little thinner than a cassette tape. The front was covered in glass; the back and sides were covered with a hard gray-black plastic, like the Bakelite of the sturdy, utilitarian phone that she had found in her grandmother’s attic when she was ten or eleven.
Mara’s father did not know what it was for or how it worked, but he did know how to do a few things with it. He had shown her how to turn herself or something else invisible. He had shown her how to rewind an object or a set of objects to an earlier state. He had shown her how to get to the notes he had found describing some of the device’s features.
He had shown her how to read what he called the news from that other place: a newspaper for dates far in the future, in which the Soviet Union had apparently been replaced with Russia and Ukraine and a patchwork of smaller countries. The dates on the news articles moved slowly; over the last three weeks or so, the dates on the news articles had gone only from the 13th to the 14th of March 2057.
She found news articles about Seattle, which appeared to be doing all right, but which might have had a very different set of buildings than the Seattle in which she lived. This Seattle had a big library downtown, but this library was all glass and sharp angles, like a transparent Rubik’s Cube which had been taken apart and twisted and cantilevered and reassembled; where the KingBank tower should have been there was, instead, a tall curved black tower called Columbia Center.
Alongside the newspapers her father showed her—The New York Times, The Economist (which was, confusingly, not just about economics, but about all kinds of things, and which Mara was surprised to find existed outside the confines of the device, a glossy magazine with a logo just like the version on the device)—Mara’s father showed her something called Wikipedia, something like an encyclopedia anyone could edit, in which some entries came with warnings about their own reliability or bias. On the device, he had made a long list of bookmarks to different entries and showed her how to get to the list and how to use it.
When she pressed the button at the device’s top to turn it on, it made an irritating noise: a series of beeps ascending in tone. The screen lit up. Near the top was the word “AlmostReal”; above it, what she guessed was AlmostReal’s logo, an orange circle with a white line running through it. Underneath this was a prompt for a username and password. Behind all this was a translucent gray rectangle covering much of the screen, and behind that, a picture of a little kid with a couple of missing teeth. The little kid in the picture was standing in front of an enormous computer monitor which was displaying a different picture of the same kid, upon which Mara can barely make out what she guessed were terminal or text editor windows. The screen of this device was very high-resolution. The individual pixels were way too small to be seen, and the picture of the little kid had as much detail as something printed in a magazine.
When she touched the screen, a keyboard, laid out in QWERTY, appeared. She entered the username and password her father had given her on the piece of paper which came with the device. The first time she used it, she had been surprised to find that the keys moved when she pressed them, and that there was an audible click as she typed. After logging in, the picture changed to a picture of the same little girl in a lion costume. There were other children behind her. And in front of and partially obscuring the children was a list of choices: Admin, Applications, Exit Simulation. She touched Admin, and saw a new menu: Status, Info, Console, Preferences. She picked Console. She was looking at what appeared to be a log of warnings and error messages, e.g., “Warning: processing load in area 0xff32aa2c requires global slowdown.” New messages generally appeared at a rate of about one or two every ten or fifteen seconds; occasionally, there were bursts of several or (once) several hundred in a second or two. She went back up to the main menu and chose Applications, and saw another menu: Web, Email, Documents, Terminal.
She touched Web, and from there, she got to a list of what it called “Bookmarks.” From there, she touched “Wikipedia.” Fearing that the news articles from these future dates were predictions, that somehow she was reading news articles from the future, that Seattle was so different in that future time because something (an earthquake? a terrorist attack?) was going to destroy the city, she touched a line labeled “Search,” causing a keyboard to appear on the screen, and she used the keyboard to type “Seattle.” Using her finger to drag the entry up (a gesture demonstrated to her by her father), she scrolled down to get to the section labeled “History.”
On the way down she saw a paragraph about a historic building, dating all the way back to the early 1960s, called the Space Needle, a building which Mara did not recognize: a UFO on a tall skinny column which was thicker at the top, thinner in the middle, and thicker again at the bottom, with a glass elevator which took people up to a slowly spinning restaurant. In the 2050s there would be problems maintaining the building. Following a long chain of links (she didn’t call them links; she called them “blue words” or “blues”) she found her school, Wallace High School, but with a different name: Ballard High School. The University of Washington, which she had applied to and which she had toured with her father a few weeks before, had a very different campus, with only a couple old buildings in the quad which looked familiar.
The red “Stop Requested” sign at the front of the bus lit up, and Mara heard a loud “ding.” A couple rows behind her, the door at the back of the bus opened. I was alone on the bus, wasn’t I? she thought. She turned around to see a man getting off the bus, holding a thin rectangle of glass and plastic which may or may not have been just like the one in her hand.
* * *
Sitting cross-legged on the basement floor, her back to an ugly, faded, mostly-brown, plaid couch, Mara held the device in her right hand and looked at the words “Exit Simulation,” the last entry on the device’s main menu.
“Exit Simulation” glowed under the tip of her index finger for a few seconds. Mara held her breath. She touched the screen, and the words “Are you sure?” appeared under her finger, along with two buttons, “OK” and “Cancel.” Before she could touch “OK,” she heard footsteps in the hallway. She thought she was alone in the basement; she didn’t hear anyone come down the stairs. A man walked into the room. He was the average or epitome of every fed and every homicide detective from every cop show and action movie she had ever seen. He opened his wallet to her, displayed a badge, said, “That does not belong to you,” held out his hand in an obvious gesture, what Mara thought of as the universal sign for Hand It Over: arm extended toward her, palm up, slightly cupped, fingers flexing two or three times.
Mara handed it to him. It went into the inside pocket of his suit jacket. She saw him leave the room, heard footsteps in the hallway, then nothing. After she became more calm—this took a while—she stood up, searched the basement for him, but didn’t see him. She didn’t hear him leave, but he was not there.
It was okay. She had made a copy.
When she felt reasonably sure he was not coming back, she stood up, walked quietly to the bookshelf, and took down a box from the top. Sitting back down in her former position, she opened the box. Inside was a device identical to the one taken from her. She used it to do two things: first, to verify that she really was the only person in the house; second, to make another copy, which she powered off and placed into the box. She put the box back on the shelf. A few seconds later, she took the box back down, put the other device back in the box with the new copy, and put the box back on the shelf, where it stayed for a long time. A few weeks later, she took one of the copies to the bank and put it into a safety deposit box.
* * *
After Mara had selected “Exit Simulation” a few dozen times, Anil Gupta came back to his desk to a sea of red. A number of the alarms were getting past his filters and he was finding it difficult to hope for a number of false alarms. Anil, still standing, carrying a can of Coke, swore under his breath and began to investigate.
Most recent item: “Process terminated unexpectedly. Restarting.” The thumb of the scrollbar on the right side of the window was only a couple pixels high, which is small, and which indicated to Anil that there were a large number of items. When he scrolled down (using the PageDown button on his keyboard, not the mouse—selecting a scrollbar thumb which is only two pixels high is a pain in the ass), he saw that all of the red items were labeled “Process terminated unexpectedly. Restarting.” He opened one of them. The Details section included a call stack and a fault. The fault was that the process crashed, bringing down a local area of the simulation. There was a call stack, which Anil did not look at closely, but when he looked at a few of the other red items it looked like the same fault and the same stack.
For the most part, QE ferreted out cases which led to an easily reproducible crash before they could get into production; the crashes that did occur in production were not easily reproducible, and so when a (rare) crash happened, processes were restarted, the clock was moved back a second or so, and the process continued past whatever transient condition led to the crash. Later, a forensic analysis could be done on the crash. In this case, the crash was consistent: whatever was causing it was happening every time the world got to one particular time (epoch + 189598974017). Whatever this condition was, maybe a code patch would need to be applied to get past the crash, or maybe direct intervention would be required to modify the condition. Either way, this was very bad. Everything would need to be taken off-line for X minutes or hours, where X was some unacceptably high number. If everyone was very lucky, a configuration change would be enough to solve the problem. The simulation would be shut down, the change would be made, and the simulation would be started again, right where it left off.
With an audible sigh and some muttered profanity, Anil pushed the Stop button and clicked “Yes” when asked “Are you sure?” He entered his regular password and a one-time password generated by an application on his phone, then typed a rationale for stopping the system, and sent Ken Lao this IM:
“Ken, we have a situation. At epoch + 189598974017, the system crashes consistently. Here’s a saved search you can use to find the crash logs: http://yggdrasil/crashlogs/?search=saved_search&id=12739420”
“Okay, one second…”
Ken found that the exit() method was getting called on an Agent. An agent can exit a sandbox world—which puts the agent back in the main world he or she had left – but not a main world. A quick search of the bug database revealed bug #1872412, title “Crash after calling exit() on an Agent in World with type World.MAIN.” Comments from QE indicated that, in spite of the severity of the bug, the priority was set to 4, the second-lowest priority, because QE and dev were unaware of any cases which would lead to this scenario. (The QE who wrote the bug had noticed that there was no unit or integration test for this method, and started to add one. In the process of adding the test, she hit the crash, and reported it.)
Waiting for Ken to type a response, Anil used his phone to check for new messages. He started a response to one, getting as far as “Hell y” before Ken started typing again. The message on his phone came from one of the other sysadmins, who asked if he wanted to play a game called Bellona after work. They would use the same gear visitors use to do a direct intervention to play team-based urban-combat, in which they would try to kill as many non-player characters and players on the other team as they possibly could.
“Okay,” Ken IM’d, “This looks like a known issue, bug 1872412, crash after calling exit on an agent in world with type World.MAIN. I need to look a little bit closer to figure out how this might be patched.”
Then Anil IM’d his manager.
“Hey, Tina, I’ve had to initiate a Stop. Here’s the situation: at epoch + 189598974017, the system crashes consistently. We’ve had about 800 respawns; the crash has occurred every single time. Ken Lao will investigate the failure, and give me a call back. I’ll let you know his time estimate for a fix or an intervention.”
“Well, shit. Okay, you keep working with Ken; let me know as soon as you know more.”
Then Anil did some more investigation on the proximate cause of one of the crashes. In the state dump in the crash log, there was an agent object with a GUID property; with that GUID it was easy to get to the history of the agent and determine its position and other particulars, such as the agent’s age, gender, weight, appearance, etc. He initiated Fly on the Wall, putting a camera in the room with the agent, and he saw that the agent was holding a developer console when the crash occurred. He sent Ken another IM with a URL he could use to access the Fly on the Wall session. (Ken IM’d back to thank him, and withheld the information that he’d already gotten that far.)
Then there was nothing else Anil could do. His investigation was as done as it could be, he had initiated a Stop, he had informed Ken of the situation, and everything else he could possibly have been investigating was a moot point because of the Stop.
After about fifteen minutes, Ken Lao called Anil. “The change is neither difficult nor risky. The exit method pops the visited-world stack—if an agent enters a sandbox, the sandbox world is pushed onto the stack – but it doesn’t check the world stack to see if it is empty, and the crash occurs when a null pointer is dereferenced. Apparently we didn’t think this would happen because—let me check the notes—okay, when a visitor enters the main world the visited-world stack already has one entry, the main world, and the only time exit is called on an agent is when one of us puts the agent into a sandbox and then takes him back out of it, which rarely happens. Okay.
“The fix is to make the method a no-op if the visited-world stack is empty, and I’ll also add an assert in debug. It’s a quick fix—I’ve already made the change locally and run some quick tests, and it just needs to be checked in and to go through build acceptance and get some testing from QE—but because it requires a code change, it will take about two hours to build, test and deploy.”
Anil heard “requires a code change” and “it will take about two hours” and ignored the rest.
Ken continued, “Luckily, we can use direct intervention: the crash happens when that agent picks Exit Simulation from the menu—I don’t know what she expected to happen [Ken laughed; Anil did not]—but we just have to get it away from her to prevent the crash. We have to do that anyway because we don’t want agents using Developer Consoles. Meanwhile, I can check in my change and we can get QE on it pretty quick and keep this from this happening again.”
Anil sighed. “Thanks, Ken.”
Anil called his manager. “Hi, Tina, Ken Lao has a fix, but it’s a code change, and it will take about two hours to build and test. Meanwhile, we’re going to go with direct intervention.”
Tina exhaled loudly. “Okay. This is going to be expensive. Okay, Anil, thanks—I’ll take it from here.”
Anil went back to his web browser. Tina called Kate Reed to set up the direct intervention.
“Okay, Tina. It looks like Reese will be the Visitor this time, because it’s in an English-speaking region. He’ll be ready in about fifteen minutes.”
Reese Thompson, preparing for a visit, sat down on a bench in a dingy white room waiting for the techs to finish their setup. One of them was picking out an avatar, selecting attributes intended to project an air of authority. Another was running tests on the hardware which Reese would be using. The last was deciding on the exact place and time of Reese’s entry.
Reese was only expected to be in the system for a short time. He was to enter just outside the door to the room the agent was in; he was to open the door, obtain the developer console, turn around, walk out the door, and exit the system. Reese looked at the avatar set up by the tech, and began to get himself into character. A nurse sedated him; she was not the cute one he was hoping for. He was scanned, a quick process. When he woke, he was in the basement of a house, standing outside a room where a teenager was holding the object he needed to retrieve.