Going in blind

I just read an article about a boy in the UK who has learned to click his tongue and listen to the vibrations off objects in order to ‘see’ where things are. I find this absolutely amazing. It’s like real-life Daredevil. I wish there was some way to harness this sort of power when troubleshooting programming, but there isn’t.

Over the past few days I’ve run across things that I have to figure out without having much reference, what most people call “going in blind”. There’s little to reference, you just sort of have to figure it out when you get there, and even then, you may have no further information. One, I was asked to troubleshoot a computer by a person who doesn’t know much about computers, without either of us being at a computer. That was fun. It happens all the time though, like a dermatologist will inevitably be asked to take a look at a spot by an acquaintance, so we as computer geeks are asked to help out with problematic computers. It is something we eventually get used to.

The other blind troubleshooting I generally have to do on a regular basis actually has to do with work. Being the lead programmer, I’m usually the last step on figuring out how to get something to work, when other resources are exhausted. Sometimes I can figure it out, sometimes not, but generally it takes a while just to figure out what I’m supposed to be figuring out. It’s really difficult to step into someone else’s project that you know nothing about and get some semblance of what’s going on and then reverse engineer everything to come to some conclusion. I’m expected to have an answer quickly, and make it all better, because that’s my job. Sometimes I get it right, sometimes I just have no clue. This morning one of the programmers came in with errors popping up in the coldfusion log. ‘Too many connections’ with MySql. All I could say was ‘there is something wrong with the code that is making the user connection become persistent’. I know it doesn’t help much, but talk about going in blind. This is a project I haven’t worked on since I set up the basic login structure. Everything else has been written by one of the other programmers. I don’t really even know what the system is supposed to do. To actually solve the problem, I could spend hours or days first reading over the code, then following the code. We can easily write thousands of lines of code, and we can read it, but generally speaking, it’s non-linear, so it’s not like reading a book, it’s more like reading a ‘choose your own adventure’. I, of course, can’t give up so easily so I will probably spend a portion of today trying to figure it out. It is after all, just a computer, it only does what we tell it to do, so we just have to figure out what we told it to do and get it to stop.