Tweet Follow @jack_ganssle

Volume 2, Number 10 Copyright 1997 TGG October 31, 1997

You may redistribute this newsletter for noncommercial purposes. For commercial use contact

EDITOR: Jack Ganssle,

- Editor's Note
- Windows CE Article
- More Dumb Mistakes
- Embedded Seminar in Irvine
- Thought for the Week
- About The Embedded Muse

Editor's Note

There are just a few seats left for my seminar on developing embedded firmware faster and better. It’s in Irvine, California on November 13. If you’re interested, see the note later in this newsletter and act soon.

In the USA today is Halloween, a night of ghosts and goblins. It’s a good time for a twist on the “Dumb Mistakes” series. Sometimes embedded systems can indeed seem haunted…

Windows CE Article

Larry Mittag’s article about Windows CE in the November issue of Embedded Systems Programming is quite fascinating. If you’re wondering what CE is all about, read this piece. It does a good job of putting the issues in perspective.

To quote one line: “They (Microsoft) have essentially redefined the minimum form factor for a standard computing environment to host application software for applications like inventory control and general remote connectivity.” In other words, here comes the rush to 32 bits!

He goes on to discuss how CE could eliminate our specialty. Embedded people are a rare and talented breed; CE, though, will redefine embedded programming to a new model much like working on PC software. So, if you believe that CE will become important, learn hardware NOW; it’s the one last refuge that will differentiate us from our PC-programming cousins.

As one who loves little systems, those cool 8 and 16 bit controllers that surround us, computing oh-so-quietly in the background, I sometimes wonder if Windows CE is my worst nightmare come true. It could be the new standard that ultimately forces many 8 bit systems into the 32 bit world. Will the fun of building embedded systems disappear when we’re essentially doing Windows programming? Will all of the tricks we invent to morph a tiny microcontroller into a seemingly impossible application disappear, as obsolete as vacuum tubes and celestial navigation?

More Dumb Mistakes

From Gary MacDonald:
Many moons ago I was working on project which was being used to control a set of communication points, with the control/status being done from my Windows program. The project had to be done in 9 months from scratch and the team didn’t think it was long enough, as part of the tension relief the project catch phrase became ‘Help us Obi Wan Kenobi, you’re our only hope’.

As a joke one day I put in a message box that popped up with the phrase into my program, we laughed about it ,I took out the code that caused it to pop up and forgot about it.

The day before Delivery we were all still bug fixing, and whilst browsing thru my code I came across a string that was no longer used in the windows string table, so I removed it. Then we shipped the system.

A couple of days later we were installing the system and I got a call to come to the control room, One of the guys suggested I look at the system status which should be showing all the units off line as we hadn’t installed them yet.

What it showed for an offline unit was ‘help us obi wan kenobi you’re our only hope’. The string I had deleted had caused the strings to be renumbered and my joke had accidentally moved into the used string space! After several minutes panic - all the compiler tools and source code etc. were 300 miles away - Fortunately I had a copy of xtree I used to navigate the system and I managed to use its hex view to hack into the binary and change the string to be what it should be.

Lessons learnt - don’t make last minute changes to your code, you don’t always realise what its going to affect and always take the compiler tools with you when you wherever you go.

Editor’s note:
I guess this is a common problem. While still very young and much wiser (in my own mind) than now I pointed a series of impossible error messages to a string that made disparaging remarks about one of the company’s engineers. Imagine my surprise - and embarrassment - when a hardware failure caused that screen to pop up on a unit right outside that engineer’s office!

In another system, based on the 8008 of all things, the program ran a complex iterative linear regression. I set the code up so that after about 20 minutes if it did not converge on an answer it displayed “Help” in the unit’s 7 segment LEDs. This feature was well documented and worked just fine, until one day, many years later, when the unit had long been forgotten, it came in for repairs. The technician walked into my office, white as a sheet, and told me he’d been working on it for a half-hour or so, twiddling adjustments and the like, when it started flashing HELP at him. He was not long out of Appalachia, and was convinced the machine was haunted!

Embedded Seminar! Irvine, CA - Thursday, November 13

I'm conducting a full-day embedded seminar in Irvine on November 13. It's called "The Best Ideas for Developing Better Firmware Faster", and is for the developer who is honestly looking for new ideas, but who wants to cut through the academic fluff of formal methodologies and immediately find better ways to work.

The focus is uniquely on embedded systems. I'll talk about ways to link the hardware and software, to identify and stamp out bugs, to manage risk, and to meet impossible deadlines.

For more information check out or email

Thought for the Week

The heaviest element known to science was recently discovered by physicists. The element, tentatively named Administratium, has no protons or electrons and thus has an atomic number of 0. However, it does have 1 neutron, 125 assistant neutrons, 75 vice neutrons and 111 assistant vice-neutrons, for an atomic number of 312. The 312 particles are held together by a force that involves the continuous exchange of meson-like particles called morons.

Since it has no electrons, Administratium is inert. However, it can be detected chemically, as it impedes every action with which it comes in contact. According to the discoverers, one reaction that normally requires less than one second was extended to four days by the presence of a minute amount of Administratium.

Administratium has a half-life of approximately three years, at which time it does not actually decay but instead undergoes a reorganization in which assistant neutrons, vice-neutrons and assistant vice-neutrons exchange places. Some studies suggest that its atomic mass actually increases in each reorganization. Research at other laboratories indicates that Administratium occurs naturally in the atmosphere. It tends to concentrate at certain points, such as government agencies, large corporations, and universities, and can usually be found in the newest, best appointed, and best maintained buildings.

Scientists point out that Administratium is known to be toxic at any level of concentration and can easily destroy any productive reaction where it is allowed to accumulate. Attempts are being made to determine how Administratium can be controlled to prevent irreversible damage, but results to date are not promising.

Editor’s Note: in circulating this to some friends, I got the following reply:

I guess you chose not to include the information on "technocratium"...the element that has no protons and all free electrons - it is uncontrollable (even in the presence of administradium) and has the ability to keep on designing things even after all requirements have been met.