RSS

0 out of 4 found this review helpful:

Geo-Point (0.93) ****

--- 2011-02-27 ---

Please ensure you update to version 0.93 to get area method to work correctly under UTM projection!

A working Geo::Line (Closed Ring) example...

perl -e '
use Geo::Point 0.93; use Geo::Line; #auto closes ring
printf "Area: %s (m^2)\n", Geo::Line->ring(points=>[[-77=>39],[-78=>39],[-78,38],[-77,38]], proj=>"wgs84")->in("utm")->area;
'

--- 2010-05-17 ---

Potential for a very powerful capability but documentation is limiting.

A working Geo::Point example...

perl -e '
use Geo::Point 0.93;
use Geo::Proj;
my $p=Geo::Point->longlat(qw{-77.03622 38.893631}, "wgs84");
my $epsg=26985; #SPCS83 Maryland zone (meters)
Geo::Proj->new(nick=>"md", proj4=>[init=>"epsg:$epsg"]);
printf "Point: %s\n", $p->in("md");
'

Michael R. Davis - 2012-03-05T09:01:58

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

Apache-DBI (1.11) **

I tried this package to hit against Oracle but after much time. I gave up. I finally got apr-util-oracle to build against the oracle instant client by turning off the apr-util-ldap build.

%configure --with-apr=%{_prefix} \

--includedir=%{_includedir}/apr-%{apuver} \

--without-ldap --without-gdbm \

--with-sqlite3 --with-pgsql --with-mysql --with-freetds --with-odbc \

--with-oracle=/usr/lib/oracle/11.2/client64 \

--with-oracle-include=/usr/include/oracle/11.2/client64/ \

--with-berkeley-db \

--without-sqlite2

Michael R. Davis - 2011-11-08T21:24:32

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

Geo-Ellipsoids (0.16)


Michael R. Davis - 2011-10-30T08:25:29

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

Sys-RunAlone (0.10) *****

I think this package is great. Adding just one line gets you up and running. If you run crons against a database, there is no easier way to ensure that you never walk on yourself.

Michael R. Davis - 2011-10-29T12:03:05

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

Date-Holidays-USFederal (0.01) **

The 0.01 version is no longer valid. Do not use >= 2011 until patched. The architecture needs a bit of an over haul anyway.

Michael R. Davis - 2011-10-27T15:50:43

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

DBD-Oracle (1.30) *****

We use DBD::Oracle for 24/7 operations. I have not ever had an issue with it.

Now that Spacewalk has the RPMs it makes Fedora and RHEL easy to install and it is very nice just to have them built. I wish someone could just fix this license issue "Not compatible with Fedora licensing, as it requires oracle-instantclient-devel"

spacewalk.redhat.com/yum/latest/Fedor...
spacewalk.redhat.com/source/1.5/fedor...

Michael R. Davis - 2011-09-18T21:00:52

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

Net-SCP (0.08)

This package is a wrapper around the scp system command. Look at Net::SFTP if you are looking for a pure Perl implementation for transferring files over the ssh protocol.

Michael R. Davis - 2011-09-10T07:52:37

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

Net-SSH (0.09) ***

This package is a wrapper around the ssh system command. Look at Net::SSH::Perl if you are looking for a pure Perl implementation.

Michael R. Davis - 2011-09-10T07:45:44

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

DBIx-Array (0.22)

See Review at www.perlmonks.com/?node=923676

Michael R. Davis - 2011-09-01T13:21:16

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

txt2html (2.51) ****

This package just works out of the box (if you can get it installed). I've used HTML::FromText in the past but it needed a bit more tweaking to get it to work like I wanted.

My only issue is that the distribution is named after the script instead of the package which is typical CPAN practice.

Michael R. Davis - 2011-07-21T13:41:30

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

Geometry-Formula (0.01) **

This package looks more like a programming exercise instead of a package to derive other projects. The interface would be a lot cleaner if it were more object oriented like...

my $sq=Geometry::Formula->new->square(side=>5);
print join ",", $sq->area, $sq->sides, $sq->perimeter, ...

25,4,20

Thanks,
Mike

mrdvt92

Michael R. Davis - 2011-04-08T21:56:02

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

IO-Socket-IP (0.07)

I don't understand what the difference between this and IO::Socket::INET6 is? IO::Socket::INET6 has been around a long time and supports both IPv4 and IPv6.

Michael R. Davis - 2011-03-18T22:45:27

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

Apache2-SOAP (0.73) *

Dependency SOAP::Transport::HTTP2::Apache is no longer available on CPAN.

Michael R. Davis - 2011-03-05T20:09:41

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

Class-Easy (0.11) ****

Bottom line the "has" method supports a default value. I could not find any other lightweight "has" methods that do.

Documentation

- Needs better examples and documentation. For example, why do the tests use BEGIN blocks around has definitions.

- has mymethod => (); looks mush cleaner than has "mymethod";

Interface

- is=>"rw" would be a better default than is=>"ro" (for me anyway)

Ease of use

- Requirment for ExtUtils::MakeMaker >= 6.48 was pain. 6.42 worked fine with a couple of warnings.

Overall

I use as

perl -e '
package Foo;
use base qw{Package::New};
use Class::Easy;
has "hey", is => "rw", default => "cool";

package main;
print Foo->new->hey("Hey"), "\n";
'

Michael R. Davis - 2011-03-04T22:35:15

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

Class-Builtin (0.04) ***

The lack of documented methods is a hugh limiting factor for this package. The general concept is great but I'm not quit sure where I'd want to use this functionality.

This list of methods should be part of the documentation.

perl -MClass::Builtin -e 'print("\n\n", ref($_)||"Scalar", "\n", OO($_)->methods->join("\n")) foreach("",[],{})'

Scalar
atan2
blessed
bytes
carp
chomp
chop
chr
clone
confess
cos
croak
crypt
decode
decode_utf8
defined
dump
encode
encode_utf8
exp
hex
index
int
isvstring
isweak
lc
lcfirst
length
log
looks_like_number
methods
new
oct
ord
pack
print
readonly
ref
refaddr
reftype
reverse
rindex
say
sin
split
sprintf
sqrt
substr
tainted
uc
ucfirst
unbless
unpack
utf8
weaken

ARRAY
blessed
carp
clone
concat
confess
croak
delete
dump
each
each_with_index
first
get
grep
isweak
join
length
map
max
maxstr
methods
min
minstr
new
pack
pop
poped
print
push
pushed
reduce
ref
refaddr
reftype
reverse
say
set
shift
shifted
shuffle
sort
splice
spliced
sum
unbless
unshift
unshifted
weaken

HASH
blessed
carp
clone
confess
croak
delete
dump
each
exists
get
isweak
keys
length
methods
new
print
refaddr
reftype
say
set
unbless
values
weaken

Michael R. Davis - 2011-03-04T21:40:44

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

cpan2rpm (2.028) **

I loved cpan2rpm. But, it appears that Fedora now ships with cpanspec-1.78-3.fc12.noarch and not cpan2rpm.

It took a bit getting used to but I find putting the spec file in my MANIFEST is easiest.

It's a chicken and egg kind of thing

$ make dist
$ cpanspec PACKAGE-0.01.tar.gz
$ echo "PACKAGE.spec" >> MANIFEST
$ make dist #overwrite
$ rpmbuild -ta PACKAGE-0.01.tar.gz

And again, it would be great if "make spec" were part ExtUtils::MakeMaker.

Michael R. Davis - 2011-02-12T11:40:27

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

RPM2 (0.69)

Plus: Package is maintained!

Minus: Object interface is not very "standard". (no new constructor)

Minus: Package is in root namespace. (Since the open_rpm_db method constructs an RPM2::DB object that is what the package should be called e.g. RPM2::DB->new). Still not sure why RPM2 namespace vs RPM namespace.

Michael R. Davis - 2011-02-12T11:14:09

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

RPM-Info (1.07)

The interface is a little non-perlish.

I recommend an interface more like this.

use RPM:XXX;
my $obj=RPM::XXX->new;

foreach ($obj->search("foo")) {

printf "Name: %s\n", $_->name;

printf "Version: %s\n", $_->version;

printf "List: %s\n", join(", ", $_->list);
}

Michael R. Davis - 2011-02-12T10:54:51

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

CouchDB-Client (0.09) *****

I needed an interface to CouchDB for my Storable::CouchDB package. I was planning to rewrite the interface as it is really quite simple. However, having this package made the effort fairly trivial.

There are a few awkward interface issues like the DB and DOC objects do not have "exists" or "persist" methods. They are lazy loading so they could. Currently, you have to ask the CLIENT object if the DB exists and the DB object if the DOC exists.

For Example:

something() if $doc->exists;

something() if $db->exists;

$doc->data($data);

$doc->persist; #store or create; just do it!

Michael R. Davis - 2011-01-30T10:11:09

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

DateTime-Precise (1.05) *

DateTime::Precise is not a "DateTime" object and appears to no longer be maintained.

Michael R. Davis - 2011-01-05T05:51:07

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

XML-LibXML-LazyBuilder (0.03) *****

I've built all of the XML for Geo::GoogleEarth::Pluggable based on this package. I think it is a great interface to the complications in building XML. I do have to say the documentation is a bit terse and the interface which returns a bunch of anonymous subroutines was a bit complicated to understand. But, it works and is rock solid.
Thanks,
Mike

mrdvt92

Michael R. Davis - 2010-12-31T20:00:14

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

SQL-Easy (0.01) *

SQL-easy is in the wrong namespace it should be in DBIx-Whatever-Namespace. It has some of the capabilities of DBIx::Array.

DBIx::Array->sqlscalar = SQL::Easy->return_one
DBIx::Array->sqlarrayhash = SQL::Easy->return_data

Michael R. Davis - 2010-12-07T15:16:19

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

Geo-ShapeFile (2.52) *****

Just what I needed! Thanks! Got a bunch of files from a client and could extract the points and data in one easy interface.

use Geo::ShapeFile;
use Data::Dumper qw{Dumper};

my $obj = new Geo::ShapeFile($file);

for my $index (1 .. $obj->shapes) {

my $shape = $obj->get_shp_record($index);

next unless $shape->shape_type == 1; #point

my $data = $obj->get_dbf_record($index);

my ($point)=$shape->points;

print join("\t", $index, $point->X, $point->Y), "\n";

print Dumper([$data]);
}

I would have given documentation a higher rating but I think the package needs a few more example scripts.

Michael R. Davis - 2010-12-07T15:07:12

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

PerlQt (3.008)

This distribution puts all of it's packages in the root namespace.

Michael R. Davis - 2010-11-27T16:14:49

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

Geo-GoogleEarth-Document (modules2)

Geo::GoogleEarth::Document is no longer being maintained please use Geo::GoogleEarth::Pluggable.

Michael R. Davis - 2010-08-20T11:44:18

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

Net-eNom (0.02) ***

The package is in the wrong namespace. It should be WebService::eNom

Michael R. Davis - 2010-08-14T16:34:41

Was this review helpful to you?  Yes No

HTML-FromText (2.05) ****

This is just what I was looking for a simple formated text to html converter. It was a bit hard to find with all of the wiki parsers out there but works well. Documentation is a bit limited but the test cases are there for review. If all of the tests were documented in the POD then I would rate this a 5 on documentation. Also, the interface and ease of use get dings since simple features like paras and bullets are turn off by default.

You may also want to look at HTML::TextToHTML.

Michael R. Davis - 2010-06-16T09:45:35

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

WebService-UPS (0.11)

The package is called WebService-UPS but there is no WebService::UPS.

Michael R. Davis - 2010-05-24T09:12:31

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

Win32-DriveInfo (0.06) ****

This was the only package that I could find on CPAN that could give me the Win32 drive percentage of free space.

perl -MWin32::DriveInfo -e "my @info=Win32::DriveInfo::DriveSpace(q{C:});printf qq{Percent of Free Space: %0.2f\%\n}, $info[6]/$info[5]*100;"

Percent of Free Space: 32.03%

Thanks,
mrdvt92

Michael R. Davis - 2010-04-29T11:38:22

Was this review helpful to you?  Yes No

SQL-Abstract (1.22) ****

I just found this handy little package. I've done SQL building here and there but never again. The best thing... the output of SQL::Abstract methods are a direct input for DBIx::Array.

my $sabs=SQL::Abstract->new;

my $dbx=DBIx::Array->new;

$dbx->connect($connection, $user, $pass, \%opt);

my $count=$dbx->insert($sabs->insert($table, \%field));

my @data=$dbx->sqlarrayarray($sabs->select($table)); #whole table

I still need to find out how to use column aliases in the select.

Michael R. Davis - 2010-02-03T21:22:42

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

XML-Simple (2.18) ****

I love XML-Simple. As a "data person", you just can't get better. I do always have to tweak the parameters and usually use ForceArray=>1. Typically, I construct with something like XML::Simple->new(XMLDecl=>1, RootName=>q{document}, ForceArray=>1);

Michael R. Davis - 2009-09-02T21:46:19

Was this review helpful to you?  Yes No

Win32-OLE (0.1709) *****

I just want to say thanks for this module. I now never have to write ASP, VB, .Net again! My Win32::OLE::CrystalRuntime::Application module is a wrapper around this package and is rock solid. It runs multiple treads and has never had any issues.

Michael R. Davis - 2009-09-02T21:14:51

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

Path-Class (0.23) *****

2009-01-20 - I just found this module and I love it. I'm a bit concern with importing functions named "dir" and "file". But, I just import what I need. use Path::Class qw{file}; -mrdvt92

2011-02-16 - Two years later and still one of the best tools in the CPAN! - mrdvt92

Michael R. Davis - 2009-01-20T21:33:11

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

DBIx-DWIW (0.48)

This package is very simular to my DBIx::Array in concept.

Michael R. Davis - 2009-01-20T20:55:02

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

Geo-Google-StaticMaps (0.1) ****

Works well. Thanks for putting it together.

Michael R. Davis - 2008-12-30T23:13:57

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

File-Stat-OO (0.03) ***

2011-02-23 - I now use Path::Class for all my needs.

2008-12-16 - I use this package since it's easy. It would be nice if the object supported ->basename and ->dirname properties as I keep needing them at the same time. This syntax is not documented File::Stat::OO->new({use_datetime=>1});

Michael R. Davis - 2008-12-16T11:25:33

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

Image-Resize (0.5) ***

I needed all of my images to be 150x150 and not stretched just centered and white padded. So, this package did not work for me.

$image->resize(150, 150, 0); #Stretched
$image->resize(150, 150); #is not 150x150 but is either 150x??? or ???x150 keeping original ratio.

Michael R. Davis - 2008-11-12T10:27:44

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

Geo-Coder-Google (0.03) ****

I like this package. We actually use this for a few of our production systems. We do have an enterprise Google API key. I always add
use Time::HiRes qw{sleep}; sleep(0.2); in loops to be nice to Google.

Google limits you to about 1000 hits.

Michael R. Davis - 2008-09-15T12:42:21

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

Config-IniFiles (2.39) *****

Use for both Win32 and Linux platforms. Works great.

Michael R. Davis - 2008-09-03T10:38:18

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

Data-GUID (0.043) *****

Made it very easy to support GUIDs for our system.
Simply ...

print Data::GUID->new->as_string;

Michael R. Davis - 2008-08-30T08:13:17

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

Geo-Lookup-ByTime (0.10)

Simular to Geo::Spline

Michael R. Davis - 2008-02-25T21:44:45

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

geo-ecef (1.0.0)

We have moved this module to Geo::ECEF. Please use that version.

Michael R. Davis - 2008-02-25T21:40:39

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

DateTime-Format-Oracle (0.03) ***

Thanks for the package but using %ENV is just not the way I prefer to pass variables around. It would be nice if the interface where more like.

use DateTime::Format::Oracle;

my $dtfo=DateTime::Format::Oracle->new(

format=>'YYYY-MM-DD HH24:MI:SS');

my $dt = $dtfo->datetime('2003-01-16 23:12:01');

my $dt = $dtfo->dt('2003-01-16 23:12:01');

my $string = $dtfo->string($dt);

$dtfo->format('YYYY-MM-DD HH24:MI:SS'); #set format

my $format=$dtfo->format; #get format

Thanks,
Mike (mrdvt92)

Michael R. Davis - 2008-02-04T20:28:04

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

HTML-EasyTable (0.04) *

use CGI; #instead
my $q=CGI->new;
my @table=([qw{a b c}], [qw{1 2 3}], [qw{4 5 6}]);
my %opt=(border=>1);
print $q->table(\%opt, $q->Tr([map {$q->td($_)} @table]));

Michael R. Davis - 2008-01-28T07:57:41

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

GPS-Tools (0.01) *

This package is here as an archive of code more than a great package.

Michael R. Davis - 2008-01-26T22:00:13

Was this review helpful to you?  Yes No
0 out of 14 found this review helpful:

Data-Convert-MicrochipTechnology-Float (0.03)

Only place on the net.

Michael R. Davis - 2007-11-06T17:21:54

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

Geo-Proj4 (0.99) *****

Great interface to the PROJ.4 lib.

Geo::Proj4->new(init => "epsg:$epsg") is the only constructor that I use!

Michael R. Davis - 2007-10-01T20:46:12

Was this review helpful to you?  Yes No


the camel