Nordic Perl Workshop 2005 Day 1 talks
Many of the talks were interesting, some were boring as in “this should probably have been a lightning talk”, or badly executed (don’t worry, I submitted oral bugreports), but I learned of new things from every talk.
Benjamin Holzman talked about optimizing perl programs with C. He mentioned Judy arrays. Never heard of them before, but they looked very cool.
Tom Hukins demonstrated easy ways to screenscrape the web when you really have to, using WWW::Mechanize and XPATH. One neat tool was the shell XSH, which you can use to test XPATH expressions and inspect XML documents.
Lots of headnodding from my side during Christian Borups character set talk. I have lived through the scary experience of having a badly encoded Polish spam crash a mail parser, because of a bug that made perl eat all available memory in about 5 seconds.
The very charismatic Autrijus Tang introduced Pugs. Perl 6 is love. Autrijus has a nice way of doing presentations. He is sitting down, you can’t really see him if you are sitting in the back, but it doesn’t matter because you can hear him and it’s easy to follow his Lessig-styled presentations.
Claes Jacobsson showed how to use PPI to parse perl code, and mentioned among other things Perl::Critic, which is built with PPI and warns you when you break coding standards outlined in the Damian Conway’s book Perl Best Practices.
Stig Brautaset introduced Froody, yet another way to do remote procedure calls with web standards. Just build a nested hash of the things you want to send/return and Froody takes care of the rest, like validation and the actual sending and receiving. There is yet another schema language, but it is very easy to understand since it doesn’t deal with very constructs. For instance, an array is defined by writing the same element twice. It kind of looks like an example of what you would send.
The end of each talk ended with “Do you have any questions?” which always was answered with another question “What version control system do you use?” The right answer was of course SVK, the distributed version control system created by Chia-liang Kao (clkao) who was at the conference and gave a talk about it. There are lots of similar tools out there, and it might seem like much wasted effort that everyone are doing their own thing, but as I lurked the #rev-ctrl channel a bit, I noticed there are actually a lot of collaboration between the authors, as in sharing of code and ideas. “If that new idea of yours works out well, we will steal it”. Looking forward to see the Precise Codeville Merge in action.
We were supposed to have a video conference with another Perl conference in Hungary but the video conferencing program was made from software so it didn’t really work and we had to skip that part.
Artur Bergman ended day one with a talk about how to speed up perl and especially threading by using the well known optimization technique COW - copy on write. Perl threads today are portable, but very slow to create, and there is no speed benefit at all using them. The only good reason is if a problem is easily solved with a threading model, where it is easier to think with threads, which doesn’t seem to be that many problems at all. The drawback of this idea would be a few extra cpu cycles for pointer dereference, which is quite cheap, but the win would be no unnecessary and expensive memory copying.