Go here to sign up for The Embedded Muse.
Embedded Muse 208 Copyright 2011 TGG May 9, 2011
You may redistribute this newsletter for noncommercial purposes. For commercial use contact firstname.lastname@example.org. To subscribe or unsubscribe go to http://www.ganssle.com/tem-subunsub.html or drop Jack an email at email@example.com.
EDITOR: Jack Ganssle, firstname.lastname@example.org
- Editor's Notes
- Quotes and Thoughts
- Tools and Tips
- The Dumbest Thing I Did
- More on Backups
- Joke for the Week
- About The Embedded Muse
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 http://www.ganssle.com/onsite.htm .
For the first time the Embedded Systems Conference will be held in Sao Paulo, Brazil (http://www.escbrazil.com.br/). I'll be there, so drop by and say "hi"!
Quotes and Thoughts
In God we trust; all others must bring data. W. Edwards Deming
Tools and Tips
The tool tips keep pouring in! Keep `em coming.
Timothy Dahlin sent: "I didn't see rdiff-backup on your site. See http://www.nongnu.org/rdiff-backup/ .
"I use rdiff-backup for automatic weekly incremental backups of my active working directories to an external hard drive."
Chuck Petras had this: "Here's a circuit simulation applet (java running in a web browser window) you may find helpful: http://www.falstad.com/circuit/ ."
"Use menu Circuits -> Blank Circuit to bring up a blank palette and then right click to add circuit elements.
"Also he's got some other applets that look like fun: http://www.falstad.com/mathphysics.html ."
The Dumbest Thing I Did
When interviewing I always ask candidates (those with experience) about their dumbest mistake and what they learned from it. Those with no mistakes are generally those with no experience - or are perhaps truthiness-challenged. Do you have any?
From David Paulson: "There are probably many candidates since I have been an engineer (EE then later CS) for 30 years. Here's one I think is comical: In the early 80's I was a support engineer for the "data terminal" group in my company, and as such helped develop debug tools and techniques. A lead technician and friend, Tommy, and I were excited to play with a new "HP Signature Analyzer" tool that uses a probe to convert a digital signal into a 4-hex pseudo-random "signature" (if the signal is periodic and stable and less than 1024 bits and ...). We used some "tight loop" firmware to make a (Z80) terminal controller board "probe-able" and then spent at least an hour comparing signatures with a known-good board. We were having little success in diagnosing the board until we flipped it over and noticed a paper clip stuck to the back - which Tommy described as "the size of a Buick bumper" - DOH !"
Surprise! Some readers wished to remain anonymous. For instance: "As a side job in college, I worked for an assay lab performing atomic absorption analysis for gold mining operations. One evening, I misplaced my clip-board with all the recent sample results. While in the wet lab searching for it, a colleague yelled at me stating there was fire and smoke in the absorption room. Sure enough, we had a small fire roaring above the absorption unit. Low and behold there was my clipboard, on top of the exhaust vent, on fire, smoking my results. Fortunately I was able to recover the burnt offering before any serious damage occurred (about of the board had turn to smoke). If my colleague didn't happen to drop by at that time, I hate to think of what further damage could have occurred. I learned a valuable safety lesson never place your clip board on an exhaust vent. Dumb dumb dumb!"
Yusuf Syaid had a few suggestions: "I was doing work experience at a local company upgrading the circuit boards on some of the first the capacitive touch EFTPOS handheld terminals.. This included removing the old memory backup battery and replacing some SMD capacitors. I was in the process of replacing the caps when I smelt something burning, looked up and it was my fringe! As I was peering over the PCB, I still had the soldering iron in my right hand and the tip up in my hair. I have short hair since.
"Another time, I had JUST started out as a computer technician, I figured that I need to image the customers' hard drives before working on it, so I could return it to the state it came to me in, if I needed to. I had no mentor as the previous tech had been fired the day before, accused of light fingers.. So I had this one pc, I imaged it or so I thought, when in fact I had cloned my empty drive over the customer's HDD! I was in panic mode and did not know how to recover from it at the time. So with great dread I called up the owner of the PC and told him the news very apologetically. I returned the system with the OS and other programs I loaded on for him. He still came by to get his PC looked over after the fact, he never stops reminding me of that day.
I cringe every time I think of it, but that was long ago."
Tom Harris is also not inexperienced: "I had to drop a coax cable from the 10th floor of an office building down to the ground floor, by way of the utility closets on each floor. The roll of cable wasn't that heavy so I decided to handle the task alone. I set it up on a holder that allowed me to feed the end down the hole from the 10th floor closet to the 9th floor, fed out a few feet of cable, turned off the light, locked the door, and walked down to the 9th floor. I opened the closet there, turned on the light, grabbed the end of the cable hanging in the air, pulled it gently down into the hole in the floor, turned off the light, locked the door etc. Same for the 8th floor. When I arrived outside the 7th floor closet I heard an unidentified noise. I unlocked the door, turned on the light, and saw a large unruly mess of coax cable piled up in the closet. I had forgotten the increasing WEIGHT of coax cable as it played out from the spool. Needless to say I went and got help to roll the cable back up, and to play it out the second time with an assistant remaining on the 10th floor to keep it from unrolling too fast. But first when I brought him to the 7th floor closet to show him the same surprise I had had, we had a good laugh."
Luca Matteini sent this: "Know what, about dumbest things: I think that every time I made one, suddenly, while I was trying to explain it, there was someone making a bigger one, eclipsing mine. Hence I started removing it from mind...
"When I was working with CFC gases injection systems, at the end of the 80s, I did a couple dumb (and unsafe) things. First was about emptying (outside, fortunately) a 35 liters gas tank, that I thought filled with compressed air we were using for some processes, while it probably still contained some hundred grams of CFCs. The second error was trying to soak in a leak of liquid CFC (at -150 degree Celsius) a rag... well, I was careful enough to not burn my hands, at least."
More on Backups
Walter Banks sent this: None of the personal horror stories can touch an automated warehouse used by one of the automotive industry plants. It had been functioning for several years accepting incoming boxes making them disappear and returning them to a dispatch point on request, that is until that fateful day when the enviable happened, the unbacked up system had a disk crash that lost the index for the warehouse. The system was repaired and someone wrote a program to sequentially fetch the whole warehouse so each item could be
identified to rebuild the data base. It took two or three weeks to recreate the database at the same time shutting down production lines that depended on materials."
Harold Kraus wrote: "This would fall under "Dumb things" and "Backups", too. When I left an old job, there was agreement with the next employer that I could, on my own time, go back and help them as a consultant with troubleshooting and adjustment of several arcane instruments, should my replacement need the help. I had years of meticulous and detailed handwritten information of everything I needed to remember to do the job collected in organized notebooks. I told the department, "Here, DON'T loose these!" Six months out, I got my first call back and all of the notes were lost already. Not only were the notes valuable to the department, they had some value to me. So, in line with the concept of Personal Programming Practices (CMMI), it's obvious to me now that I should have made photocopies for myself. If there were IP issues, I could have imposed safer storage of the copies. These days, with electronic notes and storage, the cost of saving all knowledge is generally less than the cost of figuring out what knowledge to delete."
Harold Hallikainen contributed: "For my server at home, I use G4L to create a drive image once a month. The image is on a SATA drive that plugs into a USB SATA drive dock. I also do a daily rsync of the /home directory to this drive. Each month the drive is swapped with one I keep in a desk drawer at work (my off site storage). The drives I've been backing up to are 1TB, though I just started using a 2TB drive this week. I've used the backup once or twice to reverse failed updates. However, I have never had to use the backup to deal with a failed hard drive. I think backups actually prevent hard drive failures. In a similar situation, one time I did not buy insurance on a rental car. A bus hit the car."
Luca Matteini wrote: "As a preamble: I won't mention names (but I'll give hints for acronyms), since it's so delicate, as you'll read.
A friend of mine of the time was working for a company providing outsourced computer services to other larger companies, especially in the financial field. So when it happened that a nationwide bank, on which I had an account, had a massive broken service for days, I asked him. He was involved in some work on DBs for their customer service, and he told me the whole story.
"Well, they had a wild fire in data server rooms (...) destroying all the servers deputed to store debit card transaction logs (at a minimal). Now, the data server facility was run by a third company, that I Bet Man you can somehow guess. Their great idea of security was to backup everything on tapes, and store all of them in the room *next* door. Tapes usually dislike free flames even less than hard disks, so sitting both at the same camp fire, well, they didn't made it.
"Laborious clerks worked for days on data typing (literally), to restore all they could from paper printed logs (stored at a door far enough, I presume).
"I think this is the most representative nightmare story on backups I remember, for the amount of raw data barely salvaged and the way it all started. The newbies pushing backup data on broken hard disks for months (I've seen this one happening) are just lucky beginners, compared to this!"
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
In the last issue I published some new SI units. Many people responded.
Bill Howell: Two more SI units for your collection:
A hive soaked in Earl Grey atop a female ovine = 1 BTU.
The amount of face it takes to launch one ship = 1 milliHelen.
Many readers noted:
> 25. 4 nickels = 2 paradigms
Wouldn't that be 8 nickels?
2 million bicycles = 4 megacycles
We now know that it takes 1 million-million. 1 million microphones is a phone.
Tom Mazowiesky: I think you missed one - 1000 rations = 1 K-ration.
About The Embedded Muse
The Embedded Muse is a newsletter sent via email by Jack Ganssle. Send complaints, comments, and contributions to me at email@example.com.
The Embedded Muse is supported by The Ganssle Group, whose mission is to help embedded folks get better products to market faster. We offer seminars at your site offering hard-hitting ideas - and action - you can take now to improve firmware quality and decrease development time. Contact us at firstname.lastname@example.org for more information.