|Syntactic Confectionery Delight|
Eating your own dog foodby jmcnamara (Monsignor)
|on Apr 05, 2011 at 10:03 UTC||Need Help??|
In software development the phrase eating your own dog food means using the code that you write yourself.* This is usually aimed at improving usability and quality by having developers experience the same interface that the end-user does and thereby fix annoyances and bugs.
Without getting into the quality feedback side of "eating your own dog food" I'd like to bring up a related aspect that occurs to me from time to time.
I spend a lot of time writing and maintaining various spreadsheet modules on CPAN but outside of development I never actually use them. This is down to the fact that I work mainly in C and almost never have to deal (programmatically) with spreadsheets.
I wouldn't think that I am alone in this. I imagine that a lot of other CPAN authors find themselves initially writing or maintaining a module due to a short term requirement and then find themselves writing and maintaining the same module long after that requirement is forgotten.
The CPAN modules that I wrote and do use regularly are generally simpler and don't often require maintenance.
For example Pod::Simple::Wiki. This is very useful when switching departments/companies with different wikis. I just write my documentation in Pod format and then I can convert it to any wiki format that is required. I can also convert the Pod to other formats as needed.
Such as pod2cpanhtml which allows me to generate Html documents in the search.cpan.org format. This is also very useful for previewing and proof reading documentation prior to releasing it to CPAN.
A similar utility that I wrote is pod2epub for converting Pod documents to something that I can read on a mobile device.
And finally Data::Dumper::Perltidy allows me to use Data::Dumper style debugging with Perltidy formatting. That probably isn't a very common use case for anyone else but I find it very useful.
So, which of your modules/programs do you find yourself maintaining without using and which of them do you use on a regular basis?
* In the dog food industry it means something slightly different.