March 2012 Archives

I am pleased to announce that Nicholas Clark's request to extend his Improving Perl 5 grant has been successful.

This extension would not have been possible without the generous contributions that have been made to the Perl 5 Core Maintenance Fund. I would like to thank everyone who has supported this fund and in particular, cPanel, craigslist, Dijkmat, Liquid Web, Net-A-Porter, the Oslo Perl Mongers,, and the Vienna Perl Mongers.

Dave Mitchell writes:

As per my grant conditions, here is a report for the February period.

I spent a couple of days rebasing my davem/re_eval branch to incorporate recent changes to blead, but apart from that didn't do anything, due to a mixture of illness, being stuck, and doing other things.

The good news is that the illness and stuck-ness are both ended, so (although outside of the scope of the February report), I have started work on the re-eval stuff again.

Over the last month I have averaged 3 hours per week.

As of 2012/02/29: since the beginning of the grant:

103.4 weeks
1065.8 total hours
10.3 average hours per week

There are now 234 hours left on the grant.

Report for period 2012/02/01 to 2012/02/29 inclusive


Effort (HH::MM):

0:00 diagnosing bugs
13:20 fixing bugs
0:00 reviewing other people's bug fixes
0:00 reviewing ticket histories
0:00 review the ticket queue (triage)
13:20 Total

Numbers of tickets closed:

0 tickets closed that have been worked on
0 tickets closed related to bugs that have been fixed
0 tickets closed that were reviewed but not worked on (triage)
0 Total

Short Detail

13:20 [perl #34161] METABUG - (?{...}) and (??{...}) regexp issues

Joel Berger wrote:

Once again I would like the thank the Perl Foundation for supporting me in my effort to provide a mechanism to ease the creation of Alien:: modules. Further I'd like to thank the many Perlers who have commented in various places that this project is of interest and that they are looking forward to providing that Alien:: module that they have always meant to write. This is exactly the response that I had hoped to receive.

Down to the details. This month I did a lot of work on Alien::Base; partially do the excitement about the grant and partially because our scientific camera was out for repairs, thus not much science going on in the lab. I hope to keep the pace high, but looking over the git log I'm not sure that they can be this productive! I'll list some high points:

  • A::B now relies on M::B to handle most of the attributes. Originally I was pulling out my hash keys before creating the object. The few that I still do parse manually I do because there are states that M::B expects prior to the object being created, and I must ensure that those states exist.
  • A::B now includes a simple pkgconfig file parser and storage/munging engine. This allows for A::B to know what cflags and libs to provide and which -L directories to include even after M::B moves the files to their final location. I am considering using mnunberg's new PkgConfig module to do the parsing, but in truth, the spec doesn't seem very difficult (famous last words? let me know in the comments)
  • Removed an awkward system for supplying defaults for all repositories and building repository objects from them. The new engine for this is much simpler and allows for true constructors for the repository objects. This is necessary if my goal of presenting a fully subclassable module
  • Possibly the most important item: use Alien::MyModule; now provides the location of the library to the Perl's run-time loader via LD_RUN_PATH (or PATH on windows). I may need to expand this for other platforms; I'm not familiar with this stuff on any platform but Linux, though my goal has always been to be as x-platform as possible
  • Wrote lots of documentation and tests. Of course there is plenty more to go, but I think that a reasonably competent CPAN author could write an Alien:: module using only these documents. See especially: A::B::Authoring and A::B::ModuleBuild::API.
  • Created an initial dev release, 0.000_001 and given the testers results, two further releases; now at 0.000_003.

Still on my list:

  • Fix a recurring bug that the testers see. It seems to always happen on Solaris, but also appears occasionally on other platforms.
  • Provide a few inheritable tests so that Alien:: authors can have a backbone test provided for them. I expect this will be something in a Test::Class kind of implementation. However the abstractions make this test hard to test, so I'm working on it.

Finally I want to share a little story. At just the right time, I happened to notice that Richard Simões had started an Alien::Nettle project on his GitHub account. Just for fun, I decided to see how easy it would be to write my own Alien::Nettle for this nettle library that I had never heard of, but which seemed to meet my mental image of a good candidate for the Alien::Base system. The project to me all of about 5 minutes and worked successfully! I contacted Richard to mention it and he was quite excited.

This has been added to the examples directory (in his name). There are other examples too, including my own pet Alien::GSL. Take a look to see how easy this can be.

Do you have an Alien:: project that you wish you could write? Once I knock out this bug, I will release an alpha version, probably 0.001 and I will issue a call-to-arms. The reason for this is two-fold.

  1. I want to hear what problems you have in writing your Alien:: module. Where is the framework not flexible enough? How is it confusing to you? Alien::Base has no purpose without users, I want to have you involved sooner rather than later.
  2. I want my actual release (1.000) to be accompanied by a host of other releases of YOUR Alien:: projects. Hopefully coordinated on the same day. What could be a better demonstration of a new easy mechanism for library support?

Finally, just wanted to mention that the project is available on GitHub - including those examples :-) Please, take a peek and comment either there or here, email me at joel dot a dot berger at gmail, or even chat me up on #alien, which I have created to support the authors after my call-to-arms.


Original article at Joel Berger [].

David Golden reported:

I have adapted the "proof of concept" code that I demonstrated at Perl Oasis based on issues discovered subsequently. The code is sufficient to deploy the "Hello World" application that will be the basis for one of the tutorials and the presentation. Over the next couple weeks, I will be working on documentation and preparing the "cookbooks" for release to Opscode's community Chef repository. I will also be improving the 'pantry' tool so it's more user-friendly before beginning work on the tutorials. I will also be doing some R&D on the feasibility of Metabase as the "real world" tutorial project.

He also reports that the coding part of chef cookbook for Perl interpreter and chef cookbook for CPAN module deployment have been completed. The coding part of chef cookbook for Plack app deployment has been almost completed.

In order to satisfy requirements involving the use of the word "Foundation" in our business name, the board of directors have voted to amend the articles of incorporation for The Perl Foundation with an updated set of purposes for the organization.

The new purposes for which the corporation is organized are:

  • cultivating a collaborative open source community and an ecosystem of computer language implementations collectively known as "Perl" and complementary tools, libraries, extensions, and applications around Perl;
  • offering Perl to members of the general public through the use of open source licensing;"
  • educating members of the general public in the application of Perl;
  • advancing Perl through scientific research and development;
  • protecting the intellectual property of Perl;; and
  • receiving and administering funds to aid, support, and assist by gifts, grants, contributions, or otherwise, other persons or organizations of any kind, provided that such activities are consistent with the foregoing purposes.

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at

About this Archive

This page is an archive of entries from March 2012 listed from newest to oldest.

February 2012 is the previous archive.

April 2012 is the next archive.

Find recent content on the main index or look in the archives to find all content.


OpenID accepted here Learn more about OpenID
Powered by Movable Type 6.2.2