July 2011 Archives

GSoC: Midterm Evaluations

This year we have six students undertaking projects for the Google Summer of Code (GSoC), those of you who have been following The Perl Foundations 2011 students will know that two weeks ago there was an evaluation period known as the Midterm. This period is when the students, and their mentors, submit reports on the situation so far, this includes making an analysis of the work completed and the general abilities (including mentor support, student progress etc.) of those in the program.
Google uses these reports to assess if the student/mentor can continue to the end of the summer, it is a useful pause to take stock and to catch any failing students (which does happen sometimes through no specific fault).

I have the pleasure of reporting that our students have all passed their midterm evaluations, the submissions by the mentors were positive and showed how well they had advanced, there was also quite a deal of praise from the students about the mentors which is always appreciated.

A lot of the reason to why this year is going so well, it seems to me, is due to the overall organisation of the event and the dedication of the students and mentors. We have learned a lot over the past few years and we have now started to implement sensible techniques and guidelines and to write these down for future use. There are still areas we are testing and refining but the midterm point shows that we are doing well. A short list (not all inclusive) of some of the standards we have introduced to ensure we progress well are:

1. A repository for tracking documents and information;
2. A guide for students on what to expect from their mentors and for mentors on how to work with their students;
3. Each student has a back up mentor (we assign 2 mentors) so that we can cover any gaps in attention and also so that the student has a route to discuss any issues with a secondary person;
4. A channel in which all the mentors and students can discuss;
5. Weekly reports from the students so that their progress can be cleanly monitored.

I will report again as we come close to the end of the GSoC period and of course will keep you informed of the final projects. There has already been some community buzz around this years projects and we are all positive that the final pieces will reflect the great effort the students (and mentors) have made.

On a final note I have to once again point out that a great deal of the organisational choices and direction are down to one man, rafl (Florian Ragwitz) who has made a great deal of effort in bringing this year's undertakings into a formal system that can be used in the future for continued success.

Dave Mitchell writes:

As per my grant conditions, here is a report for the June period.

Bit of a sparse month. Fixed or otherwise closed a few security-related tickets and a few other misc bits and pieces, but spent quite a bit of time on perl-related but not TPF-grant-related stuff: reducing random smoke test failures and refactoring the numeric ops.

Over the last month I have averaged 4 hours per week.

As of 2011/06/30: since the beginning of the grant:

68.6 weeks
772.8 total hours
11.3 average hours per week

There are 127 hours left on the grant.

Report for period 2011/06/01 to 2011/06/30 inclusive


Effort (HH::MM):

1:10 diagnosing bugs
16:30 fixing bugs
0:00 reviewing other people's bug fixes
0:00 reviewing ticket histories
0:45 review the ticket queue (triage)
18:25 Total

Numbers of tickets closed:

4 tickets closed that have been worked on
1 tickets closed related to bugs that have been fixed
5 tickets closed that were reviewed but not worked on (triage)
10 Total

Short Detail

3:30 [perl #8611] Something very wrong with gotoLABEL
5:15 [perl #58530] Bus error with constant + overload + stash manipulation + bless ]
1:40 [perl #64804] tainting breakage with index() of a constant
1:10 [perl #72526] DATA conflicts with Proc::Daemon. A "half closed" filehandle
0:00 [perl #82616] security Issues with user-defined \p{} properties
3:50 [perl #90006] 5.14.0-RC2 op/threads.t failures
2:15 [perl #92828] blead hangs on FreeBSD during testing
0:45 [TRIAGE]

cPanel Sponsor P5CMF

cPanel.pngIt is my pleasure to announce that the Perl 5 Core Maintenance Fund (Perl 5 CMF) has attracted sponsorship from cPanel. cPanel approached Karen Pauley, president of The Perl Foundation, during the recent YAPC::NA conference in Asheville and announced their intent to sponsor this fund. Karen was both pleased and delighted at the generosity of cPanel who have decided to sponsor $10,000.

cPanel has been developed in Perl and they have been sponsoring Perl events for many years, cPanel have been major contributors towards North American YAPCs as well as workshops. This generous contribution towards the Perl 5 Core Maintenance Fund is just another example of their continued investment in the Perl community and the Perl language.

On hearing the news of this generous contribution Nicholas Clark, who will be one of the recipients of the initial funding drive, stated, "donations are wonderful news, and a clear vote of confidence in the ongoing relevance of Perl 5 in the commercial environment. It's great to see this encouragement for the less than sexy work that provides the firm foundations to the more visible and fun aspects of Perl's renaissance."

cPanel is a leading Web Hosting Control Panel Software provider supplying hosting automation tools to numerous data centers and customers all around the world. cPanel offers web hosting software that automates the intricate workings of web hosting servers. cPanel products are used on tens of thousands of servers worldwide to equip server administrators with the tools they need to provide top notch hosting to their customers. Since our beginnings, in 1997, cPanel has been developed in Perl and has made an ongoing commitment of the Perl community.

Booking.com Sponsor P5CMF

booking.pngIt is my pleasure to announce that Booking.com approached Karen Pauley, president of The Perl Foundation, during the recent YAPC::NA conference in Asheville and announced their intent to sponsor the Core Maintenance Fund. Karen was both pleased and delighted at the generosity of Booking.com who have decided to sponsor $10,000.

Booking.com have sponsored Perl events and initiatives for many years and have also been host to Perl events at their offices in Amsterdam. They employ a large and committed team of Perl developers and use Perl for a vast number of tasks in their business. Booking.com have spoken favourably about how Perl has given them the "flexibility and efficiency that has enabled them to grow quickly".

"The Perl Foundation is delighted to announce this generous gift to the Perl 5 Maintenance Fund from Booking.com, a consistent supporter of Perl." said Karen Pauley, president of TPF, "This donation comes at a key time [for the fund] and will be exceptionally helpful to ensure the ongoing maintenance of Perl 5. This is yet another example of the commitment Booking.com has to Perl and a demonstration of their generosity to the Perl Community".

Booking.com is one of the world's leading online hotel room reservation services and part of the priceline.com group. Booking.com was founded in 1996 and is based in Amsterdam, the Netherlands.

Booking.com attracts millions of unique visitors each month who can choose from over one hundred and thirty-five thousand participating hotels based in over one hundred countries worldwide. Booking.com reserves greater than two hundred thousand room nights each day in over forty languages. They have over forty offices worldwide serving twenty-four hours a day to their customers.

I am pleased to announce that Patrick Michaud's Hague Grant application for a travel grant to attend YAPC::EU has been accepted.

I would like to thank everyone who provided feedback on this proposal.

Jonathan Leto wrote:

Really TLDR: The Parrot has landed.

It brings me great joy to announce that I have completed all milestones for my TPF grant regarding the Parrot Embed/Extend subsystems! Not only that, but all of my grant work was included in the most recent release of Parrot, 3.5.0 "Menelaus".

The actual TLDR of this update is "many tests were written, code coverage is above 95% for all systems described in the grant, docs were improved, many Parrot Trac tickets were created and many a blarg toast was cooked.

For those of you that have a thirst for knowledge unquenched (I know who you are), you are welcome to pondiferously peruse the Impending Technical Details.

The Deets

The last portion of this grant definitely challenged me to think in new ways about testing and I am now only beginning to reap the benefits. I was charged with adding code coverage a few rarely-if-ever-used C functions in Parrot's embed/extend subsystem, which allows you embed Parrot into other applications and other funky stuff.

Whiteknight++ greatly helped me write a test for Parrot_sub_new_from_c_func which takes a C function and a string that describes the function signature of the C function and returns a NCI PMC, which can be invoked.

I also learned many lessons about code coverage during the final stage of this grant, even though I thought I was at such a level of expertness that it would be hard to learn drastically new and important perspectives on testing. This pattern of thinking is always wrong.

Lesson 1

Sometimes you are the underdog and you have to interpret the rules in a new way in order to have a chance at winning. You need to be Ender Wiggins from Ender's Game: continually inventing new tactics to keep a winning edge over the competition.

I noticed that a large portion (about 80%) of the uncovered code in one file was a macro that was copy-and-pasted into two places. I refactored this into a single macro called POP_CONTEXT, which reduced the total number of lines in the file by roughly 10, while simultaneously decreased the number of uncovered lines in the file by ~20 lines, which had a combined effect of pushing the code coverage over the necessary 95% mark.

This change definitely increases the maintainability and modularity of the code, but it feels a bit like gaming the system. Nonetheless, it saved the day.

Lesson 2

The simplest useful test that you are avoiding is the most valuable next test to write, because it has the best ROI (Return on Investment, where investment is the time it takes to write the test, and the return is having an automated way of verifying that the feature works.

Lesson 3

Software developers are very optimistic about time estimates. We forget about all the possible things that could go wrong and often quote estimates on something approaching "base case scenario". As a rule of thumb, I think all software developers should think long and hard about a time estimate for a given project, write down the estimate, then multiply that time estimate by pi for a REAL estimate.

I theorize that pi is the factor of time it takes to debug and write tests for behavior of hard-to-recreate edge cases.

I originally thought my grant would take about 3 months, but it ended up taking about 9 or ten. QED.

Finally, I would like to thank my grant manager Makoto Nozaki for providing lots of feedback, support and encouragement, as well as everyone else at the The Perl Foundation for funding this grant.

Original article at dukeleto.pl . I (Makoto) am also pleased to announce that the TPF Grant Committee agreed with the successful completion of this grant.

We have received a request from Patrick Michaud asking for a travel grant to enable his attendance at YAPC::EU which is taking place in Riga during August. As well as attending and speaking at the conference this would give Patrick the opportunity to participate in an all-day Perl 6 hackathon scheduled for the Saturday before the conference.

Patrick is the lead architect, developer, and project manager for what is now Rakudo Perl (Perl 6 on Parrot).

Before a decision is made on this proposal we would like to have a period of community consultation. Please leave feedback in the comments or if you prefer send email with your comments to karen at perlfoundation.org.

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 July 2011 listed from newest to oldest.

June 2011 is the previous archive.

August 2011 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