These are some great comments, and right on the mark. As a user who codes because he has to, one of my basic rules is
Don't do in ten what you can do in two (no matter how satisfying it is). I learned this the hard way and it took a long time to soak in but it has served me well.