Comments on: Elegance in Failure: How and when to crash horribly [...] Elegance in Failure: How and when to crash horribly by Ben Carter (@CarterBen) [...] [...] Elegance in Failure: How and when to crash horribly by Ben Carter (@CarterBen) [...]

]]>
By: Kester Maddock/2011/02/16/elegance-in-failure-how-and-when-to-crash-horribly/#comment-927 Kester Maddock Tue, 22 Feb 2011 11:20:22 +0000 Yeah, it seems to be one of those things that every low-level programmer has a few war-stories about. Up until this generation the devkit to testkit transition always seemed to be a real trial-by-fire - I remember spending about a week burning PS2 DVDs as well, and seeing what colour the screen got to before it crashed. Even after that for quite some time programmers would routinely end up shouting across the office "can anyone remember if off-pink is 'out of memory' or 'stack overflow'?" (at this point "those were the days" nostalgia starts to kick in, but even rose-tinted spectacles have their limits!). Yeah, it seems to be one of those things that every low-level programmer has a few war-stories about.

Up until this generation the devkit to testkit transition always seemed to be a real trial-by-fire – I remember spending about a week burning PS2 DVDs as well, and seeing what colour the screen got to before it crashed. Even after that for quite some time programmers would routinely end up shouting across the office “can anyone remember if off-pink is ‘out of memory’ or ‘stack overflow’?” (at this point “those were the days” nostalgia starts to kick in, but even rose-tinted spectacles have their limits!).

]]>
By: Bert Peers/2011/02/16/elegance-in-failure-how-and-when-to-crash-horribly/#comment-887 Bert Peers Sun, 20 Feb 2011 12:13:56 +0000 I love anecdotes, here are some more :) I have read somewhere (can't find it back unfortunately) the story of a guy who used radio interferences to debug a freeze in the boot sequence of a computer. He noticed that by running some instructions in a specific pattern the nearby radio would buzz at a certain frequency, so he duplicated this code in specific loops to check if they were running properly. My elder brother used to "debug" mainframes with a (very) small hammer. Since very often unreliable hardware was linked to a loose soldering joint, adding a vibration at the right place when the computer was running a smoke test would trigger the crash. Finally, ten years ago during my internship I was debugging a video acquisition driver, and I could only monitor performance through a serial cable (don't ask me why exactly), writing on which from within the driver was very expensive, and reporting performance measurement in an intelligible manner would completely destroy the performance. So I would output single characters at a certain frequency, and I had a big sheet of paper to remember what was what. It went like "two m in a row = missed a frame, one m and a digit = skipped blocks, etc.". In retrospect, I can see many different and more efficient ways I could have tackled the problem, but at the time it looked like my only option. I love anecdotes, here are some more :)

I have read somewhere (can’t find it back unfortunately) the story of a guy who used radio interferences to debug a freeze in the boot sequence of a computer. He noticed that by running some instructions in a specific pattern the nearby radio would buzz at a certain frequency, so he duplicated this code in specific loops to check if they were running properly.

My elder brother used to “debug” mainframes with a (very) small hammer. Since very often unreliable hardware was linked to a loose soldering joint, adding a vibration at the right place when the computer was running a smoke test would trigger the crash.

Finally, ten years ago during my internship I was debugging a video acquisition driver, and I could only monitor performance through a serial cable (don’t ask me why exactly), writing on which from within the driver was very expensive, and reporting performance measurement in an intelligible manner would completely destroy the performance. So I would output single characters at a certain frequency, and I had a big sheet of paper to remember what was what. It went like “two m in a row = missed a frame, one m and a digit = skipped blocks, etc.”. In retrospect, I can see many different and more efficient ways I could have tackled the problem, but at the time it looked like my only option.

]]>
By: Dylan Cuthbert/2011/02/16/elegance-in-failure-how-and-when-to-crash-horribly/#comment-838 Dylan Cuthbert Thu, 17 Feb 2011 02:44:35 +0000