It's interesting. I've contributed a small number of modules to CPAN and they very much fall into two camps: those I wrote to answer a short term need, and a couple that it turns out I keep coming back to.
Of interest (to me anyway) is Video::Dumper::QuickTime which has only recently fallen into the second camp by virtue of a work mate prompting me to dig it out to solve a rather different problem than first envisaged. The module facilitates pulling apart movie files. It turns out QuickTime is something of a misnomer as it actually works for many of the standard movie file formats. We needed to investigate how subtitle tracks were being managed for a tool we were writing and Video::Dumper::QuickTime turned out to be just the tool to do that. Then we found we needed to make a minor post-processing edit to the movie file, and it further turned out that a trivial class derived from the module's class did what we needed! To say I was a somewhat pleased may perhaps have been understating the case a little!
The module that I use all the time is Win32::MSI::HighLevel which provides a wrapper around the Windows MSI installer API. The module is a vital part of our automated build system and has had a reasonable amount of attention. I find it pleasing that other people have reported bugs in it. At least that means that half a dozen other people have at least tried to use it hard enough to encounter bugs! I'm slightly worried by the fact that some of those bugs have been reported by big military manufacturers and space agencies.
The last "dog food" module is one that I have "in production". Win32::PEFile was written initially to provide access to version information in "Portable Executable" files - Windows .exe and .dll files and other files of that format. In some future iteration of the production system that uses it I need to be able to edit a PE file, at least to the extent of adding a cryptographic signature to it. What makes that an interesting exercise is that the signing has to be done on a Linux box for a Windows executable file. The module is pure Perl, cross-platform and endien agnostic (at least in principle - I've not got a big endien machine to test it on).
The rest of my CPAN modules are very much of the short term interest sort. Some of them I've intended to go back and have a play with because they were fun, but unless someone files a bug report or feature request for them, I probably won't get around to it.
I do find though, that even for the small interest modules I've written and contributed to CPAN, the payback of getting a few other people using the modules and reporting bugs (along with fixes in a few cases) is quite worth while and does justify the effort of a little polishing and placing them in CPAN (even in the eyes of the boss for, as it happens, all the "dog food" ones).
In reply to Re: Eating your own dog food
by GrandFather
in thread Eating your own dog food
by jmcnamara
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |