"I think I used a gender-changer when I hooked up my spectroscopes," Klicks said. He stepped over to the compact lab and started rummaging around. "Here it is." Klicks handed the little doodad to me, and we completed the connection between the radio and my palmtop computer. "Now can you send the signal?"
"Yes, but only in one frequency at a time, and — damn it. It would take all afternoon to send that binary sequence in even a small sampling of possible radio frequencies." I shook my head, discouraged. It had sounded like such a good idea. "Besides, we don’t even know how long each of the binary pulses should be."
"One time-keeping unit each." Klicks paused, realizing what he’d just said. "That means if we get the right number for the frequency, we’ll automatically have the right length for the pulses." He paused once more, straining to hear that inner voice again. "And don’t bother trying to modulate the bits into the carrier wave. Just send them directly by interrupting the transmission for the zeros."
"Okay." I wished my nose would stop hurting. "I’ll write a little program to try different variables for the length of the time-keeping unit." The cable wasn’t long enough to reach back to my crash couch, so I had to type standing up, my palmtop balanced on the fake woodgrain molding that surrounded the radio console. "Any guess as to what value we should start with?"
Klicks closed his eyes. "Try … try four or five seconds. I don’t know, but that
The radio console could only accept instructions in CURB, a standard communications-processor language. It’d been ages since I’d programmed anything in that. I hoped I remembered enough; we certainly didn’t have time for me to thumb through the on-line manual. My fingers danced, calling up a little calculator. I worked out three-to-the-thirteenth, the number of cycles per unit of Martian time Klicks had specified, then typed:
Another ceratopsian head smashed against the hull, and this time it ruptured. I heard the roar of water rushing out of the tank beneath our feet. Bet that surprised them.
I decided to start a little lower than Klicks’s guess.
The ship shook again as a triceratops skull smashed against it. "Can’t you go any faster, Brandy?"
"Do you want to do it, fathead?"
"Sorry." He backed away.
The horns had pierced the hull in enough places now to loosen a large piece of it. Through the glassteel, I could see the ceratopsian lumbering off.
I typed out the program’s final line, then issued the compile command. One, two, three error messages flashed on the screen, along with the corresponding line numbers. "Boolean expression expected." "Type mismatch." "Reserved word."
"What’s wrong?" said Klicks.
"Error messages. I made some mistakes."
"Did you want — ?"
"Shut up and let me fix them, please." I switched back to the program editor and hit the key to jump to the first error. Ah, the Boolean problem was simple enough: just a typo, "adn" instead of "and"; serves me right for running with AutoCorrect turned off. I fixed the misspelling.
I swung briefly around. A boneheaded pachycephalosaur was ramming its skull against the perforated hole in the wall. It was now painfully obvious what the Het we had found inside the dissected bonehead had been up to: evaluating the dinosaur’s potential as a living battering ram. How fortunate they’d been able to find an application for it so quickly. "They’re almost through," shouted Klicks.
I tapped out the command that jumped the cursor to the second error.
The self-harmonizing notes from the trombone-crested parasaurolophus split the air, presumably calling out for the bonehead to charge again.
The cursor jumped to the third error. Reserved word? That meant the name I’d chosen for a variable — FREQUENCY — was one the program didn’t allow, because it used it exclusively for some other function. Okay, let’s try a different name. Call it SAVE_ASS, and hope that it does. I almost cracked the palmtop’s tiny case with the force with which I bashed out the compile command again.
I held my breath until the message flashed in front of my face: "Compilation successful. No errors."
"Got it!" I said.
"Terrific!" crowed Klicks. "Start transmitting." I highlighted the program file name and held my finger above the Enter key.
"Hit the damn key!" said Klicks.
"I…"
"What’s wrong?"
"You know what’s going to happen/’ I said. "I’m not sure I can…"
"If you don’t want to press it, I will."
I looked at him, held his gaze. "No," I said. "Failing to act is a decision in and of itself." I pressed down on the key. The program started running and the radio began transmitting.