by Chris Douce
After quite a few months without programming, I found it necessary to perform a stint of debugging. This was not source code debugging, but installation debugging. I needed to get a software development framework up and running, including a web server and database. It wasn't too long before I was again happily fiddling with configuration files and faced with the need to look at system logs and error files to try to understand more about why my setup was not doing the things that I expected it to.
Debugging work within the psychology of programming has often focussed at the lower level: looking at and considering how programmers and software engineers comprehend and assess their source code. I would be delighted to learn about studies which addressed the interesting intersection between the practice of system administration and source code programming.
During my most recent foray into the need to debug systems, I turned to the most useful tool in my armory: the internet search engine. I can't remember the exact time when I first tried using a search engine to help me debug code, but I think it was after I had exhausted all avenues of internal inspiration and was looking to others for help. I think I copied and pasted an error message into Google, with the question, 'I wonder if other people have seen this?' The answer was obvious: of course they had, and I was duly inundated with hits.
How do I make a decision about what to click on? Decisions based upon the origin of the link: is it is a discussion forum? Does the 'search slice' match the context of my problem? Have I seen the site before and has it been useful? Is there the possibility that this link will lead to an inspirational dead end, or will it yield interesting tips about where to look?
I have many questions about this practice of searching for error messages: do other developers use this same strategy? (I suspect that they do) Do they look for the same information as I do when they are making decision about what link to follow? Finally, is there a better approach that can be used for the presentation of error messages that could make it more effective for the developer? One very welcome web-browsing feature that I make extensive use of is the change of the link colour which shows me which nodes of a 'web search tree' I have visited previously, helping me to hone and refine my keyword set.
There is a happy ending to this story. The answer, was, of course, obvious. To complete my installation and to get rid of those final pesky error messages all I had to do is to made a tiny edit to one of the configuration files. Of course, there is always more to do. I now have a couple of ideas about where I should start to look to improve the understanding I have of my tools.
Even though I solved my problem I have little recollection of how I understood the search results I was presented. I have no firm understanding of what rules or heuristics I applied, but do wonder whether I could have found an answer more quickly if the results were presented in a different format.