in reply to Re^2: Visualizing bugs
in thread Visualizing bugs

In my first ever multi-threaded program, written to run under OS/2 pre-1.0, the only reentrant IO function available was Beep( freq, duration ). So

  1. thread_1 did "beeeb....beeep...beeep";
  2. thread_2 did "beep beep....beep beep";
  3. thread_3 did "bip bip bip....bip bip bip" etc.

You could suspend/resume each of the threads by typing it's thread number on the keyboard.

It wasn't much of a program, but you'd be amazed how many grown men (and women) spent an inordinate amount of time being amused by it:)

Examine what is said, not who speaks.        The end of an era!
"But you should never overestimate the ingenuity of the sceptics to come up with a counter-argument." -Myles Allen
"Think for yourself!" - Abigail        "Time is a poor substitute for thought"--theorbtwo         "Efficiency is intelligent laziness." -David Dunham
"Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon