Reviews by Zoffix Znet

cpanratings
 

RSS

Orignal (0.03) *

First, I'm not even sure what this is doing on CPAN in the first place. There is Class::Accessor::Grouped, Moose, and Moo that do the same things in a saner fashion—and that's just off the top of my head; I'm sure there are dozens more.

The code is baffling: a ton of string evals and you can sell those backslashes by the pound.

The interface is questionable: the hashref/arrayref values have a handful of methods that supposedly re-implement what perl can already do and I would argue that any object that would actually require all those methods doesn't encapsulate its data properly.

And finally, my biggest gripe is the name of the distro. It's completely undescriptive and meaningless. It looks like a typo in your code. Perhaps, the author found it creative, amusing, and cute, but in reality it's nothing but top-level namespace pollution that will make searches difficult and anyone who actually uses this code will give nightmares to maintainers.

If I could give this a negative rating, I would.

Zoffix Znet - 2014-03-21T19:41:12 (permalink)

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

Bundle-dualLived (1.05) *

A dangerous module, as I've learned the hard way today.

After installing it with perl 5.14.2, my perldoc essentially broke, displaying "ESC[blah" type of stuff everywhere that used to be in bold font.

Luckily, I was using local::lib and deleting the local user version of Pod::Perldoc fixed the issue. However, to be on the safe side, I nuked all the locally-installed modules (can't be arsed to fish out just the core ones), and right now I'm reinstalling all the modules that I usually use.

Are there more sinister issues introduced by updating other core modules?

Who knows...

Learn from my fail. Avoid this module.

Zoffix Znet - 2014-03-08T18:35:49 (permalink)

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

REST-Google (1.0.8) **

He's dead, Jim!

* The installation fails with "got 403" in t/05_translate.t.
* RT query shows 4-year-old bugs
* Author inactive for at least the last 2 years
* Documentation is non-existent: synopsis mensions ->pages and ->cursor, but the POD has no explanation for what those mean

Despite all that, I actually managed to piece together something I could use for a small script (so the module seems to still be working).

Seeing the current state of the module, I would NOT use this for production code.

Zoffix Znet - 2014-02-03T06:36:16 (permalink)

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

Test-Kwalitee-Extra (v0.2.0) ***

It's nice to be able to test all the extra Kwalitee metrics with this dist, but what is really annoying is the test frequently freezes (I'm unsure whether it just hangs or whether it's trying to access some online resource that isn't responding).

I had to disable this test (in Dist::Zilla's dist.ini) in about 40% of dists where I used it and at this point I'm debating going back to plain Test::Kwalitee

Zoffix Znet - 2014-02-02T18:43:22 (permalink)

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

Test-Deep (0.112) ****

Great module that allowed me to thoroughly test a bunch of very large structures.

My only disappointment is the documentation: it currently (v0.112) doesn't mention some of the available functions. One of such is hash_each() and I spent an hour or more searching for the solution without keys()... At the end, I've decided to try to implement it myself, when I spotted it already made in the source.

Other than that, this module is gold!

Zoffix Znet - 2013-12-26T02:23:02 (permalink)

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

Search-Indexer (0.77) *****

Great module that I've used many times so far. Performance is decent too.

I have barely scratched the surface of the functionality: the module assignes relevance scores to each found document and provides the regex for the matching term so you could highlight matching text in your document.

The module also provides search patterns to make the search more specific; for example you can search for "word1 AND (word2 OR word3) AND NOT word4"

Reviewer ديم الخمير wrote about a problem in this module in his/her review, however he/she was simply not using a method correctly.

Zoffix Znet - 2013-12-03T12:36:07 (permalink)

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

WWW-Alexa-API (0.03) *

This is the review of version 0.05

Overall, there is no need for this module.

There's already WWW::Alexa::TrafficRank that is maintained, provides more features, and has a higher Kwalitee rank and tests that actually pass.

My attempt to see whether this module actually worked had issues, as prerequsites (such as XML::Hash::LX) didn't want to install without XML C libraries, and even once I got those installed, this module failed to install due to failing POD tests.

The documentation doesn't say anything about the structure of the hashref returned from the get() method, and even after dumping it with Data::Dumper, I'm quite uncertain about the meaning of all the various keys in it.

This is the author's first distro on CPAN, so any misgivings are of course, understandable, but as far as the module itself goes, WWW::Alexa::TrafficRank is a better alternative.

Zoffix Znet - 2013-12-02T19:08:51 (permalink)

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

Number-Range (0.10) *****

I was able to accomplish my task 10 minutes after I encountered this module on MetaCPAN.

It takes in ranges of numbers and allows you to manipulate the data. My only issue with the module is restricted acceptable format. To specify a range you use ".." and "-" is not allowed ("-" is what my input from the user was going to be). The other issue is that the module allows separation of numbers either with a comma or a space, but it's an error to use a space right after a comma (e.g. "10, 20").

The module dies with an error message if an incorrect range is specificed.

Zoffix Znet - 2013-11-14T12:47:26 (permalink)

Was this review helpful to you?  Yes No

App-ZofCMS (0.0224)

Author Review:
=============

I've been using App::ZofCMS on personal and work sites for about half a decade now.

It works well for sites where individual pages don't offer too much functionality. It's fine if the functionality is spread over several pages: the largest app I wrote with ZofCMS is over 100,000 lines of code written in 132 pages.

Several plugins—ImageGallery, HTMLMailer, QuickNote, UserLogin and it's companion plugins—turn a semi-ardious coding task into simply setting a few parameters and copy/pasting a few lines of code from the docs.

Very easy to deploy on limited hosts where you can't SSH or install modules.

Notable problems:
----------------
-- Current plugin system is very poorly designed in regard to running the same plugin several times on the same page. On some complex pages I found myself going all over the template trying to figure out what the code does. To work around this, I either split functionality across several pages, or code a separate module that I then use in the ZofCMS Template.

-- Many plugins try to be overly flexbile and overly configurable. This clutters up their documentation and makes it more difficult to remember what format of configuration to use, so unless you're comfortable with the plugin already, it can be annoying trying to read all those docs.

-- The framework uses HTML::Template for templates, and I always find my templates looking like a giant mess. The template variables blend in with HTML code and become hard to spot. Lack of switch{} statement (or if / elsif /else) can clutter up your template quickly with nested ifs. Global ZofCMS Template variables (or the ones in {t} special key) are not present in HTML::Template loops, which can be really annoying when you're trying to set one global variable and end up stuffing it into loops in your code over a dozen pages.

-- No effort has been made to benchmark the performance of this framework. The most oft-visited site on ZofCMS that I have gets about 10,000 visits a month and is located on a shared server where I can't even run cpan due to memory constrains. So far no trouble, but would the same hold true for 20,000 visits? 50,000? I have no idea.

Zoffix Znet - 2013-10-29T12:42:48 (permalink)

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

PDF (111) *

Doesn't work at all, despite successful installation.

Docs virtually don't exist... well, and 7-year-old bugs show how much the author cares.

Zoffix Znet - 2012-06-21T09:47:45 (permalink)

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

perl-vgalib (0.4)

Even though, the cause is likely to be my own dumb fault, installing this module "exploded" my box.

While installing within X, my box stopped responding during EVGA tests. I hard rebooted it, and to my surprise the X config file was all messed up (I am NOT implying that this is module's fault).

The second attempt at installing I did outside of X, and that session froze too.

I would advise caution when running tests for this module.

Zoffix Znet - 2010-12-31T16:27:48 (permalink)

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

Date-Manip (6.42) ****

It's a great module and it does what it is advertised.

However, it's rare that my task requires the use of this module, and for that reason, I always find myself referring to the documention; that part always makes me utterly annoyed. I always find myself scrolling back and forth trying to remember what routine(s) I used to use in the past.

To the author I would suggest using more =head elements in the pod - even for every method/function and even arguments. This way one, who probably used the module in the past, can just glance at the Table of Contents and go "Aha! these two are the ones I used before!".

Zoffix Znet - 2009-09-28T06:58:01 (permalink)

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

File-Size (0.06) ****

Not sure what "UNAUTHORIZED RELEASE" means; I couldn't install the module via cpan File::Size. However, module does what it is ment to do and does it fast. Documentation could be improved a bit as I had to run test codes to figure out what exactly some methods return, other than that I like this module.

Zoffix Znet - 2008-09-15T02:43:53 (permalink)

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

POE-Component-Proxy-TCP (1.2) *

With version being 1.2 I was expecting the module to be stable or at least workable. The example provided in the documentation (which is only half-written) errored out on the module's code.. after fixing the error and fixing two more errors that followed I gave up on the module.

When installing test freezes... not a single "PASS" with CPAN testers. Question is, why would you release a module with partial documentation and the one that doesn't even work is a mistery to me.

If you have some beta work and would like other people to contribute at least mention that fact in documentation and don't release it under the version number which is commonly understood as meaning "mature" release.

Thank you for your time.

Zoffix Znet - 2008-09-03T17:11:16 (permalink)

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

Syntax-Highlight-HTML (0.04) *****

Excellent module. Simple, "press button - receive bacon", interface which works as advertised.

I use it to display code examples on my tutorials, haven't seen it misbihave. You can highlight in different colors: doctypes, comments, tag delimiting angled brackets, tag names, attribute names, attribute values and even HTML entities.

By giving the constructor one short argument you can turn on line numbers for which there is also a separate highlighting color.

A note of caution, if you are going to use the CSS code conveniently provided to you in eg/html-syntax.css make sure to set background colors or make sure they are shown properly from parent elements. I've ran into so many pages that set only the color and on my "dark" system theme colors show up as "gray on gray" ^_^

Excellent work on the part of the author. I give this module 5 stars

Zoffix Znet - 2008-08-04T07:18:32 (permalink)

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

POE-Component-IRC-Plugin-BasePoCoWrap (0.004)

As the author of this module I won't give it any ratings to play the game fair.

Personally, I found this module useful on many, many occasions. The module allows you to take some POE::Component::*, which in my case were the non-blocking wrappers aroung goodies, and quickly make a fully functionaly and configurable POE::Component::IRC::Plugin::* and ... plug it. The module automatically provides functionality for specifying triggers for commands coming from each of public, privmsg and notice message types, to which of those messages the plugin will respond as well as who is banned or in reverse, who is allowed to use the plugin.

If your plugin needs some extra arguments with some defaults,
adding those is a snap. Want it to not say anything but instead just send events - done deal.

You can dynamically change any of the arguments passed to the constructor at any time, even though that involves poking directly into the object, but that's advertised, thus I don't see it as a big problem. Want to ban someone one the fly? push @{ $plugin->{bans} },
qr/^somedude\@\d+[.]/i; done

After releasing perhaps more than 10 plugins based on this module I completely felt in love with it. The "DOCUMENTATION FOR YOUR PLUGIN" section incourages lazy people (like me) to provide decent documentation to their work.

Thanks for your time.

Zoffix Znet - 2008-08-04T05:59:47 (permalink)

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

WWW-Cache-Google (0.04) ****

Simple little module, works almost as advertised despite the bug. Until the bug is fixed the fetch() method is useless as google blocks LWP::Simple's default UA string. The module could be improved by switching to LWP::UserAgent and providing a decent error message. The check for whether or not the fetch()ed page actually exists in Google cache (which turned out to be quite easy to do) would be a very nice addition.

Thanks.

Zoffix Znet - 2008-08-03T19:58:12 (permalink)

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

XML-Simple (2.18) *****

Despite the previous comment I rate this distro to max.. it does what it was made for.. haven't failed me so far. I like the "press button - receive bacon" interface. As for "sometimes hashes - sometimes arrayrefs" this can be configured. Read the documentation.

Zoffix Znet - 2008-08-03T19:44:38 (permalink)

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

WWW-Google-Video (0.4) **

The module doesn't do any error checking when using get() from LWP::Simple which causes warnings to be printed due to subsequent regex matches done on (undefined due to error) variable. Maybe it's just me, but I dislike the fact that you have to poke around in object's hash keys in order to obtain results of a fetch(), why not *return* a list, hash(ref) instead? That would easily allow implementation of error mechanizm. Not sure why "url to FLV" gets its "+" characters changed to plain spaces and not just left as they are, or at least changed to %20. Makes it pain to paste those URIs to say, IRC.

I question readability of ${$_[0]} throught the code as well.

Overall, I would say that if an author would put an extra five minutes of his time into this module it could be a decent piece of software.

Thanks.

Zoffix Znet - 2008-08-03T02:17:58 (permalink)

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

POE-Component-IRC (5.40) *****

A bit hard to start up with, but after a while you get a hang of it and start IRC Bots Co. Ltd. :D

BingOS++ for great work

Zoffix Znet - 2007-12-29T20:54:24 (permalink)

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