Reviews by Johan Lindström

cpanratings
 

RSS

Time-Duration (1.06)

Very good at what it does (pronouce time in English).
Very simple to use.
Can be a nice touch.

Edit: I just came back to this module after a number of years.

Why did I only give it a four back then? It's clearly an overall five! It installs, it just works, the interface isn't overcomplicated.

If you need human readable durations, this is the one to get. Kudos.

Johan Lindström - 2009-11-04T03:32:01 (permalink)

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

File-Finder (0.53) **

This module rates high on most counts.

Except it has a three years old outstanding bug report (with attached fix) that it doesn't install on Windows.

So on average: 2

Johan Lindström - 2009-01-20T15:13:24 (permalink)

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

Devel-PerlySense (0.0159)

Just a note: The need to manually install elisp files is long gone.

It's all dealt with by installing the Perl module, and there are setup/config instructions in the manual.

Johan Lindström - 2008-11-20T15:52:47 (permalink)

Was this review helpful to you?  Yes No

Devel-Leak-Object (0.92)

Nice, easy to use module.

Enable it, run your program and it will list classes and object counts for live objects (i.e. not garbage collected ones) on exit.

I used it to find a memory leak in Devel::Cover. While it was simple to see wich objects were still alive, this module won't help you find out the root cause, i.e. where the circular dependencies are. But you can always just Dump one of the objects. Given the classes, you can probably figure out what a proper root object would be.

Possible improvements:

* list ref count of each class or even object, maybe limited per class, so you can see where the leak is.

Johan Lindström - 2008-05-30T09:00:49 (permalink)

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

bignum (0.22) ****

The best kind of interface -- i.e. no interface.

The only thing the docs could use is a mention whether "use bigint" is lexical or global, but it seems lexical from the examples.

(The reason I'm even anxious about this is I recall other similar modules that affected global behaviour.)

Johan Lindström - 2008-01-03T09:35:16 (permalink)

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

File-BOM (0.11) ****

Solves the problem well, in a very usable manner.

The documentation is slightly code-oriented and could do with a little bit better introduction to the problem domain.

Johan Lindström - 2006-05-12T02:31:04 (permalink)

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

Test-Differences (0.47) ****

A real lifesaver the few occations when you have two large pieces of text that don't match and you need to find out exactly how.

I especially like the way newlines is indicated as \n in the diff. That, and other convenient touches, makes this module stand out.

Johan Lindström - 2006-05-04T05:11:46 (permalink)

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

DBIx-Simple (1.26) *****

Wow!

Simply the easiest-to-use front end to DBI.

If you're planning on write SQL yourself instead of using one of the ORM modules (CDBI, DBIx::Class, Rose::DB etc.), this is the interface you want to use.

Johan Lindström - 2005-12-13T16:48:53 (permalink)

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

Time-Progress (1.1) ****

Does one thing and does it well.

The only bad thing about the docs are the negative numbers in the example in the SYNOPSIS, that's just distracting.

Johan Lindström - 2005-08-24T01:41:25 (permalink)

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

Win32-GuiTest (1.50.3-ad) ****

Pragmatic automation. No, wait, that's a book. Ok, it's also what this module is about.

Johan Lindström - 2005-02-22T10:36:42 (permalink)

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

GraphViz-ISA-Multi (0.02) ****

Create a graphical representation of the inheritance tree of a module.

Very easy to use, but I miss a simple command line script to point to a directory of modules.

Johan Lindström - 2005-01-12T09:59:22 (permalink)

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

DumpStack (1.1) **

No tests. Um... no makefile? Did install but then didn't work because of missing dependencies.

Instead I ended up using... Acme::JavaTrace :)

Johan Lindström - 2005-01-10T04:33:03 (permalink)

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

Class-Null (1.02) *****

The only gripe I have with this module is the name, since I know this design pattern under the name "Null object" rather than "Null class". Maybe the docs could at least mention that.

Other than that: well done!

Johan Lindström - 2004-12-29T01:59:10 (permalink)

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

Win32-OLE (0.17) ****

One of those bread-and-butter modules that are simply there for you when you realize you need Perl to reach into yet another domain.

Johan Lindström - 2004-12-28T05:41:04 (permalink)

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

Test-Warn (0.08) ****

It does what it says. In a good way.

The sub names could have been more in line with e.g. Test::Exception, but it works.

Johan Lindström - 2004-10-12T11:52:31 (permalink)

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

Devel-Profile (1.04) ****

Devel::Profile dumps per-subroutine execution statistics during or after the program run.

One of the profilers that actually works.

Johan Lindström - 2004-07-18T11:26:05 (permalink)

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

Class-MethodMaker (2.02) ****

One of the preferred modules for creating standard getter/setter methods, among other things. There are a number of modules for doing that, this one works well.

Johan Lindström - 2004-07-15T05:17:16 (permalink)

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

IO-String (1.05) ****

Useful when some module with a poor API needs a file handle and all you've got is a string.

Johan Lindström - 2004-07-15T05:13:42 (permalink)

Was this review helpful to you?  Yes No

DBI (1.43) *****

Strong points of DBI:
* it's the de facto standard in Perl, focusing database development.
* a unified interface for connectivity, basic activities (and somewhat for capabilities), making it almost-not-a-nightmare to switch between database backends (but then there's always the specific syntax, semantics and concepts of different databases for anything non-trivial... *sigh*)
* it's stable and mature with countless hours in production.
* nice API.
* huge amounts of additions and utilities in the DBIx namespace, built on top of DBI. Not to mention Class::DBI.

Johan Lindström - 2004-07-15T05:04:30 (permalink)

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

Algorithm-Diff (1.15) ****

Interface: simple and powerful.

Johan Lindström - 2004-06-29T14:37:32 (permalink)

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

Class-DBI (0.96) *****

Database abstraction at an extremely productive level.

Lots of declarative logic and lots of under-the-cover smarts, hiding the boring and repetitive parts from you.

Some of the croak error messages could be a bit more helpful, and possibly not croak at the level _above_ where you are coding.

Johan Lindström - 2004-06-28T02:04:55 (permalink)

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

Chart-Strip (1.01) *****

Plot values over time. Add one or more series of time + value datapoints and this module will make a pretty chart with most things automatically the way you want it; Axis comments, grids, time etc.

Johan Lindström - 2004-06-17T02:11:04 (permalink)

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

File-Tail (0.98) ****

Excellent module! If you need some kind of "tail -f" in your program, this is what you want. Being able to use non-blocking selects on many files (or in my case, building a tailing server) is extra nice.

The documentation could use a little more work for the methods, which parameters they take, examples etc.

The module appears to work just fine under Win32 despite the failing tests (I suspect DOS/Unix line feed problems).

Johan Lindström - 2004-06-12T08:18:40 (permalink)

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

Getopt-ArgvFile (1.06) *****

For when the options on the command line just become too many or too long to keep on the command line. Put them in a file and include them. Recursively if need be. Excellent extension to @ARGV parsing modules.

Johan Lindström - 2004-04-28T12:41:20 (permalink)

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

Archive-Zip (1.10) ****

Manage ZIP files easily. It took me fifteen minutes from "I need to put that directory tree into a zip file" and I had a working solution.

Good synopsis, good FAQ.

Johan Lindström - 2004-04-27T07:21:32 (permalink)

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

Exception-Class (1.19) *****

Excellent functionality for when you want to pass around specific information in a die(). The $@ is still stringified in a useful way.

Easy-to-use API for defining your own exceptions.

Johan Lindström - 2004-04-12T16:51:42 (permalink)

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

Test-DatabaseRow (1.03) ****

Very, very useful for testing database contents.

I found the various ways to specify the SQL query to be overly complex for my taste. I pass in simple SQL strings instead.

Johan Lindström - 2004-04-07T05:05:07 (permalink)

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