Congratulations!

[Valid Atom 1.0] This is a valid Atom 1.0 feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://news.perlfoundation.org/atom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <feed xmlns="http://www.w3.org/2005/Atom">
  3.    <title>The Perl Foundation</title>
  4.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/" />
  5.    <link rel="self" type="application/atom+xml" href="http://news.perlfoundation.org/atom.xml" />
  6.    <id>tag:news.perlfoundation.org,2010-03-22://18</id>
  7.    <updated>2018-01-17T20:20:12Z</updated>
  8.    
  9.    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 6.2.2</generator>
  10.  
  11. <entry>
  12.    <title>The Perl Conference in Salt Lake City, 2018</title>
  13.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2018/01/tpcislc-2018.html" />
  14.    <id>tag:news.perlfoundation.org,2018://18.3940</id>
  15.  
  16.    <published>2018-01-17T20:20:00Z</published>
  17.    <updated>2018-01-17T20:20:12Z</updated>
  18.  
  19.    <summary>We are pleased to FINALLY bring you the news everyone has been waiting for! It is with great enthusiasm that we happily announce The Perl Conference in North America, 2018 will be held Sunday, June 17th through Friday, June 22nd at the Little America Hotel in Salt Lake City, Utah! The main event will run from Monday, June 18th through Wednesday, June 20th. Master Classes, training, and other activities will be held on the 17th, 21st, and 22nd. We highly...</summary>
  20.    <author>
  21.        <name>Lena Hand</name>
  22.        
  23.    </author>
  24.    
  25.    <category term="tpcislc" label="#TPCiSLC" scheme="http://www.sixapart.com/ns/types#tag" />
  26.    <category term="theperlconference" label="The Perl Conference" scheme="http://www.sixapart.com/ns/types#tag" />
  27.    <category term="tpc" label="TPC" scheme="http://www.sixapart.com/ns/types#tag" />
  28.    <category term="tpcna" label="TPC::NA" scheme="http://www.sixapart.com/ns/types#tag" />
  29.    <category term="tpcna" label="TPCNA" scheme="http://www.sixapart.com/ns/types#tag" />
  30.    <category term="yapc" label="yapc" scheme="http://www.sixapart.com/ns/types#tag" />
  31.    <category term="yapcna" label="yapc-na" scheme="http://www.sixapart.com/ns/types#tag" />
  32.    <category term="yapcna" label="YAPCNA" scheme="http://www.sixapart.com/ns/types#tag" />
  33.    
  34.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  35.        <![CDATA[<p>We are pleased to FINALLY bring you the news everyone has been waiting for!   </p>
  36.  
  37. <p><strong><em>It is with great enthusiasm that we happily announce The Perl Conference in North America, 2018 will be held Sunday, June 17th through Friday, June 22nd at the Little America Hotel in Salt Lake City, Utah!</em></strong>  </p>
  38.  
  39. <p>The main event will run from Monday, June 18th through Wednesday, June 20th.  Master Classes, training, and other activities will be held on the 17th, 21st, and 22nd.  We highly encourage you to attend all days, but especially look forward to seeing you at the Main Event.</p>
  40.  
  41. <p>This year’s website is already live and can be found at <a href="https://perlconference.us/tpc-2018-slc/">https://perlconference.us/tpc-2018-slc/</a>. </p>
  42.  
  43. <p>Call for Participation is live at <a href="https://goo.gl/forms/PkYHWD3B4vUKZLrW2">https://goo.gl/forms/PkYHWD3B4vUKZLrW2</a>. Please consider submitting a talk!</p>
  44.  
  45. <p>Registration will also be live February 1st, so watch out for that!</p>
  46.  
  47. <p>Keep watching for additional announcements.</p>
  48.  
  49. <p><em>#TPCiSLC</em></p>
  50. ]]>
  51.        
  52.    </content>
  53. </entry>
  54.  
  55. <entry>
  56.    <title>Maintaining the Perl 5 Core (Zefram): Grant Report for Dec 2017</title>
  57.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2018/01/maintaining-the-perl-5-core-ze-1.html" />
  58.    <id>tag:news.perlfoundation.org,2018://18.3939</id>
  59.  
  60.    <published>2018-01-17T19:00:00Z</published>
  61.    <updated>2018-01-17T02:32:12Z</updated>
  62.  
  63.    <summary>This is a monthly report by Zefram on his grant under Perl 5 Core Maintenance Fund. We thank the TPF sponsors to make this grant possible. The hours that I have worked in 2017-12 pursuant to my TPF core maintenance grant are as follows. 22h40m [perl #130851] [PATCH] socket SOCK_CLOEXEC 21h58m review tickets 16h19m review mail 12h47m smartmatch...</summary>
  64.    <author>
  65.        <name>Makoto Nozaki</name>
  66.        <uri>http://blogs.perl.org/users/makoto_nozaki/</uri>
  67.    </author>
  68.    
  69.        <category term="Grants" scheme="http://www.sixapart.com/ns/types#category" />
  70.    
  71.        <category term="Perl 5 Development" scheme="http://www.sixapart.com/ns/types#category" />
  72.    
  73.    
  74.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  75.        <![CDATA[<p>This is a monthly report by Zefram on his grant under <a href="http://www.perlfoundation.org/perl_5_core_maintenance_fund">Perl 5 Core Maintenance Fund</a>. We thank the TPF sponsors to make this grant possible.</p>
  76.  
  77. <pre>The hours that I have worked in 2017-12 pursuant to my TPF core
  78. maintenance grant are as follows.
  79.  
  80. 22h40m  [perl #130851] [PATCH] socket SOCK_CLOEXEC
  81. 21h58m  review tickets
  82. 16h19m  review mail
  83. 12h47m  smartmatch
  84. </pre>
  85. ]]>
  86.        <![CDATA[<pre>
  87. 11h19m  [perl #125806] Perl segfaults in BEGIN, write to null
  88.         pointer, separate bug
  89. 10h52m  [perl #132425] Suggested warning on attempt to 'use' with
  90.         arguments when no import() subroutine exists
  91.  4h13m  [perl #132577] BBC Module::Install broken by
  92.         0301e899536a22752f40481d8a1d141b7a7dda82
  93.  3h46m  [perl #2754] [BUG] can't exit 0 from CHECK{}
  94.  2h24m  [perl #130076] readline argument list is messed up
  95.  2h19m  [perl #105920] Perl parser sometimes tolerates stray nulls,
  96.         sometimes not
  97.  2h12m  [perl #129888] null ptr deref, segfault in Perl_do_aexec5
  98.         (doio.c:1595)
  99.  2h12m  [perl #110056] installhtml uses absolute paths in links
  100.  1h41m  [perl #115814] open ${\$x} leaks
  101.  1h41m  [perl #110520] pod2html 1.12 & 1.13 broken
  102.  1h39m  [perl #119831] Data::Dumper: Useqq should apply to glob
  103.         names, too
  104.  1h38m  [perl #92264] Freeing $a or $b during sort causes a double
  105.         free
  106.  1h38m  grammar token typing
  107.  1h32m  perldelta
  108.  1h32m  [perl #132234] use-of-uninitialized-value in Perl_upg_version
  109.         (vutil.c:669)
  110.  1h32m  [perl #132644] The 'each' function documentation is missing
  111.         some information.
  112.  1h25m  [perl #132142] Bleadperl v5.27.3-34-gf6107ca24b breaks
  113.         MLEHMANN/AnyEvent-HTTP-2.23.tar.gz
  114.  1h25m  [perl #132540] uninitialized variable and integer overrun in
  115.         pp.c and toke.c
  116.  1h25m  [perl #132651] commit d2e38af7 exhausts swap space on FreeBSD
  117.  1h11m  [perl #126042] Segmentation fault in Perl_pp_multiply (and
  118.         other functions)
  119.  1h09m  [perl #132578] BBC List::MoreUtils::XS broken by
  120.         16ada235c332e017667585e1a5a00ce43a31c529
  121.  1h06m  [perl #119829] usemymalloc cannot handle long strings
  122.  1h03m  [perl #132633] [Win32] 5.27.7 fails all tests.
  123.  1h01m  [perl #119367] Another 32-bit residual in 64-bit perl 5.18
  124.  1h00m  create tickets
  125.  1h00m  [perl #74142] provide a better c wrapper example in perlsec
  126.    59m  [perl #131894] runtime error: shift exponent -2 is negative
  127.         (toke.c:10966:54)
  128.    55m  [perl #4574] readpipe() broken: 2 bugs
  129.    54m  [perl #113406] perldoc in 5.16.0 required groff upgrade but
  130.         now misdisplays asterisks
  131.    52m  [perl #104060] Writing to $> and friends hide errors
  132.    49m  [perl #132648] Cwd: different return values between pure perl
  133.         and XS variants
  134.    45m  C++ dNOOP
  135.    45m  [perl #130726] semicolons on *_DIAG_{IGNORE,RESTORE}
  136.    44m  [perl #126150] Regex missing from perlref
  137.    41m  perl_run() on Windows
  138.    40m  [perl #132634] Strange bug in the new given/whereis/whereso
  139.         construct (perl-5.27.7)
  140.    38m  [perl #119623] GDBM_FILE: gdbm_open requires a blocksize to
  141.         be a power of two
  142.    37m  [perl #130958] inconsistent block/hash detection (again)
  143.    37m  [perl #121105] During a system(), unquoted Perl vars are
  144.         evaluated _after_ the fork() call
  145.    37m  [perl #121372] warn broken when operand is overloaded
  146.    34m  [perl #128261] Assert fail in Perl_sv_2pv_flags: 'sub
  147.         MODIFY_HASH_ATTRIBUTES{}my(%o):s==0'
  148.    33m  Devel::NYTProf BBC from fake-import change
  149.    32m  [perl #113090] Data::Dumper -- undef not recognized as
  150.         "false" in config booleans
  151.    31m  [perl #132544] heap-buffer-overflow (WRITE of size 8) in
  152.         Perl_pp_reverse
  153.    30m  [perl #130578] op.c:10706: OP *Perl_ck_refassign(OP *):
  154.         Assertion `left->op_type == OP_SREFGEN' failed
  155.    30m  PERL_EXIT_DESTRUCT_END on Windows
  156.    28m  [perl #132527] Bleadperl v5.27.5-398-g19a8de4862 breaks
  157.         MLEHMANN/AnyEvent-HTTP-2.23.tar.gz
  158.    27m  [perl #96538] Closures returned from threads don't wrap
  159.         around the right lexicals
  160.    26m  [perl #125330] 'Masks earlier declaration' warning move from
  161.         misc to syntax
  162.    26m  [perl #130818] [PATCH] Remove EPOC and MacOS Classic support
  163.         from PathTools
  164.    25m  [perl #114316] '--splithead' option to 'installhtml' fails to
  165.         clean up after itself
  166.    23m  [perl #131634] inline.h:147: I32 S_POPMARK(): Assertion
  167.         `(PL_markstack_ptr > PL_markstack) || !"MARK underflow"'
  168.         failed.
  169.    23m  [perl #132626] perl5 sprintf: wrong output on format %a
  170.    23m  [perl #124428] bless $x, undef to unbless
  171.    21m  DATA handle encoding
  172.    21m  [perl #126414] perl rounds inode in PP stat
  173.    20m  [perl #124349] Sys::Hostname::hostname warn on spurious
  174.         arguments
  175.    19m  [perl #74864] test suite failure on powerpc with
  176.         -Duselongdouble
  177.    19m  [perl #122753] Docs on destructors are inaccurate
  178.    19m  [perl #129347] null pointer deref S_ft_return_false
  179.         (pp_sys.c:3036)
  180.    18m  [perl #132247] XSLoader and DynaLoader documentation bugs
  181.    17m  [perl #117449] GDBM tied hash weirdness; deletion ends 'each'
  182.         loop
  183.    17m  [perl #131762] perldoc output misbehaviour
  184.    17m  [perl #132645] Array names starting with 'Inf' can be poorly
  185.         behaved.
  186.    16m  [perl #131061] Documentation of backslash operator inducing
  187.         list context for its operand is missing
  188.    15m  octal fp literals erroneously switching radix
  189.    15m  [perl #6997] "Useless use of concatenation" warning not
  190.         triggered by multiple concatenations.
  191.    15m  [perl #115754] sub refs returned from @INC hooks receive
  192.         wrong parameters
  193.    14m  [perl #131893] runtime error: signed integer overflow: 1 +
  194.         9223372036854775807 cannot be represented in type 'long'
  195.         (regcomp.c:5935:23)
  196.    13m  [perl #115252] Inconsistent treatment of nulls and newlines
  197.         in <...>
  198.    12m  [perl #126085] Not expected arguments for $SIG{__WARN__}
  199.         handler
  200.    11m  [perl #132638] I've discovered a segfault
  201.    11m  [perl #119635] deprecate and remove qsort?
  202.    11m  [perl #131518] [PATCH] -mpragma (eg strict) fail silent
  203.         blindsiding
  204.    10m  [perl #131631] Segfault in Perl_cv_undef_flags
  205.    10m  [perl #116080] Doc issues for system, exec, qx
  206.     8m  [perl #127391] possible inconsistency in "perlop"
  207.         documentation on associativity of operators
  208.     5m  [perl #131672] perldebguts documentation should be fixed
  209.     5m  [perl #127712] defined on HashofHash defines an element in
  210.         the hash
  211.     4m  [perl #131987] Heap Use After Free (READ of size 1) in
  212.         Perl_yylex (toke.c:5137)
  213. 160h46m  TOTAL
  214.  
  215. At the end of the month there was 104h12m of authorised working time
  216. remaining in this grant.
  217. </pre>
  218. ]]>
  219.    </content>
  220. </entry>
  221.  
  222. <entry>
  223.    <title>Maintaining Perl 5 (Tony Cook): November 2017 Report</title>
  224.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2018/01/maintaining-perl-5-tony-cook-n.html" />
  225.    <id>tag:news.perlfoundation.org,2018://18.3938</id>
  226.  
  227.    <published>2018-01-15T23:54:12Z</published>
  228.    <updated>2018-01-16T03:55:03Z</updated>
  229.  
  230.    <summary>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. Two tickets were worked on. [Hours] [Activity] 17.98 #127743 work out a practical fix, work on implementation #127743 finish implementation (with some side trips – found a new bug), testing #127743 commit, work on fix for network retrieves of large objects, fix some -DDEBUGGING build issues (amongst a maze of massive macro expansions)...</summary>
  231.    <author>
  232.        <name>Makoto Nozaki</name>
  233.        <uri>http://blogs.perl.org/users/makoto_nozaki/</uri>
  234.    </author>
  235.    
  236.        <category term="Grants" scheme="http://www.sixapart.com/ns/types#category" />
  237.    
  238.        <category term="Perl 5 Development" scheme="http://www.sixapart.com/ns/types#category" />
  239.    
  240.    
  241.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  242.        <![CDATA[<p>This is a monthly report by Tony Cook on his grant under <a href="http://www.perlfoundation.org/perl_5_core_maintenance_fund">Perl 5 Core Maintenance Fund</a>. We thank the TPF sponsors to make this grant possible.</p>
  243.  
  244. <pre>Two tickets were worked on.
  245.  
  246. [Hours]         [Activity]
  247. 17.98          #127743 work out a practical fix, work on implementation
  248.                #127743 finish implementation (with some side trips –
  249.                found a new bug), testing
  250.                #127743 commit, work on fix for network retrieves of large
  251.                objects, fix some -DDEBUGGING build issues (amongst a maze
  252.                of massive macro expansions)
  253.                #127743 build issues, portability work, testing
  254.                #127743 run entire test suite, find out -DDEBUGGING builds
  255.                of Storable are painfully slow for large arrays, hashes
  256.                #127743 fix a huge.t failure I introduced, more testing,
  257.                fix flagged hash bug
  258.                #127743 rebase on blead (complicated by ad2ec6b54c),
  259.                testing, rebase fixes
  260.                #127743 cross platform testing, fixes
  261. 13.44          #132506 netbsd in-place edit failures, reproduce, testing,
  262.                perlbug
  263.                #132506 re-working in-place finalization code
  264.                #132506 re-working in-place finalization code
  265.                #132506 re-working in-place finalization code
  266.                #132506 debugging, more fixes
  267.                #132506 debugging fork test leaving work files behind
  268.                #132506 fix unlink on backup failure breakage, testing,
  269.                update hints for netbsd
  270.                #132506 cross platform testing
  271. ======
  272. 31.42 hours total</pre>
  273. ]]>
  274.        
  275.    </content>
  276. </entry>
  277.  
  278. <entry>
  279.    <title>Grant Report : Complete YAML::PP - December 2017</title>
  280.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2018/01/grant-report-complete-yamlpp---2.html" />
  281.    <id>tag:news.perlfoundation.org,2018://18.3937</id>
  282.  
  283.    <published>2018-01-10T01:05:25Z</published>
  284.    <updated>2018-01-10T01:15:54Z</updated>
  285.  
  286.    <summary>More good stuff this month from Tinita on the grant Complete YAML::PP. She explains the YAML schema concept and its evolving flavors in this interesting post. This lays the foundation for understanding the schema features added to the YAML::PP loader. Tina also fixed a couple of problems in YAML::XS. An important one security-wise is that now you can turn off loading into Perl objects by default when using !!perl/.. schema statements (by setting $YAML::XS::LoadBlessed=0). Her latest report can be read...</summary>
  287.    <author>
  288.        <name>Mark A Jensen</name>
  289.        
  290.    </author>
  291.    
  292.        <category term="Grants" scheme="http://www.sixapart.com/ns/types#category" />
  293.    
  294.    <category term="grants" label="grants" scheme="http://www.sixapart.com/ns/types#tag" />
  295.    <category term="yaml" label="yaml" scheme="http://www.sixapart.com/ns/types#tag" />
  296.    
  297.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  298.        <![CDATA[<p>More good stuff this month from Tinita on the grant
  299. <a href="http://news.perlfoundation.org/2017/08/grant-proposal-complete-yamlpp.html">Complete YAML::PP</a>.</p>
  300.  
  301. <p>She explains the YAML schema concept and its evolving flavors in this
  302. <a href="http://blogs.perl.org/users/tinita/2018/01/introduction-to-yaml-schemas-and-tags.html">interesting post</a>. This
  303. lays the foundation for understanding the schema features added to the
  304. YAML::PP loader. Tina also fixed a couple of problems in
  305. <a href="https://metacpan.org/pod/distribution/YAML-LibYAML/lib/YAML/XS.pod">YAML::XS</a>. An
  306. important one security-wise is that now you can turn off loading into Perl
  307. objects by default when using <code>!!perl/..</code> schema statements (by setting
  308. <code>$YAML::XS::LoadBlessed=0</code>).</p>
  309.  
  310. <p>Her latest report can be read in full on
  311. <a href="http://blogs.perl.org/users/tinita/2018/01/yamlpp-grant-report-december-2017.html">her blog</a>. Code
  312. is always fresh at <a href="https://github.com/perlpunk/YAML-PP-p5">https://github.com/perlpunk/YAML-PP-p5</a>.</p>
  313.  
  314. <p>MAJ</p>
  315. ]]>
  316.        
  317.    </content>
  318. </entry>
  319.  
  320. <entry>
  321.    <title>Maintaining the Perl 5 Core (Dave Mitchell): Grant Report for Dec 2017</title>
  322.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2018/01/maintaining-the-perl-5-core-da-4.html" />
  323.    <id>tag:news.perlfoundation.org,2018://18.3936</id>
  324.  
  325.    <published>2018-01-05T23:00:00Z</published>
  326.    <updated>2018-01-05T23:44:23Z</updated>
  327.  
  328.    <summary>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: * Fixing some more issues thrown up by the new OP_MULTICONCAT optimisation; * Working on a few fuzzer tickets 7:01 BBC: MULTICONCAT: Mail-SpamAssassin-3.4.1 affected too 4:27 OP_MULTICONCAT failure on Z/OS 1:55 RT #132187 heap-buffer-overflow in Perl_fbm_instr 6:48 RT #132385 BBC: XML-XSS-0.3.5 affected too 3:56 RT #132602 PERL-5.26.1 heap_use_after_free...</summary>
  329.    <author>
  330.        <name>Makoto Nozaki</name>
  331.        <uri>http://blogs.perl.org/users/makoto_nozaki/</uri>
  332.    </author>
  333.    
  334.        <category term="Grants" scheme="http://www.sixapart.com/ns/types#category" />
  335.    
  336.        <category term="Perl 5 Development" scheme="http://www.sixapart.com/ns/types#category" />
  337.    
  338.    
  339.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  340.        <![CDATA[<p>This is a monthly report by Dave Mitchell on his grant under <a href="http://www.perlfoundation.org/perl_5_core_maintenance_fund">Perl 5 Core Maintenance Fund</a>. We thank the TPF sponsors to make this grant possible.</p>
  341.  
  342. <pre>I spent last month mainly:
  343.  
  344. * Fixing some more issues thrown up by the new OP_MULTICONCAT optimisation;
  345. * Working on a few fuzzer tickets
  346.  
  347.      7:01 BBC: MULTICONCAT: Mail-SpamAssassin-3.4.1 affected too
  348.      4:27 OP_MULTICONCAT failure on Z/OS
  349.      1:55 RT #132187 heap-buffer-overflow in Perl_fbm_instr
  350.      6:48 RT #132385 BBC: XML-XSS-0.3.5 affected too
  351.      3:56 RT #132602 PERL-5.26.1 heap_use_after_free
  352.      2:09 RT #132604 PERL-5.26.1 heap_use_after_free
  353.      1:51 RT #132608 heap-buffer-overflow in Perl_do_trans
  354.      2:00 RT #132646: MULTICONCAT: Data-Printer-0.40 affected too
  355.      5:53 process p5p mailbox
  356.      3:30 re_intuit_start() fixups
  357.    ------
  358.     39:30 TOTAL (HH::MM)
  359.  
  360. 220.0 weeks
  361. 2912.9 total hours
  362.  13.2 average hours per week
  363.  
  364. There are 220 hours left on the grant.</pre>
  365. ]]>
  366.        
  367.    </content>
  368. </entry>
  369.  
  370. <entry>
  371.    <title>Maintaining the Perl 5 Core (Dave Mitchell): Grant Report for Nov 2017</title>
  372.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2017/12/maintaining-the-perl-5-core-da-3.html" />
  373.    <id>tag:news.perlfoundation.org,2017://18.3935</id>
  374.  
  375.    <published>2017-12-10T22:00:00Z</published>
  376.    <updated>2017-12-11T03:29:39Z</updated>
  377.  
  378.    <summary>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: * Fixing some issues thrown up by the new OP_MULTICONCAT optimisation; * Fixing some regressions in deparse testing: &apos;t/TEST -deparse&apos; feeds every test suite script through the deparser before trying to run it; about 6 scripts that formerly passed had started failing. I fixed all these, and removed...</summary>
  379.    <author>
  380.        <name>Makoto Nozaki</name>
  381.        <uri>http://blogs.perl.org/users/makoto_nozaki/</uri>
  382.    </author>
  383.    
  384.        <category term="Perl 5 Development" scheme="http://www.sixapart.com/ns/types#category" />
  385.    
  386.    
  387.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  388.        <![CDATA[<p>This is a monthly report by Dave Mitchell on his grant under <a href="http://www.perlfoundation.org/perl_5_core_maintenance_fund">Perl 5 Core Maintenance Fund</a>. We thank the TPF sponsors to make this grant possible.</p>
  389.  
  390. <pre>I spent last month mainly:
  391.  
  392. * Fixing some issues thrown up by the new OP_MULTICONCAT optimisation;
  393.  
  394. * Fixing some regressions in deparse testing: 't/TEST -deparse' feeds every
  395.  test suite script through the deparser before trying to run it; about 6
  396.  scripts that formerly passed had started failing. I fixed all these, and
  397.  removed another 6 or so scripts from the 'expected to fail' exclusion
  398.  list.
  399.  
  400. SUMMARY:
  401.      1:30 RT #132152 Bleadperl breaks SARTAK/NetHack-Item-0.21.tar.gz
  402.      1:40 RT #132187 heap-buffer-overflow in Perl_fbm_instr
  403.      2:20 RT #132385 BBC: PDL-2.018 affected too
  404.      6:47 RT #132385 BBC: Whatever-0.23 affected too
  405.      2:30 RT #132385 OP_MULTICONCAT breaks Bit-Vector-7.4
  406.      2:26 Smoke FAIL's for lib/perl5db.t
  407.      1:20 [perl #132430] Multiconcat breaks AIX builds
  408.      1:51 fix OP_MULTICONCAT int type issues
  409.     16:52 fix TEST -deparse regressions
  410.      1:08 fix ext/B/t/optree_specials.t
  411.      8:28 process p5p mailbox
  412.      3:22 review security tickets
  413.    ------
  414.     50:14 TOTAL (HH::MM)
  415.  
  416. 215.6 weeks
  417. 2873.4 total hours
  418.  13.3 average hours per week
  419.  
  420. There are 260 hours left on the grant.</pre>
  421. ]]>
  422.        
  423.    </content>
  424. </entry>
  425.  
  426. <entry>
  427.    <title>Call for Volunteers</title>
  428.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2017/12/call-for-volunteers.html" />
  429.    <id>tag:news.perlfoundation.org,2017://18.3934</id>
  430.  
  431.    <published>2017-12-10T21:05:16Z</published>
  432.    <updated>2017-12-10T21:07:44Z</updated>
  433.  
  434.    <summary> Help needed for the 2018 TPC::NA The Perl Conference in America, formerly YAPC::NA, has put forward a formal call for volunteers to help out with next year&apos;s event. Perl has likely helped you, we could even say it has been helping you to pay your bills? This may be your chance to give back to the community that isn&apos;t writing code. TPC::NA 2018 (formerly known as YAPC::NA) is looking for volunteers to organize the conference. Can you do any...</summary>
  435.    <author>
  436.        <name>mdk</name>
  437.        <uri>http://www.shadowcat.co.uk</uri>
  438.    </author>
  439.    
  440.    <category term="conference" label="Conference" scheme="http://www.sixapart.com/ns/types#tag" />
  441.    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
  442.    <category term="volunteers" label="Volunteers" scheme="http://www.sixapart.com/ns/types#tag" />
  443.    
  444.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  445.        <![CDATA[<p> <big>Help needed for the 2018 TPC::NA<br />
  446. </big><br />
  447. The Perl Conference in America, formerly YAPC::NA, has put forward a formal call for volunteers to help out with next year's event. Perl has likely helped you, we could even say it has been helping you to pay your bills? This may be your chance to give back to the community that isn't writing code.</p>
  448.  
  449. <p>TPC::NA 2018 (formerly known as YAPC::NA) is looking for volunteers to organize the conference. Can you do any of these?<br />
  450. <ul><br />
  451. <li>Design logos & other creative things.</li><br />
  452. <li>Draft announcements & other communication.</li><br />
  453. <li>Be awesome & generally helpful.</li><br />
  454. </ul><br />
  455. <big>What will you get in return?</big><br />
  456. The main benefit is in knowing you helped bring a well loved conference to life and the grateful thanks of all the attendees, however there will be other benefits given such as a staff conference clothing, drinks and other appropriate reward.</p>
  457.  
  458. <p>If the answer is yes, then please fill in this form: https://docs.google.com/forms/d/1VLzH7cgMtX5P5q0y5pykiPW19TxEfIb_LLBXAvq8c2c/vewform?edit_requested=true</p>
  459.  
  460. <p><big>Note</big><br />
  461. In person attendance is optional (but we would love to see you in person), though it will require consistent monthly and weekly web conferences with other organizers.</p>]]>
  462.        
  463.    </content>
  464. </entry>
  465.  
  466. <entry>
  467.    <title>Grant Report : Complete YAML::PP - November 2017</title>
  468.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2017/12/grant-report-complete-yamlpp---1.html" />
  469.    <id>tag:news.perlfoundation.org,2017://18.3933</id>
  470.  
  471.    <published>2017-12-10T04:10:43Z</published>
  472.    <updated>2017-12-10T04:15:05Z</updated>
  473.  
  474.    <summary>Tinita, the one-woman YAML ecosystem, continues apace with her grant Complete YAML::PP. Find her latest report on her blog. She is making headway on some of the cooler features of YAML: flow style, anchors, and special tags. Legit boolean behavior is now implemented in YAML::XS. The blog post provides a nice rundown of the 4 ways to quote in YAML. Wondering what all the fuss is about? check out Tina&apos;s London talk. Code is at https://github.com/perlpunk/YAML-PP-p5. MAJ...</summary>
  475.    <author>
  476.        <name>Mark A Jensen</name>
  477.        
  478.    </author>
  479.    
  480.        <category term="Grants" scheme="http://www.sixapart.com/ns/types#category" />
  481.    
  482.    <category term="grants" label="grants" scheme="http://www.sixapart.com/ns/types#tag" />
  483.    <category term="yaml" label="yaml" scheme="http://www.sixapart.com/ns/types#tag" />
  484.    
  485.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  486.        <![CDATA[<p>Tinita, the one-woman YAML ecosystem, continues apace with her grant <a href="http://news.perlfoundation.org/2017/08/grant-proposal-complete-yamlpp.html">Complete YAML::PP</a>. Find her latest report on <a href="http://blogs.perl.org/users/tinita/2017/12/yamlpp-grant-report-november-2017.html">her blog</a>.</p>
  487.  
  488. <p>She is making headway on some of the cooler features of YAML: flow style, anchors, and special tags. Legit boolean behavior is now implemented in <a href="https://metacpan.org/pod/YAML::XS">YAML::XS</a>. The blog post provides a nice rundown of the 4 ways to quote in YAML.</p>
  489.  
  490. <p>Wondering what all the fuss is about? check out Tina's London <a href="http://act.yapc.eu/lpw2017/talk/7232">talk</a>.</p>
  491.  
  492. <p>Code is at <a href="https://github.com/perlpunk/YAML-PP-p5">https://github.com/perlpunk/YAML-PP-p5</a>.</p>
  493.  
  494. <p>MAJ</p>
  495. ]]>
  496.        
  497.    </content>
  498. </entry>
  499.  
  500. <entry>
  501.    <title>Maintaining the Perl 5 Core (Zefram): Grant Report for Nov 2017</title>
  502.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2017/12/maintaining-the-perl-5-core-ze.html" />
  503.    <id>tag:news.perlfoundation.org,2017://18.3932</id>
  504.  
  505.    <published>2017-12-04T03:00:00Z</published>
  506.    <updated>2017-12-04T03:12:16Z</updated>
  507.  
  508.    <summary>This is the first report from Zefram on his Perl 5 grant under Perl 5 Core Maintenance Fund. We thank the TPF sponsors to make this grant possible. The hours that I have worked in 2017-11 pursuant to my TPF core maintenance grant are as follows. 30h25m smartmatch 15h15m [perl #114932] state(@a) = 12h08m review tickets 9h54m review mail 8h26m [perl #108778] no warnings &quot;module name&quot; 3h46m [perl #132158] negative-size-param (size=-7) in S_scan_formline (toke.c:11414) 3h37m [perl #36078] Newz() used gratuitously...</summary>
  509.    <author>
  510.        <name>Makoto Nozaki</name>
  511.        <uri>http://blogs.perl.org/users/makoto_nozaki/</uri>
  512.    </author>
  513.    
  514.        <category term="Grants" scheme="http://www.sixapart.com/ns/types#category" />
  515.    
  516.        <category term="Perl 5 Development" scheme="http://www.sixapart.com/ns/types#category" />
  517.    
  518.    
  519.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  520.        <![CDATA[<p>This is the first report from Zefram on his <a href="http://news.perlfoundation.org/2017/06/perl-5-core-grant-proposal-zef.html">Perl 5 grant</a> under <a href="http://www.perlfoundation.org/perl_5_core_maintenance_fund">Perl 5 Core Maintenance Fund</a>. We thank the TPF sponsors to make this grant possible.</p>
  521.  
  522. <pre>The hours that I have worked in 2017-11 pursuant to my TPF core
  523. maintenance grant are as follows.
  524.  
  525. 30h25m  smartmatch
  526. 15h15m  [perl #114932] state(@a) =
  527. 12h08m  review tickets
  528.  9h54m  review mail
  529.  8h26m  [perl #108778] no warnings "module name"
  530.  3h46m  [perl #132158] negative-size-param (size=-7) in
  531.         S_scan_formline (toke.c:11414)
  532.  3h37m  [perl #36078] Newz() used gratuitously
  533.  3h28m  [perl #113716] Deparse and trailing colons
  534.  3h28m  [perl #38920] Filter::Simple error messages getting mangled
  535.         inside require
  536.  3h12m  [perl #132414] eval in package DB can't see caller's lexicals
  537.         in certain cases
  538.  2h58m  [perl #115266] s//$obj/ does not propagated taintedness of
  539.         overloaded object
  540.  2h43m  Devel::Cover BBC from deparsing change
  541.  2h09m  [perl #108288] stat and -T do not set errno consistently
  542.  2h07m  [perl #115258] 4-arg substr does not provide proper lvalue
  543.         context
  544.  2h05m  [perl #126414] perl rounds inode in PP stat
  545.  2h05m  [perl #132150] ... (yada-yada) parsing is inconsistent
  546.  2h02m  [perl #119803] $ISA[0] assignment does not work
  547.  1h47m  [perl #122368] [PATCH] improve docs about mortal in perlguts
  548.  1h37m  [perl #132492] inward goto deprecation has no removal date
  549.  1h33m  [perl #129892] sub calls show as gv(IV \)
  550.  1h19m  test temp filenames
  551.  1h17m  [perl #119635] deprecate and remove qsort?
  552.  1h14m  [perl #115262] PerlIO::encoding produces malformed utf8
  553.  1h13m  [perl #119813] Assertion failure when debugger dies
  554.  1h10m  ExtUtils-ParseXS test noise
  555.  1h07m  [perl #132413] PL_keyword_plugin needs thread-safe wrap
  556.         setter
  557.  1h06m  [perl #125827] [PATCH] PathTools, dont require() modules in
  558.         subs likely to be in loops
  559. </pre>
  560. ]]>
  561.        <![CDATA[<pre>
  562.    58m  [perl #131762] perldoc output misbehaviour
  563.    57m  [perl #119805] Errors in preamble code report line 0
  564.    48m  [perl #121904] array each iterator storage is inefficient
  565.    44m  [perl #91362] Deparse omits implicit ~~
  566.    38m  ext/XS-APItest/t/sviscow.t warning
  567.    38m  B version portability
  568.    37m  Win32 -k errors
  569.    36m  [perl #125774] do EXPR on dir fails but has no error code $!
  570.    30m  [perl #131895] stat() doesn't fail on filenames containing \0
  571.         / NUL
  572.    30m  [perl #113714] Deparse and CORE
  573.    28m  [perl #123491] Perl_debop and Perl_runops_debug and
  574.         PL_runops_dbg, are they DEBUGGING or not?
  575.    28m  [perl #132272] qw() differs from split " " with OGHAM SPACE
  576.         MARK
  577.    26m  [perl #119823] LABEL<newline>: only works in string eval
  578.    25m  [perl #125370] select on non-socket should be fatal on win32,
  579.         not an error code
  580.    25m  [perl #116286] *pvs SV functions don't take "const char*"s
  581.    23m  create tickets
  582.    20m  [perl #42603] func Class->method should resolve to func(
  583.         Class->method )
  584.    19m  [perl #127697] newPVOP documentation is misleading
  585.    18m  [perl #132403] Long @INC gets replaced with executable
  586.    18m  [perl #132395] BBC: Commit 7a831b72 breaks UNIVERAL::isa
  587.         tests
  588.    17m  [perl #122096] [PATCH] reduce # of calls to errno
  589.    13m  [perl #132460] ambiguity regarding "x" operator in perlop
  590.    13m  [perl #115880] redundant SvUPGRADE in perl_construct?
  591.    10m  [perl #115650] "Truth and Falsehood" doesn't belong in
  592.         perlsyn
  593.     7m  [perl #93102] keys is not always an lvalue
  594.     5m  [perl #122122] [PATCH] PERL_UNUSED_CONTEXT audit
  595. 135h02m  TOTAL
  596.  
  597. At the end of the month there was 264h58m of authorised working time
  598. remaining in this grant.</pre>
  599. ]]>
  600.    </content>
  601. </entry>
  602.  
  603. <entry>
  604.    <title>TPF to start public nomination/election process of board members</title>
  605.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2017/11/tpf-to-start-public-nomination.html" />
  606.    <id>tag:news.perlfoundation.org,2017://18.3931</id>
  607.  
  608.    <published>2017-11-28T03:00:18Z</published>
  609.    <updated>2017-11-28T03:11:46Z</updated>
  610.  
  611.    <summary>The Perl Foundation is a non-profit, 501(c)(3) organization based in the United States. Currently its board of directors has seven members and TPF plans to start annual nomination and election process of new members. Bringing new people to the board regularly, with some community input, will allow the organization to grow and increase its output. The below is proposed process of nomination and election of new board members, which will be practiced in February every year. The first call for...</summary>
  612.    <author>
  613.        <name>Makoto Nozaki</name>
  614.        <uri>http://blogs.perl.org/users/makoto_nozaki/</uri>
  615.    </author>
  616.    
  617.    
  618.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  619.        <![CDATA[<p>The Perl Foundation is a non-profit, 501(c)(3) organization based in the United States. Currently its board of directors has seven members and TPF plans to start annual nomination and election process of new members. Bringing new people to the board regularly, with some community input, will allow the organization to grow and increase its output.</p>
  620.  
  621. <p>The below is proposed process of nomination and election of new board members, which will be practiced in February every year. The first call for board nominations will be posted in the first week of February 2018. If you have any questions, comment here or contact makoto at perlfoudation.org.</p>
  622.  
  623. <p>1. Nomination</p>
  624.  
  625. <p>A new member should be nominated by one or more Board members.</p>
  626.  
  627. <p>2. Eligibility</p>
  628.  
  629. <p>The nominee must be an active volunteer of TPF at least for 180 days.</p>
  630.  
  631. <p>3. Public hearing</p>
  632.  
  633. <p>Public post will be made to ask for input from the community. The post will have the nominee's bio and reasons for nomination.</p>
  634.  
  635. <p>4. Election</p>
  636.  
  637. <p>Election will be made by the board members after feedback is gathered from the public.</p>
  638. ]]>
  639.        
  640.    </content>
  641. </entry>
  642.  
  643. <entry>
  644.    <title>Booking.com Sponsors the P5CMF</title>
  645.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2017/11/booking-sponsors-the-perl-5.html" />
  646.    <id>tag:news.perlfoundation.org,2017://18.3930</id>
  647.  
  648.    <published>2017-11-27T09:47:18Z</published>
  649.    <updated>2017-11-27T10:00:46Z</updated>
  650.  
  651.    <summary>The long time supporters of the Perl community, world-class business ,and a leading employer of Perl programmers worldwide, Booking.com has added a generous sponsorship to the Core Maintenance Fund. It is a great privilege to announce that they have added one hundred thousand dollars to the initiative.
  652. </summary>
  653.    <author>
  654.        <name>mdk</name>
  655.        <uri>http://www.shadowcat.co.uk</uri>
  656.    </author>
  657.    
  658.        <category term="Perl 5 Development" scheme="http://www.sixapart.com/ns/types#category" />
  659.    
  660.    <category term="bookingcom" label="Booking.com" scheme="http://www.sixapart.com/ns/types#tag" />
  661.    <category term="cmf" label="CMF" scheme="http://www.sixapart.com/ns/types#tag" />
  662.    <category term="coremaintenancefund" label="Core Maintenance Fund" scheme="http://www.sixapart.com/ns/types#tag" />
  663.    <category term="p5cmf" label="P5CMF" scheme="http://www.sixapart.com/ns/types#tag" />
  664.    <category term="perl5" label="Perl 5" scheme="http://www.sixapart.com/ns/types#tag" />
  665.    <category term="perl5" label="Perl5" scheme="http://www.sixapart.com/ns/types#tag" />
  666.    <category term="sponsorship" label="Sponsorship" scheme="http://www.sixapart.com/ns/types#tag" />
  667.    
  668.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  669.        <![CDATA[<h3>A Proud History</h3>
  670.  
  671. <p>The long time supporters of the Perl community, world-class business ,and a leading employer of Perl programmers worldwide, <a href="https://www.booking.com">Booking.com</a> has added a generous sponsorship to the Core Maintenance Fund. It is a great privilege to announce that they have added one hundred thousand dollars to the initiative.</p>
  672.  
  673. <p><a href="https://www.booking.com">Booking.com</a> have been supporters of the fund since its inception and have long championed the important work that this brings to the Perl community. It is well known that a number of prominent Perl community developers work for Booking.com who give time and support to the community work. Booking are also very visible at conferences and events and are hosts of a number of community projects and conferences.</p>
  674.  
  675. <p>The Perl Foundation are proud of the support that <a href="https://www.booking.com">Booking.com</a> bring to the community and to this important fund. Dan Wright (Treasurer of TPF) had this to say:</p>
  676.  
  677. <blockquote>
  678.  <p>?I have spent many years marvelling at the support we get from many companies in the Perl world. I work for a company that is proud to be a part of the community and to sponsor and support our language and the people around it. So it is humbling when other companies approach me with such generous contributions. </p>
  679.  
  680. <p><a href="https://www.booking.com">Booking.com</a>, like so many other organisations and individuals who contribute to the Perl community, are a great part of why we all succeed with Perl.?</p>
  681. </blockquote>
  682.  
  683. <h3>About Booking.com</h3>
  684.  
  685. <p>Established in 1996 in Amsterdam, <a href="https://www.booking.com">Booking.com</a> has grown from a small Dutch start-up to one of the largest travel e-commerce companies in the world. Part of The Priceline Group (NASDAQ: PCLN), <a href="https://www.booking.com">Booking.com</a> now employs more than 15,000 employees in 198 offices in 70 countries worldwide.</p>
  686.  
  687. <p>With a mission to empower people to experience the world, <a href="https://www.booking.com">Booking.com</a> invests in digital technology that helps take the friction out of travel. At Booking.com, we connect travellers with the world?s largest selection of incredible places to stay, including everything from apartments, vacation homes, and family-run B&amp;Bs to 5-star luxury resorts, tree houses and even igloos. The Booking.com website and mobile apps are available in over 40 languages, offer 1,533,448 properties, and cover 123,250 destinations in 229 countries and territories worldwide.</p>
  688.  
  689. <p>Each day, more than 1,550,000 room nights are reserved on our platform. So whether travelling for business or leisure, customers can instantly book their ideal accommodation quickly and easily with Booking.com, without booking fees and backed up by our promise to price match. Via our customer experience team, customers can reach Booking.com 24/7 for assistance and support in over 40 languages, any time of the day or night.</p>
  690.  
  691. <h3>The Perl 5 Core Maintenance Fund</h3>
  692.  
  693. <p>As you may have read earlier this year the Perl 5 Core Maintenance Fund was coming to an end of its initial grant funding and the fund itself was almost out of capital. At that time we placed a call out to extend the vital work that has been done over the last five years. Booking.com are the first company to respond and we are very grateful to them.</p>
  694.  
  695. <p>The initial fund round raised over half a million dollars that has been used to fund several full time developers who have made significant improvements to Perl 5 and to the language. This second round of funding will see the initiative make more changes. </p>
  696.  
  697. <p>If you would like to join with <a href="https://www.booking.com">Booking.com</a> in sponsoring the fund then please do not hesitate to contact the Perl Foundation. </p>
  698. ]]>
  699.        
  700.    </content>
  701. </entry>
  702.  
  703. <entry>
  704.    <title>Maintaining the Perl 5 Core (Dave Mitchell): Grant Report for Sep/Oct 2017</title>
  705.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2017/11/maintaining-the-perl-5-core-da-2.html" />
  706.    <id>tag:news.perlfoundation.org,2017://18.3929</id>
  707.  
  708.    <published>2017-11-23T22:00:00Z</published>
  709.    <updated>2017-11-24T03:03:50Z</updated>
  710.  
  711.    <summary>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 didn&apos;t do much TPF grant work for the last two months, as I was mainly working on OP_MULTICONCAT, which was funded by Booking.com. That&apos;s also why there&apos;s been a dearth of weekly reports. The main thing I did was making a few minor enhancements to bench.pl. See http://nntp.perl.org/group/perl.perl5.porters/246816 for details. SUMMARY: 0:50...</summary>
  712.    <author>
  713.        <name>Makoto Nozaki</name>
  714.        <uri>http://blogs.perl.org/users/makoto_nozaki/</uri>
  715.    </author>
  716.    
  717.        <category term="Grants" scheme="http://www.sixapart.com/ns/types#category" />
  718.    
  719.        <category term="Perl 5 Development" scheme="http://www.sixapart.com/ns/types#category" />
  720.    
  721.    
  722.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  723.        <![CDATA[<p>This is a monthly report by Dave Mitchell on his grant under <a href="http://www.perlfoundation.org/perl_5_core_maintenance_fund">Perl 5 Core Maintenance Fund</a>. We thank the TPF sponsors to make this grant possible.</p>
  724.  
  725. <pre>I didn't do much TPF grant work for the last two months, as I was mainly
  726. working on OP_MULTICONCAT, which was funded by Booking.com.
  727.  
  728. That's also why there's been a dearth of weekly reports.
  729.  
  730. The main thing I did was making a few minor enhancements to bench.pl.
  731. See http://nntp.perl.org/group/perl.perl5.porters/246816 for details.
  732.  
  733. SUMMARY:
  734.      0:50 discuss memchr() with Karl.
  735.     10:29 minor bench.pl enhancements
  736.      3:06 process p5p mailbox
  737.      1:28 review Karl's utf8n_to_uvchr work.
  738.    ------
  739.     15:53 TOTAL (HH::MM)
  740.  
  741. 211.3 weeks
  742. 2823.2 total hours
  743.  13.4 average hours per week</pre>
  744. ]]>
  745.        
  746.    </content>
  747. </entry>
  748.  
  749. <entry>
  750.    <title>Test2 Documentation Grant Progress Report</title>
  751.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2017/11/test2-documentation-grant-prog-3.html" />
  752.    <id>tag:news.perlfoundation.org,2017://18.3928</id>
  753.  
  754.    <published>2017-11-22T18:45:06Z</published>
  755.    <updated>2017-11-22T18:51:07Z</updated>
  756.  
  757.    <summary>During the last month, Chad Granum did some notable progress on the grant. As Chad points out: I got it to the point where I felt comfortable publishing it to cpan, despite being incomplete: https://metacpan.org/pod/Test2::Manual that includes: Spell check test, to correct my typos Added Anatomy section to describe Test2 guts Added Anatomy for Events and Facets Finished the Tooling/FirstTool document Added the Tooling/Nesting document Added the Tooling/Subtest document Added the Tooling/Testing document Lots of cleanup and minor tweaks. There...</summary>
  758.    <author>
  759.        <name>Alberto Sim?es</name>
  760.        <uri>http://blogs.perl.org/users/alberto_simoes/</uri>
  761.    </author>
  762.    
  763.    <category term="grants" label="grants" scheme="http://www.sixapart.com/ns/types#tag" />
  764.    
  765.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  766.        <![CDATA[<p>During the last month, Chad Granum did some notable progress on the grant. As Chad points out:</p>
  767.  
  768. <blockquote>
  769.  <p>I got it to the point where I felt comfortable publishing it to cpan, despite being incomplete: <a href="https://metacpan.org/pod/Test2::Manual">https://metacpan.org/pod/Test2::Manual</a></p>
  770. </blockquote>
  771.  
  772. <p>that includes:</p>
  773.  
  774. <ul>
  775. <li>Spell check test, to correct my typos</li>
  776. <li>Added Anatomy section to describe Test2 guts</li>
  777. <li>Added Anatomy for Events and Facets</li>
  778. <li>Finished the Tooling/FirstTool document</li>
  779. <li>Added the Tooling/Nesting document</li>
  780. <li>Added the Tooling/Subtest document</li>
  781. <li>Added the Tooling/Testing document</li>
  782. <li>Lots of cleanup and minor tweaks.</li>
  783. </ul>
  784.  
  785. <p>There are still several planned documents that need to be written, but they are all listed now in one of the 3 sections (Testing, Tooling, Anatomy) with a "coming soon" note.</p>
  786. ]]>
  787.        
  788.    </content>
  789. </entry>
  790.  
  791. <entry>
  792.    <title>Perl 6 Performance and Reliability Engineering: November 2017</title>
  793.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2017/11/perl-6-performance-and-reliabi-4.html" />
  794.    <id>tag:news.perlfoundation.org,2017://18.3927</id>
  795.  
  796.    <published>2017-11-19T15:22:14Z</published>
  797.    <updated>2017-11-19T15:31:22Z</updated>
  798.  
  799.    <summary>As part of the Perl 6 core development fund, Jonathan Worthington has completed another 200 hour block of hours, and his report of what was completed follows the break. Many thanks to the TPF sponsors of this and other grants. If you&apos;re interested in supporting work like this, please donate: http://donate.perlfoundation.org/...</summary>
  800.    <author>
  801.        <name>Coke</name>
  802.        
  803.    </author>
  804.    
  805.        <category term="Grants" scheme="http://www.sixapart.com/ns/types#category" />
  806.    
  807.    
  808.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  809.        <![CDATA[<p>As part of the Perl 6 core development fund, Jonathan Worthington has completed another 200 hour block of hours, and his report of what
  810. was completed follows the break.</p>
  811.  
  812. <p>Many thanks to the TPF sponsors of this and other grants. If you're interested in supporting work like this, please donate: http://donate.perlfoundation.org/</p>
  813.  
  814. <hr />
  815. ]]>
  816.        <![CDATA[<h1>Grant Completion Report: Perl 6 Performance and Reliability Engineering</h1>
  817.  
  818. <p>At the end of July, I was granted a <a href="http://news.perlfoundation.org/2017/07/grant-extension-approved-perl-.html">200 hour extension</a>
  819. of my Perl 6 Performance and Reliability Engineering grant. I used this time
  820. primarily to focus on MoarVM's dynamic optimizer, although did many other
  821. fixes and improvements aside from that.</p>
  822.  
  823. <h2>Background on the dynamic optimizer improvements</h2>
  824.  
  825. <p>Modern runtimes, especially for dynamic languages, rely on dynamic optimization
  826. techniques. These analyze the behavior of the program at runtime, and use that
  827. data to drive optimization. MoarVM's dynamic optimizer is typically referred to
  828. as "the specializer", or "spesh" for short, and this nicely captures its core
  829. strategy: taking code with lots of potential dynamism, and producing one or
  830. more specialized versions of the code with as much of that dynamic behavior
  831. stripped out as possible.</p>
  832.  
  833. <p>The specializer was planned as part of MoarVM from the start, although its
  834. implementation came after the initial public release of the VM. Soon after
  835. that, the focus switched to the Christmas release of Perl 6, where nailing down
  836. semantics was a much bigger focus than optimization. Since then, the
  837. specializer was improved in numerous ways, however various limitations in its
  838. design started to show up repeatedly as we analyzed Perl 6 program performance.
  839. Furthermore, stress testing showed up a range of bugs in the optimizer that had
  840. potential to cause incorrect behavior in user code.</p>
  841.  
  842. <p>Therefore, for the sake of both performance and reliability, it was desirable
  843. to invest some time improving the specializer.</p>
  844.  
  845. <h2>Specialization in the background</h2>
  846.  
  847. <p>Modern hardware is parallel, and it is desirable to find ways to take advantage
  848. of that. Originally, the specializer would do optimization work on the same
  849. thread that user code was running on. This not only paused execution in order
  850. to do optimization, but it also meant that multiple threads running the same
  851. code (say, in a data parallel program) would all race to do and install the
  852. same optimization.</p>
  853.  
  854. <p>I introduced a background thread for performing specializations. This not only
  855. meant that optimization work and JIT compilation would not interupt execution,
  856. but also resolved the issue of multiple threads scrambling to do the same
  857. optimization. Since there was now only one thread producing optimizations, some
  858. locking logic could also go away. A further upshot of this is that even a
  859. single-threaded user program can now get some advantage from multi-core
  860. hardware.</p>
  861.  
  862. <p>One downside of this is that the exact timing of specializations being installed
  863. becomes unpredictable, and this can make debugging more difficult. Therefore, I
  864. added a deterministic mode, enabled by environment variable, which makes a
  865. thread pause while the optimization thread does its work. This, for a
  866. single-threaded user program, offers deterministic behavior.</p>
  867.  
  868. <h2>Better data for better decisions</h2>
  869.  
  870. <p>The specializer's decision making about what to optimize, and how to optimize
  871. it, will only be as good as the data available to it. The data model
  872. prior to my work under this grant was rather limiting. For example, it was not
  873. possible to get a high level overview of what was monomorphic code (same types
  874. always), polymorphic code (handful of different types) and megamorphic code
  875. (loads of different types). There were also too few samples to know if a type
  876. that was seen to differ once was really rare or not. When there are only ten or
  877. so samples, and a type differs one time, then it could vary up to 10% of the
  878. time; that will tend to be too costly to leave deoptimization to handle. By
  879. contrast, if there are a hundred samples and it happens one time, then it is
  880. much safer to leave that slow path to be handled by the interpreter, for the
  881. sake of running the common case potentially a lot faster.</p>
  882.  
  883. <p>I implemented a lightweight interpreter logging mechanism. It writes compact
  884. logs about encountered types, invocation targets, and more into a sequential
  885. thread-local buffer. When the buffer is filled, it is sent to the specialization
  886. thread. Over on that thread, the recorded events are played back in a stack
  887. simulation, and a data model built up that aggregates the statistics. This is
  888. then used by a planner to decide what optimizations to produce.</p>
  889.  
  890. <p>Along the way, I introduced a new kind of specialization, which specializes
  891. only on the shape of the callsite (how many arguments and which named arguments)
  892. rather than the incoming types. This means that megamorphic code (that is,
  893. code called on many different types) can now receive some optimization, as well
  894. as compilation into machine code. Before, a few specializations were produced,
  895. and then everything else was left to run slowly under the interpreter.</p>
  896.  
  897. <h2>New optimizations</h2>
  898.  
  899. <p>Besides allowing for better decision making, I introduced some new optimizations
  900. as well as making existing ones more powerful.</p>
  901.  
  902. <ul>
  903. <li>I enabled many more calls to be inlined (a powerful optimization where a
  904. call to a small routine is replaced with the code of the routine itself).
  905. This was achieved by using the new statistics to spot when the target of a
  906. call was reliably the same, and introducing a guard clause. Prior to this,
  907. inlining was only available to methods resolved through the cache or subs
  908. in the setting or the outermost scope. I also handled the case where the
  909. passed arguments were consistently typed, but it had not been possible for
  910. the optimizer to prove that, again using guard clauses.</li>
  911. <li>I implemented inlining of closures (that is, code that refers to variables
  912. in an outer scope).</li>
  913. <li>I made dead code removal happen far more eagerly, and improved the
  914. quality of type information available in code following the eliminated
  915. conditional. This is a significant improvement for parameters with default
  916. values, as well as branches based on types or constants.</li>
  917. <li>I made frames that are reliably promoted from the call stack onto the heap be
  918. allocated right away on the heap, to save the promotion cost. (This promotion
  919. happens when a callframe needs to be referenced by a heap object.)</li>
  920. <li>I changed the way that control exception's flow is represented to be more
  921. accurate, enabling elimination of handlers that become unreachable once the
  922. code they cover also becomes unreachable. The change also resulted in more
  923. accurate type information propagation, which can aid other optimizations.</li>
  924. <li>I made the optimization that rewrites control exceptions into far cheaper
  925. <code>goto</code> instructions apply into inlines.</li>
  926. </ul>
  927.  
  928. <h2>Specializer fixes</h2>
  929.  
  930. <p>The specializer usually only operates on "hot" code, so that the time that it
  931. spends optimizing will have maximum benefit. However, it is possible to set an
  932. environment variable that lowers these thresholds, making the specializer try
  933. to optimize every bit of code that is encountered. This, combined with the
  934. deterministic mode, provides a means to stress test the optimizer, by forcing
  935. it to consider and optimize a great deal more code that it usually would do.
  936. Running the NQP and Rakudo builds , together with the Perl 6 test suite, in
  937. this way can flush out bugs that would not show up when only optimizing hot
  938. code.</p>
  939.  
  940. <p>Prior to my work under this grant, failures would show up from this stress
  941. testing as soon as the NQP build. After a good amount of bug hunting and fixing,
  942. the NQP build and tests, together with the Rakudo build and basic tests, are
  943. completely clean under this stresstest. The handful of remaining failures in
  944. the stresstest are a result of inlining distorting backtraces (at the moment,
  945. the inlined frames do not appear in the backtrace), thus causing some
  946. error-reporting tests to fail.</p>
  947.  
  948. <p>The fixes included addressing a long-standing but rarely occurring crash
  949. involving the intersection of specialization, multiple dispatch, and
  950. destructuring in signatures; a number of different crashes boiled down to this.
  951. Another important range of fixes involved eliminating poor assumptions around
  952. <code>Scalar</code>s and aliasing, which aside from fixing bugs also stands us in a better
  953. position to implement escape analysis (which requires alias analysis) in the
  954. future.</p>
  955.  
  956. <h2>Notable results from the specializer work</h2>
  957.  
  958. <p>The specialization improvements showed up in a number of benchmarks. Two that
  959. are particularly worth calling out are:</p>
  960.  
  961. <ul>
  962. <li>The daily <code>Text::CSV</code> module benchmark runs hit new lows thanks to the
  963. specializer improvements.</li>
  964. <li>The "read a million line UTF-8 file" benchmark that I've discussed before,
  965. where Rakudo on MoarVM used to be just a bit slower than Perl 5, is now won
  966. by Rakudo. This is a result of better code quality after specialization.</li>
  967. </ul>
  968.  
  969. <h2>Improved GC thread sync-up</h2>
  970.  
  971. <p>I re-worked the way that garbage collection synchronizes running threads, to
  972. eliminate busy-waiting. The idea of the original design was that running threads
  973. would quickly react to the GC interupt flag being set on them. However, this
  974. presumed that the threads were all really running, which is never a certainty
  975. given CPU cores are competed over by many processes. Furthermore, under tools
  976. like valgrind and callgrind, which serialize all threads onto a single CPU
  977. core, the busy-waiting strategy produced hugely distorted results, and greatly
  978. increased the time these useful, but already slow, tools would take. Now the
  979. synchronization is done using condition variables, meaning that both the kernel
  980. and tools like valgrind/callgrind have a much better idea of what is happening.
  981. While callgrind showed a large (10%-15%) reduction in CPU cycles in some
  982. multi-threaded programs, the improvements under normal running conditions were,
  983. as expected, much smaller, though still worthwhile.</p>
  984.  
  985. <h2>Other work</h2>
  986.  
  987. <p>Along with the improvements described above, I also:</p>
  988.  
  989. <ul>
  990. <li>Added support to <code>Proc::Async</code> to plumb the output handle of one process into
  991. the standard input of another process, with the handles being chained together
  992. at the file descriptor level.</li>
  993. <li>Hunted down and fixed a SEGV when many processes were spawned and all gave an
  994. error.</li>
  995. <li>Fixed RT #131384 (panic due to bug in error reporting path of ASCII decoder)</li>
  996. <li>Fixed RT #131611 (sigilles variable in coercion could generate internal
  997. compiler error)</li>
  998. <li>Fixed RT #131740 (wrong <code>$*THREAD</code> after <code>await</code> due to lack of
  999. invalidation of the dynamic variable lookup cache)</li>
  1000. <li>Fixed RT #131365 and RT #131383 (<code>getc</code> and <code>readchars</code> read too many chars
  1001. at the end of the file)</li>
  1002. <li>Fixed RT #131673 (<code>is rw</code> with anonymous parameter reported error incorrectly)</li>
  1003. <li>Fixed MoarVM issue 611 (memory errors arising from certain usage patterns of
  1004. the decode stream)</li>
  1005. <li>Fixed MoarVM issue 562 (SEGV from a particular use of the <code>calframe(...)</code>
  1006. function)</li>
  1007. <li>Fixed native callbacks when the callback is made on a thread other than the
  1008. one that passed the callback in the first place</li>
  1009. <li>Avoided a linear lookup, knocking 5% off the code-gen phase of compiling
  1010. <code>CORE.setting</code></li>
  1011. <li>Removed the long-unused <code>Lexotic</code> feature from MoarVM, which allowed some
  1012. code cleanup (this used to be used to handle <code>return</code>, but it now uses the
  1013. control exception system)</li>
  1014. </ul>
  1015.  
  1016. <h2>Dissemination</h2>
  1017.  
  1018. <p>I wrote a 4-part series on my blog about the MoarVM specializer. The posts walk
  1019. through the MoarVM specializer's design and functionality, and mention the many
  1020. improvements done as a result of this grant - explaining why the new way of
  1021. doing things represents an improvement from the previous way. The posts are:</p>
  1022.  
  1023. <ul>
  1024. <li><a href="https://6guts.wordpress.com/2017/08/06/moarvm-specializer-improvements-part-1-gathering-data/">Part 1: Gathering Data</a></li>
  1025. <li><a href="https://6guts.wordpress.com/2017/09/17/moarvm-specializer-improvements-part-2-planning/">Part 2: Planning</a></li>
  1026. <li><a href="https://6guts.wordpress.com/2017/11/05/moarvm-specializer-improvements-part-3-optimizing-code/">Part 3: Optimizing Code</a></li>
  1027. <li><a href="https://6guts.wordpress.com/2017/11/09/moarvm-specializer-improvements-part-4-argument-guards/">Part 4: Argument Guards</a></li>
  1028. </ul>
  1029.  
  1030. <p>I also travelled to the Swiss Perl Workshop and delivered a talk about the
  1031. MoarVM specializer, titled "How does deoptimization help us go faster?". The
  1032. <a href="http://jnthn.net/papers/2017-spw-deopt.pdf">slides</a> and <a href="https://www.youtube.com/watch?v=3umNn1KnlCY">video</a>
  1033. were published online.</p>
  1034.  
  1035. <h2>Summary</h2>
  1036.  
  1037. <p>This latest grant extension enabled me to spend a significant amount of time on
  1038. the MoarVM dynamic optimizer, both addressing bugs as well as overhauling the
  1039. way information about program execution is collected and used. The new data
  1040. allows for better decision making, and its availability allowed me to implement
  1041. some new optimizations. Furthermore, I moved optimization work to take place on
  1042. a background thread, so as not to interupt program execution. Aside from this
  1043. work, I fixed other bugs and made some performance improvements unrelated to
  1044. the dynamic optimizer. Finally, I gave a presentation about dynamic optimization
  1045. at the Swiss Perl Workshop, and wrote an extensive 4-part blog series explaining
  1046. the MoarVM optimization process.</p>
  1047. ]]>
  1048.    </content>
  1049. </entry>
  1050.  
  1051. <entry>
  1052.    <title>Grant Extension Approved: Tony Cook&apos;s maintaining Perl 5 Grant</title>
  1053.    <link rel="alternate" type="text/html" href="http://news.perlfoundation.org/2017/11/grant-extension-approved-tony-.html" />
  1054.    <id>tag:news.perlfoundation.org,2017://18.3926</id>
  1055.  
  1056.    <published>2017-11-13T22:00:00Z</published>
  1057.    <updated>2017-11-14T03:42:12Z</updated>
  1058.  
  1059.    <summary>Tony Cook recently requested an extension of his Maintaining the Perl 5 Grant. I&apos;m pleased to announce that the Board of Directors approved extension of another $20,000. It&apos;ll allow him to dedicate another 400 hours to this work. I would like to thank the community members who took time to comment on this grant extension request and our sponsors who made funding the grant possible through our Perl 5 Core Maintenance Fund. For the fund status, please also see P5CMF...</summary>
  1060.    <author>
  1061.        <name>Makoto Nozaki</name>
  1062.        <uri>http://blogs.perl.org/users/makoto_nozaki/</uri>
  1063.    </author>
  1064.    
  1065.        <category term="Grants" scheme="http://www.sixapart.com/ns/types#category" />
  1066.    
  1067.        <category term="Perl 5 Development" scheme="http://www.sixapart.com/ns/types#category" />
  1068.    
  1069.    
  1070.    <content type="html" xml:lang="en-us" xml:base="http://news.perlfoundation.org/">
  1071.        <![CDATA[<p><strong>Tony Cook</strong> recently <a href="http://news.perlfoundation.org/2017/10/grant-extension-request-mainta-5.html">requested an extension of his Maintaining the Perl 5 Grant</a>.</p>
  1072.  
  1073. <p>I'm pleased to announce that the Board of Directors approved extension of another $20,000. It'll allow him to dedicate another 400 hours to this work.</p>
  1074.  
  1075. <p>I would like to thank the community members who took time to comment on this grant extension request and our sponsors who made funding the grant possible through our Perl 5 Core Maintenance Fund. For the fund status, please also see <a href="http://news.perlfoundation.org/2017/10/p5cmf-running-out-of-funds.html">P5CMF running out of funds</a>.</p>
  1076.  
  1077. <p>I also appreciate Tony Cook, who publishes regular progress report on his work.</p>
  1078. ]]>
  1079.        
  1080.    </content>
  1081. </entry>
  1082.  
  1083. </feed>
  1084.  

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid Atom 1.0" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=http%3A//news.perlfoundation.org/atom.xml

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda