Monday, May 12, 2008

Simplicity

I love things that are complicated. The harder a solution to a problem is to come by, the more I will work and work and work at it until I dream about it (if I can sleep without solving it) and eventually figure out the problem. There is something intriguing about the difficulty in solving and the process that makes me joyful to be alive. Because of this aspect of my personality, I really have a difficult time solving simple problems since I always think of complicated solutions to simple problems.

For example: I designed a tree view (the hierarchical menu system that you see on the left hand of windows explorer) for an application that was pre-populated with data. Each of the parent nodes was a container for one or more parent nodes and one or more child nodes. As you got closer and closer to the leaf level (end of the line) the more specific the navigation became. IE Dog -> Big Dog -> Great Dane -> Harlequin Great Dane. What I needed to do is get all leaf nodes under a specific node. In the example above, I would need to get all Great Danes.

The way that I solved this problem was to create each node with a specific filter condition and then I would get all the nodes from a table of all nodes that match the filter conditions. So the Great Dane node would have the filter "Type=Dog, Size = Big, Breed = Great Dane" and then I would just run the query on the table and it would return all results that matched the filter. This is an elegant solution, extensible, and fairly well written. The only problem was that the nodes had already been filtered and I was reinventing the wheel in an even more complicated manner.

After thinking about this solution, I had to pause and go back and rethink. Why didn't I just get all the child nodes under the parent and not bother with the filter condition? Because I'm crazy, that's why.

Chrisitanity is the same way. All that matters is that God is A number one in my list of priorities. Everything else is just details. Theology, following moral codes, the spiritual disciplines, everything that comes along with Christianity is placed remarkably into perspective once I realize that the things that are dragging me down all have the root cause of not placing God first.

Getting this through my thick head on a daily basis is what I will continue to struggle with until the day that I die.

No comments: