by Rick Cook
"Your, ah, dinner, Lord," the man said with an odd expression as he laid the tray on the table beside Wiz’s bed. He removed the warming cover and withdrew.
Sitting on the plate, neatly trussed and roasted, was a small bird. The odor from the platter had unappetizing overtones.
Wiz looked at it dubiously. Then he poked at it with his knife. Then he looked up at Moira.
"Crow, right?"
Her eyes sparkled. "Well, Lord, you did say…"
"I know," Wiz sighed. "I know." Deliberately he cut a slice of the breast, put it into his mouth and chewed a couple of times.
"You know," he said at last. "I think I finally understand that expression."
Wiz was dozing again when he got his next visitor.
"Wiz?" a familiar voice said gently. At first he thought he was dreaming. There was no way he could be hearing…
"Wiz?"
"Jerry!" Wiz sat bolt upright in bed. "How the hell…"
"Relax, I volunteered," his friend told him. "We’ve got over a dozen people here; programmers, systems analysts, documentation specialists. We’ve been working on your spell compiler and magic operating system. We call it WIZ-DOS. You’re famous, boy."
Wiz shook his head. "I… I don’t know what to say… except God, it’s good to see you!"
"I missed you too. ZetaSoft wasn’t the same after you left. Look, I know you’re supposed to be resting, but there are a couple of things that have been driving us nuts."
Without waiting for an answer he spread four scrolls out on the bed.
"Okay, now here…"
"Just what do you think you’re doing?"
They both looked up to see Bronwyn standing in the door, hands on hips and fire in her eye.
"This is a friend of mine," Wiz told her. "I was just helping him…"
"You are helping nothing!" Bronwyn said, advancing into the room. "You risk relapse My Lord! Especially with the healing spell. You are supposed to be resting and rest you shall." She turned to Jerry. "As for you, you will take your magics and you will go back where you came from." She gestured as if exorcising a demon. "Begone"
"Look, I need to talk…"
"Out," Bronwyn ordered.
"But this will only take…"
"Out!" She made shooing motions. "Tomorrow he will be released and he can work himself to death as he pleases. But he will have a good night’s sleep before he begins."
"Tomorrow, okay?" Jerry grabbed the scrolls and left.
Later in the afternoon Bal-Simba came to visit him.
"They tell me you are recovered," the huge black wizard said as he entered the room.
"They want me to stay here overnight just in case, but I’m fine."
"Arianne said you wanted to talk to me."
"Yeah. We’ve got a very serious problem." He outlined his conversation with Duke Aelric and what he had seen on his travels through the Wild Wood.
Bal-Simba nodded gravely at the end of it. "I have talked to Aelric and I already know much of it. Besides there have been some incidents." He told Wiz about the disappearing villages.
"So it’s already started," Wiz said heavily. "Shit! I should have gotten back sooner."
"Little enough you could have done about that, Sparrow. Now, what of Duke Aelric?"
"He thinks we can make some kind of deal. But we’re going to have to work fast."
"What would he require?"
Wiz looked uncomfortable. "It’s not him, exactly. The way he explained it to me, there are so many factions and kinds of non-mortals that we can’t just sit down and bargain. What we’ve got to do is remove the threat in their eyes so their coalition falls apart. Then maybe we can come to an agreement with the elves."
"And what would this take?"
"Hey, I don’t know, I’m just the messenger boy."
"Hardly," rumbled Bal-Simba. "It was obviously your idea. Further, the elves, or at least Duke Aelric, are willing to treat with you."
Yeah, Wiz thought, only one of them keeps trying to kill me. "You make it sound like I’m ambassador to the elves or something."
"Very nearly, Sparrow. You have had more success dealing with them than any living mortal."
"Great. Another job I don’t want and I’m no good at."
Bal-Simba sighed. "Sparrow, we would be much further along if you would stop prejudging what you are or are not capable of. You can do a great deal more than you suppose if you put your mind to it. Now I ask you again, what will it take to avert a war?"
Wiz thought. "At the very least we’re going to have to fix things so they don’t feel threatened. That means we’re going to have to do something about demon_debug."
"That falls within the purview of you and the team from your world," Bal-Simba said. "What else?"
"Well, we’re going to have to stop this mad dash into the Wild Wood. We may be able to work out some kind of homesteading arrangement later, but for right now we need to keep people from going further."
Bal-Simba stroked his chin and the little bones of his necklace clicked against each other. "As easy to sweep back the sea, I fear."
"Can’t you order them to stop?"
The giant wizard smiled wryly. "Sparrow, even at the height of our power the Council never had that kind of hold over the people. Were we to issue such an order it would be ignored and there are not enough guardsmen to post at every forest road and trail."
"You’ve got to do something."
"We can only try."
"I understand you’ve got a whole team of programmers here," Wiz said to change the subject.
"Almost a score of them, recruited from the Valley of Quartz."
"You mean Silicon Valley."
"That is what I said, is it not? In any event they have been working on your system of magic and making excellent progress—or so they tell me." He chuckled. "Meanwhile they have been, ah, enlivening things here to no end."
"I dunno," Wiz said. "You make me feel superfluous. I’ve been gone and you and Moira have been doing all the work. All I managed to do was get myself kidnapped and chased all over the City of Night."
"Hardly. Aside from wiping out the remnants of the Dark League, you were the one who approached Duke Aelric with the notion of a treaty."
"You could have done that."
Bal-Simba shook his head. "No, Sparrow, I could not. In the first place he never would have talked to me. In the second place I would not have had the courage to do something so insanely dangerous."
"Oh," said Wiz in a very small voice.
"Well, I do not wish to tire you, so we will leave these matters for the morrow."
"Fine. I’m pretty bushed. I’m going to get a snack and go back to sleep."
Bal-Simba made no move to leave.
"Is there something else?"
"There are questions we must answer and soon," he said at last. "Some things yet unclear about what happened to you."
"For instance?"
"Was your kidnapping connected with the attempts on your life?"
"No. That was someone else. I think I can take care of that."
"Ahh, I see," he said and then hesitated again. "I understand Ebrion is dead."
"Yeah. I was there when it happened."
The wizard looked closely at him. "Was he involved in your kidnapping?"
Wiz opened his mouth and then stopped. Telling Bal-Simba what had happened would definitely discredit Ebrion’s faction—the people who had been trouble ever since he arrived at the Capital. But discrediting them wouldn’t make them go away. They’d still be here and they’d be even angrier and more frustrated.
Always leave your opponent a line of retreat—unless you want a fight to the death.
Wiz realized Bal-Simba was watching him intently.
"Would it do any good if I said Ebrion was involved?" he said at last. "I mean in the long run?"
The giant black wizard considered. "In the long run? No, not really."
"Then let’s say he died trying t
o save me and leave it at that."
"Sparrow, you never cease to amaze me," Bal-Simba rumbled. "You grow constantly in wisdom."
Wiz snorted. "Too schoon ve get old und too late schmart." Then he sobered. "I just hope it really isn’t too late. I made a royal mess of things this time."
"Things are in an, ah, ’interesting’ state," Bal-Simba agreed. "But certainly not beyond hope."
Twenty-Two: Mending Fences
Good client relations are the key to a successful project.
consultants’ saying
The Mighty in the Capital gathered in the chantry the next morning in no very good mood. They knew that Wiz had been kidnapped by magic and they knew Ebrion was dead. Some of them, guiltily remembering old conversations and half-dropped hints, suspected very strongly the two events were not unconnected. Most of them didn’t know enough to suspect, but they had an uneasy feeling that someone’s head was on the block.
As the blue-robed men and women took their seats in the carved throne-like chairs around the room they murmured and muttered among themselves. Bal-Simba had commanded this meeting, but obviously the Sparrow was the one who would do the talking.
Wiz stood up as soon as Bal-Simba called them to order.
"This isn’t easy for me to say," Wiz looked out over the assembled group. "But you were right and I was wrong. I am sorry. No matter how my magic compiler turns out, humans are still going to need your wisdom and your sense of restraint. I was so wrapped up in the technical details I couldn’t see that.
"My blindness has had very serious consequences. Now I can only hope to undo the damage I have done."
He took a deep breath and went on. "I can’t change the past, none of us can. But we can put it aside and go on from there. I’m asking you to work with me, both with the problems we have right now and in the long run.
"I hope that we can work together in spite of what happened in the past. We need each other." He paused. "At least, I need you. Thank you for listening." With that he stepped away from the podium to a smattering of applause.
"What of Ebrion?" someone called from the back of the room. Suddenly there was dead silence. The Mighty froze where they were and everyone looked at Wiz.
Wiz licked his lips. "I am sorry to say Ebrion is dead. He was a good man and he always acted in the way he believed was right. He was killed trying to protect me."
There was an almost audible sigh from the assembled wizards.
Several of the Mighty crowded around afterwards. The first to reach him was Malus. "Well, my boy," Malus said. "Well, well." Then the fat little wizard hugged Wiz to him.
"The fault was hardly yours alone, Lord," Juvian said, stepping up to him. "We have had our blindnesses." Several of the others pressed forward to offer their support as well, and for several minutes Wiz, Moira and the wizards stood making strained small talk.
"If you will excuse me, My Lords," Wiz said at last, "I have to meet with the programming team this afternoon and I want to get something to eat before then."
Malus followed them out. "I wanted you to see something," he said once they were alone in the corridor. "Your friend Karl has been teaching us while you were gone." He shook his head. "It is hard, very hard, this new magic of yours, but I have been practicing and, well… greeting exe."
Suddenly, written between them in glowing green letters six inches high was:
HELLO WORLD
"It is my first spell with the new magic," Malus said shyly. "How do you like it?"
Wiz grinned, Moira hugged the tubby little wizard and kissed him on the cheek.
"I think that’s wonderful, My Lord," she said, "and I’m sure Wiz does too."
"It’s great," Wiz agreed. It’s one of the best presents I could have had. Thank you, Malus."
"That speech has to be the hardest thing I ever did," Wiz said as they made their way back to their chamber.
Moira squeezed his hand more tightly. "Perhaps it was also the bravest."
He put his arm around her waist and kissed her. Then he opened the door and ushered her back into their apartment.
"The place looks bare with all my notes and stuff gone," he said, looking over at the table beneath the window.
"They went to a good home," Moira told him. Personally she thought it was a great improvement, but she wasn’t going to say so now.
"What have we got to eat? I’m starved and it smells wonderful."
Moira brought the dishes out of the cupboard where they had been magically kept warm. "I had luncheon sent up from the kitchens. Beef barley soup, roast beef, potatoes and bread and cheese."
"Heaven."
Wiz ate ravenously, enough for three normal men. Moira contented herself with a cup of soup and watched him pack the food away.
"Well," he said pushing away from the table at last, "that was wonderful, but I need to go meet the programmers."
Moira shook out her mane of copper-colored hair. "I was hoping you could spend some time with me this afternoon," she said softly.
"I’d like to darling, but I’ve got to get up to speed on this."
Moira put her arms around his neck. "Won’t it keep for a while?"
"Look, I really do need to get to the team meeting." Moira melted against him and pressed her lips to his for a long, slow kiss.
"Of course," he said as the kiss ended, "I could always tell them I was held captive by a wicked witch."
Moira opened her green eyes wide. "Wicked, My Lord?"
Wiz pulled her to him. "Darling, when you get going you’re the wickedest witch that ever was."
As always the Council of the North met in the morning. However this time Wiz was sitting in the center of the long wooden table, next to Bal-Simba and he was anything but bored with the proceedings.
"… so that’s it," he concluded. "Unless we can curb the invasion of the Wild Wood and stop people from using demon_debug we are going to have a war."
For once there were no objections from Honorious, no sniping from Juvian and no clarifications from Agricolus. Every man and woman at the table looked grave.
Juvian, who oversaw the Council’s dealings with the hedge witches, pursed his lips. "All easier said than done, I fear. The villagers prefer demon_debug because it is so effective against magic."
"ddt is just as effective and a lot less harmful to the environment. We’ve got to get them to use it instead of demon_debug."
The sorcerer rubbed a pudgy hand over a jowl. "That will not be easy, Lord. We do not have the authority we once had."
"They’ll listen to you if they ever want another bit of magic out of me," Wiz said firmly. "Look, this has got to stop. Unless magic is actively dangerous it is not to be destroyed."
Juvian shook his head. "I do not know, Lord."
"Just tell them that if they don’t stop, I’ll come there and start throwing lightning bolts."
"If you wish it we will, of course, but I do not know if they will listen to us."
"We have got to make them listen."
"We will do our best Lord, but it will be difficult."
"Okay," Wiz sighed, "what about limiting migration then?"
"That is not merely difficult, that is impossible," Honorious said. "The farms are too small and the soil is too poor. On that the peasants will not listen at all."
"We don’t have to freeze our boundaries exactly where we are. The part of the Wild Wood closest to the Fringe was human territory once anyway. But we can’t have uncontrolled expansion."
"Then tell us how to prevent such expansion, Lord."
"If we don’t prevent it we’ll be at war."
The old wizard sighed heavily. "Then, Lord, my advice is to prepare for war. For the people will not obey us on this."
All up and down the table the wizards looked even grimmer. But none of them disagreed with Honorious or offered an alternative.
Twenty-Three: Brainstorm Time
At some point in the project you’re going to have to break down and finally def
ine the problem.
programmer’s saying
"Okay," Larry Fox said, "what about corned_beef?"
Wiz had spent most of the previous afternoon and a good part of the morning meeting the team and reviewing what they had done. Now he was beginning to tackle the problems Jerry had dumped in his lap—literally—two days before. All the stalls in the Bull Pen were taken so they had wedged a table in down by the whiteboard and tea urn. He and Larry had spent hours going over obscure bits of code and untangling particularly strange demons.
"corned_beef is a hashing routine, obviously," Wiz told him between bites of his third sandwich of the afternoon. "It’s a fast way to search for a demon—a routine—by name."
"But where’s the rest of it? We figured out that it was doing a hashed look up, but we couldn’t see how you searched the entries."
"Mmmf," said Wiz around his mouthful of sandwich. He shook his head and swallowed hard. "It’s a perfect hash. One item per entry, always." He took another big bite of sandwich. "You take the first characters of the demon’s name, multiply that by a magic number. That gives you the number that serves as a subscript to the array. If you pick your numbers right you always get a unique entry for each item."
"That’s weird!"
Wiz shrugged. "It works."
"One more question. Why do you divide by 65,353?"
"Because you’ve got to divide by a prime number, preferably one at least twice as large as the number of entries you want in the hash table. 65,353 is a Mersinne Prime and it was the largest prime I could remember."
Larry frowned. "Are you sure 65,353 is prime? I don’t think it is."
Wiz shrugged and took another bite. "It worked."
"Okay," Larry said, "I’ll clear the rest of these changes with Jerry or Karl and get right to work on them."
"No need for that. I intended to fix those other points anyway and it’s in the language specification."
Larry hesitated. "I’d still better clear them."
Wiz started to object and then stopped. It really wasn’t his project any more, he realized. The original specification might be his, but even that had been modified in the process of development. Now it was a team project and Jerry Andrews was the team leader. It hurt to recognize that, but fighting it would only damage the project.