Reviews by Chris Nandor



Net-Rendezvous-Publish-Backend-Apple (0.01) ****

Nice, useful module. Works great.

Net-Rendezvous-Publish (0.04) ****

Nice, useful module

HTML-PopupTreeSelect (1.4) *****

If you need to do what this does, it is a great module to use. We have hierarchical topics coming in Slash, and to select the topics, we use this module, and it works great. We heavily customized the template, and used Template Toolkit instead, and it all just works.

Mac-Errors (0.91) *****

This is a cute and very useful module for Mac programmers, translating Mac OS errors between symbols and numbers, providing subroutine constants, and even giving error descriptions. It also includes a command-line program for getting the same data.

D-oh (0.05) *****

You know you love it.

(Giving honest criticism about how bad it is misses the point entirely. This should probably be in the Acme:: namespace, but it predates Acme:: by a few years.)

libapreq (1.2) ****

This seems like in some ways overcomplicated (especially since I use it primarily for the cookie stuff alone), but it is fast and reliable (despite that I have a lot of trouble building it sometimes).

Template-Toolkit (2.10) *****

I love TT and use it for Slash and other projects. It could be a bit faster -- not merely in the template execution, but just in the process of selecting the right template for execution in the first place -- and the vast, very good, documentation could be easier to navigate.

DBIx-Password (1.8) ****

This is a nice idea for a module. It lets you store your DBI info -- username, password, host, driver -- in a "virtual user" so you can connect a lot more easily. It could use better documentation for what a virtual user is, and how to add/modify virtual users, and how to secure the module.

DBD-mysql (2.9002) ****

This is a very nice driver, but needs some cleaning up, some more reliable and simpler builds, and some better compatibility with different mysql client/server versions (that may be more a MySQL issue than a DBD::mysql issue, I don't know).

DBI (1.38) *****

It's the DB category-killer. Indispensible for any DB work.

XML-RSS (1.02) ***

I would have given this module a 4, because I use and like it quite a bit, but it now supports RSS 2.0, which is a bogus and broken version of RSS designed to kill RSS altogether, and anything that supports RSS 2.0 is supporting that goal by proxy. It's unfortunate.

XML-Parser (2.34) *****

Forget what everyone else says about XML::Parser. Those SAX nuts are just trying to kill it. Use it while you are still able!

Date-Calc (5.3) ****

I find this module difficult and awkward to use sometimes, but it is very useful and fast.

TimeDate (1.16) *****

This is my favorite date distribution. Old faithful. It can handle most date formats I throw at it, it can format it any way I want, and it isn't very slow.

Time-HiRes (1.50) *****

There's a reason this is in the core ... it's a highly useful and well-written module, and these days, portable too.

Image-Size (2.992) *****

Finds out the size of images, and does it simply and reliably. What more could one ask for?

Getopt-Long (2.33) *****

This makes accepting command-line arguments powerful, flexible, and easy.

Email-Valid (0.14) *****

Do not write your own email validation code. Use this instead. You will do it wrong. Really.

MailTools (1.59) *****

This has some indispensible utilities for handling mail data. You should have this.

Mail-Sendmail (0.79) ****

It's not the best mail module out there, but it is does its job reliably and without a big hassle, so I like it best.

HTML-Format (2.03) *****

A good example of how different modules can fit together to do nifty things.

HTML-Tree (3.17) *****

Note: if you have trouble with this module, you probably didn't read the docs very well.

MIME-Base64 (2.20) *****

It does its job well, without hassle or fuss. Yay!

Storable (2.07) *****

A very good module, even though sometimes I get coredumps with it. But I have not gotten those in awhile, so perhaps that's not fair, so I'll give it a 5.

libwww-perl (5.69) *****

A great distribution. It's there when you need it. Which is often.

Compress-Zlib (1.22) ****

This module tends to have some features not work on some platforms, and its interface and docs are quite confusing to me. However, it gets extra marks for utility.

Archive-Tar (1.05) ****

I've never been fond of this module. It's always been buggy. But it gets the job done when nothing else would, and Jos has improved it significantly.

File-Spec (0.85) ****

A very useful module that more people should use, especially so more bugs can be uncovered, increasing the module's reliability and stability across platforms.

Digest-MD5 (2.27) *****

Only a 4 on Documentation and Interface because the OOP stuff is a bit hard to use IMO ... but I usually use the functions anyway.

libnet (1.16) *****

Highly usesful and reliable.

Regexp-Profanity-US (0.9) **

The name of this module is bad. If the interface is functional, why is it in Regex*:: namespace? If the point is to supply regexes like Regexp::Common, fine, but if the point is to perform a task -- matching for profanity -- there is no reason for it to be in the Regex*:: namespace.

release (0.23) *****

This makes releasing software so incredibly easy. And thanks to recent modularization, it is easily customizable to your own needs.

Once set up (which can take some work, but the more distributions you have, the easier it is, as you copy over all the files you need from one to the other and make slight modifications), to release a distribution -- once you have made all your changes, bumped your module version, checked it all in -- you just type "release". That's it.

It makes the distribution, tests it, checks the manifest and cvs, tags cvs, uploads it to CPAN and, and then claims/releases the file on those systems. All with one word!

(I've modified my local copy to also send a note to my journal after everything has been uploaded.)