"Unlock the goddamn door."
"Is your door locked?"
"Unlock it, damn it."
"It was only for your own protection."
"Ricky," I said, "open the damn door."
"I already did. It's open, Jack."
I walked to the door. He was right, it opened immediately. I looked at the latch. There was an extra bolt, some kind of remote locking mechanism. I'd have to remember to tape over that. On the monitor, Ricky said, "You might want to take a shower."
"Yeah, I would. Why is the air so loud?"
"We turned on full venting in your room," Ricky said. "In case there were any extra particles."
I rummaged in my bag for clothes. "Where's the shower?"
"Do you want some help?"
"No, I do not want some help. Just tell me where the goddamn shower is."
"You sound angry."
"Fuck you, Ricky."
The shower helped. I stood under it for about twenty minutes, letting the steaming hot water run over my aching body. I seemed to have a lot of bruises-on my chest, my thigh-but I couldn't remember how I had gotten them.
When I came out, I found Ricky there, sitting on a bench. "Jack, I'm very concerned."
"How's Charley?"
"He seems to be okay. He's sleeping."
"Did you lock his room, too?"
"Jack. I know you've been through an ordeal, and I want you to know we're all very grateful for what you've done-I mean, the company is grateful, and-"
"Fuck the company."
"Jack, I understand how you might be angry."
"Cut the crap, Ricky. I got no goddamn help at all. Not from you, and not from anybody else in this place."
"I'm sure it must feel that way ..."
"It is that way, Ricky. No help is no help."
"Jack, Jack. Please. I'm trying to tell you that I'm sorry for everything that happened. I feel terrible about it. I really do. If there were any way to go back and change it, believe me, I would."
I looked at him. "I don't believe you, Ricky."
He gave a winning little smile. "I hope in time that will change."
"It won't."
"You know that I always valued our friendship, Jack. It was always the most important thing to me."
I just stared at him. Ricky wasn't listening at all. He just had that silly smile-and-everything-will-be-fine look on his face. I thought, Is he on drugs? He was certainly acting bizarrely.
"Well, anyway." He took a breath, changed the subject. "Julia's coming out, that's good news. She should be here sometime this evening."
"Uh-huh. Why is she coming out?"
"Well, I'm sure because she's worried about these runaway swarms."
"How worried is she?" I said. "Because these swarms could have been killed off weeks ago, when the evolutionary patterns first appeared. But that didn't happen."
"Yes. Well. The thing is, back then nobody really understood-"
"I think they did."
"Well, no." He managed to appear unjustly accused, and slightly offended. But I was getting tired of his game.
"Ricky," I said, "I came out here on the helicopter with a bunch of PR guys. Who notified them there's a PR problem here?"
"I don't know about any PR guys."
"They'd been told not to get out of the helicopter. That it was dangerous here."
He shook his head. "I have no idea ... I don't know what you're talking about."
I threw up my hands, and walked out of the bathroom.
"I don't!" Ricky called after me, protesting. "I swear, I don't know a thing about it!" Half an hour later, as a kind of peace offering, Ricky brought me the missing code I had been asking for. It was brief, just a sheet of paper.
"Sorry about that," he said. "Took me a while to find it. Rosie took a whole subdirectory offline a few days ago to work on one section. I guess she forgot to put it back. That's why it wasn't in the main directory."
"Uh-huh." I scanned the sheet. "What was she working on?"
Ricky shrugged. "Beats me. One of the other files."
/*Mod Compstat_do*/
Exec (move{? ij (Cx1, Cy1, Cz1)} )/*init */
{ ij (x1, y1, z1)} /*state*/
{ ikl (x1,y1,z1) (x2,y2,z2) } /*track*/
Push {z(i)} /*store*/
React <advan> /*ref state*/
?1 {(dx(i, j, k)} {(place(Cj,Hj)}
?2 {(fx,(a,q)}
Place {z(q)} /*store*/
Intent <advan> /*ref intent*/
?ijk {(dx(i, j, k)} {(place(Cj,Hj)}
?x {(fx,(a,q)}
Load {z(i)} /*store*/
Exec (move{? ij (Cx1, Cy1, Cz1)} )
Exec (pre{? ij (Hx1, Hy1, Hz1)} )
Exec (post{? ij (Hx1, Hy1, Hz1)} )
Push { ij (x1, y1, z1)}
Chapter 16
{ ikl (x1,y1,z1) move (x2,y2,z2) } /*track*/ {0,1,0,01)
"Ricky," I said, "this code looks almost the same as the original."
"Yeah, I think so. The changes are all minor. I don't know why it's such an issue." He shrugged. "I mean, as soon as we lost control of the swarm, the precise code seemed a little beside the point to me. You couldn't change it, anyway."
"And how did you lose control? There's no evolutionary algorithm in this code here." He spread his hands. "Jack," he said, "if we knew that, we'd know everything. We wouldn't be in this mess."
"But I was asked to come here and check problems with the code my team had written, Ricky. I was told the agents were losing track of their goals ..."
"I'd say breaking free of radio control is losing track of goals."