Выбрать главу

S…J…R…N…R…N…O…T…R…S…P…N…D

Damn. Any other ideas? Need faster communication.

W…O…R…K…I…N…G…O…N…I…T

Earth is about to set. Resume 08:00 my time tomorrow morning. Tell family I’m fine. Give crew my best. Tell Commander Lewis disco sucks.

•••

VENKAT BLINKED his bleary eyes several times as he tried to organize the papers on his desk. His temporary desk at JPL was nothing more than a folding table set up in the back of a break room. People were in and out picking up snacks all day, but on the plus side the coffeepot was nearby.

“Excuse me,” said a man approaching the table.

“Yes, they’re out of Diet Coke,” Venkat said without looking up. “I don’t know when Site Services refills the fridge.”

“I’m actually here to talk to you, Dr. Kapoor.”

“Huh?” said Venkat, looking up. He shook his head. “Sorry, I was up all night.” He gulped his coffee. “Who are you again?”

“Jack Trevor,” said the thin, pale man before Venkat. “I work in software engineering.”

“What can I do for you?”

“We have an idea for communication.”

“I’m all ears.”

“We’ve been looking through the old Pathfinder software. We got duplicate computers up and running for testing. Same computers they used to find a problem that almost killed the original mission. Real interesting story, actually; turns out there was a priority inversion in Sojourner’s thread management and—”

“Focus, Jack,” interrupted Venkat.

“Right. Well, the thing is, Pathfinder has an OS update process. So we can change the software to anything we want.”

“How does this help us?”

Pathfinder has two communications systems. One to talk to us, the other to talk to Sojourner. We can change the second system to broadcast on the Ares 3 rover frequency. And we can have it pretend to be the beacon signal from the Hab.”

“You can get Pathfinder talking to Mark’s rover?”

“It’s the only option. The Hab’s radio is dead, but the rover has communications equipment made for talking to the Hab and the other rover. Problem is, to implement a new comm system, both ends of it need to have the right software running. We can remotely update Pathfinder, but not the rover.”

“So,” Venkat said, “you can get Pathfinder to talk to the rover, but you can’t get the rover to listen or talk back.”

“Right. Ideally, we want our text to show up on the rover screen, and whatever Watney types to be sent back to us. That requires a change to the rover’s software.”

Venkat sighed. “What’s the point of this discussion if we can’t update the rover’s software?”

Jack grinned as he continued. “We can’t do the patch, but Watney can! We can just send the data, and have him enter the update into the rover himself.”

“How much data are we talking about?”

“I have guys working on the rover software right now. The patch file will be twenty meg, minimum. We can send one byte to Watney every four seconds or so with the ‘Speak&Spell.’ It’d take three years of constant broadcasting to get that patch across. Obviously, that’s no good.”

“But you’re talking to me, so you have a solution, right?” Venkat probed, resisting the urge to scream.

“Of course!” Jack beamed. “Software engineers are sneaky bastards when it comes to data management.”

“Enlighten me,” said Venkat.

“Here’s the clever part,” Jack said, conspiratorially. “The rover currently parses the signal into bytes, then identifies the specific sequence the Hab sends. That way, natural radio waves won’t throw off the homing. If the bytes aren’t right, the rover ignores them.”

“Okay, so what?”

“It means there’s a spot in the code base where it’s got the parsed bytes. We can insert a tiny bit of code, just twenty instructions, to write the parsed bytes to a log file before checking their validity.”

“This sounds promising…,” Venkat said.

“It is!” Jack said excitedly. “First, we update Pathfinder so it knows how to talk to the rover. Then, we tell Watney exactly how to hack the rover software to add those twenty instructions. Then we have Pathfinder broadcast new software to the rover. The rover logs the bytes to a file. Finally, Watney launches the file as an executable and the rover patches itself!”

Venkat furrowed his brow, taking in far more information than his sleep-deprived mind wanted to accept.

“Um,” Jack said. “You’re not cheering or dancing.”

“So we just need to send Watney those twenty instructions?” Venkat asked.

“That, and how to edit the files. And where to insert the instructions in the files.”

“Just like that?”

“Just like that!”

Venkat was silent for a moment. “Jack, I’m going to buy your whole team autographed Star Trek memorabilia.”

“I prefer Star Wars,” he said, turning to leave. “The original trilogy only, of course.”

“Of course,” Venkat said.

As Jack walked away, a woman approached Venkat’s table.

“Yes?” Venkat said.

“I can’t find any Diet Coke, are we out?”

“Yes,” Venkat said. “I don’t know when Site Services refills the fridge.”

“Thanks,” she said.

Just as he was about to get back to work, his mobile rang. He groaned loudly at the ceiling as he snatched the phone from his desk.

“Hello?” he said as cheerfully as he could.

“I need a picture of Watney.”

“Hi, Annie. Nice to hear from you, too. How are things back in Houston?”

“Cut the shit, Venkat. I need a picture.”

“It’s not that simple,” Venkat explained.

“You’re talking to him with a fucking camera. How hard can it be?”

“We spell out our message, wait twenty minutes, and then take a picture. Watney’s back in the Hab by then.”

“So tell him to be around when you take the next picture,” Annie demanded.

“We can only send one message per hour, and only when Acidalia Planitia is facing Earth,” Venkat said. “We’re not going to waste a message just to tell him to pose for a photo. Besides, he’ll be in his EVA suit. You won’t even be able to see his face.”

“I need something, Venkat,” Annie said. “You’ve been in contact for twenty-four hours and the media is going ape shit. They want an image for the story. It’ll be on every news site in the world.”

“You have the pictures of his notes. Make do with that.”

“Not enough,” Annie said. “The press is crawling down my throat for this. And up my ass. Both directions, Venkat! They’re gonna meet in the middle!”

“It’ll have to wait a few days. We’re going to try and link Pathfinder to the rover computer—”

“A few days!?” Annie gasped. “This is all anyone cares about right now. In the world. This is the biggest story since Apollo 13. Give me a fucking picture!”

Venkat sighed. “I’ll try to get it tomorrow.”

“Great!” she said. “Looking forward to it.”

LOG ENTRY: SOL 98

I have to be watching the camera when it spells things out. It’s half a byte at a time. So I watch a pair of numbers, then look them up on an ASCII cheat sheet I made. That’s one letter.

I don’t want to forget any letters, so I scrape them into the dirt with a rod. The process of looking up a letter and scraping it in the dirt takes a couple of seconds. Sometimes when I look back at the camera, I’ve missed a number. I can usually guess it from context, but other times I just miss out.