Having spent the last twelve years as a full time perl developer i decided it was about time to attend a YAPC event1. YAPC allows a larger number of the perl community members to come together to catchup, discuss the various issues, technologies, concerns, highlights, thoughts, ideas, code, and companies; all of this related to perl, or largely related to perl. There are of course none-perl related happenings that occur too.
Thus i found myself in the beautiful city of Granada, Southern Spain. The theme of this year’s conference was “Art and Engineering” giving some of the keynote talks an interesting twist. Here are some thoughts on the conference in general as well as summaries of some of the more interesting presentations i attended.
I arrived in Granada just before the pre-conference meetup took place. The venue for the event was the Facultad de Ciencias, part of the Universidad de Granada, and the meetup took place in the gardens therein. The food was pizza, cooked in a portable pizza oven.
The evening and pizza was great, and finally i got to meet some of the people i had seen in many videos of talks from over the years. I also discovered the names behind several of the IRC nicks from the various channels on irc.perl.org. The pre-conference meetup was sponsored by Eligo who had placed me at my current position, so it’s only fair that i mention them.
Tara Andrews opened the conference with a talk on using perl in her field of medieval history and the difficulties that are encountered not just in the field itself but also in supporting and developing perl solutions to ease those difficulties. I had already seen Tara give this talk at the Swiss Perl Workshop a few days before, but i sat through it again - surely the mark of an interesting presentation.
Next was Lukas Mai on a new approach to handling exceptions, which is inspired by the continuation style semantics of Lisp. I could see this approach being useful in some cases but worry that it would tighten coupling in other cases, so perhaps needs to be thought about carefully.
Abigail demonstrated his approach to sharding a database at booking.com - a company that continues to invest heavily in the perl community from both a financial point of view but also with interesting technical solutions. This talk gave a little look into booking.com’s infrastructure.
Prabhakar Somu gave a very good presentation about generating PDF files with perl and the pros/cons of various modules that can be found on CPAN. His talk explained that his company were working with the Aadhaar project in India - an ongoing process that involves giving every Indian citizen a unique ID style document. That’s over one billion unique documents, of which Prabhakar’s company are generating one third using perl. Very interesting.
The day finished with a few lightning talks, including my own. There was promotion of some upcoming smaller perl events and other short talks on various other subjects. A highlight was Dave Cross and Modern PERL, not to be confused with Modern Perl. Curtis Poe finished with an update on the MMORPG he has been working on and then closed the first day with his keynote talk on “Turning Points”.
Several Japanese developers had made the trip to YAPC::EU2 and the next three talks touched on some tools they had been working on. Junichi Ishida covered many CPAN modules that are heavily used in Japan but may not be known about outside the country.
Taiki Kawakami showed the progress he had been making on Perl::Lint, a static code analysis tool for perl code that has recently been given a grant by The Perl Foundation. Tatsuhiko Miyagawa demonstrated carmel, the next iteration of his dependency management tool carton (and cpanm).
Lightning talks took place again, starting with the announcement that next year’s YAPC::EU will be held in Cluj-Napoca. I gave a second lightning talk to show the progress i had made in cleaning up CGI.pm and the work i had been doing to try to discourage the use of it in new projects.
The final day started early with a keynote by Stevan Little on “The Intersection of Code and Art”. Stevan is the man behind the Moose project, but has a background in Art. His talk used that background to explain some clever layering techniques in painting that can give those paintings a realistic appearance. This can also be detrimental in that it can shorten the lifetime of the painting. “Restoration of paintings can be a bit like maintenance programming” was a nice analogy.
Tom Hukins followed with some information on the OpenStreetMap project, an open source rival to the likes of Google Maps et al. This project is contributed to by an army of volunteers, this is largely very positive but sometimes there can be a disagreement on what information is appropriate to add to a map - historical data about disused railway stations is one example. I asked Tom if pistes are mapped using the project and he told me about OpenPisteMap. Definitely a project i’ll be taking a look at and perhaps even contributing to.
Laurent Dami covered the use of Perl at The Geneva Law Courts. I had seen Laurent give this talk at the Swiss Perl Workshop a couple of years ago but wanted to see the talk again to hear about the progress being made, Laurent is also an engaging speaker. The figures about the number of courts and judges in Geneva was eye opening.
My own talk was next! I had given it at the Swiss Perl Workshop a few days before so was reasonably confident about it. The turnout was good, and despite being afflicted by the curse of the live demo (a dodgy internet connection) i felt the talk went quite well and i received some positive feedback. One thing that proved fortunate was there being a blackboard in the lecture theatre - a very useful tool given the subject of my talk3.
Takayuki Fukumoto shared his experience of running perl programming classes in Japan, which were not just aimed at programmers who are new to perl but also people new to programming. This was an excellent talk and had some good insights into how to keep students engaged not just during the classes but also in the sometimes lengthy periods between classes.
Larry Wall’s not quite closing keynote of course covered the recent progress on perl 6 and the upcoming release (and clarified what a “release” may mean). There were quite a few comparisons to Tolkien’s work on The Lord of The Rings and how good things take time. Great things take a little longer4.
The final set of lightning talks turned out to be worth waiting for, including a brilliant one by Daisuke Maki given (almost) entirely in Japanese. This talk continued the very entertaining and very informative style of the talks given by all the Japanese speakers at the conference.
Dotan Dimet also gave his satirical “use CGI.pm” talk to counter5 my own “don’t use CGI.pm” talk. Coincidentally about the same time Dotan was giving his talk someone was raising an issue against CGI::Fast with all the tell-tale issues that demonstrate just why we want to discourage its use6.
My flight was scheduled late evening on Saturday giving me time to explore the Alhambra, the top tourist destination in the city. The photos you see here are from my walk around the grounds. The Alhambra was originally constructed as a small fortress and then largely ignored until it was renovated and rebuilt7. Perhaps it is apt that a perl conference should be held in Granada then?
Overall a great YAPC::EU from my newbie point of view, i plan to go to many more and not just those within the ::EU namespace. Also i had an extra motive that was exploring an idea for another photographic project. I don’t know if it will work, and maybe i will abandon it if i feel it doesn’t. Or perhaps it will morph into something different from what i expected. Either way it will take some time. Maybe it will take a little longer than that.
YAPC: Yet Another Perl Conference ↩
Although a joke was made that Miyagawa didn’t count because he lived in, and therefore had only travelled from, America ↩
Sometimes i feel a little guilty not having read the books, other than The Hobbit. Maybe one day i’ll get around to it. ↩
Not really of course ↩
https://github.com/leejo/cgi-fast/issues/14 - perl5.8.8, CGI::Fast 1.07, ↩