user-pic

Paul "LeoNerd" Evans

  • Commented on Perl 5 Porters Mailing List Summary: June 30th - July 5th
    It's coroutine support effectively, yes. Coroutines organised by the use of Futures; in much the way that a lot of other languages, both static and dynamic, seem to be doing lately. But it's not going in core, no. At least,...
  • Commented on P6SGI: More of a Journey than a Destination
    Ooh that's looking much better now than last time we spoke :) Nice work. I wonder to what extent any of these things can be backported back to Perl 5, to allow P(5)SGI to handle the things you're newly adding...
  • Commented on P6SGI: Smack the Reference Implementation
    Please make sure not to forget all the async cornercases that Perl5's PSGI can't cope with currently. :)...
  • Commented on Logically And Yourself (&&=)
    Consider also `List::Util::all` or `::any`, which have similar shortcircuiting logic in them...
  • Commented on vec is slow, little-endian and limited
    I've never actually found a use-case for vec() to do anything other than maintaining the bitvectors for a select() system call....
  • Commented on Metabase down?
    Are you using IO::Socket::IP 0.30? If so, known bug. See https://rt.cpan.org/Ticket/Display.html?id=97050 For now, revert back to 0.29....
  • Commented on mop problem 4 - mop is misleading name
    I have often thought about making a truely first-class "CLASS" type in Perl, references to which are returned by the ref() operator on "normal" objects. foreach my $mth ( ref($self)->methods ) { ... } e.g.. Or failing that, we steal...
  • Commented on Math::Prime::Util, May update
    Ooh, I wasn't aware of the trouble of using List::Util::sum like that. Can you report it as a bug and I'll take a look into fixing it....
  • Commented on Detecting JSON/YAML/Perl/CSV/TSV/LTSV
    You may want to take a two-step approach of first rejecting the guaranteed negatives, then taking the remaining set and piecewise comparing, of the given remaining formats it might be, find a test that would suggest which it is more...
  • Commented on Python's decorators in Perl
    Or you could use an attribute sub p :bold :div_id("testid") { my ($str) = @_; return "$str"; } Attributes can modify the code in-place, and replace it with a wrapped version...
  • Commented on Inheritance is Bad: Code Reuse Part I
    Your comparison with IO::Seekable as a role is somewhat of a red herring here. The IO::Seekable class exists, not because it's a sensible split in code structure, but purely for social reasons, as it was easier to create a new...
  • Commented on Extracting values from a list of (key, value) pairs
    It's nice to see that pairkeys() is fastest there. As I'd hope it would be, because it's written in XS. It's available on CPAN for current perls and will be in 5.20, so it should be available to anyone other...
  • Commented on Getting a progress report from a running program
    I often use SIGQUIT for this purpose, because by default it's even bound to a key on the terminal - Ctrl-\. This means you can send it to a foreground process without having to kill or pkill from another terminal....
  • Commented on Things we don't have #2
    Given the existence of Net::Async::HTTP, Net::Async::FTP, Net::Async::IMAP::Client, etc.. it should be fairly easily possible to write a universal URL-driven async fetching wrapper, similar to the idea that LWP has of a centralised controller with handlers for various URL schemes. In...
  • Commented on Great Mystic Mystery Revealed
    It was originally a quick, a limit of the parser used to pull out the package names. But so many people have now relied on it, that it's become a feature that won't be fixed....
  • Commented on Anyone else get personal URL from Google Plus?
    On about the first week of G+'s launch, I created myself a named personal URL redirector at http://go.leonerd.org.uk/+ which I've used ever since....
  • Commented on Asynchronous MySQL Queries in Perl Using DBD::mysql and AnyEvent
    If you're going to use this idea, be aware that it's only a half-baked solution. For this to work reliably, the file descriptor itself still needs to be in blocking mode, so that writes and reads to it are not...
  • Commented on CPAN {Spring|Autumn} cleaning time again
    I occasionally find it useful to have the latest-but-one release off CPAN as well. Sometimes the latest release introduces a bug that I can avoid by using the previous release. Personally I tend to keep a rotation of three versions...
  • Commented on Recursive deferred promises
    I should also add: The code block you wrote here has a bug in it. Because the anonymous function contains a reference to itself, it forms a cycle that will never be collected and leak memory. To fix it, you'd...
  • Commented on Recursive deferred promises
    Actually, Future already has a way to handle this very thing. Any sort of while or foreach-type loop can be written using the repeat function in Future::Utils. For instance, in your specific case you have a few command strings to...
  • Commented on The Four Major Problems with CPAN
    As the author of two of the six modules you point out in the first place, I feel I should write a little reply here. As to the Socket vs. Socket6 question: Originally, Socket6 was written by someone to provide...
  • Commented on Perl programmer humour
    I usually end with 0x55AA; http://en.wikipedia.org/wiki/Master_boot_record#Sector_layout...
  • Commented on 13% of CPAN distributions don't have a test report on Windows
    I've already written about the comparative lack of test reports from Windows, as compared other platforms. I'm still not really sure why this is. http://leonerds-code.blogspot.co.uk/2012/07/dear-perl-users-on-windows.html...
  • Commented on 50% of the new CPAN uploads lack a repository link
    I have a different reason here. I actively choose not to include such information. My VCS is much like my editor, my shell, my terminal, or anything else. It's an inner part of the process I use to create the...
  • Commented on The sad state of syntax highlighting libraries on CPAN
    I keep meaning to write an article/example/description/something on how you can use Parser::MGC to parse up the input text and yield a syntax tree annotated to give the positions it found the various constructs in the input. This would make...
  • Commented on How many ways to start a process do you know?
    Don't forget most event systems will probably have their own specific ways as well. POE::Wheel::Run, IO::Async::Process, AnyEvent no doubt will have something too, GLib's gspawn,......
  • Commented on Building C and C++ libraries with Perl
    You might also be interested in ExtUtils::CChecker, for checking system or C library dependencies, and configuring the build system to use them....
  • Commented on AnyEvent::Capture - Synchronous calls of async APIS
    It's basically the same as IO::Async's await method, then. my @ips = $loop->await( $getaddrinfo_task )->get;...
  • Commented on address-sanitizer round 2
    Can you prod me about these on IRC at some point I appear to be free? I now have the power to fix two of them (Socket, List::Util). Thanks :)...
  • Commented on Time for a new Issue Tracker, Isn't It?
    You may find it a foregone conclusion, but for the rest of us, can you summarise what is wrong with rt.cpan.org? I mean I have a tiny gripe about its autocomplete="off" behaviour in the password field, but asides that I...
Subscribe to feed Recent Actions from Paul "LeoNerd" Evans

  • john napiorkowski commented on P6SGI: More of a Journey than a Destination

    FWIW the survey I did of what psgix.io was for most of the common servers are some variation of IO::Socket (either IO::Socket::INET or a thin wrapper on it). I don't think it would be that hard to define a minimum duck type for the interface, and perhaps an allowed extension to it when the underlying server is non blocking. It probably would not be too hard to patch existing

  • Aristotle commented on P6SGI: More of a Journey than a Destination

    Something that occurs to me here:

    For background, I am the author of Plack::Middleware::MockProxyFrontend. That module uses psgix.io to unwrap the SSL layer from CONNECT requests and then process the inner connection again. (See also)

    So while the low abstraction level of psgix.io doesn’t make sense to expose to applications, it does make sense to expose to middlewares – which can…

  • Sterling Hanenkamp commented on P6SGI: More of a Journey than a Destination

    A few comments:

    1. In some ways the middleware bits are irrelevant to the P6SGI spec. The important bits to the spec are naming how the application ultimately communicates with the server. What happens between the middleware and application is generally the business of the application author and administrators. Whether middleware implements some fancy protocol on top of HTTP or the application does it is not that important.

    In fact, I have one middleware already written for testing that implements a PSGI-to-P6SGI API mapping, which allows applications that do not even obey t…

  • Aristotle commented on P6SGI: More of a Journey than a Destination

    Whether middleware implements some fancy protocol on top of HTTP or the application does it is not that important.

    From the perspective of the server, that’s true. From the perspective of the (codebase of the) application, it’s the other way around. Basically middlewares are always part of “the other side”. The protocol design ought to account for that, and I think PSGI’s – for all its shortcomings (in fact partly because of them, probably) – does, or tried to.

    In P6SGI it is possible to implement HTTP/2 (at least the h2c ve…

  • Yuki Kimoto commented on Perl 5 Porters Mailing List Summary: June 30th - July 5th

    Paul

    I think it is good to implement coroutine in core because coroutine often depends on core internal implementation.

    Where is the repository of your async/await module?

Subscribe to feed Responses to Comments from Paul "LeoNerd" Evans

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.