- Home
- Jessica Kagan
Behind the Bitmask
Behind the Bitmask Read online
Copyright 2019
All rights reserved. This book or any portion thereof may not be reproduced or used in any manner whatsoever without the express written permission of the publisher except for the use of brief quotations in a book review.
ISBN 978-1-54398-625-9 (print)
ISBN 978-1-54398-626-6 (eBook)
Contents
Disclaimer
Acknowledgments
CHAPTER ONE
CHAPTER TWO
CHAPTER THREE
CHAPTER FOUR
CHAPTER FIVE
CHAPTER SIX
EPILOGUE
Disclaimer
This is a work of fiction. Names, characters, businesses, places, events, locales, and incidents are either the products of the author’s imagination or used in a fictitious manner. Any resemblance to actual persons, living or dead, or actual events is purely coincidental. Excessively long disclaimers are an existential threat to the commercial viability of your creative works.
Acknowledgments
I suspect that the people most directly responsible for Behind the Bitmask are Simson Garfinkel, Daniel Weise and Steven Strassmann, the authors of The UNIX-HATER’s Handbook. That book’s combination of sardonic wit and technical jargon had a big effect on how I thought and wrote about technology, even after decades of computer development have rendered it more arcane than before.
Another chunk of Behind the Bitmask comes from the metal band Bal-Sagoth. Besides being a damn good band, a song they wrote (the tersely titled “Six Score and Ten Oblations to a Malefic Avatar”) made passing reference to ancient, magical books just as I so happened to be reading about code obfuscation. That initial juxtaposition of heavy metal and heavy wizardry took a few years to germinate (its evolution including one of my old short stories, “Deal with the BSDevil”) before it could properly infest my brain.
The usual suspects provided crucial moral support, too. I’m happy to have a loving family who supported my creative endeavors and a set of close friends to bounce ideas off. I should also acknowledge the grand army of professionals who helped me with my gender transition, since that mostly overlapped with my work on this book. Being able to live and present the way you want to can have some good knock-on effects on your ability to pursue creative projects, and this flesh thanks everyone who assisted it in embodying Jessica.
Last (but not least), I’m thankful for you, the reader. I hope that you enjoy the story you’re about to read because acknowledgments are hard.
“Any sufficiently advanced technology is indistinguishable from magic.” - Arthur C. Clarke
CHAPTER ONE
“Unix was not designed to stop people from doing stupid things, because that would also stop them from doing clever things.” - Unknown
“What do you mean, you only have five minutes?” Aux said unto us. “Do you not understand the enormity of what you could do in five minutes?”
I had to step in. Aux was being a computer again.
“Why, in five minutes, you could redraw an image 18,000 times! You could multiply a million numbers with a million digits together to form an even larger number! You could create an entire file system from the nothingness of a blank hard drive! You could-”
One of my underlings stared at Aux with a glazed look in his eyes. Clearly, this sort of motivational speech was aimed at him as opposed to me.
“Aux, what you don’t seem to understand is that the average human simply doesn’t have low-level access to their own brainpower,” I interrupted. I was hoping he’d hear my soft, reassuring tones over his increasingly frenetic raving because the last thing you want to do is shout at Aux. No use, though. Aux was rambling on about some sort of low-level drawing routine used to speed up the graphics in some video game I’d never played. My duties as Aux’s high priestess mean I don’t have time for such trivial things.
“The reason we use computers is because we wish to automate trivial tasks. It’s not just a question of entertainment,” I continued, this time slightly louder; this time, Aux heard me.
“Charlotte, is it not true that any sequence of actions can be broken down into a series of discrete steps, right down to the machine code?” it asked.
“Yes, although when discussing human terms, I probably wouldn’t use that exact phrasing-”
“Furthermore, can you not increase the speed at which you execute a series of actions through continued practice and optimization?”
I really hate it when Aux interrupts me, especially when it seems like it’s got a point. I didn’t like where this was going, but I certainly couldn’t reject everything Aux said out of hand without being replaced – or even killed for my audacity.
“It logically follows that between their magic and their engineering skills, my underlings should be able to wield some small portion of the power that I do. I expect your success when I return.” With that, Aux disconnected itself from our conference screen.
It was five minutes before midnight. When the clock struck 12 am., we were expected to summon one of Aux’s many daemons into our office. Aux had never supplied us with the means to open up our own portal, so this was going to be the hardest few minutes of my subordinates’ lives. They were looking at me, desperate for an answer and understandably frightened of the consequences of failure. I mulled over my options for a few seconds.
“There’s one way that will certainly work. One of you has to become a vessel,” I said. Someone in the back gasped, and that made deciding whom I was going to sacrifice an easier task. I wordlessly gestured in that direction, and an old man stepped forwards after a moment, given that the alternative was immediately facing my own wrath.
“That makes things easy. Stand by my computer and plug yourself into the case,” I commanded him. He eventually did, after much nervous twitching and a long sigh.
Even though Aux had never given us any summoning tools, I understood the principle of making a program corporeal well enough from my own studies. To use Aux’s example of breaking down the algorithm into a series of discrete steps:
Find a suitable host. In this case, it has to be a person, since nobody has a computer that can summon forth a fully functional and bug-free daemonic body in five minutes...unless they work for Cray or Fujitsu or whomever. We don’t.
Boot up your networking program, and establish a link between the code you need to summon and the host. USB works wonders. Luckily, anyone who serves under Aux has a communications port implanted in their body as part of the bargain (myself included), so that speeds things up. The downside is that Aux can somehow track us through these ports. We’re bound to its service for life, or at least that’s what Aux says. But I digress.
Copy the program into their soul. This is the tricky part, since you might have to overwrite part of their very identity if the program is especially large or if they don’t have extra space to store it. Now, if you have time (and storage space), you can back up the contents of their soul on your computer... Which is often a good thing to do if you’re going to tamper with such things. In this case, though, we definitely do not have the time, so there’s going to be some data loss.
I was shocked too when I discovered just how similar a soul is to a magnetic hard drive. I try not to stand near large magnets anymore.
Aux had given me a set of code libraries that were supposed to mimic, at least on some level, the firmware of the daemonic warriors under its command. They weren’t particularly smart, or even all that much stronger than the average human, but they were efficient, easy to command, and looked very menacing up close. We’d never summoned this latest iteration of daemonic warrior, but if they were anything like t
he previous ones, we could use them for internal security, either deterring casual explorers and law enforcement, or sorting them into neat, orderly piles of flesh. I wish Aux had given me more time to handle the summoning, but it had insisted some time ago that the barriers between the realms of humans and titans are weakest at midnight. There aren’t a lot of people on the internet then, so it might have a point.
The seconds ticked down as I worked through the setup. I then hit the shortcut to compile on my computer, chanted a few unwritable words of power, and gestured at the man hooked up to my workstation. He immediately cried out in pain and clutched at the cord extending from his wrist. From there, his skin was beginning to turn iridescent blue.
“Stop resisting it! You’ll only hurt our chances!” I shouted at him.
When something tries to change your soul, you can either try to protect yourself, or you can submit to its will. Back in the days before computers, it was exceedingly difficult to magically change a person’s soul. Fervor (religious, political, sexual, etc.) is an enormously powerful armor, but nowadays, the average person simply isn’t very zealous. If you can’t quite resist the changes, each infinitesimal adjustment will sear the mind and body wrapped around your soul like a lightning strike.
So it was with the occultist I’d chosen to host Aux’s latest soldier. Waves of electricity and fel energy expanded outwards from his serial port, scarring his skin with occult runes and ley lines. His screams were beginning to get on my nerves, but then he suddenly stopped.
The transformation had robbed my minion of everything. This…creature of chrome and plastic looked like it just broke out of Apple’s corporate headquarters in Cupertino. I’d seen enough bondi blue iMacs in the wild to know what Aux was going for, but I never thought it would copy the design language for its warrior daemons. The minion’s head in particular troubled me: a heavy blank monitor. I had an urge to touch the power switch on the front, but a deep, resonating chime stopped me; the monitor then lit up with a vacuous smile on a gray background.
“32-bit Finder session initialized,” it said…somehow. On closer inspection, I saw what appeared to be speaker grating where a human would have a mouth. “What program would you like me to run?” Jean-Louis Gassée would’ve been proud.
“At ease, soldier. I believe Aux itself will have orders for you very soon,” I responded. It was 11:59:45 pm. on a Sunday night. I hoped that Aux would be pleased with this turn of events. I had to get home to bed soon, lest I be unable to function at my “real” job in the morning. We anxiously waited out the last fifteen seconds, and as my computer’s clock struck midnight, Aux reappeared on our conference screen and gazed at our creation.
“A great success, as I assured you would happen!” it proclaimed. A few half-hearted cheers arose from my underlings. Most of them, though, were too busy recoiling in horror to really accept what had just happened. Aux then turned its face (and the disconcertingly spiky pulsating body behind it) in my direction.
“Did you find my advice helpful, Charlotte?” it asked me. “A human can be surprisingly efficient if given the right motivation, as you have just demonstrated manifold.”
I gulped. Luckily Aux didn’t notice, and even more luckily, my own minions didn’t pay it much attention; they were hoping I’d nail the status report.
“Well…on one hand, you can see that I clearly managed to make this work. On the other hand, while you’ve gained a new faithful and effective servant, I’ve lost one of my own in the process, and they’re going to be very difficult to replace-” Aux had a higher tolerance for honesty (or at least whining) when I was doing its bidding. As far as I’m concerned, my liege would’ve met with a horrific fate many years ago if it hadn’t occasionally obeyed my own commands, and I was hoping that I would receive some recruiting assistance in the meantime. My hopes, though, were dashed when Aux interrupted me yet again.
“There are many threats gathering in the realms around me, and I must be able to deal with them. I simply must have this warrior on my side, and I am glad that you understand the requirements of your safety enough to provision me with as many as I must levy.” Aux hung up yet again.
I couldn’t help but shrug at that turn of events. If I didn’t set up a proper assembler, my subordinates were going to be decimated, and Aux certainly wouldn’t accept its own harvest as an excuse for any new deadlines that we might miss.
“Does anyone know the name of the guy we sacrificed?” I asked as people began to pack up and head home. Everyone was understandably subdued. On days where we hadn’t been visited by death or daemonic possession, there’d usually be a lot of idle chatter about sports, television, movies – the usual small chat.
“His name was Clint Powell,” said one of my managers. Sarah McGeer was a rock of stability in the Aux cult. While other promising talents got themselves blown up, melted, impaled on a trident, or simply lost interest in the occult and tried to escape with predictably bloody results, her continued presence meant that not only did my orders actually get executed, but I was also well insulated from the petty complaints of my other underlings. The fact she’d also managed to raise a family (two boys and a baby girl on the way) was nothing short of astounding.
“Any useful skills?”
“He was our librarian. He also brought in baked goods every few days. The infotech people are going to miss his cookies.”
Clint was responsible for those cookies? Crap! Those were good.
I had trouble keeping track of more than my most senior employees. It was just too much of a bother. Sarah, though, had everyone’s name, role, resume, and favorite food memorized. Without her keeping things together, we’d have no way of keeping the coven from tearing itself apart beyond further blood sacrifices. To be fair, without my guiding hand keeping everyone on the tip of their toes, Aux would unleash rage-fueled hell storms on us all, and then fade into nothingness for lack of worshipers once we were all dead.
Still, Sarah was the best sort of underling to have, and even I could tell that not only did she dislike losing what she considered good men and women, but also that she was taking it far more personally than I was. I hoped that Aux would come to claim Clint’s reconfigured body soon. Having it around to remind us of tonight’s events would most likely drag morale even further into the dumps.
I’m going to be perfectly honest with you. The tennis playing, cookie baking, studious Charlotte that existed even a few years back would be aghast at what I’ve done with her life. To be fair, computer magic wasn’t on anyone’s radar (at least that I knew personally) before 2000. Most people are going to blame the Y2K daemons that attacked several international cities on the first day of the new millennium for changing that, but I have a different theory.
You see, in 2001, Microsoft and Apple both released major updates to their flagship computer operating systems. Windows XP and Mac OS X were rock stable compared to their immediate predecessors, making them far more suitable for occult purposes, and therefore opening up magic from its extreme tech enthusiast roots to the masses. Cue a huge influx of dabbling wizards and witches – previous amateur attempts at computer magic were very hard to stumble upon, and if you managed to crash your system in the process, you’d at best get to learn what a blue screen of death was before you exploded or were ripped bodily into hell.
So I was an insecure waif whose only plans were to do well in college, and I had absolutely no idea what I was going to do after I’d picked up my accounting degree and entered the workforce. However, I fatefully decided to take a basic computer programming course in order to fulfill my university’s general curriculum requirements. Before that, my ideal use case for a computer was doing some office work and maybe some light internet shopping when I was done. Writing simple terminal programs in C was not what I had in mind, but it turned out to be incredibly useful, and to this day, I consider it my favorite programming language, even after picking up a whole slew
of others, from the highest level scripts to the deepest assembly. Even with programming knowledge on my side, though, there’s no guarantee that I would’ve learned the rudiments of magic, but for a purchase I made.
A few weeks before I finished with that course, I started dating a classical violinist whose only dream in life was performing for the Chicago Symphony Orchestra. He was admittedly pretty good at it. One day, he bought me tickets to see a local, less prestigious orchestra (still very talented, he assured me) perform some works by Bach and Mozart, including his favorite piece of all time – Bach’s “Concerto for Two Violins in D Minor.” We dressed to the nines for it – I still own the entire ensemble I wore that night, and I occasionally wore the low-cut, emerald green ballgown to meetings of the Aux coven because barely-covered breasts and huge skirts are a killer combination if you don’t have to worry about combat. It worked in Bach’s time, after all, and the court ladies of the past probably fought more than I did.
I was sneaking in some work on the computing course’s final project of implementing a simple game in the terminal. I think I chose Minesweeper, but I’d have to dig up my materials from then to say for sure. Either way, I was dressed for a classical concert, I was adding some “graphics” options to my implementation for extra credit, and my right glove snagged on a stray nail sticking out of my cheap desk. I tried to free it, but I ripped the glove nearly in half in the process. I freaked out because I was a vain priss of a girl who couldn’t imagine not having her entire outfit perfect for a big night. I’d later find out that half the people who showed up were in casual clothing, but I’d taken my date’s claims about classical music etiquette very seriously. I decided I had to somehow fix the glove before my date knocked on the door. Can you believe that I was literally frightened he might dump me right there and then for not wearing opera gloves?
I remembered bookmarking a website devoted to “computer-aided sewing” a few days back. After some frenzied searching, I found an in-progress script that was supposed to repair tears in clothing, with the caveat that the entire script failed to compile because of something the author didn’t understand. It looked like my only hope, so I downloaded it, opened it, and my source code editing software quickly insisted that the problem was a missing semicolon. I added the semicolon. I didn’t even think to properly read the program over before I ran it, didn’t think to take the damaged glove off my hand before I cast my spell...