Recently in Grants Category

The Grants Committee has received one grant proposal for the November round. Before the Committee members vote, we would like to solicit feedback from the Perl community on the proposal.

Review the proposal below and please comment there. The Committee members will start the voting process on November 26th and the conclusion will be announced by November 30th.

Note that this proposal was reviewed in the September round (previous proposal and comments). While the proposal got more yes voters than nos, the committee decided not to fund it for the September round and review this again (details). Ingy and David revised the proposal and we have posted the updated version.

We have received the following grant application "IO::All Redux". Please leave feedback in the comments field by November 25th, 2014.

IO::All Redux

  • Name
    • Ingy döt Net
    • David Oswald
  • Amount Requested

    USD $4,000

Synopsis

Rewrite IO::All to match the needs of 10 years experience.

Benefits to the Perl Community

IO::All is a Perl module that attempts to make all Input/Output operations in Perl, as simple, normal, and uniform as possible. IO::All has been in existence since 2004. It is popular, useful and somewhat extensible, but has a number of inconsistencies, flaws and misgivings.

The proposal is to refactor andor rewrite the IO::All code to become the perfect way to encode almost all of Perl IO needs and file system needs. In other words:

  • All things are done safely
  • Unicode issues are all handled correctly
  • Options have the proper scope (lexicalpackageobject)
  • Can be used safely in production
  • Consistent method names (match prior art when possible)
  • Stays simple for 1-liners (small needs)
  • Internals are all plugin based rather than semi-hardcoded
  • All operations are checked for errors
  • Defaults are sane
  • Mo(o(se)) compatible OO
  • Weirder stuff like operator overloads will be off by default

IO::All has a community of maintainers on irc.perl.org/#io-all. These ideas are the result of working with them and talking about a rewrite for many years.

Deliverables

Using the Alt module strategy, we deliver an Alt-IO-All-Redux dist that installs a new IO::All. This is tested in beta until deemed safe to release properly as the new IO-All dist.

Current IO::All plugins are revised to the new strategy.

Project Details

See:

The style of the Inline Grant will be continued:

  • Regular Blogging/Tweeting
  • Public Pair Programming

Inch-stones

  • Create Alt-IO-All-Redux dist so that new code can be used and tested by the community immediately
  • Write tests for new behaviors
  • Refactor the code to match the new design
  • Port current IO::All extension modules to new design
  • Get people on #io-all IRC channel and beyond to test the rewrite
  • Release as IO-All when deemed ready

Project Schedule

This project will take 3 months and can be started immediately upon acceptance.

Completeness Criteria

Alt-IO-All-Redux passes all tests, is vetted by the community and is released to CPAN as the new IO-All dist.

Bio

Ingy döt Net wrote IO::All in 2004. Of his many CPAN modules, it is probably one of the 3 most popular.

David Oswald has been a Perl user for over a decade, is an author of several CPAN modules, and maintainer of more. David also runs Salt Lake Perl Mongers.

Ingy and David work well together and have decided to collaborate on a number of projects that will benefit Perl and Software Development.

Grant recipients are required to publish a grant report every month. We got the following updates in October:

We appreciate those who made great progress and kept the community updated during the autumn conference season.

Just a reminder, CFP for the November round will be closed tomorrow.

Dave Mitchell writes:

The main things I worked on this month were:

  • set up the beginnings of a basic performance/optimisation testing infrastructure under t/perf/
  • investigated the performance of perl's string allocation and growing implementation, and came up with some suggested improvements (which I haven't yet done).
  • fixed some issues with $#shared with threads::shared arrays

5:26 [perl #122950] Off-by-one when truncating shared array
0:20 fix compiler warnings
2:48 investigate floating-point performance regression
6:32 investigate sv_grow() algorithm
15:07 process p5p mailbox
0:26 review "Speeding up perl's OOP" patch
3:58 set up t/perf/

34:37 Total (HH::MM)

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

54.7 weeks
747.8 total hours
13.7 average hours per week

There are 452 hours left on the grant

This is a bi-monthly reminder.

The Grants Committee is accepting grant proposals all the time. We evaluate them every two months and another evaluation period has come.

If you have an idea for doing some Perl work that will benefit the Perl community, consider sending a grant application. The application deadline for this round is 23:59 November 14th UTC. We will publish the received applications, get community feedback and conclude the acceptance by November 30th.

The format will be the same as the September round (Proposals, Results).

To apply, please read How to Write a Proposal. Rules of Operation will also help you understand how the grant process works.

We will confirm the receipt of application within 24 hours.

If you have further questions, please comment here. If your comment does not show up here within 24 hours, the chances are that the spam filter did something bad. Get in touch with me at tpf-grants-secretary at perl-foundation.org.

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

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

About TPF

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

Recent Comments

  • Neil Bowers: I'm finding it hard to evaluate this, so I'll just read more
  • rjbs.manxome.org: Dave's work has been quite valuable, and continues to be read more
  • ether (Karen Etheridge): Dave's work has been great and I think we should read more
  • Smylers: Please grant this. What Dave is doing for Perl 5 is read more
  • mirod: +1, this is important work. And thanks Dave. read more
  • William N. Braswell, Jr.: Congrats ingy & davido! I put quite a bit of read more
  • Leon Timmermans: This sounds sensible. In fact I'd argue Inline isn't really read more
  • Karen Pauley: Hi Anju, details of the application process can be found read more
  • Olivier Mengué (DOLMEN): As this is about another markup language, I would see read more
  • Olivier Mengué (DOLMEN): One point of ::Tiny is that implementation must be tiny, read more

About this Archive

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

Conferences is the previous category.

GSoC is the next category.

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

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