Deprecated: Assigning the return value of new by reference is deprecated in /data/55/1/150/3/1639166/user/1767119/htdocs/phoneonfire/wp-settings.php on line 468

Deprecated: Assigning the return value of new by reference is deprecated in /data/55/1/150/3/1639166/user/1767119/htdocs/phoneonfire/wp-settings.php on line 483

Deprecated: Assigning the return value of new by reference is deprecated in /data/55/1/150/3/1639166/user/1767119/htdocs/phoneonfire/wp-settings.php on line 490

Deprecated: Assigning the return value of new by reference is deprecated in /data/55/1/150/3/1639166/user/1767119/htdocs/phoneonfire/wp-settings.php on line 526

Deprecated: Assigning the return value of new by reference is deprecated in /data/55/1/150/3/1639166/user/1767119/htdocs/phoneonfire/wp-includes/cache.php on line 103

Deprecated: Assigning the return value of new by reference is deprecated in /data/55/1/150/3/1639166/user/1767119/htdocs/phoneonfire/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /data/55/1/150/3/1639166/user/1767119/htdocs/phoneonfire/wp-includes/theme.php on line 618
Real Life Debugged » 2007 » January

Archive for ◊ January, 2007 ◊

Phone on Fire Newsletter, Issue 6
Friday, January 26th, 2007 | Author: lisaksimone

Hi Folks,

Welcome to Issue #6: Closure to the Cover Art Saga and a Completely Unscientific Reader Poll

Wow - only 56 days left until availability! I can’t believe this is actually happening! I’m done with the proofs and we’re in final layout. Put your orders in now before Amazon drops the price any further on me!

I have attached the almost-final-version of the cover art, which has also just shown up on Amazon.com (old amazon link). (Very small text changes will be made only.)

more…

Phone on Fire Newsletter Issue 5
Sunday, January 07th, 2007 | Author: lisaksimone

Folks,

Welcome to Issue #5 : The Ballbreaker Epiphany

So I had a 2-hour conversation with my editor, Tiffany, two days after I received a thick package via DHL. The raw copy-edit comments from Carol, and the proofs of the whole book with the copyedit changes already in place. Figures and fonts and everything! It is so cool that they show me every little thing they changed, so I can see it explicitly. Right up an engineer’s alley.

Read more about my stress during this time, and my discussions with the publisher that resulted in our extended forays into Urban Dictionary com.

more…

Several readers commented on the test case article published at Embedded.com here. The reader responses are also presented below.


I really liked the article and the way it was presented. Well done Lisa.

I passed the code through my normal Lint system and it caught the problem and pointed out a couple of others too. This is what it reported:

  1. The Comparison for OvenPW less than 0 at the end is unneccessary, since OvenPW is an unsigned number, it can’t be less than 0. This is a clue to the error.
  2. The loss of precision in the subtraction as the two unsigned numbers (reference_temp_A2D_counts and actual_temp_A2D_counts) are subtracted and the result placed in the signed number, delta_temperature. (another clue)
  3. The loss of precision as the ovenPW is calculated from the Delta Temperature. This is where the problem manifested itself.

An unintended lesson of this, pay attention to what Lint is telling you.

Bob Bailey
Sr. Software Engineer


Thank you Lisa. Your article was a fascinating reading experience. I can only conclude:

“Two sensories are always better than one.”

Art Devine


Dr. Simone’s paper is very thought-provoking, and is refreshingly easy to read. Her approach to solving a problem extends far beyond ovens, of course, and should give us all pause to reflect how we could better do these things. Hats off to her!!!

Thomas Mann


This article is definitely worthwhile to promote as a vivid C programming case or as a trouble-shooting case. It is enlightening for reader to think thing in reverse engineering point of view.

Larry Luo


Out of sheer curiosity, I tried the attached source code with some C compilation tools I haved. Some compilers (e.g. TI Code Composer C/C++ compiler for TMS320C54x) issued a warning like “pointless comparison of unsigned integer with zero” on the instruction “if (ovenPW < 0) …”, giving the programmer a chance to notice the bug described in this article.

Some other ones (e.g. MS Visual C++ 6.0) didn’t report any problems even with the strongest warning level set.

Kazimierz Koziarz