WIZARDRY COMPILED by Rick Cook

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.

—programmers’ 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.

“Fine,” he sighed. “Let me know what Jerry wants to do about it.”

The next afternoon the entire team gathered in the Bull Pen. One of the long trestle tables had been cleared and stools and benches were pulled up around it. Wiz sat at one end of the table with Moira and Jerry by his side. In the center was the new version of the Dragon Book, with the small red dragon curled peacefully asleep atop it.

“The news from the Council isn’t good,” Wiz told them. “I was hoping they could solve their immediate problems by traditional methods once they understood what the problem was. They’ve been pushing for us to wave a magic wand,” he smiled wryly at the phrase, “and make them go away. Well, as of this morning, it is definite. There is simply no way they can do it. We’ve got to come up with a magical means to head off a war.”

“Not much to ask, is it?” Nancy said.

“Okay,” Wiz said. “We’ve got two problems here. One of them is the hacked version of that protection spell. The second one is we’ve got to keep people from penetrating further into the Wild Wood until we get things straightened out.”

“What’s the main problem?” Judith asked.

“The spell, I think. That’s what seems to be doing the most damage right now. We’ve got to either neutralize it or keep people from using it.”

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121

Leave a Reply 0

Your email address will not be published. Required fields are marked *