Reviews by David Precious

cpanratings
 

RSS

Dancer-Plugin-DirectoryView (0.02) *****

Useful stuff - Just Works (tm).

Thanks :)

David Precious - 2012-02-01T09:02:57 (permalink)

2 out of 2 found this review helpful. Was this review helpful to you?  Yes No

Dancer-Plugin-DebugDump (0.02)

It should be pointed out that this module is no longer all that useful, as Dancer's Logger interface now automatically serialises references passed to it, so you can, without any extra plugins or anything, say e.g.:

debug "Data is", \%data;

I will probably release a version of this module with a deprecation notice at some point.

David Precious - 2011-10-07T12:53:53 (permalink)

2 out of 2 found this review helpful. Was this review helpful to you?  Yes No

Bot-BasicBot-Pluggable-Module-TwitterFriendsStatus (0.2)

This module in its current form is of very little use.

I took on maintainership to fix some bugs and get it working; unfortunately, since Twitter no longer allows authentication with usernames and passwords, it needs some fairly major reworking to either authenticate via OAuth, or replace authentication with a simple mechanism to just add a list of users to follow.

I'll try to work on it when I have time; patches welcome.

David Precious - 2011-07-21T14:08:06 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

Dancer (1.3060) *****

YAWF (Yet Another Web Framework), but looks promising so far.

I like Catalyst, but also find it rather bloated and overkill for small web apps, and to some degree feel like it forces me to code "the Catalyst way".

Dancer, on the other hand, strikes me as a smaller, easier framework, to which I can hand over drudgery, but maintain control and write my own code, my way.

Friendly, responsive and approachable developers also instils confidence in this project.

I think Dancer will be my future first choice for smaller webapp projects.

[EDIT: For disclosure, I'm now part of the Dancer core dev team; at the time of writing this review I was not, I was just an interested user; since then, I started contributing, and became a member of the team. I decided I should leave the comment as it stands, but add this disclosure to explain.]
[EDIT 2: editing the review has changed the datestamp to today's date. For reference, the original review was posted 2010-02-10 07:35:39]

David Precious - 2011-06-20T05:18:15 (permalink)

20 out of 35 found this review helpful. Was this review helpful to you?  Yes No

Scrappy (0.62) *****

Cute, and makes web scraping dead easy. Fetching, spidering, and clean & easy parsing all wrapped up together!

Given sane HTML with classes/IDs you can look for, you can get what you want with stunningly little code and ease!

David Precious - 2011-01-27T02:29:51 (permalink)

2 out of 2 found this review helpful. Was this review helpful to you?  Yes No

Dancer-Plugin-Email (0.01) *****

Excellent stuff, makes sending email from Dancer applications staggeringly simple, exactly as it should be, and reading default settings from the config file is very sensible.

David Precious - 2010-09-10T08:16:14 (permalink)

6 out of 6 found this review helpful. Was this review helpful to you?  Yes No

Spreadsheet-Read (0.39) *****

Excellent stuff - makes reading data from spreadsheets dead simple, without caring what kind of spreadsheet you've been given.

Even if you're writing code with the expectation of it only ever being given an Excel spreadsheet, it still makes sense to use this module for its interface, and so that, if your code is expected to deal with other spreadsheet formats in future, it will Just Work.

David Precious - 2010-04-28T03:13:29 (permalink)

3 out of 3 found this review helpful. Was this review helpful to you?  Yes No

App-Todo (0.97) *****

Hiveminder rocks, and reviewing/adding/editing tasks straight from a terminal with todo.pl makes it rock even more.

I do wish it would give you the ID of newly-created tasks, though.

David Precious - 2010-04-09T02:21:05 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

Nagios-Plugin (0.33) *****

Excellent stuff, takes care of the tedious parts of writing Nagios plugins, making it a five-minute job to rock up a plugin to monitor whatever it is you want to monitor.

David Precious - 2010-03-16T07:02:09 (permalink)

Was this review helpful to you?  Yes No

SQL-Abstract (1.61) *****

Excellent way to make database work less tedious; writes your SQL for you, so you don't have to think about it.

May start to become awkward when your needs become more in-depth and you need big hairy queries, but for your average database work, this will handle it all with ease, and the interface is sane enough to avoid making you think.

David Precious - 2010-02-19T16:17:40 (permalink)

4 out of 4 found this review helpful. Was this review helpful to you?  Yes No

Crypt-SaltedHash (0.05) *****

Good stuff - just what I was looking for. Generating a salt, hashing a password with it, and validating it is pretty simple stuff, but common stuff that gets re-written far too often; this module takes care of it nicely.

David Precious - 2010-02-16T14:30:30 (permalink)

2 out of 2 found this review helpful. Was this review helpful to you?  Yes No

Digest-SHA (5.48) *****

Dead easy to use, secure password handling made easy.

David Precious - 2010-02-16T13:38:42 (permalink)

Was this review helpful to you?  Yes No

Devel-Modlist (0.801) *****

Excellent stuff, does exactly what I needed in an easy way.

What could be easier than:

perl -d:Modlist=cpan,nocore ./somescript.pl
or

perl -d:Modlist=cpan,nocore -MSomeModule -e0

David Precious - 2010-02-15T10:35:57 (permalink)

2 out of 2 found this review helpful. Was this review helpful to you?  Yes No

Pod-Server (1.09) *****

A nice little tool should you want to be able to list all installed modules and view their installation locally via a browser rather than using perldoc.

A lot of dependencies (via Squatting, mainly), but overall, nice.

David Precious - 2010-02-10T07:28:00 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

File-Find-Rule (0.32) *****

A clean and simple way to describe a set of files you're interested in, and get a list of them. Way nicer to use than File::Find.

The price for this simplicity is that the module chugs away constructing the entire list of files first, before you can then work with them. Fine on a reasonably small set of files, but if you're going to be working with a lot of files, this can be a pain.

David Precious - 2010-01-21T16:13:52 (permalink)

5 out of 5 found this review helpful. Was this review helpful to you?  Yes No

HTML-TableExtract (2.10) *****

An excellent module to handle the fairly common task of extracting data from a HTML table; no need for ugly scraping code, you can just tell this module "Here's some HTML; find me a table with headings named $headers, then get me the data. If the page changes, no problem - as long as the table still has the same column headings (even if their order changes), it'll still be found with no issues.

You can also identify the table you want by name/id or various attributes, if you need to.

An essential part of your toolkit for screen-scraping.

David Precious - 2010-01-21T16:07:09 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

DateTime (0.53) *****

The cleanest, sanest module for manipulating dates within Perl I've seen so far - a DateTime object has become my first choice for most date operations within Perl.

It's slightly slow (on one of my systems, perl -MDateTime took about 0.4s, compared to 0.1s for Date::Calc), but in most cases, I think it's worth the impact for easy, clean code. So, DateTime is my first choice, Date::Calc is my choice when speed is of the essence, and for working with date ranges, I'll occasionally turn to Date::Range.

David Precious - 2010-01-21T16:00:37 (permalink)

5 out of 5 found this review helpful. Was this review helpful to you?  Yes No

Date-Range (1.40) *****

A nice clean way to handle ranges of dates. DateTime is my normal choice for date maths, but I've found this module good for clean and easy ways to, for instance, get a list of dates between $start_date and $end_date with minimal effort.

David Precious - 2010-01-21T15:58:50 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

Text-Sequence (0.25) *****

Excellent stuff - did exactly what I needed.

David Precious - 2009-02-25T15:17:44 (permalink)

1 out of 4 found this review helpful. Was this review helpful to you?  Yes No

Net-Google-Calendar (0.95) *****

Excellent stuff. Does exactly what I wanted to do, and with a sane interface too.

I think the documentation could do with a bit of cross reference though; for instance, when mentioning that a Net::Google::Calendar::Entry object is expected or emitted, a link to the appropriate documentation would be nice. (Yes, it's easy to go find it yourself, but easier still if there's a clickable link :) )

David Precious - 2009-02-12T07:52:59 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

Parallel-ForkManager (0.7.5) *****

Takes the drudgery out of forkery, leaving more readable code. Good stuff.

David Precious - 2009-02-09T16:27:30 (permalink)

2 out of 2 found this review helpful. Was this review helpful to you?  Yes No

Getopt-Lucid (0.17) *****

Excellent stuff.

I was fed up with using Getopt::Long and was looking for a decent Getopt::* module which could flexibly handle options the way I wanted them, and handle targets neatly too, regardless of the order they're given (e.g. ./script --option=foo filename, or ./script filename --option=foo), and most importantly, just get out of the way and DWIM.

Getopt::Lucid does everything I want, including verifying that required params were given, and as the name would suggest, allows the option-grabbing code to clearly show at a glance what options it takes.

David Precious - 2009-01-29T02:51:13 (permalink)

4 out of 4 found this review helpful. Was this review helpful to you?  Yes No

Data-Validate-Domain (0.09) *****

Perfect, just what I was looking for.

This is a wheel that doesn't need to be re-invented, especially when there's a nice, round, very usable wheel like this ready to bolt on :)

David Precious - 2009-01-05T15:38:16 (permalink)

Was this review helpful to you?  Yes No

Bot-BasicBot (0.7) *****

Great stuff - IRC bots made simple.

David Precious - 2008-10-21T14:14:00 (permalink)

1 out of 1 found this review helpful. Was this review helpful to you?  Yes No

Bot-BasicBot-Pluggable (0.50) *****

Excellent stuff, makes quickly whipping up useful, extensible IRC bots a breeze.

It does have a dependency chain that seems to span half of CPAN, but it's worth it :)

David Precious - 2008-10-21T14:13:14 (permalink)

2 out of 2 found this review helpful. Was this review helpful to you?  Yes No

Config-Auto (0.20) *****

Supporting so many different types of config files might be somewhat overkill, but it's sheer DWIMmy joy to not have to think. It Just Works. :)

David Precious - 2008-10-21T14:11:38 (permalink)

Was this review helpful to you?  Yes No

Devel-NYTProf (2.03) *****

Tried this today to find a slowdown in some code, and was amazed by the detailed but easy-to-use output.

An excellent tool!

David Precious - 2008-09-25T05:35:36 (permalink)

4 out of 4 found this review helpful. Was this review helpful to you?  Yes No

Test-MockObject (1.09) *****

Excellent stuff, really useful when writing decent test scripts. For code that relies on external systems, mocking up whatever objects it uses to communicate with them makes in-depth, reliable testing easy.

David Precious - 2008-08-21T15:42:50 (permalink)

5 out of 5 found this review helpful. Was this review helpful to you?  Yes No

libnet (1.22) *****

Excellent - Net::FTP has a sane interface and makes it quick and easy to knock up a script to interact with an FTP server, with little thought required.

This is what CPAN is all about :)

David Precious - 2008-06-25T05:59:10 (permalink)

3 out of 3 found this review helpful. Was this review helpful to you?  Yes No

Net-Twitter (1.14) *****

Great stuff - does exactly what I needed, and with a clear, sane interface.

David Precious - 2008-06-19T08:38:35 (permalink)

2 out of 2 found this review helpful. Was this review helpful to you?  Yes No

HTML-Table (2.07b) ****

Useful stuff - makes simple report scripts a lot cleaner and quicker to write.

The only thing I don't like is the un-Perlish camelCased method names - I'd much prefer to write, e.g., $table->add_row(...) - but that's not enough to put me off :)

David Precious - 2008-04-10T07:47:06 (permalink)

2 out of 2 found this review helpful. Was this review helpful to you?  Yes No

WWW-Comic (1.06) *****

I was considering writing something to fetch multiple comics, then found this, and it does exactly what I want :)

Good interface, easily extended with plugin modules - just what I was looking for.

David Precious - 2008-04-05T06:26:49 (permalink)

2 out of 2 found this review helpful. Was this review helpful to you?  Yes No

WWW-Mechanize (1.34) *****

An awesome module that makes screen-scraping and programatically interacting with websites fun instead of a chore.

A well thought-out interface which allows you to just get on with coding what you want to do, quickly and cleanly.

David Precious - 2008-03-11T07:34:25 (permalink)

4 out of 4 found this review helpful. Was this review helpful to you?  Yes No

Template-Toolkit (2.19) *****

Just tried Template::Toolkit after using HTML::Template for a fair while. H::T is good, but got in my way a little (especially when wanting to loop through an array - having to turn that simple array into an array of hashrefs was annoying).

Got T::T installed and converted over a (admittedly fairly small) project to use T::T within about half an hour and... my God, it has no right to be *this* good :)

David Precious - 2007-08-03T02:01:35 (permalink)

6 out of 7 found this review helpful. Was this review helpful to you?  Yes No