Yesterday I came back to Kiev from YAPC::Brazil 2012 in Sao Paulo. To say the trip was great is to say nothing. And of course all the karma goes to @garu for hosting us in Rio and taking care of us in Brazil in general!
As I am in the org team of the next YAPC::Europe in Kiev, I have some good news for you, fellow Perlers! But first a short note about the venue. We started going to the every venue (out of 7 selected previously), meeting the people there, getting all the details we need for choosing the best one. We have prepared an extensive list of the things that must be present, so we won't forget anything. As usual, if you have any suggestions what a venue of your dream must be ping us on twitter. And now to the fun part.
While working on http://perltuts.com I had to write a test runner what would test tutorial exercises. It would create a Perl package that uses Test::More than evaluate it, catch the output and return to the caller. This was easy. But than as a good Perl guy I had to test it, actually I had to write a test before writing an implementation, but that's another story! So... I wanted to test it with a Test::Class (uses Test::Builder internally). Needless to say it didn't work, because Test::More is an evil singleton! I had to deploy soon so I had to do something. And I did. I did a very dirty thing and it worked.
When I tried to learn another scripting language I was looking for the books (eh, the first thing that comes to my mind). I was searching and searching and then got curious on how many books were published during the last 10 years in the languages that kinda share the same field. So I called Ruby, Python and PHP friends and started building statistics.
So the other day I was writing a method that checks if a user provided date was a valid one. What could be easier? I quickly wrote code, tested it and pushed to production. The thing is that on production system the test woudn't pass. What the f...antastic debugging opportunity!
So the conference is over. And here are some numbers, photos, links, thoughts, etc.
While many people still check every method's return value, parse die's string
messages and think that exceptions should be avoided at all cost, I will try to
convert all exceptions to objects, create the base exception class and catch
them with simple
eval without using CPAN (blasphemy!).
Following Andrew Shitov's post I want to invite you to visit a Perl conference in Ukraine 12-13 May.
This year we are going to have some special guests: Tatsuhiko Miyagawa, Gabor Szabo, Florian Ragwitz, Peter Rabbitson, Torsten Raudssus and many others. If you still have any doubts read on, otherwise rush to the registration page http://event.perlrussia.org/yr2012/!
So the other day one of our web servers was defaced and I found a Perl script that was used to clean up the logs and other leftovers. I opened it in vim and was like "What da ...". Let's go through the code with me.