August 2012 Archives

For this quarter we had two proposals. Grants' committee voted, and here are the results:

New TPF Conferences Chair

1 Comment

I'm happy to announce that Heath Bair is our new Conferences Committee Chair. Heath was the organizer for YAPC::NA in Columbus in 2010 and he has remained passionate about YAPCs ever since. I'm looking forward to him bringing that passion to one of the most active committees in TPF. Please join me in congratulating Heath on his new role!

David Golden reported:

Cooking Perl with Chef Grant Completion Report

I am pleased to report the completion of my TPF grant, "Cooking Perl with Chef".

The goal of this grant was to create ready-to-use tools and supporting tutorials that teach Perl developers (and the sysadmins that support them) how to deploy Perl applications repeatable and reliably using the Chef configuration management tool.

In the section of the original proposal on my motivations for this grant, I talked about the "black art" of automated deployment:

Automated configuration management tools are increasingly part of the toolbox for Internet technology companies, but support for Perl and Perl application frameworks lags behind other dynamic languages. This makes Perl harder to integrate into an environment that already uses such tools and makes it harder for Perl-oriented companies to adopt such tools.

While these difficulties can be overcome, deploying Perl applications with configuration management tools remains an idiosyncratic black art, with the knowledge of how to do it locked up in the minds (or companies) that have done it. For someone new to configuration management, the learning curve is steep.

I sincerely hope that the deliverables from this grant can serve as a foundation for the Perl community to continue to share tools, techniques and practices.

As I mentioned in my last report, there is now a Perl Devops mailing list to serve a community forum for discussing deployment tools and practices. If you are interested, please email [email protected] and help jump start some conversations.

I would like to thank The Perl Foundation (and those who contribute to it) for their support of this grant.

Summary of the deliverables

Code deliverables

The cookbooks are available via the Perl Chef website and the Opscode community cookbook website. Pantry is available on CPAN.

Teaching deliverables

The teaching deliverables are also linked on Perl Chef.

2012Q3 Grant Proposals

For this quarter we have two grant proposals being voted:

The Grants Committee requests the community to comment on these proposals (please use each post, and not this meta-post), regarding their relevance, value for money, etc. The GC will vote in these proposals, and we expect to publish the results by the end of the month.

Shlomi Fish



Amount Requested:



Add tests to the built-in perl debugger and refactor it.


Aliaksandr Zahatski



Amount Requested:



WriteAt - suite for making books and maintaining docs in pod6 format. It is built on top of the Perl6::Pod implementation of Synopsis26.

Currently WriteAt supports exporting books from pod6 to HTML format. This grant will allow me to add the export feature to pdf and epub formats.

Devel::Cover Grant Report for July

In accordance with the terms of my grant from TPF this is the monthly report for my work on improving Devel::Cover covering July 2012.

This month I released Devel::Cover 0.90, 0.91 and 0.92.

I wasn't able to spend as much time working on Devel::Cover this month as I had hoped to. The time I did spend was primarily on working through RT and github tickets, resolving those I could and merging pull requests.

RT 62423 concerns Devel::Cover failing its tests when it is built in a directory containing spaces, which appears to be the default when building with cpan on OSX. I couldn't build on OSX, but I did fix things up so that Devel::Cover should now work in directories which
contain spaces. (But if you prefer your life to be easier, I suggest you don't do that.)

I made a change I've been considering for quite some time, which is to get the @INC directories from perl itself.

At build time we put the @INC directories in @Devel::Cover::Inc::Inc so that we will be able to ignore them by default at runtime. That works well normally, but sometimes the build environment differs from the run environment which can result in default coverage of core modules.

The solution is to shell out to perl and ask it what its @INC is. Of course it's not quite that easy.

And shelling out isn't very nice, but when the new V module for introspection is in place we can use that instead.

I knew this was a risky commit, but cpantesters didn't show any problems. Nevertheless, I had broken things for people using local::lib. Thankfully, Olivier Mengué noticed and patched it up for me.

I also fixed up a n earlier change I had made which made all the tests fail on Windows. Devel::Cover itself still worked, but almost all of the tests didn't. Christian Walde's cpantesters smoker detected the problem quickly and we diagnosed the problem together on IRC. So I eventually got around to installing Perl on Windows (which turned out to be pretty simple) and then it was just a matter of getting the quoting such that both *nix and Windows were happy, and hoping that other platforms work too.

(On which note, does anyone use Devel::Cover on anything other than *nix and Windows?)

As usual, I made other various fixes and updates.

The work I have completed in the time covered by this report is:

Closed RT tickets:

  • 75565 cover -test fails Writing HTML output on Windows
  • 62423 Devel::Cover 0.73 tests fail due to unescaped path
  • 57173 Devel::Cover 0.66 is causing Moose constraint failures
  • 70115 "malformed JSON string" errors when gcov2perl is ran for XS distributions
  • 39162 Devel::Cover test 't/at2.t' failure
  • 38765 1 test fails (acond_branch.t) on Cygwin 1.5.25 / Perl 5.10
  • 38453 Devel::Cover - Use of uninitialized value in sprintf
  • 68991 t/e2e epic fail when prefix for perl is not the physical location
  • 76528 Devel/Cover/ contains temporary install destination DESTDIR
  • 66881 Symlinked directories can cause ignore functionality to fail
  • 37349 /usr/local/* ommitted in Inc
  • 32345 Devel::Cover 0.63 fails 1 test under Perl 5.8.7, Ubuntu 6.06

Closed Github tickets:

  • 23 RE list with spaces doesn't work
  • 24 protect slashes on windows
  • 25 Fix inc directories when working with local::lib

Merged pull requests:

  • 24 protect slashes on windows
  • 25 Fix inc directories when working with local::lib

Fixed cpantesters reports:

  • 373d4b5
  • fede0e8

You can see the commits at

**Hours worked: 25:20
Total hours works on grant: 88:50**

Enrique Nell and Joaquin Ferrero reported:

Project status:

CPAN distribution:

Project host:

During the second month we did a thorough proofreading of files included in POD2::ES, which led to fixing several errors (mostly related to formatting). We also kept updating translated files to 5.16.0, and reviewed a few files that were included in the latest POD2::ES releases.

While translating perlobj.pod, a bug in sample code was detected and reported through perlbug. The report was accepted and hopefully it will be fixed in v5.16.1.

New files added during the v5.16.0 track of POD2::ES:

  • perlobj
  • perlmroapi
  • perlnewmod
  • perlhist


Document/word counts for v5.16.0:

  • Total documents: 162 (100 in core docs)
  • Total words: 841,604 (597,294 in core docs)

Current status for the Spanish v5.16.0 track:

  • % translated: 45.44% (46,77% of core docs) [Previous month: 43.51% (44.74%)]
  • % reviewed: 8.52% [Previous month: 5.06%]


We have implemented several changes in the post-processing script (the new version will be published in the next few days):

  • Removed the command line switch to add names of people involved in the translation and instead added the pod names translated by each team member (except the current reviewers, Joaquín and Enrique, whose names appear in every file) to their corresponding entry in the DATA section.
  • Added a --nohtml switch to allow running the post-processing code without creating an html version of the pod files.
  • Added a --diff switch to allow creating an word-oriented diff file in html format. The generated report contains the segments that were modified by the reviewer. This will be an important tool to help translators align their styles and terminology.
  • Added a podchecker call to check POD formatting.
  • Cleaned up the code.

Future work

We are still working on several of the TO DO list tasks mentioned in the previous report.

Perl v5.16.1 will be released in a few days, so for the third month our top priority will be updating POD2::ES to the latest version, and adding more reviewed files to the distribution.

We have identified another file, perlmodlib.pod, that is generated during Perl setup. Since it contains interesting material, we will add it to our file list.

David Golden reported:


For those wondering about (the lack) of updates on this grant, I'm pleased to be back with some significant progress on the teaching deliverables. Some circumstances in my personal life required me to put the grant on the back burner during June, but July and OSCON-centered conference-driven development have allowed me to rebuild some momentum.

In particular, I have three things to announce:

  • is now live. This site provides easy access to all the code and teaching deliverables for this grant. Over time, I hope it will continue to grow and provide more resources to the community.
  • The three "Hello World" teaching deliverables are now live. The Cooking Perl with Chef presentation expands on the material I presented at OSCON. The tutorial and screencast show command-by-command how to deploy a simple server.
  • The newly created [email protected] mailing list is a community forum for discussing deployment tools and practices. If you care about this, please subscribe (and start sharing questions or practices).

Together, I hope these can be a foundation for continuing to improve deployment practices beyond the end of this grant.

Current progress on deliverables

Six of the eight deliverables are complete and a seventh is substantially complete.

Code deliverables

  • Publish a Chef cookbook for Perl interpreter deployment (100%)
  • Publish a Chef cookbook for CPAN module deployment (100%)
  • Publish a Chef cookbook for Plack application deployment (100%)
  • Improve the Pantry command line tool (90% complete; multi-environment support pending)

Teaching deliverables

  • Presentation-style introduction to Perl and Chef (100%)
  • Document-style "Hello World" tutorial with step-by-step instructions (100%)
  • Screencast of "Hello World" tutorial demonstration (100%)
  • Document-style "Real World" tutorial with step-by-step instructions (0%)

Current work and next steps

Given the June delay, I'm now exploring whether Jitterbug is a better option for a real-world demo, where "better" means I can complete the grant quickly while still providing useful insights for real world deployment. If so, I'll be adapting and extending the existing tutorial to demonstrate this bigger task.

Over the next week, I will also be adding support for deployment environments to Pantry, which would complete the remaining code deliverable.

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 August 2012 listed from newest to oldest.

July 2012 is the previous archive.

September 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