"Darth Star Release 1.00" Long long ago (so long ago that even Paul Bunyan couldn't find a laptop worth having) in a galaxy far far away (so far that when Carl Sagan talks about "billions and billions of stars" he's still overlooking it) a half-vast star cruiser passed through with sound effects so loud you could hear them through the vacuum of space. (This is because it was so long, long ago. Nowadays they can fix that at any muffler shop. But don't let them work on your star cruiser without a written estimate.) Close behind was the really vast Imperial star battleship, making so much noise you could hear it in other dimensions, carrying the not particularly vast but still extremely unpleasant Darth Coder. The smaller vessel contained the lovely and sarcastic Princess Uza, who as Darth Coder closed in on her ship left a message with two Voice Mail droids, who escaped in a life boat. (I realize that the CCITT standards for ship abandonment specify, "Women and children first!" but this is long, far, etc.) Okay, so the droids foolishly landed on Microoine (which looks classier than Microweenie but is pronounced about the same) and were resold to a local farmer. The droids were put in the care of the farmer's son, Lint Seehacker, who immediately proceeded to make unauthorized repairs which voided the warranty. (They might have been placed in the care of the farmer's daughter, but that's a different joke.) In the process of doing this, he managed to play back part of the message recorded by the princess. It was directed to one Obi-Wan Methodology. The rest of the message was garbled or encrypted or something. Wondering whether this could be some relation to Bob Methodology who lived nearby, he drove out to check. There Obi-Wan (obviously it had to be the same person for this plot to work) played back the rest of the message, in which Princess Uza described the Rebellion's dire need for huge amounts of new software. "We really want that quality kind," she said, "but unless you help us soon we're going to have to take that bug-ridden stuff that Darth Coder keeps pushing." Obi-Wan explained to Lint that by another amazing coincidence Lint was the son of one of the old Zedi (for Zero Difects, which is how they spelled it in those days -- just try and prove otherwise) Knights, and gave him a blue pencil, the very thing which the Zedi Masters used to correct defects in their code before they began debugging it. "How could they do that?" asked Lint. There is nothing on earth quite so useful as a good straight man. "They followed the Methodology. And they used the Force." "The Force?" "Yes. They Forced themselves to proofread their programs carefully before they started testing them. Naturally, this is a dying art, because it's hard work." "And what about this Darth Coder?" "He was seduced by the dark side of the Methodology. He wanted the advantages of saying that he was following the methodology, without the bother of having to do anything productive. He writes many specifications and conducts many reviews, but his code is as bad as ever. But when you are eight foot seven and have a deep voice, you can get away with murder." "So he plans to turn us into mindless slaves, all following his methodology?" "Yes. It's bad enough being mindless freemen, without being turned into mindless slaves." They returned to Lint's home to get his coat and galoshes (which you should never embark on interstellar travel without) but found it had been destroyed by Imperial Storm Hackers, and Lint's parents killed. Also they had made illegal duplicates of his legal copy of Lotus 1-2-3. "Don't be too upset, kid," said Obi-Wan. Those weren't your real parents. You were adopted." "I was?" "Yes. Didn't it ever strike you as odd that your parents were named Pascal and Lovelace, but your last name was Seehacker?" "Well, yeah. But they said it was for tax reasons." "Besides, this is necessary to the plot. Those two would never have allowed us to go off into the unknown and spend actual money on tools to improve the quality of software in the universe. The problem now is to get into the city and hire a ship. But there will be Imperial Storm Hackers looking for us, so we'll have to be a little bit clever. But only a little bit." "What will we do?" "We'll go in posing as developers, delivering a new release." "How can we do that? Won't they look at what we're bringing in?" "There are ways to prevent them from looking too hard. Painful as it is to me, I must go prepare some source code for them." Later, just before shift change, they approached the city. When challenged, Obi-Wan hands the guard a diskette. "We're delivering this new source code. Of course you'll want to audit it first before you let us in." "Er, yes," replied the guard uncertainly. "Let me just point out a few of the trickier features for you. You'll need to be very careful in auditing it, because there are fifty-seven state variables to keep track of, and there's a very tricky section just here where there's some self-modifying code. Well, not exactly self modifying. The assembly language part modifies the COBOL part, and the COBOL part uses the ALTER verb to modify the assembly language part. But neither part actually modifies itself, to be brutally technical about it." The guard's eyes were beginning to glaze over a little bit, and he was clearly thinking about the end of shift and Jabba time. (Jabbaweiser and Jabba Light being the only beers available in that part of the galaxy, unless one liked Alec Guinness Stout.) He placed the diskette in the drive and perused the source code for all of thirty-seven seconds. "I'm sure it's all right. Go on in." And so it was that they met Blaze Pascalo and his copilot Mrspocca (a Trekkee) and escaped the planet a sidestep ahead of the minions and grunions of Darth Coder. Meanwhile, a million billion jillion miles away, Darth Coder had captured the princess and was being very mean to her. "Tell me where the Rebel base is or we will destroy your planet." "You can't do that," said Uza. "It's illegal." "Not at all," replied Coder. "They signed an agreement to be a beta site for Darth Star Release 1.0, which happens to be a software package for destroying planets. Some people will sign up for anything as long as it's free." "We thought it was a new word processor or something, like Wordstar." "Fools. You should have read the spec." "You didn't write one." "Silly me. Now, where is the Rebel base?" "All right, I'll tell. It's on Platalinguiniie." "Good. Proceed with the test." "What?!?!?!?" "Come, now --" "Now?" "That was just an interjection, you fool! You can't expect us to ship software without testing it. If your planet didn't want to accept the risks of being a beta site, they shouldn't have signed up for it." "Well, you better have one HELL of a customer support organization, that's all I can say." "Is the software ready?" "Yes, Your Nastiness. Just press the Execute key." Coder pressed the Execute key. Nothing happened. "Oh, Ewok doody. Fire up the debugger." "Yes, Your Sliminess." CAN DARTHCODER GET THE DARTH STAR WORKING IN ONLY A FEW TWENTY-HOUR DEBUGGING SESSIONS? CAN LINT, OBI-WAN AND COMPANY SAVE THE PRINCESS? CAN I FINISH THIS TRILOGY BEFORE THE ACTORS GET TOO OLD? PART II or VII: "The Software Strikes Back" A NOTE ABOUT LAST EPISODE: Our Human Factors department has asked me to point out that not only did nothing happen when Darth Coder hit the Execute key, but no message appeared to inform him that an error had occurred. Also, according to good user interface design practice, the preferred method for obliterating a planet is the Delete key, and the user should be required to confirm the delete operation before it is performed unless Undo is available. These changes will be made in Release 2.0, assuming Darth ever gets 1.0 working. On the planet Propellerbeeniie the incredible Darth Star loomed over the landscape like a giant spaceship. (How's that for creativity?) Also that peculiar rumbling sound which magically travels even through vacuum was driving everyone crazy. But worst of all was the threat of total annihilation which threatened them threateningly, or threatened to if Darth Coder ever got the thing operational. But on the planet, as somebody was saying (maybe it was me, but you can't prove it) the members of the High Council were feeling rather low, and were discussing the situation. Firing most of their MIS staff had not made them feel any better about the grim news Princess Uza had brought them. "Perhaps we could write a problem report," suggested one. "How can we write a problem report before the thing fails? They'll want a dump, debris samples, and all that stuff." "Besides, even if we sent a problem report they'd probably reclassify it as a Technical Improvement." They all looked glum. The situation was hopeless. At least, they decided, they would invite the saleman who talked them into the deal to come watch the demo with them. Meanwhile, Obi-Wan was holding a meeting of his own at the Rebel Base, which was really on Finitestatemachiniie. The Rebel Engineering staff had done a careful audit of listings of the Darth Star program recovered from the Imperial Garbage Dump and (surprise! surprise!) found a bug. They were discussing it with Obi-Wan, while Lint tried to follow the flow of conversation. Blaze Pascalo stood in the corner, looking tough and macho but at the same time strangely vulnerable. It's just a thing he does. Suddenly Obi-Wan cried out, as if in pain. "What is it?" asked Lint. "I felt a grave disturbance in the Methodology, as if someone were (gasp gasp) applying a hexadecimal patch directly to an executable." Then the meeting resumed. It appeared that no code had been provided to check the target coordinates for validity. In particular, if the proposed target were behind the Darth Star the software would fire the destructive beam directly through the very expensive peripheral device. Coder, of course, would blame it on the hardware, which was how he had kept his job up till now. So all that remained was to move the planet just before the demo, which of course is no big deal if you have the right software tools. Lint inquired whether Coder might not notice that the planet had moved, and turn the Darth Star. But as Pascalo pointed out, "Darth Coder and his gang are too busy debugging to notice anything that's going on in the Real World." (Though what that has to do with this story is not clear.) So they moved the planet, Darth really didn't notice it, the Darth Star blew up, Darth left the Empire to become a consultant and Obi-Wan got a bigger budget. Lint and Princess Uza got married. (I had been thinking of having them turn out to be sister and brother, but that would have been silly.) Obi-Wan gave the bride away, but to the wrong person. And so everyone lived happily ever after, and it was all due to the Methodology. Part XIII or LXVI: "Return of the Zedi" Obi-Wan returned to Microoine. The End.
(From the "Rest" of RHF)