Entries : Category [ europython ]
[OpenBSD]  [BSD]  [FreeBSD]  [Linux]  [Security]  [Python]  [Zope]  [Daily]  [e-shell]  [Hacks]  [PostgreSQL]  [OSX]  [Nintendo DS]  [enlightenment]  [Apache]  [Nintendo Wii]  [Django]  [Music]  [Plone]  [Varnish]  [Lugo]  [Sendmail]  [europython]  [Cherokee]  [self]  [Nature]  [Hiking]  [uwsgi]  [nginx]  [cycling]  [Networking]  [DNS] 

18 julio
2010

europython 2010: The road to Birmingham

It was hard, it was rough, but I finally made it!

Europython 2010

I'm writing this lines seating on the bed, in a room of the ETAP Hotel in Great Colmore Street, Birmingham, UK. Now it is 23:24 (GMT+1 or BST, Brittish Summer Time as they call it here in UK) but let me get back some hours ago, where the journey began.

I got up early today (at least early for a Sunday) probably because I was a little bit nervous thinking on all the things I was going to do for the day. After a quick look to check that everything was in place (the luggage, the laptop, all the needed cables, my current-reading book, etc) I tried to print some useful stuff like the confirmation emails from both Virgin Trains and the ETAP Hotel (just in case I would needed them through the day). The first problem of the day appeared then, as the printer didn't work. It seemed like we didn't use the printer for a really looooong time at home, and the ink cartdriges were screwed. "Too bad" - I thought - "I need those papers". The quick solution: I picked up the car and drove to the office just to print them. That worked.

A little bit later (after getting home again and park my car on the garage) I joined my girlfriend, her mother and her aunt, for a 30-minute drive to my parent's home. They all got me to the airport in A Coruña. The flight was scheduled for 15:50 (GMT+2) and we arrived a little bit earlier (13:15 (GMT+2)), perfect timing for the checkin of the luggage and to get my boarding card. We then went to a nice place by the beach (in Santa Cristina) to have a drink.

I was a little bit nervous, not for the flight neither for the travel itself, but for the idea of getting a flight to London, then a 1-hour trip by tube to the London Euston Railway station and then a 2-hour trip by train to Birmingham. As always, I got the tickets only the needed time to get from one point to another, meaning that I was going to arrive at London Heathrow at 16:50 (GMT+1), with the Train leaving Euston at 18:58 (GMT+1). The tube trip is about 1:10 hours (time enough to do it, but not enough to avoid me getting nervous before taking the flight).

After a great time drinking some beers and talking we went back to the airport (just in time, the scheduled boarding time was 15:20 (GMT+2) and it was 15:10 (GMT+2) at that time). I went to the security checks and then I realized I do have superpowers. This time, the superpower of premonition. Yep, some of you already know that my flight to London was delayed. A delay of 1 hour that was going to make me miss the train to bham. Seems some problem in Barcelona's El Prat airport was causing the plane to arrive later than expected.

It was really disgusting to have to wait for the plane to arrive, then for us to get to the plane, and then for the plane to leave A Coruña (~17:15 GMT+2). And it was really really disgusting to know that I was going to miss the train :(

Anyway, as the Monty Python said - "Loooook at the briiiight siiideee of live...". So I tried to cheer me up thinking about the adventure behind the rest of the trip, and about how many more surprises should appear.

The flight was really nice. There was almost no clouds, and I was able to see everything clearly, from the coast of galicia from the coast to UK and some islands. I spent half the travel reading Mona Lisa Overdrive. The other half trying to to listen to all kinds of funny conversations. There are all kinds of people in that plane, from young students that were going to spend some days in London, in order to learn or improve their english skills to some adults that were going to visit old friends. I met there a group of nice teachers that were going together to Manchester for an English-speaking-improve course.

We arrived at Heathrow at 18:05 (GMT+1) and I went through all the pick-some-money-and-the-luggage process. Yes, I was going to miss that train.

One thing I really love when arriving at heathrow: when you go through the gates that separate the luggage pick-up area and the place where people is waiting for the arrivals. Once you cross that gate, suddenly, you can feel like hundreds of eyes falling on you. You can even spot those guys and girls with pieces of paper with names written on them. You can even play a little bit with them just pretending you are searching for someone, they will try hard to be sure that you read their papers, just in case you are the person they are searching for...

Some minutes (and a fast walk) later I reached the underground station, where I got a 1-6 zone ticket for the tube. There I met a nice girl from Negreira.

She was studying medicine in Santiago de compostela and she was going to be in London for 20 days to improve her english skills (seems a lot of people do that in summer). We went together for the most of the travel by tube until I reached Green Park station, where I switched from Picadilly Line to Victoria Line.

Then the good luck came back to me. I arrived at the London Euston Rail Station at 19:50 (GMT+1) and I went to the helpdesk of Virgin Trains just to explain them my problem with the delay. "Good news" - They told me - "You've an off-peak return fare, just get your ticket from one of the ticket machines and step onto the next train". Goooood!!. I went to one of the machines and got my tickets and then, second lucky strike!, it was 19:56 (GMT+1) or so and the next train to birmingham was going to leave at 19:58!!!.

Man, you should see me running through the station, trying to find the bloody platform 4... ;) I almost got into the wrong train (that would carry me to Liverpool).

Once I was in the right train I felt myself relaxed and I just stayed on my seat to enjoy the travel by train through the midlands. I got a comfortable seat by the window, with a table and a power socket (jay!) The train even has 2 different wifi access points you can use, as cheap as 4,60 pounds for 1 hour.

The train arrived at Birmingham New Street Station earlier than I expected and it was nice to recognize the city once I left the station, even if I only had been here once before.

Reaching the hotel was quite easy, thanks to the Nokia Maps app in the E72. I only had to set the current location and then set the route (by walk) to the hotel and it took me less than 15 minutes to arrive.

And now we are back at the begining. Here I'm, writing these lines before trying to sleep a little bit. Tomorrow will be the first conference day of the Europython 2010, and it will be a loooong day.

Stay tuned for more posts about this amazing UK week!

Posted by wu at 23:24 | Comments (0) | Trackbacks (0)
20 julio
2010

europython 2010: First conference day

what's that sensation of joy I felt.... ;)

Europython 2010

Let me advice you, if you ever come to this part of UK (if you've never been here before) that the dawn is near 05:00 in the morning. If the light does bother you when sleeping, search for a hotel with courtains of some sort.

I woke up at 07:15, I had a quick shower and I did some clean-up of my stuff (I put everything back in my travel bag). I left the hotel at 08:00. Just after leaving, I met Denis Bilenko on my way to the Birmingham Conservatoire. Denis is going to give a talk on thursday about the gevent network library and we talked a little bit while walking to the conference building.

I got some problems entering the conference, as they didn't find my identification badge (WTF, next time I'm going to use Wu as my real name, as this happened to me back in 2008 in the djangocon in San Francisco and last year here in birmingham too :(). Finally I managed to find the badge myself, so I could get all the goodies (A nice black t-shirt, a mug from bytemark hosting and the usual list of atendees and advertisements of all kind).

With everybody seated in the Adrian Boult Hall the opening event started and the crew was introduced to everybody (just like last year):

The crew from Europython 2010, this year in a red t-shirt.

New and improved talk

Michael Foord giving the new and improved talk.

First talk I attended to was New and Improved from Michael Foord. He covered some of the stuff in the unittest module. As a newbie to the testing world, it was an interesting talk, but probably it was more productive for people with some background on the topic.

Good tests, Bad tests talk

William Reade about Good tests and bad tests

After a small break to have a coffee (and talk with a nice guy from Bombay called Safe) I went back to Adrian Boult Hall to attend Good tests, Bad tests from William Reade. This was a little more interesting to me, as he covered some good tips when thinking about TDD and writing tests for new and legacy applications.

How import works talk

Brett Cannon on How Import works

Next talk, before the lunch break, was How import works. In this talk Brett Cannon talks about how the new import rewrite for Python 3 works, covering some of the new internal features like finders and loaders. I've to say that I find that there are a lot more talks related to python 3 this year, which is nice (in the end, the whole python world will have to move sooner or later).

Lunch time!

For lunch we had some chili with meat and rice (really, really, really spicy) and a variety of desserts (I picked up tiramisu, which was quite good indeed). The path to the room where we got the food (the cafeteria of the conservatoire) was full of papers and posters about the exams and qualifications of the studends, as well as some information on different methods and courses you could use/join to learn playing all kinds of instruments. As a guy told me while waiting in the queue - "It is never too late to learn playing music".

The Python-PostgreSQL soup talk

Hannu Krosing on PostgreSQL Python soup.

After the lunch break I attended one of the big ones (at least for me), PostgreSQL's Python soup. The talk abstract showed that it was going to be a talk covering the different Python-PostgreSQL connectors, explaining differences between them, showing some code examples and things like that. Too bad Hannu Krosing seemed to be so nervous he didn't manage the talk too well. He waste a lot of time in the beginning, not only trying to explain who he is and what he does, but to explaining what PostgreSQL is and the advantages of relational databases (which imho was a little bit outside the scope of the talk). Talking with some people at the #europython IRC channel in Freenode seems everybody ended with this same sensation about the talk. UPDATE: Later on, someone explained to me that he didn't sleep more than 2 hours last night and that he was really tired and that he had told some people to make noise if he got sleep while talking :O

Testing HTTP Apps with Python3 talk

Łukasz Langa and his mate talking about his Monstrum testing application.

Following the main topic of the day, testing in Python, the next two talks were somehow related as both covered tools for functional testing. Testing HTTP Apps with Python3 was an introduction to a soon-to-be open source project that will be called Monstrum (monster in polish), developed by Łukasz Langa (and some more people) in Poland. Lukasz and his mate began with three examples (based on true stories) to show us how important tests are and how you can shoot your feet if you don't use them. Then he covered the main features of the software and they also covered some reasons for the software to be written in Python 3.

Python and Selenium Testing talk

Pythonand Selenium testing, with Raymond Hettinger

Python & Selenium Testing was driven by two people too, Raymond Hettinger focused a little bit more on the company behind Selenium, giving us some information about the services they are offering off the cloud, based on Selenium itself (some of them are very impressive) and he even gave us access codes to test the full services for free while we are at the europython (jay!).

Pythonand Selenium testing, with Jason Huggins

Jason Huggins focused more on the internals behind Selenium and how powerful it is to perform funcional testing emulating almost any kind of browser-and-os combo available. He performed a half-life/half-recorded demo to show us how to remotely call a Selenium install on a virtual machine to run some tests on a browser. Nice that, well done guys!.

Coffee break and books

Then it was time for another break. This time getting a coffee was really difficult, as everybody was there on a queue to get some. I got a coffee and I stopped by the OReilly stand (Oh! No! ;D) just to take a look at some books. Of course I stopped at the Packt Publishing stand too (quite small comparing it with the big OReilly one). I'm sure I'll not be able to avoid my usual book-hungry and I'm going to buy 2/3 books O:) (in fact there are some testing, security and regexp books that I don't know why they are not already in my bag!).

Testing in Python with py.test talk

Testing python with py.test, Holger Krekel

After the break I attended another talk related to testing software, this time Testing in Python with py.test by Holger Krekel, covering the use of py.test an old but currently maintained option to do testing in python (both unit and functional testing). py.test is a lightweight and easy-to-use tool to perform tests on your code and it has a big plugins repository that allow you to achieve a lot of things when doing your tests (including some django-related plugins or plugins to integrate tests from the standard library unittest or nose).

The testing panel, asking the experts difficult questions

The testing panel, with all the experts!

To end the day an interesting panel about testing (what else?!). The panel was driven by Ali Afshar and the testing experts were:

Some of the questions discussed include:

  • Are doctests a good or a bad thing?
  • How can we better encourage people to test?
  • Which is the best unit testing framework and why?

Some people from the audience shooted some interesting questions aswell.

Spare time, beers and social

When the day was finished at the conference, I went back to the ETAP, drop some things on my room and I refreshed me a little bit (it is really hot in bham on July). Then I went down to use the hotel's lobby free wifi and try to find out where the people were going to meet today. Long story short: the wifi didn't work, but I was lucky that Antonio Cuni appeared as I was able to join him in our way to the center of Birmigham.

It was really funny because when he told me his name was Antonio I just told him - "Hey, que tal?" - thinking he was also spanish (c'mon, you see the name??!???) but he is from Italy ;).

We went to the city center and we had a pizza for dinner. We had a nice talk while having dinner, both about his work with Python (he is one of the maintainers of PyPy) and about some other things like the football world cup ;).

After dinner we went to the Walkabout, a really nice place were we join some Zopistas from the netherlands and some other people. What a place, if you ever come to Birmingham, you have to stop by and have a beer listening to the good live music.

Here you have some pictures I took while walking around:

The Mailbox

The Mailbox

Now off to bed, let's see what happens tomorrow!

Posted by wu at 01:30 | Comments (0) | Trackbacks (0)

europython 2010: TinyHTTPProxy and troublesome wireless

There are always those good things you learn or discover while being in this kind of events

Europython 2010

I would like to write some lines about a small (but really useful) script Antonio Cuni showed me yesterday. It is not a script he had written by himself, and probably you could find it in the Internet (UPDATE: In fact it is called TinyHTTPProxy ;D).

While having some beers at the Walkabout last night, we tried to connect to the Internet using my laptop and the Walkabout free wifi, but (after many tries) we found out that it didn't play well with the https protocol. Each time a website (like twitter or gmail) was redirecting us to a secure https connection the connection just got stucked.

My first solution was quite a bit dirty. I opened an SSH connection to one of the machines I've at home, setting up a tunnel like this:

ssh -L 443:twitter.com:443 user@myhost

That will cause that each request sent to https://localhost on my laptop will be forwarded through the tunnel to my box at home, and then it will be forwarded to twitter.com. Then I added a line like this to the /etc/hosts file (yes, that works in OSx too ;D):

127.0.0.1 twitter.com

It mostly works (the Walkabout wifi was a little bit troublesome anyway). From time to time there were timeouts and it was not so usable.

The solution Antonio provided was, indeed, by far more elegant. He showed me this python script which is a fully-functional http proxy in only 123 lines of code!. Amazing, isn't it?

All you need is download it and execute it, for example, in your home box (or any other box out there you can reach):

python proxy.py

It will listen on port 8000 on that box:

Any clients will be served...
Serving HTTP on 0.0.0.0 port 8000 ...

Then you only have to modify your browser to use a proxy connection with http/https/etc requests using the hostname/ipaddress of that box as the proxy address. We tried that and it worked just perfectly fine, but with the limitations of the flaky wifi inside the pub.

It is even more useful, as it will send to stdout a lot of useful messages about the connections managed by the proxy:

78.41.210.130 - - [19/Jul/2010 22:42:08] "CONNECT mail.google.com:443 HTTP/1.1" 200 -
        connect to ocsp.thawte.com:80
78.41.210.130 - - [19/Jul/2010 22:42:08] "POST http://ocsp.thawte.com/ HTTP/1.1" - -

You can even notice when there are connection problems between you and the proxy (even if this is a little bit ugly and should be handled properly through a try...except catch):

----------------------------------------
Exception happened during processing of request from ('78.41.210.130', 49507)
Traceback (most recent call last):
  File "/usr/lib/python2.6/SocketServer.py", line 558, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.6/SocketServer.py", line 320, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.6/SocketServer.py", line 615, in __init__
    self.handle()
  File "./proxy.py", line 20, in handle
    self.__base_handle()
  File "/usr/lib/python2.6/BaseHTTPServer.py", line 329, in handle
    self.handle_one_request()
  File "/usr/lib/python2.6/BaseHTTPServer.py", line 323, in handle_one_request
    method()
  File "./proxy.py", line 46, in do_CONNECT
    self._read_write(soc, 300)
  File "./proxy.py", line 93, in _read_write
    out.send(data)
error: [Errno 32] Broken pipe
----------------------------------------

So, the final solution could be a mix of both approaches. I'll try to do this tonight if we go again to the Walkabout, because I think the problem was that the wifi was causing some kind of trouble with http/https requests. So, what if you use the proxy python script to set up a proxy at home (just like we did before) but instead of setting up the proxy like in the previous example, you do open an SSH connection home, creating a tunnel to forward requests to the proxy?, just like this:

ssh -L 8000:localhost:8000 user@myhost

Then you do not need to modify your /etc/hosts file, you don't need to open port 8000 at home and you do send all the http requests through the ssh tunnel, which in the end is an already established connection (it shouldn't close) while http requests from the browser are going to be multiple requests sent through the wifi link.

Imho, this would be an almost-perfect approach, but I'll try tonight and check if there is any difference.

Posted by wu at 17:20 | Comments (2) | Trackbacks (0)
21 julio
2010

Europython 2010: Second conference day

too much fun, too much learned, too much nice people met

Europython 2010

After going to bed a little bit late yesterday I woke up at 07:45. I had a shower and I left the ETAP at 08:15, just to join Antonio Cuni on my way to the conference.

Today's Keynote - Bruce Lawson

Today's keynote, Bruce Lawson on web standards and accesibility

The Keynote today was really a good one. Bruce Lawson (from Opera) talked about web standards, accesibility and HTML5. He showed us some incredible examples of the <canvas> and <video> new tags, as well as some real stories about how important web standars and accesibility are. Bruce is quite a good speaker, and that's nice to find in someone giving a Keynote.

Talk: Appstats

Guido Van Rossum on appstats, his new app to monitor appengine applications

After the Keynote I went to the New Lecture Theatre to attend the Appstats talk from Guido Van Rossum. This was the second time I attended a talk from Guido about something related to AppEngine. This one was oriented to people with a background on AppEngine, as Appstats is an application that allows you to gather some statistics about how your app is performing within the AppEngine infraestructure. Guido showed us some off-line real examples (off-line because the wifi wasn't working at that moment). For me, the talk not only covered Appstats but some internal information about how AppEngine works (using RPC calls, the kinds of backends you can use, etc). So it was quite interesting and it reminds be that I should get some free time to play with AppEngine itself.

Talk: Pyradiso Rapid Software Development

The pyradiso talk, I found it quite boring, let's see if it ends in something useful for the community (hope so! ;))

Next was this talk from Bart Demeulenaere but, more than a talk, it was a little introduction on his idea on creating a framework that improves python performance and HPC support. Then he asked the audience for ideas, searching for people willing to join him on this about-to-be-born project. I found this one not so interesting. The speaker had a strong background with Java and C++, but he missed a lot of related projects before setting up a talk like this (imho).

Talk: Idiomatic Python part II

The second part of the Idiomatic Talk from Raymond Hettinger

This one was a surprise for me, as I was expecting the talk Real time web with eventlet by Ben Ford but it was a last-minute change and Raymond Hettinger had the chance for a second session of the Idiomatic Python talk from yesterday.

Funny thing is that he forgot the VGA adaptor for his macbook, so I lent him mine and, as I lent him mine I had to stay for the talk (even if I didn't attend first part on monday). Anyway, I've to say that this talk was quite interesting and as soon as some minutes had passed, I was thinking that I should had come on monday for the first part of the talk...

Raymond just talk about things like the Collections Module, giving us some highlights like:

  • When subclassing a dict, you can use __missing to modify the behaviour of the dict when searching for a key (instead of raise directly a KeyError)
  • Some of the new features in Python 2.7/3.1 are Counter (a dict that knows how to count) and OrderedDict (a dict that remembers the order of the keys)

Then he showed us some tricks/hacks to simplify certain tasks.

Lunch time!

Today's menu was sausage (really big one, chopped into small pieces) + vegetables and spicy (again) sauce. The dessert was a piece of chocolate cake. I've to say that, imho, the food is being quite better than last year. After lunch I didn't attend any talk for a while (two talks in the end) because there were no talks really interesting, so I just kept myself seated somewhere where the wifi worked almost fine, working on some stuff. It was pleasant, as I could share some thoughts with other people, talk with even more people on the #europython IRC channel on Freenode and, definitely, have more fun.

I took my time to take a look at the place where everybody was suscribing to give a Lightning Talk (mine was still not there though):

The lighting talk suscription table, mine is still not there!

Talk: Fun with databases and django

Fun with databases django and Andrew "the machinegun" Godwin

The first of the two last talks of the day was Fun with databases and django, with Andrew Godwin (the maintainer of south). Amazing talk, even if we had some problems understanding Andrew (he really, really talks too fast for any human being!). He covered all the posibilities you've to store data when working on a django-based proyect, from SQL databases to messaging queues, going through document databases or key-value databases.

He recommended strongly MongoDB and Redis as the best options right now when talking about document databases and key-value databases (respectively) to work with in Python, but he strongly encouraged us to do some tests on our own and see all the available options, because each one could be the best one for a certain environment and only through testing you would find out which db is better for your project.

Talk: Advanced django ORM techniques

Advanced django ORM techniques

Daniel Roseman showed us with this talk some really god hacks to optimize our django ORM use. For me, it was probably one of the best talks so far. I understand almost every word from Daniel (I've a lot of work with django) and I found that some of the problems he explained through the talk were problems I found myself at some point of some of my works.

Very interesting indeed the way he was able to reduce the number of SQL queries executed against the database backend with some of those tricks.

I think it would be nice to meet him and show him some code of one or two of my latest projects.

Social, or how to have more fun!

After the conference I went for a walk by the Birmingham Canals. Something I already did last year. I think it is the perfect thing to do before lunch or dinner. I've got some pictures:

Old houses, new buildings

Old houses, new buildings, this is birmingham

This is what I've found to be very common in birmingham, you can find a lot of those really nice old-style british houses (with the clocks and things like that) and, just by them you can find really huge buildings, modern-style.

The Malt House

The Malt House, what a nice place to have a beer

I've been there last year, having a drink (or two) with Santi. It is a really nice place by the canals, so I wanted to go back and see how it was one year later.

The canals

The famous bham canals

It was a looong walk so I took some pictures of it. This is one of my favourites.

The bizzare puzzle building

So bizzare!

If you ever come to birmingham and you see that building on the picture, you will be astonished for a while. It is some kind of a puzzle, and it is empty on the upper middle side of it, you can watch the sky through it!

Even more fun after dinner

I had dinner at nandos and then a walked to the Walkabout, where I met some really nice guys from Slovenia, Belgium and Germany. We enjoyed the live music in the Walkabout for quite some time (We've been lucky that this year's europyhon is on the same week as the Annual Jazz Festival).

Then we met some other people in the Wellington and we had a great time just drinking beers, talking about a variety of topics... I had a great time, in fact, I've been with them until some minutes ago, when I decided to come back to the hotel to write this post and go to bed (tomorrow is conference day 3!).

So, this was the second europython 2010 day, really nice, both inside and outside the conference!

Posted by wu at 04:09 | Comments (0) | Trackbacks (0)
22 julio
2010

Europython 2010: Third conference day and conference dinner

Nothing better than a good dinner and beers after attending some high-quality talks

Europython 2010

So, this was the third conference day. Due to the party yesterday I missed today's Keynote. Not that I arrived so late (I was there at 09:15) but, as the keynote already began when I got to the Conservatoire, I just choose to go to the new lecture room (where the first talk on my schedule was going to be). I was alone there and that meant peace of mind and spirit (which I really need after so-many-pints last night) and the wifi connection working smoothly. Afterwards, a lot of people told me that the keynote was quite good (so, I'll have to wait for the online video!)

Talk: Organise a Python code dojo!

Organise a Python Code Dojo

As soon as the keynote ended, people began to come in the room and the talk began. Nicholas Tollervey explained what is a coding dojo and shared his experience organising the London python coding dojo. I found the idea of the coding dojo quite interesting, even more if I think that is very similar to what we've been doing in Lugo for quite some time now, only with the differences that we call them bunkers (instead of dojos) and that coding dojos have a predefined set of rules. Nicholas is a really good speaker and he surprised us all when we went to the piano that was in the talk room (hey, this is a conservatoire!) and he played the piano, using it as a metaphore to explain something from the talk. It was quite amazing and a lot of people wrote tweets about it :).

Talk: Adapting libraries to Twisted

Adapting libraries to twisted

Next was the turn of Esteve Fernandez. I was not really interested in the topic (never used twisted before, even if I knew about it) but I would like to attend this talk because I know Esteve (from last year's conference) and there was no other priority talk in the schedule. As I've said, I'm neither a twisted developer nor a twisted user, so I don't know if the talk was really interesting. Estebe covered how you could adapt your libraries to be twisted-compatible (because seems twisted is a little bit difficult to work with) and he showed us some examples of his work adapting different kinds of libraries.

After the talk I went to the table where people were signing for the Lighting Talks, and I just wrote my name in there:

  • Borja Lopez - Zero14 CMS + django

It took me some time to decide myself, but once I was in front of the table, I knew I was going to do it!.

Talk: HotPy: a comparison

I think that we would like to group talks in topics in this europython conference, there would be three major topics:

1- Testing

2- Web development

3- Python interpreters/compilers

This talk would be in the third topic, as it was a comparison between HotPy, PyPy and Unladen Swallow, three of the current projects (with Jython and IronPython) that are trying to develop a replacement for the current cPython implementation. measuring time, not speed. Mark Shannon went through a list of features explaining the implementation of them in the three projects. When the talk was finished, I had the sensation that HotPy and PyPy are more mature projects than Unladen Swallow.

Lunch time!!

And today it was fresh salad with roasted chicken and two potatoes (and a blueberry muffin as the dessert). I had lunch with Ian Ozsvald and we have been talking about his lighting talk about the face-tracking robot, which was quite impressive. I told him that I had read the article Building a face-tracking robot (Headroid1) with Python in an afternoon in The Artificial Intelligence Cookbook last week so, for me, it was very nice to meet him (a pleasure, may I say). We had lunch outside the conservatoire, just sitting on the square between the Birmingham Conservatoire and the Birmingham Museum and Art Gallery. We met more people there and we talked about the talks we've been attended.

Talk: Python and the IMAP protocol

Python and the IMAP protocol

After lunch I went to the Recital Hall, where Bruno Renié covered the available libraries in Python to connect to IMAP servers and interact with them. At the beginning of the talk he told us that he was currently working on a (django-based) web client to connect to IMAP servers so, as soon as the talk was finished, I went to him just to talk a little bit about his project and to tell him I've a similar project which is currently pretty advanced.

During the talk he showed on-screen IMAP sessions using telnet through an SSL connection (to show us all the posible IMAP commands you can execute on a server, and the results of executing those commands) and then he went through imaplib ImapClient and a new library that has support for the new OAuth method gmail is using to authenticate users.

The talk was good, but I think it will be even better the posibility to collaborate with Bruno on a django-based webmail project.

Talk: Creating Libraries

Creating libraries

Another talk I was not really interested in, but I wouldn't miss. One recommendation: If you ever go to any kind of Python conference and in that conference there is a talk from Martijn Faassen, seriously, do not miss it, whatever it happens, don't miss that talk. Martijn is one of the best speakers I've seen. He is funny, the talks are always interesting (even if you are not closely-related to the topic) and you will learn something new.

In this talk he told us why you should create libraries instead of apps or packages (because more people will be able to use them later, for example) and he showed us some examples of developments he had made in the past.

Oh, and as he said, If your project has some developers from germany, whatever it would happen, don't loose those germans! ;D

Talk: Bringing OCCAM to Python

Bringing OCCAM to Python

As Martijn had to answer a lot of questions after the previous talk, I arrived a little bit late at this one. Sarah Mount introduced us to python-csp, a new library that helps with high-level concurrency and parallelism. I've to say that I wasn't paying so much attention (sorry Sarah) because I was writting some stuff for my lighting talk (Yes! ;D).

I kept myself working on the presentation for the Zero14 lighting talk during the coffee break after Sarah's talk. I was so excited that I couldn't stop.

Talk: Speed Thrills!

Speed Thrills!

This talk was an introduction to the repoze.BFG web framework. I already knew BFG and I thought it would be an interesting talk, but I was wrong. If you take a look at the abstract (Speed Thrills!), you will read something like:

The presentation will cover the core ideas behind BFG and at the end of it you might want to give it a try.

I've to say that Charlie Clark started the talk advicing us he wasn't going to give a technical talk at all, but it turned out to be mostly a promotional talk. He said that BFG was reliable, fast, scalable, etc, but he didn't explain why. He highlighted the good documentation BFG has, the BFG book, and the fact that Chris McDonough is behind this project but (IMHO) it should be far more interesting if he had showed us some examples of BFG code, or some real information why BFG is fast, scalable, etc.

After the talk I was a little bit dissapointed. I've read about BFG, I've see the good docs the project have and I think it deserved a better talk.

Talk: You don't use Grok

You don't use Grok

The last talk of the day. All the things I expected from the BFG talk were in this talk about Grok, another web framework coming out of the Zope community. Again, Martijn Faassen delighted us all with a great talk covering the history of Grok itself, when it was born, how it was born, and then moving onto some real explanations on the benefits/drawbacks of using Grok. I really enjoyed that one.

The conference dinner

After the last talk I went back to the hotel and I left the laptop there, picking up a jacket (just in case it could be colder outside later) and I headed for the Holiday Inn, where the dinner was going to take place. I arrived early so I had time for a beer (an invitation from a local, whose name I've forgotten :( ). The dinner was quite good and the menu was very similar to the one from last year's dinner. I enjoyed the food, but I missed the Monty Python's Holy Grail beer :(

After dinner I had two more beers before leaving to the hotel. Tomorrow will be the last day of europython 2010, and I don't want to miss anything!

Posted by wu at 00:30 | Comments (0) | Trackbacks (0)
23 julio
2010

Europython 2010: last conference day

the day I gave my first lighting talk, ever

Europython 2010

The last day of europython 2010 began early for me. I got to bed earlier yesterday so I didn't have too much problem to wake up today. I finished some work on the presentation of my lighting talk and then I left the hotel.

The last day of any europython conference is different, there are less talks (because there is some reserved time for the lighting talks) and there is some time in the end of the conference for announcements, thanks and a raffle.

Today's Keynote - Guido Van Rossum

This europython's ending Keynote was courtesy of Guido Van Rossum. It was a Q&A session and Guido answered a lot of questions both from the online q&a moderator from google (where we were able to write questions since the beginning of the europython and even vote for the best ones) and from the audience.

Guido Van Rossum keynote

There were some real good questions (and some stupid ones) and Guido took his time to answer as many as was posible within the 45-minutes keynote

Talk: Building a python web app

Building a python web app

First talk of the day. This one was very interesting for me, as it covered the experience the people from MediaCore on building a big webapp from scratch using python. It was quite interesting to see their point of view and they even provided some in-detail comparisons between django, turbogears and pylons (the three main web frameworks they've tried during the development), between the django template system and genshi (two different templates systems) and between the django ORM and sqlalchemy.

I found the comparisons quite interesting, even If I don't agree on certain critics to both the django ORM and template system. It seems that they don't like them, but their points on the supposedly weaknesses didn't appear valid to me.

For example, they were complaining about advanced if comparisons in the django template system, while in genshi seems to be easier (it is much like the ZPT using a xml-like syntax). Which they didn't say is that it is quite trivial to write a template filter that performs exactly the comparisons/checks you would need, removing that way all logic from your templates.

The same happened with the examples on the django ORM vs sqlalchemy comparison.

Anyway, it was a good talk, thnx guys.

Lighting talks timetable, mine included!

Lighting talks, mine included!

I took that picture before going to the next talk, it is the table were everybody could sign for giving a lighting talk, and there it was mine about Zero14 ;)

Talk: Caching techniques in python

Caching techniques in python

During this talk, Michael Domanski showed us some tips and tricks useful when working with caching in Python code. Quite impressive the example where he first used dicts to manage the cache (as a simple example) and then he moved on to memcache, doing only a small set of modifications on the previous code, keeping all the logic intact.

The worst part of this talk is that he had some good example pieces of source code embedded in his presentation (using apple's Keynote software), but the font size was too small to be read in a big proyector screen. I told him to use the control+trackpad trick and zoom the screen, but seems Keynote doesn't support it, too bad.

Lightning talks

As usual, the lighting talks were great. Some of them were funny, some other more serious and interesting, some other mere requests for help on a certain projects. All of them quite good.

This year I didn't take any pictures of the lighting talks, as I was waiting for my turn to be up there, talking during 5 minutes, and I was really nervous and excited.

After last year problems with the proyector, they set up a testing zone, where everyone had to try their laptops before getting into the real one. Anyway, it didn't work, and everyone not having a macbook had problems with the connection.

Mine was one of the last talks. When I heard my name, asking me to go down and seat on the queue, I thought my heart was going to explode because it was beating fast as hell, but as soon as I was there, in front of all the atendees, with the mike in my hand, I just knew what to do, what to say.

When I finished, first thing that came to mind was that I would have been able to give a 45 talk without too much trouble. Perhaps in europython 2011?

The end of europython 2010

When the time of the lighting talks was over, it was time for announcements (europython 2011 will be in florence, italy, there is djangocon 2010 that will take place in Portland on september and the plone conference in Bristol in a few months), thanks (all the volunteers, the sponsors, the speakers, the atendees, and specially for John Pinner) and the raffle!.

There was the usual raffle for all of us who fill the satisfaction form. What could I say, when John Pinner himself said my name, the sensation was almost the same that the one I felt when going to give the lighting talk. I couldn't believe it was me!

They were some options among the different prizes available (some books, some t-shirts) and I selected the Beautiful Teams book from Oreilly. I was really lucky, because I was going to buy that book. I decided then to buy another one, The Art of Community

Oreilly Beautiful Teams The art of community

Saying goodbye to some new friends

After everything was over, I met some people for going out one last time, have some food and some beers and just talk about the past few days. I've met some amazing people during this europython. I've shared with them ideas, beers, talks, and I think that I've made some new friends I'm going to meet again next year in Florence.

Thank you guys (you already know who you are) and thanks to anyone involved in making the europython 2010 posible. This has been a conference noone will ever forget.

Posted by wu at 01:00 | Comments (0) | Trackbacks (0)
26 julio
2010

Europython 2010: back home

Just finished adding the posts about the conference

Europython 2010

I've just finished to post everything in my blog some minutes ago. I've added the last 2 posts with the date/time when I wrote them, instead of the date/time when I published them.

I really wrote the posts offline every night, but I had to wait to post them because the lack of internet access in my ETAP room and the fact that the wifi connection in the conference didn't work most of the time. The first two days I went down to the hotel lobby, but even that wifi connection didn't work most of the time, so I decided to wait until being back home to publish the posts.

I didn't have a lot to write about Friday, I just spent the day traveling from Birmingham to Lugo, and I'm not going to bother you with it. I arrived home later than expected (once again there were some problems with the flight from London to A Coruña) and I was tired enough to crash on my bed and sleep like a baby on saturday. Today I took my time for going back through the week, learn some lessons and put everything in place.

I really enjoyed europython 2009, and europython 2010 was even better. I can't wait to see what will be europython 2011!

Posted by wu at 03:30 | Comments (0) | Trackbacks (0)
[1]