Unexpected Rain
Page 22
Eyeball rubbed his hands together with delight. “We went to a ModPol auction, see? We’re all in disguise and shit. Like, not me, but some other dudes. ModPol makes tons of Alleys, so they’re always buying new ships and shit. They decommission the old ships and put ’em up for auction.”
“Uh-huh,” Jax said, trying to follow Eyeball’s excited gestures.
“So we bought us an old prisoner barge,” Eyeball continued with a series of quick winks. “Because Space Wasters are always gettin’ arrested, see? So we get an old prisoner barge, take ’er out to deep space, and then start raiding ’er!”
“You bought a barge and then attacked it? Attacked your own barge?” Jax gave him a sideways look.
“Doncha get it, Psycho Jack?” Eyeball leaned closer, as if he were about to speak in a low voice, but continued at the same volume. “We practiced on the old barge!” He sat back, grabbed his bottle of liquor and laid it on the table sideways. Fortunately, the cap was screwed on and the contents remained inside. “A couple of guys gotta sit in the thing and play defense. The rest of us track the ship.” He surrounded the bottle with his shot glass, Jax’s beer glass, and a salt shaker. “Then we come up on it and start hittin’ it with boarding tubes!”
Johnny Eyeball picked up the bottle again, popped the top, and refilled his shot glass. He pushed Jax’s beer back over to him and held up his own glass, as if making a toast. He grinned and winked. Jax picked up his beer cautiously and clinked it against the Space Waster’s shot glass. They both took a large gulp.
“Took us a couple tries, to get the timing down good.” A sad look crossed Eyeball’s face. “And the first time we do it for real, I gotta be on the inside and miss half the fun.” He sighed. “Ah, but anyway – even from the inside, I knew my own part in making the whole thing go smoothly. Practice makes perfect.”
“But I thought you were all about chaos,” Jax said acidly. He probably should have kept the challenging comment to himself.
Eyeball put his index fingers and thumbs together, forming a vague circle. “Order,” he said, then spread his fingers wide. “Into chaos. Crime takes discipline, you know.” He pointed at Jax. “I mean, you know. Right? You didn’t kill a couple dozen people without some planning, didja Psycho Jack? You must’ve had a practice run, didenja?”
The operator’s brain seemed to lock up and it tried to go in two directions at once. One of them was his real self, the one that wanted to stand up and declare his innocence, over and over again. The other was the criminal that he was pretending to be when he talked to Johnny Eyeball. The one who did this, the real psycho.
I know I’m innocent, he told himself. Now let’s just take a trip down this other road and see where it goes. He was afraid that if he went that way, he’d somehow relinquish that innocence, like confessing to a crime he didn’t commit. It was a risk he would have to take. It was time to be the murderer for a few minutes. If he was going to track down a murderer, maybe he should give a go at thinking like a murderer.
The criminal sitting across from Jax had a point. If he wanted to wipe out a whole block of people, he would have to do some planning. And clearly, X did some planning. He did some exploiting. But when it came down to it, whoever wrote the program, that’s the killer. That’s the hit-man. Maybe it was X himself, maybe it was someone who worked for X. Markus Stallworth and Linda Parsons were just pawns. Brandon Milton was a pawn. They didn’t know what they were passing along, what they were contributing to, and they didn’t want to know. But the programmer, whoever he was, he knew what he was doing. He might not have delivered the bomb, but he created the bomb. And when you make a bomb, you know it’s only used for one purpose.
The programmer who was somewhere on this planet, Sirius-5. Whoever he was, he knew he was making a murder weapon when he wrote the program that would open up a hole in the roof of a block.
“Yeah,” Jax said in a low voice. “I had to practice. You see, I killed those people by messing with their Life Support system. Inside a dome, the residences are all divided into blocks.” His hands chopped invisible squares into the table. “In each block, you have somewhere between twenty and fifty people. Each one has a Life Support system that functions mostly independently. That way if anything … bad … were to happen, you could isolate the incident to a single block.”
Jax took a pull of his beer, mainly to give himself a second to think, then continued. “So I needed a LifSup system to practice on. Just like you guys had to practice on a barge. My LifSup system couldn’t be one that was hooked up to a block, because then real people would get hurt and they’d be on to me before I got a chance to go after my real target. And if I went right after my target without practice, I’d never be able to be sure it would work right.”
“What do you mean by ‘it’?” Eyeball asked quietly. His eyes were unwinking and transfixed on Jax. “‘It’ would work right?”
“It,” Jax said. “Is a program. It’s a program that tricks the LifSup system into opening the outer and inner ventilation doors in a block at the same time. Many of the people – my victims – many died from being thrown about, along with all their worldly possessions, due to explosive decompression. Others who managed to keep from being impaled or crushed eventually asphyxiated.”
“Suffocated.” Eyeball held his breath as if trying just a taste of a horrible death by lack of oxygen.
Jax nodded, allowing his criminal-self, the role he was playacting, to revel in the untimely deaths of his victims. After a moment, he went on. “So in order to write the program, I had to get myself a LifSup system to test on. Decommissioned systems would be too unreliable, and most of them are recycled for parts anyway. They don’t auction those things like ModPol does with their ships that are only a few years old.” He was hypothesizing about this part, but the logic seemed firm. “So my best bet was to get one straight out of manufacturing.”
He paused and thought about the next step carefully. “I could have made friends with someone in LifSup manufacturing, got myself some contacts and acquired a unit that way.” Now he was more or less thinking out loud. “But I wanted to leave as small a trail as possible. I know all about these LifSup systems, so I went and got myself a job at a plant. I knew exactly what they’d be looking for to hire someone that would work in the final stages of production. Like – an inspector, for example.” Actually, he wasn’t sure if the programmer posed as an inspector or something else, like a floor engineer or shift supervisor, or whatever. In any case, the idea that he got himself a job at a plant was sounding pretty good.
“So I go to work in this plant,” Jax continued. “And I manage to get myself a LifSup system. Part of one anyway – the part that’s programmable. I take it home, and I write my malicious little program, and I make sure it works against my LifSup system.” He paused for a few seconds, then added. “I even wrote myself a little test routine, so I could run it again and again – just like you Space Wasters practiced your raid a couple times until you got it just right.”
“Hmm,” Eyeball said, looking through Jax, into nothingness. “Psycho Jack, kills people with a program,” he said to no one in particular. “So how did they catch ya?” he asked, but before Jax could answer, he sat up with a start. “Hey, if you weren’t on the barge, how the fuck did you even get out of jail?”
“Oh, I don’t fucking believe this!”
Jax and his table-mate were both startled by the loud and haggard voice that cut through the bar like an old, heavy ax. A couple of men came across the room, swift and blurry in Jax’s dark and foggy vision. They were large, tattooed, and apparently fairly well armed.
“Johnny!” said the older of the two men, slamming a fist down on the table. “What the hell are you doing? You’re not supposed to be drinking, goddammit!”
“Sorry, Cap’n,” Eyeball said, hanging his head. “You know how I hate these fuckin’ domes.”
Johnny’s captain sighed wearily. “Yeah, Johnny. I know.” He bent down on one knee and put
a hand on Eyeball’s shoulder. “We all hate ’em. But we got a job to do, ma boy, right? We brought you here for a reason. Dan is trying to track down that ModPol motherfucker that stole that transport ship from us, right? And we need your help, Johnny, because you seen most of the cops on that barge with your own eyes.”
The captain stood back up, which took a little effort. His skin wasn’t quite yellow like Eyeball’s, but more of an orangish color. He was older, maybe by a decade or so. “Now come on, Johnny. Hell, drinkin’ in domes is what landed ya in jail in the first place. The sooner we can find these cops, the sooner we can get the hell outta here.”
Johnny Eyeball sighed heavily, leaving his lips pouted outward. He hefted himself out of the chair, making a bit of a production of it. He slid the bottle closer to Jax. “You better take this, Psycho Jack.”
“Thanks, Johnny,” Jax said. “Good luck with the hunt,” he added.
“Yeah, thanks,” the gangbanger mumbled. He turned to the other man that came in with the captain, the one who hadn’t spoken yet. “Tell me you got a trail, Dan.”
“We had one,” came the quiet but sour reply. “Until we had to come back for you.”
“Ooh, whee,” Eyeball said mockingly. He swayed slightly; either trying to taunt the other man or simply the result of intoxication. “Bashful Dan ain’t so bashful today, issy?”
Bashful Dan ignored him and instead looked at Jax. “Who is this you’re drinking with, Johnny?”
“Huh?” Eyeball waved a dismissive hand in the direction of the operator. “Oh, that’s just Psycho Jack. We met on Barnard-4. In jail. He killed like, thirty people.” He held out his hands in front of him, looking at each of his companions to make sure he had their attention, before profoundly uttering, “With a program.”
“Right,” the captain said, taking hold of Eyeball’s massive arm. “Well, you can tell us all about that when we’re Xarping the hell outta here, Johnny. After we track down this piece-of-shit ship-thief.”
He practically dragged Johnny Eyeball out the door, as the drunk man winked angrily at no one in particular.
Jax realized the man called Bashful Dan was still staring at him. It wasn’t an attempt to intimidate or dominate or anything chest-pounding like that. It was with a genuine interest; one that made Jax very nervous. He looked at Jax like he was checking off notes in his head. Finally the man turned and followed the other two out the door.
Jax suddenly wished he knew where Runstom was.
Five minutes later, Runstom walked into the White Angle Saloon.
“Hey, Stan!” Jax said, waving an arm. “Over here.”
Stanford walked up to the table. Jax was clearly inebriated. “Jax. I just saw some Space Wasters. We gotta be careful. They might be after us.”
“Oh-ho.” Jax nodded heavily. “They’re after us, alright. After you, ’specially.” He aimed a weighty index finger at the officer.
Runstom sighed. “Yeah, me especially.” He looked around the dark bar. “You had your fill of this place yet?”
The operator gave him a funny look, as if he were wary.
“Look, Jax. I’m sorry I yelled at you. I got a little frustrated. Grav-lag, and cryo-hangover, and all that.”
Jax looked down for a moment, then looked back up at Runstom. “Okay,” he said. “I’m sorry too. For the whole Markus Stallworth thing. I shouldn’t have done that without telling you what I was gonna do.”
“Thanks,” Runstom said.
“And I’m sorry about all that stuff I said. About you being just an officer. And about ModPol being worthless and all that shit,” Jax continued.
“Right, okay,” Runstom sighed. “Thanks.”
“And I’m sorry for the other stuff too. You know, when I said you’re all just a bunch of repressed assholes and ModPol is just a company that makes money off the suffering of others and stuff.”
Runstom’s face contorted. His eyebrows dipped and creased and his jaw slid back and forth. His nostrils flexed and flared.
“You said that to me, pal,” the bartender said from behind Runstom. “Hey, buddy. You wanna drink or what?”
“Oh,” Jax said. “Oh. Ohhh. Well then I apologize to you, Mister Bartender.” He looked at Runstom. “Err, and you, too, of course. For all that stuff I said just now. Totally wrong.”
Runstom turned around. “No, I don’t want a drink. I’m leaving.”
“Wait,” Jax said. Runstom could hear the chair squeak as he struggled to his feet. The operator came around the front of him and blocked his way out. “Really, Stanford. I’m really sorry. But I have good news!”
“What?” Runstom said with a sigh.
“I know what we need to do next!” he said, grinning widely. “I know how we can get a lead on the programmer.”
Runstom mulled over a few dozen ways he could end the operator’s life right then and there. It afforded him a small amount of satisfaction and it allowed him to move on. “Okay, Jackson. What do we do next?”
“We need a hotel with a terminal. Not just a cheapo public terminal. An advanced terminal with privacy.”
CHAPTER 18
They got a room at Hotel Destino. It was a little upscale, but it was the cheapest place they could find where they could get an advanced private terminal in their room. Since they only had cash, they had to put it all up front, and now their stack of Alliance Credits was dwindling down to nearly nothing.
Jax had insisted on the terminal access. He said they couldn’t be certain what was in the unencrypted version of the program he had made a copy of when they were at Markus Stallworth’s apartment. He didn’t trust a public terminal. And he needed to be able to step through the program with debugging tools, which, he explained laboriously, meant that your run-of-the-mill standard terminal wouldn’t do.
The operator was alternately hammering away at the terminal, scribbling in a notebook, and taking slugs from a large bottle of Drunk-B-Gone they’d picked up at a corner store. The stuff was chock full of vitamins, electrolytes, caffeine, proteins, bacteria, enzymes, and god knows what else. It was designed to make the body process alcohol through its system faster. It was highly recommended that one drank excessive amounts of water alongside Drunk-B-Gone, and it was even more highly recommended that one had free access to a lavatory when consuming Drunk-B-Gone.
Jax hopped up and ran to the bathroom. Runstom strolled over to the terminal. The screen read:
230 IF X3 = 100 THEN GOTO 410
240 LET FG8 = X3
245 INPUT R9
… and so forth. Runstom’s eyes watered at the sight. He picked up the notebook. Jax had drawn a table, and in one column, there were things like A, B, C, FG6, FG8, R1, R9, X1, X2, and X3. Most of the column next to these strange codes was empty, although there was an occasional number or word.
“Scuse me,” Jax said, edging his way past Runstom and sitting back down at the terminal. He took the notebook from the officer’s hands. “See, this code is all obfuscated.”
“Right,” Runstom said. “What, uh. What exactly do you mean by that?”
“Well, for example: usually when a programmer writes code, they use meaningful variable names.” Jax flipped the notebook to an empty page. “Like if I wanted a variable to represent my block name, I might use block name,” he said, writing the phrase out to look like BLOCK_NAME. “But if I wanted to obfuscate the code – if I wanted to make it harder to read – I would name this variable something unrelated. Something random.” He crossed out BLOCK_NAME and wrote X2.
“So you’re trying to figure out what all those random things are?”
“Right. The fun part is, some of them don’t even mean anything.” Jax turned to look at Runstom.
Runstom must have given the operator a confused look, because Jax laughed. Or maybe he was just giddy from the side effects of Drunk-B-Gone. The operator’s hair was frazzled, matted in some places and spiking out in others. His eyes seemed to burn with intensity and when he blinked it was almost like he was
blinking hard – squeezing his eyes shut tight for a second then springing them open again. No further explanation came, so Runstom was forced to say, “I don’t follow.”
“Okay, first let me show you a real simple operation.” He wrote on the notebook:
LET BLOCK_NAME = “23D”
“All I did there was set one variable, BLOCK_NAME, to have a value of ‘23D’.”
“Let block name equal 23D,” Runstom read aloud. “I guess that makes sense.”
“Exactly, it makes sense like that, but watch what happens when we do some obfuscation.” Jax scribbled several lines of nonsensical math-like code into the notebook that caused Runstom to feel seasick.
10 LET X1 = “3”
22 LET X2 = “2”
30 LET X3 = “7”
34 LET X4 = “9”
40 LET X5 = “A”
51 LET X6 = “D”
60 IF 1 > 0 THEN GOTO 80
70 LET Z1 = X1 + X2 + X3
80 LET Z1 = X2 + X1 + X6
“There, you see?” Jax said. “This is a bit of a contrived example, but anyway. This Z1 variable, that’s the same as our BLOCK_NAME above. But instead of a simple variable assignment operation, we have all this extra junk in here. First of all, we have these line numbers that don’t exactly fit a logical pattern. That right there is going to send a well-disciplined programmer running screaming for the hills.”
“Running for the hills sounds nice right about now,” Runstom muttered.
Jax ignored him and continued. “Anyway, if you were scanning this code, visually, you might see this line 70 here and think that the Z1 variable was assigned to X1 + X2 + X3. Well, then you’d look back at those X’s,” he said, pointing to the first couple of lines and then writing “3” + “2” + “7” just above the X1 + X2 + X3, “and think that Z1 was given a value of ‘327’.”