"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_debugwe 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_debugbecause it is so effective against magic."
" ddtis 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 define 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_beefis 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."
Читать дальше