I’ve seen several instances where folks have criticized others for not “eating his own dog food,” or in other words, not using one’s own technology to show its viability. A couple examples of this rant that I’ve caught on the blogoweb:
These are easily debunked: best tool for the job, Rails is harder to deploy than PHP, yadda yadda. Most times the old saying is true, “All other things being equal, the simplest solution is the best.”
Case in point:
Lucene: A Tacit Admission of Fail? : ob.blog
I won’t spoil it for you, but the first comment made me giggle.
In my head, I suffer with NIH Syndrome quite a bit; It’s easy to mentally find flaws in other peoples’ work and think of improvements. The key phrases are “in my head”, “mentally”, and “think”, because at the end of the day I’m more often than not using existing open source software.
There’s a practicality component: there’s only so much time in the day, and I’m not that good of a coder.
I remap Caps Lock to be Ctrl because I cut ‘n’ paste so damn much.
I enjoy mashups because fitting the pieces together to make a new use case is usually more fun to me than building the pieces.
I believe lazy programming can be a good thing.
I once argued with an interviewer about writing a search algorithm that the language provided out of the box, even though I knew that wasn’t the point of the exercise.
It takes a little humility to realize someone else’s way is better or faster, and I’m super fine with that.