Category: Problem Solving

Fluidic Navigation

I have a dream – to think as little as possible. I agree with Arthur C. Clarke when he suggests that “Any sufficiently advanced technology is indistinguishable from magic.”

Therefore, how can we get technology to “magically” make things easier for us to do. The invisible interface, which I have covered before, is one outcome of such a concept.

In this particular case, however, I am referring to web navigation. In some ways, arguably the biggest user-interaction challenge over the medium of the web.

Read more »

99 Problems

I thoroughly enjoyed reading Nathans post about Sunday Softness. There are so many interesting points that I would like to make about this – even though it’s 3 in the morning… 😉

Shri – Soft? from an article titled Destroy Something? Its no surprise that both my post and Chris’s seem similar since they are just two approaches to problem solving… I’ll clarify that in a minute… 😀

Trying something new is something that I thrive on. In fact, I believe that is one of the reasons for me doing what I do today… and every day… I like to think that Kraya is a team of problem solvers – that is the biggest part of our job. We have been involved in solving some pretty heavy and serious problems. How do you design and develop a ordering system in 5 days was one of the interesting ones… Not to mention the megabus.com pricing algorithm.

To be able to solve problems – you need to have critical skills. One is to analyse and understand a problem and the second one is to have tools that can be used to solve that problem efficiently and effectively.

The reason I personally, and Kraya have such an exposure to such a vast array of technologies is that we need the tools to solve a problem. We might not need it today or tomorrow but we might need it one day. On that day, we might not have the time to learn it all…. I know that the majority, if not all of the people at Kraya have already got their hands dirty with a large number of technologies. I would also like to think that they have been exposed to some new technologies since they joined Kraya. In fact, if this has not happened, my job has not been done…

Now, to separate the problem solving technique I covered from Chris’s. We are both covering ways to understand a problem space. Chris suggests understanding your problem space by knowing it, understanding it and loving it. I agree with this. Understand the problem and you can solve it.

When I suggest you try to:

break out of your habits, out of your box, destroy your preconceived ideas and look at it differently, try something new…

What I am suggesting is that you consider the problem as a black box and throw something unexpected at it and see how it reacts. This will not solve the problem. In fact, it might break it further but you can learn something new about the issues at play and therefore give you a clue as to how to solve it.

I’ll demonstrate with an example.

I wanted to set up IDENT authentication for postgresql so that we didn’t need to store password on text files to log into the database server but it was not working… I had the ident server installed but it just gave authentication failures. I tried replacing the ident server, tested the ident server and it still failed. Tried restarting the db server and still no joy.

The log files showed that it was requesting auth and it came back with the correct response. The db server was simply ignoring it.

I was stumped. What else could I try? Everything was set up and it should have worked. There was no way to understand the problem space better. I had two choices… Set up an ident client and test the ident server thoroughly, then setup a custom ident server and test the client.

Instead, I simply switched off the ident server. Something that definitely broke the auth on the db server.  I broke it in a controlled fashion to try to identify where the problem lie. Sure enough the db server logs told me that it could not find the ident server. This helped me to understand the problem was at the db server end.

In fact it pinpointed that the problem probably lay in the one line in the configuration file that specified the ident authentication configuration and sure enough it was. I solved it.

This is obviously a trivial example. However, the point I am trying to make is that while it makes sense to understand exactly what is going on – sometimes, this can be a little too time consuming and laborious.

In these circumstances (and it might be true that I take this approach more often than is “safe”), a good approach is to see if you can break it further or how you can break it further as a quick way to identify where the problem may llie.

I believe that this also applies to people and have to disagree with the following comment

to suddenly change the way one of you is and do something different can’t possibly work; it’s breaking one of the foundations on which the relationship was built.

This might be because, I, as a person tend to be more unpredictable and variable than most… at least until this becomes expected behaviour. (You might be surprised at the number of times I am asked – “what have you done now Shri?”)

When a situation (or relationship) has reached a state of staleness or stalemate, you have two options. Do what you can to understand the problem(s) and take steps to solve it. Alternatively, throw a snapper (or a spanner if you prefer) into the works and see what falls out. You can then proceed to fix it…

No prizes for guessing which approach I usually take. 😉 To create something beautiful, you often have to destroy something first… >:D

More often than not, when faced with a problem, I often look to see how it could be broken further before figuring out the best way to solve it. Understanding a problem is solving a problem. Use all the tools at your disposal (and then some) to understand a problem. The better you understand a problem – the better you can solve it… :-)

So, break something today (and then fix it)…

Destroy Something

It’s human nature that when we find something pretty, something beautiful, we want to hold on to it. Take a rose… looks so perfect and smells so sweet but we can’t hold on to it. We can cut it off and take it home but that does not last. We can leave it, but then we can’t own it. Beauty has its time and place and then it is gone… that particular rose will never be again. It doesn’t matter how many photographs you take – how many video’s or how many memories – none of it will ever do it justice.

When this rose dies, it is only fair that we feel a little sadness, a sense of loss. However, that is the natural way of life… If that rose does not die, another one cannot take its place (I exaggerate but you get my point) and if the whole world was a rose garden, the beauty of this rose would be diminished.

Code Complete by Steve McConnell is a fantastic book and I think that it was in there that I read the story about a man who while cooking would always cut the two ends of a fish off before cooking it – because that’s the way its always been done… His wife asks him why and he asks his mother who taught him to cook. His mother responds by telling him that she did not know why he cut the ends off but she did it because the pot was too small…

As human beings, it is all too easy to fall into habits that we are comfortable with. When you find this rose, perhaps you are the kind of person who will take a photograph to save it… perhaps you will walk by again the next day to see it again… perhaps you will cut it off and take it home or maybe you will just smell it to remember it forever… perhaps you will tell your friends so they may enjoy it too… or bring your sweetheart by so they may enjoy it with you… perhaps you will blog it… 😉

There is no right answer here but there is a wrong answer. The only wrong thing to do would be to ignore it. I would even say that it would wrong to do what you always do… The enigmatic beauty of this rose that cannot be  held on to or owned is a once in a lifetime event – only once in the lifetime of the universe will that rose exist…

So, take a leap, destroy your set habits of how you would normally appreciate it and appreciate it in a new way and help others see it in a new light. You will have only one chance to do so and once it is gone, it is gone forever.

Its not unusual for us to hit our head against the wall with a particular problem that niggles away at us and seems unsolvable without a lot of hard thinking and work. I invite you to think about this problem as a rose… a once in a lifetime chance to appreciate something beautiful. Don’t just hammer away at it, break out of your habits, our of your box, destroy  your preconceived ideas and look at it differently, try something new…

At the very least, you will learn something new and you might appreciate the issues surrounding it better.

Smell the rose…

WordPress Themes