user-pic

Aristotle

  • 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:...
  • Posted Perl&#160;5’s list-flattening and reference-taking design choices to Aristotle

    Eevee:

    Perl has the strange property that its data structures try very hard to spill their contents all over the place. Despite having dedicated syntax for arrays –

  • Commented on /Fizz|Buzz/
    my $fizz = grep { 1 while s![147][258]|[258][147]|[147]{3}|[258]{3}!!g; "" eq $_; } s![0369]!!gr; This can also be written as a recursive pattern but I didn’t have sufficient chops×persistence to puzzle it out....
Subscribe to feed Recent Actions from Aristotle

  • Olaf Alders commented on I'm fully covered

    All of the coverage stats are generated by cpancover.com MetaCPAN is only returning the results provided by the cpancover API.

  • Ben Bullock commented on I'm fully covered

    Yes, metacpan is advertising these coverage results on their web site.

    For whatever reason, the coverage results are appearing inconsistently:

    https://metacpan.org/release/Table-Readable

    has no link but it's here:

    http://cpancover.com/latest/Table-Readable-0.03/index.html

    There are quite a lot of these glitches in the links, which don't seem to be formed correctly in many cases.

    Some of the coverage ratings seem to …

  • Ben Bullock commented on Don't use something or another

    My point was that the validation necessary makes eval redundant. Even in the apparently simple case of validating numbers, "eval" can never be 100% OK to use to process an input without doing the computation itself, because it's undecidable what the outcome will be, unless one writes all of the logic at the validation stage. So you can never validate the input stringently enough, except by replicating all of the things that might happen, at which point you no longer need eval anyway.

  • Joel Berger commented on The Exception That Rather Proves the Rule

    Hi Aristotle,

    I don’t know what the proper definition of a “framework” is, but what you’re talking about is a router. A framework to me is a bunch of tools bundled together to do some of the common processing. Plack is that, whether or not it has a router. It also has a similar sized dependency footprint to many frameworks and much larger than than Mojo.

    Anyway, you’ve missed my point entirely. My question is “what does the style of code presented in the article gain for the user?” Is it simplicity? No there’s lots of manual int…

  • Joel Berger commented on The Exception That Rather Proves the Rule

    If you absolutely cannot maintain your scripts (ie want them to live forever unmaintained), and yet your system will get updates to libraries, then you have to have blind trust that nothing in any library will ever break or you need to be proactive to protect yourself. Yes mojolicious moves faster than most but still to assume that no library will ever have a breaking change is putting a lot of faith in systems you don’t control.

    That said, you can mitigate this by ensuring that your dependencies don’t move. Use local copies of your dependencies early in @INC. Use carton …

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.