Reviews by Olivier Mengué (dolmen)

cpanratings
 

RSS

Python-Decorator (0.03) **

Comments on the announcement of this module:
blogs.perl.org/users/piotr_roszatycki...

A more perlesque port of Python decorators would use function attributes.

Olivier Mengué (dolmen) - 2014-03-31T09:43:19 (permalink)

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

MailTools (2.12) *

Mail::Header->unfold and Mail::Header->fold just don't work (see RT#91309) while this module is almost 20 years old. So you can expect many bugs everywhere else.

Olivier Mengué (dolmen) - 2013-12-10T13:05:16 (permalink)

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

mem (0.3.3) *

This module is useless.

The problem the author was trying to solve can be solved easily:
- "use mem" with arguments part: use BEGIN { } blocks
- "use mem;": set the %INC entry explicitely (or use me::inlined)

Olivier Mengué (dolmen) - 2013-11-15T05:42:53 (permalink)

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

The-synthesizer (0.0201) *

Besides being useless, it is not much portable: only Windows, Mac OS X and Linux are supported.

Olivier Mengué (dolmen) - 2013-10-03T08:46:26 (permalink)

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

Term-Detect (0.08) *

Term::Detect tries to detect settings of the terminal by looking for known process names in the process tree (and the non portable pstree command is used for that). This is flawed and against the Unix way of handling terminals:
- this will not work when the process runs on a remote server (through SSH)
- this will not work properly when the process is launched from a terminal multiplexer (screen, tmux)

The proper way is instead to base detection on $ENV{TERM} and the terminfo database. So, see instead Term::Terminfo and Term::Encoding.

Olivier Mengué (dolmen) - 2013-09-26T13:13:50 (permalink)

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

Module-Build-Prereq (0.01) *

Very naïve implementation with a confusing name.
See instead Perl::PrereqScanner.

Olivier Mengué (dolmen) - 2013-09-19T04:47:46 (permalink)

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

Git-Demo (0.02) *

Inexistent documentation.

Olivier Mengué (dolmen) - 2013-08-09T05:10:42 (permalink)

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

BTRIEVE-SAVE (0.35) *

This distribution uses a non-standard build tool on Win32.

Olivier Mengué (dolmen) - 2013-07-31T07:04:12 (permalink)

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

Tree-Persist (1.02) *

Persistence formats are not pluggable. Tree::Persist::File::XML and Tree::Persist::DB::SelfReferential are hard-coded.

Olivier Mengué (dolmen) - 2013-02-15T04:24:33 (permalink)

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

IP-China (0.02) *

This module is very specific to China while the approach could be more generic.

And the build script (to rebuild the module from an updated GeoIP) is not bundled, so if you use this module you rely entirely on its maintainer to provide updates. And controlling the content (the IP blocks) is hard.

Olivier Mengué (dolmen) - 2013-02-11T05:41:28 (permalink)

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

JSON-RPC2 (0.1.1) *****

At least someone who understood the power of JSON::RPC 2!
This implementation fixes the major flaw of almost all JSON::RPC implementations: it separates the transport layer.
And so it works well inside event loops such as AnyEvent.

Olivier Mengué (dolmen) - 2013-01-09T06:59:11 (permalink)

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

App-gh (0.63) *

Despite the 'Changes' file that says for 0.60 that Net::Github::V3 is supported, that does not seem to be the case: after fixing a first obvious bug in the "list" command, "gh list dolmen" just says "v2 API is deprecated from github".

So it doesn't work.

It also lacks POD for the "gh" command.

Olivier Mengué (dolmen) - 2012-10-16T22:30:11 (permalink)

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

App-GitHub (1.0.1) *

Seems powerful, but the documentation is almost inexistent. I've not been able to figure out how to even list my repos.

It also doesn't use an OAuth token for authentication.

Olivier Mengué (dolmen) - 2012-10-16T22:26:06 (permalink)

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

Devel-Modlist (0.801) ****

Good one.
See also Devel::TraceUse that reports information as a loading tree and can work with "perl -c".

Olivier Mengué (dolmen) - 2012-09-24T01:52:45 (permalink)

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

AnyEvent-MPRPC (0.15) ***

This distribution includes the AnyEvent::MessagePack module that would desserve to have its own distribution.
This review is only about AnyEvent::MessagePack.

AnyEvent::MessagePack combined to its underlying engine Data::MessagePack::Stream has currently major design issues that makes it not a 100% clean AnyEvent read_type: it will eat all the data it receives and pass it to Data::MessagePack::Stream, even if not all data is MessagePack. So if your stream combines both MessagePack and other data types (JSON, Storable) at the raw level, don't expect it to work correctly. As Data::MessagePack::Stream 0.07 doesn't have an API to give back the data it didn't consume, this is not fixable.

Also bug #74518 makes it quite unreliable.

Olivier Mengué (dolmen) - 2012-07-26T08:26:01 (permalink)

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

Devel-Dependencies (1.00)

Similar in function to Devel::TraceUse.

See a review of related modules by Neil Bowers at neilb.org/reviews/dependencies.html

Olivier Mengué (dolmen) - 2012-07-18T04:57:13 (permalink)

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

Nothing-Tiny (1) *

Claims to be Tiny, but fails due to "use strict; use warnings;" that also make it not portable on anything older than perl 5.6.

Also, as a distribution using Module::Install, it is definitely not "tiny" and waste space on CPAN mirrors.

Olivier Mengué (dolmen) - 2012-07-17T05:05:05 (permalink)

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

Template-Mustache (v0.5.1) **

Documentation is awful. No SYNOPTIC, no examples at all.
So can't tell about interface and the code quality.

Olivier Mengué (dolmen) - 2012-05-30T07:40:26 (permalink)

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

Dist-Zilla-Plugin-EOLTests (0.02) **

This module has been forked into Dist::Zilla::Plugin::Tests::EOL that has some fixes.

Olivier Mengué (dolmen) - 2012-05-04T12:52:07 (permalink)

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

Dist-Zilla-Plugin-GitHub (0.19) **

This is only a review of DZP::GitHub::Meta

GitHub::Meta accesses the GitHub API to query the meta values. So it needs a network access and your GitHub credentials. Also the repo must be set manually in dist.ini.

In contrast Dist::Zilla::Plugin::GithubMeta works only locally by looking at your git remotes. It also has more settings.

So if you just want to set metadata then use instead Dist::Zilla::Plugin::GithubMeta.

Olivier Mengué (dolmen) - 2012-04-17T06:26:17 (permalink)

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

Win32-Codepage (1.00) *

This module is misleading in its name and documentation: it mixes "code pages" (which are called "encodings" in the Perl world) with "language identifiers" and "locale identifiers".

More information about what code pages (as defined in the Win32 world) are: msdn.microsoft.com/en-us/library/wind...

Language identifiers: msdn.microsoft.com/en-us/library/wind...
Locale identifiers: msdn.microsoft.com/en-us/library/wind...

Also for the implementation, the module uses the registry which is not a official way of retrieving the information.

And last, it has no method to retrieve the OEM code page.

So see instead Win32::CodePage::Simple.

Olivier Mengué (dolmen) - 2012-04-05T10:18:11 (permalink)

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

Array-Utils (0.5) ***

Despite the generic name, this is not a generic implementation of array manipulation because all values are stringified when processed.
So this module should only be used for arrays of strings.
See RT#75835 for details. rt.cpan.org/Ticket/Display.html?id=75835
See List::MoreUtils as an alternative.

Olivier Mengué (dolmen) - 2012-03-17T01:40:32 (permalink)

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

ASPerl (0.01) *

No documentation.
Uses a top level namespace, but for what reason?

Olivier Mengué (dolmen) - 2011-12-05T09:36:01 (permalink)

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

Bundle-Everything (0.06) *

Version 0.06 added documentation about what "Everything" means.
Anyway, it is still useless.

Olivier Mengué (dolmen) - 2011-11-19T03:33:59 (permalink)

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

Perl-Tags (0.28) *

I wanted a module to generate a tags file for my project.

But the POD documentation of this module is awful, and so I've not been able to successfully use it. It seems also outdated as the distribution contains an undocumented Perl::Tags::PPI.
The README contains some additional web links not in the POD, but that's is not where I expect to find how to use the module.

Even a quick look at the code did not helped me. I gave up.

Olivier Mengué (dolmen) - 2011-08-31T01:14:43 (permalink)

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

Sys-Sysconf (0.03) *

sysconf() is in the POSIX module which is in the Perl core.
This only use for this distribution is to extract sysconf constants from /usr/include/sys/unistd.h that may not be exported in the POSIX module.
If your Perl has been packaged by your operating system vendor you probably don't need it.

Olivier Mengué (dolmen) - 2011-05-18T00:27:41 (permalink)

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

pmtools (1.10) ***

Good tools, but the distribution needs an important update to be installable by CPAN tools as it does not follows the usual conventions and lacks META.yml.
It is packaged for Debian though.

Olivier Mengué (dolmen) - 2011-05-07T04:32:32 (permalink)

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

setenv (0.03) *****

Great module to change environment when running a Perl script on Win32:

Unix:

FOO=123 perl -e "print qq'$ENV{FOO}\n'"

FOO=123 ./myscript.pl
Win32:

perl -Msetenv=FOO,123 -e "print qq'$ENV{FOO}\n'"

perl -Msetenv=FOO,123 myscript.pl

Olivier Mengué (dolmen) - 2011-03-23T04:33:18 (permalink)

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

POE-Component-Schedule (0.94)

Test coverage: 92.1%

Olivier Mengué (dolmen) - 2010-03-13T17:49:31 (permalink)

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

POE-Component-Cron (0.021) ***

Since release 0.021 this module is based on POE::Component::Schedule for the scheduling as this where I have extracted the core. So if you don't need the cron string parsing, that's the module to use.

Olivier Mengué (dolmen) - 2010-03-13T05:05:07 (permalink)

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

Regexp-Common-Email-Address (1.01) *

The only problem of this module is that it probably doesn't do what you expect if you just want to validate user input: it accepts much more than just "mailbox@domain", including spaces... See opened bugs.

Olivier Mengué (dolmen) - 2010-03-13T04:42:55 (permalink)

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

Data-Recursive-Encode (0.03) *****

Exactly the module I needed, with a name that matched my search request on CPAN.

This is the module to use when you have to clean dirty data.

In my case I could not use PerlIO to directly load UTF-8 text from a file because I had to process the data through a regexp and my Perl has a bug in the Regexp engine. As a workaround I load text as binary, parse it with Regexp::Grammars, and feed the result tree to Data::Recursive::Encode.
(For details of the Perl bug, see rt.cpan.org/Public/Bug/Display.html?i... )

Olivier Mengué (dolmen) - 2010-03-13T04:36:18 (permalink)

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

POE-Wheel-Run-Win32 (0.18) ****

POE::Wheel::Run::Win32 has now been merged into POE::Wheel::Run since 0.18 (POE 1.280) so this module is now useless (only provided for compatibility).

Olivier Mengué (dolmen) - 2009-10-28T09:17:22 (permalink)

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

Win32-Scheduler (v20000702) *

Documentation is missing and, worse, is the documentation for another module.

Olivier Mengué (dolmen) - 2009-10-02T16:15:25 (permalink)

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

POE (1.268) *****

POE is THE module you must use for event programming.
The code is of great quality with an extended test suite, and it works on all platforms I have access to (Linux, Win32, HP-UX).
The support is of first class quality: bugs are quickly fixed and new release occur often.
Many plugins are available to handle any kind of events you may imagine.

Olivier Mengué (dolmen) - 2009-09-17T09:27:48 (permalink)

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

makepatch (2.03) *

Very useful on unix-like systems.
Too bad it has many problems with end-of-line handling so it does not work on Win32 because the checksum feature is too strict.

Olivier Mengué (dolmen) - 2009-04-28T08:51:46 (permalink)

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