Perl Bulgaria 2011 Report

This weekend I was invited to Bulgaria Perl Workshop that takes place at Sofia for giving a talk about Dancer.
First of all I’d like to thank Marian Marinov and Peter Shangov for inviting me, and also the french perl mongers who helped for making the sponsoring of my trip possible.

Bulgarian Perl Workshop

It’s the first time I’m invited as a guest to a Perl event, it’s really exciting to see how Dancer drives me into new situations!
I already said that I enjoyed seeing Dancer taking its own life, but now, it starts to drive mine! Which is even better ;)


I’ve landed at the Sofia airport friday afternoon at 4PM. The flight went pretty well, and the landing was very smooth. Apprently “Bulgaria Air” is not famous for that, so I guess I got lucky!

My first impression when I got out of the plane was the freezing air. When I left Paris, it was around 5° (C) and Sofia was around -6° (C). It’s like going back in time, when we had snow in Paris’ streets in december! But it’s a very subjective point of view, because Alexey Kapranov, who came from Moscow told us it was -20° (C) over there!

Marian Marinov came gently to take me at the aiprort and drove me downtown to meet Alexey who had found a free city-tour driven by Vanya, a very enthusisast guide.
We went by walk to see most of the historical buildings of Sofia. Yes, you can actually do that by walk, because the center of the city is not very big and most of the historical places are grouped in the same district.

It’s interesting that this city has “mutable” buildings :) From time to time, churches turn into mosques, and to churches again. A lot of Sofia’s buildings change during time, depending on the political
position of the country. Sometimes it’s destroyed then rebuilt again and so on. It’s like a volatile city! Apparently this is going to change, because bulgarian people want to stop desroying their
buildings, even if there are strong feelings linked to them. “It’s part of our history” said Vanya, “wether it’s bad or good history, it’s still history, hence we should stop destroying buildings“.


I’ve also been surprised to see that France had strong trading connections with Bulgaria in the past. We’ve seen some historical stones with scriptures written in french.
We had dinner in a sweet restaurant in Sofia, and we tried a couple of meals (Chopska Salata!), it was pretty good.


The Perl Bulgraia Workshop takes place in the “French Center” of Sofia’s university, which is actually funded by the French embassy.
Actually we are in the french library of the university, it’s funny to be surrounded by french books when you’ve flew 2,500 kilometers to the east ;)

The conference started at 11 AM with Alexey’s talk about HTTP sessions handling. It was interesting because he went through all the details of the HTTP session protocol, explaining what stateless connections are and how cookies were used to provide that missing state in HTTP. Then we’ve seen the famous technique of embeding the whole session in an encrypted cookie; and what pros and cons you have then.

I did my talk about Dancer then, I’ve used the slides I had done for OSDCfr 2010 and refreshed them before. The talk went pretty well, I think. I tried to show off all the main key-features of Dancer and most importantly its spirit. I think I made my point. I was comfortable and felt like being more fluent than the talk I did at FOSDEM. Maybe the practice is helping ;) I should do more talks in english!

My slideshow lasted 30 minutes, so I had another 10 to do some live demos. I had prepared a set of very small working examples for showing off Dancer’s sessions, serializers and logger engines. It was a good way to end the presentation: after 30 minutes of talking, the audience is much more receptive if you break the way things are done.
Moreover, live demo are always more exciting than slides, because, you know, it’s live!

I also had with me two Dancer T-shirts to offer so I proposed to make a small lottery to find out who will win them. “What would be the best way to do that?” I wondered, “well, it has to be powered by Dancer!“.
So here I was writing a silly app during the last talk (I had 30 minutes to build the app, no more!). The app is basically the following:

my @people = (...);
get '/winner' => sub {
    shuffle @people and $people[0];

Of course I also wrapped all that with a nice HTML/CSS layout in order to display the winner’s name in huge characters, with a centered position.

Well that’s it, the beast was alive in time! Then I filled the list with the people registered on the BPW website and we were ready.

It was very funny to do, we may do that as well at the French Perl Workshop, it’s a very funny way to close the event and to show off Dancer’s ease of use. You have an idea, 30 minutes later it’s live.

I really enjoyed this trip to Sofia, and was very happy to be part of the Bulgarian workshop.

So long Sofia, and thanks for the fish!