You never find out the whole story until after you've signed the contract.
programmer's saying
They were crowded together on a smooth flagged floor. Looming over them on a dais at one end of the room was an enormous black man in a leopard skin loincloth and a necklace of bones. To his right was a blonde woman in a long gown.
The sun streamed in through narrow windows in the stone walls and struck shafts of gold through the dusty air.
At the points of the compass stood eight men and women in long blue robes, each holding a silver or ebony wand and each surrounded by glowing runes inscribed on the stone floor. Further back stood grim men in chain mail armed with swords and spears.
The programmers goggled.
Finally a female voice from the back of the group broke the silence. "Toto," she whispered hoarsely. "I don't think we're in Kansas any more."
"Merry met," the black man boomed out. "I am called Bal-Simba. I am speaker for the Council of the North and of the Mighty of this place. We are your employers."
"Did anyone bring a copy of that contract?" someone muttered.
Moira curtseyed. "Merry met, Lord. This one is called Jerry Andrews, of whom Wiz spoke often." She gestured to the rest of the group. "These others are also of the Mighty of their place. Jerry enlisted their aid."
Bal-Simba smiled, showing his teeth filed to points. "Excellent. Excellent. My Lords, Ladies, if you will come with me I will show you to your accommodations." The wizards at the compass points moved out of the way as he descended the dais and the guards stepped back. With a dozen thoroughly bewildered programmers trailing in a clump, the giant wizard left the chantry through the carved oak doors and down the stone steps into the flagged courtyard.
The morning sun made the stone walls glow warmly and cast glints of light off the windows. Banners floated from staffs at tower tops, peacock blue and brilliant green against the sky and clouds. Around them men and women stopped to stare at the newcomers and the newcomers slowed to stare back.
"Look!" one of the group pointed off to the east. A gaggle of six dark shapes stood out against the high white clouds, shapes with far too much neck and tail to be birds.
The entire group stopped dead in the courtyard. The programmers craned their necks and shielded their eyes in an effort to see better.
"Are those . . . ?"
"Jesus, they're dragons"
"How the hell would you know? You've never seen a dragon."
"I have now."
The dragons came closer, dropping lower and making it easier to pick out the details. Their guides made as if to move on but the programmers stood rooted in place.
"Hey, there are people on them!"
The Californians watched awestruck as the dragons glided around the tallest tower in tight V formation, wingtips almost touching as their riders pulled them into the turn. Then as one, the beasts winged over and fell away toward their aerie in the cliff beneath the castle.
And then they were gone. The newcomers let out a sigh with a single breath and everyone started across the courtyard again.
The programmer standing next to Bal-Simba, a heavy-set dark-haired woman wearing a faded unicorn T-shirt, touched his arm.
"Thank you," she said.
"For what, My Lady?"
She nodded toward where the flight of dragons had disappeared, her eyes shining. "For that. For letting me see that."
Bal-Simba looked at her closely. To him dragons were simply part of the World, sometimes useful, often dangerous, but nothing extraordinary. He had never stopped to think about what dragons on the wing meant. Now, confronted with her wonder, he saw them in a new light.
"Thank you, My Lady," he said gravely.
Not everyone was impressed with the dragons' performance. One who wasn't at all impressed was the leader of the flight.
"Where were you on that last turn?" he demanded of his wingman as they crossed the cavern that served as roost and aerie for the dragon cavalry.
"There's a turbulence on the west side of the tower at this time of day," his wingman explained. "I figured it would be safer to open it up a little."
"Turbulence, nothing! That was sloppy. What did you think you were doing hanging out there?"
Behind them the riders and grooms were leading the dragons to their stalls, the rider at the head, holding the bridle and talking gently to his mount and a groom at each wingtip and two at the tail to see that the dragons did not accidently bump and perhaps begin to fight.
Other teams of grooms hurried about, removing saddles and unfastening harnesses. The armorers removed the quivers of magic arrows from the harness and counted each arrow, carefully checking the numbers against the tally sticks before returning them to the armory.
In spite of the lanterns along the walls the aerie was gloomy after the bright morning. The entrance was a rectangle of squintingly bright white. It was noisy as well. The rock walls magnified sound and the shuffle of beasts, the shouts of the men and the occasional snort or hiss of a dragon reverberated through the chamber.
Both dragon riders ignored the noise and the bustle, intent on their conversation. The other members of the troop avoided them until the chewing out was done.
"Playing it safe, sir."
"Safe my ass! Mister, in combat that kind of safety will get you killed."
The wingman bridled. "Sir, there is no one left to fight."
The Dragon Leader grinned nastily. "Want to bet? Do you think the Council keeps us around because we look pretty?"
The wingman didn't answer.
"Well," the Dragon Leader demanded. "Why do you think we exist?"
"To fight, sir."
"Too right we exist to fight. And how much good do you think you're going to be in a melee if you've trained your mount to open wide on the turns? Mister, in my squadron if you are going to do something, you are going to do it right. We exist to fight, and war or no war, you will by damn be ready to fight. Is that clear?"
"Yes sir," the wingman said woodenly, eyes straight ahead.
"Every maneuver, every patrol, you will treat like the real thing. Remember those checklists they drilled into you in school? Well mister, you will live by those checklists. As long as you're in my squadron you will do everything by the checklist. Is that clear?"
"Yes, sir."
"Then see to it. And if you float out like that on a turn again you'll spend the next two weeks on stable duty! Now see to your mount."
The Dragon Leader watched the man go and frowned. With the Dark League crushed there were no enemy dragons to face. It was hard to keep an edge on his men. The kid was good, one of the best of the crop of new riders that had come along since the defeat of the Dark League, but he didn't have the same attitude as the men and women who had fought through the long, bitter years of the League's ascendancy.
He could have made it easy on himself and insisted on an experienced second. But somebody had to work these young ones up and if it wasn't done right they wouldn't be worth having if they had to fight.
Meanwhile his muscles were stiff, his flying leathers soaked with sweat and he stank of dragon and exertion. He turned and walked out of the aerie toward the riders' baths.
At the door the Dragon Leader looked back and sighed. In some ways it was easier when we were at war.
" . . . and there you have it, My Lords," Bal-Simba said finally. "That is our situation and that is what we need."
Jerry, Karl, Bal-Simba and Moira sat around the table. They had talked the day away and a good part of the night. Moira was hoarse, so Bal-Simba had taken over filling in the background while Jerry and Karl shot questions.
The remains of dinner, bread, fruit and cheese, sat on the sideboard and a glowing globe on a wrought iron stand beside the table gave them light.
The soft evening breeze ruffled through the room and stars spangled the velvety blackness outside. Idly Jerry wondered what time it was. Their watches had stopped working at the moment of transition. After midnight, he decided.
The rest of the programmers were bedded down somewhere but Bal-Simba was eager to get started and Jerry was too keyed up to sleep anyway.
"Well, it's hard to say until we've gone over the work that's already been done," Jerry said. If the libraries and tool kit are sufficiently developed . . ."
"I think it would be best if we left the technical details until Wiz returns," Moira said. Out of the corner of her eye she saw Bal-Simba shift uneasily. "He is the only one among us who really understands them."
"Anyway, the outlines are clear enough," Jerry said. "As I told Moira back in Cupertino I think this is do-able, especially given the work Wiz has already put into it."
"How soon do you need all this?" Karl asked.
"As soon as possible," Bal-Simba told him. "Perhaps a fortnight at most."
Jerry and Karl looked at each other.
"Well," Karl said, "no matter where you go, some things don't change."
Bal-Simba frowned. "Is there a problem?"
Jerry sighed. This was the point where you usually started lying to the client. But this was a very unusual situation and an even more unusual client. Besides, there was no one on this world to undercut them and steal the contract by overpromising.
"Look," he said, leaning forward to rest his elbows on the table, "the truth is, it will take us months to do this job right."
"But Wiz put together his attack on the Dark League in a matter of days!" Bal-Simba protested.
"Right," Jerry nodded. "What Wiz did was create a set of tools and build some simple programs, uh, spells with them. But there's a big difference between something that an expert hacks together for his own use and a production system."
"You need something anyone can use, right?" Karl asked.
"Any wizard," Bal-Simba amended. "But yes, basically."
"Okay, that means you need a lot more support, error checking and utilities and libraries. And it's all got to be wrapped up in a neat package with no loose ends."
The huge wizard thought about that for a minute. "How long will all this take?"
"We won't know that until after we've examined what's been done already and had a chance to talk to Wiz."
"You can begin the examination tomorrow," Bal-Simba said, rising. "There is no need to wait until Sparrow returns." He turned to Moira. "My Lady, will you escort them to their chambers?"
"If you please, My Lord, there is another matter I wish to discuss with you. I will ring for a servant."
The serving man was yawning when he arrived, but he came quickly and ushered the visitors out of Bal-Simba's study.
"Now," Moira said as the door closed behind them, "where is Wiz?"
"Well, as to that, My Lady . . ."
Her face darkened. "Something has happened to him, has it not?"
"Well . . ."
"Has it not?" She tried to shout but her strained vocal cords could only produce a whisper.
"We do not know," Bal-Simba told her. "He went off into the Wild Wood and no one has seen him since."
"Fortuna!" Moira stared. "You let him wander into the Wild Wood alone?" The she laughed bitterly. "And you were concerned about my safety?"
Wiz tiptoed down the corridor, stopping every few feet to listen. Outside the bright daylight promised warmth the sun failed to deliver.
He was desperately hungry, but he was past feeling the pangs. In the last two days he had turned up nothing that looked edible. He wasn't the only scavenger going through the rubble. Rat droppings abounded, as did signs of larger, less identifiable creatures.
He stopped to listen again, pressing himself flat against the wall as he did so. He had learned caution the hard way. Twice more since he left the palace with the trap he had barely avoided blundering into searching wizards of the League. Once he ducked into an open doorway just as two of them came around a corner not ten feet in front of him. Another time one of them caught a glimpse of him from one street over. The wizard made the mistake of calling for help and Wiz scampered away before he could get close.
He was surprised that no one had used magic to locate him. Even with the competing magical remnants in the City of Night it should have been easy for wizards who had stood in his presence to track him down, especially since he dared not leave the city. The land beyond the walls was as frozen and barren as Antarctica. Away from the shelter of these buildings he'd be dead in a day and he was sure the wizards knew it.
Perhaps Dzhir Kar was playing with him, stretching out the agony. Through his exhaustion, Wiz realized he could not win. Sooner or later, he had to use magic or fall to the searching wizards or the danger of this place.
Well, not yet. He was still alive and still free. At this minute finding food and warmth were more important to him than his ultimate fate. Moving as quietly as he could he moved down the corridor to the next door.
This place must have been pleasant once, or as pleasant as any in this benighted city ever had been. The building itself was mostly underground, a gloomy mass of tunnels and small rooms dimly lit by slowly fading magic globes. But this wing was built into the face of a cliff. The rooms on the outside had long narrow windows that looked out over the city. Judging by the shattered, soaked junk that remained they had been richly furnished as well.
But shattered, soaked junk was all that remained. What had once been rich fabric lay in sodden rotting piles. Scattered about were pieces of furniture, all hacked, broken and upended.
He looked at the wood regretfully. There were the makings there for a warming fireif he could figure out how to light one without bringing the demon down on him and if he didn't mind attracting every wizard in the city.
Aside from that, there was no sign of anything useful. No food, no clothing, nothing. He turned to leave when something caught his eye. He bent and plucked it from the litter.
It was a halberd, its head red with rust and its shaft broken to about three feet long. Looking at the end of the shaft, Wiz could see it had been cut halfway through before it snapped, as if the owner had warded a stroke.
Wiz hefted it dubiously. He knew nothing about halberd fighting and this one was broken, useless for its original purpose. But it could still serve as a tool to pry open chests and boxes. Perhaps with it he would have a better chance of finding food.
Clutching his prize, Wiz crept back out into the corridor.
"Wiz kept notes on how his spell compiler worked," Moira explained to the gaggle of programmers who followed her into her apartment the next morning. "He did most of that here rather than in his workroom. I think it would be best if you removed them yourselves, lest I miss something."
"Thanks," Jerry said as he went over to the desk, "we'll get some boxes and . . ."
Then he saw the dragon sitting on top of the leather-bound book. A small, but very alert and obviously upset dragon. The dragon hissed and Jerry realized he, Karl and Moira were suddenly two paces ahead of everyone else in the group.
"What's that?"
"That is the demon guardian Wiz created to protect his spells, especially the book holding most of his secrets. He called it the Dragon Book," Moira explained.
Karl looked at Moira, Jerry looked at Karl and the dragon eyed them both.
"That had to be deliberate," Karl said finally.
Jerry made a face as if he had bitten into something sour. "Believe me, it was."
"Crave pardon?"
"There's a standard text on writing compilers called the dragon book." Jerry explained. "It's got a picture of a dragon on the cover. A red dragon."
"It was orange on my edition."
"As protection of the contents?" Moira asked.
"More like a warning of what the course is like. It's a real bear."
"Then why not put a bear on the cover?"
"Bears aren't red," Karl put in before Jerry could answer. "They're not orange either."
Moira frowned. "Oh," she said in a small voice.
"Anyway, how do we get rid of him?"
"Easily enough. Wiz taught me the dismissal spell." She stepped to the edge of the desk and spoke to the demon.
"puff at ease exe."
The dragon crawled off the book and retired to the corner of the desk.
"That is a spell in Wiz's magic language," she explained, turning back to the programmers. "The word exe is the command to start the spell, at ease is the spell and puff is the name of this demon."
"Well, it is a magic dragon," Karl said. A couple of the programmers groaned and Jerry winced again.
"Okay," Jerry said. "We'll get this stuff out of your way and moved to our office as soon as possible. Uh, do you know where we are going to be?"
"The under-seneschal is waiting to show you to your workrooms," Moira said. "He is in the courtyard, I believe."
"Great. Let's go then." Everyone moved back toward the door, except Danny Gavin who was lounging in a chair.
"Are you coming?" Jerry asked.
"No, I think I'll stay here," Danny said. "Unless you need me?"
Jerry looked at Moira and Moira shrugged.
"Just don't wander off."
Almost as soon as the door was closed Danny was out of his chair and over to the Dragon Book. The guardian demon raised its head when he opened it but made no protest.
Now let's see what this magic stuff is like. Danny scanned the first few pages quickly, picking up the basics of the syntax as he went. Then he flipped further back and looked at a few of the commands.
Shit, this is a piece of cake. He went back and re-read the first part of the book more carefully, already mentally framing his first spell.
"We had to prepare workspace for you on short notice," the under-seneschal said apologetically as he led the group across another courtyard. "I'm afraid all the towers are taken and Lord Bal-Simba doubted you would prefer caves. So to give you a place where you can all work together, we ah, well, we cleaned out an existing building."
He was a small, fussy man who seemed to bob as he walked and kept rubbing his hands together nervously. He had been given an impossible job on very short notice and he was very much afraid his solution would insult some very important people. As they moved across the courtyard he became more and more nervous.
"We weren't expecting so many of you, you see and we are so terribly crowded here . . ." His voice trailed off as they approached the building.
It was sturdily built of stone below and timber above. As they drew nearer, a distinctive aroma gave a hint of its original purpose and once they stepped through the large double doors there was no doubt at all as to what it was.
"A stable?" Jerry said dubiously.
"Well, ah, a cow barn actually," the man almost cringed as he said it.
"Wonderful," Cindy said, "back in the bullpen."
"Oh wow, man," said one of the group, a graying man with his hair pulled back into a pony tail, "like rustic."
"Hell, I've worked in worse," one of the programmers said as he looked around. "I used to be at Boeing."
The room was good-sized, but as cold as every other place in the City of Night. A mullioned window, its tracery in ruins, let in the sharp outside air. Piles of sodden trash and pieces of broken furniture lay here and there. On one wall stood a tall black cabinet, tilting on a broken leg but its doors still shut.
Wiz came into the room eagerly. Maybe there was something in the closed cabinet he could use.
Cold and hunger dulled his caution and he was halfway across the room before a skittering sound behind him told him he had made a mistake.
Wiz whirled at the sound, but it was too late. There, blocking the only way out, was a giant black rat. It was perhaps five feet long in the body and its shoulder reached to Wiz's waist. Its beady eyes glared at Wiz. It lifted its muzzle to sniff the human, showing long yellow teeth. Wiz stepped back again and the rat sniffed once more, whiskers quivering.
Wiz licked his lips and took a firmer grip on the broken halberd shaft. The rat eyed him hungrily and moved all the way into the room, its naked tail still trailing out into the corridor.
Wiz stepped to one side, hoping the rat would follow and leave him room for a dash to the door. But the rat wasn't fooled. It lowered its head and squealed like a piglet caught in a fence. Then it charged.
In spite of his disinclination to exercise, Wiz had naturally fast reflexes. Moreover, his two years in the World had hardened his muscles and increased his wind. He was far from being the self-described "pencil-necked geek" he had been when he had arrived here, but he was even further from being a warrior.
The monster closed in squealing. Wiz swung wildly with his rusty axe. The giant rat ducked under the blade and leaped for his throat.
Against a halfway competent swordsman the tactic would have worked. But Wiz wasn't even halfway competent. He had swung blindly and he brought his weapon back equally blindly, backhand along the same path.
The spike on the back of the axe caught the rat just below the ear. Any guardsman on the drill field would have winced at such a puny blow, but the spike concentrated the force on a single spot. Wiz felt a "crunch" as the spike penetrated bone. The rat squealed, jerked convulsively and fell in a twitching heap at Wiz's feet.
Wiz's first instinct was to turn and run. But he checked himself. Think he told himself sternly, you've got to think. Running wouldn't solve anything. There was nowhere to run to and running burned calories he could ill-afford to lose. Panic wouldn't get him the food he so desperately needed.
Well, he thought, looking down at the gray-furred corpse, maybe I can use one problem to solve another.
Kneeling over the body, he set to work with his halberd.
Wiz emerged from the room a while later wiping his mouth on a bit of more or less clean rag.
Rat sashimi, Wiz decided, wasn't half badif you used lots of wasabe. He didn't have any wasabe, but it still wasn't half bad.
While the rest of the team broke for lunch, Jerry, Karl and Moira went back to the apartment to start sorting through Wiz's papers.
"A barn!" Moira said angrily. "I cannot believe they would do that to you."
"Hey, it's dry and it looks like it can be made fairly comfortable," Karl said. "Besides, it's already divided up into cubicles."
"Well, I can assure you, My Lords . . ." Moira began as she started to open the door.
There was a low moan and the sound of scuffling from the apartment.
Moira threw open the door.
"Danny!" Jerry yelled.
The young programmer was rocking back and forth, his body slamming first forward almost to the desk and then back so forcefully the chair teetered.
"Something's wrong! He's having a stroke or something."
"Stay away from him!" Moira ordered. "He is caught in a spell."
"Stop it."
"I do not know how. The command should be in the book.
Jerry edged around the still-thrashing Danny and hooked the Dragon Book off the desk. The dragon demon ignored him, watching Danny the way a cat watches a new and particularly interesting toy.
"Damn, no index!"
"Try the table of contents," Karl suggested.
"No table of contents, either!" He paged frantically through the book and muttered something about hackers under his breath.
"Here it is." He read hurriedly. "reset!" he commanded.
Danny continued to jerk back and forward.
"Exe, My Lord," Moira said frantically. "You must end with exe."
"Oh, right. reset exe!"
Suddenly Danny flopped forward and hit the table with a thump.
Moira and Jerry gently raised him up and leaned him back in the chair.
"Are you okay?" Jerry asked as the teenaged programmer gasped for breath.
" 's alright," he slurred as he lifted his head off his chest. "I'll be alright." Jerry saw he was white and shaking but he was breathing more normally.
"What happened?" Danny mumbled.
Moira pressed a cup of wine into his hands.
"You were entrapped by the spell you created, My Lord," she told him. "The spell repeated endlessly and you could not get out."
"In other words you were stuck in a DO loop," Jerry explained.
Danny raised the cup in both hands and drained it in a gulp.
"Jesus. I was in there and it started and it just kept going over and over. Like a live wire you can't let go." He lowered the cup and it slipped from his numbed grasp to clatter on the table. "Jesus!"
"Tell us what happened."
"Well, I was flipping through the manual and I figured I'd try it out. So I set up a simple little hack, only when it started it just kept going. I didn't think I'd ever get out."
"That was a dumb-ass stunt," Jerry told him. "You're lucky it wasn't worse."
"How the hell was I supposed to know?" Danny snapped. "I didn't think . . ."
"You sure as hell didn't," Jerry cut him off. "And you'd better start thinking before you do a damn fool thing like that again!"
Danny muttered something but Jerry ignored him.
"Okay," Jerry said. "From now on nobody practices this stuff alone."
Wiz was feeling almost jaunty as he made his way up the street with the broken halberd over his shoulder. He was still cold, but on a day as bright as this he could almost ignore that. Besides, the cold was easier to bear when you weren't hungry all the time.
The halberd made a big difference in Wiz's standard of living. There turned out to be a lot more food left in the City of Night than he had realized. But almost all of what remained was locked behind doors or in cupboards or chests. In the last few days he had gotten very good at using the halberd's axe blade and the heavy spike behind to pry, chop and smash things open. Finding food was a full-time job, but it wasn't quite the hopeless one it had been.
Today he was well-fed on magically preserved meat and bread so dry and brick-like he had to soak it in water before he could eat it. The meat had an odd taste and the water he soaked the bread in hadn't been very clean, but his stomach was still pleasantly full.
And now this neighborhood looked promising. The street was lined with smaller buildings, two and three stories. A number of small buildings, shops or houses, were more likely to yield food than a few big ones. Best of all, the doors and window shutters on nearly every house on the street were intact. That meant they had not been systematically looted and larger scavengers had been kept out.
The weather added to his mood. There was not a trace of the clouds that usually hung low and gray over the Southern Lands. The only thing in the pale-blue sky was the sun and it was almost at its zenith. There wasn't a lot of warmth in it, but there was a certain amount of cheer.
A motion above the buildings caught his eye. Wiz turned his head just in time to see a black-robed wizard drift lazily over the rooftops. The man's robe fluttered about his ankles and his head moved constantly as he scanned the city.
Wiz shrank back against the wall. But he knew he stood out sharply against the dark volcanic rock of the street and buildings. There wasn't even a shadow to hide in and the wizard was floating in his direction. He was as exposed as an ant on a griddle and he would be fried like one as soon as the wizard spotted him.
Wiz bit his lip and silently cursed the bright sun and the shuttered houses. He looked up and down the street frantically, but there was not an open door or window to be seen.
There was a storm sewer opposite. It didn't look big enough to take him and it was covered with an iron grate, but it was the only chance he had. Wiz dashed across the street and levered up the grate with a quick jerk of his halberd. Then heedless of how deep the hole might be he thrust himself through.
It was perhaps eight feet from the street to the trickle of freezing slime that ran through the bottom of the sewer. The shock and the slippery bottom forced him to his hands and knees before he regained his balance. He looked up just in time to see the wizard float down the street housetop high.
Wiz dared not breathe as the man passed over the grating. The sorcerer looked directly down at his hiding place, but floated on by majestically. Apparently the shadows in the hole hid Wiz from him.
Once the man passed out of Wiz's field of vision, he breathed a sigh of relief. Then he froze again. There was something moving in the tunnel behind him. Something big.
The tunnel was as black as the inside of midnight, but Wiz heard a splash-scrape sound as if something too large to move quietly was trying to do so. He listened more intently. Again the splash-scrape, nearer this time.
Wiz realized he was trapped. He couldn't see the flying wizard, but he could not have gone far. Leaving the shelter of the sewer meant exposing himself to his enemies. On the other hand, whatever he was sharing this tunnel with was getting closer by the second.
For some reason it stuck in his mind that he had found no bodies in the ruins. Not even bones.
He listened again. There was no further sound from the tunnel except the drip, drip of water. The lack of sound reminded him of a cat getting ready to pounce.
With one motion he twisted around and lashed upward with the halberd. The spike caught on the edge of the hole and he swung himself up to grab the coping with his other hand.
Behind him came a furious splashing. He swung his leg up and rolled free of the sewer just as a huge pair of jaws snapped shut where he had been. Wiz had a confused impression of a mouth full of ripping teeth and a single evil eye before he rolled away from the opening.
Gasping, Wiz gained his feet and flattened against the building. There was no sign of the flying wizard and the creature in the sewer showed no sign of coming after him.
Muddy, chilled and thoroughly frightened, Wiz ran off down the street, looking for a place to hide.
"Well," said Jerry Andrews, "what have we got?"
The team was crowded into the Wizard's Day Room, which they were using as a temporary office while the last renovations were completed on the cow barn.
For the last two days the programmers had torn into Wiz's spell compiler and the material he had left behind. By ones and twos they had pored over the Dragon Book, Wiz's notes and conducted small and carefully controlled experiments.
Now Jerry had called a meeting to sum up, compare notes and plan strategy. He had set it for late afternoon, so most of the programmers were awake and functional. They had pushed the tables in the Day Room together to make a long table in the middle of the room and, heedless of tradition, pulled chairs from their accustomed spots up around it.
"Does the phrase 'bloody mess' do anything for you?" a lean woman with short black hair and piercing dark eyes asked from halfway down the table. "This thing is written in something that looks like a bastard version of Forth crossed with LISP and some features from C and Modula 2 thrown in for grins."
"When do we get to meet this guy, anyway?" someone else asked. "I'd like to shake him warmly by the throat."
"There may be a problem with that, My Lord," Moira said from her place next to Jerry. "He went off alone into the Wild Wood and we have not yet found him."
"We're going to need him," Nancy said. "Someone has got to explain this mess. Some of this code is literally crawling with bugs."
"You mean figuratively," Jerry corrected.
"I said literally and I mean literally," she retorted. "I tried to run one routine and I got a swarm of electric blue cockroaches." She made a face. "Four-inch-long electric blue cockroaches."
"Actually the basic concept of the system is rather elegant and seems to be surprisingly powerful," Karl said.
Nancy snorted.
"No, really. The basic structure is solid. There are a lot of kludges and some real squinky hacks, but at bottom this thing is very good."
"I'll give you another piece of good news," Jerry told them. "Besides the Dragon Book, Wiz left notes with a lot of systems analysis and design. Apparently he had a pretty good handle on what he needed to do, he just didn't have the time to do it. I think we can use most of what he left us with only a minimal review."
"Okay, so far we've just been nibbling around the edges to get the taste of the thing. Now we've got to get down to serious work."
"There's one issue we've got to settle first," Nancy said. "Catching errors."
"What's the matter, don't you like electric blue cockroaches?" Danny asked.
"Cockroaches I can live with. They glow in the dark and that makes them easy to squash. I'm more concerned about HMC or EOI-type errors."
"HMC and EOI?"
"Halt, Melt and Catch fire or Execute Operator Immediately."
"One thing this system has is a heck of an error trapping system," said Jerry.
"That is because the consequences of a mistake in a spell can be terrible," Moira told him. "Remember, a spell is not a computer which will simply crash if you make an error."
The people up and down the table looked serious, even Danny.
"Desk check your programs, people," Jerry said.
"That's not going to be good enough. There are always bugs, and bugs in this stuff can bitehard. We need a better system for catching major errors."
"There is one way," Judith said thoughtfully.
"How?"
"Redundancy with voting. We use three different processorsdemonsand they have to all agree. If they don't the spell is aborted."
"Fine, so suppose there's a bug in your algorithm?"
"You use three different algorithms. Then you code each primitive three different ways. Say one demon acts like a RISC processor, another is a CISC processor and the third is something like a stack machine. We split up into three teams and each team designs its own demon without talking to any of the others."
"That just tripled the work," someone said.
"Yeah, but it gives us some margin for error."
"I think we've got to go for the maximum safety," Jerry Andrews said finally. "I don't know about the rest of you, but I have no desire to see what a crash looks like from inside the system."
"My Lord, you seem to have made remarkable progress," Moira said as Jerry showed her through the programmers' new quarters.
The team had settled in quickly. Each programmer got his or her own stall and trestle tables filled the center aisle. The stalls were full of men and women hunched over their trestle table desks or leafing through stacks of material. At the far end of the room Judith and another programmer were sketching a diagram in charcoal on the whitewashed barn wall.
"Once you get used to giving verbal commands to an Emac instead of using a keyboard and reading the result in glowing letters in the air, programming spells isn't all that different from programming computers," Jerry told her. "We'd be a lot further along if Wiz were available, but we're not doing badly."
Moira's brow wrinkled. "I wish he was here too. But we cannot even get a message to him, try as we might." She shook the mood off. "It must be very hard to work with spells without having the magician who made them to guide you."
"It's not as bad as it might be," Jerry told her. "Probably our biggest advantage is that we know all the code was written by one person and I'm very familiar with Wiz's programming style.
"Look, a lot of this business is like playing a guessing game with someone. The more you know about the person and the way that person thinks, the more successful you are likely to be."
He sighed. "Still, it would be nice not to have to guess at all. Besides, Wiz is good. He'd be a real asset."
"We are doing everything we can to locate him," Moira said. "Meanwhile, is there anything else you need?"
"A couple of things. First, is there any way to get cold cuts and sandwich fixings brought in? My people tend to miss meals."
"Certainly. Anything else?"
"Well, you don't have coffee, tea or cola here, so I guess not."
"Wiz used to drink blackmoss tea," Moira told him, "but that is terrible stuff."
"Can we try some?" Jerry asked.
Moira rang for a servant and while they waited for the tea, she and Jerry chatted about the work.
"We call the new operating system 'WIZ-DOS'that's the Wiz Zumwalt Demon Operating System."
"If this thing has a 640K memory limit, I quit!" someone put in from one of the stalls.
"As far as we know there's no limit at all on memory," Jerry said. It's just that addressing it is kind of convoluted."
Moira didn't understand the last part, but her experience with Wiz had taught her the best thing to do was to ignore the parts she didn't understand. To do otherwise invited an even more incomprehensible "explanation."
"I'm sure Wiz would be honored to have this named after him," she said.
The tea arrived already brewed. Moira, who had used it when she was standing vigil as part of her training, thought it smelled nasty. Jerry didn't seem to notice. Moira poured out a small amount of the swamp-water-brown brew. Dubiously, she extended the cup. Jerry sniffed it, then sipped. Then he drained the cup and smacked his lips. "Not bad," he said appraisingly. "A little weak, but not bad. Can we arrange to have a big pot of this stuff in the Bull Pen while we're working?"
"Of course, My Lord, I'll have the kitchen send up a pot."
"I mean a big pot," Jerry said. "Say thirty or sixty cups."
Moira, remembering the effect that even a cup of blackmoss tea had on her, stared at him.
"Well, there are more than a dozen of us," he said apologetically.
Moira nodded, wondering if there was enough blackmoss in the castle to supply this crew for even a week.