Perl QA hackathon 2013 wrapup

Reading time: 5 minutes

I’ve been back from the Perl QA 2013 hackathon for a few days and I’m probably overdue to write about the trip. I’m intimidated by last years writeup — I must have been feeling a lot peppier on the plane a year ago.

I’ve also been busying writing up the notes from the “Lancaster Consensus” discussions, so I’ll keep this update on the shorter side.

Wednesday: Day -1 🔗︎

This year I flew in a day early to try to get over the worst of the jet lag before the hackathon started. In my stupor, I converted File::Temp from Module::Build to Dist::Zilla to avoid a circular dependency and make my life a bit easier. That required a bit of yak shaving: a pull request for Dist::Zilla::Plugin::DualLife.

That evening, Ian and Claire took me out for awesome tapas and then put me up in their guest room. Thank you, guys!

Thursday: Day 0 🔗︎

I started the day with a lovely English breakfast then meandered back to Chez Shadowcat for a day alternating between hacking and crushing exhaustion. I shipped File::Temp, reviewed the PAUSE case-insensitivity fix that Ricardo Signes and I worked on at the NY.pm hackathon in March. I also fixed a Path::Tiny bug and discovered a Perl 5.16 regression.

I met several arriving hackers for lunch, caught up with friends, got myself checked into the hotel and then we all met up for great Indian dinner.

Friday: Day 1 🔗︎

I sent a pull request on CPAN.pm to make www.cpan.org the default mirror, making CPAN.pm autoconfiguration practically instant. I talked to Matthew Horsfall about his BackPAN indexing project. I helped Ricardo nail down a loose-end in the case-sensitivity PAUSE fix.

Then it was time for Day 1 of the Lancaster Consensus discussions, covering toolchain issues. We had a group of about 20 talking intensely for about 2 hours. Great progress, but I was pretty wiped afterwards.

I finished up the day by rebasing my massive CPAN.pm refactoring work from Paris up to the current master. Ouch. After a year of atrophy, that meant a lot of painful merge conflict resolution.

Saturday: Day 2 🔗︎

With the CPAN.pm refactoring done, I also revived my Paris work on support for “recommends” and “suggests” prerequisites. Then I wrapped it all up into one massive pull request for Andreas.

Next, I led Day 2 of the Lancaster Consensus discussions covering PAUSE and META issues. Again, we had a crowd of about 20 people and talked for a couple hours.

Afterwards, through my haze of exhaustion, I started reviewing some abandoned work I had for improving how CPAN.pm does index lookups. I also caucused with Andreas and Ricardo to discuss ideas for better coordinating between the perl core, the CPAN.pm distribution, and the App::Cpan distribution.

I grabbed Schwern to discuss how Path::Tiny should implement move/copy features. And I debugged a weird META validation/conversion issue that Tux had with Spreadsheet::Read.

Sunday: Day 3 🔗︎

In the morning, I wrote up the App::Cpan discussions in an email for brian d foy and dug into some PAUSE issues. The latter resulted in a PAUSE pull request to close a security hole related to the perl distribution.

I then led Day 3 of the Lancaster discussion, covering testing and some toolchain issues held over from Day 1. Again, we went about two hours before wrapping up.

I then started work designing a new common CPAN index lookup module. That led me to send another PAUSE pull request to get 01mailrc sorted. I patched CPAN::Meta::Spec to clarify the ‘provides’ key per Lancaster Consensus discussions.

I also spend a bunch of time on Sunday at the venue and at dinner getting sucked into conversations with Liz about how to use PAUSE/CPAN for Perl 6 and about the semantics of Perl 6 module loading (which is lexical and thus supposed to allow loading different author/versions of the same module to be loaded).

Post-hackathon, but related 🔗︎

I wrote a draft patch for the Perl regression bug I found and sent it to perlbug. And I wrote a PAUSE patch to encourage new authors to use PrePAN, per the Lancaster Consensus discussions.

I’ve also been writing up the Lancaster Consensus results and hope to post that soon.

Acknowledgments 🔗︎

This was my fourth hackathon and I was thrilled to have another chance to attend.

I want to thank the organizers, Mark, Ian and Claire, for putting together a great conference – we were taken care of very well and they provided everything we needed to allow for a hugely productive weekend.

I want to specially thank Wendy van Dijk for her tireless work scribing (and typing up) the notes from over 6 hours of Lancaster Consensus discussions. Awesome!

I would also like thank the hackathon sponsors whose generosity made the hackathon possible and enabled me to attend. (If you’d like to donate, it’s not too late and will help support next year’s QA hackathon.)

These companies and organizations support Perl. Please support them: cPanel, Dijkmat, Dyn, Eligo, Evozon, $foo, Shadowcat Systems Limited, Enlightened Perl Organisation and Mongueurs de Perl

Finally, thank you to all my fellow attendees! I hope to see you again at the next one!

•      •      •

If you enjoyed this or have feedback, please let me know by or