Re: Increasing podlators Perl dependency to 5.12

2024-03-16 Thread Karen Etheridge
On Sat, Mar 16, 2024 at 6:22 PM Russ Allbery  wrote:

> I wanted to provide some advance notice that I plan to increase the
> minimum Perl dependency for podlators (Pod::Man and Pod::Text) to 5.12
> from 5.10 in the next release.
>

Sounds good to me; I appreciate the heads up!

It's worth noting that at last year's Perl Toolchain Summit (PTS) there was
a consensus agreement to raise the maximum-minimum required Perl version to
5.16 (that is, critical toolchain modules MAY raise their minimum version
requirements to as high as 5.16, but will not do so arbitrarily), and this
value will be raised to 5.20 after the release of Perl 5.40 a few months
from now. (ref: https://rjbs.cloud/blog/2023/05/pts-2023-lyon-amendment-2-5/
)

...My goal is to eventually get to at least Perl 5.24 so that I can use
> postfix dereferencing.
>

For the 'postderef' feature (and for sub signatures too, my other favourite
and oft-used feature), 5.20 should be sufficient for most things; you may
want to consider stopping there for a bit.


Re: Exporter and subroutine circular dependencies between modules

2022-03-13 Thread Karen Etheridge
I haven't looked at your code, but I assume what you're doing is exporting
a sub from each module, and something in each of those modules is calling
each of those subs in turn, using the exported symbol. This is indeed an
unresolvable circular dependency because unqualified sub names must be
resolved at compile (i.e. "use" or BEGIN{}) time.

One solution is to not import all the symbols -- break the cycle by simply
'use'ing a module without importing its subs, and call that sub by its
fully-qualified name (e.g. Foo::foo() rather than foo()), which only needs
to be resolvable at runtime.


On Sun, Mar 13, 2022 at 1:14 PM David Christensen 
wrote:

> module-authors:
>
> I have been wrestling with the Exporter module and subroutine circular
> dependencies between modules for a number of years.  I have yet to find
>


Re: Crypt-SSLeay release & maintenance

2022-03-10 Thread Karen Etheridge
On Thu, Mar 10, 2022 at 10:42 AM Nicolas R.  wrote:

> IMO the "Don't declare a dependency on Crypt::SSLeay" statement should not
> only live on a blog post.
> We should add the statement to the main POD with probably a link to the
> blog.
> And also consider removing it from distro using it in a non backup way.
>

https://neilb.org/2015/01/17/deprecated-metadata.html

Also, when we deprecated Any::Moose, I filed an RT ticket for all the
high-river dependencies, informing them of the blog post explaining the
deprecation and providing advice on migrating to Moo.


Re: Please give me COMAINT on https://metacpan.org/release/Test-PerlTidy

2019-03-04 Thread Karen Etheridge
Edmund -- the best way of putting your modules up for adoption is
described here -- http://neilb.org/2013/08/07/adoptme.html

All the best!

On Mon, Mar 4, 2019 at 1:30 PM Shlomi Fish  wrote:
>
> On Mon, 4 Mar 2019 11:23:49 +0100
> Edmund von der Burg  wrote:
>
> > Done. Thank you for taking the time to improve this code. I'm afraid that I
> > simply don't have the ability to do it myself any longer.
> >
> > I'm planning to disperse all my codebases to others in the future.
> > Suggestions on how best to do this gratefully received.
> >
> > All the best,
> >   Edmund.
> >
>
> Thanks, Edmund!
>
> > On Sun, 3 Mar 2019 at 23:11, Shlomi Fish  wrote:
> >
> > > Hi,
> > >
> > > https://metacpan.org/release/Test-PerlTidy is currently failing its tests
> > > in
> > > several configs, which interferes with installing some of the deps of
> > > https://metacpan.org/pod/Task::BeLike::SHLOMIF and many other modules.
> > > I'd like
> > > to fix them and do some other cleanups.
> > >
> > > I am https://metacpan.org/author/SHLOMIF on CPAN.
> > >
> > > Note that I prefer using https://metacpan.org/pod/Code::TidyAll in
> > > general.
> > >
> > > Regards,
> > >
> > > Shlomi
> > >
> > > --
> > > -
> > > Shlomi Fish   http://www.shlomifish.org/
> > > https://github.com/shlomif/PySolFC - open source Solitaire games
> > >
> > > Chuck Norris ability to destroy is only matched (and exceeded) by
> > > Summer Glau’s ability to undo his destruction.
> > > — http://www.shlomifish.org/humour/bits/facts/Summer-Glau/
> > >
> > > Please reply to list if it's a mailing list post - http://shlom.in/reply .
> > >
>
>
>
> --
> -
> Shlomi Fish   http://www.shlomifish.org/
> https://youtu.be/n6KAGqjdmsk - “Hurt Me Tomorrow”
>
> Microsoft — making it all make sense. Ours.
> — http://www.shlomifish.org/humour.html
>
> Please reply to list if it's a mailing list post - http://shlom.in/reply .


Re: Perl 5.26 and the . in INC issue where modules won't install

2018-11-01 Thread Karen Etheridge
The 'dist' option is documented in Module::CPANfile, but the 'url' option
can only be found in the t/options.t test in the distribution -- so it must
be implemented at least partially, somehow.  Maybe miyagawa can comment?

On Thu, Nov 1, 2018 at 4:39 PM, Alex Muntada  wrote:

> Hi Karen,
>
> > You can also install locally patched modules with carton by
> > specifying a 'file:///' path in cpanfile:
> >
> > requires 'Foo::Bar', '0.123', url =>
> > 'file:///local/path/Foo-Bar-0.123.tar.gz';
>
> I tried this with latest Carton (v1.0.28) and it didn't work.
> Since I couldn't find any reference to an url attribute in
> Module::CPANfile, I'm wondering whether I'm missing something
> because this looks like a very nice feature.
>
> Can you provide some details or pointers on how it works?
>
> Thanks!
> Alex
>
>


Re: Perl 5.26 and the . in INC issue where modules won't install

2018-11-01 Thread Karen Etheridge
You can install these modules again by setting PERL_USE_UNSAFE_INC=1 in
your environment while installing.

You can also install locally patched modules with carton by specifying a
'file:///' path in cpanfile:

requires 'Foo::Bar', '0.123', url =>
'file:///local/path/Foo-Bar-0.123.tar.gz';


Re: executable only Perl distributions & CPAN

2018-09-07 Thread Karen Etheridge
On Fri, Sep 7, 2018 at 12:59 PM, Diab Jerius  wrote:

>
> I see two options:
>
> 1.  Create an empty package which gets indexed; or
> 2.  Add an entry to the "provides" field mapping the distribution's
> "package" name (App::pltvectors) to the script file.
>

Option 1 is correct -- create an App::pltvectors module which is indexable
and installable.  However, it doesn't need to be an empty package -- not
only can it contain documentation for your script, but it could also
contain most of the functionality from the script as well, turning the
script into a wrapper that calls the module. That also allows others to
make use of the code in their own scripts.


Re: Help w/ naming module

2017-09-21 Thread Karen Etheridge
Given that there is so much prior art in this space already -- is it useful
to release one more variant to the CPAN, vs. simply keeping it in your
darkpan? Is anyone likely to discover your module and choose it over any
other?

Please at least give a summary of the alternatives and how they differ, in
the documentation.

PS. There's also Class::Struct, which is in core, and Class::Tiny, which is
the one I'd recommend for lightweight Moo*ish class declarations.

On Thu, Sep 21, 2017 at 12:23 PM, Diab Jerius 
wrote:

>
>
> On Thu, Sep 21, 2017 at 1:58 PM, Diab Jerius 
> wrote:
> >
> >
> >
> > On Thu, Sep 21, 2017 at 12:59 PM, Diab Jerius 
> wrote:
> > >
> > >
> > >
> > >
> > > On Thu, Sep 21, 2017 at 11:30 AM, Michael Greb 
> wrote:
> > >>
> > >> On 09/20, Diab Jerius wrote:
> > >> > I've written a module[1] to scratch an itch, namely easily wrapping
> hashes
> > >> > returned from subroutines as objects[2].
> > >> >
> > >> > I've named it Return::Object, based on my particular use case, but
> I'm
> > >> > finding it useful for more general wrapping of hashes, hence my
> quest for a
> > >> > more general name for it.
> > >>
> > >> There seems to be a fair number of not directly connected modules
> under the
> > >> Data::Hash namespace.  I think placing your module alongside these
> makes sense
> > >> so something like Data::Hash::AsObject, Data::Hash::Object, or the
> like  may
> > >> be fitting.
> > >>
> > >> Mike Greb
> > >> mikegrb
> > >
> > >
> > >
> > > Here's my current list of "almost but not quite" modules:
> > >
> > > Object::Result
> > > Hash::AsObject
> > > Data::AsObject
> > > Class::Hash
> > > Hash::Inflator
> > > Hash::AutoHash
> > > Hash::Objectify
> > >
> > > I'll look at the Data::Hash namespace and see what's there for
> comparison.
> > >
> >
> > According to CPAN, the Data::Hash namespace only has four modules (!?).
> That's a surprise.
> >
> > Data::Hash::DotNotation
> > Data::Hash::Transform
> > Data::Hash::Totals
> > Data::Hash::Flatten
> >
> >
>
> After visiting more of CPAN's dusty corners, and considering that most
> similar modules are in the Hash:: namespace, I'm leaning towards
> Hash::Wrap.  My colleagues seem to think that has something to do with hash
> (in the culinary sense) and wonton wrappers. Middle of the afternoon here.
> Maybe they're hungry.
>


Re: Bio-Graphics issues

2016-12-15 Thread Karen Etheridge
The copy of 06perms.txt that I had on my machine (pulled last night) only
had LDS listed for Bio::Graphics::DrawTransmembrane, but after pulling a
fresh copy of the file, you are listed. Did you just have LDS give you
permissions in the last day? If so, metacpan could have also been working
with a similarly out-of-date file.

The version number issue appears to be totally separate -- you need to
either have the older distributions deleted on PAUSE (LDS needs to do
this), and then have PAUSE re-index your distribution at pause.perl.org, or
you need to do a new release where the versions are higher than in the
previous release.


On Thu, Dec 15, 2016 at 9:43 PM, Fields, Christopher J <
cjfie...@illinois.edu> wrote:

> Hi Karen,
>
> That’s odd, I’m logged into PAUSE and when I checked those using ‘View
> Permissions' I see myself listed as co-maint.  For instance, 
> Bio::Graphics::DrawTransmembrane
> lists LDS as owner but me as co-maint (see below, apologies for HTML table
> paste).
>
> *module* *userid* *type* *owner*
> Bio::Graphics::DrawTransmembrane
> <https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me_peek_perms_query=Bio::Graphics::DrawTransmembrane_peek_perms_sub=1>
> CJFIELDS
> <https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=a_peek_perms_query=CJFIELDS_peek_perms_sub=1>
> co-maint LDS
> Bio::Graphics::DrawTransmembrane
> <https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me_peek_perms_query=Bio::Graphics::DrawTransmembrane_peek_perms_sub=1>
> LDS
> <https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=a_peek_perms_query=LDS_peek_perms_sub=1>
> first-come LDS
> Bio::Graphics::DrawTransmembrane
> <https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me_peek_perms_query=Bio::Graphics::DrawTransmembrane_peek_perms_sub=1>
> SENDU
> <https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=a_peek_perms_query=SENDU_peek_perms_sub=1>
> co-maint LDS
> Bio::Graphics::DrawTransmembrane
> <https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me_peek_perms_query=Bio::Graphics::DrawTransmembrane_peek_perms_sub=1>
> STAJICH
> <https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=a_peek_perms_query=STAJICH_peek_perms_sub=1>
> co-maint LDS
>
> I can forward the PAUSE email directly to you if that works.
>
> chris
>
>
> From: <ka...@froods.org> on behalf of Karen Etheridge <p...@froods.org>
> Date: Thursday, December 15, 2016 at 11:36 PM
> To: Chris Fields <cjfie...@illinois.edu>
> Cc: Perl Module Authors List <module-authors@perl.org>
> Subject: Re: Bio-Graphics issues
>
> It would help to see the mail from PAUSE that lists the errors. But the
> modules listed as "unauthorized" on the metacpanm page are indeed modules
> for which you do not have comaint permissions in the PAUSE database (I did
> not check them all, but all of those I did were modules where only LDS had
> permissions).
>
> On Thu, Dec 15, 2016 at 9:26 PM, Fields, Christopher J <
> cjfie...@illinois.edu> wrote:
>
>> I have co-maint on the Bio-Graphics distribution with Lincoln Stein
>> (LDS).  I just tried releasing a simple point update to Bio-Graphics for
>> dependency issues, but the distribution has several modules that appear to
>> be unauthorized (even though I am listed as a co-maintainer of those).  Any
>> idea why?
>>
>> https://metacpan.org/release/CJFIELDS/Bio-Graphics-2.40
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__metacpan.org_release_CJFIELDS_Bio-2DGraphics-2D2.40=DQMFaQ=8hUWFZcy2Z-Za5rBPlktOQ=fbHa8Njtvh9VmSnzJxiEUTW9NWDwMMwQAzhgZDO41GQ=B5bZSVWgl2U5nhWl8DjMaALOMXOKQCCx4RgnsxJMbtM=rOjjnjLfLUPUX7pU0FwijKUhY8tZM-xeGQzMZ9GZnpc=>
>>
>> I did get an email about failed indexing of some of the modules but these
>> seem to be primarily from modules having no versions (the dist as currently
>> set up gets the version from the Bio::Graphics module).  But there isn’t
>> any congruence with the failed modules and those showing as unauthorized in
>> the above link.
>>
>> Thanks,
>>
>> chris
>>
>
>


Re: Bio-Graphics issues

2016-12-15 Thread Karen Etheridge
It would help to see the mail from PAUSE that lists the errors. But the
modules listed as "unauthorized" on the metacpanm page are indeed modules
for which you do not have comaint permissions in the PAUSE database (I did
not check them all, but all of those I did were modules where only LDS had
permissions).

On Thu, Dec 15, 2016 at 9:26 PM, Fields, Christopher J <
cjfie...@illinois.edu> wrote:

> I have co-maint on the Bio-Graphics distribution with Lincoln Stein
> (LDS).  I just tried releasing a simple point update to Bio-Graphics for
> dependency issues, but the distribution has several modules that appear to
> be unauthorized (even though I am listed as a co-maintainer of those).  Any
> idea why?
>
> https://metacpan.org/release/CJFIELDS/Bio-Graphics-2.40
>
> I did get an email about failed indexing of some of the modules but these
> seem to be primarily from modules having no versions (the dist as currently
> set up gets the version from the Bio::Graphics module).  But there isn’t
> any congruence with the failed modules and those showing as unauthorized in
> the above link.
>
> Thanks,
>
> chris
>


Re: [cpan-questions #32443] Re: rt.cpan.org keeps logging me out.

2016-11-21 Thread Karen Etheridge
What is the big deal in having to log in again? If you save your
credentials in your browser, it's literally just one more click.

I'd like to thank the RT admins in providing this service free to the Perl
community; it is really awesome that a bug queue is created automatically
for every distribution without the authors having to do a single thing to
set it up.

On Mon, Nov 21, 2016 at 7:45 AM, Shlomi Fish  wrote:

> Hello Shawn,
>
> sorry for the late response. I'm CCing module-authors becase you did not
> explicitly specify that you wish this reply to be kept private.
>
> On Fri, Nov 18, 2016 at 5:56 PM, Shawn M Moore via RT <
> cpan-questi...@bestpractical.com> wrote:
>
>> On Fri Nov 18 06:01:48 2016, shlo...@gmail.com wrote:
>> > Dear rt-cpan-admin
>>
>> Hi Shlomi,
>>
>> > On Sat, Feb 27, 2016 at 1:00 PM, Shlomi Fish  wrote:
>> >
>> > > Dear sirs and madams,
>> > >
>> > > thanks for maintaining http://rt.cpan.org/ .
>> > >
>> > > There is, however, a long-standing problem with it that the site keeps
>> > > logging me out (usually after I close my browser), and I keep having to
>> > > login again. This makes it frustrating to use rt.cpan.org. Please fix it
>> > > as soon as possible.
>>
>> RT uses session cookies (also called transient cookies) which, as you 
>> describe, usually clear when you close your browser. It's a tradeoff we make 
>> for security.
>>
>> I see. That sounds like a very bad trade off in this day and age, because
> people often need to reboot for new kernel / new libc / system update /
> etc. or they need to restart their browsers because they either crashed or
> started consuming too much RAM (and as you may know - browsers like Firefox
> or GChromium have recently become memory hogs).
>
> I suppose I can convert to use GitHub Issues / GitLab Issues / Bitbucket
> Issues / etc. - at least for my own CPAN distributions - but this will
> involve a lot of manual tweaking and uploading new versions. Perhaps it
> will be the last straw for creating my own Dist Zilla PluginBundle.
>
> Regards,
>
> -- Shlomi Fish
>
>
>
>> > > Regards,
>> > >
>> > > -- Shlomi Fish
>>
>> Best,
>> Shawn
>>
>>
>
>
> --
> Shlomi Fish http://www.shlomifish.org/
>
> You can never truly appreciate The Gilmore Girls until you've watched it
> in the original Klingon.
>
> Please reply to list if it's a mailing list post - http://shlom.in/reply .
>


Re: Please provide me with COMAINT on https://metacpan.org/pod/Dist::Zilla::Plugin::VersionFromModule

2016-11-10 Thread Karen Etheridge
Shlomi -- you'll be able to get the features you want by switching to
Dist::Zilla::Plugin::RewriteVersion, and it's well-maintained as well. :)

There's no need to use [VersionFromModule] anymore -- all bundles and
configurations that use it really ought to switch.

On Tue, Nov 8, 2016 at 2:07 AM, Shlomi Fish  wrote:

> Dear sirs and madams,
>
> currently https://metacpan.org/pod/Dist::Zilla::Plugin::VersionFromModule
> is
> part of https://metacpan.org/release/Dist-Zilla-Plugins-CJM (why?) which
> is
> failing its tests, see:
>
> * https://rt.cpan.org/Public/Bug/Display.html?id=116902
>
> * https://travis-ci.org/thewml/latemp/builds/174060016
>
> There hasn't been a release for it for over a year (though the author was
> active this year in a different CPAN distribution). Please provide me (=
> SHLOMIF) with COMAINT For that namespace (= D-Z-P-VersionFromModule) so I
> can
> upload a new version to CPAN for it, separately from the rest of the
> Plugins-CJM bundle.
>
> Regards,
>
> Shlomi Fish
>
> --
> -
> Shlomi Fish
>
> Harry: Mr. Mumford, I hereby propose my friend, the beautiful Hermione.
> Hermione: Ahem… actually I kinda have a bad hair day today, so I think
> your assistant should be the beautiful Harry (Potter!) here.
> Harry: Very well, I shall be the beautiful assistant.
>
> Please reply to list if it's a mailing list post
>


Re: Declaring optional dependencies

2016-11-09 Thread Karen Etheridge
> And this presumes that the person running the install knows enough to
> "consider."  Which is fine if you're coding Perl.  Not so obvious if you
are
> trying to use someone else's package, which may silently fall back to
> crippled mode "because it's better than nothing".

Nowhere in the distribution install process requires a user to read and
understand Perl.  All they need to do is invoke their cpan client. If more
work is needed than that, the author has made an error.

> As an author, I want to be able to specify what I need without writing
Perl that invalidates the tools that sort out dependencies.

That's what the prereq specification is for in META.json. For most
distributions, this is perfectly adequate, and static analysis tools can
consume this data and generate dependency graphs and other nice things.
However, for the things where dynamic configuration is needed, often
*nothing
else will do but running Perl code on the target system.*  JSON-MaybeXS's
prereqs cannot be declared in any other way than in Perl, and that Perl has
to
run on the target system. We simply cannot say in advance what prereqs will
be
needed by a particular installation until we try to install it.

> The user tools (cpan, cpanm) can't answer the question "If I want this
> package, what would I need/install?" without actually installing in the
real
> environment.

That's not true at all. You can run 'perl Makefile.PL' manually in the
target
environment to generate a MYMETA.json and see what the final list of prereqs
are.  That's not the full list of recursive dependencies, true, but it's
conceivable that cpanm could run the configure phase of the next layer of
dependencies, to get *their* dependencies, and so on -- this is not perfect,
as configure-phase dependencies *must* be installed before we can go
further,
and some distributions' configure phases may behave differently depending on
what is already installed (JSON-MaybeXS is an example of this -- what
dependencies you get depends on what JSON backends you already have
installed,
and at what versions.)

> I hate to disagree with Karen, but the swamp really is a bad as I think -
> once you understand that your audience isn't just people who know what the
> Camel book is, much less read it.  It's also people with other priorities,
> and tools for those people.

If you have a particular usecase or problem in mind, let's discuss it
(although cpan-workers is a better list for that than here).  Otherwise,
declaring that the current tools are inadequate, without specifying what the
problems are, is totally unhelpful and seems to me to be spreading FUD.


On Wed, Nov 9, 2016 at 4:52 PM, Timothe Litt  wrote:

> On 09-Nov-16 19:11, Dan Book wrote:
>
> On Wed, Nov 9, 2016 at 9:49 AM, Timothe Litt  wrote:
>>
>> cpan and cpanm seem to handle 'recommended' differently.  IIRC, neither
>> defaults to installing 'recommended' modules.
>>
>
> Sadly, this is correct and in fact (as far as I know) CPAN.pm still
> handles recommended prereqs completely wrongly if you do enable them (fails
> the installation if they don't install). cpanm handles them more correctly
> but still not ideally. The fact they are not installed by default, in turn,
> makes them not any more useful than 'suggests' in practicality, so it ends
> up being a semantic difference. 'recommends' should be modules which are
> always a good idea to install but not required, and 'suggests' should be
> modules which the user may consider installing if they choose.
>
> And this presumes that the person running the install knows enough to
> "consider."  Which is fine if you're coding Perl.  Not so obvious if you
> are trying to use someone else's package, which may silently fall back to
> crippled mode "because it's better than nothing".  I see this all the time
> with a package I distribute, where people who install it can't spell P u r
> l.  Oh, there's an 'e'?  I've had to shell script the mechanics of
> bootstrapping that package onto a system that's never seen Perl.
>
> This leads to the case as you noted with JSON::MaybeXS, where the only
> practical solution in the current state of things is to instead rely on
> dynamic dependencies, and add a hard dependency on the modules that are
> appropriate at installation time. Dynamic dependencies however are a very
> widely supported and backwards compatible system. Only configure-time
> dependencies are read from the static META.json, the rest are read from the
> generated MYMETA.json, generally even if dynamic_config is set to 0, though
> in that case it is imperative that the generated prereqs match the static
> ones.
>
> But leaves the original issue unresolvable: MetaCPANdeps can't figure out
> what's really required.  As Karen noted, once you set the 'dynamic' flag,
> all bets are off.
>
> And as you point out, the user experience is less than ideal.  As a user,
> all I want is to type "install this_thing_that_I_want", and not worry 

Re: Declaring optional dependencies

2016-11-09 Thread Karen Etheridge
It is my opinion that (most) optional prereqs should at least be listed in
the 'suggests' category of prereqs, to at least allow for static inspection
tools (such as CPANdeps) can be aware of a potential relationship.

Regarding Timothe's observations that optional prereqs are a swamp -- yes,
but less so than you think -- the semantics for spelling out optional deps
is well-established. Code runs in Makefile.PL (or Build.PL) at configure
time that determines the final prereq list based on the installation
environment, and this data is used to build MYMETA.json.  When
dynamic_config => 1, *this must be done* to determine the prereq list --
the list in the shipped META.json need not bear *any* relationship to the
final prereq list (although politeness and convention dictates that
META.json should at least contain a proper subset of the final prereq list).

For Dist::Zilla-based dists, dynamic prereqs can be declared in Makefile.PL
using Dist::Zilla::Plugin::DynamicPrereqs. This plugin has evolved through
use in several complicated distributions, but there's certainly room for
more development :)  But you should be able to insert any custom
Makefile.PL code you need using this plugin.  Please let me know via RT,
github or irc if there's anything more I can add that would help!


On Wed, Nov 9, 2016 at 6:49 AM, Timothe Litt  wrote:

> On 09-Nov-16 09:07, David Cantrell wrote:
> > I recently broke Catalyst::Devel when I uploaded a dodgy version of
> > Devel::CheckOS. Personally I don't like Catalyst and consider this to
> > have been a service to humanity, but I understand that some people
> > differ on this :-)
> >
> > Thing is, my code doesn't show up as a dependency in CPANdeps. Turns
> > out that it's because it's a dependency of MooseX::Daemonize, which is
> > in turn an *optional* dependency of Cataylst::Devel. MooseX::Daemonize
> > doesn't show up in the META.{yml,json} files, and so CPANdeps doesn't
> > spot it. Instead it's in Makefile.PL thus:
> >
> >   if (!$Module::Install::AUTHOR && $^O ne 'MSWin32') {
> > requires 'MooseX::Daemonize'; # Optional in scripts
> > requires 'Starman'; # Optional in scripts
> >   }
> >
> > Seeing that we've gone down the route of having eleventy different
> > *_requires for build-time requirements, test requirements, and so on,
> > I think it makes sense to also put optional dependencies like this in
> > META.*. Any comments?
> >
> Anything optional seems to be a swamp.
>
> I have a module that has 'recommended' modules - but if they're present,
> they have a minimum version.
> I can't specify in META that I have three optional dependencies, but at
> least one is required for sensible operation.  The solution seems to be
> marking the dependency list 'dynamic' - e.g. meaningless.  Then the
> Makefile.PL will have to update the dependency array.  (I use
> Dist::Zilla to package.)  I haven't implemented it in my package yet,
> but JSON::MaybeXS seems to have similar (slightly simpler) Makefile.PL
> logic.
>
> cpan and cpanm seem to handle 'recommended' differently.  IIRC, neither
> defaults to installing 'recommended' modules.
>
> If there's energy to address the case of grandchild optional
> dependencies, it would be nice if all the issues related to optional
> modules were addressed - including in the install UIs.
>
> The goal ought to be that one can express "I want Foo:: in functional
> condition", and that it installs and tests with one command - at least
> by default.  The problem is expressing 'in functional condition' in some
> way that covers all the strange stuff that authors come up with.  At
> first glance, that seems like an expression language that can probe the
> environment, e.g.
>
> i_require ( Foo v0.99 || Bar v 68 )  && ( Nil v11 && IPv6 active ||
> -e /dev/smartcard ) && (installed Nix::? Nix v11  && Devel::CheckOS)...
>
> Or something like that
>
> Then there's what the right semantics are for 'suggests'... and
> 'recommends' -- which I gather have been debated before, with no
> coherent resolution.
>
> All of which is why I think you're stepping into a swamp :-)
>
> But not one that's environmentally sensitive in the usual sense.  Just
> messy, and deep.
>
> Sigh.
>
>
>


Re: A couple of MooseX::Storage::IO drivers I would like to upload on CPAN...

2016-10-13 Thread Karen Etheridge
I'm not using either of those backends at the moment, so I'm not in a
position to test them, but I wanted to thank you for doing this! Bravo good
sir.

- Karen Etheridge, et...@cpan.org

On Thu, Oct 13, 2016 at 3:15 AM, Marco Masetti <marco.mase...@softeco.it>
wrote:

> Hi all,
>
>
> time ago I've implemented a couple of MooseX::Storage::IO drivers,
> available on github:
>
>
> https://github.com/grubert65/MooseX-Storage-IO-MongoDB
>
> https://github.com/grubert65/MooseX-Storage-IO-Redis
>
>
> Basically they let you use either Mongo or Redis as a persistency layer
> for your Moose objects.
>
> I'm planning to upload them on CPAN but I would like first to give you the
> chance to give them a try and submit any patch or suggestion, both very
> wellcome.
>
>
> Thank you.
>
>
> Best,
>
> Marco.
>
>
>
>
> --
>
> * Marco Masetti*| marco.mase...@softeco.it
> *Team Leader / Research & Innovation*
> --
> *Headquarters | Softeco Sismat S.r.l.*
> Via De Marini 1 - Torre WTC | 16159 Genova - Italy
> tel. +39 010 6026343
> fax. +39 010 6026350
> www.softeco.it
>
>
>
> Privacy Information - This message, for the D. Lgs n. 196/2003 (Privacy
> Code), may contain confidential and/or privileged information. If you are
> not the addressee or authorized to receive this for the addressee, you must
> not use, copy, disclose or take any action based on this message or any
> information herein. If you have received this message in error, please
> advise the sender immediately by reply e-mail and delete this message.
> Thank you for your cooperation.
> *Please consider the environment before printing this email*
>


Re: Boolean As a Top Level Name

2016-09-09 Thread Karen Etheridge
I think I'd look for such a module in the Math:: namespace.

I also found these modules which may be similar:  Math::BooleanEval,
Math::MatrixBool.

On Fri, Sep 9, 2016 at 12:33 PM, John M. Gamble  wrote:

> A while back I was granted co-maintenance of Algorithm::QuineMcCluskey. It
> handles one Boolean expression at a time, and I decided that it would be
> good to create a package that could manipulate a Boolean truth table.
>
> So Boolean::TruthTable is nearly ready to go (I have documentation to
> complete).
>
> But, to handle the columns in the table, I created a base class.
> Algorithm::QuineMcCluskey would become a child of this class (because
> after all this is done, I'm going to explore other algorithms).
>
> Naming this class is a little trickier. It's not an algorithm, so I don't
> think using the Algorithm top level is appropriate. I'm settling on
> Boolean::Minimizer (which is what the algorithms do).
>
> Now the potential problem is that Boolean isn't used much as a top-level
> name. I can only find 'boolean', the pragma for using true and false
> values, and Boolean-String, which has a 0.01 release and hasn't been
> updated since.
>
> So are there any objections to my using Boolean as a top level name in
> earnest?
>
>  -john
>
>


Re: Add users to BIOPERLML mailing list?

2016-06-02 Thread Karen Etheridge
> I'm not aware of any "group" functionality to allow multiple users to
share a "group" ID, other than just sharing the password for that PAUSE
ID, which is of course suboptimal.

There are a few IDs where the credentials are shared, to mark ownership
over modules that transcend an individual: e.g. MONGODB and MAXMIND. There
is also the P5P id whose credentials are held by the current pumpking, for
managing the release of dual-life modules.  There are, however, no separate
rules in the PAUSE database for the management of these IDs -- the
credentials are simply passed among the people who need to use them, as
decided by whoever made the original registration.



On Thu, Jun 2, 2016 at 4:53 AM, David Precious 
wrote:

> On Fri, 27 May 2016 21:43:03 +
> "Fields, Christopher J"  wrote:
>
> > The Bioperl devs have been using BIOPERLML as an ‘umbrella’ group ID
> > for making releases.  We would like to add a few new devs to this for
> > making future releases if possible; is there an easy way to go about
> > this?  Or even better, are there other mechanisms where we can do
> > this on our own (e.g. should we maybe set up a new PAUSE ID with an
> > associated email for managing this on our end)?
>
> Each PAUSE ID is for an individual user, as far as I'm aware.
>
> If you want to avoid sharing the credentials for that one PAUSE ID
> among several people (sensible) then you should have each person get
> their own PAUSE ID, then log in to PAUSE as BIOPERLML and assign
> them co-maint permissions on each namespace they'd need to be able to
> make releases for:
>
> https://pause.perl.org/pause/authenquery?ACTION=share_perms
>
> That way, each person is accountable for each release they distribute
> to CPAN.
>
> I'm not aware of any "group" functionality to allow multiple users to
> share a "group" ID, other than just sharing the password for that PAUSE
> ID, which is of course suboptimal.
>
> Cheers
>
> Dave P
>
>
>
>


Re: Please give me COMAINT on https://metacpan.org/release/XML-Amazon

2016-04-10 Thread Karen Etheridge
There are no non-wishlist bugs open on this distribution (
https://rt.cpan.org/Dist/Display.html?Name=XML-Amazon); is it possible the
author isn't aware of the cpantesters failures?

On Sun, Apr 10, 2016 at 12:41 PM, Shlomi Fish 
wrote:

> Hi all,
>
> please give me a COMAINT status on https://metacpan.org/release/XML-Amazon
> -
> its current maintainer ( https://metacpan.org/author/HEDWIG ; he is on the
> To: to this message as well ) has made no release since 2010, and
> XML-Amazon has
> many failing CPAN Testers' tests.
>
> My plans for it are:
>
> 1. Try to fix the failing tests.
>
> 2. Convert from Module-Install to Dist-Zilla.
>
> 3. Convert from XML-Simple to XML-LibXML or to a different XML parser.
>
> 4. Improve CPANTS Kwalitee and best practices.
>
> 5. General cleanups.
>
> Regards,
>
> Shlomi Fish
>


Re: Operator Overloads in DBIC?

2016-03-06 Thread Karen Etheridge
http://lists.perl.org/list/dbix-class.html

On Sun, Mar 6, 2016 at 10:17 AM, Paul Bennett 
wrote:

> What's the best way for me to start a conversation with the lead
> developers of DBIC as well as the leads of the various modules that wrap
> DBIC as a plugin for other frameworks?
>
> I have most of a spec (and a tiny bit of pseudocode) prepared for adding
> operator overloads to result sets, to make it easier to write & reuse
> pieces of queries in a style more like Relational Algebra &
> Tuple-Relational Calculus. For instance, '/' for relational division, '*'
> for relational product, 'x' for explicit cross join, '|' for inner join,
> '||' for left outer join, '>' for left antijoin, '+' for union, '&' for
> intersection, '-' for except, and so on.
>
> The path of least resistance seems to be to subclass ResultSet and some
> other classes.
>
> However, if I subclass, then I (or someone) would end up writing
> Dancer2::Plugin::DBIC::Algebra (or whatever the naming ends up being), and
> so on for everything else that turns DBIC into a plugin.
>
> So. What's the best way to get this conversation rolling?
>
> (Cross-posting to Facebook's Perl Mongers group).
>
> Thanks,
>
> --
> P/PW/PWBENNETT
> Paul W Bennett
>


Re: rt.cpan.org keeps logging me out.

2016-02-27 Thread Karen Etheridge
I haven't experienced this issue. Could you perhaps have enabled the mode
in your browser that deletes all cookies when you quit?

On Sat, Feb 27, 2016 at 3:00 AM, Shlomi Fish  wrote:

> Dear sirs and madams,
>
> thanks for maintaining http://rt.cpan.org/ .
>
> There is, however, a long-standing problem with it that the site keeps
> logging me out (usually after I close my browser), and I keep having to
> login again. This makes it frustrating to use rt.cpan.org. Please fix it
> as soon as possible.
>
> Regards,
>
> -- Shlomi Fish
>
> --
> --
> Shlomi Fish http://www.shlomifish.org/
>
> Chuck Norris helps the gods that help themselves.
>
> Please reply to list if it's a mailing list post - http://shlom.in/reply .
>


Adoption of Acme::CPANAuthors::Canadian

2016-02-02 Thread Karen Etheridge
As per Zoffix's post and reply at
http://blogs.perl.org/users/zoffix_znet/2016/01/modules-for-adoption-bit-rot-thursday.html,
I would like to request first-come permissions on
Acme::CPANAuthors::Canadian. I see it has already been set as ADOPTME in
the permissions db. thanks!

- ETHER, et...@cpan.org


Re: Please give me COMAINT on https://metacpan.org/release/File-Remove

2016-01-04 Thread Karen Etheridge
Has the author been contacted to request adoption of this distribution?
That is part of the adoption process, unless it has already been
established that the author is missing or deceased.

All of Adam's distributions have already been imported from subversion to
github, e.g.: https://github.com/TheOpenRepository/File-Remove

On Mon, Jan 4, 2016 at 2:27 PM, Jonas Brømsø Nielsen 
wrote:

> Hi Philippe,
>
> I did not say it was the optimal solution - but what brings the most
> value? - live working code or broken unmaintained artefacts of yesteryear?
>
> I have migrated a lot of Subversion repos to Github, some were in an
> almost unmigratable state, due to bad decisions on repository layout and
> gitpan saved these distributions and I could get back to active maintenance
> instead of spending all my time trying to salvage history of old bug fixes.
> The changes file and distribution release history provided sufficient
> information to keep me happy and still draw the same picture of what was
> released to the public via CPAN.
>
> If possible, migrate - if time or other circumstances block - gitpan is an
> alternative solution.
>
> Happy New Year :-)
>
> jonasbn
> --
> Twitter: @jonasbn
>
> > Den 4. jan. 2016 kl. 22.41 skrev Philippe Bruhat (BooK) <
> philippe.bru...@free.fr>:
> >
> >> On Mon, Jan 04, 2016 at 07:21:01PM +0100, Jonas Brømsø Nielsen wrote:
> >> Hi Shlomi,
> >>
> >> A sane alternative to Subversion migration could be starting out from
> gitpan:
> >>
> >> https://github.com/gitpan/File-Remove <
> https://github.com/gitpan/File-Remove>
> >
> > But that replaces the full history with the history of whatever was
> released.
> >
> > --
> > Philippe Bruhat (BooK)
> >
> > Eliminate a problem before it eliminates you!
> >(Moral from Groo The Wanderer #65
> (Epic))
>


Re: autodie was not installed on http://www.cpantesters.org/cpan/report/6109ee1e-63a7-11e5-80f8-24112cde3c15

2015-09-28 Thread Karen Etheridge
> Proper test_requires support in MB requires MB 0.4200

That shouldn't matter in this case -- dynamic_config is 0, so the prereqs
should be read out of META.*, and autodie is in build-requires, so the
installer should be satisfying that requirement.

Shlomi: please, for the love of kittens, add a META.json to your
distributions, and please only use Module::Build when necessary (which,
given you're using Dist::Zilla to package your distribution, should be
almost never).


On Sat, Sep 26, 2015 at 3:48 AM, Shlomi Fish  wrote:

> Hi, Leon!
>
> On Sat, 26 Sep 2015 12:28:20 +0200
> Leon Timmermans  wrote:
>
> > On Sat, Sep 26, 2015 at 10:33 AM, Shlomi Fish 
> > wrote:
> >
> > > On
> > >
> http://www.cpantesters.org/cpan/report/6109ee1e-63a7-11e5-80f8-24112cde3c15
> > > - there's a missing "autodie" despite the fact that it properly
> appears in
> > > the
> > > test_requires in Build.PL and in build_requires in the META.yml. Please
> > > investigate why it is happening.
> > >
> >
> > Proper test_requires support in MB requires MB 0.4200
> >
>
> Well https://metacpan.org/source/SHLOMIF/App-Timestamper-0.0.5/Build.PL
> seems to contain the right code to fallback to build_requires (see line
> #63),
> however with a check for version 0.4004 instead. Should it be 0.4200 ? Is
> it a
> bug in Dist::Zilla? The latest version of dzil was used.
>
> >
> > > I also noticed that the test was done with perl-5.6.2 - is there still
> a
> > > case
> > > for testing with such an ancient version of perl?
> > >
> >
> > Yes there is.
>
> Until when are we going to do so? And why?
>
> Regards,
>
> Shlomi Fish
>


Re: PDL::Fit::Levmar isn't installable via cpan; help on debugging

2015-05-20 Thread Karen Etheridge
This distribution contains no indexable .pm files. The author needs to
upload a new version that contains something that can enter the 02packages
index (a .pm file containing a parsable 'package' declaration that matches
the distribution name).


On Tue, May 19, 2015 at 8:47 AM, Diab Jerius djer...@cfa.harvard.edu
wrote:

 Could someone look into why PDL::Fit::Levmar is visible on
 search.cpan.org, but isn't installable by the cpan command?  I'd like
 to send a patch upstream to fix that.

 http://search.cpan.org/~jlapeyre/PDL-Fit-Levmar-0.0096/

 % cpan PDL::Fit::Levmar
 CPAN: File::HomeDir loaded ok (v1.00)
 CPAN: Storable loaded ok (v2.34)
 Reading '/home/dj/tmp/cpan/Metadata'
   Database was generated on Mon, 18 May 2015 15:29:01 GMT
 Warning: Cannot install PDL::Fit::Levmar, don't know what it is.
 Try the command

 i /PDL::Fit::Levmar/

 to find objects with matching identifiers.


 (It's also not visible on MetaCPAN, presumably because of this problem)

 Thanks,
 Diab



Re: Curating old dists on CPAN

2015-05-02 Thread Karen Etheridge
Permissions issues like this can be resolved if you send an email to
modu...@perl.org, and provide documentation that the owner(s) of the module
give their consent.

On Fri, May 1, 2015 at 2:10 PM, John M Gamble jgam...@ripco.com wrote:

  On 4/30/2015 5:10 PM, Neil Bowers wrote:

 I think we should either remove very old dists from CPAN, or update them
 to follow modern conventions (so they have a META.yml or META.json, for
 example). I had email with the author of CGI::Response (last released in
 1995) for example, and he agreed that it should be removed from CPAN.

  I had a look at all the dists that were last released in 1995 and wrote
 up my thoughts on them:

  http://neilb.org/2015/04/30/curating-old-releases.html

  Where people think dists shouldn’t be removed, I’m happy to try adopt
 them to release minimal updates, where I’m able to.

  I’m interested to hear what others think.

  Neil


 This brought back some frustrated memories. I tried to take over
 Math::Brent, for the purpose of upgrading the package and fixing an error.
 I managed to locate John Williams, who was fine with it -- but who then
 couldn't grant me co-maintenance because PAUSE didn't have him as the owner
 (I checked, and all of his modules at that time were co-owned by another
 user, although only one had been worked on).

 At that point he didn't feel like proceeding further, and I didn't feel
 like making an issue of it, especially if the other user was going to make
 the fixes anyway.

 It's now two years later. The other user doesn't seem to have ownership
 anymore, but Math::Brent is still has an outstanding bug.

 I'm still interested in being a co-maintainer. For that matter, I'd be
 interested in co-maintaining Math::Fortran and Math::Derivative, although I
 would probably retire the Math::Fortran name for something like Math::Util.

 -john



Re: throw away module namespace

2014-12-14 Thread Karen Etheridge
All the suggestions so far are bang on -- I just have one more: prepan.org
is a great place to post your module and get early feedback on it!


Re: Broken CPAN Modules

2014-09-16 Thread Karen Etheridge
On Tue, Sep 16, 2014 at 05:44:44PM -0400, Shawn H Corey wrote:
 I just upgrade my Perl to 5.20.1 and tried to load my favourite
 modules. Why is it that modules that worked in previous versions won't
 work in the new one?
 
 Moose has unresolved dependencies. Dist::Zilla has unresolved
 dependencies. Tk i won't compile. It can't even find Git.
 
 How would anyone expect people to use Perl if old modules that are
 suppose to be tried and ture, don't work right?

Can be be specific about what distributions are failing to install?



Re: IRC from MetaCPAN

2014-09-16 Thread Karen Etheridge
On Wed, Sep 17, 2014 at 01:30:03AM +0300, Gabor Szabo wrote:
 I just saw this: https://metacpan.org/release/Catalyst-Runtime
 It has a big red link to a web-based IRC client getting on to #catalyst

https://github.com/CPAN-API/metacpan-web/issues/1235



Re: Broken CPAN Modules

2014-09-16 Thread Karen Etheridge
On Wed, Sep 17, 2014 at 12:16:49AM +0100, David Cantrell wrote:
 I've run into this so many times and over such a long period of time
 that it looks more like a cpanm bug to me, given that the normal
 cpan client doesn't suffer from this. Perhaps it needs to learn
 about some other mirrors and automagically fall back to them if
 downloading from www.cpan.org fails.

You can use cpanm with any mirror(s) you like.  I have a shell alias set up
so 'cpanm $module' always pulls from my local mirror first, falling back to
cpan.org on failure.


Re: Personal Dashboard on MetaCPAN

2014-09-04 Thread Karen Etheridge
On Thu, Sep 04, 2014 at 09:35:25AM +0300, Gabor Szabo wrote:
 The Personal Dashboard for authors has been updated.
 https://metacpan.org/lab/dashboard
 I think the bug reported by Karen was fixed.
 
 The load-time of the page is now related to the number of distributions you
 have, so if you have a lot,
 it might take a few seconds.

Cool!  It's neat to see bug counts tallied up all in one place  Are these
only from the official bugtracker (from the metadata)?  You might want to
add in RT counts anyway:  e.g. 2+10 - 2 from RT and 10 from the official
bugtracker.

Also - the title attribute is Search the CPAN but should be something
like MetaCPAN dashboard for ETHER.

I see another issue -- which seems to be rooted in a kwalitee metric
(licence not recognized) -- so I'll file a ticket with
Module-CPANTS-Analyse for it.

Nice job!



Re: UNIVERSAL

2014-08-31 Thread Karen Etheridge
On Sun, Aug 31, 2014 at 04:13:03PM -0400, Lincoln A Baxter wrote:
 Sys::SigAction has one instance of a call to UNIVERSAL::isa (line 135 of
 SigAction.pm) in a function context:
 
 die '$action is not a POSIX::SigAction' if not UNIVERSAL::isa( $action 
 ,'POSIX::SigAction' );
 
 This call is in set_sigaction() which is in a private function and it is
 essentially just defensive programming. I don't think I have had a
 problem with this since is was first released.   The reason
 UNIVERSAL::isa is called as a function here is that that within the
 scope of this function how might one know if the scaler $action is
 blessed reference, just a reference, or something else. UNIVERSAL::isa()
 answers all of these questions in one statement.  
 
 If UNIVERSAL::isa() is now deemed incorrect in a context like this,
 I'm curious, given the requirements this line of code meets, what those
 on this list think this line of code should be converted to.  

... if not (blessed($action) and $action-isa('POSIX::SigAction'))

...which is a little longer, so exactly why Safe::Isa was written :)
(note: I'm not the author, just the most recent releaser)



Re: UNIVERSAL

2014-08-28 Thread Karen Etheridge
On Thu, Aug 28, 2014 at 12:43:48PM +0100, David Cantrell wrote:
 On Wed, Aug 27, 2014 at 08:54:07AM -0700, Karen Etheridge wrote:
 
  ..but as others have said, you don't 'use UNIVERSAL' directly - in fact the
  word 'UNIVERSAL' should never have to appear in your code.
 
 It might never *have to* appear in your code, but it is on occasion
 rather handy. UNIVERSAL::isa is useful for non-objecty code that
 manipulates or inspects classes, for example.

You should never run UNIVERSAL::isa as a function - only run it as a
method, using the class or object as the invocation subject.  The function
form was removed from documentation *long* ago for very good reason.
Calling it this way breaks any code that overrides isa().
That's why I said the *word* UNIVERSAL should never appear, not the use of
the interfaces it provides.

good:
$class-isa('thing')
$object-isa('thing')
ClassName-isa('thing')

bad:
UNIVERSAL::isa('ClassName', 'thing')



Re: Turning numbers into words

2014-07-11 Thread Karen Etheridge
On Fri, Jul 11, 2014 at 03:22:57PM +0100, Neil Bowers wrote:
 This has given me an idea for another module, Lingua::EN::Numbers::WithUnits, 
 or a new function in Lingua::EN::Numbers :-)
 
 5oz becomes five ounces
 8kgs becomes eight kilograms

I'd start with Lingua::EN::Units, and have the simple interface just
expanding 'oz' to 'ounce'.*  Include an option to also consider numbers, so
that '8 oz' turns into '8 ounces' or 'eight ounces' rather than '8 ounce'.

* which naturally deserves a 0.001 release all on its own, before moving on
to the more complicated case


Re: Turning numbers into words

2014-07-10 Thread Karen Etheridge
On Wed, Jul 09, 2014 at 09:14:47PM -0700, Buddy Burden wrote:
 So, I know how to turn 36 into thirty-six (Lingua::EN::Numbers)
 and 22 into twenty-second (ditto), and 3/4 into three
 quarters (Lingua::EN::Fractions) and even 1994 into nineteen
 ninety-four (Lingua::EN::Numbers::Years).  What I actually _want_,
 though, is to turn In 1994, on the 22nd of February, 3/4 of the 36
 members were present into In nineteen ninety-four, on the
 twenty-second of February, three quarters of the thirty-six members
 were present.
 
 So, before I go and write that myself, does anyone know of an
 existing module that I missed somehow?  Also, if anyone wanted to
 weigh in on a good name for such a module, I'll happily entertain
 suggestions. :-)

You should be able to use Lingua::EN::FindNumber for this, with a while
loop and s///g.  Plus, it's just been recently adopted by Neil Bowers!

(I find that looking at the PAUSE index directly is usually the fastest way
to find things - I searched for lingua.*number in my editor and it popped
right out.)


Re: naming a new module

2014-05-14 Thread Karen Etheridge
On Wed, May 14, 2014 at 12:47:50PM +0100, David Cantrell wrote:
  These existing modules do the same thing, only slower, less
  completely, and less correctly:
 
 Instead of less completely and less correctly they might just have a
 different definition of what is correct.

I don't think this is a situation where correctness is in the eye of the
beholder. It is more objective than that.



Re: Personal Dashboard on MetaCPAN

2014-05-12 Thread Karen Etheridge
On Mon, May 12, 2014 at 07:06:49PM +0300, Gabor Szabo wrote:
 a while ago I started to create a dashboard on MetaCPAN.
 If you are a CPAN author logged in to MetaCPAN you can
 visit this page https://metacpan.org/lab/dashboard
 to see two lists:
 The list of your modules that don't have VCS in the META files
 and the list of your modules that don't have a license fields in the META 
 files.
 
 It would be nice if you could check these out and point out items on
 either of those lists that are incorrectly there.

Module-Metadata is flagged as missing repository metadata, but:

https://metacpan.org/source/ETHER/Module-Metadata-1.22/META.json#L53
https://metacpan.org/source/ETHER/Module-Metadata-1.22/META.yml#L35

There is some data there. ({repository}{url} was dropped in META.json
because the format I used didn't validate, but has been fixed in the
repository.)  Since metacpan still knows how to parse the data it sees,
what remains should be sufficient.  (You might want to check the metacpan
code to see what exact field(s) it looks for.)

 I am planning - without any real schedule - to steal ideas from Neil Bowers
 http://neilb.org/2014/03/10/cpan-dashboard.html
 but it would be great if you, as module author could say what would be
 useful for you?

More dashboards are great, for the authors that are clued in, but most of
us are already aware of things like this already. It's the authors that
aren't aware that are the problem. This is where the once-a-year reachout
to all authors will help.

Personally, I like the CPANTS/Kwalitee dashboard because I can see lots of
metrics all in one place. If at all possible, I'd prefer to add checks like
this as kwalitee metrics. (It doesn't look like there's a metric for the
resources metadata field; one could easily be added.)


Karen Etheridge
-et...@cpan.org




Re: Weird test results on linux.*ld (only)

2014-04-26 Thread Karen Etheridge
On Sat, Apr 26, 2014 at 05:27:58PM -0400, Paul Bennett wrote:
 Based on the results below, which show failures only on all linux-ld perls,
 and only failures on any linux-ld perl, what would you all recommend as my
 next debugging step(s)?
 
 http://matrix.cpantesters.org/?dist=Path-Hilbert%201.001
 
 I could make more tests, and do more-verbose testing, but if the math isn't
 working (specifically 2 ** 7 != 128, or at least log(128) / log(2) != 7),
 I'm not entirely sure where I'd even start looking.

The line that is causing issues is:

2 ** int(log($n) / log(2)) == $n or confess(Side-length $n is not a power 
of 2);

I'd want to see what the value of that expression is, if it doesn't equal
$n. This could be due to bad rounding in int(log($n) / log(2)).

So that either means finding a machine with the right architecture to test
on, or put out a new release with a more specific error message.
At the same time, you can get the answer to your next question in advance:
print out the result of log($n) / log(2) before you convert it to an
integer.

(Also, your error message doesn't accurately portray the problem - you're
not just checking that the expression is a power of 2 -- which it has to
be, since the last thing you do is raise 2 to the nth power), but that it
equals a specific value.)

FWIW, you can check if a number is a power of 2 much more easily, by
leveraging the fact that binary is a base 2 system:

($n  ($n - 1)) == 0 or confess(Side-length $n is not a power of 2);

*much* faster than doing floating point operations :)


Re: File::ShareDir and development?

2014-04-04 Thread Karen Etheridge
On Fri, Apr 04, 2014 at 08:11:18AM +0300, Gabor Szabo wrote:
 I guess I have not explained myself clearly - or I just don't
 understand the answer -
 during development I like to be able to run the application from the 
 development
 environment without any pre-processing. Without and installation phase.
 So during development I'd like to get my application to look in the
 directories in the development
 environment.

You could have a development-specific script for starting your application,
where you set extra environment variables or call Test::File::ShareDir or
whatever to set up your dev-specific environment.

This is also useful for adding extra dev-specific code, such as
profilers, Plack::Middleware::Debug etc, setting the number of starman
workers to 2 instead of 100, disabling monitoring, etc etc.



Re: File::ShareDir and development?

2014-04-03 Thread Karen Etheridge
On Thu, Apr 03, 2014 at 11:32:11PM +0300, Gabor Szabo wrote:
 On Tue, Apr 1, 2014 at 7:55 PM, Karen Etheridge p...@froods.org wrote:
 
  https://metacpan.org/pod/Test::File::ShareDir
 
 
 thanks. That looks good for test run, but not for running the application
 in the development environment.

File::ShareDir assumes that you will be using the Makefile.PL/Build.PL to
install the module into some location.  You can easily install it anywhere
using local::lib.  It simply doesn't work without going through that route.
(That's what File::ShareDir::Install does, which is called by Makefile.PL.
So, you could always call that yourself in your custom build script, but
I'd strongly advise using a normal install process.)

There *is* a module that provides this functionality, but I hesitate to
name it as it is a horrible horrible hack that should have never been
released to the cpan in the first place (and we're trying to fix
all users of it so it can be removed from the cpan).

You can also store your data in another location and pass around its path
as a config parameter to your application, or you can embed data into a
module as a __DATA__ section.



Re: File::ShareDir and development?

2014-04-01 Thread Karen Etheridge
On Tue, Apr 01, 2014 at 04:03:25PM +0300, Gabor Szabo wrote:
 I use  File::ShareDir to locate the shared files installed with the module.
 How can ensure that it will access the local share directory in the 
 development
 environment  during development/testing/installation and won't try to
 use the files already
 installed by a previous version of the module?

https://metacpan.org/pod/Test::File::ShareDir



Re: Best way to communicate changing the output of a module

2013-12-20 Thread Karen Etheridge
On Fri, Dec 20, 2013 at 02:59:41PM +, Matthew Astley wrote:
 As you're well under the magic 1.00 version number, you could probably
 just change it and mention this in the release notes.  Giving useful
 error messages will ease the transition.
 
 I tend to imagine that anyone pointint a 0.03 module at a real bank
 account will be reading every line and subsequent diff!

I don't think it's wise to assume any connection between a module's version
and its stability, unless the documentation explicitly says so.  For
example, there was a lot of attention when Moose hit 1.00, but it meant
nothing - it was simply the next version after 0.99.  Test-Simple just
had the same thing happen to it last month, too.

I release new distributions starting at 0.001 and increment from then on,
but that doesn't mean that it's unstable.  I *might* do a major version
bump if there is a non-backwards-compatible change to the API, but more
likely I'd expose the changes through an import variable instead.

If we didn't rely on any module in cpan that had a version under 1.0, we'd
have a very very limited selection of modules indeed.



Re: Module to test SQL data

2013-12-06 Thread Karen Etheridge

Why does one need a Makefile.PL to evaluate the distribution? One should be
able to run it just fine with 'prove -lr t', 'perl -Ilib t/foo.t' etc.

However, that README doesn't sound right -- that sounds tailored towards
developers (which really belongs in something like CONTRIBUTING), whereas a
README should be targeted towards *users* -- containing instructions that
users need to install and run the distribution.  (This is the type of
content what the core [Readme] plugin generates.)


On Fri, Dec 06, 2013 at 07:01:32PM -0500, James E Keenan wrote:
 On 12/4/13 3:12 AM, Francesc Guasch wrote:
 On Tue, Dec 03, 2013 at 07:09:16PM -0500, James E Keenan wrote:
 
 
 2. Is the source code publicly available somewhere, e.g., github.com?
 
 I don't know what I was waiting for. Here it is now:
 
  https://github.com/frankiejol/Test-SQL-Data
 
 Okay.  Now, although I will probably catch hell from the Toolchain
 Gang for saying this, the fact that your distribution is structured
 *only* with dzil poses a barrier to my evaluating it.
 
 Your README says that to install one should call 'dzil test', then
 'dzil install'.  However, for 'dzil test' to complete I have to
 install someone's (not your) authordeps bundle:
 
 $ dzil authordeps | cpanm
 ...
 -- Working on Dist::Zilla::Plugin::VersionFromModule
 Fetching 
 http://search.cpan.org/CPAN/authors/id/C/CJ/CJM/Dist-Zilla-Plugins-CJM-4.20.tar.gz
 ... OK
 
 That's more work than I want to do to evaluate a module.  If you
 supplied a Makefile.PL, that would give me an incentive to take a
 second look.
 
 Thank you very much.
 Jim Keenan

-- 
 Perfection (in design) is achieved not when there is
is nothing more to add, but rather when there is nothing
more to take away. - Antoine de Saint-Exupery
. ... .
Karen Etheridge, ka...@etheridge.ca   GCS C+++$ USL+++$ P+++$ w--- M++


Re: How to add your avatar to Google search results involving CPAN modules

2013-11-22 Thread Karen Etheridge
On Fri, Nov 22, 2013 at 03:13:27AM +0100, Philippe Bruhat (BooK) wrote:
 Well, I found the results of the Search distribution form not very
 good (I think because it only searches in the documentation?) but maybe
 that's because I'm used to s.c.o's grep utility (which lacks some
 useful linking back to the file where it found the string).

You do know about grep.cpan.me, right? :)



Re: How to add your avatar to Google search results involving CPAN modules

2013-11-21 Thread Karen Etheridge
On Thu, Nov 21, 2013 at 12:33:26PM -0900, Arthur Corliss wrote:
 I'm in the same boat.  I have yet to hear of any reason compelling enough to
 make me break old habits...

s.c.o can display broken or outdated data. I've seen cases where its idea
of an indexed dist is quite different than PAUSE.

It takes a while to get used to the new layout, but once you do, you'll
never go back. The quality and depth of information available does not
compare.



Re: How to add your avatar to Google search results involving CPAN modules

2013-11-18 Thread Karen Etheridge
On Mon, Nov 18, 2013 at 12:51:18PM -0500, Olaf Alders wrote:
 I don't have a real answer here, but one problem may be the huge amount of 
 inbound links search.cpan.org has vs metacpan.org  Having been around so much 
 longer, it's natural that search.cpan.org is the clear winner in this 
 department.  To a degree, MetaCPAN perpetuates the problem by publishing 
 module Pod which, in many cases, links back to search.cpan.org as well.

I have this old and rejected PR against Pod::Simple to switch links to
metacpan.org -- https://github.com/theory/pod-simple/pull/36
If anyone is up for writing a subclass as theory suggests, that would be
helpful for the - metacpan shift.  It should also be able to support other
Pod:: modules that are built on top of Pod::Simple (like Pod::Markdown) so
other documentation formats can also use metacpan links.  (I was surprised
to see that the README.md documents I generate in all my github
repositories contain s.c.o links!)

Also, I noticed that links on the cpantesters.org site also use s.c.o, so
that's another code path to update...

and then, there's 391 pages of results for
http://grep.cpan.me/?q=search.cpan.org -- many of these are META.* files
that are generated from some code somewhere (so one patch should fix all of
these, over time), but a lot were inserted manually.  This would make for a
great questhub.io task for the OCD-minded (I'm looking at you pathological
typo correctors). ;)

-ether


Re: Unclear as to problem: Tried to register 'Types', but says can't due to unrelated module.

2013-11-13 Thread Karen Etheridge
On Wed, Nov 13, 2013 at 08:58:41AM -0800, Linda A. Walsh wrote:
 It's not meant to be fancy -- just simple and convenient.

Simple and convenient for you perhaps, but that doesn't merit an upload to
the CPAN where code is expected to be usable by all.

At this point I feel obliged to point to
http://ledgersmbdev.blogspot.co.uk/2013/11/on-cpan-community-and-p-case-study-in.html

At this point in your open source career, I would suggest that prepan.org
is a more appropriate place for your uploads than the CPAN. Your modules
are not ready to be used by others; they need more work.


Re: (FYI)...Module naming collision Or mirage?

2013-11-12 Thread Karen Etheridge
On Tue, Nov 12, 2013 at 09:43:54PM -0800, Linda A. Walsh wrote:
   It will fail unless Ingy gives you permission (he has first-come
 on that namespace).
 
 ??? Who is Ingy and how does he come into the picture?

https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=mepause99_peek_perms_query=Math%3A%3ASimplepause99_peek_perms_sub=Submit


Re: Why wasn't my upload indexed?

2013-08-19 Thread Karen Etheridge
On Sun, Aug 18, 2013 at 07:58:58PM +0200, Andreas Koenig wrote:
 Meanwhile you have decided to schedule the file for deletion and then
 you changed the name to Hack-Natas. Did this change help? What was your
 experience? Is still a question pending?

The question was re-asked on the 'modules' list, and answered:

 In-Reply-To: 20130816182332.GE4896@tequila
 From: David Golden x...@xdg.me
 Date: Fri, 16 Aug 2013 14:41:31 -0400
 Message-ID: 
 caoeq1c_ny-y5c9p1ptyuegq4rvh0jjkyvtqwefjl8jpbvbs...@mail.gmail.com
 Subject: Re: Why wasn't my upload indexed? (fwd)
 To: Karen Etheridge p...@froods.org
 Cc: modu...@perl.org modu...@perl.org, Mike Doherty m...@mikedoherty.ca
 
 From my quick look, there's no .pm file, so nothing to index.  POD
 files are not indexed.
 
 I.e. App::Natas is lib/App/Natas.pod
 
 If you make that lib/App/Natas.pm and put in an appropriate package
 App::Natas line, then it will get indexed.
 
 David
 
 
 On Fri, Aug 16, 2013 at 2:23 PM, Karen Etheridge p...@froods.org wrote:
 
  forwarding along to the right list
 
  - Forwarded message from Mike Doherty m...@mikedoherty.ca -
 
  From: Mike Doherty m...@mikedoherty.ca
  Date: Tue, 13 Aug 2013 20:44:59 -0300
  To: module-authors@perl.org
  Subject: Why wasn't my upload indexed?
 
  Hello,
 
  I uploaded this[0] the other day. I received the entered email, but
  never the indexed email. The module isn't listed in my pause
  permissions page as first-come, and although the file is in
  D/DO/DOHERTY/App-Natas-0.001.tar.gz, that file doesn't appear in
  02packages. What gives?
 
  -Mike
 
  [0] https://metacpan.org/release/DOHERTY/App-Natas-0.001
 
  - End forwarded message -
 
 
 
 --=20
 David Golden x...@xdg.me
 Take back your inbox! =E2=86=92 http://www.bunchmail.com/
 Twitter/IRC: @xdg