Our nominee to join The Perl Foundation’s Board of Directors as Treasurer is Pete Krawczyk. Prior to making a final decision, our standard policy includes a public comment period. The community is invited to post public feedback or ask questions of Pete on this blog post. We will wait a minimum of two weeks prior to making a decision. If any member of the community would like to express concerns privately, they may do so by contacting any member of the Board of Directors.

TPF Bylaws define the following responsibilities for the Treasurer:

5.09 Treasurer. The treasurer shall (a) have charge and custody over corporate funds and securities; (b) keep accurate books and records of corporate receipts and disbursements; (c) deposit all moneys and securities received by the corporation at such depositories in the corporation's name that may be designated by the board; (d) complete all required corporate filings; and (e) perform all duties incident to the office and other duties assigned by the president or the board.

Pete Krawczyk is a US-based software developer currently working for ZipRecruiter. Pete began learning Perl in 1996 at a local ISP and has been involved in the Perl community since 2004 when he joined Chicago.pm. Pete and Josh McAdams organized the 2006 and 2008 YAPC::NA conferences in Chicago, IL. Pete has been a contributor to CPAN since 2005 and has given several talks at user group meetings and conferences in the past fifteen years.

Outside of Perl, Pete has been a Financial Secretary for his local Knights of Columbus council, and is a trainer for the Illinois State Council of the Knights, training others Financial Secretaries on financial matters. He has also been an officer and treasurer for two different bowling leagues for the past six years. He is currently pursuing a BBA, and eventually an MBA, from the University of Wisconsin - Whitewater.

Below are the questions that we asked Pete along with his responses:

Why do you want to be a member of the TPF Board?

I have been programming in Perl for 23 years; without Perl, my development career would not have been the same. I am excited for the opportunity to take what I've learned in other areas and use my skills to help Perl continue to thrive. I look forward to the chance to leave my mark on the language I love.

What existing TPF initiative(s) are most important to you and why?

I have found over the years that community is the most important part of Perl. People, modules, features all come and go, but the community - and the values we've developed - sustain us through the worst of times and drive us in the best of times. The hallway track at each conference is more valuable than any single talk, and while attending TPCiP 20, I was able to speak with a number of people I haven't spoken with in years. I think the best use of TPF is to encourage this community and do whatever possible to help it grow.

What goals would you like to see TPF pursue in the future?

1. Securing the legacy of Perl - TPF has done a great job in making sure Perl stays Perl and isn't co-opted by other interests. Things like getting the name TPC back for YAPC, to securing trademarks, and working with local PM groups to help the community prosper, has made Perl as a brand stronger. I'd like to see this continue and expand.

2. Greater participation - While it's important to have a strong board and good committees, it's equally important that people believe they have a voice in the future of Perl. To do that, people need to understand what it is that TPF does on a broader scale, and how they can help. I think documenting our legacy, diversifying our processes and developing leadership from within should all be priorities of TPF.

3. Encourage newcomers - Perl may be the Swiss Army Chainsaw, but to the average person who is entering the field, Perl is overwhelming. TIMTOWTDI is a blessing and a curse, and TPF should lead the way in helping folks discover how to do simple stuff simply before introducing ten other ways to do it. Perl is one of the most accessible languages in the world; let's help people understand how it can help them and encourage them to join the community in a virtuous feedback loop.

Maintaining Perl 5 (Tony Cook): August 2019 Grant Report

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

Approximately 54 tickets were reviewed, and 9 patches were

[Hours]         [Activity]
  0.13          #118551 track down fix and close
  1.10          #124256 rebase, testing, apply to blead
  0.12          #125096 re-check and close
  1.73          #126991 work on a fix
  0.72          #131136 track down fix and close, and for other Storable
                tickets too…
  0.50          #131990 track down the fix and close
  0.13          #131999 track down fix and close
  1.26          #132777 review and some re-work, testing, apply to blead
                #132777 research and comment
  0.68          #133695 re-test and apply to blead
  0.33          #133878, #134269 make public
  1.78          #133981 minor fix, testing, try to diagnose an unrelated
                porting test failure, comment
  0.78          #134138 re-work patch and comment
  1.39          #134171 testing
                #134171 research, comment
                #134171 research and comment
  0.25          #134219 review and request more information
                #134219 review and merge into #134266
  3.39          #134230 debugging, research, work on a fix
                #134230 work up a regression test, comment with patch
                #134230 testing, apply to blead
  0.38          #134238 review and close
  1.70          #134241 testing
                #134241 more testing
  2.02          #134265 re-work supplied patches and comment
                #134265 re-test modified patch and apply to blead
  3.04          #134266 work up a basic fix… which breaks tests
                #134266 work out problem, testing, comment with patch
                #134266 re-test and apply to blead
  0.37          #134269 (sec) comment
  0.17          #134270 merge into 134126
  1.62          #134277 debugging
  1.02          #134288 review, testing
                #134288 finish up, apply to blead
  1.15          #134290 review and comment
                #134290 research, comment and close.
  0.17          #134295 re-revert the exit(0) fix, since I didn’t make any
                progress in fixing the issues
  1.12          #134312 research and comment
                #134312 research and comment some more
  0.80          #134313 research and comment
  0.50          #134320 review for proposal to backport, along with
                several other commits
  4.72          #134325 debugging
                #134325 debugging, discussion with khw, comment
                #134325 debugging
                #134325 research, testing and comment
  0.13          #134326 also fixed by khw’s 134329 fix, comment
  0.10          #134327 also fixed by khw’s 134329 fix, comment
  0.40          #134328 testing, try khw’s 134329 fix, comment
  1.42          #134329 testing, start bisect
  0.43          #134337 comment
  1.88          #134349 work on understanding code, work up a test, fix
  0.85          #134360 review, research, apply to blead, PR to metaconfig
  0.40          #134361 comment
                #134361 research, follow-up
  1.98          #134362 (sec) comment
                #134362 (sec) follow-up
                #134362 (sec) work on a fix
                #134362 (sec) testing, comment with patch
  4.91          #134363 review and request more information
                #134363 research, fail to reproduce
                #134363 more research
                #134363 more research into gcc implementation
                #134363 more research, comment
                #134363 comment
  0.37          #134365 review discussion
                #134365 comment with simple patch
  1.37          #134369 (sec) research, testing, comment
  0.62          #134380 review, test porting and apply to blead
  3.82          #134383 (sec) debugging
                #134383 (sec) two tries to find a fix, comment with patch
  1.38          #38920 review ticket (linked from 134349)
                #38920 try to work up a test case, testing
  0.73          clean up some query security tickets (asking for info, not
                reporting issues)
  0.22          comment on macros vs inline functions
  0.90          coverity build and submit
  2.17          mail list about coverity scan, more review coverity issues
  0.75          more discussion with khw
  0.97          Re-test coverity fix branch and apply to blead
  0.52          regexp runtime limits: rebase, testing, push to server
                (not to blead), comment on a related security ticket
  0.98          review coverity issues
  0.93          review khw’s API list, discussion in #p5p
  0.35          review khw’s function doc list
 61.65 hours total

It has been a while since the last grant report. However, Timo has made good progress. Read more about snapshot summary updates and new frontend graphs at: Progressing with progress.

While a number of intended deliverables for Bart's grant remain unmet, he's made significant contributions to the expression backend and has identified unexpected roadblocks to the remaining tasks (as outlined in previous reports) that should yield to additional preparatory work.

In light of this, the Grants Committee will be considering Bart's report below and voting on a payment for the currently accomplished work of 50% of the original amount requested. The Grants Committee will consider a revised proposal for the remainder of the work via the usual proposal process.

Comments are welcome, as always.


Report for grant project _MoarVM JIT Compiler Expression Backend Maturation_

Bart Wiegmans, September 12, 2019

This is an intermediate report after the first major deliverable of the grant project has been merged and released to the perl community.

This project aims to improve and mature the new 'expression' JIT backend for MoarVM by the following deliverables:

  • Floating point support in the expression JIT backend.

  • Code quality improvements (optimizations) based on expression-tree rewriting optimizer, specifically:

    • Completing the work on the jit-expr-optimizer branch, including several common optimizations.

    • Implement optimizations in the register allocator.

  • Replaced specialized code in the legacy JIT with portable expression tree structures, specifically:

    • Invocation of subroutines

    • Optimization guards

    • NativeCall invocations

  • Improved handling of irregular instructions by the register allocator.

The first of those deliverables, floating point support, has been merged into the MoarVM main tree. I learned that this was a considerable larger challenge than initially anticipated. Aside from the necessary DynASM changes, changes were needed in:

  • The expression template precompiler (specifically a type system)

  • The register allocator (this was expected), including an improved register representation

  • Compilation of boolean operators (floating point comparisons set a different set of CPU flags than do integer comparisons, to handle NaN correctly)

Along with floating point support, improvements to register allocation algorithm have also been merged and released. I've researched in using a somewhat different algorithm (reverse linear scan allocation) but have deprioritized it. This is an interesting algorithm that I expect to do better than the current 'regular' linear scan algorithm in many cases, but unlike the current algorithm it isn't fully general. Handling irregular register requirements has been put on hold until I make a final decision.

Merging floating point supports has unblocked progress on subroutine and nativecall invocations. The limiting factor currently is that I don't have a good testcase for the nativecall case.

The implementation of (de)optimization guards in the expression JIT is currently in progress and nearing completion.

The expression optimization work has stumbled on a roadblock described in one of my earlier reports - the current IR does not reify the order of operations, which is instead handled in a later phase (during instruction selection). This means that it is nearly impossible to safely implement optimizations since an optimization may accidentally move the write of a value after a read of it. The good news is that removing that roadblock should also enable the expression JIT to operate on larger segments of a method.

In summary, I've currently finished:

  • Floating point support

  • Register allocator improvements

Currently in progress:

  • Subroutine and NativeCall invocations

  • Deoptimization guards

Unblocked but not yet started:

  • Handling irregular instructions

Currently blocked:

  • Expression optimizer

The Grants Committee is accepting grant proposals all the time. We evaluate them every two months and another round is here!

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.

I spent last month mainly working on miscellaneous RT tickets.

      1:06 RT #134271 heap-buffer-overflow in Perl_sv_catpv_flag
      2:54 RT #134316-6eebe43d5f breaks GUGOD/invoker-0.35.tar.gz
      1:42 RT #13432073cdf3a836 breaks YVES/Sereal-Decoder-4.007.tar.gz
      0:45 RT #134335 Assertion error (regexec.c:8673) in S_regmatch
      2:01 RT #134344 v5.31.2-54-g8c47b5bce7 breaks RIBASUSHI/DBIx-Class-0.082841.tar.gz
      2:00 process p5p mailbox
      1:46 review security ticket queue
      0:30 shrink opslot structure
     12:44 TOTAL (HH::MM)

 306.9 weeks
3400.3 total hours
  11.1 average hours per week

There are 165 hours left on the grant

I'm very happy to report that following the nomination process, the board has elected Stuart Mackintosh as the new president of The Perl Foundation. Stuart will officially assume the role on September 1, 2019. Congratulations to Stuart and good luck in your new role!

About TPF

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

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


Recent Comments

  • harrisandreson: The fashion industry is the biggest industry right now and read more
  • Makoto Nozaki: Hi Perler, As discussed here [1], we have reviewed this read more
  • Perler: Pursuant to https://perlconference.us/tpc-2018-slc/handling-standards-of-conduct-incidents/ Can you please clarify how TPF's response read more
  • Vytas: It seems it was approved - http://news.perlfoundation.org/2019/07/grants-mayjun-2019-votes.html What I would read more
  • Stuart Mackintosh: Thank you Elizabeth. I was involved in the development of read more
  • Coke: To address something JJ mentioned in his comment. If you read more
  • Elizabeth Mattijsen: Welcome! What are your thoughts on Perl 6 in the read more
  • Coke: Thank you for considering joining TPF! Glad to hear you read more
  • nxadm: While I applaud Andrew's efforts to publish Perl 6 material read more
  • JJ Merelo: For starters, I really appreciate the work Andrew is doing read more
OpenID accepted here Learn more about OpenID
Powered by Movable Type 6.2.2