| 
            Embedded Muse 193   Copyright 2010 TGG       April 5, 2010
          
          
            You may redistribute this newsletter for noncommercial purposes. For commercial use contact jack@ganssle.com. To subscribe or unsubscribe go to https://www.ganssle.com/tem-subunsub.html or drop Jack an email at jack@ganssle.com.
EDITOR: Jack Ganssle, jack@ganssle.com
Contents:
            - Editor's Notes
            - Quotes and Thoughts
            - PIC32 Ethernet Haikus
            - Tools and Tips
            - Jobs!
            - Joke for the Week
            - About The Embedded Muse
          
Editor's Notes
Are you happy with your bug rates? If not, what are you doing about it? Are you asked to do more with less? Deliver faster, with more features? What action are you taking to achieve those goals?
In fact it IS possible to accurately schedule a project, meet the deadline, and drastically reduce bugs. Learn how at my Better Firmware Faster class, presented at your facility. See https://www.ganssle.com/onsite.htm .
          
          
Quotes and Thoughts
          
          Increasingly, people seem to misinterpret complexity as sophistication, which is baffling---the incomprehensible should cause suspicion rather than admiration. Possibly this trend results from a mistaken belief that using a somewhat mysterious device confers an aura of power on the user. Niklaus Wirth
          
PIC32 Ethernet Starter Kit Haikus
          
          Microchip generously gave us three PIC32 Ethernet Starter Kits to give to Muse readers. I asked for readers to come up with a haiku about embedded systems; the best three would win the kits. Well, it was nearly impossible to pick the "best" three as so many were so good. We did our best. Congratulations to the following for their awesome entries:
Ralph Hempel:
            Are you sure that this
            Null pointer dereference
            Is what you wanted?
Peter H. Friedrichs:
            We program micros.
            You call us technicians but
            We are magicians
Scott Larson:
            fact n: if not n,
            return one, else return n
            times fact n less one
          
I had planned to run just the three winners, but so many others were so much fun! Sure, some aren't quite in haiku form, but I'm sure you'll enjoy them:
Peter Harris:
            Good embedded systems 
            Like my home's foundation
            Never need a reset
John Darjany:
            No one observes it
            Working silently for us
            Mimicking nature
Chris Svec:
            Firmware, like haiku:
            Constrained, meaningful, graceful,
            efficient design.
Ken Smith:
            ground is now power
            blue smoke rises from one chip
            the smell of failure
Marty Pomeroy:
            New board hopeful tests
            Buzzed out, ready to power
            Sadly smoke escapes
John Visosky:
            a bad line of code
            never tested in the lab
            a car hits a wall
Tom Burke:
            Firmware releases soon.
            The nights become more sleepless.
            Marketing sleeps well.
Peter House:
            Connected the brains
            Surrounding us day and night
            Vigilant they are
Thilo Lauer:
            Trying all day long
            The board just won't run the code
            Time to re-design.
Duane Mattern:
            Bit and byte and words
            Can you help me with this merge
            Development blues.
Bill Lovegrove:
            bugs to be captured
 
 
 
            quiet smile at night
Greg Hawley:
            Stuck in the lab now.
            Thwarted at every move!
            Why doesn't this work?
Steve Langstaff:
            One side is metric
            The other imperial
            The spacecraft is lost
Victor Szeto:
            Only dev board fried
            Lonely office at midnight
            Cry into coffee
Scott Harrison:
            The light shines anew
            The prototype is gone
            What has happened
Pete Klammer:
            Chip alone goes wild;
            With debugger all is well:
            Heisenberg effect. 
John Breitenbach:
            one more board reboot
            late night trade show deadline looms
            who forgot watchdog?
Jerry Penner:
            Code hangs most runs now
            Watchdog barking at each step;
            Didn't read datasheet. 
Greg Gentile:
            Embedded thoughts I dream
            Of how to make the engine scream
            Go Toyoto Go
Jim Greene:
            The mighty processors
            Used by all mankind
            Tamed by the Engineer.
Kevin Walton:
            Poorly written docs
            No idea what this switch does
            On hold, tech support
Graham Harrison:
            It fell over once
            Next time seemed to work OK
            Release anyway
Chip Fleming:
            Bad new this morning
            The new firmware failed last night
            The customer fumes.
Paul J. White:
            Tiny CPU
            Low cost, easy to program
            Where is that darn bug?
Prasana Angolkar:
            Mind a plan to profit
            Sketch and flow top design
            Code, test and demos
          
Tools and Tips
            Johann Kok sent this: "I can just add my voice to the chorus for Beyond Compare.  It boosts any programmers productivity and is simply the best.  The latest version can even compare excel, word and pdf files great for comparing 2 versions of a datasheet.
            
            "For synchronizing I use AllWay Sync (http://allwaysync.com).  You can set up profiles for different directories with different rules for each and it only sync the file difference to speed up the process.
          
Rich Ries echoed others' compliments about Total Commander: "A big AMEN!!! TC also has a DIY network feature which allows me to transmit files between two computers. The one is an XP machine with NO floppy drives, but thumb drives; the other is a W-98 machine with NO thumb drives, but floppy drives. The W-98 is my work machine (do the development there); the XP is the company approved networking machine which I found impossible to get my (DOS-based) development software to run on properly. TC allows me to transfer the files relatively easily. The drawback is that I have to do a manual refresh (Ctrl-R) to see the new files."
          
Jobs!
          
                      Let me know if you're hiring firmware or embedded designers. No recruiters please, and I reserve the right to edit ads to fit the format and intents of this newsletter. Please keep it to 100 words.
          
          
Joke for the Week
          
          Mom was the best teacher of computer science I had:
For years I badgered my mother with questions about whether Santa Claus is a real person or not. Her answer was always "Well, you asked for the presents and they came, didn't they?" I finally understood the full meaning of her reply when I heard the definition of a virtual device: "A software or hardware entity which responds to commands in a manner indistinguishable from the real device." Mother was telling me that Santa Claus is a virtual person (simulated by loving parents) who responds to requests from children in a manner indistinguishable from the real saint.
Mother also taught the IF ... THEN ... ELSE structure: "If it's snowing, then put your boots on before you go to school; otherwise just wear your shoes."
Mother explained the difference between batch and transaction processing: "We'll wash the white clothes when we get enough of them to make a load, but we'll wash these socks out right now by hand because you'll need them this afternoon."
Mother taught me about linked lists. Once, for a birthday party, she laid out a treasure hunt of ten hidden clues, with each clue telling where to find the next one, and the last one leading to the treasure. She then gave us the first clue.
Mother understood about parity errors. When she counted socks after doing the laundry, she expected to find an even number and groaned when only one sock of a pair emerged from the washing machine. Later she applied the principles of redundancy engineering to this problem by buying our socks three identical pairs at a time. This greatly increased the odds of being able to come up with at least one matching pair.
Mother had all of us children write mail in a single envelope with a single stamp. This was obviously an instance of blocking records in order to save money by reducing the number of physical I/O operations.
Mother used flags to help her manage the housework. Whenever she turned on the stove, she put a potholder on top of her purse to reminder herself to turn it off again before leaving the house.
Mother knew about devices which raise an interrupt signal to be serviced when they have completed any operation. She had a whistling teakettle.
Mother understood about LIFO ordering. In my lunch bag she put the dessert on the bottom, the sandwich in the middle, and the napkin on top so that things would come out in the right order at lunchtime.
There is an old story that God knew He couldn't be physically present everywhere at once, to show His love for His people, and so He created mothers. That is the difference between centralized and distributed processing. As any kid who's ever misbehaved at a neighbor's house finds out, all the mothers in the neighborhood talk to each other. That's a local area network of distributed processors that can't be beat.
Mom, you were the best computer teacher I ever had.
          
About The Embedded Muse
          
          The Embedded Muse is a newsletter sent via email by Jack Ganssle. Send complaints, comments, and contributions to me at jack@ganssle.com.
The Embedded Muse is supported by The Ganssle Group, whose mission is to help embedded folks get better products to market faster. can take now to improve firmware quality and decrease development time.

