Acme-CPANModules-Import-CPANRatings-User-stevenharyanto

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

package Acme::CPANModules::Import::CPANRatings::User::stevenharyanto;

use strict;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2023-10-29'; # DATE
our $DIST = 'Acme-CPANModules-Import-CPANRatings-User-stevenharyanto'; # DIST
our $VERSION = '0.002'; # VERSION

our $LIST = {description=>"This list is generated by scraping CPANRatings (cpanratings.perl.org) user page.",entries=>[{description=>"\n(REMOVED)\n",module=>"Log::Any",rating=>undef},{description=>"\nProvides a thin/lightweight OO interface for \$?, ...

1;
# ABSTRACT: List of modules mentioned by CPANRatings user stevenharyanto

__END__

=pod

=encoding UTF-8

=head1 NAME

Acme::CPANModules::Import::CPANRatings::User::stevenharyanto - List of modules mentioned by CPANRatings user stevenharyanto

=head1 VERSION

This document describes version 0.002 of Acme::CPANModules::Import::CPANRatings::User::stevenharyanto (from Perl distribution Acme-CPANModules-Import-CPANRatings-User-stevenharyanto), released on 2023-10-29.

=head1 DESCRIPTION

This list is generated by scraping CPANRatings (cpanratings.perl.org) user page.

This list is generated by scraping CPANRatings (cpanratings.perl.org) user page.

=head1 ACME::CPANMODULES ENTRIES

=over

=item L<Log::Any>

Author: L<PREACTION|https://metacpan.org/author/PREACTION>

(REMOVED)


=item L<Process::Status>

Author: L<RJBS|https://metacpan.org/author/RJBS>

Provides a thin/lightweight OO interface for $?, much like what Time::Piece does for localtime()/gmtime() or File::Stat for stat(). Of course, Real(TM) programmers shift and fiddle bits by themselves, but for the rest of us this module is a nice conv...


=item L<Archive::Any>

Author: L<OALDERS|https://metacpan.org/author/OALDERS>

Nice idea, but the API needs to richer to be more useful (otherwise one will still need to go to individual Archive::Tar, Archive::Zip, etc). Currently the API provided are: listing files and extracting all files. We can't: create archive, add more f...


Rating: 8/10

=item L<Devel::Confess>

Author: L<HAARG|https://metacpan.org/author/HAARG>

Very nifty, it's like Carp::Always but with much more options/features (so you don't need a separate Carp::Always::Color, Carp::Always::Dump, and so on).


=item L<SQL::Statement>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<Time::Out>

Author: L<PATL|https://metacpan.org/author/PATL>

A wrapper around Perl's alarm()/$SIG{ALRM}, so it has the same limitations, e.g. you cannot use this to properly timeout external programs started by system()/backtick. For the latter, you might want to try IPC::Cmd (run() or run_forked()), or some s...
<br><br>


=item L<Util::Timeout>

Author: L<NOTBENH|https://metacpan.org/author/NOTBENH>

A wrapper around Perl's alarm()/$SIG{ALRM}, so it has the same limitations, e.g. you cannot use this to properly timeout external programs started by system()/backtick. For the latter, you might want to try IPC::Cmd (run() or run_forked()), or some s...
<br><br>


=item L<System::Timeout>

Author: L<CHENGANG|https://metacpan.org/author/CHENGANG>

This is a thin wrapper over IPC::Cmd's run(). I'd personally use run() directly, it's not much harder or longer to type. Plus, IPC::Cmd is a core module.
<br><br>


=item L<Module::Quote>

Author: L<TOBYINK|https://metacpan.org/author/TOBYINK>

Wouldn't a function like load_module(&quot;Math::Module&quot;)-&gt;new(42) be more obvious? Is there a specific goal for using custom quote operator (which requires Devel::Declare, and thus a C compiler to build)?
<br>


=item L<Module::Hash>

Author: L<TOBYINK|https://metacpan.org/author/TOBYINK>

Wouldn't a function like load_module(&quot;Math::Module&quot;)-&gt;new(42) be more obvious? Is there a specific goal for using a tied hash (since there is already %INC)?


=item L<Promises>

Author: L<YANICK|https://metacpan.org/author/YANICK>

5-star for its documentation.
<br>


=item L<Lingua::ITA::Numbers>

Author: L<PETAMEM|https://metacpan.org/author/PETAMEM>

Does the author care to explain the sudden influx of Lingua::&lt;3-letter-code&gt;:: modules (which look like mostly just repackaging of their corresponding Lingua::&lt;2-letter-code&gt;:: modules with no mention of purpose in the PODs)? The original...
<br><br>No Changes file. Versioning synchronized for all 3-letter modules with no indication of what version of the 2-letter-code module is used. For example, Lingua::ITA::Numbers' doc still says &quot;decimals don't work properly&quot;, while Lingua...


=item L<HTTP::Headers::Patch::DontUseStorable>

Author: L<PERLANCAR|https://metacpan.org/author/PERLANCAR>

@zaxon: I'm not sure if it's a bug with HTTP::Headers, more like a workaround for Storable. See the FAQ in the updated v0.03 for more details.
<br>


=item L<Storable>

Author: L<NWCLARK|https://metacpan.org/author/NWCLARK>

Balancing previous glowing reviews. Storable has it faults, for example historically its track record for file format backwards compatibility is poor, making programs fail when loading Storable files after the module is upgraded.
<br><br>Also, more importantly, add builtin support for Regexp object already! It's almost 2013, Regexp object has been around for, what, more than a decade? I can understand not supporting serializing filehandle or coderef, but Regexp object?


Rating: 2/10

=item L<WWW::YouTube::Download>

Author: L<OALDERS|https://metacpan.org/author/OALDERS>

Works for me too ATM. I've tried several command-line scripts (most of them Python-based, like youtube-dl, tubenick, etc). Sometimes they work, sometimes they broke. It's the nature of this kind of script. The quality comes from persistence. This mod...


=item L<Number::Zero>

From the module's POD: &quot;The number zero and undef are difficult to determine in Perl.&quot;
<br><br>Are they?
<br><br>say !defined($data) ? &quot;undef&quot; : &quot;not undef&quot;;
<br><br>say defined($data) &amp;&amp; $data==0 ? &quot;zero&quot; : &quot;not zero&quot;; # yes, warn if non-numeric
<br><br>use Scalar::Util 'looks_like_number';
<br>
say looks_like_number($data) &amp;&amp; $data==0 ? &quot;zero&quot; : &quot;not zero&quot;;
<br><br>Though I understand the need for a convenient &quot;is_zero&quot; function if you need to test for zero in a program a lot.


=item L<Syntax::SourceHighlight>

Author: L<MATLIB|https://metacpan.org/author/MATLIB>

IMO, currently the only usable (read: non-crap) code syntax highlighting library on CPAN. Cons: you'll need to install GNU Source-highlight (and its development library/header) which pulls over 100MB of packages on my Debian.
<br>


Rating: 8/10

=item L<Syntax::Highlight::Engine::Kate>

Author: L<MANWAR|https://metacpan.org/author/MANWAR>

Highlighter engine doesn't seem updated (for example, defined-or is not yet interpreted correctly by this module but already correctly by Kate itself). Does not provide default theme (must specify all colors). Seem to be very slow (takes 1.5s for a 1...
<br><br>


Rating: 2/10

=item L<Syntax::Highlight::JSON>

Author: L<MART|https://metacpan.org/author/MART>

No documentation. Combines formatting and syntax-highlighting, so you cannot preserve original formatting. Only outputs to HTML and no default &quot;theme&quot; (CSS) provided.
<br>


Rating: 2/10

=item L<Syntax::Highlight::Engine::Simple>

Author: L<AKHUETTEL|https://metacpan.org/author/AKHUETTEL>

Output looks decent. However, it currently only formats to HTML/CSS (no ANSI, LaTeX, etc). Also, it needs more languages support.
<br>


Rating: 6/10

=item L<Syntax::Highlight::Universal>

Author: L<PALANT|https://metacpan.org/author/PALANT>

Only targets (X)HTML (i.e. no alternative output like ANSI or LaTeX). Supposedly slow. But it doesn't matter because code no longer builds (last updated in 2005).


Rating: 2/10

=item L<text::highlight>

Outdated (no longer updated), poor capability (even for some simple Perl code, the output is atrocious), few languages supported. A far cry from Pygments or coderay.


Rating: 2/10

=item L<SemVer>

Author: L<DWHEELER|https://metacpan.org/author/DWHEELER>

Good for semantic versioning scheme like 1.2.3 vs 1.2.3alpha vs 1.2.3rc (1.2.3 should be the latest, not the alpha or rc). However, does not accept e.g. 1.0beta (at least three components are needed). Perhaps relax this requirement?
<br><br>Also take a look at Debian::Dpkg::Version.
<br>


=item L<Sort::Versions>

Author: L<NEILB|https://metacpan.org/author/NEILB>

Good for Perl-style versioning scheme (1.2.3) but does not work as people expect for semantic versioning scheme like 1.2.3 vs 1.2.3alpha vs 1.2.3rc (1.2.3 should be the latest, not the alpha or rc). For handling the latter case, use SemVer. Also take...


=item L<App::Countdown>

Author: L<SHLOMIF|https://metacpan.org/author/SHLOMIF>

Nice idea, though I'd probably just write a shell function for this.
<br>


Rating: 8/10

=item L<Data::Compare>

Author: L<DCANTRELL|https://metacpan.org/author/DCANTRELL>

Pros: handle hashes as well as arrays, handle nested and cyclic structure, plugins.
<br><br>Cons: No cmp-like functionality (returning -1, 0, 1), slow (even slower than Array::Compare).
<br><br>See also: Array::Compare, JSON/YAML/Storable.
<br>


Rating: 6/10

=item L<Array::Compare>

Author: L<DAVECROSS|https://metacpan.org/author/DAVECROSS>

Pros: has a perm() function to check whether the two arrays contain the same things but in different order (although you can simply just run sort() over the arrays first). Allow skipping some elements from comparison.
<br><br>Cons: no cmp-like functionality (returning -1, 0, 1), slow (for equality test, you might as well compare the json_encode() result of the arrays, which is way faster), no nested comparison. No procedural interface.
<br><br>See also: Data::Compare, JSON/YAML/Storable.


Rating: 4/10

=item L<Mozilla::Mechanize>

Author: L<SLANNING|https://metacpan.org/author/SLANNING>

No longer builds (tested on a current Debian). A pity, since drop-in replacements for WWW::Mechanize (using different backend like curl, IE, Mozilla, Chrome, etc) might be handy.
<br><br>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN

<br>


=item L<Any::Mo>

Why exclude Moo?
<br><br>Also the issue with any Any::* (or Any::*) modules is that there should be a mechanism (preferably a common one) to adjust the ordering. Sometimes I prefer Moose first, for full capability or compatibility or whatever. Sometimes I prefer Mous...
<br>


=item L<PerlX::Perform>

Author: L<TOBYINK|https://metacpan.org/author/TOBYINK>

I personally don't see much value of this syntactic sugar since Perl already allows us to express clearly. Pick one:
<br><br>for ($foo) { say $_ if defined }
<br><br>for (grep {defined} $foo) { say $_ }
<br><br>do { say $_ if defined } for $foo
<br><br>say $_ for grep {defined} $foo
<br><br>And save yourself from having to remember whether we should add a comma or not before &quot;wherever&quot;.
<br>


=item L<TOBYINK::PerlX::A>

I have nothing against bundles like this, but beware that adding 'use TOBYINK::PerlX::A' will cause Perl to load 460 files and compile +- 160k lines (takes 1s on my Core i5 machine and 8s on my Atom netbook).


=item L<WWW::Google::Images>

Just adding a note that this module is unmaintained (as expressed by the author) and has stopped working for some time. If you are looking for alternatives, try REST::Google (which includes REST::Google::Search::Images). The latter has been working O...


=item L<Acme::Damn>

Author: L<IBB|https://metacpan.org/author/IBB>

5 stars for cute metaphor (there's also Acme::Holy by the same author, but that is just another implementation of Scalar::Util's blessed()) and for prompt support from the author.
<br><br>I'm sure there exists a real use case to move this out of Acme::, however obscure that might be. Can't come up with any right now, all I can think of is reblessing, which can be handled with bless() from the start.
<br><br>UPDATE 2013-09-11: I found a real use-case for it! Cleaning up data to be sent to JSON. BTW, Data::Structure::Util also has an unbless() function, but Acme::Damn is smaller and faster. Data::Structure::Util also currently doesn't build on Win...
<br>


=item L<WWW::Parallels::Agent>

@Justin Case: The name is unfortunate, but it's already proper (WWW:: followed by website or company name). HTTP client libraries are in LWP::. But VM:: is also an apt choice.
<br>


=item L<Underscore>

I don't know why Sawyer X's review is marked as unhelpful (2 out of 8), but I agree with him. This is I<not> an Acme module, it's a port of a JavaScript library of the same name.
<br>


=item L<Locale::Geocode>

Author: L<DIZ|https://metacpan.org/author/DIZ>

Sorry to have to rate with 1 star. I don't have problem with the interface/documentation. The 1-star rating is just to warn people that the data used by this module is not up to date. And that YEARS-old bugs are not being fixed.
<br><br>At the time of this writing, this module still uses ISO 3166-2:1998 (first edition) + the newsletters (minor updates) up to 2006. When it should be updated to ISO 3166-2:2007 (second edition) + all the newsletters. For example, this module do...
<br><br>Sadly we live in a world where countries and subcountries change all the time.


Rating: 2/10

=item L<Locale::SubCountry>

Author: L<KIMRYAN|https://metacpan.org/author/KIMRYAN>

UPDATE 2012-08-30: I am not sure if the module is now fully compliant to the new ISO 2007, but bug reports are certainly being responded and resolved now. Updating rating from 1-star to 4-star. Thanks, Kim.
<br><br>2012-02-17: Review to version 1.47:
<br><br>Sorry to have to rate with 1 star. I don't have problem with the interface/documentation. The 1-star rating is just to warn people that the data used by this module is not up to date. And that months-old bugs are not being fixed.
<br><br>At the time of this writing, this module still uses ISO 3166-2:1998 (first edition) when it should be updated to ISO 3166-2:2007 (second edition) + all the newsletters (minor updates). For example, this module does not report 3 newer province...
<br><br>Sadly we live in a world where countries and subcountries change all the time.
<br><br>EDIT: Ok, so I was not being clear that I was not talking about my own bug report (posted at about the same time of this review). And bugs were certainly being resolved up to about 7 months ago.
<br>


Rating: 8/10

=item L<Data::Rmap>

Author: L<BOWMANBS|https://metacpan.org/author/BOWMANBS>

A very handy utility, sort of like s/// on your nested data structure instead of just strings. One nitpick: no coderef support. I needed to replace all coderefs inside a data structure into a string, since I want to pass it to JSON encoder. None of t...
<br><br>UPDATE 2011-12-30: The author (Brad) quickly responded to my RT ticket and added rmap_code. Upgrading from 4- to 5-star :) Regexp support is not there yet though, and I have suggested the ability to get all kinds of Perl-specific and weird ob...
<br>


=item L<Data::Properties::JSON>

Author: L<JOHND|https://metacpan.org/author/JOHND>

The abstract for this module is a bit strange. What does this have to do with 'test fixtures'? Also the documentation doesn't say much, e.g. What will happen if a hash key contains funny characters (or arrays, etc)?
<br><br>A similar module in spirit is Data::Hive. I think &quot;providing convenient chained method access to hierarchical data&quot; should be refactored out. So perhaps Data::Properties::{JSON,YAML,...} should just be a convenient shortcut for {JSO...


=item L<Exporter::Auto>

Author: L<NEILB|https://metacpan.org/author/NEILB>

I discourage module authors from exporting like this because it's simply too impolite/intrusive for module users. If the module author is lazy, there is already Exporter::NoWork which offers a few options for module users. This module, on the other h...
<br><br>Let me remind all again by quoting from Exporter's POD: &quot;Do I<not> export anything else by default without a good reason! Exports pollute the namespace of the module user.&quot;


=item L<Net::Douban>

Interface to web services should be put under WWW::I<, not Net::>


=item L<HTML::Form::XSS>

Author: L<DUMB|https://metacpan.org/author/DUMB>

Should probably be put under Test::*?


=item L<Thread::IID>

Author: L<WROG|https://metacpan.org/author/WROG>

When I saw the perlmonks thread yesterday, I thought &quot;well, someone should package it and put it on CPAN&quot;. And then someone did :) Thanks.
<br>


=item L<Test::Lite>

Author: L<BRADH|https://metacpan.org/author/BRADH>

This is just a reimplementation of Test::More. But I thank the author for writing a short description of why this module is written, how it is different from others, and suggestion of what modules users should use. There are a lot of wheels being rei...


=item L<Sub::Mage>

lib/Acme/CPANModules/Import/CPANRatings/User/stevenharyanto.pm  view on Meta::CPAN


=item L<DZ1>

Why do we need this uploaded to CPAN?


Rating: 2/10

=item L<Passwd::Unix>

Author: L<STRZELEC|https://metacpan.org/author/STRZELEC>

No tests. No detailed error status, only true/false (yes, there is a 'warnings' parameter on constructor, but this doesn't give out warnings on all operations, only some). No locking (although there is backup, but still).
<br><br>Also, some weird choices, why use bzip2 when creating backup? Or, why still require running as root (checking $() if we are allowing custom database file location?
<br><br>Between this and Unix::ConfigFile, I'm seriously considering using Unix commands instead (useradd, userdel, gpasswd, et al).
<br><br>UPDATE 2011-04-21: I created a fork of Passwd::Unix 0.52 called Passwd::Unix::Alt instead, which add some tests and modifications. Try it out if your needs are also not met by Passwd::Unix.
<br><br>UPDATE 2012-08-30: I created a new module called Unix::Passwd::File. Try it out if your needs are also not met by Passwd::Unix.


Rating: 2/10

=item L<Unix::ConfigFile>

Author: L<SSNODGRA|https://metacpan.org/author/SSNODGRA>

Outdated module that doesn't handle /etc/shadow and /etc/gshadow.


Rating: 2/10

=item L<lib::xi>

Author: L<GFUJI|https://metacpan.org/author/GFUJI>

Handy module for installing dependencies. There are previous efforts, but the arrival of cpanm makes autoinstall process less tedious, so hats off also to the creator of cpanm.
<br>


=item L<Capture::Tiny::Extended>

Author: L<MITHALDU|https://metacpan.org/author/MITHALDU>

Indispensable. Provides nice enhancement to Capture::Tiny (particularly the real-time teeing).
<br>


=item L<google_talk_bot>

Improperly packaged, improper POD formatting, bot messages hardcoded in script, and yes... idiotic license. Basically a &quot;trial&quot; script to bait users into consultation gig. CPAN is not a place for this kind of thing. Please try again.
<br>


Rating: 2/10

=item L<Clone::Any>

Author: L<EVO|https://metacpan.org/author/EVO>

Using Clone::Any nowadays is more trouble than it's worth.
<br><br>First, there are annoying incompatibilities between cloning modules. Most notably Storable, which is the default cloning module if Clone is not available, I<still> doesn't support storing Regexp objects out-of-the-box after all these years.
<br><br>Second, this module has not been updated for a long time and newer alternatives like the fast Data::Clone is not recognized.
<br><br>Right now I'm replacing all code from using Clone::Any code to Data::Clone.
<br><br>


Rating: 4/10

=item L<Array::OrdHash>

Author: L<WOWASURIN|https://metacpan.org/author/WOWASURIN>

Fun module to play with, especially for those among us infected with a bit of PHP envy (me, never!).
<br>


=item L<Bash::Completion>

Author: L<MELO|https://metacpan.org/author/MELO>

Clean code, plugin interface simple to use, but implementation needs to be improved. For example, parsing $ENV{COMP_LINE} &amp; $ENV{COMP_POINT} into @argv is done simplistically using split(/\h+/), without regard to shell's quotes/escapes. (Getopt::...
<br>


Rating: 6/10

=item L<Bash::Completion::Plugins::cpanm>

Author: L<PERLER|https://metacpan.org/author/PERLER>

Cool, except that with cpanm I often install local distribution (cpanm Foo-Bar-1.23.tar.gz). Perhaps the completion can look in the filesystem first before firing API request. Also, might be nice if there is some caching because it seems to be slow (...
<br>


Rating: 8/10

=item L<Switch>

Author: L<CHORNY|https://metacpan.org/author/CHORNY>

With all due respect to the author, Switch is no longer necessary in 5.10+ as 5.10+ already introduced smart matching and given(). given() is superior because it doesn't introduce compile-time overhead, doesn't mess line numbers, and should be faster...
<br><br>You have been using 5.10+, right? (Since 5.8 is no longer officially supported)
<br>


=item L<Moo>

Author: L<HAARG|https://metacpan.org/author/HAARG>

Last week I ported an application from Mouse (Any::Moose) to Moo. Went without a hitch (well I did replace &quot;with 'X', 'Y', 'Z';&quot; to &quot;with 'X'; with 'Y'; with 'Z';&quot; as instructed in the Moo documentation). Startup time decreased si...
<br>


=item L<Sub::StopCalls>

Author: L<RUZ|https://metacpan.org/author/RUZ>

Cool idea, if a bit extreme.
<br><br>If computing a value is expensive, there's Memoize for the caller. On the callee side, you can cache the result (there's state variable in 5.10+ so it's dead simple to use).
<br><br>So I believe Sub::StopCalls is only necessary if you find the overhead of the sub call itself to be a bottleneck. And if that is the case, perhaps you should refactor the calling code anyway.




( run in 2.191 seconds using v1.01-cache-2.11-cpan-b16cb0d3907 )