Monthly Archive for May, 2007

Internal Errors

Almost every piece of software has it’s own way of handling internal errors. Usually such error is reported, and the software aborts. Take, as an example, the infamous blue screen of death. Is it possible to define the important concepts for internal errors, so as to not confuse an end-user? Continue reading ‘Internal Errors’

Tell Them You’re Still Alive

Every now and then, I am running an application, and I cannot tell whether it is still doing something useful, or simply deadlocked. I check my CPU stats, showing 100% load, which indicates the program might be in a deadlock state; to be more precise it might be livelocked. It might be really dead if my CPU is showing 0%. Should I kill it? Or should I leave it running for a while?

Continue reading ‘Tell Them You’re Still Alive’

The Empirical Method

“How the in the name can this piece of code do what it is supposed to do?! What if I change this line, that must be related to this $#!&^* bug I’m solving…” We all have been in that situation. You are just changing, no, fiddling with the details of several obscure lines of code, that magically seem to work. Just to find that segmentation fault that occurs when you press enter twice, put your mouse in the upper left corner of the screen, scratch your nose, get coffee and then try to open a new file. It happens only in those rare circumstances. Continue reading ‘The Empirical Method’