Sunday, September 14, 2008

High Tech Inquiry

Frequently hackers, (Used in the traditional sense as someone who solves tech problems using creative and unconventional methods.) or nerds if you prefer, encounter complex puzzles which don't have immediate solutions. They are given a problem and need to have some sort of structured process to go about solving it. I have been in this situation several times and usually found a way to make sense of the puzzle. To give a current example I stumbled across a program the other day called "xplanet". What this program does is generate an image of the earth (or other planet) according to a specified date. Why is this important? Well this program would be particularly useful in generating images for a lesson on the phases of the moon. All you have to do is specify a couple of parameters and hit enter. Then out pops an image of the earth and moon. Or you can use the program to generate an up to date rendition of the earth and use it as a constantly changing desktop wallpaper. There are even options to include externally generated weathermaps and planet images. However there is only one hitch. The person who created this program only bothered to create a command line version. All you have is a limited how to file. It is up to you as the user to figure out how to get the program to generate the image you want.

So how do you figure this out? How would you even approach this problem? I have found that the best way is to confront such a problem is to treat it like a scientific investigation. One of the first things I do is read whatever I can find on the topic. This includes any documentation I can find, and any other bits of information I can find. In particular I pay close attention to the problems other people have had dealing with similar situations. This is not a one time event I frequently go back to look over anything I might have missed. Once I have some working idea as to how I should go about solving the problems I start a process of investigation and inquiry.

Trying to understand how a program works is not always a straight forward process. There is a lot of guess work and testing. For example the command -output might change the size of image or specify the output file. Usually the only way to figure this out is through experimentation. Sometimes the function of a command is clear for example in the case of -center. This command changes where the earth is in the drawn in the final picture. However does this work with all types of maps? Does a mercator projection work the same as a globe? Also what is used as the center? Is it the center of the map? Or is everything centered according to where the 0,0 coordinate is on the drawn image. Inorder to make any progress the hacker needs to have some sort of model of how the program works. This is based off of predicting what ceratain commands do, creating tests to clarify variables, interperting results of these tests and communicating with others who are also working through the same problems you are. Often times these programs are never fully understood by the majority of the users. Sometimes they are communally written and no one knows the full extent of the programs capabilities. Or the original developer may have given up on the project and no longer provides any support. Users usually have a "good enough" understanding to get the program to do what and that is all.

While most users don't go to the rigor typical of scientific investigations. They do use many of the same steps present in scientific inquiry. Granted each Hacker goes about sloving the process in there own way. The real question is why? Why would a hacker go through all of these steps purely of there own free will. There is no peer review board looking into what the hacker does. The Hacker does not need to stand up to a level of rigor or scrutiny. All the hacker has to do is figure out how the program works good enough to use it. The answer is a rather straightforward and simple one. This process is the best and most straightforward way of generating useful and reliable information. And that is primary goal of scientific inquiry.

2 comments:

Ryan M said...

well that seems pretty neat, can you essentially develop a "what if" image? That is let's say make an image of the earth if we were to loss all forest and then maybe maniuplate other variables? how much co2, smog, etc? Good find though!

John Settlage said...

Your example of your personal inquiry raises an idea that I may be taking for granted. Perhaps all the emphasis upon inquiry in science classes ignores the fact that adults do inquiry within their scientific interactions with their worlds. In this way, inquiry in science class refines skills that are valuable for a lifetime.

Channeling curiosity in order to reach a point where our understandings are "useful and reliable" is not confined to the lessons we deliver. In other words, I'm grateful to you for reminding us that inquiry is not just a kid thing. Instead, we have kids do inquiry so they know how to do this on their own when they are done with classes.