The Year in Perl 2013
Welcome to 2014, Perl mongers, fans, hackers, and dabblers. It's been a big year in our quirky little language. The community has grown. The CPAN has expanded. Bugs have been squashed, conferences attended, and projects released. Here's a cross-section of what happened that you may have missed.
The 2013 Perl Oasis conference took place in Orlando, Florida, US.
At the Perl Oasis conference, Stevan Little gave a talk entitled Perl is not Dead, it is a Dead End about forking Perl to experiment with new design and implementation ideas. The talk included an announcement of Moe, a reimplementation of parts of Perl. By September, Moe would go dormant.
Nick Perez wrote an article about CloudPAN, a way to use modules locally without installing them.
The Perl 5 Porters announced core modules scheduled for removal in Perl 5.20.
VM Brasseur tackled the problem of recruiting new programmers to Perl in Improving Perl's New Programmer Outreach.
Ovid announced the release of Test::Class::Moose to the CPAN. Since then, he's expanded the combination of Test::Class with Moosey goodness to create the ultimate testing tool. See the Test::Class::Moose introduction video.
David Golden announced Path::Tiny, the successor to Path::Class. If you're still using File::Spec, try Path::Tiny.
Vyacheslav Matjukhin announced Play Perl. This is a public system for announcing and accepting quests to accomplish Perl-related tasks. Play Perl has become Questhub, but it is still powered by Perl. Ruslan Zakirov quickly added quests for Perl core development.
Sawyer X and the Dancer team released Dancer2, the new version of the powerful Dancer micro web framework. Dancer 1 is still maintained.
Kartik Thakore and the Perl SDL team announced bindings to SDL2, the update to the cross-platform graphic, sound, and input libraries.
Perl pumpking RJBS converted Email::Sender to Moo and saw tremendous test suite time savings. (See also the deprecation of
Peter Rabbitson announced a faster DBIx::Class, with many impressive speed improvements. The 0.08250 release in late April would prove to be the fastest stable release yet. (See John Napiorkowski's post on the 20% speed improvements in the new DBIC release.)
PAUSE administrator and Perl guru brian d foy reminded CPAN authors to set their modules free when the time has come to hand over maintenance.
Paul Fenwick wowed the crowd, as always, with his talk The Perl Renaissance.
The Israeli Perl Workshop took place in Tel Aviv, Israel.
A flaw in Perl's rehashing mechanism (resizing hash tables when adding new keys) was corrected in the five most recent stable releases of Perl. Perl 5.18 would make hash key order slightly more random, exposing long-standing bugs in several programs. 5.18 also introduced lexical subroutines, which will be very useful.
A project called PrePA (footnote: /a) emerged. PrePAN is a place where you can discuss modules before you decide to upload them to the CPAN. In March 2013, PrePAN joined the CPAN-API organization. (You may know CPAN-API better as MetaCPA (footnote: /a).
Michael Schwern announced a quick start guide for perl5i. perl5i is an experimental distribution of Perl which includes a lot of syntax-warping modules that may or may not influence core development in the future.
brian d foy experimented with a small community-funded CPAN project.
Neil Bowers began experimenting with The Perl Hub, a sort of dashboard to the Perl community. It includes links to blog posts, CPAN reviews, talks, events, and quests.
Giel Goudsmit wrote a decade retrospective of Booking.com, the Perl powerhouse in the Netherlands.
Perhaps drawing from Play Perl (or perhaps from his relentless research into psychology, motivation, and fun), Paul Fenwick announced a CLI tool for HabitRPG, a todo app in a fantasy setting.
Pragmatic Perl, a Russian web newsletter, published its first issue. The newsletter interviews Perl developers and the English translations of its interviews are often full of insights.
The Perl Tricks web site launched to promote Perl with short articles.
The German Perl Workshop took place in Berlin, Germany.
The Swiss Perl Workshop took place in Bern, Switzerland.
Perl.org's Subversion hosting service ended. svn.perl.org shutdown announced on log.per.org. Github, Bitbucket, and other free DVCS hosting are great alternatives.
Best Practical updated rt.cpan.org, the bug tracker for CPAN and the Perl core, to RT 4. The rt.cpan.org 4 upgrade announcement has more details about what this means for CPAN authors and Perl hackers. In September, Best Practical would announce the release of RT 4.2.0.
Tim Bunce announced the release of Devel::NYTProf 5, which includes a flame graph in the profile. This is a great visualization of where your program spends its time.
Andy Lester and the ack developers announced the release of ack 2.0. ack's selling point is "better than grep", and it certainly is.
The 2013 Perl QA hackathon took place. David Golden summarized the Lancaster Consensus, the latest guideline for toolchain support when managing CPAN distributions.
Fred Moyer announced the release of mod_perl 2.08.
The Open Source Developers Conference Taiwan took place in Taipei, Taiwan.
Daisuke Maki published results of the 2013 Perl 5 Census Japan. Perl in Japan looks very different from Perl in the US or EU.
Gabor Szabo linked to Pinto tutorials in multiple languages.
The Dutch Perl Workshop took place in Arnhem, The Netherlands.
The DC Baltimore Perl Workshop took place in Baltimore, Maryland, USA.
In sad news, CPAN developer AMORETTE—Hojung Yoon—passed away on May 8, 2013. South Korea and Perl lost a valued member of the community. C.H. Kang posted a small tribute to Hojung Yoon on Twitter.
The Perl 5 Porters announced the release of Perl 5.18. This yearly release added a couple of nice new features, fixed a slew of bugs, updated some core modules, and updated plans to continue Perl's evolution to 5.20 and beyond. See the Perl 5.18 delta documentation for more details. CPAN developers had some work to do; see David Oswald's A call to action for CPAN authors about finding and fixing hash order bugs in library code as well as Mark Fowler's explanation of hash key ordering changes.
The Mojolicious team started beating the drum about the upcoming Mojolicious 4.0 release. Joel Berger introduced some new features of Mojolicious 4.0. Mojolicious creator Sebastian Riedel provided the Mojolicious 4.0 release announcement.
The Bugzilla developers announced the releases of Bugzilla 4.4 and 4.2.6. The code in this long-lived project keeps getting better and better as development continues.
Joel Berger also finished a TPF grant. His report at the completion of the Alien::Base grant gives a retrospective of the project.
Timm Murray announced Perl modules for controlling unmanned drones.
VM Brasseur and Jeffrey Thalhammer (the man who was approximately everywhere in Perl in 2013) announced the Perl Companies Project, a single place to list all of the companies using Perl.
Testing guru and frustrated economist Ovid explained the lack of good developers and the surprising lack of rise in programmer wages. Programmers need to learn more practical math.
The members of the Parrot Foundation voted to dissolve the foundation and let TPF take over. This puts the copyrights, governance, and other artifacts of the Parrot VM and its projects under the supervision of the Perl Foundation.
Stevan Little announced the resurrection of his efforts to add a proper MOP to Perl. The code progressed throughout the year, as did Peter Martini's patch for proper function parameters in Perl. While neither one is yet suitable for either inclusion in the core or general deployment to production, their progress is heartening. In particular, Damien Krotkine's exploration of p5-mop as a user is a great example of what will soon be possible in Perl. (Stevan Little's porting a Moose module to p5-mop is also interesting, if a little more esoteric.)
The French Perl Workshop 2013 took place in Nancy, France.
Aristotle Pagaltzis reflected on a decade of Module::Build in the Perl core. Module::Build will likely leave the core by 5.22.
Fred Moyer announced the imminent release of SOAP::Lite 1.0.
Chad Granum released Fennec v2, an advanced testing system for Perl. Perl Maven interviewed Granum about Fennec. Between his work and Ovid's on Moose-based testing, the time may be ripe for a new testing book.
Jessy Shy published an announcement about Classsmith.com, an app for home schoolers.
The music fan and hacker known as Barbie addressed frequently asked questions about CPANTS and CPAN Testers.
Brian Medley announced CloseBargains.com, a startup site written in Perl.
The patch -p0 hackathon took place in Paris, France.
Perl 5.18.1 was released.
Yuki Kimoto published the release announcement of GitPrep 1.2, a free software replacement for Github.
The Perl Foundation accepted Nicholas Clark's grant to improve the Perl core.
YAPC::EU 2013 took place in Kiev, Ukraine. All of the slides of YAPC::EU 2013 are available online.
The Beijing Perl Workshop 2013 took place in Beijing, China.
Toby Inkster announced the inagural monthly Planet Moose roundup of the news in the Moose/Mouse/Moo/Mo/M/whatever worlds.
Dave Cross released a new version of his Perl-specific search engine.
Tom Christiansen and brian d foy spent time working on Perl::Critic policies based on recommendations from the 4th edition of Programming Perl.
Shawn Moore mentored the incredible Upasana Shukla in removing string exceptions from Moose. This is a great achievement. Shawn's retrospective of the structured exceptions project is also worth reading.
The DadaMail Project (a modern mailing list manager written in Perl and released under the GNU GPL) released DadaMail 6.7.0.
The TWiki project announced the TWiki 6.0.0 release. This is a venerable Perl project.
The Open Source Development Conference France 2013 took place in Paris, France.
The Open Source Developers Conference New Zealand took place in Auckland, New Zealand.
The Pittsburgh Perl Workshop 2013 took place in Pittsburgh, Pennsylvania, USA.
The Perl Community Workshop 2013 took place in Frankfurt, Germany.
The Portugese Perl Workshop 2013 took place in Lisbon, Portugal.
John Napiorkowski announced the Catalyst 5.90050 stable release.
The team behind Padre, a Perl IDE, announced the release of Padre 1.0.
Foswiki announced the release of Foswiki 1.1.9
Tudor Constantin announced Built in Perl, a web site listing companies that rely on Perl. Add your own company!
Peteris Krumins announced that No Starch Press has published Perl One-Liners.
Perl TV posted Larry Wall's 5 Programming Languages Everyone Should Know video.
Core hacker Yves Orton posted a technical explanation of the hash security changes in Perl.
YAPC::Brazil 2013 took place in Curitiba, Brazil.
The Austrian Perl Workshop 2013 took place in Salzburg, Austria.
The Nordic Perl Workshop 2013 took place in Copenhagen, Denmark.
The London Perl Workshop 2013 took place in London, UK.
December is Advent season in the Perl world. That means lots of Advent calendars, with a post a day for 24 (or 25) days. Some of these calendars include the Perl Advent calendar, the Catalyst Advent calendar, and (new this year) the Futures Advent calendar. Even though Advent season is over, that's still enough articles to fill the rest of the month with good reading.
The Dancer developers sadly couldn't get their Advent calendar going (for happy, family reasons, so they get a pass this year), but they did announce the Dancer 2 0.11 release.
brian d foy announced the 2013 White Camel winners. Congratulations to Thaigo Rondon, Fred Moyer, and Dijkmat's Wendy and Liz. All of these winners have deserved this award for many years.
The Perl Foundation accepted Dave Mitchell's grant to maintain the Perl core.
Steffen Mueller announced the release of Sereal v2. Sereal is a serialization mechanism for data that's much faster than Data::Dumper and Storable, not to mention much safer.
Neil Bowers compiled The CPAN Report 2013.
patch -p1 took place in Paris, France.
The Saint Perl 2013 workshop took place in Saint Petersburg, Russia.
The Perl NOC (Ask and Robert) announced year end maintenance for perl.org services. Usually you don't notice when they do their (unsung and impressive) work.
That's it for a great year in Perl!