user-pic

Paul "LeoNerd" Evans

  • 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...
  • Commented on DateTime is annoying
    A lot of objects with name/value pair constructors often define a simple "80% of the time" use-case for which named argument you'd be wanting to set if you just passed a single one. E.g. IO::Socket::IP presumes a single IP is...
  • Commented on Learning AnyEvent
    Why stop at two event systems? Take a peek also at IO::Async: http://search.cpan.org/dist/IO-Async/ It has a relatively small simple objecty API like AnyEvent, but a bit more structured in things like adding/removing real objects to its control, rather than you...
  • Commented on Activate ipv6 on Windows
    Try IO::Socket::IP instead. It handles IPv4, IPv6, and whatever else may come along in the future, all via the nice forward-compatible magic that is getaddrinfo(). Much nicer than the 'v4-specific ::INET or 'v6-specific ::INET6....
  • Commented on Time spent waiting for tests you know will pass is time wasted
    For installing the same set of stuff across lots of machines I've always found it far nicer to build a debian package out of each CPAN dist, and install those via apt. Tests are run at package build time, not...
  • Commented on My take on Modern Perl
    I have yet to see any type-based optimisations for runtime performance that didn't get in the way of things like object class mocking for unit tests, to take a random example. I like the dynamic nature of perl. I like...
  • Commented on My take on Modern Perl
    Ah; I see. So it's static typing for the purposes of applying optimisations, not for checking program correctness? In that case, why not have the runtime perform JIT-style optimisations as and when it requires, if it determines them to be...
  • Commented on My take on Modern Perl
    The whole "strong typing" slope gets very slippery very quickly. int sub sum(int @values) { ... } Ah. Now I can't sum floats. num sub sum(num @values) { ... } What about objects that overload numerical addition? Now we need...
  • Commented on Ocaml Pet Peeve
    Originally C behaved like this. This is why a lot of the traditional UNIX/POSIX structs have unique prefixes on their member names; for example the st_ prefix on members of struct stat....
  • Commented on I need pack examples for the Camel
    A number of pairs of pack/unpack examples can be found in http://cpansearch.perl.org/src/PEVANS/Tangence-0.07/lib/Tangence/Message.pm...
  • Commented on Why do you want new major features in core?
    There's one feature I would like in core because as far as I can tell it's almost impossible to develop it on CPAN - which is customisable sv2pvflags(). Without this, I am forced to implement my "no stringification" pragma by...
  • Commented on Perl traps for Python Programmers
    One of the things I use a lot in Perl is closures that capture outer lexicals, and mutate them. I.e. my $counter = 0; my $incsub = sub { $counter++ }; which is something new, that has no direct Python...
  • Commented on is a type system a hindrance to programming creatively ?
    You don't need type systems to distinguish 6 from 42. You simply say that "+" is an operator that yields the sum of its two operands, and "." is an operator that yields the concatenation of the characters of its...
  • Commented on A map of the CPAN Ecosystem
    Could you explain what the colours of the lines mean?...
  • Commented on Playing around with Method::Signatures::Simple
    At this point I'd be tempted to look at subtle differences in how Method::Signatures::Simple builds the optree; e.g. my $first = shift; my $second = shift; vs my ( $first, $second ) = @_;...
  • Commented on Rewriting the language
    I've occasionally used the "${Foo} considered harmful" title ironically; to draw attention to some borderline topic that has its fanatics and its loathers, only to then make a middle-of-the-road reasoned point that it could be useful but not for all...
  • Commented on IPv6 talk wanted
    I probably have a number of thoughts to add on this subject. I'm the author of the IPv6 additions in Perl 5.14, as well as the CPAN module IO::Socket::IP which provides an IPv4/IPv6-neutral analogy to the IPv4-only IO::Socket::INET. I don't...
Subscribe to feed Recent Actions from Paul "LeoNerd" Evans

  • Buddy Burden commented on The Four Major Problems with CPAN

    Yet Another Problem with the ideas (not that I wish to discourage you--definitely keep pursuing these ideas, as they're much needed--but just to make sure you're thinking of all the issues) is that, while sometimes there is a "right" and a "wrong" module, sometimes there isn't. That is, sometimes there are two modules that both do the job and there just isn't a clear reason to prefer one over the other. Perhaps one is OO and the other isn't. Perhaps one has more features but the other has a simpler interface. Perhaps one works well for A but not at all for B, while the other…

  • James commented on Recursive deferred promises

    Since you're already working with AnyEvent, this functionality can be achieved with Condvars.

  • Dave Cross commented on CPAN {Spring|Autumn} cleaning time again

    BooK,

    I saw that when reading the QA Hackathon wiki just now. This made me very excited as it was only a couple of days ago that I considered doing that myself.

    So, how far did you get?

  • Ether 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.

    Previous releases are still available after deletion via BackPAN -- and links to there are available on the metacpan page for the distribution. The only thing that wouldn't work the same as before is cpan clients (e.g. new cpanm) that seek to install a specific version, and even then, the clients could be updated to fall back to BackPAN if the dist is not found on PAUSE.

    Also, this plugin is availab…

  • Steven Haryanto commented on CPAN {Spring|Autumn} cleaning time again

    Since old releases are preserved by BackPAN, I tend to keep only the latest releases in my CPAN directory. The reason for that is... there is an existing script/module to do that sort of cleanup for me: WWW::PAUSE::CleanUpHomeDir. I just use the script provided in the Synopsis with slight modification:

    https://github.com/sharyanto/scripts/blob/master/cleanup-pause-homedir

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 run by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.