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 » 2009 » February

Archive for ◊ February, 2009 ◊

In the same issue of JackGanssle’s Embedded Muse newsletter where he reviewed my book, he let me rant on about the state of computer science/engineering education and its disconnect with industry needs.

He had mused in an earlier newsletter article when (and what type of) programming languages should be taught at the university level. He proposed banishing all such courses until Junior year so students can learn more about decision-making, methodologies and real design, rather than just cranking out code. His article struck a real nerve with me.

I blathered on for a bit, but apparently coherently enough that he decided to print my response.


Jack Ganssle’s Review of My Book
Friday, February 27th, 2009 | Author: lisaksimone

JackGanssle presented a book review of my book, If I Only Changed the Software, Why is the Phone on Fire? in his latest Embedded Muse Newsletter #174.

An except from Jack’s review:

Engineers are famous for being very bright but also for lacking basic writing skills. Yet writing is still our primary means of communication, so we buy heavy tomes created without the benefit of basic grammar and often bereft of a coherent structure. Storyline? Character development? Forget it.

Welcome to a very different kind of technical book. Lisa Simone’s work isn’t the usual dreary tome stuffed with arcane wisdom buried beneath paragraph-length sentences seemingly written by someone just learning English as a second language. This is certainly the first embedded book with characters. The first with action, and with interesting and cool stories.

Bad code that makes a phone burst into flames?

What fun!

And yes, at one point in my sordid technical past, I did have to debug a very hot phone.

After successfully (I hope!) hiding the problem from potential customers at an international trade show in Singapore. Thankfully, the phones were displayed on marble tables - very good for heat dissipation between hurried demonstrations!

I was reading a post about the danger of cutting innovation efforts and R&D costs in this radically crappy economy - kinda like the farmers’ saying about not eating the seed corn. Seems a no-brainer to me that while forward-looking efforts might be optimized, long-term strategy and activities should not be compromised or curtailed.

You tech companies want a hint? Bag the next generation 140-button electronic gadget remote control that manages every electronic device in the house, washes your dishes, and vacuums the rug. Instead, gimmee a 15-button remote control in a fashionable color that doesn’t require me to turn on the lights to find the button to pause my DVD.

You want a rant? Here ya go.


I wrote before about my computer wasting CPU cycles by phoning home to HP.

I also wrote about my cat deleting important files and emailing government agencies in my absence. Josie-the-Editor’s subterfuge continued in her quest for increased thermo intake courtesy of my oh-so-toasty keyboard. But yet again I forgot to “retire” my computer for the evening, granting her leave to further exploit my foolishness.

I awoke last week to find my computer at a near complete standstill. Oooooh no. But Type A that I am, I scrambled for print-screens, suspecting a repeat performance of HP’s Calls to the Mothership. But the system was so clogged it took me 15 minutes of patiently moving the mouse 2 inches, waiting 20 seconds to see where it landed, readjusting, etc., until I was just over the button to frantically SAVE!

The little voice in the back of my head nagged, JUST REBOOT AND CUT THIS CRAP OUT!

I refused.


Reminiscing: My Very First Computer - the Atari 800
Friday, February 20th, 2009 | Author: lisaksimone

I wrote my first program on an Atari 800 (yup, that dates me both as a fossil and as a neophyte within the ranks of true nerd-dom).

While surfing for someone completely unrelated, I tripped across a really cool place called the Obsolete Technology Website. What a fascinating view into computer technology from the 1970’s through about 1993.

DEADBEEF and Kids These Days
Wednesday, February 11th, 2009 | Author: lisaksimone

Someone should write an “Ode to 0xdeadbeef.”  For a couple years, I taught an embedded systems class at NJIT and used deadbeef to initialize memory and find memory leaks and the like.  My graduate students were initially confused that hex was useful for anything beyond binary conversions and writing ASCII characters to a display.

They tittered at cafebabe, feedf00d, and babe2bed.  Poor deprived children.

I always taught wandering through the room, and repeatedly tortured these unwitting victims with random demands, “What is 2ˆ16?  Why is it magic? What’s the hex value for ‘0′ and why is it a good one to memorize?”

From their initial stunned expressions, I could tell they secretly doubted the usefulness of such games, and wondered if Professor Simone was simply nuts.  To my joy and happiness, they caught the bug and starting bringing their fun words to class.

Denton Gentry wrote a fun “looking back in time” entry (aptly named “[0123456789abcdef]” ), reminiscing when discovering new words was a cool sign of superior nerdhood.  And nutty Professor Simone never thought of 0×0ddba11 or 0xf00f.  Ah, opportunities wasted.

Subtitle: Awarding Jobs to the Lowest Bidder

For years Verizon has subtly questioned my ability to use my own two-line phone.

It came to a head when the kids moved out, we trashed DSL and switched to cable modem. No longer needed two phone lines. So I called Verizon on our main line to turn off Line 2. Finally (I cheered internally), the end of 10 long years suffering through Verizon’s insistence that in fact, Ma’am, you are calling me from Line 2. I’d given up arguing the “Line 1 vs. Line 2″ nonsense, but now that I wanted Line 2 turned off, I figured it was a good idea to “confirm” somehow.

So for the zillionth time I responded, resigned, “No, I’m calling from Line 1. This is the phone that rings when people call our main number.”

“No Ma’am, you are calling from Line 2.” (Unspoken on her side I imagine, “This lady is an idiot.”)

Sigh. “Cancel Line 2.” I confirmed the telephone number. Fingers crossed. Five days later, Line 2 was truly dead. “dee Dee DEE, The number you have dialed….” Amazingly, Verizon actually turned off the right one.

But now Line 1 rang busy. Forever.


Jack Ganssle is an embedded guru and also a really neat guy. He collects real life disasters - when products behave Not As Intended. Some are pretty sad when they involve loss of life, but others are funny - like this store sign that reports a temperature of 501 °F. Whew!

When I pitched the concept of individual product disaster mysteries like “Law and Order” or “CSI” for my book, he liked the idea. And I was even more psyched that he would dig through his collection to find Real Life Disasters with similar root causes to the bugs in each of my chapters.

So I thought of Jack when I ran across a post about errors at a site called “The Daily WTF.” (Man I like that name!)

Check out these pics of other interesting Bugs in Public at - There’s Gotta Be A Catch.

And the Walgreens bug? It’s still out there - a student of mine sent me a picture he took of it in mid 2008.

And what caused the bug?  The bias current to an unconnected processor input in the electronic billboard changed; the normal “zero” state drifted to a logic “one.”  Firmware didn’t ignore this unused bit, and accepted the unnecessary and incorrect new data, generating a temperature display that was insane. - From Jack