March 2017 Archives

Please join me in welcoming John SJ Anderson (genehack) as the newest voting member of The Perl Foundation's Grants Committee. John has helped organize several recent YAPCs, given talks and training at YAPCs, and maintains several modules on CPAN.

Additionally, as Makoto Nozaki is transitioning to the secretary of the TPF Board, he is vacating the position of GC Secretary, and I have been selected to to fill the role.

My apologies for the delays in the transition. Look for a posting shortly about the March call for proposals.

We've been reviewing Perl Foundation committees over the last few months and I'm happy to report some new people have stepped into committee leadership roles.

David Oswald is the new conferences committee chair. This position had gone vacant for a period as TPF Treasurer Dan Wright along with others took a more active role in planning for The Perl Conference. The board is happy to once again have someone in this role to help spread the work and responsibilities.

David was one of the lead organizers of YAPC::NA 2015 in Salt Lake City. He is also on the organizing team for the OpenWest open source conference. We're confident David's experience will help with this year's Perl Conference and with planning going forward.

Will Coleda is the new Secretary of the Grants Committee. Will has been a member of the Grants Committee since 2008, and involved with the Perl 6 community and development for over a decade. Will's selection is a great example of the cycle of involvement for a TPF member, starting as a committee member and then taking on a bigger role over time.

The outgoing secretary, Makoto Nozaki, has held this position since February 2014 and he will continue his work as Perl Foundation board Secretary.

As part of our committee review, I have also been looking into other committees that have recently been less active or inactive. As a result, the Steering Committee is being sunsetted.

The Steering Committee was originally created as a forum to pull in more active community members to carry out TPF business in the earlier years of the foundation when the board was much less active. When Karen Pauley, who was Steering Committee Chair, took over as president, this activity moved to the board. New committees also were created to handle specific areas of activity like conferences, grants, and marketing. With TPF activity moving to these other groups, the Steering Committee has been largely dormant so we're dissolving it. Thanks to all of the members who contributed their time to TPF through this committee.

Another committee we are evaluating is the Community Advocacy Committee. This committee was driven for many years by Ya'akov Sloman and we thank him for all of this efforts. He stepped down last year and the committee has been mostly inactive, so we are considering dissolving it as well. However, the board is open to proposals to revive the committee if community members are available to come forward. The committee charter is available for review and could be revised by new members if desired.

Please join us in congratulating and thanking David and Will as they take on their new roles. You can expect to hear more from them in the near future.

This is a monthly report by Dave Mitchell on his grant under Perl 5 Core Maintenance Fund. We thank the TPF sponsors to make this grant possible.

The main things I did last month were:

Firstly, fixing various issues with scopes in regexes. In particular,
(RT #126697), code blocks sometimes failed to undo localisations when
backtracking. For example the $s below wasn't always being restored when
the B part of the match failed and it backtracked to try another A - where
A represents something complex like (\w+\s+)* which can match in multiple
ways:

    /A(?{ local $s = ...})B/

As part of that work, non-greedy matching of complex sub-expressions with
captures and repeated backtracking was made more efficient under some
circumstances; for example the following now runs about 25% faster:

    $s = ("a" x 1000);
    $s =~ /^(?:(.)(.))*?[XY]/ for 1..10_000;

Secondly, improving 't/TEST -deparse'.

The -deparse option to t/TEST causes it to run all the core's test
scripts, but after running them through the deparser first. Many of these
modified scripts are currently known to fail, and there is an exclusion
file, Porting/deparse-skips.txt, which is supposed to list the known
failures. However, over time, new failures have appeared which are not in
the exclusion list. Last August I did some work on Deparse.pm and managed
to reduce some of the expected and unexpected failures, but since then
more failures have crept in.

My recent work includes: modifying t/TEST so that it distinguishes
between expected failures and unexpected passes, and warning of unknown
files in Porting/deparse-skips.txt; purging Porting/deparse-skips.txt to
account for files that have been renamed or are no longer in the core, and
to reflect the current state of things; and fixing Deparse.pm to:
    * better handle 'BEGIN { use_ok() }';
    * better handle 'BEGIN { require expr }' (as opposed to require Bareword);
    * deparse lexical var attributes, e.g. 'my $foo :bar(baz)';
    * avoid a 'deep recursion' warning;
    * handle an escaped literal tab char in a pattern, e.g
        /.....\ ..../x where the whitespace char following the backslash is
        actually a tab; previously the deparse failed to emit the backslash;
    * handle declarations with multiple lexical vars within a pattern code
      block, e.g. /(?{ my ($x, $y) = @a; })/

Because we're currently in code freeze, this as been pushed as
smoke-me/davem/deparse and will be merged in 5.27.x.

Thirdly, reviewing and fixing tickets in the security queue. There's quite
a lot of tickets in the security queue due to fuzzing, where if the fuzzer
detects a use-after-free or buffer overrun for example, the reporter
submits it to the security queue rather than the normal queue. Once
examined, 95% of the time it will be found to be harmless or
non-exploitable, but until someone has assessed and fixed it, it lingers
as an open security ticket.

The Perl Foundation is excited to announce that Makoto Nozaki, grants chair, has joined TPF board as secretary. He has served as grants chair since 2014 and has done a great job overseeing grants and providing funding for perl projects. In addition to supporting Makoto's TPF work, Two Sigma Investments, LP, Makoto's employer, has also provided donations to TPF for which we are very grateful.

A focus for us this year is bringing new people into TPF at all levels, and adding a new member to the board as a replacement for Karen Pauley is part of that effort. Thank you to Karen for all of her years of service on the board. As part of his role, Makoto will be taking on some projects to help us get the community more involved.

One important project scheduled for this year is to launch an updated and more public process for nominating and appointing new board members. TPF isn't a membership organization, so this doesn't mean we'll have elections. However, we would like to get the community involved in nominations and to have an opportunity to ask questions and interact with prospective board members as part of the evaluation process.

Once we have a new process in place for bringing in new board members, we plan to add more structure around the 2 year terms defined in the TPF bylaws. Currently board members have held their seats until they step down, typically because of time constraints. We would like to revise this process such that at the end of a 2 year term, existing board members will actively seek out another 2 year term if they would like to continue to serve.

These initiatives are at the idea phase right now and there are many details to work out to define the actual processes for both. We look forward to working these out with Makoto's active work over the next year.

About TPF

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

About this Archive

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

February 2017 is the previous archive.

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

Pages

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