Re: Fwd: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz

2006-01-29 Thread Adam Kennedy

David Golden wrote:

Adam Kennedy wrote:

And therein lies the problem.

Working out when a dependency is important and when it's useless, or 
vanity, or lazyness (good or bad) or whatever requires a human 
judgment call.


So we can't really do anything about it.

Is it OK to use a lot of dependencies if they all work? :)


Well, if it isn't a patent violation, something along the lines of 
Google's PageRank algorithm.  A module's dependency Kwalitee score is 
based on a combination of the Kwalitees of its dependencies.


Perhaps done as average distance from the mean?

If the average kwalitee is 13, yours is 13, and your deps are scoring 
14, 15 and 16 then your KwaliteeRank is 2.


You couldn't use it as a Kwalitee element directly, but having a 
KwaliteeRank on the website might get interesting.


Adam K


Re: Fwd: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz

2006-01-29 Thread Andreas J. Koenig
> On Fri, 27 Jan 2006 15:42:58 +0100, Tels <[EMAIL PROTECTED]> said:

  > I am still considering building something[0] that shows the 
  > module-dependency as a graph to show how "bad" the problem has become. 
  > Even "simple" modules like YAML seem to include everything and the 
  > kitchen-sink :-(

Have a look at Test::Prereq.

-- 
andreas


Re: Fwd: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz

2006-01-29 Thread David Golden

Adam Kennedy wrote:

And therein lies the problem.

Working out when a dependency is important and when it's useless, or 
vanity, or lazyness (good or bad) or whatever requires a human judgment 
call.


So we can't really do anything about it.

Is it OK to use a lot of dependencies if they all work? :)


Well, if it isn't a patent violation, something along the lines of 
Google's PageRank algorithm.  A module's dependency Kwalitee score is 
based on a combination of the Kwalitees of its dependencies.


David


Re: Fwd: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz

2006-01-29 Thread Adam Kennedy

Yitzchak Scott-Thoennes wrote:

On Fri, Jan 27, 2006 at 03:42:58PM +0100, Tels wrote:

On Thursday 26 January 2006 15:26, Thomas Klausner wrote:

I just uploaded Module::CPANTS::Analyse to CPAN. MCA contains most of
the previous Kwalitee indicators and some code to check if one
distribution tarball conforms to those indicators. It also includes a
script calls cpants_lint.pl which is basically a frontend to the
module.

Very cool.

However, I am _really really_ starting to wonder whether we need a 
Kwalitee rating based on *excessive usage of prerequisites*.


How about two; one, a point for not having lots of prerequisites,
and another, a point for having lots of prerequisites.  Where
lots is defined as the same number in both cases.


Or for real evil, limit the highest possible kwalitee you can get to the 
lowest value of your dependencies.


If you're using something that score only 5, you score only 5 too, at MOST.

:)

Adam K


Re: Fwd: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz

2006-01-29 Thread Adam Kennedy

Yitzchak Scott-Thoennes wrote:

On Fri, Jan 27, 2006 at 03:42:58PM +0100, Tels wrote:

On Thursday 26 January 2006 15:26, Thomas Klausner wrote:

I just uploaded Module::CPANTS::Analyse to CPAN. MCA contains most of
the previous Kwalitee indicators and some code to check if one
distribution tarball conforms to those indicators. It also includes a
script calls cpants_lint.pl which is basically a frontend to the
module.

Very cool.

However, I am _really really_ starting to wonder whether we need a 
Kwalitee rating based on *excessive usage of prerequisites*.


How about two; one, a point for not having lots of prerequisites,
and another, a point for having lots of prerequisites.  Where
lots is defined as the same number in both cases.


Yep :)

And therein lies the problem.

Working out when a dependency is important and when it's useless, or 
vanity, or lazyness (good or bad) or whatever requires a human judgment 
call.


So we can't really do anything about it.

Is it OK to use a lot of dependencies if they all work? :)

Adam K


Re: Fwd: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz

2006-01-28 Thread Yitzchak Scott-Thoennes
On Fri, Jan 27, 2006 at 03:42:58PM +0100, Tels wrote:
> On Thursday 26 January 2006 15:26, Thomas Klausner wrote:
> > I just uploaded Module::CPANTS::Analyse to CPAN. MCA contains most of
> > the previous Kwalitee indicators and some code to check if one
> > distribution tarball conforms to those indicators. It also includes a
> > script calls cpants_lint.pl which is basically a frontend to the
> > module.
> 
> Very cool.
> 
> However, I am _really really_ starting to wonder whether we need a 
> Kwalitee rating based on *excessive usage of prerequisites*.

How about two; one, a point for not having lots of prerequisites,
and another, a point for having lots of prerequisites.  Where
lots is defined as the same number in both cases.


Re: Fwd: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz

2006-01-27 Thread Barbie
On Fri, Jan 27, 2006 at 03:42:58PM +0100, Tels wrote:
> 
> I am still considering building something[0] that shows the 
> module-dependency as a graph to show how "bad" the problem has become. 
> 
> [0] As soon as I can extract the nec. data from CPANTS, which has failed 
> the last two times I tried that for very similiar reasons - lots of 
> dependencies, test failures, database scheme changed etc. ...

A member of Birmingham.pm has already written it, although his server
seems to be down at the moment. Considering it is quite a nice little
tool, I'll see if he'll let me host it on the Birmingham.pm server for
you all to have a play with.

Barbie.



Re: Fwd: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz

2006-01-27 Thread Dominique Quatravaux
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tels wrote:

>
> However, I am _really really_ starting to wonder whether we need a
> Kwalitee rating based on *excessive usage of prerequisites*.

Doing work based on existing CPAN modules instead of reinventing the
wheel by oneself is typically *beneficial* to quality, because it
tremendously enhances test coverage: the prerequisites are supposedly
useful to other things besides supporting the top-most module, and are
tested for such alternate uses. Witness e.g. Catalyst.

On the other hand, what about a negative kwalitee metrics of "this
module depends on a lot of *crappy* [low-kwalitee] modules"? A case
could be made that that denotes poor architectural oversight on the
part of the top-most module's author.

> * technically, I would have to audit each module before installing
> it...

Sorry, this is a strawman argument: human-based audits are not a
credible defense against _intentional_ security vulnerabilities in
code. Case in point (for C):

http://www.brainhz.com/underhanded/

Bottom line: you have to trust the CPAN authors to some extent (for
not being evil).

> * "perl Makefile.PL && make test && make install" is the mantra for
> everything

... including a credible surrogate for auditing code whose author you
do trust. Actually that's the best the industry can do yet, short of
sandboxing (which is orthogonal to the issue at hand) and program
proving (which is a pipe dream for Perl, needless to say)

>
> ** some modules use Module::Build and the above doesn't work

Not all Module::Build modules lack a working Makefile.PL. My idea of
measuring the average kwalitee of the dependencies would of course
capture this ("depends on a module that is not buildable by CPAN" =
bad, baad)

> [Lots of CPAN-related problems]

Yes, CPAN can be a pain; however (kw|qu)alit(ee|y) is not meant to be
a metrics of how easy to install a module is, but rather of whether it
is possible to build something strong upon it, and to do so quickly
and easily. (Or am I mistaken?)

I have another idea. What about reversing the odds, and rewarding
those modules that provide an all-in-one archive (e.g. CatInABox,
http://use.perl.org/~jk2addict/journal/28071) or a pure-Perl
zero-dependency version with perhaps a restricted feature set, in
addition to the "full" CPAN version? (hmm, maybe this check would be
difficult to automate)

- --
Dominique QUATRAVAUX   Ingénieur senior
01 44 42 00 08 IDEALX

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFD2k2AMJAKAU3mjcsRAixAAKCECzfjIpHY4ACZcRVku5ykLGuR2wCgooHO
vzWpvzCv+w6jmTWZ4ry68ms=
=L8V7
-END PGP SIGNATURE-




Re: Fwd: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz

2006-01-27 Thread Tels
Moin,

On Thursday 26 January 2006 15:26, Thomas Klausner wrote:
> Hi!
>
> I finally found some tuits to work on CPANTS again. As the previous
> implementation had some drawbacks, I started from scratch, and from
> another direction.
>
> I just uploaded Module::CPANTS::Analyse to CPAN. MCA contains most of
> the previous Kwalitee indicators and some code to check if one
> distribution tarball conforms to those indicators. It also includes a
> script calls cpants_lint.pl which is basically a frontend to the
> module.

Very cool.

However, I am _really really_ starting to wonder whether we need a 
Kwalitee rating based on *excessive usage of prerequisites*.

On the box I tried to use it I had to install basically dozens of modules, 
with a few twists:

* cant use CPAN (due to network security), so have to download everything 
manually, transfer it via USB stick etc.
* technically, I would have to audit each module before installing it...
* "perl Makefile.PL && make test && make install" is the mantra for 
everything except:

  ** some modules use Module::Build and the above doesn't work
  ** for some modules Makefile.PL will succeed, even tho the PREREQ are
 not met, meaning you get lots of silly test failures (at least it
 doesn't install the module because "make test" will fail)

* in the middle of the operation search.cpan.org broke down, so I had to
  stop and wait 15 mins until I could continue (Murphy :)
* in the end, tests fail, so all was probably for naught:

 Failed Test Stat Wstat Total Fail  Failed  List of Failed
 --
 t/analyse.t2   512102  20.00%  6-7
 Failed 1/10 test scripts, 90.00% okay. 2/56 subtests failed, 96.43% okay.
 make: *** [test] Error 255

:-( Will send you the full output off-list.

I am still considering building something[0] that shows the 
module-dependency as a graph to show how "bad" the problem has become. 
Even "simple" modules like YAML seem to include everything and the 
kitchen-sink :-(

Best wishes,

Tels

[0] As soon as I can extract the nec. data from CPANTS, which has failed 
the last two times I tried that for very similiar reasons - lots of 
dependencies, test failures, database scheme changed etc. ...

-- 
 Signed on Fri Jan 27 15:33:57 2006 with key 0x93B84C15.
 Visit my photo gallery at http://bloodgate.com/photos/
 PGP key on http://bloodgate.com/tels.asc or per email.

 "The need for a Steam account to play HL2 is like having to login to MS
 Passport to play Minesweeper." -- Tels



pgpwx4HJDGsDy.pgp
Description: PGP signature


Fwd: CPAN Upload: D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz

2006-01-26 Thread Thomas Klausner
Hi!

I finally found some tuits to work on CPANTS again. As the previous
implementation had some drawbacks, I started from scratch, and from
another direction.

I just uploaded Module::CPANTS::Analyse to CPAN. MCA contains most of
the previous Kwalitee indicators and some code to check if one
distribution tarball conforms to those indicators. It also includes a
script calls cpants_lint.pl which is basically a frontend to the
module.

Example:

cpants_lint.pl path/to/Foo-Bar-1.42.tgz

Checked distFoo-Bar-1.42.zip
Kwalitee rating 15/16

Here is a list of failed Kwalitee tests and
what you can do to solve them:

* has_changelog
Add a Changelog (best named 'Changes') to the distribution. It should
list at least major changes implemented in newer versions.


With Module::CPANTS::Analyse you can now check Kwalitee before uploading
to CPAN. Test::Kwalitee should be easly doable now. I will add some more
Kwalitee indicators soon, and then start to look for a new server (I
start a new job in February so I won't be able to use my old dev-box for
this).


- Forwarded message from PAUSE <[EMAIL PROTECTED]> -

The uploaded file

Module-CPANTS-Analyse-0.5.tar.gz

has entered CPAN as

  file: $CPAN/authors/id/D/DO/DOMM/Module-CPANTS-Analyse-0.5.tar.gz
  size: 20772 bytes
   md5: 1a4d1ec910402d7cb4d76bf89693f0d8

- End forwarded message -



-- 
#!/usr/bin/perl   ... http://domm.zsi.at
for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/}