WebMage: A fantasy-cyberpunk hybrid that revolves around Ravirn, a grandson of the Greek Fate Lachesis. In order to keep up with an ever increasing number of life threads, the Fates have upgraded to a computerized system that blends magic with programming. Of course where there are computers, there are also hackers. In the process of “testing” his Great-Aunt Atropos’s security, Ravirn, a hacker/sorcerer, and his laptop familiar, Melchior, uncover a plot that could shake the foundations of Olympus and change humanity’s relationship with Fate forever.

WebMage received excellent reviews from such diverse sources as Publishers Weekly, where it was starred, SFRevu.com, Fresh Fiction, Alternative Worlds, Romantic Times, and prominent author, Mel Odom.

Buy at Amazon, Kindle, (Sponsored links) Barnes and Noble, iBooks, Nook

Book #1 of the WebMage Story, an Excerpt

#Chapter 1#

“Nothing here,” said Melchior, his voice echoing from the depths of an ancient citrus-wood chest.

“Keep looking,” I called back to my familiar, yanking another drawer from my many times great-aunt’s desk. “It’s small. It could be anywhere.”

The spell was very tightly written, and elegantly coded. Embedded in the crystalline matrix of a memory jewel, it was beautiful. Even incomplete, it was the scariest thing I’d ever seen. Worse, it didn’t seem to be anywhere in Atropos’ suite. I shouldn’t have been surprised. My-great-to-nth-degree-aunt is a consummate weaver of intrigue. I dropped the drawer. Where should I look now? As if in answer to my question, a hound bayed in the distance, the unmistakable belling of a hunter on a fresh trail. I didn’t have much time.

“Melchior, Mtp://mweb.DecLocus.prime.minus3051/umn.edu~Melchior, comstockhall301,” I said. It was my current home site on the mweb. “Execute.”

“I hear and obey, Ravirn,” replied Melchior.

The webgoblin hurried to an open space on the floor and scratched a hexagram into the wood before spitting out a netspider. The tiny magical creature scuttled to the diagram where it set an anchor line and vanished. A few seconds later it returned and Melchior grabbed it and returned it to his mouth.

“Mm mm. Delicious and nutritious, tastes just like chicken.”

“Can the editorials, Mel,” I called, sliding out from under the bed. I’d sliced open the liner and dug around in the springs. The smell of dust filled my sinuses. “We’re in a hurry and I know they taste terrible. That’s one of the reasons I built you in the first place. I just want to know if my dorm room is clear.”

The webgoblin stuck his spider-occupied tongue out at me. I snapped my fingers in exasperation, calling a wisp-light into being and sent it to dance a few inches in front of Melchior’s eyes. He hopped back and growled a little. When the wisp showed no signs of departing, he sighed and swallowed the spider.

I dispelled the wisp. There was no sense in aggravating him, or drawing more attention than I already had. Although, on looking around at the wreck we’d made of my great-aunt’s bedroom, I had to wonder if I could draw more attention. If she ever found out who’d done this I was a dead man. Still, I found myself delaying our departure. The backtrail I’d left should keep the dogs off for a little while longer. If only I could find the damned spell. I searched the room one last time with my eyes.

“Processing,” said the goblin, his voice mechanical. Then, after a few seconds, “Reporting. Your room in Comstock at the U of M in the prime-minus-3051 Decision Locus is vacant.”

“Thanks, Mel,” I said. “That wasn’t so bad, was it?”

“Ick, ack, ptooie,” coughed Melchior, his voice returning to its normal whiny growl. He rubbed his tongue as if trying to clean off the remnants of the webspider. “When Lachesis wrote the code for those things, why did she make them so bitter?”

“I’m tempted to say it’s just another manifestation of my greatest grandmother’s sparkling temperament. But that’s not actually the case. Uncle Valarian asked her once while I was around. She said it’s to remind us that the spiders are serious and potentially dangerous magical constructs, not toys.”

“Hmph. Why don’t you fix them?”

“There are several reasons.” I ticked them off on my fingers. “First, I’m not the one who has to eat them. Second, their programming is much more involved and nasty than it’s worth. Third, they’re virtually bug free, if you’ll pardon the pun. Fourth, and finally, it would seriously irritate Lachesis, and that stupid I’m not.”

Lachesis, the Fate who measures the thread is not a Goddess to be trifled with. For convenience’s sake I usually refer to her as my grandmother rather than adding in all of the necessary greats and she is more fond of me than of some of my relatives. But bonds of affection and blood are only a limited shield from her anger.

“Now,” I continued, “before you come up with any more distracting questions, I have orders. Melchior, establish a Locus Transfer Protocol link with the Comstock hub. As soon as that’s done, initiate transfer. We’ve got to get out of here.”

The little goblin glared at me, but went to work. He pulled a piece of chalk and a bit of string out of his belly pouch. Using the string to measure, he drew a large hexagram on the floor spat another netspider into the center. It blinked out the second it landed, leaving behind a glowing blob of gold silk.

“Connecting to prime.minus3051,” intoned the goblin.

A few moments later the light changed from gold to green. “Connect,” said Melchior. “Initiating Gate.”

He dropped to his knees and grabbed the node. As he pulled on it, the glow spread outward, filling the whole hexagram. Once the diagram was completely green, the light rose to form a hexagonal column about six feet high and two across.

“Gate established. There you go, boss. We can leave whenever you’re ready.”

“Thanks, Mel. That was nicely done.” A loud crashing sounded somewhere close by. That would be the cousins coming to see who had invaded their demesne. And, as much as I might have enjoyed staying and chatting with my dear, dear relatives, Atropos’ brood was notorious for killing first and trading pleasantries later.

“Perfect timing,” I said to Melchior. “Shall we be going?”

“Hades, yes!” said Melchior, hopping from one clawed foot to the other in obvious agitation. “Atropos scares me even more than your many times great grandmother.” The doorknob turned as someone tried to open it.

“We need to go now!” He tugged the corner of my cloak. I twitched it out of his hand.

“Too right, Mel.” I really didn’t want to be there when they got through, but damnit, I needed to find that spell.

It wasn’t going to happen. Defeated, I stepped into the column of light. The door shuddered and groaned as something thudded into it. A half-second later, the sound was repeated. Long cracks appeared in the thick, wooden timbers. I pulled my cloak up to mask my features.

“Melchior, Locus Transfer,” I said. “Execute.”

Phrased like that, with his full name at the beginning and the execute order at the end, it was a command he had to obey. Melchior, joining me on the hexagram, hissed out a string of spaghetti logic. The light began to shift from green to blue. A third impact buckled the door completely. I drew my rapier. An instant later, a broad bladed hunting spear hurtled though a gap at the top of the ruined door, coming straight for me. I thought we would be gone before it got to me, but it never hurts to be careful. I brought my sword up in a parry. As the light finished its transition the room wavered around us and vanished.

There was a shower of sparks as the iron spearpoint grated along the edge of the rapier. The contact deflected the missile past my left shoulder. It buried itself solidly in my roommate’s Toby Keith poster. It also left my hand stinging and numb by turns.

“That,” I said to Melchior, “was entirely too close.” I dropped the sword and hooked the chain on my door.

“Has anyone ever told you that you have a gift for stating the obvious?” asked my goblin. He was livid, literally. His face and neck, normally a royal blue, had faded almost to periwinkle. “Were you trying to get us killed, or are you just stupid?”

That was too much. “Melchior, enough! When I wrote you, I included a certain amount of self-determination and sarcasm. But I won’t tolerate insolence or insubordination. Go to your desk.”

“Your least whim is my veriest desire, o’ prince.” The webgoblin leaped onto my small desk, where he assumed a cross-legged position and glared at me.

“Melchior, Laptop,” I said, tired of his whining. “Execute.”

“No sooner commanded than performed.”

The goblin’s flesh began to flow and twist like soft wax. Five minutes later the transformation was complete. What had once been a nasty tempered little manling was now a shiny WebRunner 2,200cs PPCP cell laptop. A small blue logo bearing a suspicious resemblance to Melchior was positioned below the screen on the left.

While the goblin altered his appearance to better fit in with his surroundings, so did I. The black cloak and the rapier went into a trunk at the foot of the bed. The tights, likewise black, and the emerald tunic were stuffed into a laundry bag. The high leather boots were retained to go over a pair of black jeans. I topped that off with a green “Nobody Wins” T-shirt and a TechSec leather jacket before checking myself in the mirror to see whether I’d forgotten anything.

Boy, had I ever. “Shit,” I mumbled. The face that stared back at me was not one I could wear around here. I invoked the spell that rounded my slightly pointed ears and reshaped the vertical slits in my green eyes to more human circles. My long, black hair, fine bone structure and dead white skin I left intact. On a campus with as large a Goth population as the U of M, they were normal enough to make concealing them a waste of magical resources, a cardinal sin in House Lachesis. That done, the transformation was complete. Prince Ravirn of the house of Lachesis, sixty-seventh in line for the throne, was gone. In his place was Ravi Latcher, a junior in Classics and Computer Science with mid-terms coming up.

Atropos and her spell would have to wait. I’d given Lachesis my solemn word that I wouldn’t miss another mid-term. And breaking a promise to Fate is an excellent way to end up as the subject of a Greek tragedy, even if you are a member of the family. I assuaged my conscience with the thought that Atropos hadn’t been able to make the spell work yet. Otherwise she would never have come to me. I’d have another go at finding it after my first test. Not enough to make me feel better, but the best I could do for now.

Swearing under my breath, I turned and started stuffing books into my shoulder bag. That’s when I remembered the spear. Ran into it is more like the truth, but that’s neither here nor there.

Damn! If Rod found that thing there I’d never hear the end of it. Pulling the weapon loose, I tossed it under the bed. That left a rip in the poster and a hole in the wall. It seemed an awfully trivial concern right then, but anyone who’s ever had a touchy roommate would understand. Sighing, I flipped the cover of the laptop up and hit the space bar.

Enter password.



Run Melchior. Execute.

I hear and obey!

The laptop shifted back to its webgoblin form. “What now? I didn’t even have all my bootables in the right places. You know I hate that.”

He can get in a real snit when that happens, and I didn’t feel like picking a fight with my laptop three days before term papers were due. He can crash at the most inconvenient times when he was angry.

“I know, I know. I’m really sorry. You’ve been doing good work lately, and I haven’t been praising you enough. But I was supposed to meet my study group in Walter Library ten minutes ago. I want you to fix Rod’s poster and then catch up to me there.”

“I don’t see why you can’t just do it yourself.”

“Because I don’t have time to code a real spell, and if I just paste an illusion over it, I’ll forget about it. Then the illusion will wear off at the most inconvenient possible time, and I’ll end up having a huge argument with Rod.”

“True. Pathetic, but true.” I let that slide and he continued. “Get moving, I’ll be along in fifteen minutes or so.”

“Great.” I opened the door then looked over my shoulder. “Oh, and Melchior.”


“I don’t want you terrorizing the sorority girls on your way over.”


“No, Mel. Stay away from the football team too, OK?”

“Yeah, sure. If I have to leave the Greeks alone, I might as well not have any fun.”

“Thanks, Mel. You’re a prince.”

“No, you’re the prince. I’m just a lowly goblin flunky, doomed to a life of menial labor.” Melchior wrenched a razor sharp tooth from his mouth and spat a netspider into his hand. He squeezed it until silk came out and then threaded that onto the tooth. “No one appreciates my simple graces.”

“Good-bye, Mel.”

As Melchior began to sew up the rip in the poster, I ducked out and closed the door. Then I took the back stairs three at a time. When I hit the campus mall, I sprinted. The mall was lined with vaguely classical buildings. My family’s early Greek worshipers would have recognized the style, though they’d have wondered why everything was oversized and rendered in stark gray granite or boring beige sandstone. It was October, one of the good ones, and the air was crisp but not icy. In the clear fall air the full moon seemed close enough to touch, and the smells of dry leaves and dying grass were enough to paint a grin on my lips. There was nothing like fall in Minnesota. Even with the threat of Atropos’ spell hanging over everything.

Melchior caught me as I was dashing up the library steps. Somehow, he’d gotten there ahead of me.

“Boss!” he whispered loudly from behind a pillar. “Hey, Boss.”

I turned, startled. He’d gotten there too fast. “How’d you manage to fix the poster so quickly?” I looked around to make sure that none of the local human population was close enough to see me talking to a mythical creature. Together we slid into the deep shadows at the edge of the building.

“I didn’t fix the poster,” said Melchior. He raised a closed hand to forestall my complaint. “We have much bigger problems than an annoyed roommate. This came through into the room after you left.”

He opened the hand. In it was a small, broken thing, a netspider. I took it and popped it into my mouth. The flavor was even worse than the ones my grandmother had coded. It was also familiar.

“Atropos,” I whispered. I was stunned. I’d been very careful not to leave any identifying marks, and I didn’t think anything could have backtracked me. “This came from my cousins, or worse, my great-aunt. Are you jamming?”

“As much as possible, but they’re using some pretty heavy code-breaking algorithms. Their webhounds will have us locked down within ten minutes.”

“I guess I’m going to have to take a pass on my study night,” I said. “Melchior, Bugout. Execute.”

“Executing,” said the goblin. “Waiting for connection.” There was a long pause. “Lachesis.web system connect denied.”


“Melchior is unable to create an Mweb socket connection,” he said. “The system may be down or there may be insufficient system resources at this time. Try again later.”

We were being counter-jammed. That was very bad. It meant they had me at least partially localized. It also meant Atropos was directly involved. It would take her authority to seal access to a whole node or band of nodes. If she knew it was me…

“Right. Melchior, Sidedoor. Execute.” The goblin’s eyes glazed over and a low hum emerged from his mouth. After a moment he spoke again. “Unable to open carrier wave connection. Access denied.” In a more normal voice he continued. “Sorry, Boss. It doesn’t look good. I can’t get in anywhere, and we only have about five more minutes.”

“All right. We’ll have to take this to extremes. Melchior, Scorched Earth. Execute.” His eyes got very wide and he looked like he wanted to object, but I had phrased it as a direct order.


There was a long pause as Melchior prepped the spell. It was too big to keep in active memory. I had time to wonder if I was going too far. Melchior’s voice came again.


No time for second thoughts now. Scorched Earth is not a spell that can be aborted halfway. Ultimately, all spells draw power from the same source, the primal chaos that churns between the worlds. But my family mostly uses the predigested forces my grandmother and her sisters channel into the net via their mainframe webservers. Scorched Earth isn’t like that. It taps directly into the interworld chaos. That means it’s both very dangerous and very powerful. It also means I don’t have to have web access to run it. Melchior’s voice interrupted my train of thought.

“Scorched Earth successfully implemented,” he said.

With those simple words, the nastiest virus I had yet coded was released into the mweb. If it worked, it would scramble the routers for my whole node band and put my great-aunt’s webhounds smack in the middle of a data storm. There was no way they’d be able to track me through that. There was even a chance of completely fragging them.

“Uh, Boss,” said Melchior.

“Yes. What is it, Mel.”

“I just lost contact with the carrier wave.”

“I thought you couldn’t get in.”

“I couldn’t, but that’s not what I meant. I mean it just cut out completely.”

“It can’t do that, unless…” I trailed off as a really ugly thought occurred to me. I looked at Melchior and he nodded his head.

“There’s no carrier wave and no Mweb line,” he said. “I can’t even get a ping off the backbone. I think we just took the entire net down, Boss.”

“Sweet Necessity,” I murmured. “What have I done now?”


Sitting at the desk in my dorm, I cradled my head in my hands. Melchior sat on the floor nearby. For four hours we’d been trying to establish some kind of link to the mweb. Nothing worked. There was very little doubt now that we’d crashed the whole damn thing. If this was ever traced back to me, I’d have more to worry about than Atropos.

“Well, Mel, I think it’s time we admitted–” He held a hand up.

He cocked his long pointed ears this way and that for a few moments, then got up and walked to the network jack in the wall. Looking confused, he wetted a fingertip and stuck it into the socket. A moment later he let out a prolonged modulated whistle.

“Uh, Boss. I don’t know that you’re going to believe this, but you’ve got new mail.”

“Over the local net?”

“Yes, indeedy.”

“What is it?”

“It’s from Cerice. She wants a visual ASAP.”

“Over the local line? That’s going to lock a lot of folks out of their online services. Where is she mailing from?”

“Cerice@shara.gob via AOL.com.”

“Well, so much for AOL for the next twenty minutes or so. I wonder what she’s doing in this DecLocus.”

Cerice is even further down Clotho’s bloodline than I am Lachesis’, making us something like 47th cousins, but we’re of an age and have been friends since our teens. No one seems to know quite how long the children of Fate might live, but none of the family has yet to die of old age or even to look as though they someday might. If it weren’t for a very low birth rate and an actuary’s nightmare of violent death — mostly accidental but occasionally with intent — we’d be legion. As it is, there are certainly fewer than five hundred of us and, counting Cerice and myself, no more than a dozen under the age of forty. Since I’d thought she was home in Clotho’s domain working on a hardware recycling project she’d been rather intense about of late, finding her here seemed almost too odd.

“Melchior, Vlink; Ravirn@melchior.gob via umn.edu to Cerice@shara.gob via AOL.com. Execute.”

“Aye, aye. Searching for shara.gob.” I used the brief pause that followed to drop the spell that altered my appearance. “Contact. Waiting for a response from shara.gob. Lock. Annexing extra bandwidth. Vtp linking initiated.”

Melchior opened his eyes and mouth wide. Three beams of light, green, blue and red, shot forth from these orifices intersecting at a point several feet in front of his face. A translucent golden globe appeared at this juncture. It fogged, then filled with the three dimensional image of a strikingly beautiful young woman. Her hair was so pale as to be almost white. Aside from that, her features bore a strong resemblance to my own, the primary difference being that on her they looked better. She was wearing some sort of formal court gown in a taffeta that seemed to shift from red to gold depending how the light hit it. It was very low cut, but a half jacket prevented it from being indecent.

“Cerice, my darling,” I said. “You’re as ravishing as ever. It’s an absolute pleasure to rest my weary eyes on your delightful features once again.” Even under these circumstances I couldn’t help but be pleased to see her.

“Charming as always, Ravirn. Your absence must be sorely felt at your grandmother’s court.”

“Alas, I think not. While Lachesis has some fondness for me, it seems to be in inverse proportion to my proximity. I suspect that my manner charms less than my nature offends.”

“Speaking of which,” said Cerice, shifting from courtly circumlocution to businesslike directness, “you have a major problem.”

“Oh,” I replied. The change in gears was jarring.

“Look, I know family politics calls for a lot of polite nonsense and frills before finally broaching the real subject for conversation, but you just don’t have the time.”

“All right, I’m willing to dispense with formality. I was dying to ask you how you happened to be in this particular DecLocus at this exact moment anyway. I thought you were home.”

“I was until twenty minutes ago.”


She cut me off smoothly. “Yes, I know. The net’s down. I hacked into Clotho’s mainframe and used it to open a single-use one-way gate.”

“That must have been a cast iron bitch.”

She smiled. “It wasn’t that bad. You’re not the only competent coder in this generation. But I didn’t call to exchange hacking tricks. I called to let you know you’re in hot water all the way up to your eyeballs.”

“How hot?” I asked glumly.

“Atropos wants your head.”

Sweat popped out along my browline. But I didn’t dare talk about what was going on over an open link. Also, as much as I liked Cerice, on this topic I didn’t dare trust any of Fate’s children. Besides, there was no way she’d believe the truth.

“That’s not news,” I said, leaning back in my chair and trying to look relaxed. “Atropos has always held a special, black little place in her heart for me. It’s because of my hacking. She writes lousy security algorithms then blames me when I demonstrate it to her.”

“Ravirn, don’t be more of an idiot than usual. We both know she’s security mad. Her firewalls and program killers are better than either Clotho’s or Lachesis’. But you’re an egotistical bastard, and Atropos is the only opponent you think is worth your effort. Unfortunately, you haven’t the wit to crack them without leaving a calling card of some kind so you can gloat about it later.”

“Well, yeah, but…” I wanted to defend myself, but the only argument I had was one I couldn’t make.

“But me no buts. As I said, you haven’t the time. Not after you crashed the whole net. That wasn’t smart.”

“It wasn’t actually my intention.”

“Intention or not, that was the result, and it’s given Atropos the opportunity she’s been waiting for. The net wasn’t down five minutes before she showed up at Clotho’s demesne. They called council, and when Lachesis arrived, Atropos demanded your head. Lachesis apparently has some attachment to you, because she absolutely refused to hear of it. Unfortunately for you, Clotho sided with Atropos.” Cerice paused and cocked her head to the side. “Though I think that might have been as much to see how well you operated under the pressure as anything. She seems to have a soft spot for you, though I can’t imagine why.”

I felt a rushing sensation in my head. I had known, in the abstract at least, that something like this could happen, but I hadn’t really believed it.

“I’m screwed,” I whispered. And I was, in more ways than one. My credibility had just been irrevocably shattered. I had to get that spell crystal now. Without it, any accusation I laid against Atropos would never be believed. My grandmother would just assume I was seeking revenge.

“Yes,” Cerice nodded. “But not quite totally screwed. Atropos couldn’t cut your thread without unanimous agreement.”

I let out a tiny sigh of relief.

“But with the net crashed and Clotho backing her, Atropos was able to get Lachesis to allow a proxy assassination attempt.”


“Moric, Dairn and Hwyl.”

“All three!?” My relief vanished. “Just for little old me?”

“Lachesis only agreed to one attempt. Atropos didn’t want it to fail.”

“When was the conference?”

“About an hour ago.”

“Powers and Incarnations, I’ve got to get moving.” I started to tell Melchior to close the connection, then paused. “Cerice, thank you. If I survive, I’ll owe you my life. If not…. Well, if not, I’ll still owe you a great deal, but you’ll likely have a hard time collecting. I have to know. Why did you warn me?”

She smiled fondly. “Despite your pigheadedness, arrogance, and willful idiocy, you do have an impish sort of charm. The world and I would be the poorer for your passing. Now get out of there.” Her hand waved briefly, then the picture faded away.

“Melchior, log us off and shut down all incoming network traffic.”

“Yes sir, right away, sir. Will we be running away now, sir?”

“Damn straight we’ll be running away.” So much for the promise I’d given Lachesis to improve my grades.

“Very good, sir. Brightest thing you’ve done all day, sir.”

“Don’t push your luck, blue boy. I might leave you as a distraction for the assassins. Now, Mel, I want you to–Chaos and Discord!” It hit me like a ton of bricks.

“Ah… I’m not sure I’m familiar with that one, boss.”

“Mel, the net’s down. The hit team will be coming the same way Cerice did. We have no way of knowing when they’ll arrive. For that matter they could be here already.”

The impulse to run out the door was almost overwhelming. I choked it down. I had to run, but I had to run smart. Moving as quickly as possible, I grabbed my rapier and a left-handed shoulder holster out of the trunk. When those were strapped on, I leaned down and tapped the combination into the speed-draw gunsafe bolted to the underside of my bed.

The drawer popped open, and I pulled out my beat-on but much loved Colt .45. Before holstering the old model 1911, I worked the slide to chamber a round, flipped the safety on and popped the clip. Then I loaded another bullet and returned the clip to the pistol.

As no one had yet broken my door in, I took the time to kick off my boots and jeans and swap them for TechSec racing leathers. Finally, I grabbed the shoulder bag I keep packed for emergencies.

“Come on, Melchior.” I opened the flap on my bag. “Let’s go.”

“It’s about time,” replied the goblin as he climbed into the bag. “You were moving so slowly I thought you were going to put down roots.”

“Listen,” I began, then thought better of it. “Later, if I’m still alive, I’m going to rework your OS.” I snatched my motorcycle helmet and gauntlets and opened the door.

Copyright © Kelly McCullough 2006. May not be reproduced without the author’s permission.