Think.

Think first. Think some more. Think about the whole problem. Think about a little part of the problem you’re going to start with. Think about the whole thing again, in relation to your idea on the starting point.

           -Wil Shipley

My app had some code that would allow the user to spawn an unlimited number of helper processes that went off and did their thing reporting back and taking orders as needed. I’ve finally got to the point where I wanted to limit the number of “active” helper procs to some reasonable value that could be adjusted via preferences. Well, I wrote that code but I forgot to think. I wrote the code such that even when a new request comes in that needed to be queued (due to too many helper procs) I spawned the proc but then “paused” it. This was probably the easiest way to implement the desired effect to the user, but the problem is that it consumed the same amount of resources as before. Nothing was solved. I felt this was a good example of not thinking and paying the price.

Now, time to do some thinking.

Leave a Reply


© 2006 roobasoft, LLC