A repost from last year for Halloween…
Thomas Bennett drifted in the soft webbing of the zero-G bed, his sleeping bag velcroed shut about him. The station purred and whirled the morning into his head, pressing the noise into his consciousness, despite the nagging pain it caused. Yawning, he eased the bag open and pulled himself, hand over hand, from the bed and towards the shower tank.
“Morning monsters,” he said, addressing the genetically engineered fish that flickered briefly behind the windows.
By way of a reply, they flickered away from him.
He pulled the facemask on over his nose and mouth, and engaged the shower cycle, spinning in the streams of droplets and warmed over air. He watched the warm water slowly accumulate on his skin, enveloping his body in shimmering, rippling globules. Then the surface tension broke as soaps blended with the flow of water. The drops and globules burst into bubbles and foam, that clung loosely as Thomas rubbed the suds into his lean body. He closed his eyes against the soap and bubbles as he worked the cleansing mixture around. The shower shifted to a shock of cooler, clean water again and then finally a drying breeze. The warm, dry air ceased, leaving him to mop the few remaining drops with a large towel that plopped from a cabinet. He dabbed and rubbed, rolling about the inside of the tank, before shoving the towel back into the dryer-cabinet, and swinging himself out through the hatch.
He pulled on his underwear, then shrugged on his ship suit, and checked the plumbing, before he thumbed the door panel open.
“Good morning, Thomas,” the station said. A camera pod, that had spent the night drifting just outside the door, whirled its fans to focus on his face.
“Morning, what’s first today?” he asked the pod. The distributed computers, some beyond the fish tanks, some closer in near the power hub processed the question almost instantly; they then calculated vocal nuances for the calculated output statements.
“Today, you have a scheduled maintenance check of all systems,” the pod responded with just a hint of curtness.
“All systems? Why do I have to check everything today?” he asked before he had remembered.
The pod had already responded, before he waved it to silence, “Tomorrow we enter Sun-shadow, all—”
Sun-shadow, sometime tomorrow, he would lose contact with Earth for the next three weeks. There would be no direct communications, anything he wanted to send would have to route around the Sun’s mass, he’d be able to bounce a message off Jupiter, Mars or one of the inner relays, but normal traffic would fall off completely. He’d no longer be the main out-system pipeline relay, and that would mean he’d be taking individual systems off-line into diagnostic mode, and maybe running some repairs, before the station drifts back around into Earth-sight again.
“Okay, lead on MacDuff,” he said.
The Pod hung motionless and said, “Did you mean ‘Lay on MacDuff’, Thomas?”
“Pedant, just show me the itinerary.”
The Pod reversed, showing him a glowing screen, the text seeming to hang a few inches in front of the dark blue Inter-Plan-Net logo.
“Really? I’d better grab a breakfast bar as we head past…”
“Recalculating itinerary,” the Pod responded, with the data shuffling slightly on the screen.
Still huffing slightly at the result, Thomas pulled himself off down the corridor, jack-knifing through a hatch into the wider companionway that lead to the core and the kitchen.
“Scat!” he flapped his hand at the window, and the fish on the other side, darted out of sight. He thumbed the toilet’s spray, and then drier, before setting the bag and its contents on its way. He listened to the soft thumps as it bounced its way along tubes out the outside of the ship. Where vacuum and hard radiation would eradicate bacteria, before the recycling process started, wouldn’t do to waste those amino-acids and proteins.
Two fish swept passed the window, belly to belly, neither caring that they were the wrong way up. Their breed had been engineered not to care, well not to care and to taste good. Rumour was they’d engineered the fish DNA to insure that they provided everything a human body might need, there were even rumours that they contained caffeine and theobromine, like a good cup of tea.
Thomas left the bathroom and the bright yellow stand-by Pod purred into sight, Pod One was probably on recharge now.
“How long on the Timer?”
“You have four hours, thirty-seven minutes until Sun-shadow, Thomas, would you like a countdown?” this Pod talked in a softer tone, an artifice of the programming intended to give the stand-by Pod a slightly different personality.
“Just on the half-hours, please.”
“Confirmed, verbal countdown set to the half-hours, okay?”
“Yes, thank-you, remind me to put in a complaint about that behaviour please,” he added.
“Do you mean the verbal command confirmation behaviour, Thomas?”
“Yes, and confirm, okay already.”
“The next itinerary item is Atomic clock synchronization.”
“Okay, Pod let’s go.”
“Broadcast purge completed, all data sent, shutting down Earth-link, Thomas”
“Okay, Pod, is that it?”
“All systems checked, reports sent, additional reminder: Thomas you set a reminder to complain about the verbal command confirmation behaviour, do you wish to file the bug report now?”
“No, it can wait — I’ll have plenty of time to do that. I think I need to eat, Pod.”
“Thomas, this evening’s meal is fish pie. Should I initiate preparation?”
“Sure, catch me a fish, then I’ll get on with the rebalancing the secondary storage.”
Out in the tank, a needle sharp, harpoon remote, slid out in the water, it darted towards the nearest shoal of fish and speared one with ease, before it retracted into the food processors. Automated systems, immediately profiled the fish, before scaling and filleting it. The proteins were found fit for human consumption and preparation began. Robotic limbs in the root vegetable assembly selected potatoes and snipped them from the growth gel.
An hour later Thomas sat down for the fish pie, carefully cooked in the centrifugal oven, before being allowed to cool to a perfect temperature. The crisp, fluffy crust snapped under the pressure of a fork. Sea scents released from beneath the toasted crust of potatoes rushed to fill the room.
Thomas indulged himself, sipping a drink from a globular flask in between forkfuls he carefully shepherded to his mouth.
“Get away!” He flapped at the window, startling the fish away. Four of them had been hanging in various rotations, scraping their lips against the plas-glass, probably nibbling on the fine algae that occasionally collected in a film there.
After he’d eaten, he recorded some video messages, one to his sister in London and one to his best friend in New York, both consisted of an update, and a reminder that he was passing behind the Sun and all messages could take over an hour to reach him. He had little to report, but instead asked them how they were and recorded responses to their possible answers, prompted by the computer. He struggled over his response to bad news, and decided to leave that blank instead.
“If they have bad news for me, I’d rather respond to their message live,” he told the Pod.
“Okay, Thomas, do you want me to send them as is?”
“Are you sure? I have detected a number of grammatical and —”
“Just send them! Okay?”
“Confirmed, files are queued for broadcast.”
“Right, then I’m going to bed? What do I have for tomorrow?”
“Tomorrow is a rest day, Thomas. You have light duties only, beginning at ten-thirty station time.”
“Okay, G’d night,”
“Good night, Thomas, taking station to night mode.”
The bright corridor lights dimmed as Thomas moved back towards his room. He picked up a tab and watched a newscast for a while, before thumbing it off and sacking in.
Thomas woke with a strange sensation; he lay still nestled in the sleeping bag and webbing. He was being watched. He slowly open one eye a crack and stared around the space he could see. The tab floated near the shower in standby.
He moved his head slightly and caught a glimpse through the window of a humanoid form, the figure was staring straight in through the window. He reached forward for the tab, hoping to snap a photo of the intruder, his eyes snapping wide.
Suddenly the figure broke apart, scattering into random chaos that he recognized immediately as the fish. The momentary cohesive symmetry in the shoal shattered so completely that it left him doubting it could ever have happened. The fish swirled and milled in a flickering ball of silver a few metres from the window.
“Morning monsters,” he said, but didn’t feel it. He rubbed his eyes, “I’m going paranoid,” he said. By the time had he finished rubbing his eyes, the fish had vanished from sight.
He grabbed a quick shower cycle, just soap then rinse and dry, before he dressed and headed out to greet the Pod.
The Pod wasn’t there. The corridors were dark, still shutdown in night-mode. He swung himself to view the door panel, what time was it? The company logo danced as he thumbed the pad, waking up to show him the time. It was oh-four-forty-six, he had nearly six hours until the ship needed him. Even so, it should have sent a Pod when it detected him using the shower.
“What’s up with that?” he asked himself, before kicking off down the corridor, he turned himself slowly into the companionway and then descended into the core.
This was where he spent most of his time working. The central computers that handled the traffic were in here, shielded from the worst excesses of radiation by the outer magnetic shields and the bio-shields, the huge tanks of water, algae, and fish. The outside of the station had more robust slower machines, not really capable of more than pushing bits, but the systems here were state-of-the-art and delicate as anything inside his own body.
“What’s the matter Thomas? Can’t sleep?” the computers ask, the voice coming from the speakers near his head.
“No, I was woken by something, I wanted to check the video feeds.”
“Video feeds? Of what area, exactly? Note, Thomas that only the feeds in the central core and airlocks are continuous during night-mode, as per IPN personal and private data guidelines.”
“Well show me those feeds for oh-four-thirty this morning.”
“Of course, Thomas, what are you looking for, perhaps I can analyse the footage for you.”
“No!” Thomas suddenly snapped, then moderated his tone and added, “No, I don’t think so, I’m just interested in what woke me, and thought there might be a—”
“Record this time index and analyse the image, what is the shadow in the Airlock?”
“Analysing, video for you now Thomas…Source of shadow unknown, there is a sixty-five percent chance that it is an artefact of the recording and a seventeen point four percent chance that it is an external shadow from Ceres, the alignment is within zero-point-zero-six degrees for that object.”
“Get a telescope fix on Ceres now, and bounce a Doppler radar signal off it. Could it have actually cast that shadow into the Airlock from where it was at that time?”
“Checking,” the Computers displayed video images from the telescopic camera, and a flash of Doppler radar recordings, before answering what he could read for himself, “there is no way Ceres was in position to cast that Shadow at that time, Thomas. The shadow must be an artefact in the video compression.”
“Okay, well video compression algorithms don’t generally wake me up. Could the fish be casting that shadow into the Airlock, perhaps from somewhere else inside the station?”
“It is possible Thomas, although without additional data I cannot confirm your hypothesis. Would you like me to begin monitoring the fish behaviour with the harpoon drones?”
“No, thank you, it was probably coincidence; I would not want to devote any of your run-time to the task, not at my pay grade.”
“Understood, Thomas, although during a Sun-shadow transition such a program would not interfere with normal operations, there would be a minimal charge, are you sure you wish to cancel the request?”
“Cancel the request, and please delete this conversation from your memory once I return to bed.”
“Request cancelled, Thomas, conversation delete queued, pending command authorization.”
“Command delete, authorization passphrase, ‘the usual passphrase’.”
“Authorization accepted, Thomas. Good night.”
Thomas blearily opened his eyes, trying to make sense of the noise he could hear. A klaxon, it meant something, but his brain refused to make any sense of it. He looked around the room, he was in a zero-G sleeping bag, the alarm meant something important.
He racked his brain as he pulled himself free of the sack and shrugged on his ship suit again. It wasn’t the Solar eruption alarm, nor was it the depressurization alarm. It was…
He opened the door. The Pod drifted to orientate at eye height, displaying its video screen.
“Electronic intrusion detected,” the screen read.
Thomas fully woke up in that moment. The whole reason the station was manned, the reason that he was here, it had finally happened.
“We’re being hacked!” he threw himself past the Pod and diving for the core. His arms tugged and pulled, accelerating him towards the computers. He twisted in the air just in time, landing heavily in the chair and almost immediately bouncing back out again. Thomas snatched at the console to catch himself, steady his body and his pounding heart, he quickly locked his feet to the seat, slapped the belt across his waist and then began logging himself into the system.
Fingers flashed across the keyboard. Entire lines of commands entered, each ended with a smack of the return key, for firm emphasis. The screens before him responded, showing streams of data, graphical displays, traffic, and sources.
“Shouldn’t be anyone in here,” he muttered as he drove the search deeper into the system. The attacker was responsive, hiding the connections, moving through the system. It didn’t make sense for the attack to be so responsive. Usually an attack like this was a viral program, something developed by the hacker and then released into the system, it might adapt slightly, to elude automated security, but that was why he was employed here.
This was something else, there had to be a ship close by, someone working the system, the lull while he was in Sun Shadow. He pulled the comms, shutting down all traffic in or out of the station, which silenced the klaxon instantly. Then he began searching again, trying to find the damage, what had they been up to? What were they trying to accomplish?
He pored through the logs, even though they were in Sun-shadow, the network still shunted data in and out. His caches were hours out of date, but it was only hours, some data is never time sensitive and if he was the closest source, Mars, Ceres, Vesta or even a Jovian colony might pull data off him, to say nothing of ships out here with him.
He typed a long-winded command that searched the logs for user login attempts, command overrides and password entry attempts. Thousands of entries flashed up, before he added a date restriction and excluded his own commands. He expanded the date, how long had they been active on the system, before triggering the alarm?
There was no sign of an intruder.
Abruptly the klaxon blared again. There was another intrusion detected.
“That’s not possible,” he said, the communications were locked down, no one outside the station could be hacking it. Thomas checked the communications sub-systems they were active once again. “What?” Three keystrokes locked it down, another ripple of keyboard activity changed the root password and forced all users to relogin. The klaxon was silenced once more.
Who or what program had restarted the comms. Some sort of adaptive virus? He trawled the active memory. The only activity seemed to be his own commands once again, there was nothing running, apart from the system check, and the voice command and Pod system. He killed everything, but the system check, no need for Pod or voice interface when he was sat at the keyboard in the core. The Pod shutdown and tumbled slowly in place without the attitude adjustments from the computers.
He pulled the active memory for the voice command interface and dropped it into a decompiler. The raw numbers resolved into something resembling a language. Thomas’ trained eye regarded the code, sweeping down through blocks and modules, searching for something that shouldn’t be there.
Another klaxon rang.
Thomas pulled the comms again, silencing the siren.
“It must be the systems’ check that’s doing it.”
He pulled the active memory for the system check, dragging and dropping the data into the decompiler. The numbers danced resolving into code.
The klaxon suddenly blared again.
“What’s doing that?”
“I do not know Thomas. I would advise you rename the communications module so that it cannot be easily restarted,” The standby Pod purred moving closer.
“Yes, that’s a good—” he stopped and stared at the deactivated Pod bouncing in the airflow toward one of the intake vents. His hands rippled across the keyboard and checked the status of the Voice command systems. All disabled. What was controlling the standby Pod?
“Ah… yes, I see you are on to me then. Well, I’m almost done here anyway,” it muttered backing slowly away, and then shutdown.
Panicked Thomas told the system to kill all running processes. The computers abandoned the sorting and repacking of data, the drives and memory suddenly ceased to draw power.
The main trip went and with it everything went completely silent, fans, gyroscopes, everything shutdown. The main lights snapped off, leaving the only light being the sunlight reflecting in through water, and bouncing down corridors into the core, and the slowly dimming systems LEDs.
“Crap!” he said, and tried to throw himself at the main trip before it went dark, “Ow, shit!”
He pawed the belt, where it had cut into his hips, in the darkness. He twisted and hit the release, finally. Now, staring back toward the main trip reset, it was impossible to make it out in the dark. He drifted blindly from the seat, trying to find the reset in the dancing sunlight that reflected dimly into core.
It was a strong, metallic, percussive sound that came from somewhere outside the core, and it froze Thomas Bennett in place, rigid with fear, he failed to hit the reset.
Seconds, minutes, hours seemed to pass with him frozen in place. Then more noises began, clangs, bangs, tings, softly at first, but growing louder and closer with each one. Thomas’ heart pounded along, jumping in speed with each closer ring and thump. He drifted in the darkness, listening to the pops and rings. A sudden metallic creak joined the noises, followed by an incredibly loud bang from somewhere just beyond the core. The noises shook off the fear paralysis, and Thomas shoved himself back towards the desk. Fingers dabbing consoles, and screens, as he tried to reorient himself in the half-light in between the machines.
A shadow passed the doorway plunging the room into complete darkness, and then was gone. Thomas, reached around the cramped console until his fingers closed on the thin cylinder of a torch, strapped beneath the desk surface. Gripping it tightly, his thumb sought the push button switch.
Light snapped on, filling the core with crisp shadows and sparkling reflections. Thomas whipped the light about the core. Focusing his attention on the hatchway, he pushed himself toward the master trip.
Bracing himself across the core, he gripped the torch in his teeth as he pumped the primer and threw the master trip back to on. The relays clunked heavily, and the chamber filled with whirring fans once again, all of which was almost loud enough to drown out the next series of bangs and clicks from outside.
Torch back in hand, Thomas pulled himself back to his seat and watched the streaming BIOS commands ripple past the monitor. Automated reboots began awakening the station’s systems even as a new wave of rapid taps echoed through the hatchway.
Thomas looked about the cramped compartment, searching for something that could be used as a weapon. His eyes barely rested on the dense orange and black wasp striped cylinder of a fire extinguisher, before his hand had grabbed the cool metal, pulling it free. It was heavy, but in the zero-G of the station, that just meant that as he jerked the cylinder towards him, he drifted towards it.
He manoeuvred the extinguisher above him, and kicked up towards the hatchway. Drifting slowly past the awakening systems, their flickering lights throwing rippling shadows ahead of him into the companionway beyond the hatch, Thomas held his breath in anticipation. He slid out of the hatchway, immediately scanning about him with the torch, the extinguisher held close, so that he could thrust with it at any movement.
The space was empty, the only movement was a single fish that swam past one of the windows on the unlit side of the station. He started, but he did not lash out, recognizing the silver flash in time. The fish twitched in the water and turned to stare at the light. Thomas shivered, as the fish slowly rolled over while facing him.
“Hello monster,” he whispered, if he was trying to reassure himself with the old joke, it didn’t work.
A dull thump from somewhere near the main airlock scrambled his thoughts, and he kicked and twisted in space before getting himself aligned behind the fire extinguisher pointed towards the noise. He managed to push slightly with one foot and shoved the cylinder along the companionway, he didn’t let go of it, but let the momentum of the extinguisher tow him slowly behind. Going carefully along he, touched the handles and walls, correcting his slow drift as he went, until he reached the required hatch, where he swung the extinguisher and himself into the airlock corridor. He hung, braced across the entrance, looking down the short passage to the airlock.
There was movement in the airlock, but he couldn’t see properly. The fire extinguisher’s shadow seemed to always be in the way, so reluctantly he pulled it gently back towards his chest and swept the torch along the length of the walls and windows before its light moved across the closed hatch at the other end.
There was a sudden roar, and the side of the hatchway suddenly became down, as the station abruptly span under thrust. The whole structure groaned and creaked as though alive about him as Thomas was thrown heavily into the wall. The station groaned again as a second roar decelerated the spin. Thomas crunched into the opposite wall, the fire extinguisher clanging heavily into the panelling of the corridor, before twisting from his grasp. Suddenly, the lights began to snap on. Each one making a slight click followed by a definite buzz as it snapped to life.
Thomas shoved himself down the corridor, staring into the airlock, searching in the light for the shadow he had seen before.
The airlock was empty.
He leaned and pressed his head against the glass trying to see every inch of the inside of the lock. Nothing. He relaxed back away from the glass and then saw it: a reflection in the glass behind him. A human shape hanging in the corridor near the hatch, it’s hand slowly reaching towards the fire extinguisher.
Thomas drew his knees up and shoved on the airlock hard, driving himself head first back up the corridor, he twisted himself around, managing to align his hands just before they made contact with the extinguisher, but there was no one else there, he careened across the companionway and slammed heavily into one of the companionway’s large windows. The extinguisher didn’t smash through the transparent plastic and glass, but only because his quick thinking had pulled himself around it and it now drove the air from his lungs as his body was squashed between the two hard surfaces. He screamed as the air was driven from his lungs, and then struggled with a sickening pain, to push the extinguisher away as he fought to breathe again. Stars flashed and popped behind his eyes, as he twitched against the glass. The extinguisher was afloat again and pulled him away from the window, but still he couldn’t breathe. Darkness began to rush in at the edges of his vision. He coughed and bubbles of blood popped in front of him, mortal dread over-came fear and he gasped a ragged breath. Pain stabbed his chest, but if he as breathed slowly and shallowly it abated. He floated in a half-foetal position in the middle of the companionway, paralysed by indecision. Should he head back to the core, sweep the station or report to medical immediately.
“Station,” he whispered.
The station whirred and clicked about him, soft metallic tings in the distance the only response.
“Shit, the voice interface is still off,” he reminded himself and tried to twist to orient himself again. He pushed the extinguisher about until he got some purchase and could send himself down the companionway toward the core again.
He glanced out of one of the windows as he went and saw fish slowly following him along the companionway. Reaching the hatch he pulled the extinguisher in behind him as he slipped into the cramped, claustrophobic hole.
He quickly stashed the extinguisher back in its place and tapped the keyboard, bringing the monitor back to life. He quickly typed a series of commands, locking certain systems, checking the logs, and bringing back on-line the voice interface.
The station had reorientated when the power came back on, as it had drifted out of position in the short time the systems had all been down. Temperature gauges across the station recorded all kinds of changes as the heat exchangers and coolant systems had been shut down, he realised with some relief that some of the bangs had been heat contraction and expansion noises in the superstructure as it had tumbled slowly in space.
The pods suddenly whirled to life, the standby headed for a recharge slot while the main pod drifted in front of him.
“Pod, sweep the station for any intruders, full infra-red, I think there is someone else aboard with me.”
“Okay, security program four initiated. Do you authorise lethal force?” the pod asked.
“Negative, non-lethal only. Ideally I’m just unfit for duty, imagining it… but—” he blinked hard, coughing up a little blood, “I may be seriously injured, I should make a report, in case.”
He began typing opening a log file and quickly began to write up a report. The pod lingered until he pointed towards the door, then it shot off under high thrust.
“Computer also sweep all internal cameras and get the harpoons out, I want them looking in and outside. Also check the external cameras and Doppler for any objects within a kilometre of the station.”
“There are no such objects, Thomas. Do you think there should be a ship nearby?”
“I think so, I think that hack earlier was being conducted from nearby and when I killed the power they used the gap in the logs to get onboard. Sophisticated, doesn’t seem like any of the usual suspects, maybe one of the out-system politicals.” While he talked Thomas typed; paragraph after paragraph of report flowing from his fingers, without effort. “Did you report all radar returns or just recognized profiles?”
“Recognized profiles only, would you like me to check for all radar returns?”
“Immediately,” Thomas answered and paused his typing while he checked the radar screen. Two small flickers that were hardly close, but might be close enough. He snatched at the screen, boxing around the image with his finger-tips, and then threw the co-ordinates over to the powerful telescopic camera on the station’s box-girder spine.
The monitor flickered to show two small rocks gently tumbling around each other, neither was bigger than sofa cushion, they were certainly no ship.
Thomas sighed, and grimaced in pain as he felt the stab in his chest.
“Well shit, that makes no sense. Whoever ran that hack was close, but there is nothing out there, not even some Mil-tech stealth ship. They had to be closer than a light-second,” he said as he rubbed at the pain.
“I have no records of any vessels within one light-second since your arrival, Thomas. Thomas your ship-suit is reporting decreasing blood-pressure, have you been injured?”
“Yes, I have been injured. Have you found anything? Any sign of anyone else on station?”
“The station has only one human on board, Thomas. Fish stocks are at one-hundred and four percent of optimum levels, algae stocks at eighty-three percent, please note that it is recommended that you authorise fish depletion to eighty-two percent and then report to medical.”
“Yeah? Okay, do it,” Thomas said, and slipped free of the seat, moving towards the hatch.
“Please confirm depletion of fish stock to eighty-two percent of optimum.”
“Yeah, authorization ‘the usual passphrase’,” Thomas said.
“Sorry Thomas, your voice print did not match properly, please try again or confirm via keyboard, passcode 3.”
“Yeah, okay.” Thomas moved back to the keyboard and typed.
Thomas pulled himself out of the core once more, a tugged himself slowly along the companionway with one arm, before turning into a side passage and manoeuvring into the medical bay. He stripped off as he nudged himself into the medical bed. The seals dogged the lid down and the bed began a total body scan.
Time in the medical bed dragged, and Thomas ended up watching the harpoon cam feeds, as they patrolled the fish tanks looking for fish to spear. The fish dashed and raced for cover, running and darting each time a harpoon was spotted, but slowly the harpoons whittled at their numbers.
“Scan complete, Thomas. You have two broken ribs, pneumothorax and punctured lung, recommend immediate surgery. Please authorise.”
Thomas thumbed the panel and pulled on the mask. The medical bed’s robotic surgical arms slid out and up over the top of him. The mask began a light anaesthetic and high oxygen mix, before a pen like probe pushed against the dark bruise.
The skin was gently pricked and teased open before the real work began. Mechanical devices began pumping liquids into his chest cavity and drawing out air and blood. He felt nips in the muscles as they were pushed aside and manipulators began seeking the puncture.
He dimly felt the crunch of the bone being reset, and the twitching of the bone print head as it pumped bone dust, cartilage, and stem cells into the break, before printing cross-hatching across the surface. He also felt the cooling spray of anaesthetic onto the internal injury, followed by a sharp nip that had he not been paralysed would have made him jump, tearing open the lung further. Then the manipulators and probes retracted, closing up the small holes and tears with bio-glue, finally the tiny tear in the skin was pressed closed, glued and a small, red sticky bandage applied, before the mask switched over to an anti-toxin and Thomas got mobility back. He felt a little woozy, tender and hurt, but the sharp pain was gone.
“Thomas, I have detected a ship, just breaching Sun Shadow now,” the Pod said rolling slowly over above the bed.
The medical screen, cleared of his bio readouts as it showed a huge freighter just clearing the edge of the sun between the orbits of Mercury and Venus. At this distance, it was little more than a fleck of light in the telescope, but its identity beacon was broadcasting much more data.
“‘The Diactoros’ an independent, family run ship from Mars, she’s in the IPN registry as a hub. Should I initiate communications, Thomas?”
“I guess so, we haven’t been hacked since the reboot, let’s see what happens.”
A little over fifteen minutes later the IPN began transferring data, using ‘The Diactoros’ as a relay on a more direct line for Earth. After about an hour the station was almost back to normal traffic, the huge, outbound freighter would provide a relay until the end of Sun Shadow. It gave Thomas time to report.
The IPN boffins pulled the complete logs and running files. They commended him on his quick thinking, and promised they would get a security patch out on the net as soon as they had found whatever caused the problem.
Thomas then contacted ‘The Diactoros’ crew, just for something like a real-time chat. The ship’s communications officer was also the owner, the oldest member of the crew and she liked people to call her ‘Granny’. The entire crew consisted of her own children and grandchildren, from skipper (a son-in-law) to supercargo (her eldest daughter) right down to unemployed babies (one grandchild and one great-grandchild). She claimed she was ninety-six and that she’d devved a few patentables in her time, enough to buy a freighter and IPN licences back before the ‘two point oh’ was on the scene. She was a tough, likable old bird, and had a perceptive mind.
“So, who was hacking you, Sherriff Bennett?” she asked him suddenly in the middle of the second hour of conversation.
“What makes you think?—” Thomas asked back.
Her image grinned suddenly as the message found the edit, and she said, “Oh come on, you had your communications array and even your navigation beacon powered down until about a minute after we should have seen you. Then your entire traffic flow built from nothing when you connected. You had everything turned off, in and out system, and the only thing I could think of that would do that was if you’d been hacked. What was it? Adaptive viral package, ghost upgrade, or a slow creeper?”
“I don’t know,” he answered, she knew her stuff.
“Don’t know? What do they pay you for, Sherriff?” her pre-recorded answer joked.
“Granny can I tell you something in complete seriousness and secrecy?” he began recording. He added extra security as he jotted down his thoughts. The pre-recorded message didn’t have an answer of course, so he had to broadcast and wait for the loop.
“Sherriff Tom, with you out here on your own all this time, you can ask me anything, but I should warn you: I’m not picking up any more husbands this late in the game, the kids would kill me. Seriously though, since you haven’t pre-recorded I will assume this is something really sensitive and here’s a long public key for you.”
He encoded his recording, sending his own public key back, before the long message.
Then having at least a twenty-minute wait he went to grab some lunch.
He could not face the fish, still feeling guilty about the orgy of destruction the harpoons had performed on the stocks while he was in medical. Instead, he grabbed a printed-ham sandwich, and brewed a canister of coffee. He sucked the canisters teat, while struggling to down the faux-bread and protein-weave. As he drifted back, he noticed a lone fish nibbling at the window.
“Hello monster,” he said and watched the fish with a suspicious eye, as it tugged on the corner of the window before flashing its silver tail at him as it disappeared into the shadows away from the window.
He settled back down into his chair and noted that there was a response waiting for him.
“Listen Thomas, you’ve been on your own a long time, do you have any video evidence of what you claim to have seen. If you do, we will rake sail and rendezvous, if you haven’t: get some, if only for your own peace of mind. Record everything that happens, and relay it across to me, I’ll monitor it. I know I haven’t gone space-crazy, or one of the kids would have noticed by now, but I don’t know you from Jack, for all I know you’re a paramnesiac who delights in telling ghost stories to scare old ladies. Get the video, Tom I’d suggest even wearing a head-cam so you record everything you see. Who knows might do your head some good to play back what you’re seeing. You’ve just been patched up by a medi-bed, so you don’t have any brain-tumours or cataracts, and you’re a bit far from home to be junked up. Could be them fish are behaving odd, and all that loneliness is making you see them as a human shadow, just because you need company.
“Anyway, I won’t pass any of it on to the IPN, even though I could lose my license if they found out I thought you were mental and hadn’t reported it, not that I do think you’re mental. At least, after what you’ve been through, with the hack attempt, and your injury and what not, they should have had one of their corporate head-shrinkers shrink you up good already, so tain’t Granny’s problem, not until you get some video.”
He sent a text to say ‘Thanks’ and then dug out his head-cam goggles and told the station that he wanted a continuous video recording both from it and from all other cameras. They could bill him for the run-time, Granny was right, for his own peace-of-mind, he had to know what he was seeing.
A few hours later the IPN boffins came back to say that they had found a problem in the Sun Shadow diagnosis programs, it kept re-activating the communications to shuffle data from data storage inside the core to broadcast storage out on the outside of the ship. They were preparing a patch, but there was a problem, he would have to take the station off-line to install the patch, and there was still a massive amount of data fragmentation from the plug getting pulled mid-shuffle, so they were also adding a defrag patch that could operate while he was at anything below maximal traffic.
He had a couple of days while they were compiling, then he would have to alpha the code and watch the vitals, so to speak. That amounted to a promise of two days of light duties, with lots of rest and recovery time, a promise that failed to come to pass.
That first evening, Thomas set up his camera’s and slung himself in his sleeping bag, flicking through an electronic copy of an old ‘Amazing Tales’ that he’d pulled from the database. He did his best to ignore the fish as they flicked lazily past, but the flashes and movement drew his eyes to the window. Eventually he let go of the tablet, and just stared at the fish as they milled and swirled in the half-light. Until a few days ago, he would have been lulled to sleep by the swirling light, but now he found he just didn’t trust the fish. It felt like they knew they made sleep, and so they were deliberately putting on this show of flashing lights and flickered tails. He closed one eye, watching the window, but just couldn’t relax while they whirled in sight. Eventually, after what felt like hours, the fish slid from beyond the window into other parts of the station. Once they were gone, Thomas Bennett fell rapidly asleep.
Thomas woke with a start. He stared at his room. The window was empty of fish still, so he checked the time. It was time to get up, or at least out of bed. He unzipped the bag and squirmed free, before pushing towards the shower.
He washed quickly and pulled on his ship suit, checking the plumbing and then he made his way to breakfast.
The pod met him there.
“Good morning, Thomas, how are you feeling?” the pod asked as it drifted closer and focused on his face.
“Morning, I’m hungry. Anything to report?”
“Traffic holds steady at eighty-percent of normal, but our latency is one-hundred-and-forty-six percent normal. You have messages and sixty hours of video footage recorded,” the pod informed him, before spinning around to show its screen.
Thomas nudged it aside, as he reached for food and drink. Once he’d sucked down a little warm coffee and had a mouthful of hydroponic nuts, fruits and seeds to chew on he grabbed hold of it and flicked through the stats and messages.
“Spam, spam, spam, spam, eh… m’eh, spam, ooh interesting — read later, spam, read later, spam, spam, spamitty spam, hello… what’s this one?” Thomas rattled through the messages.
“That is… it appears to be random data, perhaps an error in transmission?”
“No, it’s not random, where did it come from, the data is missing. How did it get here?” Thomas looked at the blocks of random characters, trying to work out how it might be encoded, it didn’t look like any of the normal encoding methods. It didn’t seem to have any headers that he could see. It almost looked like assembled code.
“I have no record of its delivery, Thomas. It appeared in your inbox at oh-five-thirty-eight, but I have no log of it before that time.”
Thomas nodded, his face going slightly slack as he tried to poker-face rather than show any fear as fish shot past the window, flickering and flashing as they went. The paranoia surged back from wherever it had been hiding in his psyche.
“Okay, well I better answer some of these and see what I can do about that latency, it will be that data fragmentation, perhaps this message fell out of a fragmentation error,” he muttered, but didn’t really believe that. Now, just as he didn’t trust the fish, until they found and closed that security loophole, he couldn’t trust the pod.
Thomas drifted along. He munched and sipped as he headed for the core. The pod scudded along behind him. He nudged himself to his seat, strapped in, and began working quickly on the keyboard.
He scheduled and started a defragmentation tool on the various drives and buffers. Once that was underway, he pulled that interesting message across and decompiled it. It did look like code, but it didn’t make much sense as decompiled code, he tried a few different options on the decompiler, trying to work out what the original programming language might have been. He also ran a search comparing the data against the stations data as it was being defragged, just in case it was a couple of frames of a man getting hit in nads or something from a social video site. The search revealed nothing, but mucking about with settings revealed something. It wasn’t actually code, but rather pseudo-code, and the concepts were alarming.
The few simple lines seemed to reference biological sciences, treating them like programming modules. This particular segment referenced dopamine production, causing an isolated increase in certain target areas, although the exact nature of the targeting eluded him, as the code terminated suddenly.
It was almost lunch-time when he surfaced from the decompiled pseudo-code, and realised that he hadn’t taken a look at the fish-videos which were swelling in storage constantly. He opened a window for each file and set them spooling on, with an automatic pause for motion detection. The videos streamed through, every now and then one of the windows would freeze and Thomas would watch it for a minute on another monitor. It was about two in the morning, he noted, when he fell asleep finally, and about half an hour after that one fish popped up in that window. It casually swam past, and then returned with a friend, before both stopped in the middle of the window and turned to face the camera. Suddenly they were joined from every angle by the rest of the fish. They whole window filling with staring eyes and gulping mouths as they all seemed to focus their attention on his sleeping form, then still watching him they altered their positions, forming a vaguely humanoid shape, and then swimming in formation the humanoid swarm turned as a group and walked out of shot.
Thomas grabbed the slider and dragged it back, isolating the clip and cutting it into another window. He quickly recorded a message to go along with it, as well as typing in the commentary and tags for the video and sent it to ‘The Diactoros’.
He looked back at the other camera feeds, each one seemed to have paused now, and he pulled them over one at a time to watch. Some showed humanoid shadows flickering past windows, others showed a flickering of fish behaving quite normally.
One, however, was mysterious.
The video started with a shoal of fish entering from the bottom of the window. They looked around the window, as though nibbling on algae, but then one of them stopped and looked directly at the camera, actually the pod camera. The other fish stopped their nibbling too and turned to regard the hovering pod. The fish then began to swim about in a highly agitated manner, their scales danced in the sunlight reflected from some external window above the shot. The camera image whited out once or twice as the fish flickered and reflected the light into the lens. They whirled and flashed, causing the camera to stroboscopically overload. White flashes became blurring reds, blues, and greens as the light swirled and glared.
The image began to break down then, the encoding algorithm pulling the swirling fish into irregularly-sized and flickering rectangles of colour, light and dark that began to blink and flash, expanding even beyond the window as the encoding collapsed. Thomas struggled to make sense of the flashing blocks, but the video was a mass of corrupted flashing squares, which then ceased flashing. For twenty seconds the video was completely still and then abruptly the corrupted blocks of colour suddenly vanished and the window was completely clear of any fish.
“What the hell?” he asked, flipping the image back to the beginning of the pause and setting all the other recordings to the same time-index. None of the others had fish in sight, not until twenty seconds later, then fish suddenly appeared in some of the windows again. He grabbed the videos, dropped them in an archive and sent them off in an email addressed to the IPN officer aboard ‘The Diactoros’, Granny could pass them on officially if she saw it too, and he was sure she would.
“Okay important question, was that just a glitch in the recordings, or did the monsters really just cause that?” he asked the computers.
They didn’t answer immediately, which perhaps was not too surprising, but still the silence seemed to fill with foreboding. When the computers spoke, it didn’t exactly reassure him anyway.
“To what are you referring Thomas? I cannot detect any glitches in the recordings; all time-indices are contiguous —”
Which was still better than what he heard the synthetic voice say next, “— and they don’t like it when you call them monsters, Thomas.”
Thomas’ skin crawled as he said, “What? What was that last bit?” and thought ‘I didn’t hear that right, did I?’
But the computers didn’t respond.
“Respond, what was the last statement?” he asked again.
The computers remained silent. He hit the keyboard and pulled up the task managers. The voice protocols were deactivated. In fact, the task manager was reporting a number of modules that should be active were now switched off. He began typing, bringing systems back on line. The computers claimed that they had been shut off, by him, while he was watching the video. To make matters worse, his message to ‘The Diactoros’ had not been sent. He fired up some diagnostic tools and made sure that it went this time. He even monitored the antenna to make sure the data left. Then he moved back to switching tasks back on. They were in the process of shutting themselves down again. The logs spooled past claiming a number of errors in the processes. The running files were corrupted.
Thomas began to panic then. He flung open editors, scrolling code as he looked through decompiled source. Then the decompiler quit unexpectedly.
“What the —” he started. The lights flickered, and there was a loud bang from somewhere beyond the core, followed by the wailing of a collision alarm. “Shit!”
There were crunches and bangs from somewhere in the station, as vents and doors sealed. The hatchway into the core clanged closed and then dogged itself in place. Thomas tried to get the damage assessment systems online, but they failed to boot. He pulled up the video feeds, and tried to make sense of them. He couldn’t see any motion or movement in any of the immediate feeds. He switched on one of the external arms, using the cameras there to examine the outside, he walked the double-ended arm around a little. There was no sign of any external damage anywhere.
Thomas almost dreaded spooling the camera’s back and looking at the exact moment of impact. There didn’t seem to be anything, until he pulled back the harpoons’ feeds. Harpoon four had ceased activity at the moment of impact. He pulled its feed, and wound the video backwards.
He wound it back three minutes, trying to make sense of the flickering jumping backwards images, the reversing image was full of artefacts and glitches.
Then it all made sense. He froze the video, the humanoid shadow hanging in the water ahead of the camera. He wound it back a few frames, watching the shape as it formed and dissolved. Then he copied and messaged it, as he let it play again.
The harpoon had been herding the monsters, but suddenly their bait-ball shoal behaviour altered and they formed a humanoid figure, which regarded the approaching harpoon, before it broke apart into flickering, shimmering individuals that glitched and smeared the image. The harpoon camera flickered about as the hunting program tried to track and lock-onto the shimmering pixels of the error filled camera feed. The fish engulfed the harpoon, seeming to be everywhere the camera twitched. The HUD data from the harpoon’s internal sensors even began to flicker and dance, corrupted code rippled across the image. Then the harpoon broke free of fish, travelling incredibly quickly, it lunged for a bright light in front of it, driving forwards at maximum speed. Before the image froze totally, it showed the harpoon’s own reflection in the glass window of his bedroom.
“Shit, shit, shit,” he muttered, pulling across the current feeds. The corridor beyond his room was glitched and frozen. He wound the corridor feed backwards; the last thing it showed were flickers of light coming from the opening door of his room. He changed camera, the kitchen seemed normal, but there were bubbles of liquid drifting in the distance.
He flicked to the cameras in the main companionway… nothing, the cameras failed to respond.
He began typing furiously, writing a textual message to Granny aboard ‘The Diactoros’ telling her that he was freaking out, and why. Did she have any news? Should he sit in the core and wait it out? Were they on the way?
The hatch resonated with the force of a hammer-blow on the outside. He added that someone, or something, was banging on the core and dispatched the message, but he knew now, it was already too late.
Either the monsters would get in and kill him, or his paranoia coupled with the failing computer systems would keep him bottled up in here until he finally died.
“Morning Monsters,” Thomas muttered.