Re: Module Naming & Relevancy

2022-06-11 Thread David Cantrell

On 11/06/2022 09:21, Neil Bowers wrote:

I’d go with WebService::PACER – WebService is *one* of the standard 
namespaces on CPAN for this sort of module :-)


You could slip a USCourt in the middle, but I don’t think that’s 
necessary – better to keep things simple.


It's not *necessary* but it is the polite and reasonable thing to do. 
I'm sure it's not the only web service out there called Pacer, and if 
there is another then Brian's isn't any more important than they are.


--
David Cantrell


Re: How to handle minimum versions of dependencies which are recommended but not required?

2021-08-08 Thread David Cantrell

On 08/08/2021 20:34, Diab Jerius wrote:


Here's the problem, illustrated by this CPAN testers failure:

http://www.cpantesters.org/cpan/report/2f961e48-6bf6-1014-90df-a468c69b7236

The smoker has versions of Cpanel::JSON::XS and YAML::XS which are older 
than my required versions.  Since the ::XS versions are prioritized over 
the ::PP versions, the code uses those and thus fails the tests.   I 
presume that because the ::XS versions are recommendations rather than 
requirements, they weren't updated to the versions that the code requires.


Is there some way of triggering an update to the required versions via 
the metadata, or should I put a runtime version check into the tests and 
skip if the appropriate versions aren't installed?


You can check what's already installed in your Makefile.PL or 
equivalent, and prompt the user if you can't figure out what to do 
automatically. I ASSume that the correct thing to do would be to do as 
you currently do if none of your deps are installed, but if any are 
installed you'd want to tell EU::MM's WriteMakefile function that you 
have a runtime requirement for updated versions.


Use the prompt() function from ExtUtils::MakeMaker as that will pay 
attention to the PERL_MM_USE_DEFAULT env var. You may also want to pay 
attention to AUTOMATED_TESTING and NONINTERACTIVE_TESTING. In particular 
you will find that CPAN-testers generally set all three of those.


Vary as appropriate if you use a different build system.

--
David Cantrell


Re: Module name hierarchy...

2020-09-25 Thread David Cantrell

On 25/09/2020 19:59, Dan Book wrote:
On Fri, Sep 25, 2020 at 2:20 PM BC <mailto:bill.co...@alumni.unh.edu>> wrote:


Let's say I wanted to submit a module named:

      Class::Error::Foobar

Would this be considered bad form if my "Foobar" module is not related
to the existing Class::Error module in any way?  In other words,
Foobar does not depend on, extend, nor reference the Class::Error
module other than perhaps a courtesy "See Also" mention.

It is not necessarily bad form, but if there is an existing 
"Class::Error" ecosystem you might consider asking the author first in 
case they wanted to use that sub-namespace. That does not really seem to 
be the case here.


I'd say that you should ask no matter what, and should also consider 
using something like Foobar::Error instead. Partly to avoid trampling on 
someone else's namespace, but also because using C::E::Foobar might give 
your users some incorrect expectations if they are already using 
Class::Error elsewhere.


--
David Cantrell


Re: [RFC] File::TVShow::Parse

2019-04-15 Thread David Cantrell
On Mon, Apr 15, 2019 at 12:04:24PM -0400, Dan Book wrote:

> As a side note, remember that the X.Y.Z form of versions (with more than
> one decimal point) is a sequence of integers ...

Sadly it's worse than that.

There exists popular software management software out there written by
idiots who think that 3.0014 > 3.1, so that rule applies even when
you're using numbers in the form X.Y with a single decimal point. Those
people did a lot of hard work to break numeric comparisons, one of the
few things that computers are any good at.

To work around their deliberate bug you need to keep the non-integer
part of your version numbers the same length, always. So use the strings
"3.0014" and "3.1000" instead of the numbers 3.0014 and 3.1 if you want
to use non-integers.

Or just use integers.

-- 
David Cantrell | Minister for Arbitrary Justice

   The voices said it's a good day to clean my weapons


Re: tools and work flows for developing collections of distributions

2018-11-22 Thread David Cantrell
On Wed, Nov 21, 2018 at 02:50:26PM -0800, David Christensen wrote:
> On 11/21/18 2:15 AM, David Cantrell wrote:
> >These days people tend to just create Task-whatever
> >distributions, which contain a bit of documentation in Task::whatever
> >for the benefit of metacpan users, and the usual Makefile.PL to declare
> >dependencies.
> Where can I find documentation that explains Tasks and how to create them?

The same place you'd find documentation on creating any other completely
normal distribution.

> I assume you are referring to the PREREQ_PM argument to WriteMakefile(). 
> As I understand it, this argument assumes that the modules are already 
> installed.

A CPAN client will spot the dependencies and install them.

>So for development, I would need to preface the Perl include 
> path with the 'lib' directories for each of my distribution source trees 
> (?).

If you want to test against stuff that isn't on the CPAN, yes. If you
have all your distributions' sources as sub-dirs of a single directory
you can do something like ...

  cd $wherever
  export PERL5LIB=`perl -MCwd -e 'print join(":", map { cwd."/$_/lib" } @ARGV)' 
*`:$PERL5LIB

but note that that won't work for stuff that has XS components, or where
Makefile.PL does funky stuff to edit your code, or where your source
code isn't laid out in the normal hierarchy. Also on at least some
platforms there is a limit on how long PERL5LIB can be.

-- 
David Cantrell | Enforcer, South London Linguistic Massive

Planckton: n, the smallest possible living thing


Re: tools and work flows for developing collections of distributions

2018-11-21 Thread David Cantrell
On Tue, Nov 20, 2018 at 05:25:47PM -0800, David Christensen wrote:

> p.s. Where can I find documentation that explains Bundles and how to 
> create them?

https://metacpan.org/pod/CPAN#Bundles

However, they're a bit magical and require special support in the CPAN
client. These days people tend to just create Task-whatever
distributions, which contain a bit of documentation in Task::whatever
for the benefit of metacpan users, and the usual Makefile.PL to declare
dependencies.

-- 
David Cantrell | semi-evolved ape-thing

Are you feeling bored? depressed? slowed down?  Evil Scientists may
be manipulating the speed of light in your vicinity.  Buy our patented
instructional video to find out how, and maybe YOU can stop THEM


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

2018-11-01 Thread David Cantrell
On Thu, Nov 01, 2018 at 03:28:07PM +, Martin J. Evans wrote:

> Increasingly I am having problems with modules in Perl 5.26 and later which 
> won't install because of the . not in @INC issue. Quite often it is not 
> even the module I want to use but a requirement
> 
> e.g., Cache::Memory requires File::NFSLock and File::NFSLock won't install 
> on 5.26 because of @INC change.

Until authors fix their stuff you can set PERL_USE_UNSAFE_INC=1.

-- 
David Cantrell | London Perl Mongers Deputy Chief Heretic

Us Germans take our humour very seriously
  -- German cultural attache talking to the Today Programme,
 about the German supposed lack of a sense of humour, 29 Aug 2001


Re: executable only Perl distributions & CPAN

2018-09-12 Thread David Cantrell
On Fri, Sep 07, 2018 at 01:18:28PM -0700, Karen Etheridge wrote:
> 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.

It would also make it easier to write tests for your code - you'd be
able to load the module and call individual methods in it and check
their return values and side-effects instead of having to shell out to
the script a zillion times.

-- 
David Cantrell | Bourgeois reactionary pig

We found no search results for "crotchet".  Did you mean "crotch"?


Re: [RANT] Should we try to keep compatibility with old perl5s?

2018-08-13 Thread David Cantrell
On Sun, Aug 12, 2018 at 09:56:44AM -0400, Paul Bennett wrote:

> My take is that there are many, many corporations version-locked to
> specific "enterprise-grade" Linux distros, and stuck with system Perls
> maybe as old as 5.10, and potentially stuck with security policies that
> make solutions like perlbrew difficult.

This is why I created cpXXXan (which needs a new maintainer).

-- 
David Cantrell | Enforcer, South London Linguistic Massive

  While researching this email, I was forced to carry out some
  investigative work which unfortunately involved a bucket of
  puppies and a belt sander
-- after JoeB, in the Monastery


Declaring optional dependencies

2016-11-09 Thread David Cantrell
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?


--
David Cantrell | Minister for Arbitrary Justice

There are two kinds of security, the one that keeps your sister
out, the one that keeps the government out and the one that
keeps Bruce Schneier out.


Re: How to avoid circular module dependencies within a distribution?

2016-10-21 Thread David Cantrell

On 2016-10-18, 07:05, David Christensen wrote:


Once upon a time, I created a distribution with circular dependencies.
Then I discovered that a compiler failure in one module that is part of
a circular dependency loop will cause a domino effect whereby none of
the modules in the loop will compile (!).  The same goes for all the
test scripts that depend upon any of those modules (!).  I recall that
finding and fixing problems under such circumstances could be very
tough.  I also recall throwing away my entire working file set, doing a
fresh check-out, and starting over from scratch on more than one occasion.
...
How do other module authors solve the intra-distribution module
dependency problem?


Commit regularly, commit often, don't be afraid to revert or to git 
reset --hard :-)


I have some rather alarming intra-distribution module dependency 
problems in one of my dists - Number-Phone - but seem to muddle through 
OK. Debugging when I break part of it can be a bit of a pig though.


If I followed my own advice (which of course I don't - I don't practice 
what I preach because I'm ~~better than the people I'm preaching to~~ 
~~not the sort of person I'm preaching to~~ lazy) then my tests would be 
proper unit tests which rigourously mock each little bit of code's 
interactions with others, thus making the whole problem go away. I even 
wrote a little ball of Scary to help with that:

  https://metacpan.org/pod/Class::Mock::Generic::InterfaceTester

--
David Cantrell | Pope | First Church of the Symmetrical Internet

There are two kinds of security, the one that keeps your sister
out, the one that keeps the government out and the one that
keeps Bruce Schneier out.


Re: Boolean As a Top Level Name

2016-09-12 Thread David Cantrell
On Sat, Sep 10, 2016 at 02:46:18PM +0200, Paul Johnson wrote:

>  - The correct spelling is Logic::Minimise

Try searching for "minimise" at oed.com. See also
https://en.wikipedia.org/wiki/Oxford_spelling

But in summary, "minimise" is an acceptable alternative spelling for
"minimize", both are correct.

-- 
David Cantrell | http://www.cantrell.org.uk/david

There are two kinds of security, the one that keeps your sister
out, the one that keeps the government out and the one that
keeps Bruce Schneier out.


Re: Where to report bugs in website 'search.cpan.org' ?

2016-09-12 Thread David Cantrell
On Fri, Sep 09, 2016 at 12:50:49AM -0700, L. A. Walsh wrote:

>Was interesting for a bit -- but it seems like the discussion
> sorta drizzled out w/o any decisions as it appears the stakeholders are
> not willing to participate.  Since the cpanratings people aren't willing
> to even participate in fixing the problems, the ratings should, *at least*
> be removed from the search site ...

I believe that if you want changes made to search.cpan.org you need to
talk to Graham Barr.

-- 
David Cantrell | top google result for "internet beard fetish club"

Erudite is when you make a classical allusion to a
feather.  Kinky is when you use the whole chicken.


Re: Test window creation

2016-07-26 Thread David Cantrell
On Tue, Jul 26, 2016 at 08:21:00AM -0500, Luis Mochan wrote:

> I wonder how do you 'Test' a module that is related to a graphical
> interface. I got failure reports from cpan testers with  messages like:
> 
> #  got: 'couldn't connect to display ":0" at \
> /home/cpan/pit/thr/conf/perl-5.24.0/.cpanplus/5.24.0/build/Ss0ihFoAc_/Tk-804.033/blib/lib/Tk/MainWindow.pm
>  \
> line 53. 
> # Tk::MainWindow->new() at t/create.t line 45.

See the section "Why are you testing (and failing) my Tk-ish module
without an X server" here:
  http://wiki.cpantesters.org/wiki/CPANAuthorNotes

-- 
David Cantrell | Reality Engineer, Ministry of Information

More people are driven insane through religious hysteria than
by drinking alcohol.-- W C Fields


Re: Is META.yml Necessary Anymore?

2015-10-26 Thread David Cantrell
On Sun, Oct 25, 2015 at 10:16:02AM -0400, Shawn H Corey wrote:

> If it's not a requirement, then people are going to get sloppy with it,
> meaning sometimes it will break other people's code.

Supporting everything for ever is a recipe for Pain. I'd be happy for it
to be officially deprecated, for authors to be notified, for tools to
later start warning that it exists, and for support to be removed in a
few years.

-- 
David Cantrell | top google result for "topless karaoke murders"

You may now start misinterpreting what I just
wrote, and attacking that misinterpretation.


Naming help needed for evil @INC hackery

2015-10-06 Thread David Cantrell
One of my modules is Sub::WrapPackages. It has a feature where you can 
invoke it once and it will both wrap itself around code that's already 
been loaded, but will also lurk in the background and do Things to code 
that is loaded in the future. It does this by dropping sub-refs in @INC. 
It also subverts 'use lib' so that if you 'use lib' after it has dropped 
its magic into @INC, it silently moves its sub-refs to the front of @INC.


The code for this is quite simple and right at the end of Sub::WrapPackages:
https://metacpan.org/source/DCANTRELL/Sub-WrapPackages-2.0/lib/Sub/WrapPackages.pm#L337

I now find that I need this functionality in another module, so I'm 
going to rip it out and upload it to the CPAN as a seperate distribution 
that will let you register sub-refs to do this with. But what to call that?


Devel::INC::MySubrefsFirst?

I think that sucks, but I can't think of anything better that is still 
reasonably short. Anyone got any better suggestions?


--
David Cantrell


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

2015-09-30 Thread David Cantrell
On Sat, Sep 26, 2015 at 10:23:44AM +0300, Shlomi Fish wrote:

> 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?

Better to ask - why not? What's the harm in doing it?

-- 
David Cantrell | semi-evolved ape-thing

Vegetarian: n: a person who, due to poor lifestyle choices,
  is more likely to get arse cancer than a normal person


Re: [Request for Comments] How to properly handle three-dotted-decimals $VERSIONS (e.g '0.0.7') of .pm files and distributions?

2015-06-01 Thread David Cantrell
On Sun, May 31, 2015 at 04:30:05PM -0400, Chris Marshall wrote:

 The biggest issue I've seen with float version strings and triple-dot 
 versions is with support for older perls.

IME a bigger problem is that it makes it far harder than it should be to
write code that reads code. I'm still not convinced that I've got it
100% correct.

And given that there is no standard way of assigning meaning to the
various levels of dottiness, using version strings with multiple dots in
is pointless. If there were any benefit at all from using them I might
be more inclined to respect them, but there are no benefits, therefore
their use is a bug, as is the existence of version.pm. Unfortunately
it's a bug that we have to keep for compatibility with a vast amount of
code out there, but please, don't make the situation any worse by
writing code containing the bug.

-- 
David Cantrell | http://www.cantrell.org.uk/david

  Your call is important to me.  To see if it's important to
  you I'm going to make you wait on hold for five minutes.
  All calls are recorded for blackmail and amusement purposes.


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

2015-05-20 Thread David Cantrell
On Tue, May 19, 2015 at 11:47:07AM -0400, Diab Jerius 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.

I presume it's because there is a file in a distribution which contains
POD with a '=head1 NAME' section containing 'PDL::Fit::Levmar'.

The rest of the distribution looks nothing like normal so you'll have to
figure out how its custom build scripts work and then rewrite them to be
sane.

-- 
David Cantrell | top google result for topless karaoke murders

Anyone willing to give up a little fun for tolerance deserves neither


Re: CHI back-end version 5 deployment imminent

2015-04-09 Thread David Cantrell
Sorry about that - stupid auto-complete filled in the wrong address and
stupid me didn't notice.

-- 
David Cantrell | Pope | First Church of the Symmetrical Internet

IMO, the primary historical significance of Unix is that it marks the
time in computer history where CPUs became so cheap that it was possible
to build an operating system without adult supervision.
 -- Russ Holsclaw in a.f.c


CHI back-end version 5 deployment imminent

2015-04-09 Thread David Cantrell
Looks like we're ready to deploy version 5 to the production 
environments, so I suggest that we do it tomorrow (Thursday) morning. 
Anyone have any objection? Lisa? Krzysztof?


--
David Cantrell


Re: Statistical Outiler Detection Modules - Naming Suggestions

2015-02-06 Thread David Cantrell

On 06/02/2015 21:50, Adam X wrote:


I'm thinking good names would be:
   -  Math::Stats::Outlier::GrubbsTest
   -  Math::Stats::Outlier::ESDTest
   -  Math::Stats::Outlier::TietjenMooreTest

Any suggestions?


There are already numerous Statistics::* modules, so I suggest putting 
them in there instead of creating a new Math::Stats::*


--
David Cantrell | top google result for topless karaoke murders


Re: Module name advice

2014-09-18 Thread David Cantrell
On Thu, Sep 18, 2014 at 10:55:19AM -0400, Diab Jerius wrote:
 I've written a module which subclasses Text::Template and provides
 local encapsulation of template variable environments
 (https://bitbucket.org/djerius/text-template-localize).
 
 I like the name Text::Template::Localize, as in making things local,
 like the Perl 'local' command, but the name sounds a bit too much like
 its doing something with language locales.
 Text::Template::Encapsulate sounds too hermetic to me for some reason.
 
 Would anyone have an alternate suggestion?

Blah::Scoped?

-- 
David Cantrell | London Perl Mongers Deputy Chief Heretic

People from my sort of background needed grammar schools to
compete with children from privileged homes like ... Tony Benn
 -- Margaret Thatcher


Re: Broken CPAN Modules

2014-09-16 Thread David Cantrell

On 16/09/2014 23:51, Brian Cassidy wrote:

On Tue, Sep 16, 2014 at 7:16 PM, Gabor Szabo wrote:
 Actually, while I managed to install quite a few modules, there were
 a few that were not found on CPAN by cpanm ...

 $ cpanm Catalyst::Runtime
 -- Working on Catalyst::Runtime
 Fetching
 
http://www.cpan.org/authors/id/J/JJ/JJNAPIORK/Catalyst-Runtime-5.90072.tar.gz
 ... FAIL
 ! Download
 
http://www.cpan.org/authors/id/J/JJ/JJNAPIORK/Catalyst-Runtime-5.90072.tar.gz
 failed. Retrying ...
 ! Download
 
http://www.cpan.org/authors/id/J/JJ/JJNAPIORK/Catalyst-Runtime-5.90072.tar.gz
 failed. Retrying ...
Looks like an issue with cpan.org http://cpan.org's mirror.


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.


--
David Cantrell | Cake Smuggler Extraordinaire

People from my sort of background needed grammar schools to
compete with children from privileged homes like ... Tony Benn
 -- Margaret Thatcher


Re: Broken CPAN Modules

2014-09-16 Thread David Cantrell

On 16/09/2014 22:44, 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?


What, *precisely*, did you do? What, precisely, are you doing? Right now 
your problem is basically I did an unspecified thing and now another 
unspecified thing doesn't do what I want. We can make guesses about 
what exactly those things are, but only guesses.


How was your previous perl built?
What version was it?
How was the new one built?
How did you upgrade?

Are you trying to load modules that were installed under the previous 
build of perl or are you trying to install them under the new build?


Et cetera.

--
David Cantrell | Pope | First Church of the Symmetrical Internet

People from my sort of background needed grammar schools to
compete with children from privileged homes like ... Tony Benn
 -- Margaret Thatcher


Re: UNIVERSAL

2014-08-28 Thread David Cantrell
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.

-- 
David Cantrell | Minister for Arbitrary Justice

If you have received this email in error, please add some nutmeg
and egg whites, whisk, and place in a warm oven for 40 minutes.


Re: UNIVERSAL

2014-08-27 Thread David Cantrell
On Wed, Aug 27, 2014 at 09:17:19AM +0200, Jonas Br?ms? Nielsen wrote:

 I am a getting a lot of failure reports from CPAN testers on issues with 
 UNIVERSAL. These testers are using:
   perl 5.21.3
 
 The error is:
   UNIVERSAL does not export anything
 
 So my question as a module author is, where do I get information on this new 
 behaviour of UNIVERSAL, I am not able to install perl 5.21.2 using perlbrew, 
 so I do not know where to look for the documentation and what steps to take 
 to get this error addressed.

It's been deprecated for quite some time, and the fact that it was
deprecated was documented in, eg, 5.18.1:
  https://metacpan.org/pod/release/RJBS/perl-5.18.1/lib/UNIVERSAL.pm

ICBA to check all the other 5.18s or any further back, but I presume it
was documented in 5.1[68].*.

 Can anybody provide hints or pointers on how to get more information on this 
 new version of UNIVERSAL.

I thought that there was a policy to have upcoming deprecations generate
warnings, which would make this more obvious, but I don't remember
seeing any for this. Either I misremember, or this deprecation was
created before the warning policy.

-- 
David Cantrell | top google result for internet beard fetish club


Re: Turning numbers into words

2014-07-11 Thread David Cantrell
On Thu, Jul 10, 2014 at 05:36:09PM -0400, Daniel Staal wrote:

 My suggestions:
 
 Lingua::EN::Numbers::All
 Lingua::EN::Numbers::Combined
 
 I'd lean towards ::Combined and allowing the user to specify what 
 sub-functions they want to be using.  (Base numbers and fractions?  Years 
 and base numbers?  etc.)

You have a hard problem to solve here.

In 814 Charlemagne died
  - Eight fourteen

In the year of our lord 814 ...
  - Eight hundred and fourteen

In 814 cases out of 1000 the patient recovered
  - Eight hundred and fourteen

-- 
David Cantrell | semi-evolved ape-thing

It wouldn't hurt to think like a serial killer every so often.
Purely for purposes of prevention, of course.


Re: Devel::Size broken

2014-06-17 Thread David Cantrell
On Mon, Jun 16, 2014 at 04:57:49PM -0700, Mark Hedges wrote:

 Devel::Size module seems to be broken in 5.20.0.  No response from
 developers.  No work for a year or so.
 
 What's the process to address a broken module that the developers won't fix?

http://www.cpan.org/misc/cpan-faq.html#How_adopt_module

The current maintainer is Nick Clark, who is active in the community. I
don't know how long ago you tried to contact him, but perhaps he's just
busy on other stuff.

-- 
David Cantrell | Hero of the Information Age

 If you can't imagine how I do something, it's
 because I have a better imagination than you


Re: naming a new module

2014-05-14 Thread David Cantrell
On Mon, May 12, 2014 at 05:09:27PM -0700, Greg Lindahl wrote:

 We're open-sourcing our module that generates the basedomain of a
 hostname, i.e. ic.ac.uk or blekko.com. We need a name.
 
 These existing modules do the same thing, only slower, less
 completely, and less correctly:
 
  Mozilla::PublicSuffix
  Domain::PublicSuffix
  ParseUtil::Domain
  IO::Socket::SSL::PublicSuffix
  Net::Domain::Match

Instead of less completely and less correctly they might just have a
different definition of what is correct.

-- 
David Cantrell | A machine for turning tea into grumpiness

  Languages for which ISO-Latin-$n is not necessary, #1 in a series:

Latin


Re: Let's delete 10,000 files from CPAN

2014-04-25 Thread David Cantrell
On Fri, Apr 25, 2014 at 12:16:56AM -0700, David Christensen wrote:

 1.  I doubt the people whose systems depend upon those disappearing CPAN 
 distributions will find it to be fun.  That's not a nice thing to do to 
 people, and it's going to create negative reactions for Perl, CPAN, and 
 FOSS.

If you depend on an old version of some distribution, then you really
need to be doing more than just downloading that old version from the
CPAN. You need to manage all of the rest of your dependencies too so
that none of them sneak in an updated version while you're not looking.

Jeffrey Thalhammer's Pinto tool was written for people like that.  Or if
you just don't want any modules after a particular point in time, or
need the latest version that works on a particular perl, there's
cpXXXan.

 2.  The problem with CPAN isn't 10,000 files that need to be deleted. 
 The problem with CPAN is that it is a collection of programs of wildly 
 varying quality, style, and technique.  This is the direct result of the 
 CPAN development model.  What is needed is way to take the best results 
 of TIMTOWTDI and unify them into a coherent programming systems 
 product [1].  Has anyone seen an effective way to do this?

What is needed is for people to stop thinking that they know what is
needed. :-) The CPAN has done very nicely without any such schemes.

-- 
David Cantrell | Godless Liberal Elitist

It wouldn't hurt to think like a serial killer every so often.
Purely for purposes of prevention, of course.


Re: COMAINT on https://metacpan.org/release/String-Random

2013-12-12 Thread David Cantrell
On Sat, Dec 07, 2013 at 02:38:46AM +0100, Aristotle Pagaltzis wrote:
 * Shlomi Fish shlo...@shlomifish.org [2013-12-04 15:30]:
  Well, git rebase did not work properly (too many silly merge commits
  for stuff that predates my contributions) but a semi-manual git
  cherry-pick appears to have worked well.
 git rebase --onto silug/master d601c5b shlomi/master
 Then a few `git rm -f META.yml  git rebase --continue` later you???d???ve
 gotten what I think is just what???s in your pull request.

Or simpler, turn your commits into a sequence of patches, clone the
author's repo, apply your patches to the clone, issue pull request.
Better IMO than playing git --russian roulette with its powerful but
underdocumented tools for doing unusual stuff.

-- 
David Cantrell | Nth greatest programmer in the world

Vegetarian: n: a person who, due to malnutrition caused by
  poor lifestyle choices, is eight times more likely to
  catch TB than a normal person


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

2013-11-21 Thread David Cantrell
On Wed, Nov 20, 2013 at 12:29:37PM +0200, Gabor Szabo wrote:

 I tried to collect my thoughts and your comments on getting more
 people to use MetaCPAN instead of search.cpan.org.
 
 It is not going to be easy and thus it got a bit long:
 http://szabgab.com/moving-from-sco-to-metacpan.html
 
 I'd be glad to read your opinion on this!

The most important issue to address is why should we prefer metacpan to
search.cpan. You don't cover this at all.

-- 
David Cantrell | Cake Smuggler Extraordinaire

  Irregular English:
ladies glow; gentlemen perspire; brutes, oafs and athletes sweat


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

2013-11-21 Thread David Cantrell

On 18/11/2013 09:25, Gabor Szabo wrote:


In this article I explain how you can get your avatar to Google search results
involving your CPAN contribution:

http://szabgab.com/claiming-your-cpan-authorship-at-google.html


Done. Maybe. No idea whether I've done it *correctly* or not though, as 
I find Google+ incomprehensible, and have no idea if I added the right 
link in the right place.


--
David Cantrell | Minister for Arbitrary Justice

 Repent through spending


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

2013-11-21 Thread David Cantrell

On 21/11/2013 14:35, Gabor Szabo wrote:

On 2013-11-21, at 9:06 AM, David Cantrell wrote:


On Wed, Nov 20, 2013 at 12:29:37PM +0200, Gabor Szabo wrote:

The most important issue to address is why should we prefer metacpan to
search.cpan. You don't cover this at all.


[reasons]

David, from your post I am not sure if you prefer sco or just wanted
to enhance this discussion,
but if the former ...


Both!

I mostly prefer search.cpan.org because I'm used to it :-) which, I 
admit, isn't a very good reason.


--
David Cantrell | A machine for turning tea into grumpiness

What is the difference between hearing aliens through the
fillings in your teeth and hearing Jesus in your heart?


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

2013-11-13 Thread David Cantrell
On Wed, Nov 13, 2013 at 02:29:07AM -0800, Linda A. Walsh wrote:

 The name has been dormant and unused for 11 years, yet it has
 been reserved?

This is how first-come first-served works.  He came first, so he got
dibs on the name. That he appears to have come to it by accident is
unfortunate, but irrelevant.

 If Inge wanted to use it for anything at any
 time, he could have done so as easily as asking.

For people to have to request namespaces in advance would impose an
intolerable burden on the PAUSE maintenance crew, a small burden on
authors, and lead to longer times between releases. Do you seriously
think that it would be a good idea for me to have had to *ask* for all
the module names in Number-Phone? There are 251 of them. And most of
them are auto-generated so unless I bother to look at what's there *I
don't know what they are*. Or there's Devel-CheckOS (58 modules), or
DBIx-Class (154 modules).

Now consider that there are 80-ish uploads to the CPAN every day, and
you'll realise how manual requests and approvals are not practical.

   Now when I
 investigate the usage and availability, I'm told it is reserved
 by someone who has not had minimal interest in it for 11 years. 

I'm sure that if you ask nicely either INGY or the PAUSE gods will fix
things. SISYPHUS has already said that he'll do what he can.

 But you did say this discussion was framed in the culture of working
 code. The name has been reserved for 11 years w/o working code.

Don't confuse individual instances of code with a culture of working
code.

 I'm not trying to be difficult, but I find the idea that someone would
 have an unused, reserved name for 11 years w/no code behind it,
 but who's said to own such a bit un-perlish.
 
 If he wanted it, why didn't he ask for it or use it?
 
 Seems odd to have a reservation for such for 11 years and not use it.

It has already been explained to you that it was reserved by the
indexer, which thought it was working code. Now please, stop whining.

-- 
David Cantrell | semi-evolved ape-thing

You can't spell AWESOME without ME!


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

2013-11-13 Thread David Cantrell
On Wed, Nov 13, 2013 at 07:14:44AM -0800, Linda A. Walsh wrote:
 I got an error:
 Dist E/EB/EBUSBOOM/Net-ICal-0.11.tar.gz, current version undef has been 
 uploaded by EBUSBOOM. Please contact EBUSBOOM or choose a different 
 namespace.
 
 I pulled down Net-ICal -- and there is nothing named Types\* in the 
 distribution.

Did you pull down Net-ICal-0.11, like what is mentioned in the error,
or did you pull down the current version of Net-ICal?

 So why would it conflict?

EBUSBOOM presumably has first-come rights on 'Types', and the most
recent version of it is in Net-ICal-0.11. For how to fix this, I refer
the honourable lady to the discussion a few moments ago.

However, please don't upload a module called 'Types'. Modules at the top
level of the namespace are frowned upon, especially if they have such
generic names as that.

-- 
David Cantrell | top google result for internet beard fetish club

Fashion label: n: a liferaft for personalities
which lack intrinsic buoyancy


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

2013-11-13 Thread David Cantrell
On Wed, Nov 13, 2013 at 07:20:17AM -0800, Linda W wrote:

 Seems the index claims it is present, but you can't install it because 
 it isn't in the distribution.

I don't believe you. The reason I don't believe you is that I just tried
it:

$ cpan -t Types

it downloads the correct distribution, attempts to build it and so on.
It fails, but it only fails because I appear to lack some third-party C
libs/headers that the dist depends on.

Try it. Observe carefully what it does. Compare to the contents of
your .cpan/sources/modules/02packages.details.txt.gz.  Be enlightened.

-- 
David Cantrell | top google result for topless karaoke murders

  For every vengeance, there is an equal and opposite revengeance.
-- Cartoon Law XI


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

2013-11-13 Thread David Cantrell
On Wed, Nov 13, 2013 at 07:43:25AM -0800, Linda W wrote:
 On 2013-11-13 07:30, David Cantrell wrote:
 Ah-- NetIcal1.11 doesn't have it.. but if I try

No I didn't.

 Types by itself, it downloads Netical 1.15

 The indexing system is broken, IMO...

If it is, it's broken at your end. I wonder what you did wrong.

Here's what happens on a non-broken system:

$ cpan -t Types
...
Running make for E/EB/EBUSBOOM/Net-ICal-0.11.tar.gz
...

 Under Net::ICal/Types.

I have no idea what Net::ICal/Types is.

 So what's up with that?   Why isn't it indexed as Net::ICal::Types?

Because it's not called Net::ICal::Types:

$ GET 
https://metacpan.org/source/EBUSBOOM/Net-ICal-0.11/lib/Net/ICal/Types.pm|grep 
^package

package Types;

 For a module that has Perl's basic data types, and that's all where 
 would you put it?

I wouldn't. I don't see the need for such a module.

Oh *good* sigmonster!

-- 
David Cantrell | A machine for turning tea into grumpiness

I know that you believe you understand what you think you wrote, but
I'm not sure you realize that what you wrote is not what you meant.


Re: Jperl is bad name -;

2013-10-29 Thread David Cantrell
On Tue, Oct 29, 2013 at 06:58:54PM +0100, Jean-Damien Durand wrote:

 I have been adviced by daxim@cpan that Jperl (c.f. [1]) is a bad name, and it 
 is! May I ask for suggestions;
 
 The project is a JavaScript engine written in perl.
 ...
 Should the name mention explicitely the implementation, or could it be 
 stand-alone but /not/ Jperl -;

Rhino is a Javascript engine written in Java. The name doesn't mention
either Javascript or the language it's written in. Likewise
Spidermonkey, a Javascript engine written in C/C++.

So there's good precedent for just calling it $animal.

I like pilot whales and puffins, so I recommend naming it after one of
those.

-- 
David Cantrell | Nth greatest programmer in the world

Support terrierism! Adopt a dog today!


Re: Name for an A/B testing module?

2013-09-30 Thread David Cantrell
On Sun, Sep 29, 2013 at 02:46:52PM +0200, Leon Timmermans wrote:

 Sounds like good work. Now I just wish I'd trust people to interpret
 statistics in a useful manner :-/

This is why Statistics::ChiSquare says things like There's a 90%
chance, and a 100% chance, that this data is random. Jon Orwant was
wise when he picked that interface, even if it's a bit of a pain for
code that uses it.

-- 
David Cantrell | top google result for internet beard fetish club

  engineer: n. one who, regardless of how much effort he puts in
to a job, will never satisfy either the suits or the scientists


Re: please help me name a module

2013-09-16 Thread David Cantrell
On Fri, Sep 13, 2013 at 01:24:59PM -0700, Greg Lindahl wrote:

 Exercise gear is another source of naming inspiration:
 existing modules are WWW::Nike::NikePlus, WWW::Jawbone::Up,
 a top level of GPS:: for gps eqipment. And nothing for FitBit.
 Not so organized.

People search to find modules, they don't navigate hierarchies, so
having a rigourous hierarchy doesn't matter much.  However, having a
sensible name does a few things:

* the 'Tesla' in there makes it searchable;
* 'Device::Car' there serves to disambiguate from some hypothetical
  future module like WWW::Museum::Tesla (for searching the Nikola Tesla
  museum's archives, perhaps) or Net::TESLA (Timed Efficient Stream
  Loss-tolerant Authentication protocol) or Device::Earthquake::Tesla;
* a sensible name also helps someone maintaining code that uses your
  code to make a sensible guess about what your module does, and hence
  whether the bit of the application that uses your code is relevant to
  whatever he's trying to fix.

-- 
David Cantrell | A machine for turning tea into grumpiness

Vegetarian: n: a person who, due to malnutrition caused by
  poor lifestyle choices, is eight times more likely to
  catch TB than a normal person


Re: please help me name a module

2013-09-12 Thread David Cantrell
I'd go for Device::Car::Tesla(::ModelS)?. Car, not Auto, because in most of the 
English-speaking world auto means automatic, not automobile.

-- 
David Cantrell

This electrogram was despatched by wireless field telegraph. I would therefore 
ask that the recipient be so kind as to excuse any failures of courtesy or 
linguistic inelegance as an unfortunate side-effect of the technology.

On 11 Sep 2013, at 18:49, Greg Lindahl lind...@pbm.com wrote:

 I have a module that talks to my car, a Tesla Model S. You can get
 speed and position, remotely turn on the AC, all that good stuff.
 
 These sorts of things are sometimes called the Internet of Things, or
 IOT.
 
 Looking in CPAN I don't see any existing modules for cars or
 mentioning the Internet of Things. There is a top-level group named
 Device that might be useful ... Device::Tesla? Device::Auto::Tesla ?
 
 Thanks in advance!
 
 -- greg


Re: Alien::XXX needs something more

2013-08-12 Thread David Cantrell
On Fri, Aug 09, 2013 at 09:42:00AM -0400, Chris Marshall wrote:

 This breaks for cygwin since it does run on a windows
 OS so you will find all of windows there---however, if
 you check for can this platform do unix then cygwin
 pretty much builds most unix/linux packages.

FWIW, Devel::AssertOS::Unix checks for:

 The OS supports multiple concurrent users, devices are represented
  as pseudo-files in /dev, there is a single root to the filesystem, users
  are protected from interference from other users, and the API is POSIXy.
  It should be reasonably easy to port a simple text-mode C program
  between Unixes. 

-- 
David Cantrell | http://www.cantrell.org.uk/david

Deck of Cards: $1.29.
101 Solitaire Variations book: $6.59.
Cheap replacement for the one thing Windows is good at: priceless
-- Shane Lazarus


Re: Proposal For A Module To Generate Regular Expressions

2013-08-05 Thread David Cantrell
On Sun, Aug 04, 2013 at 01:30:55PM -0400, Shawn H Corey wrote:
 On Sun, 4 Aug 2013 18:03:51 +0200
 Lars D? ? da...@cpan.org wrote:
  This would be better in the Regexp top level namespace instead of
  occupying its own:
 I chose the short name so it would be remembered. Long names aren't.

Regexp::Generate is quite short, not yet taken, and easy to remember.

The trouble with short names - things like Jifty or Spoon or Dancer - is
that they are, for the most part, utterly meaningless.

-- 
David Cantrell | A machine for turning tea into grumpiness

The whole aim of practical politics is to keep the populace alarmed
 (and hence clamorous to be led to safety) by menacing it with an
 endless series of hobgoblins, all of them imaginary  -- H. L. Mencken


Re: Proposal For A Module To Generate Regular Expressions

2013-08-05 Thread David Cantrell
On Sun, Aug 04, 2013 at 03:28:23PM -0400, Shawn H Corey wrote:
 On Sun, 04 Aug 2013 14:13:59 -0500
 Brian Katzung bri...@kappacs.com wrote:
  That's an interesting idea, but I'm not sure you're accomplishing
  your stated goals. Consider that the RE /^\s*test\s*$/ is 14
  characters and you've coded it in 91 non-white-space characters (650%
  of the original size).
 The difference is between writing machine code and writing assembler.
 The goal is not to create readable REs but to make it easier to create
 them.

The difference is also between getting the regex right or not. The
line-noise version above is case sensitive, unlike the OP's example.

-- 
David Cantrell | Pope | First Church of the Symmetrical Internet

  Languages for which ISO-Latin-$n is not necessary, #1 in a series:

Latin


Re: Question about installation progress

2013-05-04 Thread David Cantrell

On 03/05/2013 10:42, Héctor Valverde Pareja wrote:


I have a question about CPAN installation progress. I have recently
upload a new module to CPAN (Molevol::Complex). It is a part of my work
in Molecular Evolution of Protein Complexes. This module needs several
requirements to work properly, such as PAML software
(http://abacus.gene.ucl.ac.uk/software/paml.html) and DSSP
(http://swift.cmbi.ru.nl/gv/dssp/). Also it needs Bioperl and
Bioperl-run. The two formers programs must be installed manually (not
through CPAN), so I want that during the installation progress of my
module, CPAN test if the environment variables $ENV{PAMLDIR} and
$ENV{DSSPBIN} are correctly declared.


You could use Devel::CheckLib as well as (or instead of) checking the 
environment.  It comes with a tool to bundle itself with your module and 
insert the right magic in your Makefile.PL.


If you don't use Devel::CheckLib, then if you don't manage to detect the 
libraries through other means, have your Makefile.PL either:

* die(OS unsupported\n)
 or * exit(0)

See also http://wiki.cpantesters.org/wiki/CPANAuthorNotes

--
David Cantrell | Enforcer, South London Linguistic Massive

Cum catapultae proscriptae erunt tum soli proscript catapultas habebunt


Re: stop shipping MYMETA to CPAN

2013-03-01 Thread David Cantrell
On Fri, Mar 01, 2013 at 07:21:10AM +0200, Gabor Szabo wrote:
 Tatsuhiko Miyagawa writes:
   http://weblog.bulknews.net/post/44251476706/stop-shipping-mymeta-to-cpan

Umm, surely a version of ExtUtils::MakeMaker that is recent enough to
generate those files will also know to exclude them from 'make dist'.
Likewise Module::Build.

-- 
David Cantrell | Nth greatest programmer in the world

I think the most difficult moment that anyone could face is seeing
their domestic servants, whether maid or drivers, run away
  -- Abdul Rahman Al-Sheikh, writing on 25 Jan 2004 at
 http://archive.arabnews.com/?article=38558


Re: in running test on a module -- where is the module ?

2013-03-01 Thread David Cantrell
On Fri, Mar 01, 2013 at 11:40:13AM +0100, Aldo Calpini wrote:
 On Fri, March 1, 2013 11:20 am, Linda W wrote:
  This is the one I was using...
  But I was in the 't' dir, and my test tried to access
  the module using ../lib/module.pm
 you should run make test from the distribution folder, not from t
 (wouldn't work anyway, since the Makefile is not inside t).

And if you want to run just one test file ...

$ make  perl -Mblib t/some_file.t

-- 
David Cantrell | Enforcer, South London Linguistic Massive

Hail Caesar!  Those about to vi ^[ you!


Re: Overwriting RT

2013-02-05 Thread David Cantrell
On Mon, Feb 04, 2013 at 10:12:06PM -0500, Olaf Alders wrote:
 On 2013-02-04, at 10:00 PM, Lyle wrote:
  I'm guessing this may have already come up, so please forgive me if there 
  is already a solution to this and it's something that DBD::mysql needs to 
  implement. But how does one set one's cpan module to not have a link to RT? 
  Ideally, in it's place, have a link to one's own bug tracking system.
 Have a look at the resources section of CPAN::Meta::Spec. 
 https://metacpan.org/module/CPAN::Meta::Spec#resources  You can refer to the 
 META.yml and META.json files from this same dist for concrete examples: 
 https://metacpan.org/release/CPAN-Meta

But note that your dist will still have an RT thingy.

-- 
David Cantrell | Pope | First Church of the Symmetrical Internet

  Longum iter est per praecepta, breve et efficax per exempla.


Re: Overwriting RT

2013-02-05 Thread David Cantrell
On Tue, Feb 05, 2013 at 12:57:22PM +, Lyle wrote:
 On 05/02/2013 12:49, David Cantrell wrote:
 On Mon, Feb 04, 2013 at 10:12:06PM -0500, Olaf Alders wrote:
 On 2013-02-04, at 10:00 PM, Lyle wrote:
 I'm guessing this may have already come up, so please forgive me if 
 there is already a solution to this and it's something that DBD::mysql 
 needs to implement. But how does one set one's cpan module to not have a 
 link to RT? Ideally, in it's place, have a link to one's own bug 
 tracking system.
 Have a look at the resources section of CPAN::Meta::Spec. 
 https://metacpan.org/module/CPAN::Meta::Spec#resources  You can refer to 
 the META.yml and META.json files from this same dist for concrete 
 examples: https://metacpan.org/release/CPAN-Meta
 But note that your dist will still have an RT thingy.
 Oh really? So CPAN needs to be updated?

When you upload a new version of your module, with all the right info in
META.yml and its friends, then sites that use that data will
automagically link to whatever ticketing system you want.  But the RT
thingy will still exist.  It exists for *all* distributions AFAIK.

-- 
David Cantrell | Minister for Arbitrary Justice

PLEASE NOTE: This message was meant to offend everyone equally,
regardless of race, creed, sexual orientation, politics, choice
of beer, operating system, mode of transport, or their editor.


Re: Make sure all the modules have the same version number in a distribution

2013-01-15 Thread David Cantrell
On Sat, Jan 12, 2013 at 12:34:15PM +0100, Aristotle Pagaltzis wrote:

 Applying the same version to all modules within a distribution is a non-
 obvious precondition for dependency resolution to work 100% reliably in
 all edge cases. I have notes for an article about it flying around here
 somewhere that I should really get around to writing and publishing.

I'd love to know what those edge cases are, because I can't think of
any.  Yes, please write and publish!

-- 
David Cantrell | Enforcer, South London Linguistic Massive

Never attribute to malice that which can be explained by stupidity
-- Hanlon's Razor

Stupidity maintained long enough is a form of malice
-- Richard Bos's corollary


Re: license information and link to source code repository from your CPAN distribution

2013-01-08 Thread David Cantrell
On Tue, Jan 08, 2013 at 10:06:31AM -0600, John M. Gamble wrote:

 I think the finger should be pointed at h2xs, at least as it stands now. A
 programmer new to CPAN won't know about the META information, and h2xs
 just isn't oriented that way.

I think the finger should be pointed at perlnewmod.pod, which
erroneously suggests using h2xs even for non-XS modules.  It should just
tell people to use module-starter.

And even if it doesn't work on Windows because of the getpwuid thing,
it's still better than using h2xs.

-- 
David Cantrell | Bourgeois reactionary pig


Re: Make sure all the modules have the same version number in a distribution

2013-01-08 Thread David Cantrell

On 08/01/2013 19:16, Ben Deutsch wrote:


A question of my own: I immediately thought of the single point of
truth idiom, and would have written something like this:

package My::Sub::Module;
use My::Base::Module;
our $VERSION = $My::Base::Module::VERSION;

or similar. Would this trip up some version processing infrastructure
somewhere?


Yes, it will trip up anything that tries to extract the version from the 
code without running it.  This includes the PAUSE indexer so your code 
will either not get indexed or will get indexed wrongly.


--
David Cantrell | Cake Smuggler Extraordinaire

Every normal man must be tempted at times to spit on his hands,
 hoist the black flag, and begin slitting throats. -- H. L. Mencken


Re: Help me choose a name for a Beta Code conversion module

2012-12-07 Thread David Cantrell
On Thu, Dec 06, 2012 at 07:15:56AM +0200, Dimitrios - Georgios Kontopoulos 
wrote:

 This is the first time I'm writing a Perl module and I would appreciate
 some advice on naming it.
 
 This module will perform conversion from Beta Code characters to
 Unicode. As the relevant wikipedia article mentions and I quote:
 
Beta Code is a method of representing, using only ASCII characters,
characters and formatting found in ancient Greek texts (and other
ancient languages). Its aim is to be not merely a romanization of the
Greek alphabet, but to represent faithfully a wide variety of source
 texts
? including formatting as well as rare or idiosyncratic characters.
 
 I wasn't able to find any such module at the CPAN. The PAUSE naming
 guidelines seem to suggest that something like Lingua::BetaCode would be a
 good choice, but I'll wait for your advice.

Because Beta Code is more to do with the encoding than the language, I
think I'd put it in Encode::BetaCode.

-- 
David Cantrell | Nth greatest programmer in the world

Cum catapultae proscriptae erunt tum soli proscript catapultas habebunt


Re: DB_File is not installed?

2012-11-22 Thread David Cantrell

On 22/11/2012 12:43, Shmuel Fomberg wrote:


I've released a module, Dist::Surveyor v0.007, and seeing reports from
CPAN testers that DB_File doesn't exists.
DB_File is not listed in the deps, because, well, it is core.

http://www.cpantesters.org/distro/D/Dist-Surveyor.html#Dist-Surveyor-0.007

Interestingly, most of the fails come from Solaris. but a few from Linux
too.
Any idea why the module is missing?


It's in core, but only gets built if the necessary libraries and headers 
are present.


--
David Cantrell | Bourgeois reactionary pig

People from my sort of background needed grammar schools to
compete with children from privileged homes like ... Tony Benn
 -- Margaret Thatcher


Re: CPAN testers: failure installing dependencies

2012-11-07 Thread David Cantrell
On Tue, Nov 06, 2012 at 12:39:38PM -0800, Eric Wilhelm wrote:
 # from David Cantrell on Tuesday 06 November 2012:
 By testing your code before releasing it?  ...  For the few of my dists
 that I care most about,I re-test them every so often to make sure that
 CPAN didn't break them.
 The problem comes after you have released your code and its 
 installability gets broken by a dependency's new bug/failure.

Given the metadata available from deps.cpantesters.org - eg
http://deps.cpantesters.org/?xml=1;module=Number::Phone - and from
metacpan it shouldn't be too difficult to write a cron job that will
untar a clean perl with no modules installed, and test your stuff
whenever needed.

-- 
David Cantrell | semi-evolved ape-thing

Hail Caesar!  Those about to vi ^[ you!


Re: CPAN testers: failure installing dependencies

2012-11-06 Thread David Cantrell
On Tue, Nov 06, 2012 at 10:27:25AM +0900, Shmuel Fomberg wrote:
 On Tue, Nov 6, 2012 at 2:40 AM, David Cantrell wrote:
  On Mon, Nov 05, 2012 at 04:54:00PM +0900, Shmuel Fomberg wrote:
   Can anyone tell me, when a cpan smoker / tester is trying to test a
   module but fails to install a dependency, what happens?
   Who should I convince to make such a failure similar to test fail?
  No-one, because it's not a test failure, it's a missing pre-requisite.
 The module failed to install.

It didn't fail.  It *correctly* didn't install.

   As a cpan author, I would have like to know
 about it.

Why?  Consider that if a pre-req fails its tests, then by default the
pre-requisite's author is notified.  Then he may or may not fix his bug.
If he does, great, your problem is solved.  If he doesn't, well, I don't
see how harrassing you (and every other author who depends on his code)
is going to help.

But in any case, authors get Really Pissed Off if they start getting
failure reports because of missing dependencies, so the CPAN-testing
software tries hard not to generate them.  If you *do* want them
generated, then you need to:
  * come up with a reliable way of differentiating the specific types of
pre-requisite failure that you're interested in from all others;
  * convince cpan-testers-discuss that this would be useful to others
and not just you;
  * convince people that it's worth their while updating the testing
software and the stuff that runs the cpantesters website

that last one is the difficult bit.  People lack tuits and there are far
more important tasks waiting in the to-do list.

However, if you still want to do this, then I suggest that what you want
is a new type of report alongside PASS/FAIL/NA/UNKNOWN - PREREQFAIL.
Those reports would, by default, *not* be forwarded from the metabase to
authors.

 I don't think that the users care why it failed to install.
 So how would I fix the dependency problem if I don't even know about it?

By testing your code before releasing it?  When I release a new
distribution, or make a significant change to an old dist, I test it in
half a dozen different builds of perl with no pre-reqs installed.  And I
try to remember to *always* specify what version of a module I depend
on.  For the few of my dists that I care most about, I re-test them
every so often to make sure that CPAN didn't break them.

  This is why http://deps.cpantesters.org/ and
  http://analysis.cpantesters.org/ exist.
 And why would an author go visit these sites if he doesn't know that there
 is a problem?

I wrote deps.cpantesters.org because I wanted to be able have a look at
the quality of any pre-requisites before using them.

-- 
David Cantrell | top google result for internet beard fetish club

comparative and superlative explained:

Huhn worse, worser, worsest, worsted, wasted


Re: CPAN testers: failure installing dependencies

2012-11-05 Thread David Cantrell
On Mon, Nov 05, 2012 at 04:54:00PM +0900, Shmuel Fomberg wrote:

 Can anyone tell me, when a cpan smoker / tester is trying to test a module
 but fails to install a dependency, what happens?

The report will be discarded.

 Who should I convince to make such a failure similar to test fail?

No-one, because it's not a test failure, it's a missing pre-requisite.

 Or maybe mark it as failure to all the modules that depend on the failed
 module?

The failure may not matter to everyone though - it might only affect
people on a particular platform, or a particular version of perl, or who
use a particular version of a proprietary library, or who use a
particular compiler.

 I seek to do it because lately modules feel free to have deep dependencies,
 a lot of modules have some small test failure percentage, and these add up
 rather quickly.
 
 It is annoying to try and installed some new-shiny module, just to see some
 dep^3 fails testing, and then to start investigating.

This is why http://deps.cpantesters.org/ and
http://analysis.cpantesters.org/ exist.

-- 
David Cantrell | http://www.cantrell.org.uk/david

  Longum iter est per praecepta, breve et efficax per exempla.


Re: new module version

2012-10-29 Thread David Cantrell
On Mon, Oct 29, 2012 at 01:03:08PM +0200, Shlomi Fish wrote:

 It's there now - http://search.cpan.org/dist/lib-remote/ . Note that generally
 metacpan.org is now preferable over search.cpan.org .

Note that this is a matter of opinion, not of fact.

-- 
David Cantrell | Enforcer, South London Linguistic Massive

Feature: an incorrectly implemented bug


Re: new module version

2012-10-29 Thread David Cantrell
On Mon, Oct 29, 2012 at 04:19:56PM +0500, Mikhail Che wrote:
 Shlomi Fish wrote 2012-10-29 16:03:
 metacpan.org is now preferable over search.cpan.org .
 Nice. But is there command line utility like cpan for install from 
 metacpan.org?

No.

There isn't one for installing from search.cpan.org either.  Both of
those sites are just webby views of the CPAN.

-- 
David Cantrell | Enforcer, South London Linguistic Massive

   The voices said it's a good day to clean my weapons


Re: Request for feedback: interface to 06perms.txt

2012-10-15 Thread David Cantrell
On Sat, Oct 13, 2012 at 11:25:11AM +0200, Shlomi Fish wrote:
 Neil Bowers n...@bowers.com wrote:
  By default PAUSE::PermissionsFile will mirror (using HTTP::Tiny's
  mirror) 06perms.txt, and then work off the local copy. 
 I would suggest against contacting remote sites by default, due to
 the Test programs should not connect to Internet resources item here:
 
 http://www.shlomifish.org/open-source/resources/how-to-contribute-to-my-projects/HACKING.html

Using a remote 06perms.txt is a sensible default, and doesn't mean that
he has to contact the remote host for testing.  He presumably has some
way of over-riding the default, so the tests he distributes could use a
file:// URL.

However, I'm a bit lairy of tests should not contact remote systems at
all.

IMO it's better to fail the tests and not install than to install and
then not behave as documented.  But once you've verified that the remote
system still works the way you expect it to work, you should stop
hitting it and use your own copy for the rest of the tests, to avoid
putting undue load on the other system.

-- 
David Cantrell | top google result for internet beard fetish club

Immigration: making Britain great since AD43


Re: Suppressing excess indexing

2012-09-20 Thread David Cantrell
On Wed, Sep 19, 2012 at 11:24:27PM +0200, Leon Timmermans wrote:
 On Wed, Sep 19, 2012 at 9:44 PM, Geoffrey Leach ge...@hughes.net wrote:
  I have a distribution (Audio::TagLib, FWIW) that has a large number of
  modules, but only the main module is of any interest to the index. What
  do I need to do in the construction of the release to tell indexing not
  to bother?
 If you really want to, you can disable it by inserting a newline
 between the package keyword and the name.

IIRC you need a little bit more than that:

package #
  This::Is::not::Indexed;

   However, I'm not really
 seeing the point of pretending your distribution is one package when
 it in fact isn't. YMMV.

I would say that it's actually *useful* to index them all.  That way
your dist will show up if people search for 'FLAC' (to pick just one
example), which is probably a Good Thing.

-- 
David Cantrell | Official London Perl Mongers Bad Influence

  Your call is important to me.  To see if it's important to
  you I'm going to make you wait on hold for five minutes.
  All calls are recorded for blackmail and amusement purposes.


Re: Suppressing excess indexing

2012-09-20 Thread David Cantrell
I was unaware that we had any support for keywords. But even if we do, a distro 
author's idea of what the keywords are may not match the users' or the users' 
expectations of how to search the cpan. If keywords exist then they might be a 
good *addition* to the CPAN search tools but can't replace searching by (part 
of) package name at least until all the infrastructure supports them and they 
are commonly used.

-- 
David Cantrell

This electrogram was despatched by wireless field telegraph. I would therefore 
ask that the recipient be so kind as to excuse any failures of courtesy or 
linguistic inelegance as an unfortunate side-effect of the technology.

On 20 Sep 2012, at 15:45, Johan Vromans jvrom...@squirrel.nl wrote:

 David Cantrell da...@cantrell.org.uk writes:
 
 I would say that it's actually *useful* to index them all.  That way
 your dist will show up if people search for 'FLAC' (to pick just one
 example), which is probably a Good Thing.
 
 That would be the purpose of keywords. Not indexes by package name.
 
 -- Johan


Re: How do I arrange for Makefile.PL to create a modulino instance script?

2012-09-04 Thread David Cantrell
On Sat, Sep 01, 2012 at 01:40:01AM -0700, Buddy Burden wrote:
  It's fairly unusually for a piece of code to be appropriate both as a
  stand-alone program and as a module loaded by other programs. ...
 Perhaps David's original question would have been more clear with a
 slightly more targeted footnote reference:
 http://www.drdobbs.com/scripts-as-modules/184416165
 
 Not saying that I agree that such things belong on CPAN (or that I
 agree that they don't), but I understand the point of the exercise at
 least.

The normal way to put such things on the CPAN (mostly because it's the
way that plays nicely with the tools that we all use to install things
from the CPAN) is something like this:
  
https://github.com/DrHyde/perl-modules-CPAN-FindDependencies/blob/master/examples/cpandeps
  
https://github.com/DrHyde/perl-modules-CPAN-FindDependencies/blob/master/lib/CPAN/FindDependencies.pm

-- 
David Cantrell | A machine for turning tea into grumpiness

  Irregular English:
you have anecdotes; they have data; I have proof


Re: sudo in Const::Fast

2012-07-20 Thread David Cantrell
On Fri, Jul 20, 2012 at 11:03:43AM +0100, Smylers wrote:

 The puzzle is now where this is coming from, given that you couldn't
 find sudo in your cpan config files.

This should answer that question ...

$ cpan
...
cpan[1] o conf commit
commit: wrote '/etc/perl/CPAN/Config.pm'

-- 
David Cantrell | Nth greatest programmer in the world

In this episode, R2 and Luke weld the doors shut on their X-Wing,
and Chewbacca discovers that his Ewok girlfriend is really just a
Womble with its nose chopped off.


Re: Detecting if external library headers are present

2012-06-29 Thread David Cantrell
On Fri, Jun 29, 2012 at 11:05:59AM +0300, Shlomi Fish wrote:

 The problem is that the shared library was found, but the development package
 is not present, so the external headers cannot be found and I'm getting a
 failure.
 
 My question is: using Makefile.PL and ExtUtils::MakeMaker - how can I detect
 for the non-existence of these headers on the system, and if so - abort?

Devel::CheckLib

It comes with a script that makes it easy to bundle with your distro so
that you can use it from Makefile.PL without it having to already be
installed on the user's system.

-- 
David Cantrell | Official London Perl Mongers Bad Influence

  NANOG makes me want to unplug everything and hide under the bed
-- brian d foy


Re: XML-LibXML's 2.* Versioning Scheme: Please Advise.

2012-05-31 Thread David Cantrell
On Thu, May 31, 2012 at 11:31:21AM +0300, Shlomi Fish wrote:

 earlier today I uploaded XML-LibXML-1.99 and since the 1.* releases had two
 trailing digits, the next version will be past 2. This is a good to switch to 
 a
 better versioning scheme, with more digits after the first dot, which will 
 give
 us more air to breath.
 
 I'm asking you what the advantages and disadvantages of the following schemes:
 
 1. 2.xxyy - xx are the major/new-feature versions, while yy are for bug
 fixes/maintenance versions.
 
 2. 2.xxxyyy - same as before only with three digits each.
 
 3. 2.xxyyy - same as before only a hybrid approach that will give a zero in
 the middle in case there are less than 100 maintenance versions.

There's little point in attempting to encode meaning into version
numbers, as everyone will have their own idea of what it means.  People
who care about what has changed and how much it has changed can look at
the documentation, your VCS, and the CHANGELOG.

 4. 2.x.y - I use this for my open source C projects and some of my CPAN
 modules and perl 5 and Parrot use it as well. Is it well supported with the
 CPAN toolchain?

It's supported, but supporting it is a gigantic pain in the arse and it
will break older versions of some toolchain stuff.  I consider it to be
a bug, it just happens to be a common enough bug that it needs to be
grudgingly supported.

 What do you recommend?

Versions should be *numbers* (and so contain at most one decimal point),
they should be zero or positive, they should not be subject to rounding
errors on any reasonable system (so 1.3
should not be used, for example), and they should go up.  Other than that
I don't care.

-- 
David Cantrell | Minister for Arbitrary Justice

There's a hole in my bucket, dear Liza, dear Liza.
WHAT MAKES YOU SAY THERE IS A HOLE IN YOUR BUCKET?


Re: The CPAN Morass

2011-12-06 Thread David Cantrell
On Mon, Dec 05, 2011 at 06:20:22PM -0800, Linda W wrote:

 Having modules that are platform specific, should be either
   1.  ***minimally***, clearly labeled in descriptions, AND, CPAN
  should allow me to exclude modules that won't run on on the
  platform's i select.

This already exists - although it's opt-in instead of opt-out.
Instead of saying give me everything which isn't marked as not working
on this platform you say give me everything that is known to work on
this platform.

Again, finding the appropriate resource is left as an exercise to the
reader.

-- 
David Cantrell | London Perl Mongers Deputy Chief Heretic

EINE KIRCHE! EIN KREDO! EIN PAPST!


Re: The CPAN Morass

2011-12-05 Thread David Cantrell
On Fri, Dec 02, 2011 at 10:21:32PM -0800, Linda W wrote:
 Dana Hudes wrote:
 BTW not everyone uses gcc.
 What compiler on linux -- where perl was born, would you suggest?

Other compilers are available for Linux.  I leave finding them as an
exercise for you.  You will no doubt find it to be a helpful exercise,
as your research skills are clearly lacking and you need the practice.

-- 
David Cantrell | Enforcer, South London Linguistic Massive

All children should be aptitude-tested at an early age and,
if their main or only aptitude is for marketing, drowned.


Re: The CPAN Morass

2011-12-05 Thread David Cantrell
On Sun, Dec 04, 2011 at 01:27:08PM +, Dana Hudes wrote:

 Finally, Perl runs on Windows. There are a number of Windows-specific Perl 
 modules.

And don't forget that there are at least three different Windows
environments these days!

Win32, Cygwin, and Interix (what used to be Services For Unix).

-- 
David Cantrell | even more awesome than a panda-fur coat

There's no problem so complex that it can't be solved
by killing everyone even remotely associated with it


Re: The CPAN Morass

2011-12-05 Thread David Cantrell
On Mon, Dec 05, 2011 at 09:42:30AM -0800, Linda W wrote:
 David Cantrell joked:
 On Fri, Dec 02, 2011 at 10:21:32PM -0800, Linda W wrote:
 [[ What compiler on unix-- where perl was born

 liar liar pants on fire 

That's not what you wrote.  Nor is it what I quoted.

 Or would you like to get serious?

In the sense that I have no interest in playing stupid games with a
liar, and have run out of the patience to decode your barely-coherent
ramblings, yes, I would far prefer to have a serious discussion.

-- 
David Cantrell | London Perl Mongers Deputy Chief Heretic

Never attribute to malice that which can be explained by stupidity
-- Hanlon's Razor

Stupidity maintained long enough is a form of malice
-- Richard Bos's corollary


Re: The CPAN Covenant

2011-11-29 Thread David Cantrell
 the need(s) of the community.

Volunteers can never be expected to do what is best for the community.
Optimising is HARD.

This is one of the reasons that charities have employees as well as
volunteers.  Many of those employees' jobs boil down to optimisation -
getting the best that you can out of the volunteers without driving
them away.  This is definitely not done by telling the volunteers that
Thou Shalt Do It My Way.

Hmm, I just had a thought about what would make a great talk for a YAPC
or a Perl Workshop ...

-- 
David Cantrell | Nth greatest programmer in the world

There is no one true indentation style,
But if there were KR would be Its Prophets.
Peace be upon Their Holy Beards.


Re: The CPAN Covenant

2011-11-29 Thread David Cantrell
On Tue, Nov 29, 2011 at 07:20:22AM -0500, Lincoln A Baxter wrote:

 Or, here is another idea (which I have not seen broached), that could be
 completely automated fairly easily:  Mark those modules as unsupported
 and open to co-maintainer assignment

This already exists.  Go to:
  https://pause.perl.org/pause/authenquery?ACTION=share_perms

and select Give up primary maintainership status without transfering it.

This could be used to
 grease the assignment of co-maintainer status, and in CPAN search
 filters.

AFAIK all the various CPAN searchy things base their results on:
  * POD text;
  * the index files generated by PAUSE

I don't think that there is any public index of which distributions or
modules have been put up for grabs by their maintainers - or indeed
any public index at all of who is a maint or co-maint on stuff.

-- 
David Cantrell | Minister for Arbitrary Justice

You may now start misinterpreting what I just
wrote, and attacking that misinterpretation.


Re: The CPAN Covenant

2011-11-28 Thread David Cantrell
On Sun, Nov 27, 2011 at 10:14:09PM -0800, Linda W wrote:
 David Cantrell wrote:
 On Thu, Nov 24, 2011 at 08:09:35AM -0800, Linda W wrote:
 Don't have to touch their code,... but if we want CPAN to be able to
 be relied upon.. it's can't have unaddressed bugs for months (let alone a 
 year or more)...
 I promise to address bug reports quickly if you make them more important
 than everything else in my life.
 If that's how unimportant CPAN is to you, then I'm sure you
 will have no problem if someone takes over maintenance of the module.

In some cases yes, in some no.  Some of my contributions to the CPAN are
projects that I'm still interested in but lack the time to deal with
right now.  Others I no longer have any interest in.

 You can do that by paying me. 
 Well, i certainly can't enforce this, but whoever sponsors CPAN,

So tell me, who *does* sponsor CPAN?  I'd like to buy them a drink but I
don't have the faintest idea who they might be.

 ... Should be a problem for someone who ALWAYS has something more
 important to do than CPAN.

I wonder where that always came from.  Certainly not from me.

You also appear to have not noticed the word quickly.  I will deal
with *all* bug reports eventually.  Sometimes that will be by fixing
them, sometimes it will be by saying no, that's not a bug, sometimes
it will be by saying I'm not going to fix this, would you like to take
over maintenance?, and so on.

-- 
David Cantrell | Enforcer, South London Linguistic Massive

Hail Caesar!  Those about to vi ^[ you!


Re: The CPAN Covenant

2011-11-24 Thread David Cantrell
On Thu, Nov 24, 2011 at 08:09:35AM -0800, Linda W wrote:

 Don't have to touch their code,... but if we want CPAN to be able to
 be relied upon.. it's can't have unaddressed bugs for months (let alone a 
 year or more)...

I promise to address bug reports quickly if you make them more important
than everything else in my life.  You can do that by paying me.  If you
don't pay me, then you are admitting that me settling down for the
evening with a beer and a good book is more important *to you* than me
fixing the bug or accepting your patch.

-- 
David Cantrell | http://www.cantrell.org.uk/david

I know that you believe you understand what you think you wrote, but
I'm not sure you realize that what you wrote is not what you meant.


Re: The module authors pledge

2011-11-14 Thread David Cantrell
On Fri, Nov 11, 2011 at 01:30:38PM -0800, Bill Ward wrote:

 How about just do it by author - if any of the author's distros are idle
 for 6 months, send them an email?

No.  It's pointless.  We already have a system that works, so let's not
try to fix it.

-- 
David Cantrell | Cake Smuggler Extraordinaire

There are many different types of sausages.  The best are
from the north of England.  The wurst are from Germany.
  -- seen in alt.2eggs...


Re: The module authors pledge

2011-11-10 Thread David Cantrell
On Tue, Nov 08, 2011 at 04:22:02PM +, Neil Bowers wrote:

 I hereby give modu...@perl.org permission to grant co-maintainership
 to any of my modules, if the following conditions are met:
 
 (1) I haven't released the module for a year or more
 (2) There are outstanding issues on RT which need addressing
 (3) Email to my CPAN email address hasn't been answered after a month
 (4) The requester wants to make worthwhile changes that will benefit CPAN
 
 Should I die, then the time-limits in (1) and (3) do not apply.
 
 So, what do y'all think?

I think that this isn't really different from what happens now anyway.

-- 
David Cantrell | Reality Engineer, Ministry of Information


Re: Math::BigInt inheritance problems

2011-10-10 Thread David Cantrell
On Sun, Oct 09, 2011 at 10:27:19AM -0400, Paul Bennett wrote:

 I know this isn't the best place to ask for help with specific coding  
 help, ...
 
 Ideally, I'm hoping one or more of FLORA, LETO, pjacklam, or TELS is  
 reading this, or at least someone who can put me in direct contact with  
 one of them.

PAUSE ids generally have working email addresses @cpan.org.

-- 
David Cantrell | London Perl Mongers Deputy Chief Heretic

Never attribute to malice that which can be explained by stupidity
-- Hanlon's Razor

Stupidity maintained long enough is a form of malice
-- Richard Bos's corollary


Re: MetaCPAN is quickly becoming the de-facto interface to CPAN

2011-08-30 Thread David Cantrell
On Sun, Aug 28, 2011 at 12:33:54PM -0700, Eric Wilhelm wrote:

 I didn't think it was a question of CPU speed anytime in the past 
 decade.

It is on small mobile clients, and the notwork latency it adds is also
noticeable.  And on the server side, when you're running on old donated
equipment, or cheap donated equipment, or a cloud thing that charges
per CPU cycle, then pointless use of SSL is kinda silly.

Even sillier than pointless use of SSL when none of the above applies.

Sure, use SSL for authentication like what my bank does.  Use it for
your webmail when using chavternet in a crappy cafe which doesn't even
serve delicious cake.  But don't just use it all the time, and
especially don't create a service that *only* uses it, unless you *have*
to use it.

-- 
David Cantrell | http://www.cantrell.org.uk/david

Hail Caesar!  Those about to vi ^[ you!


Re: Naming a new module USB::Descriptor?

2011-08-03 Thread David Cantrell
On Mon, Aug 01, 2011 at 10:59:35AM -0700, Brandon Fosdick wrote:

 My day job has me manually creating descriptors for USB devices more often 
 than I care to, so I've created a module for auto-generating said 
 descriptors. The resulting object tree can then be output as a structure 
 suitable for compiling, or assembling, into a device's firmware. Where in the 
 namespace hierarchy should I put these objects?
 
 For the moment I'm using USB::Descriptor::Device, USB::Descriptor::Interface 
 and so on. Eventually I'll also have USB::HID::Descriptor::Device, etc. But, 
 it seems there is no USB namespace in CPAN. I see that packages that 
 represent, or interface with, specific devices live under Device::, and 
 Device::USB in particular. However, that doesn't seem like a proper home for 
 a module that deals with concepts at the specification level, as opposed to 
 interacting with a particular connected device. That, and 
 Device::USB::Descriptor::Device seems a little silly.
 
 Suggestions? Thoughts? Any problems with me creating a top level USB 
 namespace?

I'd have thought that Device::USB::Descriptor would be a good place,
with no need for a further ::Device.  Underneath that you could have
things like D::U::Descriptor::HID, D::U::Descriptor::Storage or
whatever.

-- 
David Cantrell | Nth greatest programmer in the world

The children now love luxury; they have bad manners, contempt for
authority; they show disrespect for elders and love chatter in place
of exercise. Children are now tyrants, not the servants of their
households. They no longer rise when elders enter the room. They
contradict their parents, chatter before company, gobble up dainties
at the table, cross their legs, and tyrannize their teachers.
-- attributed by Plato to Socrates


Re: MetaCPAN is quickly becoming the de-facto interface to CPAN

2011-07-29 Thread David Cantrell
On Fri, Jul 29, 2011 at 04:32:40PM +0200, Aldo Calpini wrote:

 just out of curiosity, where exactly does google work in https?

https://encrypted.google.com/

-- 
David Cantrell | Bourgeois reactionary pig

EINE KIRCHE! EIN KREDO! EIN PAPST!


Re: How to list optional dependencies?

2011-07-12 Thread David Cantrell
On Wed, Jul 13, 2011 at 12:20:42AM +0300, Gabor Szabo wrote:

 I was looking at ExtUtils::MakeMaker and wondering how could I
 list a set of modules as optional dependencies?
 As I could not find and answer I wonder if there is a well defined tool
 for this in any of the packaging tools of Perl?
 
 If not, what is the recommended way to say in Makefile.PL and/or Build.PL:
 
 I don't require Module::Name version 2.7 but I'd work much
 faster/better/cleaner if I had it.
 Shall I install it?

Whatever you do, if you ask the user to choose, and you're using EU::MM,
use the prompt() method instead of print()ing a question and trying to
read STDIN yourself.  prompt() does the right thing with buffering.

-- 
David Cantrell | A machine for turning tea into grumpiness

comparative and superlative explained:

Huhn worse, worser, worsest, worsted, wasted


Re: Quick and dirty guide to running Perl on Windows (was Re: Making sure your module works on other OS-es as well)

2011-07-11 Thread David Cantrell
On Sat, Jul 09, 2011 at 01:03:49AM -0700, Eric Wilhelm wrote:
 # from David Golden
 On Fri, Jul 1, 2011 at 9:23 AM, David Cantrell wrote:
  ... the complete lack of a reasonable set of
  tools on Windows, which just makes me angry whenever I have to
  touch the blasted thing, made me stop.
 Definitely the lack of remote text based access makes it harder.  But
 for anyone willing to run Windows in a virtual machine, it's not
 terribly hard anymore ...
 With a VM install, you still have to wade through the boggy experience 
 of mousing-around in a completely foreign environment while swearing at 
 the shell for being completely unreasonable about everything.  But none 
 of this has anything to do with whether your code works on Windows, 
 only whether you can work within it.  IMO, it would be much better to 
 not be actually using windows (or mac for that matter) if that's not 
 your preferred environment and you just need to debug some 
 compatibility issue.

How can I debug a problem that only happens on Windows without using
Windows?

 Not to mention the general case of a CPAN author, where you can't assume 
 that they could be bothered to *obtain* a windows/mac OS, let alone 
 boot it.  Some open and deployable environment / test kit would go much 
 further than anything involving a VM and proprietary license.

Adam Kennedy tried to help with this, by persuading Microsoft to make a
few VMs available for perly people to use.  I have no idea how
successful it's been.

I think 
 the utter lack of convenience in testing for and fixing cross-OS bugs 
 is the big barrier to getting better cross-OS support.  Nobody likes 
 coding in the dark with a hours-long latency to see if their fix works.

This is why, when I can, I set up some kind of guest account on machines
that I use for CPAN-testing, so that authors can debug and fix things
themselves rather than rely on me to be remote hands which might have
a several *week* latency.

-- 
David Cantrell | Minister for Arbitrary Justice

  When one has bathed in Christ there is no need to bathe a second time
  -- St. Jerome, on why washing is a vile pagan practice
 in a letter to Heliodorus, 373 or 374 AD


Re: Bundling a script with a CPAN module?

2011-07-04 Thread David Cantrell
On Sun, Jul 03, 2011 at 08:45:21AM +0900, Shmuel Fomberg wrote:

 I want to add a runnable script to a CPAN module.
 
 can anyone point me to the appropriate documentation that explains how 
 to do it?

See CPAN::ParseDistribution for an example - EXE_FILES in Makefile.PL.

 how do I make sure that the shebang line in the installed script points 
 to the same Perl that installs this module?

#!perl will get transmogrified.

 how do I make sure that a batch file is generated on Windows?

Dunno, but I'd assume that EU::MM will just DTRT.

-- 
header   FROM_DAVID_CANTRELLFrom =~ /david.cantrell/i
describe FROM_DAVID_CANTRELLMessage is from David Cantrell
scoreFROM_DAVID_CANTRELL15.72 # This figure from experimentation


Re: Making sure your module works on other OS-es as well

2011-07-03 Thread David Cantrell
On Sun, Jul 03, 2011 at 08:40:02AM +0900, Shmuel Fomberg wrote:
 On 2011/07/03 1:02, David Cantrell wrote:
 Oh, and by the way, can someone make the server reject report from
 ancient Perl versions?
 Why?
 Because it gives the feeling that we support them.

No it doesn't.  It merely tells people this code works on 5.6 (or
doesn't).

 I think that there is someone who is running a smoker on Perl 5.6. do we 
 want authors to get error reports because some feature that they used 
 does not exists or was buggy on that version?

I don't test just for authors.  I test for users too.

Authors who don't care about older versions of perl can easily ignore
those reports.

-- 
David Cantrell | Minister for Arbitrary Justice

In this episode, R2 and Luke weld the doors shut on their X-Wing,
and Chewbacca discovers that his Ewok girlfriend is really just a
Womble with its nose chopped off.


Re: Making sure your module works on other OS-es as well

2011-07-03 Thread David Cantrell
On Sun, Jul 03, 2011 at 09:30:49AM +0900, Shmuel Fomberg wrote:
 On 2011/07/03 8:50, David Golden wrote:
 If authors don't want failure reports on ancient Perls, they are
 advised to be explicit with use 5.006 or use 5.008009 or whatever
 is the earliest version they choose to support.
 Let's file it under 'do the right thing by default'.

The right thing is to not throw data away.

 Likewise, if authors don't wish to be notified about reports, they can
 customize notification on the preferences site:
 https://prefs.cpantesters.org/
 nice. never knew about this option before.

Authors are told about it in the summary emails they receive.

-- 
David Cantrell | Cake Smuggler Extraordinaire

fdisk format reinstall, doo-dah, doo-dah;
fdisk format reinstall, it's the Windows way


Re: Making sure your module works on other OS-es as well

2011-07-02 Thread David Cantrell
On Sat, Jul 02, 2011 at 12:17:23PM +0300, Gabor Szabo wrote:

 I am sorry I did not mean to offend you.

Don't worry, you didn't :-)

However ...

 Thank you for you consideration of the other 80% of people who are
 still using Windows.

I would expect that well over 95% of people who even consider using my
code are already on a Unixy platform.  And I certainly wouldn't expect
any of them to be deploying anything non-trivial using perl on Windows.
Perl just doesn't fit well into a .net world.

-- 
David Cantrell | http://www.cantrell.org.uk/david

There's no problem so complex that it can't be solved
by killing everyone even remotely associated with it


Re: Making sure your module works on other OS-es as well

2011-07-02 Thread David Cantrell
On Sun, Jul 03, 2011 at 12:13:19AM +0900, Shmuel Fomberg wrote:

 Oh, and by the way, can someone make the server reject report from
 ancient Perl versions?

Why?

-- 
David Cantrell | Bourgeois reactionary pig

Perl: the only language that makes Welsh look acceptable


Re: Making sure your module works on other OS-es as well

2011-07-01 Thread David Cantrell
On Fri, Jul 01, 2011 at 03:11:08PM +0300, Gabor Szabo wrote:

 So I'd like to ask you all to check the test reports of your modules and if 
 you
 have consistent failures of one of your modules on Windows then try to fix 
 them.
 If you need any help, please send a message on either of those mailing list
 asking people how to fix specific Windows related issues.

I went through a period of trying to make sure my code worked on
Windows, but I've given up.  Not because it's hard to do - it generally
isn't - but the complete lack of a reasonable set of tools* on Windows,
which just makes me angry whenever I have to touch the blasted thing,
made me stop.

* starting with a useable shell and editor, documentation, and remote
  text-based access.  No doubt it doesn't help that I have no need for
  Windows, either personally or professionally, so have no motivation
  to put the effort into learning it.  

I am, of course, happy to accept patches, provided that they are
adequately documented and have tests, on the understanding that I can't
run Windows tests, and may therefore accidentally break them again in
the future.

-- 
David Cantrell | semi-evolved ape-thing

[OS X] appeals to me as a monk, a user, a compiler-of-apps, a
sometime coder, and an easily amused primate with a penchant
for those that are pretty, colorful, and make nice noises.
-- Dan Birchall, in The Monastery


Re: Need suggestions for a module name

2011-06-27 Thread David Cantrell
On Thu, Jun 16, 2011 at 09:23:50PM +0100, Robert Rothenberg wrote:
 While debugging a project that generated a lot of temporary files, I came
 upon a nifty idea: rather than name the temporary files the usual random
 strings, why not have the files named by the method/function that created
 them, e.g. instead of something like /tmp/Hf6254d85.txt, why not call it
 /tmp/Some_Package_Name/text_analysing_function-Hf6254d85.txt.
 
 Anyhow, I think this might be something worth uploading to CPAN.
 
 So what should it be called?
 
 I was thinking of something like File::Temp::Smart, for lack of a better
 name. But I am open to better ideas.

Rather than yet another module which has functionality very similar to
other stuff that's already on the CPAN, have you considered submitting a
patch to the author of File::Temp?  A good place to make the change,
without changing the existing API, would be to make the 'template'
argument, in all the places it appears, support sprintf-a-like
%sequences - eg %f for the function name, %p for the package, %d for
the ISO standard date, %t for datetime etc.

-- 
David Cantrell | Cake Smuggler Extraordinaire

In this episode, R2 and Luke weld the doors shut on their X-Wing,
and Chewbacca discovers that his Ewok girlfriend is really just a
Womble with its nose chopped off.


Re: Troubles with CPAN indexing of PDL::NetCDF and PDL::Graphics::PLplot (fwd)

2011-05-05 Thread David Cantrell
On Wed, May 04, 2011 at 01:36:57PM -0600, Doug Hunt wrote:

 I've been having trouble for some time getting two of my modules (listed in 
 the subject line) to be downloadable via the cpan shell.

 I think it is a problem with getting the version number properly indexed. 

I presume this is because they have a .pd extension instead of .pm.

-- 
David Cantrell | http://www.cantrell.org.uk/david

 I'm in retox


Re: Troubles with CPAN indexing of PDL::NetCDF and PDL::Graphics::PLplot (fwd)

2011-05-05 Thread David Cantrell
On Thu, May 05, 2011 at 10:12:24AM -0600, Doug Hunt wrote:
 Hi David:  I think so.  That's why I've put the META.yml file in place to 
 try to give a hint to the indexer.  The indexing email I get seems to 
 indicate that it works, but its still not visible to the cpan shell.
 Not sure what to do differently...

I'll mention it on the #toolchain IRC channel, that's where CPAN.pm devs
hang out. You might also want to tell Andreas Koenig and Dave Golden by
email.

-- 
David Cantrell | Enforcer, South London Linguistic Massive

  For every vengeance, there is an equal and opposite revengeance.
-- Cartoon Law X


Re: How to specify a data file location for tests

2011-03-04 Thread David Cantrell
On Fri, Mar 04, 2011 at 09:16:14AM -0500, Shawn H Corey wrote:
 On 11-03-04 01:54 AM, Zbigniew Lukasiak wrote:
 my $psgi_file = File::Spec-catfile( 't', 'app.psgi' );
 I thought the tests were done in the t directory.  If so, then the file 
 its looking for would be:  t/t/app.psgi

Nope.  The cwd is normally that into which the distribution was
unpacked.  I do that sort of thing all the time.

-- 
David Cantrell | Enforcer, South London Linguistic Massive

Cum catapultae proscriptae erunt tum soli proscript catapultas habebunt


Re: best practices for module renaming

2011-02-08 Thread David Cantrell
On Mon, Feb 07, 2011 at 08:59:40PM +0100, Xavier Noria wrote:
 Hi, I am the author of Net::FluidDB, which let's you talk to FluidDB.
 FluidDB has been renamed to Fluidinfo, and I should rename the module
 in accordance. Is there a recommended way to do this? Or should I just
 upload a different distribution and document the rename?

I'd upload a new distribution, rename the module, and also include a
backward-compatibility wrapper module.

-- 
David Cantrell | Reality Engineer, Ministry of Information


Re: What hurts you the most in Perl?

2010-12-02 Thread David Cantrell
On Wed, Dec 01, 2010 at 11:19:07PM +0200, Gabor Szabo wrote:
 On Wed, Dec 1, 2010 at 7:21 PM, David Cantrell da...@cantrell.org.uk wrote:
  [re Padre]
  And is there a working binary for OS X that I can just download and run
  without wasting a day fighting against Wx?
 Unfortunatelly not.

Hmmm, I see that there's a PPM of it, and that Activestate support OS X.

But before I go ahead and install that, does anyone know where
Activeperl installs?  I don't want it trampling all over any of my
current perl builds!

-- 
David Cantrell | Official London Perl Mongers Bad Influence


Re: What hurts you the most in Perl?

2010-12-01 Thread David Cantrell
On Sun, Nov 28, 2010 at 08:03:54PM -0800, Jarrod Overson wrote:

 The inability for an IDE to help me thoroughly refactor code is the biggest
 problem for me.

Can Padre do that yet?

And is there a working binary for OS X that I can just download and run
without wasting a day fighting against Wx?

-- 
David Cantrell | Reality Engineer, Ministry of Information

What profiteth a man, if he win a flame war, yet lose his cool?


Re: Using a better compression than .gz for one's CPAN modules

2010-11-25 Thread David Cantrell
On Wed, Nov 24, 2010 at 09:59:59PM +0200, Shlomi Fish wrote:
 On Friday 19 November 2010 22:02:48 David Cantrell wrote:
  Even if it does, there's not much point.  bzip2 support is nowhere near
  universal, and preventing lots of users from using your code would seem
  to be a poor trade-off for saving an insignificant number of bytes.
 One can easily install bzip2 to unpack that the distribution ...

One can indeed easily install it.  Unless one is a Windows user, or is
on a platform which bzip2 doesn't support, or your workplace policies
prevent you from installing it.

  As for the others, I've never heard of them.
 .xz is http://en.wikipedia.org/wiki/Xz .

If I wanted to find out about them I could use google.  I have no
interest in weirdo file formats.

 Welcome to 2010.

Social skills.  You've no doubt heard of them.

-- 
David Cantrell | Official London Perl Mongers Bad Influence

You don't need to spam good porn


Re: Using a better compression than .gz for one's CPAN modules

2010-11-19 Thread David Cantrell
On Fri, Nov 19, 2010 at 08:53:12PM +0200, Shlomi Fish wrote:

 here is a report on compressing Graph-Easy-0.70.tar with various
 compression methods:
 
 -rw-r--r-- 1 shlomif shlomif  416916 Nov 14 22:23 Graph-Easy-0.70.tar.gz

 -rw-r--r-- 1 shlomif shlomif  329197 Nov  5 12:24 Graph-Easy-0.70.tar.bz2
 -rw-r--r-- 1 shlomif shlomif  270796 Nov 14 22:21 Graph-Easy-0.70.tar.lrz
 -rw-r--r-- 1 shlomif shlomif  312844 Nov  5 12:24 Graph-Easy-0.70.tar.xz
 
 As one can see, there are significant savings in size (and bandwidth)
 by switching to .bz2 and .xz. .lrz (see
 http://ck.kolivas.org/apps/lrzip/ ) yields even more in its ZPaq
 preset, but at the cost of longer compression and even decompression
 times, so it's not preferable. My question is:
 
 1. Will the CPAN testing and downloading toolchian will handle modules
 uploaded as .tar.bz2?  (Allow to install them, unpack them, etc.)  How
 about tar.xz.

Even if it does, there's not much point.  bzip2 support is nowhere near
universal, and preventing lots of users from using your code would seem
to be a poor trade-off for saving an insignificant number of bytes.
The *backpan* is so small compared to modern storage that I don't bother
with a minicpan any more, I just carry a backpan plus indices around
with me all the time on a bit of plastic the size of a postage stamp.

As for the others, I've never heard of them.

FWIW, there are 166 bzip2 files in my backpan mirror, at least some of
which have test results, so yes, the toolchain appears to work for them.
The one I bothered to check is also indexed on search.cpan.org, so that
important part of the toolchain appears to work with it too.

-- 
David Cantrell | Hero of the Information Age

Cum catapultae proscriptae erunt tum soli proscript catapultas habebunt


Re: Name needed for a module to check whether a binary is GNU

2010-09-15 Thread David Cantrell
On Mon, Sep 13, 2010 at 03:51:13PM +0200, Nadim Khemir wrote:
 David Cantrell [Mon, Sep 13, 2010 at 02:46:40PM +0100]:
  On Mon, Sep 13, 2010 at 12:53:24PM +0200, Nadim Khemir wrote:
   IE: what you are looking for is to add a trait to the tar app so it can
   give you some info about its capabilities
  No, I'm not.  I really don't want to require that everyone in the whole
  world mess about with their tar for my benefit.
 I fail to see how you adding a trait to someone's App::Tar forces anyone
 to mess with anything.

What is this App::Tar of which you speak?  I'm talking about how to
figure out what capabilities tar(1) has.

-- 
David Cantrell | Bourgeois reactionary pig

Perl: the only language that makes Welsh look acceptable


  1   2   3   >