Monday, 14 January 2013

Perl in 2012

I know, I know, I'm two weeks late. Sorry! I scheduled this to go live on January 1st but obviously something went wrong =X

Happy New Year, Perl folks!

2013 is already here, and if it's even half as good as 2012, we're in for quite a treat. So, without further ado, here are the highlights of the Perl world in 2012!

Perl Turns 25!

One score and five years ago Larry Wall brought forth on this world a new programming language, conceived in liberty and dedicated to the proposition that there is more than one way to do it.

To celebrate this amazing ride, Mark Keating wrote an incredible retrospective of the Perl community and its history. It's long - well, it's been 25 years! - but it's definitely worth checking out. This is, in fact, one of the reasons I like Perl so much: it's not just a (pretty damn good) tool to get the job done. It's 25 years of culture; of progress, adaptation, community, friendship, of good days and bad days, exhilaration, frustration, love, hate; of being a part of something that has a life of its own, something that's not blunt or dull, and that attracts brilliant people willing to share the knowledge and make the most amazing things.

The Map of CPAN

Speaking of "living and breathing", have you seen this movie by Grant McLean?!

It comes from, a very cool website made to let you explore all the Perl modules uploaded to CPAN. It also offers some nifty sightseeing tours where you'll see recent uploads, profile updates, leaderboards and loads more, all thanks to the awesome and ever-increasing MetaCPAN API.

A Brand New Perl Data Language

Just because most of the world is now focused on web technologies, it doesn't mean that several other niches have ceased to exist. Quite the contrary, actually. 2012 saw a lot of new developments in science, with NASA's Curiosity rover on Mars, Voyager 1 leaving the Solar System, and CERN observing the Higgs boson.

Did you know NASA uses Perl as one of its languages? Some of it is even open source! CERN and many other labs also rely on Perl for processing information and making separate systems talk to each other. But I digress. My point is, if you're doing science with Perl you're probably doing some heavy math. And if you're doing heavy math with Perl you're probably using - or at least have heard of - the Perl Data Language suite.

For those of you that don't know, PDL gives standard perl the ability to compactly store and speedily manipulate the large N-dimensional data sets that are the bread and butter of scientific computing. In 2012, we saw the release of PDL 2.4.10, a long-awaited version that includes support for automatic multi-thread parallelisation, data structures of over 2GB and POSIX threads. If you want to check it out, they also released the first draft of the PDL Book in pdf, which does a great job at complementing the already thorough PDL documentation.

New Milestones for Perl Quality Assurance

This was a great year for the CPAN Testers. Not only the QA Hackathon yielded some awesome results, but the amount of received tests reached the 20 million mark! In fact, the year closed with over 27 million reports. Keep them coming!

Another important number was reached by the CPAN::Changes Kwalitee Service, created by Brian Cassidy to promote a standard format for Perl module's changelog to enable automated parsing and analysis. In September, the service reached 10,000 readable Changes files on CPAN. That's almost 40% of CPAN! It's still a long way to go but this steady increase in compliance goes to show how important the initiative is.

Startups and Perl

We all know the story of how Yahoo! was created with Perl, and how high-traffic websites such as Amazon, Craiglist, IMDb and even the BBC use Perl extensively as part of their core business in mission critical applications and tasks. But it seems these days people are focused on web startups and how to be the next Silicon Valley sweetheart, so it's worth checking out whether modern Perl is still up for the task in a world with so much competition and so many different dynamic languages to chose from in your business.

I could mention the tons of modules on CPAN that do all the heavy lifting for you and let you worry just about the stuff that really matters to your business, delivering your products on time and under budget. I could mention all the conferences and support - free or paid - that you can get (in fact I am, just not now). I could even mention how businesses like built their multi-billion empires taking advantage exactly of all these features, using Perl as their main language. But this is a 2012 roundup so, instead, I'm going to share some 2012 enterprise Perl news:

Do you know Moonfruit, the website and shop builder created by couple Joe and Wendy White? They've been around for some time, but only lately they've made a real push in innovation, creating a brand new site and interface using the Perl Dancer framework, and focusing on some dazzling pre-built designs for their users to chose from. The reward? In May 2012, Moonfruit was acquired by Yell for $29 million USD!

On the other side of the Atlantic, the startup search engine DuckDuckGo hit yet another milestone in 2012, with over one million direct search queries per day. In a web ruled by search monsters such as Google, Bing, Yahoo!, Ask and AOL, that's pretty impressive, and represents a growth of over 500% for them!

Speaking of impressive, the Perl-based global image marketplace Shutterstock surpassed 20 million images in its collection and completed its initial public offering on the New York Stock Exchange in October. Shutterstock's NYC headquarters revealed the financial results of the third quarter, with a revenue of $42.3 million USD, a 36% increase from last year! And you can see why Shutterstock chose Perl directly from the horse's mouth =)

Finally, you might have heard of JT Smith's startup, The Game Crafter. Since 2009, this Perl business created an industry as it became the world’s first web-to-print game publishing company, offering a print on demand game publishing service. In 2012, the company grew by 318%, selling nearly 20,000 board games and almost 400,000 loose game pieces!

So, what are you waiting for? Who knows, maybe next year I'll be talking about YOUR Perl-based startup company ;-)

Conferences & Workshops

As previous years, 2012 was filled with Perl events!

Starting off the season in January was the Orlando Perl Workshop (OPW), also known as The Perl Oasis. This conference holds a very special place in my heart for being my first ever international Perl event. I definitely recommend you check it out!

February saw another edition of the Israel Perl Workshop, with some very interesting talks. Shlomi Fish was kind enough to write a very nice review of the event for those of us that couldn't attend.

In March we had the ever-great German Perl Workshop, while Paris hosted the Perl Quality Assurance Hackathon. I had the privilege of participating in the QA Hackathon, helping out in what I think are some of the most important bits of the Perl ecosystem. Hopefully this year I'll be able to attend as well, finish what I started and try and help as much as I can.

April was the DC-Baltimore Perl Workshop, where you could chose between great talks, beginner training courses or a day-long Perl hackathon. Almost at the same time, in Europe, the Dutch Perl Workshop also held a very high quality, full day event.

May held a joint Perl Mova (Ukranian Perl Workshop) and YAPC::Russia in Kiev. This was special one for them because they had over 200 people registered, several guest speakers and attendees from over 13 countries. Even more so, Kiev was chosen to host YAPC::Europe in 2013! Congratulations!

In June the worldwide Perl community stood in awe as J.T. Smith presented us with one of the greatest YAPC::NA of all time! Beautifully organized by himself and the Mad Mongers, the conference served over 400 attendees from the entire World with an incredible infrastructure, a full week of modern Perl talks, training courses and hackathons (including a ginormous hardware hackathon courtesy of Robert Blackwell), plus the job fair, game night, bad movie night... Wow. Just... wow.

After the YAPC, many Perl developers traveled to DuckDuckGo's HQ in Philadelphia for the 2012 Quack and Hack event, where the company held Perl talks and hackathons for their public API.

Later that month we also had the French Perl Workshop, a 2-day conference that's attracting more and more people each year, proving once again that the French Perl community is one of the most actives in Europe. Allons-y!

As usual, July is OSCON time, and once again we had lots of great talks on the Perl track.

In August we had the always impressive, week-long YAPC::Europe, this time in Germany. Sadly I couldn't make it but I heard it was *HOT*, in both senses of the word ;-) Just before that, the brilliant duo Liz & Wendy organized the Perl Reunification Summit, in the city of Perl, where a lot of very important issues were discussed regarding the future of the Perl community as a whole. Finally, in late August, the Oslo Perl Mongers invited everyone to their Moving to Moose Hackathon, in Norway, where attendees got 4 full days of hacking, discussions and fun!

it's over eight hundred!!!!!!

September was the month of YAPC::Asia, the biggest Perl conference in the world, and in 2012 they broke their own record: over 800 people attending!

Once again, the incredible Daisuke Maki, his partner in crime Kushii-san and the entire staff of 43(!) volunteers pulled off an amazing conference. Maki-san, as usual, posted a very nice roundup of YAPC::Asia 2012 in his blog, so make sure to check it out!

Still in September, the traditional Portuguese Perl Workshop was held in Braga and included a Moose tutorial and several very interesting talks.

October was a month filled with Perl. We had the Italian Perl Workshop, the Nordic Perl Workshop, the Korean Perl Workshop, and YAPC::Brasil. So many conferences, so little time! I, of course, was in São Paulo for the YAPC::Brasil, and not only saw some great talks and participated on the OpenData hackathon, I also saw history being made: Florian Ragwitz released Perl 5.17.5 live on stage! This was not only the first ever live Perl release, but also the first release in South America! Many thanks to Florian and the entire Perl Core Team for letting this happen \o/

In November we had the Austrian Perl Workshop and the always amazing London Perl Workshop, UK's free and premier Perl event, holding over 200 people each year!

Finally, closing the calendar, DuckDuckGo's Quack and Hack Europe introduced several people to some modern Perl basics in beautiful Paris, while on December 22nd St. Petersburg held the Saint Perl conference with over 40 people.

In the Year of the Olympics, a new World Record

Back in January 2012 I made the terrible mistake of letting rafl know about my evil plan of getting the World Record for most YAPCs attended on a single year. I wanted to cover all the 5 current YAPCs - NA, Russia, EU, Asia and Brasil - but I had just switched jobs and was unable to do it this time.

He did.

rafl> really, there's no way I'm letting you win this whole most YAPCs a year thing ;)

So there you have it. Florian Ragwitz holds the World Record in most YAPCs attended in a single year. I love this crazy bastard, and I can attest that, as legend is told, he is pretty much everywhere :)

(ssshh! By the way, if you want to steal his record (I'm sure gonna try!), I heard there's a new YAPC coming up from down under!)

White Camel Awards

The White Camel Awards of 2012 went to Renée Bäcker, Jim Keenan and... myself! Wow, I don't even know what to say except a very big "Thank You" to everyone. Not just a huge honor to me, I feel this award was particularly important as it was the very first White Camel given to someone from Latin America, and hopefully it will help reduce even more the barriers between Perl communities worldwide, showing people that there are some nice things going on on this side of the equator too :D

I would also like to take this opportunity to congratulate both Jim and Renée for the astounding work they've been doing over the years. Very well deserved recognition, guys!

Free/Low Cost Perl Training

This year Dave Cross started his Perl School project, bringing low cost and high quality public Perl training into the UK. In 2012 he managed to give three training sessions, two "Modern Perl for Non-Perl Programmers" and one "Object Oriented Programming With Perl and Moose". Cool!

The Miyagi University in Japan also started a series of free special courses that featured several outstanding Perl Mongers like Goto Eikichi (egopro), Daisuke Murase (typester), Yusuke Wada (yusukebe) and Dan Kogai (dankogai). I think they ran into some trouble due to earthquakes (my japanese is not very good), but it was still a great initiative and I'm eager to know how that went.

And if you're into online training, you should definitely check out vti's Perl Tuts, a website where you can learn modern Perl 5 through several tutorials and, best of all, try your code online!

brian d foy also started a series of Learning Perl Challenges, a very nice resource for beginners wanting to test (and improve) their skills.

Finally, Gabor Szabo started the Perl 5 Maven website, in which he pushes several articles and tutorials of different shapes and sizes, aimed to improve your Perl expertise. Also, in April, his Perl Weekly newsletter hit 3,000 subscribers, wow!

2012 Stats

Perl 5 tickets opened: 853
Perl 5 tickets resolved: 1036

Perl 6 tickets opened: 433
Perl 6 tickets resolved: 473

Sweet! We've finished the year with a very nice positive margin :)

Between stable and development, Perl 5 saw 21(!) new releases, including the new 5.16, with Unicode 6.1 support, several performance enhancements and much more.

Meanwhile, the Rakudo Perl 6 team kept the promise of 1 new "Rakudo Star" release each month (except for the March release but they had a good reason), and now the project has an MSI Installer for Windows! You can download the December release here (or here, for the MSI). As you can see on their feature comparison page, almost everything in the spec is already working. Congratulations!

The Perl Foundation also released their 2012 Year End Report, and what a great year it was!

Speaking of stats, you should also check the summaries for the 20 best Perl questions of 2012 at Stack Overflow, and the 2012 most voted distributions on MetaCPAN, both courtesy of Miguel Prz. Note that Miguel has been doing weekly summary posts about this, so if you want to keep track of that make sure to subscribe to his feed!

New Perl Monger Groups

Cluj Perl Mongers' cool "dracula" logo

In 2012 the worldwide Perl community welcomed 8 new Perl Monger groups: Mumbai, Weston, Cluj, Niigata, Baku, Shijiazhuang, White Plains and Duesseldorf, not to mention Robert Blackwell's Hardware Perl Mongers, for all of us who enjoy using Perl to play with Arduino, Rasberry Pi and other devices.

We also saw a huge facelift in the Perl Mongers website. Much better now! Code's on github if you want to contribute. I heard patches are very welcome :)

Finally, still in the topic, Vyacheslav Matyukhin made a Perl Community Motivation survey, and a lot of people submitted their input as to what drives them. Results are in, and worth a peek.

Got Book?

Back in February we saw the Camel Book, "Programming Perl", go into its 4th edition. This is a much-anticipated update to what's considered by many as the bible for Perl 5 and a must read for everyone, and I'm really glad to see it fully cover 5.14!

Later in 2012 the very cool "Intermediate Perl" by Randal Schwartz, brian d foy and Tom Phoenix also got an update with its second edition! I had the privilege and the honor of being part of the reviewing team for this one, and I was very impressed at how much got updated. If you liked "Learning Perl", you're gonna love "Intermediate Perl".

Curtis "Ovid" Poe made his book author debut this year, with his "Beginning Perl", a modern introduction to Perl programming that even includes material for instructors. You can browse some of its contents here but, if you like it, I highly recommend you get a copy.

Speaking of modern, chromatic's "Modern Perl" book was updated in January and is available in several different formats, including some free ones (like EPUB)!

Last but not least, Miyagawa's Plack Handbook was released in Japanese and English, containing 24 useful short articles that explain what PSGI is all about and how to adapt Plack to existing web applications. And guess what? For a few days it was ranked #4 on Kindle Japan on the Computer/IT category. Omedetou!

Interesting New Dists

This is in no way comprehensive, but I also wanted to share some interesting new distributions that reached CPAN in 2012. Check them out!

  • archlib, by Chad Granum is a proof-of-concept that lets you add tar archives to @INC.
  • Damian Conway's new Regex::Debugger makes debugging regular expressions much easier and even includes a command-line REPL called rxrx to visually and interactively check your regexes.
  • Tokuhiro Matsuno's Test::Pretty (ab)uses colors and unicode characters to make your test output beautiful and much more readable!
  • sqitch, by David Wheeler, is a self-entitled sane, standalone database change management application written in Perl that supports native scripting, dependency resolution and iterative development.
  • Ever wanted a modern web-based Perl editor? Try Farabi, an experimental "fork" of Padre made by Ahmad Zawawi and making heavy use of JavaScript.
  • Although not a new dist but also very noteworthy, Plack, the module that revolutionized Perl web frameworks, has hit 1.0! After seeing so many companies adopting it for production, Miyagawa-san decided it was time to formalize it as stable. He also set a core team to make it even easier to support and further develop. This is very good news, and you can check out the full announcement here.

How about you? Discovered some cool module this year?


Early in 2012, Craiglist donated $100,000.00 to the Perl Foundation. According to their CEO and former Perl Hacker Jim Buckmaster, "craigslist has gloried in and relied upon Perl for most of its software development for more than a decade. craigslist Charitable Fund is honored to recognize the wizardry and generosity of the Perl community, help ensure the ongoing maintenance of Perl5, and contribute to the future evolution of Perl."

Many many many *many* thanks to Craiglist, and to all the companies and individuals that continuously help the language and its community. 

And if you want to donate as well, both The Perl Foundation and the Enlightened Perl Organization will definitely appreciate it, and even let you chose specific destinations to your money (like a particular conference or to the CPAN Testers). Every penny counts!

Wrapping Up

Well, that's it for 2012. Sorry for the long blog post but, as you can see, it's been a really great year for Perl ;-)

Let me know if I missed anything, ok? And keep on making great things with modern Perl!