Spellcrash (24 page)

Read Spellcrash Online

Authors: Kelly Mccullough

Tags: #Computers, #Fantasy, #General, #Fantasy Fiction, #Fiction

BOOK: Spellcrash
7.61Mb size Format: txt, pdf, ePub

What had been a sort of dry hummock of stable memory amidst the more active—read that as

“liquid”—data flows around it had vanished, leaving us knee-deep in a brightly colored cascade of ones and zeros. Well, knee-deep for me anyway—Melchior’s current shape not having knees and all. I looked out over the area I’d been idly overlooking before. Everything had changed: Colors. Rates of data transfer. Stable memory vs. active rewriting. Everything. And, all in an instant.

“That has to be a revert,” I said. “One of the players simply restoring the old code they’d written for this space sometime in the past.”

Melchior nodded. “I wonder how long it will last.”

I decided to drop the nature-of-existence question for a little while and stomp around in the delta.

Again, that really wasn’t what it was at all, but that was how my meatspaceevolved brain wanted to deal with the situation. Perhaps the strangest consequence of that was that after half an hour of splashing through what basically looked and felt like a swamp, I was dry and clean, and didn’t smell any worse than I usually do. I sometimes wonder if that’s part of why smells have never been all that important to me—cyberspace tended to skip them entirely.

That was when Melchior called me back to the place where I’d left him. Since I’d been at it long enough to get a rough feel for the underlying software architecture responsible for the shape of the information being manipulated, I headed back his way.

“What do you need?” I asked as I got closer.

“Can you try an experiment for me?”

“It depends. Is this like the time you wanted me to see how many drinks it took before I was no longer able to pat my head and rub my belly at the same time?” Mel shrugged. “This will probably hurt more, but not for nearly as long.”

“Have I ever mentioned that you’d make a terrible salesman?” I asked.

“Once or twice. Is it my fault that I’m a realist in a world filled with foolish optimists?
I
certainly don’t think so. I blame my creator.”

“I just
built
you, my cynical little friend. Core design specs are the fault of Fate Inc. with a couple of little industrial sabotagesque tweaks provided by Mademoiselle Discord.”

“I seem to remember from looking at the plans that (A) you put some of your own tweaks in the original mix, and (B) the current version of
moi
is even more of a Ravirn mod-job than the first iteration. But none of that answers my question about the experiment. What I want is for you to do that shapechanging voodoo that you do so well.”

“I don’t see what that would . . . Oh. This is about the nature of my current being in cyberspace.

Very clever. I’ll try the otter.”

I reached inward, searching for the place where blood and chaos merged. Found it. Drew the shadow of the Raven over me. And twisted . . .

“There you go, and . . . Hey, that didn’t hurt one little bit,” I said, after I finished the transition.

“Instant otter, just add magic and mix. Some restrictions and blackout dates may apply. Not responsible for lost or stolen organs. I feel
great
!” Then I flopped on my back and giggled. That lasted right up until the software rewrote itself around us again, putting me high on a dry bank. Deep instincts rolled me onto my belly, and I slid down into the pseudowater. For the next several minutes I paddled around and chortled like a maniac. There’s something about being an otter that completely dislocates my already-compromised sense of propriety.

Finally, I climbed back up to Melchior and shifted again, becoming a giant Raven. Again, no pain. So, why stop there? I drew a new picture of myself in my mind and poured myself into it, becoming a gigantic coyote. I stayed there just long enough to let out one long, wild howl of delight, then tried to add a pair of wings to the package. When I had no luck, I returned to my natural shape and told Melchior about the wings.

“So, you’re more plastic than you are in the real world but perhaps only within a set of naturalized bonds. Interesting. I—Damn it, there it goes again.” The virtual world reverted to the second configuration we’d encountered.

Melchior rubbed his temples. “That’s starting to give me such a headache. The software turbulence is very hard on my psyche.”

“Imagine how hard it must be on the worlds that are governed by this remerge system . . . Oh, Mel.” For the first time, the fundamental horror of that idea really sank in.

This wasn’t just some software snafu happening on the servers of a company selling widgets to people who didn’t really need them. This was
Necessity
, and the edit wars were happening in a subroutine that literally rewrote the futures of entire worlds.

One minute a minor decision creates two probable worlds. Each is peopled by an entire version of the human race almost but not quite identical to the other. In the next minute, the two become one again, remerging the infinitesimally different versions of those people. But as potentially scary as that picture is, it’s only half the story.

Because that’s what happens when things work right. What happens with Necessity broken? Do those same worlds simply fall off the net and go blithely along in their own pocket universes?

Maybe. Sometimes. But sometimes, they simply evaporate into chaos, taking every last living thing with them.

Worse, this was only one of Necessity’s control systems, and a minor one at that, governing the least of decisions. Our entire MythOS was currently under the reign of a goddess who had come unglued. Nothing and no one was safe from the effects of that. Even if I were to get the whole thing fixed and running tomorrow, uncounted—no, un-countable lives would already have been affected in the time between now and then. Real lives belonging to real people that might have been saved or bettered if I’d acted more quickly would be irreparably changed.

CHAPTER TWELVE

“Boss, are you all right? You look like you just ran face-first through a plate-glass window.”

“I think I just did.” All those lives tied up in whether I did or didn’t manage to fix Necessity, all that weight on my narrow shoulders . . . I shuddered. This must be how Atlas felt
all the time
.

“Tell me about it.”

So I explained my thoughts about the consequences of failure. When I finished, Mel let out a low, unhappy whistle. “Ugly.”

“Yeah,” I agreed. “I somehow managed to forget the stakes for a while. I think it’s all the time I spend dealing with gods and immortals. They
can
be hurt, deeply even—look at Persephone—

but they’re also eternal and virtually indestructible, ideals personified as much as they are people.”

Mel nodded soberly. “The whole lot is so prone to treating humanity as the counters in an elaborate game that it’s easy to become infected with their worldview. Hell, Lachesis thought nothing of making a threat against my entire species.”

“We’re not going to let her carry that through, Mel. I’ll nuke the whole god-governing part of Necessity if I have to in order to prevent it—tear the system down and let the worlds go on their merry way without any of the powers, me included.” I turned away, looking out over the datascape. “Come on, we need to figure out how this thing works. We’ve got a ton of work to do.”

With Melchior’s help, I coded up a bunch of tools for the task. One big ugly codespell would let me see exactly what was happening when an edit rearranged the software around us. Another, subtler piece of magic, would trace the source of the edits back through the computer architecture to their various sources. A third brief spell string was designed to hide the second and drag us invisibly along in its wake.

That done, we settled in to wait. The first act didn’t take long—the edit war was burning fast and hot. Change ripped through the datascape, moving around all of the sensors we’d conjured. It happened at the speed of light, far too fast for me to register anything more than a before and after. But the sensors were another matter. They showed us the exact place where the new code had first appeared.

We made a note and placed a new suite of monitoring spells aimed at that entry point to the subsystem. Then we reset the other sensors and went back to waiting, repeating the process until we’d gathered data for the whole cycle and all the way back to the first revert we’d measured.

This time, we had sensors waiting within the point of entry and were able to backtrace the command source quite a distance through the system. Over the next six hours, we created a steadily expanding map of the edit war that included considerable information about the places where the different versions of the data architecture originated. There were three loci of control.

We labeled them “Shara?,” “Virus-X,” and “WTF?!?!?”

The “Shara?” trail led back into the security systems we knew were inhabited and controlled by Shara. Or possibly, the pseudo-Shara—Melchior felt that while the code tasted kind of like what he would expect from Shara, there were enough significant anomalies that he couldn’t say for sure. We put that one aside for the moment.

We also put aside the “WTF?!?!?” path for now since it was going to be a nightmare to examine in any depth. It looked more like an environmental side effect of the hardware than any coherent code locus. It didn’t seem to enter from one point and trace back to a distinct part of the system so much as spontaneously ooze out of about a million places where the software interacted with the firmware and various bits of chip structure. I’d never seen anything in the computer world that looked less centralized or more like old-fashioned chaos magic. I had no trouble imagining why Shara had had such problems trying to figure out where the hell it was sourced.

The “Virus-X” path was the most interesting to me as a hacker and cracker. These days I think of myself mostly as a white hat, someone who finds the loopholes in code and exploits them for the betterment of the multiverse. Or, if I’m going to be more honest, I should perhaps call myself a gray hat. I
will
crack things just because I can, but I’m no longer likely to use the opportunity to inflict uncalled-for damage when I do that, either to the system or its owner’s ego.

I know that most of the great powers don’t see me that way. To them, I’m a black-hat cracker, nasty and subversive, in the game to destroy and turn things to my advantage. I have to admit, I do use many of the same tools that a black hat might. I know a lot about the dark side of the coder’s world because it’s where I came from, and if I
were
still a black hat and intent on the subversion or destruction of Necessity, I’d have approached the problem
exactly
as Virus-X had.

There was no way to locate its initial entry point to Necessity as a whole, but it seemed mostly to be hiding out in the Input/Output channels governing communication between the millions of servers that made up the mind of Necessity. That position in the network’s I/O path let it control the flow of information, making it virtually impossible for anything internal to the system to see it or root it out. It was a bit like seizing control of the synapses of a human brain so that the neurons that actually did all the processing could think only what you wanted them to think.

It was nasty and clever and just the way I’d have done things given the openings I could see.

Virus-X’s methods were disturbingly familiar on subtler levels, too. Small twists and turns that exploited already-existing code in preference to writing new stuff, along with an off-the-cuff feel, closely mirrored the operating techniques I preferred. In so many ways, Virus-X had approached things as I might have, which led to the obvious question of who thought that much like I did?

The next time it moved, so did we. For the twenty minutes that followed, Melchior and I played the digital equivalent of red-light, green-light with Virus-X, moving only when we could be pretty sure it wasn’t looking, while still trying to stay right on its backside through a dozen sectors of the system. Eventually, we had it backtracked to a place within the kernel of the OS.

Since my Fury blade provided me with absolute access to the entirety of Necessity’s internal domain, we were easily able to follow Virus-X as far as an outer ring of defenses it had erected around its own core.

The OS for Necessity is huge and hardworking, the cyberspace equivalent of really massive city like Tokyo or Mumbai, with about a kazillion lines of interlocked code running flat out all the time. The intruder had usurped a fairly small corner of that space and secured the hell out of it.

Picture an American embassy in the heart of a really hostile country—razor wire everywhere, walls within walls, multiple layers of mirrored glass on the windows to baffle spying devices, and all kinds of countersurveillance software constantly scanning the surrounding codescape.

Got that? Now translate it into something optimized for dealing with threats in three dimensions.

It looked a bit like a giant stainless-steel coconut with razor-wire fuzz.

I had no doubt it was crackable. Everything is, even biometrics if you handle them right, but this wasn’t going to be easy, and a close look around the neighborhood told me we’d have to use a subtle approach rather than brute force. Virus-X was sitting smack in the middle of the control package that governed the powers of the Greek pantheon—like a steel shotgun pellet lodged in the living heart of Necessity. One wrong move, and you’d have a fatal bleed-out. We couldn’t afford to panic it.

Other books

Last Flight For Craggy by Gary Weston
Healing Stones by Nancy Rue, Stephen Arterburn
The Torment of Others by Val McDermid
Paradise Encounter by Anthony, Pepper
El mundo como supermercado by Michel Houellebecq
Warlord's Revenge by Craig Sargent
Irons (Norfolk #1) by Mj Fields