There are times when I am working on programming project and I get the itch to change some stuff in my environment (OSX or Linux). Vim might not being doing exactly what I want, so instead of doing it the round about way I've been doing for a couple months (sometimes years) I go and figure out the right way. Or I may be doing something long handed in bash and I say to myself why don't I figure out a better way.
The thing is when I go off and do this hours can fly by. Sometimes I get stuck on trying to get what I want. I'll know I'm really close, so I don't give up. I usually always get it eventually, but its after hours of tinkering and googling. I hate the feeling of giving up and having to deal with something I know could work better.
When I'm done I have a warm feeling knowing that my environment is a little more smooth and personalized, but I wonder could my time be better spent. Where do I draw the line? It seems with the all the UNIX-style tools there is an endless amount to learn.
Always thought the sign of a superior programmer is someone who goes out of their way to make the computer bend to their will. Am I doing it right? I figure the bash shell, unix/linux, and vim will be around forever, so I see it as an investment.
But then again I just spend 3 hours trying to get some stupid thing the vimperator firefox plugin to work right.
So I wondering what this community think about this.