Recently in Grants Category

New Grant Manager


We are pleased to announce that Mark Jensen has joined the Grants Committee as a Grant Manager.

Mark has been a core developer on the BioPerl project since 2009, and is the author of the Neo4j graph database Perl driver, REST::Neo4p. He currently manages the Data Coordinating Center team of The Cancer Genome Atlas.

Please join me in extending a warm welcome to Mark.

Dave Mitchell writes:

I spent July mainly processing my p5p mailbox, and looking at various bugs, especially ones which appear that they may be 5.20.0 regressions.


2:45 [perl #122148] "Malformed UTF-8 character
1:41 [perl #122184] Bad STORE call for tied hash
0:13 [perl #122283] Possible regexp memory explosion in 5.20.0
1:28 [perl #122322] OOK hack example in perlguts is outdated with COW
0:25 [perl #122331] Pathological performance of a pattern match
0:30 cpan/Time-HiRes/t/itimer.t persistently fails with clang
2:24 deprecate /\C/
3:52 finish off making last op_sibling point to parent
0:47 fix smoke issues
19:06 process p5p mailbox

33:11 Total (HH::MM)

As of 2014/07/31: since the beginning of the grant:

41.6 weeks
561.2 total hours
13.5 average hours per week

There are 239 hours left on the grant

Tony Cook writes:

Approximately 67 tickets were reviewed or otherwise worked on, and 11 patches were applied.

I spent some more time on [perl #81074] this month, finding a bug in pthreads on NetBSD. Thread specific storage should be initialized to NULL, but under some circumstances this doesn't happen on NetBSD, including NetBSD 6.1.3. This is apparently fixed in NetBSD current.

I produced a candidate patch for this ticket, LeonT asked me to hold off on applying it until he'd commented on it.

rjbs asked me to work on rebasing and adapting Father Chrysostomos' sprout/smartpatch branch, the results can be found in tonyc/smartmatch.

I have 32.19 hours remaining of my grant.

Tony Cook writes:

Approximately 63 tickets were reviewed or worked on, and 10 patches were applied.

Probably the most interesting task this month was attempting to optimize regen/ which became noticably slower when extra EBCDIC code pages were added to the build. Two fairly simple optimizations fell out of the profile from Devel::NYTProf.

get_a2n() and get_I8_2_utf() were each called over 150,000 times, and returned their mappings as a list, while in most cases only a small part of the mapping was used. I changed these return an array reference instead, speeding up significantly.

Paul Johnson writes:

In accordance with the terms of my grant from TPF this is the monthly report for my work on improving Devel::Cover covering May and June 2014.

Actually, it's really only for May. I did some work on Devel::Cover in June, but I am not charging that to the grant, so the month referred to here is May.

This month I released versions 1.14 and 1.15.

Perls 5.20.0 and 5.21.0 were released this month and, thanks in no small part to work by Matthew Horsfall, they are both fully supported by Devel::Cover.

The main body of work this month was the merging of the cpancover branch. I have had up and running for some time now. But it has only been providing coverage for a fairly small subset of the modules on CPAN. Naturally, I tried to pick the most interesting modules, but the coverage of CPAN was minimal.

Since the QA hackathon I have been trying to extend the scope of cpancover to provide coverage for all of CPAN, and not just for the most recent version. In this quest I have been aided and assisted by Neil Bowers, Olaf Alders and others.

The major problem with running Devel::Cover on arbitrary code is an extension of running arbitrary code. Even if the author of the code has no malicious intent and made no coding mistakes, there are surely bugs in Devel::Cover which might cause the coverage run to loop indefinitely or to use up all the memory or cause other problems.

My initial attempts to solve these problems using things like fork and sleep and kill and killpg weren't completely successful. (Those CPAN authors are so crafty!) And, naturally, other people who might be willing to provide machines on which to run cpancover will want some assurances regarding the resource usage.

So I looked into using Docker. Running each coverage run in an individual docker container should allow each instance to be resource constrained and ultimately completely killed if necessary.

Docker is still reasonably immature, but has recently released version 1 which has removed the warning not to use it in production. I had problems with the earlier versions, but each release has made it more solid. The branch containing this work has been fairly successful and is now merger into the git master.

This has been running on and, although I've still not been able to work all the way through CPAN, there's a pretty good start at (Warning, that's quite large now - I need a better solution than showing all modules on a single page.)

Perhaps more importantly, there's a json file available giving basic coverage information about the covered modules. This will eventually be used by Neil Bowers' CPAN dashboard and by MetaCPAN to provide information and create links to a module's cpancover page. It's also available to anyone else who can think of a good use. Suggestions, and code, welcome. The json data is available at

I really want to get this cpancover work to pick up new modules as they are released. I think the only work left is fixing up the occasional problems that show up because of docker, providing a better landing page and navigation, and automating the whole thing.

Other work this month included fixing up some testing failures on *BSD and Windows and providing better support for 5.20 or, more accurately, 5.21 and beyond when will be removed from the core.

As usual, there were also some patches applied, pull requests merged, and other bugs fixed.

From the figures below, you can see that this grant is now very nearly completed. Within the next few weeks I will finish it up and write a closing report. If you or your company has contributed to the Perl 5 Core Maintenance Fund then I would like to offer my sincere thanks for your help in funding this work and trust that you have found it useful. Dan Wright, the Treasurer of The Perl Foundation, has recently written about how the fund is now almost depleted. See

If you would like to see the other grantees being able to continue their work (and there is some excellent work being done) then please consider whether you or, more likely, your company would be in a position to donate to the Core Maintenance Fund.

Closed Github tickets:

89 Allow -coverage default,-pod option to cover

Fixed cpantesters reports:

... and many more ...

You can see the commits at

Hours worked:

02.05 3:40
22.05 2:30
25.05 3:10
26.05 2:00
28.05 2:50
29.05 3:20
31.05 7:30

Total 25:00

Total hours worked on grant: 390:25

We are looking for enthusiastic volunteers who can make contributions to Perl development through the Grants Committee.

Currently we have a couple of openings for Grant Managers.


  • Work with grantees and help grants be delivered successfully.
  • Ensure the grant progress is published to the community every month.
  • Become the communication hub between grantees and the Committee.
  • Join the Committee's discussion to improve the grant program.

Preferred qualifications

  • Medium or large scale software development experience using Perl.
  • Software development project management experience.
  • Commitment to spend several hours per month for the next 12 months or more.

If you are interested and think you have one or more of the above, please contact the Secretary (tpf-grants-secretary at with an explanation of your enthusiasm, background and experience by August 15th. It does not need to be a formal resume.

Those whom are selected will be announced here in the TPF news.

The Grants Committee has concluded the voting of the July round.

Proposals in this round

Voting Results

Start ACT - Voyager5218 = 5+4+3+3+3
Book: Practical Approach to...27

Definition of the score is found in 3.2 of the rules.


Start ACT - Voyager

We are pleased that the Grants Committee will approve and fund this grant. This is one of the best areas where the community resources are spent.

We understand some people raised concerns about the premature schedule in the proposal. We request that the grantee will work closely with the grant manager and keep the community posted with his progress.

We look forward to seeing more community feedback after the code is published and tested.

Liz Mattijsen has been assigned as a grant manager.

Book: Practical Approach to Web Programming with Perl 5

We appreciate the enthusiasm and the proposal. We are not convinced, however, this grant delivers enough value for the community. For such grants, we would like to have more cases made to show what it would offer beyond existing resources.

Next round

The next round is in September. You can submit proposals now.

About TPF

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

Recent Comments

  • Mark A Jensen: Thanks! Looking forward to helping out-- read more
  • garu: Welcome, Mark! read more
  • Theo: Hallo Stefan, I am not sure how I should interpret read more
  • Theo: Yes, that looks great . . . so this is read more
  • Stefan Hornburg (Racke): IMHO the REST API should be independent of the framework read more
  • Alex Balhatchet: You should get in touch with whoever did the design read more
  • Peter Rabbitson: I am currently traveling, so am not in a position read more
  • Theo: I am very grateful for the commitment from the Dancer2 read more
  • Sawyer X: I had not seen the publication of this until this read more
  • Theo: Okay, lets give it a try to make some 'yard read more

About this Archive

This page is an archive of recent entries in the Grants category.

Conferences is the previous category.

GSoC is the next category.

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 4.38