Robert Rothenberg

  • Website:
  • About: I was born on the Moon but kidnapped by astronauts and raised in the suburbs of Grumman. Eventually, I drifted along the Gulf Stream to Northern Europe. Blogs about Perl, Puppet, Linux, programming, and whatever etc.
  • Commented on Promoting Perl
    Andrew's point about API support is a good one. I'd like to add that while it's great to have "killer apps" written in Perl that are widely used, most companies won't care whether they are written in Perl. Their developers...
  • Commented on Promoting Perl
    Are you promoting Perl, or pecific projects written in Perl? These are not the same thing. Who are you promoting Perl to? 1. Software Developers? 2. Management? I don't think (1) is difficult, as long as they have a reason...
  • Posted Adding a ROADMAP section to the POD to Robert Rothenberg

    I've like to propose adding a ROADMAP section to module documentation.

    It would be a *short* summary of planned changes for future versions, noting what features would be removed or changed, or upcoming new features that will be added.

    More detailed roadmaps should be put in a sepa…

  • Posted Graphics::ColorNames changes to Robert Rothenberg

    I have been making a lot of changes to Graphics::ColorNames lately. The module has gone too long without any maintenance, and suffered from feature bloat.

    Some notable changes that are already on CPAN:

    • A switch t…
  • Commented on Type::Const released
    I would have thought something like has things => ( is => 'const', isa => BagOfWind, ); It should be fairly easy to write something automatically modifies the type and adds a coercion....
  • Commented on Type::Const released
    I've updated it in v0.3.0 so that there is a single Const type that takes an optional parameter, e.g. Const[ArrayRef[Int]] I have removed the ConstArrayRef and ConstHashref types as well....
  • Posted Type::Const released to Robert Rothenberg

    I've created an experimental Type::Tiny library called Type::Const that coerces ArrayRefs and HashRefs into constants using Const::Fast.


    When you have read-only attributes in Moo(se) classes:

  • Commented on File::Slurp is broken and wrong
    it's not particularly relevant to slurping as the handle won't be shared between threads. It doesn't matter if the filehandle is shared. Just calling binmode will lead to a segfault....
  • Commented on File::Slurp is broken and wrong
    I believe that the default encoding using by File::Slurp is because of a Perl bug with threads:
  • Posted Pod::Readme can now be used with Dist::Zilla to Robert Rothenberg

    I've recently released a new version of Pod::Readme with hooks to work with Dist::Zilla.

    I also worked with Fayland 林 so that

  • Commented on Scratching an itch - interpolable HTTP Status constants
    Actually, scratch that last reply. I misread it. Yes, you can use %hash = ( HTTP_OK() => ... ) or ${\ HTTP_I_AM_A_TEAPOT } but the code is a bit ugly. Admittedly, this module does add extra dependencies (although some like...
  • Commented on Scratching an itch - interpolable HTTP Status constants
    @bor Yes, there's a simplified way of defining HTTP constants that way discussed in But there's no compile-time checking of typos. If you type $HTTP{BSD_REQUEST}, you won't get an error and may miss a subtle bug. (Note that "BSD"...
  • Posted Scratching an itch - interpolable HTTP Status constants to Robert Rothenberg

    When working on larger web applications, I prefer to use HTTP::Status to provide human-readable constant names in the code. This is especially helpful for anything other than the common 200, 404 or 500 status codes.

    But the constants exp…

  • Posted Pod::Readme v1.0.2 released to Robert Rothenberg

    I released a new version of Pod::Readme yesterday. It's a module for "Intelligently generate a README file from POD" by using POD =begin/=end and =for commands to control what parts of a module's POD are included/excluded in the…

  • Commented on A pre-release of Pod::Readme is available on CPAN
    @leon I am in the process of changing it from Moose to Moo. As for v5.10, I prefer using some of the features of v5.10 to simplify the code. If I get enough feedback from module authors asking for support...
  • Commented on Rewriting Pod::Readme
    A pre-release has been uploaded to CPAN. See the announcement....
  • Posted A pre-release of Pod::Readme is available on CPAN to Robert Rothenberg

    Last month, I mentioned that I was rewriting Pod::Readme.

  • Commented on Test::More has lots of crazy new development that's breaking my modules
    As a module author, I also don't want to see fails for spurious reasons for my modules. But when I'm choosing a module to use, I look closely at the failures to see why they are failing before deciding not...
  • Commented on Rewriting Pod::Readme
    Thanks for the feedback. @Ether: I've thought of using Moo, but I am using traits and MooseX::Object::Pluggable to load plugin-roles. I'm unsure how to do that using Moo....
  • Posted Rewriting Pod::Readme to Robert Rothenberg

    Back in 2005, I wrote Pod::Readme. It languished a bit, and David Precious took over maintainership around 2010.

    The core idea for this is that README files contain redundant information that is already in the POD, but not everything in th…

  • Posted Transparently testing Catalyst applications for memory leaks to Robert Rothenberg

    Summary: you can use CatalystX::LeakChecker to check every request in your test suite for memory leaks.

    From my blog, here.

  • Posted Const::Exporter Released to Robert Rothenberg

    A few days ago, I released Const::Exporter to CPAN.

    Basically, it's a module that allows you to define a module with exportable constants that:

    • can be read-only scalars, arrays, or hashes (as well as the standard constant…
Subscribe to feed Recent Actions from Robert Rothenberg

  • plenum commented on File::Slurp is broken and wrong

    Why slurp at all?

    Before slurping I ask myself why. Not what module or how.

    • Do I actually know the possible file size? Many times processing large files I have broken modules (and needeed to replace them) because they use slurping which do not scale to large files (Megabyte to gigabyte plus).

    • Am I applying premature optimisation? In my testing the increase in speed (if any!) was outweighed by needing to take into account encodings and binmode issues - pretty much the issues described here. Just using the native methods might be better.

  • Dean commented on Promoting Perl

    I have taken a POV that is promoting perl through content creation and promotion. This would help address the mentioned idea that "people are learning it, so they want to use it".

    Another POV is excellent - that of promoting using the perl language directly to businesses and business leaders

    Some ideas I have are:

    - Direct outreach programs to business leaders (I dont know what this would look like. Perhaps business-centric content in a VIP setting at YAPC/TPC?)
    - (I keep coming back to content) White papers from businesses about their success
    - Efforts to…

  • Andrew Solomon commented on Promoting Perl

    Thanks for bringing this up Dean. As I read through it I was composing a comment which - as I scrolled down - is almost exactly what Robert had already written :-)

    The only addition I have to make is that when I see businesses moving away from Perl - apart from the difficulty of finding developers - it's because many other companies they depend upon via Web services don't provide Perl APIs. They leave it to the Perl community to implement and maintain it themselves rather than spending enough to maintain their own. Two examples are Amazon AWS and Stripe.

    This means that the q…

  • Dean commented on Promoting Perl

    Training (and certifications) have a powerful network effect. Thats a great contribution.

  • kd commented on Promoting Perl

    Perl has a couple of major strengths [1], and some problems.

    Personally I've found that there's no normal programming activity I can't do with perl that I can't do with any other similarly positioned language. But there's not a lot of perl being taught these days, and a lot of people teaching perl don't really have the capability to do so. I've spent the last decade trying to get my programming game as disciplined as I can. I would have done it in another language, but perl is fun, and I'm a self-teaching type person with a non-typical programming background. Perl is really wel…

Subscribe to feed Responses to Comments from Robert Rothenberg

About 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.