Authors: Dru Pagliassotti
“They aren't officially linked to Alister's death.” Cristof narrowed his eyes. “And if later it turns out they are⦠well, that wouldn't be my fault.”
“Waitâ what do you mean, âsuspended'? Are you working with the lictors or not?” Lars rumbled, looking suspicious.
“I'm working with the lictors and I'm investigating my brother's murder.” Cristof turned, his angular frame diminished by Lars' girth. “Just not at the same time.”
The five looked at each other.
“Slag it,” Victor said at last. “Alister's his brother. A man has to avenge his brother.”
“He spoke highly of you, Exalted,” Kyle said, turning and taking the cards. The other four crowded around, and they passed the bundle back and forth. “He said you were logical and precise, and if the Council had brains instead of beads, it would have made you decatur, instead of him.”
“That's not the impression he gave when he spoke to me,” Cristof muttered.
“Really?” Kyle gave the exalted a long look over the bowed heads of his friends. “He told us he was modeling one of his most important programs after you.”
Cristof made an angry sound and Taya looked at him, surprised. Kyle blinked, then looked back down at the cards.
“Anyway, if you'll give us some time, we need to skim through the perfs ⦠the perforations, the punches ⦠to figure out what you have here.”
The exalted nodded and turned, stalking off to the other end of the room.
Taya trailed after him. She wanted to apologize for letting his status on the investigation slip, but the words died on her lips.
Cristof was standing with his fists jammed into his coat pockets, his shoulders high and his eyes fixed on the metal dance of the analytical engine's pistons and gears.
He looked so miserable that she reached out and touched his shoulder.
“It would help if you just let yourself cry,” she murmured.
He jerked his shoulder away.
“It wouldn't help anything.”
“It would help you.” She swallowed, her own grief too close for comfort. “You shouldn't hide your feelings. I thought the whole idea was that you didn't want to wear a mask anymore.”
His breath hissed as he turned his back more firmly on her.
“I think it's nice that Alister talked about you to his friends,” she said, trying one last time to reach him. “He told me about you, too. He said he loved you and that he wished you realized that. And he insisted he was going to talk to you before he talked to the lictors because he couldn't believe you were a terrorist. He said it had to be a mistake.”
“Stop defending him,” Cristof said, his voice harsh. “You heard what that skinny girl said. Alister was just worming his way into your confidence, the way he always did.”
Taya drew back, stung. She'd been making herself sick thinking the same thing, but it was different to hear the words from somebody else.
“You don't know that,” she argued, trying to convince herself as much as Cristof. She wiped her face, feeling a tear trickle down her cheek. “That's a terrible thing to say. Alister was charming and kind and sincere.”
Cristof turned.
“Don't.” His voice was severe. “Don't start crying, Icarus.”
“I can't help it.” She sniffed. “I can't believe he's gone. And Exalted Octavus, too. I lost two new friends in one day.”
“Hey ⦠do you need any help over there?” Lars asked, looking across the room. He sounded concerned.
“Just find out what's on the damn cards,” Cristof snapped.
Taya swallowed, angry with herself. She'd hoped to make it back home before the tears started.
Cristof dug into a pocket and thrust a handkerchief into her hands, then pulled off his glasses. “Spirits! Would you please stop?”
She looked up. Her tears had set him off. Just what she'd been afraid of, back in the bar. She wiped her eyes and handed back his handkerchief. He grabbed it.
“It's wet,” he complained.
She gave a half-laugh, half-sob.
“Then you should have started first,” she said.
“I have no intention of starting at all!” He sounded angry as he scrubbed at his face.
She tugged the handkerchief out of his hands again and blew her nose in it.
“Grieving's part of being human, you know.” She looked up at him and took a shuddering breath. “I bet even exalteds cry when they lose a brother.”
He ran his hands over his face, his spectacles dangling from his fingertips, and walked away. Taya pressed her knuckles against her mouth. She'd upset him even more. She crouched, her metal feathers scraping the floor, and wrapped her arms around her keel as all the physical and emotional stress of the day caught up with her at once.
A few minutes later Cristof dropped to one knee in front of her. He pushed her hair away from her face. His fingers were cold on her hot forehead.
“Stop crying. Alister wouldn't want you to cry for him.”
She looked up, sniffing, and wiped her nose on his handkerchief. He'd put his spectacles back on, although his eyes were red.
“His team knows that. Alister would have appreciated their wake.” Cristof wiped a tear off her cheek. He looked weary. “He never had any time for grief.”
“He didn't?” Taya asked, ducking her face from his hand and rubbing her eyes.
“I never saw him cry, after our parents' funeral.” Cristof studied her. “That's better.”
“No, it's not.” She took a deep breath and looked over his shoulder at the programmers. The five of them were studiously ignoring them. “Do you think he was manipulative?”
“Spirits.” Cristof pressed his lips together, then sighed. “What do you mean by manipulative? He liked smart, talented women. It wouldn't surprise me if he said things to impress you. I expect most men do. Is that manipulative or natural?”
“Thank you.” Taya forced a cheerless smile. “I didn't⦠I didn't like the way Emelie talked about him.”
“Neither did I.” He stood, paused, and then opened his hand. “Stand up.”
She took it, grateful for the contact. His hand was cold but steady, his fingers thinner and harder than his brother's. She let him pull her to her feet.
“Okay.” She wiped her face one last time. “I think I'm all right now.”
“Good.”
She adjusted her flight suit and shoved his handkerchief into her pocket. Then she straightened her shoulders and walked back to the programmers. He followed.
“Is everything okay?” Kyle asked.
“Yes. Just â just delayed reaction.” She bit her lip and looked down at the punch cards lined up on the table. “So, what are they?”
“Well, they're obviously Great Engine cards.” Kyle made room for her and Cristof. “You can tell because they're wider and longer than normal cards and made out of tin instead of paper. The numbers on the edge identify the card's order in the program. You've got twenty-five cards out of a deck of a hundred.”
“Is that a lot? A hundred?”
“No. In fact, it's a very small program, for the Engine.”
“What good would part of a program do anybody?” Cristof asked, pushing up his glasses as he leaned over the table to study the numbers. “What's the code in front of the number?”
“It tells the operator which program the card belongs to,” Victor said. “After you've dropped a box of cards the first time, you realize how important it is to label them.”
“OCAE stands for Oporphyr Council Analytical Engine, the official name of the Great Engine,” Isobel explained.
“SA stands for Security Access,” Victor added. “Also known as Labyrinth Code.”
Kyle tapped the numbers that followed. “Version three, copy two, card twelve of one hundred. We're not sure what these numbers are, but we think it's part of the randomizing formula.”
“The Labyrinth Code is the Engine's security program, right?” Taya picked up one of the cards, examining its block of punches with wonder. She'd never seen the Great Engine or one of its cards before. “So if somebody got this, they could use the Engine?”
“Well, they'd need seventy-five more cards, first,” Lars said. “My guess is that whoever stole these couldn't get the rest. Tin cards get heavy fast, so they're probably stored in four boxes of twenty-five each, and your thief only had the chance to grab one.”
“It'd be easier to smuggle the program out one box at a time,” Victor added. “He may have been planning to go back for the rest.”
“Since these cards are labeled as copy two, we think they're part of the backup copy, which would be stored away someplace on site in case one of the master cards gets damaged,” Emelie said. “The backup would be easier to steal than the working program. It could take months before anybody noticed a backup was missing.”
Cristof straightened.
“How hard would it be to reconstruct the whole program if all you had were these twenty-five cards?”
“Impossible,” Kyle replied. “It's nicknamed Labyrinth for a reason. Five different teams worked on it, each team under orders to create a code with no recognizable pattern. Then one high-security team assembled a metaprogram to govern each of the other five codes.”
“People say it's impossible to write a program that's entirely random,” Victor said, stroking his beard. “But five teams trying to be random will create a program that's random enough for most purposes.”
“Labyrinth Code is fed into the Great Engine once a day and once a night to make sure nobody can just dance into the Engine Room and run a new program while nobody's looking,” Lars elaborated. “The first time unlocks the Engine, and the second time locks it again. Each of the five subroutines in the Code needs to be run, but they can be run in different orders. So let's say you're trying to guess a code with five variables. One's a number, one's a letter, one's a color, one's the name of animal, and one's, uhâ”
“A musical note,” Isobel suggested.
“Right. Pretty tough to crack, right? Lots of possible answers for each variable. But the code is even harder to crack if the order of the five variables is shuffled each dayâ one day the musical note is the first key, and the next day the animal is the first key, and so on.”
Taya nodded.
“So even if your thief manages to get all hundred cards, he's still got to know which order to run the cards in on any given day. There are five variables â the subroutines. That's one hundred and twenty possible order permutations.” Lars shook his head. “Your thief sneaks in some night and runs the program to unlock the Engine. Let's say it takes half an hour to run the cards through, and that's a modest projection. He doesn't get the order right the first time, so he runs the cards through in the next configuration. If his luck is really rotten, it could take him sixty hours â two and a half days â to stumble on the right order.”
“That's too long to be feeding cards into the Engine.” Emelie folded her arms over her chest. “Even over a holyday, someone would notice the thief working â a cleaner, or a lictor, or someone.”
“And then, don't forget that our thief still has to run whatever program he broke into the Engine to use in the first place,” Lars finished. “Which could take several more hours. And then another half hour to reset Labyrinth Code so nobody knows he was there.”
“Assuming he cares,” Victor added.
“He'd save time if he knew what order to run the cards in. Who would know?” Taya asked. The programmers shrugged, looking at each other.
“That's not our area,” Kyle said.
“The chief technician, maybe,” Lars ventured.
“I'd randomize the order,” Isobel said. “Draw straws each evening to decide. That would make it even harder to guess.”
“Would anyone on the Council know the order?” Cristof asked.
“I don't see why they would,” Lars replied. “Decaturs don't work on the mighty machine. Even Alister handed his programs over to the engineers when he was done. None of us have ever fed a program into the Great Engine ourselves.”
“You said Alister helped write the Labyrinth Code,” Taya said, looking at Emelie.
“That's what he told me. He was just starting University. He said one of his professors was so impressed by his portfolio that she brought him onto the project to do code clean-up, and in no time at all he was on one of the teams.”
“Is this his piece of the code?” Cristof asked.
“Hard to say.” Kyle sat down and poured himself a fresh mug of beer. As if it were a signal, the rest of the programmers sorted themselves out and refreshed their drinks. “Do you know anything about programming, Exalted?”
“I don't need another lecture,” Cristof said, with a touch of his usual acerbity.
Kyle sighed.
“This program was assembled in a relatively simple language, and you've only got twenty-five cards. That doesn't provide much room for a programmer's personal style to show up.”
“But it
is
possible to figure out who wrote a program?” Cristof asked.
“Theoretically. After a while, you get used to seeing other people's programming shortcuts, and we reuse parts of our old programs whenever we can,” Lars explained. “So, given a long enough program, we could probably parse out the author, especially if it was someone we'd worked with before, like Alister. We've been dealing with his programming quirks for nearly a year.”
“The problem is,” Kyle picked up the thread, “Labyrinth was designed to avoid anything predictable, which includes any single programmer's preferences. And not only that, but if Emelie and Victor are right, this would be one of Alister's early jobs, before he developed most of the routines he uses now.”
“In other words, you don't know,” Cristof summarized. “You could have just said that.”