user-pic

Aristotle

  • Commented on Perl Dependency Checking
    The dependency metadata in a CPAN distribution is independent from the code that actually loads the needed modules at runtime, so the two can diverge, and occasionally they do. But it gets noticed quite quickly, most of the time –...
  • Commented on What's going on here?
    If it were taking `@_[0,1]` as a scalar parameter, it would be printing out `2`. Incorrect. Replace sprintf with scalar and you will see that the result is exactly the same as you see here. That’s because @_[0,1] is a...
  • Commented on The Exception That Rather Proves the Rule
    If you absolutely cannot maintain your scripts (ie want them to live forever unmaintained) It’s not that I can. It goes back to the question you posed: “what does [maintaining such a script to keep it running] gain for the...
  • Commented on The Exception That Rather Proves the Rule
    If you have some argument for why the presented code is preferable to other frameworks, I’m all ears. It’s the one you won’t want to hear. I have some Plack CGI scripts on a machine where I do not have...
  • Commented on The Exception That Rather Proves the Rule
    Hmm. How much of a role does Plack play in that app? It parses the request parameters. That’s it. That’s the entirety of the reason that their codebase doesn’t qualify as raw PSGI. They don’t even use Plack::Response (I often...
  • Commented on Don't use something or another
    There are legitimate uses for eval when you are doing language-level stuff. I’m finding it hard to think of how to circumscribe them with a reasonably simple and reasonably accurate criterion though. To put it unhelpfully abstractly, eval is an...
  • Commented on I'm fully covered
    It doesn’t make any difference to users whether MetaCPAN runs the coverage checking itself or endorses the data generated by another service. The weight given to the data by MetaCPAN is the same....
  • Commented on Modern Perl CGI
    Dave, that won’t work exactly as written because plackup is a script, and you can only use binaries in the shebang. You would have to use #!/usr/bin/env plackup But I recommend against this. Going through plackup via the shebang line...
  • Posted Modern Perl CGI to Aristotle

    The contemporarily unique strengths of CGI as a deployment strategy are that CGI scripts ⓐ can just be dumped in the filesystem to deploy them and ⓑ do not have any of the issues of long-running processes: they tie up no resources when not in use and are extremely reliable because of the…

  • Commented on Modern Perl CGI
    Another objection is that the first script will work on basically any server, and will not require changes more or less ever, whereas the second script basically requires the ability to deploy it in a way that includes the exact...
  • Commented on I'm fully covered
    In my opinion, marking private subroutines with a leading underscore is a de facto standard in the perl world. So, independently of the coverage issue, it would be a good thing to do. That would be a fair stance to...
  • Commented on Which edges cases could perl shed to make it easier to parse?
    It's about making a grammar that something else can use. Oh. Hmm. PPI?...
  • Commented on Which edges cases could perl shed to make it easier to parse?
    Isn’t that more or less what Kurila was? Also, the Perl-alike Stevan wanted to attempt. And at least two other projects whose names escape me. I’m pretty sure there were more of them before my time as well. History says...
  • Commented on Could anybody explain this code?
    Merlyn: The bit at the end is not meaningless. It works with the -s switch that’s passed to the perl call. It makes the value of the -i switch into the value of the variable $i in the code. And...
  • Commented on Could anybody explain this code?
    As others have said, your script looks like an unfinished attempt to solve a problem, and doesn’t actually do much. It just uncompresses the *dat.gz files in the current directory. For each of the files it also prints a line...
  • Commented on A widespread and broken Perl idiom
    Oh, wow. I had to go all the way to $_ = [ __FILE__ ] for local *ARGV; to make it work in a single statement. Even something like *{ \local *ARGV } = [ __FILE__ ]; wouldn’t work, despite...
  • Commented on A widespread and broken Perl idiom
    I became aware of this as far back as my PerlMonks days, so at least 15 years ago. Namely, I memorised that I should be writing the idiom like this: my $content = do { local ( *ARGV, $/ )...
  • Commented on Wallflower improvements and issues
    what if the application generated a list of links that are expected to exist I was going to shout “sitemaps!” before I read on and saw you already have that covered. 😊 X-No-Archive An HTTP application should not be looking...
  • Commented on Wallflower improvements and issues
    The most helpful tip I saw is to think of 12:01. Is that in the AM or PM block? Well the hour is in the same block. That means 12AM is midnight, because 1 minute after midnight is AM, and...
  • Commented on At Perl Station
    There are posts on here that annoy me (which I just skip – I’m not the police and don’t play it on reddit) but this isn’t one of them....
  • Commented on StackOverflow that!
    Sure, feel free. 😊...
  • Commented on Proposed new data structure: Pile
    First I thought this was silly. Then I saw it was a joke, but I thought it was a stupid one. Then I got to the end. Hah! 😊...
  • Posted Plack::Middleware::RedirectSSL to Aristotle

    I just shipped 1.300 of this module to the CPAN and it occurs to me that I’ve never talked about it here. I suppose I figured that what it does is so simple that there’s not much to say about it. But it‘s useful if you need what it does, and I wrote it because nobody else had.

  • Posted Try::Tiny::Tiny to Aristotle

    Last year I released this new module.

    I want to talk about its purpose briefly, because in the time since, people have published benchmarks of how it performs compared to other modules that offer alternatives to…

  • Commented on Dist::Zilla Check License
    You are using a file from outside the repository to build the distribution. Nobody else has that file stored in that path on their computer, so nobody else can build the distribution. If that fact counts as undocumented on account...
  • Commented on App-RemoteCommand
    May I suggest using SpeakerDeck instead? It doesn‘t make your readers sign up for an account in order to be able to download the slides....
  • Commented on Simple (Date) Range Overlap Detection
    The way I prefer to think of it is NOT ( rangeB.end < rangeA.start OR rangeB.start > rangeA.end ) The prose version of that is the the most natural way I can think of to express this logic in human...
  • Commented on Smartmatch in 5.27.7
    Yes, autoderef came to my mind as well....
  • Commented on Smartmatch in 5.27.7
    I think the first problem was the introduction of smartmatch at all without much more discussion. Oh there was no dearth of discussion at the time. And I argued against it strenuously. Nobody seemed to hear, though. 5.10 was the...
  • Commented on Why I wrote Keyword::DEVELOPMENT
    Some dev comes along as says "why are we using the old constant pragma?" So they "fix" the code: Might I suggest not hiring people who will dis-improve the code by rote rule-following? 😊 But also, if that’s your problem:...
Subscribe to feed Recent Actions from Aristotle

  • $Bob commented on What's going on here?

    Ah, thank you Aristotle! You have cleared up some subtleties in the language that I knew were there, but were quite hard to pin down. Thank you for taking the time to clearly explain those subtleties, and give an example of how I could detect them in the future (change sprintf to scalar).

  • Luca Ferrari commented on What's going on here?

    Just for the record: Perl6 catches the error.


    sub fmt { sprintf @_[0,1] }
    # Your printf-style directives specify 1 argument, but no argument was supplied

    sub fmt { sprintf $^a, $^b } # OK!

  • ysth commented on What's going on here?

    While you are correct about how it works, conceptually the issue is simply that an array slice in scalar context produces the last element of the slice.

    That it actually produces a list and then the last element of the list is produced is an implementation detail.

  • ysth commented on What's going on here?

    This is a fine example of why prototypes should not be used on user-created subroutines; just memorizing what they are for the built-ins and expecting the syntactic effects they have is hard enough.

  • bigfoot commented on Perl Dependency Checking

    Thanks all for your comments...they were helpful. My takeaway regarding dependencies listed on CPAN is essentially, as Aristotle eloquently penned..."It’s basically trustworthy, but not completely reliable."

Subscribe to feed Responses to Comments from Aristotle

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is hosted by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.