Conditional Thinking

XKCDTech Support Flowchart

My mind made a leap past something blocking it for a while now.

This post, If This, Then That (ifttt): Teaching Conditional Thinking laid the groundwork I needed. The post describes a new simpler version of Yahoo Pipes called ifttt. The idea of both is to take data generated at one or many places and output that data in new interesting ways. An example for how I have used it is creating a single Bbworld feed taking the hashtags in Twitter, a couple dozen blogs, and Flickr tagged photos to produce a single RSS feed to follow. Sooo easier to give out this one than list all the feeds to coworkers or peers at other work places. It then describes this as a useful way to teach conditional thinking.

We have been discussing learning, specifically teaching the skills involved in problem solving: understand the problem, make a guess how to solve, try it, check the efficacy, decide whether solved or keep trying or give up. One idea thrown out was that there was a culture us-vs-them and that our culture made problem solving possible where as another culture did not. Another idea was that in order to problem solve one has to be able to find causes. A third was that someone taught us how to problem solve so someone needs to teach them.

This made me realize problem solving is similar to process flows in that have conditional logic.

  • Case: make a guess how to solve.
  • Exec: try it.
  • Test: check the efficacy.
  • Loop: decide whether solved or keep trying or give up.

The key piece really is someone who writes code reaches a point where letters, numbers, and symbols mean anticipated behavior. They know what it should do to solve the problem. Then when the code does not do it, they use problem-solving to fix it so it will.

So… To solve a problem, I may write code with conditional logic similar to problem-solving with problem solving to make it work. Even when I am writing this blog post, I am thinking about problems with it, how I can improve it, trying different ways to express it, and deciding whether it is okay. Think that seals it: Problem solving is a culture in which we are completely mired. Those trying to participate without thinking this way will have a hard time being relevant. Er… Useful. Er… Helpful.

Technical Support

I try not to be a technical support ass. Since my job is to do and work with tech support, for me to be one of those customers who are rude or really stupid would be counter productive.

Normally I am able to work my way through problems. I only call upon technical support when I've hit a wall that is beyond my expertise. So I called my ISP because form what I can tell, I could not see DNS. The voodoo ritual of modem and router restarting didn't work, so I gave up and called. I liked my ISP's automated service. It picked up that it could see my modem which was kewl. Only when I told it that had not solved my problem did I get to talk to a human. She had me bypass the router and confirm that I could see the Internet. (I felt dumb for not having thought of that. Its filed away as something to do.) Annette even gave me a number to talk to Linksys. I figured out where she was going and was able to ask her what was the goal and give her the information she needed.

Linksys could use better phone lines and automated support. While on hold, I looked on their site and found there was a firmware update. I even found the readme (that this update fixes some DNS issues) and instructions on installing it. So I got a woman from southern Asia (India?) whom I had trouble understanding mostly from the poor phone connection quality and a little because of trying to get through the accent. Struggling through her directions and lack of explaining, I deduced she was going to have me install the firmware update but could not get out of her that is what she wanted me to do. Eventually I subconsciously hung up the call. No, really… I meant to see if I could get better phone quality off speaker and on the handset (maybe I should get a headset?). So I followed the directions I already had on installing the firmware update. In the process I even ended up resetting the router.

So between the reset and the firmware update, my router is working.

In general, I think its a great thing companies have moved tech support jobs to India, China, or Eastern Europe. In the past I have not had trouble understanding the person on the other end of the line. Calling Linksys was my first experience talking to someone who I had trouble understanding. It was also my first experience with the person to whom I was working me as a n00b. Also, it was contrasted with an American sounding person who just treated me well.

Read and post comments | Send to a friend