Collage 147 H u m o u r N e t 29 SEP 95 Welcome to the first (I think) all-engineering Collage. If you're not an engineer (or at least technically inclined), STOP HERE! This Collage isn't for you. If, OTOH, you can relate to engineering or computer science, or just the whole technology scene in general, then: 1. You'll probably enjoy this Collage quite a bit. 2. You probably need to get a life. (That means *you*, Mark!) Many thanks to this Collage's contrbutors: * Chris for the "Electrical Engineering vs. Computer Science" piece, * Lorraine for "The Car-Crash Paradigm," and * Nancy for the "Engineering Terminology" piece (repeated from Collage 48, but well worth it). Happy bytes! - Vince Sabio HumourNet Moderator HumourNet@telephonet.com ____________________________________________________________________ Opener (above) Copyright 1995 by Vincent Sabio Permission is hereby granted to forward or post this "Collage"; please observe the guidelines stated at the end of the message. ____________________________________________________________________ Electrical Engineering vs. Computer Science Once upon a time, in a kingdom not far from here, a king summoned two of his advisors for a test. He showed them both a shiny metal box with two slots in the top, a control knob, and a lever. "What do you think this is?" One advisor, an engineer, answered first. "It is a toaster," he said. The king asked, "How would you design an embedded computer for it?" The engineer replied, "Using a four-bit microcontroller, I would write a simple program that reads the darkness knob and quantizes its position to one of 16 shades of darkness, from snow white to coal black. The program would use that darkness level as the index to a 16-element table of initial timer values. Then it would turn on the heating elements and start the timer with the initial value selected from the table. At the end of the time delay, it would turn off the heat and pop up the toast. Come back next week, and I'll show you a working prototype." The second advisor, a computer scientist, immediately recognized the danger of such short-sighted thinking. He said, "Toasters don't just turn bread into toast, they are also used to warm frozen waffles. What you see before you is really a breakfast food cooker. As the subjects of your kingdom become more sophisticated, they will demand more capabilities. They will need a breakfast food cooker that can also cook sausage, fry bacon, and make scrambled eggs. A toaster that only makes toast will soon be obsolete. If we don't look to the future, we will have to completely redesign the toaster in just a few years." "With this in mind, we can formulate a more intelligent solution to the problem. First, create a class of breakfast foods. Specialize this class into subclasses: grains, pork, and poultry. The specialization process should be repeated with grains divided into toast, muffins, pancakes, and waffles; pork divided into sausage, links, and bacon; and poultry divided into scrambled eggs, hard- boiled eggs, poached eggs, fried eggs, and various omelet classes." "The ham and cheese omelet class is worth special attention because it must inherit characteristics from the pork, dairy, and poultry classes. Thus, we see that the problem cannot be properly solved without multiple inheritance. At run time, the program must create the proper object and send a message to the object that says, 'Cook yourself.' The semantics of this message depend, of course, on the kind of object, so they have a different meaning to a piece of toast than to scrambled eggs." "Reviewing the process so far, we see that the analysis phase has revealed that the primary requirement is to cook any kind of breakfast food. In the design phase, we have discovered some derived requirements. Specifically, we need an object-oriented language with multiple inheritance. Of course, users don't want the eggs to get cold while the bacon is frying, so concurrent processing is required, too." "We must not forget the user interface. The lever that lowers the food lacks versatility, and the darkness knob is confusing. Users won't buy the product unless it has a user-friendly, graphical interface. When the breakfast cooker is plugged in, users should see a cowboy boot on the screen. Users click on it, and the message 'Booting UNIX v.8.3' appears on the screen. (UNIX 8.3 should be out by the time the product gets to the market.) Users can pull down a menu and click on the foods they want to cook." "Having made the wise decision of specifying the software first in the design phase, all that remains is to pick an adequate hardware platform for the implementation phase. An Intel 80386 with 8MB of memory, a 30MB hard disk, and a VGA monitor should be sufficient. If you select a multitasking, object oriented language that supports multiple inheritance and has a built-in GUI, writing the program will be a snap. (Imagine the difficulty we would have had if we had foolishly allowed a hardware-first design strategy to lock us into a four-bit microcontroller!)." The king wisely had the computer scientist beheaded, and they all lived happily ever after. ========================[ H U M O U R N E T ]======================= SUBJ: The Car-Crash Paradigm A Computer Scientist, a Hardware Engineer and a Departmental Manager were on their way to a meeting in Switzerland. They were driving down a steep mountain road when suddenly the brakes on their car failed. The car careened almost out of control down the road, bouncing off the crash barriers, until it miraculously ground to a halt, scraping along the mountainside. The car's occupants, shaken but unhurt, now had a problem: they were stuck halfway down a mountain in a car with no brakes. What were they to do? "I know," said the Departmental Manager, "Let's have a meeting, propose a Vision, formulate a Mission Statement, define some Goals, and by a process of Continuous Improvement find a solution to the Critical Problems, and we can be on our way." "No, no," said the Hardware Engineer, "That will take far too long, and besides, that method has never worked before. I've got my Swiss Army knife with me, and in no time at all I can strip down the car's braking system, isolate the fault, fix it, and we can be on our way." "Well," said the Computer Scientist, "Before we do anything, I think we should push the car back up the road and see if it happens again. ========================[ H U M O U R N E T ]======================= SUBJ: Top 20 Engineers' Terminologies 1. A NUMBER OF DIFFERENT APPROACHES ARE BEING TRIED (We are still pissing in the wind) 2. EXTENSIVE REPORT IS BEING PREPARED ON A FRESH APPROACH TO THE PROBLEM (We just hired three kids fresh out of college) 3. CLOSE PROJECT COORDINATION (We know whom to blame) 4. MAJOR TECHNOLOGICAL BREAKTHROUGH (It works OK, but looks very hi-tech) 5. CUSTOMER SATISFACTION IS DELIVERED ASSURED (We are so far behind schedule the customer is happy to get it delivered) 6. PRELIMINARY OPERATIONAL TESTS WERE INCONCLUSIVE (The darn thing blew up when we threw the switch) 7. TEST RESULTS WERE EXTREMELY GRATIFYING (We are so surprised that the stupid thing works) 8. THE ENTIRE CONCEPT WILL HAVE TO BE ABANDONED (The only person who understood the thing quit) 9. IT IS IN THE PROCESS (It is so wrapped up in red tape that the situation is about hopeless) 10. WE WILL LOOK INTO IT (Forget it! We have enough problems for now) 11. PLEASE NOTE AND INITIAL (Let's spread responsibility for the screw up) 12. GIVE US THE BENEFIT OF YOUR THINKING (We'll listen to what you have to say as long as it doesn't interfere with what we've already done) 13. GIVE US YOUR INTERPRETATION (I can't wait to hear this bullshit!) 14. SEE ME or LET'S DISCUSS (Come into my office, I'm lonely) 15. ALL NEW (Parts not interchangeable with the previous design) 16. RUGGED (Too damned heavy to lift!) 17. LIGHTWEIGHT (Lighter than RUGGED) 18. YEARS OF DEVELOPMENT (One finally worked) 19. ENERGY SAVING (Achieved when the power switch is off) 20. LOW MAINTENANCE (Impossible to fix if broken) ******************************************************************** Anyone Without a Sense of Humor Is At The Mercy of The Rest of Us. ******************************************************************** "HumourNet" is brought to you by Lyris -- an innovative new e-mail list server from The Walter Shelby Group, Ltd. For more information on Lyris, see . To subscribe to the "HumourNet" mailing list, send the following command to : subscribe HumourNet your_name, your_city, your_state or country where "your_name" is your real name, etc. If you run into problems, then either (1) send any message to for a more detailed set of instructions, (2) subscribe via Lyris's Web interface at , or (3) send a *detailed* description of the problem to . To unsubscribe, visit our Web interface at or refer to your Welcome message for detailed instructions. For instructions on contributing to HumourNet, send any message to . >>> Note: Attributions in Collage openers are to the contributors, not necessarily the authors. Authors' credits are included in the text wherever possible. <<< The HumourNet archives can be accessed via the Web and FTP: Web: FTP: Permission is granted to forward or post this Collage, provided that 1) the message is forwarded/posted in its ENTIRETY, from the line containing the Collage number and date to the end of this trailer, and 2) no fee is charged. There are "relaxed" forwarding/posting guidelines available; for a copy of them, send any message to , or refer to your Welcome message. ******************************************************************** "HumourNet" is a trademark of HumourNet Communications, Ltd. ********************************************************************