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<PerlX::Maybe>

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

A nice syntax addition for avoiding passing or writing a bunch of undefs. More convenient to write than using ternary operator or grep. I'm beginning to adore syntax modules like this (as long as it adds negligible overhead).
<br><br>


=item L<File::Path::Tiny>

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

I like the concept, but do not like the overly short names mk() and rm(). Instead of mk(), how about mkdir_p() or mkpath() like in File::Path. Instead of rm(), how about rm_r() or rmtree() like in File::Path.
<br>


Rating: 6/10

=item L<Exporter::Lite>

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

2011-10-04: I am now using Exporter::Lite exclusively instead of Exporter. Got bit once by Exporter when using for an OO module due to clash of assigning to @ISA vs 'use base'. +1 for putting it into core.
<br><br>EDIT 2012-08-08: Nowadays I revert back to Exporter most of the time because Exporter is core. To avoid @ISA issue, one simply needs to import import() instead setting @ISA:
<br><br>use Exporter qw(import);
<br>


=item L<YAML::Syck>

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

To be fair, in my experience YAML::Syck is not &quot;much more buggy&quot; than ::XS. It even sometimes works with my YAML data while ::XS crashes. Go figure.


=item L<Devel::FindPerl>

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

IMO the module should explain in the POD, in what cases using $^X is not enough or how it is different from Probe::Perl.
<br><br>Anyway, quoting CPAN Testers' CPAN Authors FAQ, $^X is not enough when:
<br>
1) perl was executed with a relative path and the script has chdir()ed; 2) because $^X originates in C's argv[0] (in the main() function) it is possible for the calling program to exec() in such a way that argv[0] isn't the path to the interpreter; 3...


=item L<Taint::Util>

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

IMO this is the best module to deal with tainting. BTW there are several other modules like Taint (only provides taint + tainted, no untaint), Untaint (only provides untaint with awkward interface, like $v = untaint(qr/.../, $v)), Scalar::Util (only ...


=item L<Markdown::Pod>

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

I use Markdown::Pod for my module Perinci::To::POD.
<br><br>This module does not output proper POD for many (not so) edge cases, like:
<br><br>C<&gt;> and the likes are not yet escaped, producing C&lt;&gt;&gt; when it should have been C&lt;&lt; &gt; &gt;&gt; or C&lt;E&lt;gt&gt;&gt;.
<br><br>Ordered list numbering does not yet work, e.g. &quot;2. ...\n3. ...\n&quot; produces &quot;=item 1. ... =item 1. ...&quot;
<br><br>Ordered list with item numbered other than 1 does not work (see above). This should be supported in POD because POD allows us to write the bullets/numbers for each item.
<br><br>Inline markup is not smart enough to differentiate word_with_underscore. So &quot;foo_bar and foo_baz&quot; becomes &quot;fooI&lt;bar and foo&gt;baz&quot;.
<br><br>Plus it segfaults sometimes (might be my perl though).


Rating: 4/10

=item L<Lingua::Metadata>

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

As previous reviewer noted, this module is actually just a front-end to the author's web service. Plus license is specifically BSD (which allows this module to be included in closed source projects), this is rather ironic to me.
<br>


=item L<Finance::Currency::Convert::WebserviceX>

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

Simple, no-fuss interface, recommended. As mentioned in the doc, the alternatives have some downsides: Finance::Currency::Convert::Yahoo is based on web scraping while ::XE has usage limits.
<br>


=item L<Carp::Always::Color>

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

Like Carp::Always? Want something better? Here it is.
<br>


=item L<CHI>

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

The DBI of caching. Stop reinventing your caching framework and just use this.
<br><br>UPDATE 2013-01-16: unfortunately, the use of Moose reduces the usefulness of CHI for command-line scripts (0.2s/146 files/53k lines startup overhead just to initialize a File cache). So 4 stars instead of 5. Let's hope the author migrates to ...
<br>


Rating: 8/10

=item L<Monkey::Patch>

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

Compared to several other monkey-patching modules (like Sub::Monkey or Class::Monkey) I prefer this one because the interface is simplest and the documentation is the most straightforward. Plus it can do stacked patching and unordered restore, which ...
<br><br>


=item L<Log::AutoDump>

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

This module is simple and to the point. Unfortunately, if you're a user of Log4perl or other logging framework, you'll have to switch just for a single feature (autodumping).
<br><br>An alternative is to use Log::Any, which also features autodumping (via $log-&gt;debugf(&quot;%s&quot;, $complex), $log-&gt;warnf(), and friends), while still allowing you to use Log4perl and other frameworks supported by Log::Any.
<br><br>


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

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.


Rating: 8/10

=item L<Log::Log4perl::Tiny>

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

5 stars solely for the idea (I'm beginning to love the ::Tiny movement more and more these days). Haven't actually tried it though, but I bet many Log4perl users, me included, mostly only use easy_init. As much as Log4perl is mature and fairly optimi...


=item L<SHARYANTO::YAML::Any>

Re: Blue. I guess I shouldn't release this. I need something quick to fix our application, so this is not really something meant for public use. Will be purging this from PAUSE.
<br>


=item L<SQL::Easy>

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

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

<br><br>First of all, Date::Manip has a long history. I used this module back in 2001-2002, IIRC. Back then it was I<the> swiss army of date/time manipulation, something you use when you want the most flexible/complete thing in Perl. True, it's slow,...
<br><br>But then things change. DateTime project was started, and now it is somewhat the de facto standard. It's more modern and far more modular than the monolithic Date::Manip (every timezone and language support and parsing/formatting modules ship...
<br><br>And then there's the 5.x -&gt; 6.x debacle. As someone who also sprinkle Perl 5.10 requirements to his CPAN modules, I can feel for the author. But the difference is, most of my modules are not that widely used/known, and also many start its ...
<br><br>All in all, you are free to use or not use Date::Manip. There are other alternatives. Pick wisely.
<br>


Rating: 6/10

=item L<App::pmuninstall>

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

One would wonder why CPAN clients still don't have this crucial feature Though you see Miyagawa listed in the Credits so maybe cpanminus or its sister will end up having this functionality? One can only hope. At 0.06, some things are not working flaw...
<br><br>


=item L<App::lntree>

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

I guess this app is still useful, since &quot;cp -sR&quot; still doesn't work as many would expect, and there are Windows users out there (yes, newer NTFS does support symlinks; though I don't know whether this module supports creating symlinks on NT...
<br><br>A minor comment would be on the name, maybe lnstree can be considered instead (since &quot;ln&quot; indicates hardlink, at least for me). Btw, there's also a free software called &quot;lns&quot; to do the exact same thing.
<br><br>


=item L<Data::Clone>

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

I've never encountered difficulty in cloning data structures in Perl, usually I just use Clone or sometimes Storable's freeze + thaw (the later does not yet support cloning Regexp objects out of the box).
<br><br>However, I like Data::Clone for its speed! It's several times faster than Clone or freeze+thaw. So hats up. Planning to use Data::Clone in future projects.
<br><br>Now if we can convince Goro to write a fast serializer/deserializer with compact output (essentially, a faster version of Storable), that would be even nicer :-)
<br><br>


=item L<Data::Pond>

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

With due respect to the author, I fail to see the practical point of Pond. Pond (Perl-based open notation for data) is the Perl counterpart of JSON, except that implementation is currently only available in Perl (CMIIW), and &quot;Pond represents few...
<br><br>Pond is pitched against Data::Dumper + eval, which is dangerous, but Data::Dumper + eval is by far not the only method available for serialization. Perl can do Storable, JSON, YAML, even PHP serialization format.
<br><br>The documentation does not show what Pond looks like.
<br><br>One cute thing about Pond is that you can check Pond syntax using a single regex. But apart from that, there's nothing compelling in using Pond to serialize data.


Rating: 4/10

=item L<File::Which>

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

You can always count on CPAN to have prewritten modules for various things, including this one. I've never bothered before about portability and just rely on the &quot;which&quot; command, but for one reason there's a time when I just couldn't do tha...
<br><br>Btw, there's also File::Which::Cached.


=item L<String::ShellQuote>

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

I admit it. Ever since I know about escapeshellarg() and escapeshellcmd() in PHP, I've been reimplementing this function in Perl  literally a million of times (mostly because of laziness and because it only takes a couple of lines in Perl). Only a fe...
<br><br>The only problem for this module is lack of visibility. Before I've never read articles or blog posts mentioning this module, ever. Yes, we have system() that can bypass the shell, but qx() can't. So yes, this module needs to be marketed more...
<br>


=item L<Capture::Tiny>

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

Another very handy little module that takes the hassle out of figuring the various mechanisms of capturing output.
<br><br>Nice interface, great documentation, very easy to use. But....
<br><br>Currently it cannot just capture stdout I<ONLY> or stderr I<ONLY> (while leaving the other alone). I believe this is one of the most commonly requested feature (already in RT). If that feature is implemented, this module deservers a 7-star ra...


Rating: 8/10

=item L<File::chdir>

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

This is a handy little module, with a simple and nice interface. One of the more common bugs encountered in my scripts is forgetting to track the current working directory after doing chdir() in subroutines. By localizing $CWD, I don't have to worry ...


=back

=head1 FAQ

=head2 What is an Acme::CPANModules::* module?

An Acme::CPANModules::* module, like this module, contains just a list of module
names that share a common characteristics. It is a way to categorize modules and
document CPAN. See L<Acme::CPANModules> for more details.

=head2 What are ways to use this Acme::CPANModules module?

Aside from reading this Acme::CPANModules module's POD documentation, you can
install all the listed modules (entries) using L<cpanm-cpanmodules> script (from
L<App::cpanm::cpanmodules> distribution):

 % cpanm-cpanmodules -n Import::CPANRatings::User::stevenharyanto

Alternatively you can use the L<cpanmodules> CLI (from L<App::cpanmodules>
distribution):

    % cpanmodules ls-entries Import::CPANRatings::User::stevenharyanto | cpanm -n

or L<Acme::CM::Get>:

    % perl -MAcme::CM::Get=Import::CPANRatings::User::stevenharyanto -E'say $_->{module} for @{ $LIST->{entries} }' | cpanm -n

or directly:

    % perl -MAcme::CPANModules::Import::CPANRatings::User::stevenharyanto -E'say $_->{module} for @{ $Acme::CPANModules::Import::CPANRatings::User::stevenharyanto::LIST->{entries} }' | cpanm -n

This Acme::CPANModules module also helps L<lcpan> produce a more meaningful
result for C<lcpan related-mods> command when it comes to finding related
modules for the modules listed in this Acme::CPANModules module.
See L<App::lcpan::Cmd::related_mods> for more details on how "related modules"
are found.

=head1 HOMEPAGE



( run in 5.102 seconds using v1.01-cache-2.11-cpan-364913b4093 )