What I learned at EuroPython 2010

23 07 2010
Question would be, what didn’t I learned at EuroPython! Being a Python fan attending his first Python centric conference, I was anxious for what I would make out of it!
So here I am, after the final day of the conference, sitting in my hotel room, remembering the themes that stuck in my head. Sure that for the past year I’ve been working mainly around Django and there were a few talks about it, but the themes that stuck were TDD, multi-processing, concurrency, non-blocking applications and the alternatives to CPython, mainly PyPy.
Test driven development was something I had already tried and used on day to day over 2 years ago, but got lost in time somehow. It’s obvious that all the cool kids on the block do this, some even practice with Code Katas and in Coding Dojos. So out with the dust, I did some small coding over this days on 3 or 4 projects, all following TDD. Not so rusty after all!
As for multi-processing, the rule is simple, in multi core systems, use whenever possible. Better support for it is also coming to Python, yay. To contrast, using threads is “playing O.S.” and due to the huge overhead in context switching, you shouldn’t use them altogether.
So concurrency and non blocking applications, I attended two talks that touched this subject, one for Tornado and other for Gevent. Tornado seamed efficient, but awfully simple and probably dead project. The speaker couldn’t really explain what you could get out of it that you wouldn’t get with Twisted. Gevent on the other hand, seamed to really convince the audience. While I don’t have a solid opinion, the concept seamed appealing to me and I will take it for a spin.
PyPy was also frequently heard throughout the conference, once again, something I should probably pay more attention to, can’t tell that much for now, other than it’s promising and saw some cool usages of it, otherwise impossible under CPython.
Summing up, learned plenty, most of which I didn’t even state here, feeling inspired and I now have a loooot of new things to experiment. Now if I can just find the time to do it that would be awesome!
One last word of appreciation to the organization, that other then the unpleasant Wi-Fi connection problems, did an amazing job putting everything together.
See you at EuroPython 2011 at Florence!




Sapo Codebits 2009 & jobGears

11 12 2009

Codebits has been presented in the past 2 years as an event for the Portuguese tech community, the concept is basically 3 days where there are talks, a 24 from-scratch-to-project coding contest, free pizza and a lot of caffeine drinks. A change occurred this year, Codebits had been announced as going international and therefore having all communication done in English. Due to the fact that I am living abroad, I was quick to sell the idea of going to some of my colleagues.

Fast forwarding a bit, the event took place this last week and the outcome is that some things disappointed me while some others were really positive!

First, it was really a joy to be back in Lisbon and seeing a lot of familiar faces. The set up of the event was basically the same, main stage, food place, book stand, tables to work on and some 4 or 5 Xbox 360 just to relax on short breaks. There were also a lot of the famous Sapo bean-bags. There were however 3 more secondary stages and the building was huge, in fact the longest building in Portugal, so they say. This wasn’t actually good, over the night it got really “Coldbits” and it took forever to go from side to side, so most of the time I just staid around my table.

Regarding the language, all documentation in the welcoming pack (which was very nice, thank you!) came in English. The talk schedule also included the language they would be given in, with around 40% in English, which was cool. What I never expected was that Sapo’s CTO @celso would chose to make the closing speech in Portuguese, giving the green light for everyone to do the same from then on. Well I just had to live with translating everything, but still he could have had more consideration. Still I found that there was a high number of people complaining about the complete opposite,  so I understand that this may have been hard to manage.

Now I wasn’t particularly thrilled about the coding marathon, or at least with the competition side of it. The reason for that came from my disappointment at the 2008 edition, in which I had stood up all night coding, even after a long work day, only to find a lot of people presenting slides and little or no code, so much for trying… An additional reason is that Sapo target users are in majority clients of it’s parent company, a multimedia and communications company that has almost the monopoly of the market. Although I acknowledge they do have some nice products and services, the perception I get is that they don’t really have to “try” that hard, not going much beyond that assured stake. Since I try to brainstorm targeting a global audience, Portugal included, I feel my priorities and goals are quite different. Still, I believe those 24 hours there are really productive, the environment is great and I always have someone to ask for help or an opinion, what better opportunity could I find to start jobGears then?

The idea behind came originally from a custom PHP project, developed by getGears for AEIST, live at http://jobshop.ist.utl.pt that consisted briefly on a job portal for the students of IST with the feature of being able to create and manage a CV with a very usable interface, quite unique on the web. It was always our wish to take this feature one step further and turn it into a project of it’s own. Having a fellow developer from getGears there at Codebits, we proposed ourselves to take the idea and:

  • Re develop all in Python using Django.
  • Make the system open with no registration needed, but possible to save for later editing via Facebook connect.
  • Integrate the generated CV with the Facebook profile.
  • Post future updates to the Facebook user stream.
  • Generate permalinks for sharing a non editable version, allow publishing it directly to Twitter.
  • PDF generation.
  • and everything else we had the time to.

Nice, huh?! Still this is only the beginning, we have plenty of ideas on how to take this basis further and turn it into something “you” will see value in.

After some 26 hours of coding, with a lot of processed caffeine in my system, I finally went up to the stage, quite clumsily, obviously exhausted and unprepared given the short 90 seconds I had. That could have gone better, still, right after I was quick to tweet on it to get people to try it. I never expected such a big user response, well in fact I had hoped it wouldn’t be that big, my poor development VPS just couldn’t take the sudden load and quickly went into SWAP usage, oh well… Still I’m happy for that, I saw the potential in our project and decided immediately to improve it for efficiency and build a real production environment, even staying under a low budget.

As for the results of the contest, once again I got nothing but disappointment. I congratulate all of the winners though, some had really nice ideas and I hope they manage to go live with them soon! Regardless of that, it was my objective for a long time to come out of Codebits 2009 with a serious project in hands and that was exactly what I got!

We set the deadline for the launch is the January 7th 2010. Why this particular day? Well it’s my mother’s birthday, of course! Do check back, a lot of work lays ahead but I’m pretty confident we’re onto something!

António, me and Xavi from Flumotion on the first day

Antonio, me and Xavi from Flumotion on the first day





It is about time!

10 11 2009

Well, I figured it is about time for me to start my very own technical blog.
The last couple of months, due to the nature of the projects I have been working on, I found myself going trough development blogs and participating in discussions a lot more often than before. It amazes me the dedication that “random” developers are willing to put into helping you with the problems you come across!
That said and since I come across a lot of interesting issues every week, I aim at sharing my own experiences or guides here that hopefully will be of help for other people in need.
Let’s see how I keep it up!