pryrt's user image
User since: Mar 18, 2016 at 23:38 UTC (4 years ago)
Last here: Jun 03, 2020 at 18:56 UTC (40 minutes ago)
Experience: 11429
Level: Prior (17)
Writeups: 523
Location:Oregon
User's localtime: Jun 03, 2020 at 12:37 PDT
Scratchpad: View
For this user:Search nodes

Hobbyist Perl s‎crip‎ts since the mid '90's, when I picked it up to start doing some simple cgi and random .sig picker for my college-supplied email and personal homepage.

Since my searches for Perl questions usually had the best answer here, I decided I'd finally make an account, and see if I could occasionally answer something rather than just having all my questions answered. :-)

Took over Games::Literati a few years back, because it'd had a long-time scoring bug, and I wanted to add some features (like Words With Friends). That got me interested in publicly contributing to CPAN: while I don't think anyone but me has ever used one of my modules, they do exist. :-)

Developing Data::IEEE754::Tools because I'm interested in the underlying encoding of floating-point numbers, and because Integers sometimes turn into Reals after substraction started an Earworm, fed by Determining the minimum representable increment/decrement possible?, that then wouldn't go away.

Developing Math::PRBS because sometimes, a PRBS is useful to have, and I was surprised to find that I couldn't see it in Math::NumSeq (under any name that I could think of); even if it does include it, one of its prerequisite libraries doesn't compile on Win32 systems. So, I made one (that didn't rely on the prerequisite libraries, so not part of the Math::NumSeq family).

I listed some of my programming history (and potential future) in response to the January 2019 Poll. People reading this far through my bio might be interested to see that history, too.

Since Re^2: Canonization Without Representation showed I was interested: #709 in 556d (1y + 6mo + 7d). The next day, I learned that the SIOB list reorders as XP changes. Now I'm curious whether there's a public interface that will allow showing how someone moves through the SIOB list over time (as the more-active monks start overtaking others). :-)


Posts by pryrt
Advice wanted for debugging CPAN Testers failures in Seekers of Perl Wisdom
4 direct replies — Read more / Contribute
by pryrt
on Aug 23, 2016 at 11:59
    Fellow Monks,

    How do you go about debugging failures from CPAN Testers when your own configurations are not failing? I'd like advice, both in general, and anything you see in my specific examples below.

    For example, this test matrix has a bunch of failures -- but when I test on my machines, I cannot replicate the errors they are getting.

    Before releasing, I tested on a couple of different versions I have access to (strawberry perl 5.24.0_64 on Win7 and an ancient CentOS 4.6 linux 2.6.9-55 with perl 5.8.5), and neither failed my test suite. And since I've seen the CPAN Testers failures, I've started increasing my berrybrew installations to improve version coverage -- but so far, they've all passed, even when they've been on Perl versions that failed in the linux column.

    After I've exhausted available Strawberry installations, I will probably grab one of my linux virtual machines and start increasing perlbrew installations, and run through as many as I can there (I cannot install perlbrew or other local perls on the CentOS machine I noted, due to disk restrictions). But even with trying a new slew of versions, I cannot guarantee that I'll see the same failures that CPAN Testers is showing me.

    I know where I'll be looking for the specific errors: my expected values are wrong; the expected values were being generated by functions I thought were fully tested earlier in my test suite, so I'll have to look into that some more, and also see if maybe I should independently generate the expected values.

    But if I cannot replicate the exact failures from CPAN Testers, it's going to be harder to know I've solved the problem. When doing my last release to add features, I ended up submitting beta versions to CPAN, with extra debug printing, and waiting overnight while the CPAN Testers ran, then basing my fixes on changes in those results. But that's a rather slow debug process... and I noticed that every submission, I was getting fewer results from TESTERS: I think some of those auto-testers have some sort of submission limits, or otherwise remember that a particular module fails and stops testing new versions.

    Any advice, generic or specific, would be welcome.

unintentional conversion of signaling NaN to quiet NaN in Seekers of Perl Wisdom
2 direct replies — Read more / Contribute
by pryrt
on Jun 23, 2016 at 16:48

    Harkening back to my experiments to make an Expand.pm to interpret IEEE754 doubles, I found when making my tests that as I converted a signaling NaN bit string into a double then back to the bit string, it became a quiet NaN. At first I thought I just had a bug in my conversion, so then I tried BrowserUK's code from Re^2: Exploring IEEE754 floating point bit patterns., along with a new function to convert it back.

    outputs

    ... ie, it fails on just the signaling NaN, appearing like a quiet NaN bitstring.

    I tried under an ancient CentOS 4.6 perl 5.8.5, and under a recent Strawberry 5.22.1 32bit, and get the same quieting of the sNaN. Am I doing something wrong, or does perl just automatically quiet signalling NaN values?

open('<&'), Perl::MinimumVersion, and my test suite in Seekers of Perl Wisdom
2 direct replies — Read more / Contribute
by pryrt
on Apr 05, 2016 at 12:26

    Fellow Monks, when I released Games::Literati 0.032, I discovered the hard way (thanks, CPAN Testers) that in-memory files are not compatible with Perl 5.6. The module itself doesn't use in-memory files, but part of my test suite did. So I reworked the test suite to not use in-memory files. I then found Perl::MinimumVersion 1.38, and ran perlver on my module and test files, and all claimed to be Perl 5.6.0 compatible. However, when I released Games::Literati 0.040, I was surprised to see CPAN Testers flag me for failure when tested under Perl 5.6.2. :-(

    tl;dr summary

    1. What Perl version introduced open() using '<&'? I know that by 5.8.5, it works, and apparently it doesn't in 5.6.2.
    2. Should I consider it a bug in Perl::MinimumVersion 1.38 that perlver claimed my test suite was compatible with 5.6.0?
    3. Should I just skip the portions of my test suite that require the '<&'? Or should I try to find an alternate?
    4. Easy way to get 5.6.0 on Windows? (Alternately, pre-made virtual machine with 5.6.0?)

    tl;dr details