October 2014 Archives

Toby Inkster reports in his blog that the book took a back seat to other duties this month. He is continuing to develop the basic ideas, most recently in the form of a talk that he will present at the London Perl Workshop. Toby has shared this <SPOILER_ALERT> material </SPOILER_ALERT>.


Dave Mitchell writes:

The main things I worked on this month were:

  • finished off making the op_private OP flags and data be auto-generated from a single consistent source.
  • I started to investigate how the allocation and growing of strings (in Perl_sv_grow()) interacts (sometimes badly) with COW and the underlying malloc() library implementation
  • reviewing, discussing, fixing up and applying Syber's method call optimisation work

3:52 [perl #122666] Bleadperl v5.21.1-120-g34dadc6 breaks SYOHEX/Text-Xslate-3.3.3.tar.gz
1:14 [perl #122791] Memory leak oddities with various versions of Perl
0:36 create t/re/speed.t
14:21 investigate sv_grow() algorithm
19:07 make op_private flag definitions be auto-generated
0:57 misc tidying up
24:19 process p5p mailbox
9:14 review "Speeding up perl's OOP" patch
2:20 sort out B.xs op_padix issue
1:53 sort out globals.c make dependencies

77:53 Total (HH::MM)

As of 2014/09/30: since the beginning of the grant:

50.3 weeks
712.0 total hours
14.2 average hours per week

There are 88 hours left on the grant

Grant Report: Inline::C(PP) - October 2014

No Comments

Ingy and David report on their Inline:C(PP) grant progress in their joint blog. Some exciting highlights:

  • All work being done publicly:
    • David and Ingy code in remote PairUpâ„¢ session (tmux)
    • All realtime communication in IRC (irc.perl.org#inline)
    • Tmux to be termcasted soon (live terminal in a browser)
    • Fork 'em on GitHub
  • Figured out a decent Inline Module API strategy
    • Authors do 3 simple new things to ship Inline code to CPAN
    • No end-user dependency on Inline for these modules
    • End result is essentially same as hand written XS
  • Created specification document: http://inline.ouistreet.com/node/v3e7.html
  • Released two new CPAN modules:
  • Created a new blog site to document the Inline Grant Project
    ("A new site using some of our other loved technologies: Cog, Coffee, make, Swim, Jemplate, gh-pages, BootStrap")

Looks pretty cool. Here is Acme::Math::XS in its totality:

use strict; use warnings;
package Acme::Math::XS;
our $VERSION = '0.0.2';

use Exporter 'import';
our @EXPORT = qw(

use Acme::Math::XS::Inline C => <<'...';
long add(long a, long b) {
return a + b;

long subtract(long a, long b) {
return a - b;


ACT - Voyager - logbook 2014-10-01

No Comments

As time moves on the Voyage gradually moves forward.

In the proposal I sent, I already knew that I would not be able to dedicate any time until the last week of September. So, what did happen until now:

The Apache & mod_perl nightmare

ACTually, let me take you back december 2013. After I visited the London Perl Workshop, I went to the French hackathon Patch -p1 in Paris to see if I could do some useful things on ACT. I wanted a good looking web-site for the Dutch Perl Workshop! The only thing I had at time was a jurassic Apple PowerBook G3 500Mhz FW. I still love that baby. During that specific hackathon my slow machine was not performing well and I had to go back home without having much achieved, technically.

Back home I bought a book that most would start screaming about "Practical mod_perl". In there is a recipe to get it all up and running... If only. As family we went to a resort in Belgium between Christmas and New-Year and I tried to be a nice family man. Most of the time I was trying to set-up my machine so it would run Apache 1.x with mod_perl. And it still didn't work out.

The best solution was actually the most simple one, a dead clean install of the original MacOS 10.4! Which includes a running Apache 1.x and mod_perl pre installed... Had I only known before.

Why this long story? For it is one of the many stories you will hear from anybody that wanted to install Act on their own system. It is a nightmare. Luckily there were some people that had succeeded before:

  • Detlev sent his notes on how tried to set up his development virtual machine for the NLPW and I never got the chance to work those out for one simple reason: I did not had a laptop robust enough to run virtualisation. But that has changed.
  • Alex Mundata had worked out a way to install a working setup inside a Vagrant box. I looked at it and tried it - but failed a few times, as there were some unclear things in his setup

The green pastures of 'Act-out-of-the-box'

So, I took all that info and started to work on a super easy way for any Act developer to start hacking:
  1. Download Vagrant
  2. Download the 'Act-out-of-the-box' vagrant image
  3. vagrant up
  4. Choose your install type
  5. Welcome to Act
So, what is happening there, what install types...?

As it seems there are different ways people like to work on Act. Some of them just want a test machine so they can play locally with the design and interaction. For them there will be a pre-setup environment that will give them only what they need. Others want to do some stuff in the core of Act, those will get another environment.

During that last install step, it does one other important thing, it does clone a repository from GitHub: the stable production version, the HOT Act Voyager version or a PSGI version.

The 'Act-out-of-the-box' comes pre-installed with:

  • Apache 1.2.42
  • mod_perl 1.31
  • postfix
  • PostgreSQL
  • sample databases
  • Act dependencies
This is going to save all Act developers, including myself a lot of work and time. I think this is a huge step forward to make Act hackable for anybody.

I'm about to finish the last step in the installation procedure, so that will work nicely as it is supposed to work, not like some idiot me has smashed it together.

Then... it gets time for me to get the databases a bit more fancy and give Act a nice shiny DBIx::Class interface.

Patch -p2 hackathon in Lyon

I'm looking forward to the end of november, when Patch -p2 will be held in Lyon. I hope a lot of fundamental things have changed before then so we can all work on some fresh hackable environment

Your Captain Theo van Hoesel

ACT - Voyager - logbook 2014-09-01

No Comments

Grant Manager's note: please excuse the delay in posting these progress reports. Future progress reports will be more in time. This is the progress report about August 2014.

As in the original proposal for the Grant, it was stated I would not start before the second half of september because of a project that is very tight on the deadline.

However that does not mean that nothing happens. On the contrary, not without reason at the last evening of YAPC::EU::2014 I briefly showed the official Startrek Voyager opening video: this project already has gotten into 'Warp Speed'.

I held a brief introduction LightningTalk at the first day, called 'the Long Journey' see my SlideShare upload

The next day there was a BoF with a dozen people showing up that had different kinds off interests:

  • people that want a complete rewrite
  • people that want a quick fix and new features on top of the current ACT
  • people that want to change the internals first
Doing a total rewrite, as usually, was being advised against, but has some challenging aspects. Making it possible to start hacking on the current version of ACT has the advantage that things can start immediately... although there has been proposed to make the current Apache1/ModPerl version of ACT run inside a PSGI environment. Haarg has previously made a PSGI port (3 years ago), which has not yet been merged back, due to deployment changes required for current live setup. SawyerX is working on a revised approach which may not need this. Once one of these solutions is merged in, it will be possible to hack on the current version at two different fronts: add features and hack the core in the meantime.

We are looking forward to see what Sawyer is doing for some kind of wizardry.

Thank you Todd Rinaldo for setting up a new ACT repository at GitHub and creating the teams and send out the invitations.

During Lunch with BooK I was very happy to hear how he sees how this ACT Voyager project will work in conjunction with the current ACT repository at GitHub and the servers.

BooK suggested that whenever the Voyager team does a pull request on the original BooK/ACT repository, it will be checked out at the ACT test server to see how the changes will effect in real life situations. From there, it will go to the real ACT server. This cycle should be done as quick and frequent as possible after the pull-request. This way, the effort people take to work on the new repository will show up in production soon and it will not slow down the project.

One thing that BooK suggested will certainly help in moving forward more quickly: some discipline for all those that want to hack on the old code! Once the DBIx::Class schema is functional and working, there is still code in the ACT::Core that needs to be updated. All developers that want to add or edit features in the old version that rely on modules in the core, should first fix all the methods in core before adding on top off it... and test, test test. Once that stage has passed and committed (and merged) hacking on the features itself can start. This way, we make developers more responsible and involved in the whole project.

Later this year, BooK will organise a hackathon in Lyon. Salve J. Nilsen has already scheduled the hackathon in Oslo in May next year.

I am very grateful for all the support I get from people more intelligent than I am and specialised in important technologies that ACT will be build on.

Theo van Hoesel

Dave Mitchell has requested an extension of $20,000 for his Maintaining the Perl 5 Core grant. This will allow him to dedicate another 400 hours to this work. During this grant he sent weekly reports to the p5p mailing list as well as providing monthly summary reports that have been published on this blog, the most recent of which are linked below:

Report for Month 11
Report for Month 10
Report for Month 9

Before we make a decision on this extension we would like to have a period of community consultation that will last for one week. Please leave feedback in the comments or if you prefer send email with your comments to karen at perlfoundation.org.

If successful this extension will be funded from the Perl 5 Core Maintenance Fund.

I am pleased to announce that Tony Cook's Maintaining Perl 5 grant has been extended by another 400 hours.

I would like to thank everyone who responded to the call for comments and who provided feedback on this grant extension. I would also like to thank all those who continue to provide financial support to the Perl 5 Core Maintenance Fund.

Dave Mitchell writes:

The main things I worked on this month were:

  • making the op_private OP flags and data be auto-generated from a single consistent source. Its actually complete now, although wasn't at the end of last month, which is the period this report covers.
  • some more work on my OP_MULTIDEREF optimisation. The basic optimisation works, but it still needs work on being handled by B::* and by the use of uninitialised value" warning code, and tests need adding.
  • reviewing, discussing and applying Syber's method call optimisation work


0:33 [perl #122526] Potential vulnerabilities in PERL 5.21.2
1:42 fix op/stat.t smoke issue
34:26 make op_private flag definitions be auto-generated
12:42 process p5p mailbox
9:35 review "Speeding up perl's OOP" patch

72:51 Total (HH::MM)

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

46.0 weeks
634.1 total hours
13.8 average hours per week

There are 166 hours left on the grant

Grant recipients are required to publish a grant report every month. Here are what we got in September:

TPF also got a grant report on "Start ACT - Voyager" (proposal) so I expect it to be published shortly.

If you have any comments/suggestions for each grant, please get in touch with them.

We appreciate their hard work and we look forward to seeing the next update.

Booking.com Donates $60,000 to Perl 5 Development

No Comments

It is our pleasure to announce that Booking.com has donated the sum of $60,000 to the Perl Foundation to aid with further development of the Perl 5 programming language. This donation is a further contribution to the Core Maintenance Fund (P5CMF) that Booking.com has consistently supported over several years. This donation is a another step in the support that Booking.com gives to TPF and the broader Perl community.

Darren Huston, Chief Executive Officer of Booking.com, said "Perl is central to the success of Booking.com." By continuing with grants, supporting Perl community events and hackathons:

"we keep up our tradition of giving back to the community. As one of the world's largest employers of Perl developers, an investment for us into a healthy and dynamic Perl community is an investment in the future of our company and innovative web development in general."

Booking.com has also recently entered into an arrangement to continuously fund some of David Mitchell's work on the Perl 5 Core. This has a specific focus towards performance improvements and evolution of the language in line with the vision of the project leader. This future-focus secures Perl's relevance as an enterprise grade language for large web applications.

"It is always a tremendous pleasure to work with Booking.com," said Karen Pauley, President of the Perl Foundation.

"With Booking.com it goes far deeper than a desire to promote our language or support our community, it is a genuine feeling that they wish to belong which is why they involve themselves so much. They are a part of the Perl family."

Since the foundation of Booking.com, in 1996, the company has built its IT infrastructure on myriad of open source projects and products. These include Linux, MySQL, Nginx, Hadoop, and Redis to complement a strong association with the Perl programming language. Because of this, Booking.com is a keen supporter of the Perl and open source communities. As Steffen Mueller, Senior Manager for Technology and Infrastructure at Booking.com, would say:

"Developers at Booking.com are encouraged to release code to Open Source projects. Booking.com has a culture of contributing to the Open Source community. Our staff are regular attendees and speakers at Perl events, but also find themselves at non-Perl conferences. We are happy to hire talented developers from a variety of backgrounds and varying skill sets and re-train them in the Booking.com culture and Perl language."


About Booking.com
Booking.com B.V., part of the Priceline Group (Nasdaq: PCLN), owns and operates Booking.comâ„¢, the world leader in booking accommodation online. Each day, over 700,000 room nights are reserved on Booking.com. The Booking.com website and apps attract visitors from both the leisure and business sectors worldwide.

Established in 1996, Booking.com B.V. guarantees the best prices for every type of property, from small, family-run bed and breakfasts to executive apartments and five-star luxury suites. Self-catered properties are also specifically a focus of Villas.com, a sister site recently launched by Booking.com. Truly international, Booking.com is available in more than 40 languages, and offers over 537,980 properties in 207 countries.

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 October 2014 listed from newest to oldest.

September 2014 is the previous archive.

November 2014 is the next archive.

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


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