I feel so inadequate (on CPAN)

NachoMan on 2003-09-19T16:41:43

I've realized that, with all the software I've written, all the cool experiments I've conducted with programming, and all the libraries I've ever spun together to "get the job done", I only have 3 CPAN modules. Three! Count 'em. One...Two...Three. Not much to show for 7 years of Perl development, eh? I must admit that most of my code during the first 4 years really stunk, the other 3 could probably have been better spent on module development, rather than the odd one-off.

Oh well, here's to a belated new-year's resolution: I'm going to work on more CPAN modules, either in fixing (and probably adding) bugs, adding features, or creating new modules that need creating.


Three be me

jhorwitz on 2003-09-19T19:01:53

I also have three CPAN modules over the same timeframe, but that doesn't irk me in the least. Seeing people actually *use* my modules is what gets me all warm and fuzzy. I can't imagine supporting 10 or more active modules and maintaining my sanity. But for those who do, more power to ya! :)

Not inadequate

ethan on 2003-09-20T09:23:33

I am kind of sceptical when it comes to people doing a lot of CPAN distributions. There's a pretty long way from an idea of a possible CPAN module to its implementation. For a reasonably complex module, this can take months with all the documentation and tests, interface-considerations etc. And that's only the first step. It has to be maintained afterwards

Essentially I have a few unfinished modules lying around. My most ambitious project was probably porting the Aalib to Perl. I was mostly done with it (even had ways of writing new drivers in Perl). But then I got scared and thought about its implications if people ever used the module.

Also, the majority of my modules is XS. Whenever an external C library is involved, I chose to include it in the distribution. That way, I don't necessarily have to make a new distribution if the C library gets updated in a possibly incompatible way.

Furthermore, I think that a module should be properly checked on different operating systems. Before ActiveState started to bundle up new CPAN additions automatically, I was doing that myself which was annoying.

This all means: maintaining five widely spread modules can be a fulltime job. Uploading one new module after the other is therefore insane. Whenever CPAN authors state in their documentation that they might not have enough time to fix bugs or whatever (by pointing to their vast amount of other modules), it's time for them to reconsider their policy.

Re:Not inadequate

NachoMan on 2004-06-11T14:33:35

My reply is remarkably old, so I apologize, but I feel I must clarify my original statements.

Basically, I'm not spinning out CPAN modules for the hell of it; I can't tolerate "Hero Coding". On the other hand though, my modules were very small and, to me, seemingly inconsequential ones. Maintaining them has been very easy, mainly because there isn't much to go wrong.

My original intention of this journal entry was to say that most of the code I've written could have been abstracted to a CPAN module, but wasn't. Instead of writing software with an eye towards reusability and "What might other developers use this for?", I would write code in a vacuum. So instead, I've begun spending extra time on my projects to build my code in a reusable fashion. If, after a few months, my module has matured and is still usable to me, I release it to CPAN. As it is I've only added one extra module to CPAN since this journal entry, but I feel it was worth the effort.

I have two other modules that I'm using at work which are still sitting on the sidelines, mainly because I don't think they're ready for public use yet.