My experience at PyConES with ticketea engineering

For the third year in a row and since it's first edition, ticketea has proudly sponsored PyConES. And once again, most of our Engineering team has attended the conference and returned happy and eager to start tinkering with everything we learnt in this intense weekend.


This was my first time at PyConES so I really wanted to see what it had prepared for us and how it developed. And I have to say that I'm really impressed with the high quality of the talks and presenters. And the organizers were great, too! Good food and venue, although rooms were a little bit smaller than ideal (specially in the advanced track). But it's a tiny con against a big list of pros :)

I really liked the format, two or three days are sufficient for a lot of talks and not enough to make you saturated.

Relating the content of the talks, we hope that you liked our talks because we definitely learnt many interesting things at the ones we attended! Discussing with the team on the way back to Madrid the talks that popped up the most in the conversation were:

"Embedding" de Python en otras aplicaciones by Jesús Cea @jcea

This talk was about how to bridge C code to use in our python application, which sometimes can be really useful to optimize some high-CPU tasks. On his talk, Jesús explained a true story where he reused a ten year old plugin written in C, and embedded it in his modern application.

Trolling Detection with Scikit-learn and NLTK by Rafa Haro @rafaharo

With a very clear talk, Rafa introduced us to natural language processing with Python, showing an interesting user story: "Find out if a forum user is insulting another one". After several iterations, applying and mixing different techniques, both precision and recall where high enough to determine automatically this behaviour.

1M tickets in 50 languages and 35 currencies by Jose Gargallo @jgargallo

Finally, one of the most expected talks for our team was the one given by Jose Gargallo from Ticketbis. He talked about some of the techniques they applied in order to serve 1M tickets in 50 languages and 35 currencies. After the talk, we had the chance to speak with them and share some interesting insights about the ticketing business.

Our talks at the conference

Finally, here’s a recap of all the talks that our team gave during the weekend. We hope that those of you who attended found them interesting and useful. If you didn’t have the chance to be there, this is a chance to see what was discussed until the organization releases the videos (we will also let you know through our twitter account!)

DSLs: Can't parse that!♫ by Miguel Araujo @maraujop

Miguel gave a short and clear introduction to DSLs. Afterwards, he showed the process of creating a DSL for text processing, how to parse it, interpret it... The resulting language was so simple even his mother could use it!

How to scale a web page by Iñaki Galarza @igalarzab

In case you could not attend Iñaki's talk (there wasn't a single free seat!) here's what you missed: starting from the fact that Python rocks, he explained the different techniques available for better scaling both Hardware and Software. Load Balancers, concurrency, caching, query optimization...

SQJobs: Sencillo sistema de tareas en segundo plano by Federico Mon @gnufede

What? Another background task queue? YES! Check out the talk and you will understand our reasons to do it. Hilarious gifs apart, Fede showed how simple it is to create a job, launch it and consume it with SQJobs.

Python Funcional by Guillermo Vayá @WillyFrog_

Do you want to learn how to apply the principles of functional programming but don't know where to start? Take a look at Guille's talk to get a clearer idea.

If you liked Guille's talk and want to learn some more about functional programming in Python you should check Alejandro Brito's slides (Funcional para trollear.

Django request-response: Un viaje de ida y vuelta by Imanol Cea @imanolcg

This is a story about a Django app running on a server and how a request arrives and needs to be attended to. In his talk Imanol will uncover the magic at work to process a request into a usable response.

But, what is this magic? Is it posible to modify it to make it even more magical? And, HOW??

asyncIO: póngase a la cola por favor by Miguel Araujo @maraujop and Iñaki Galarza @igalarzab

10:00am: A horde of excited and volatile teenagers (and their poor dads) want to buy a ticket for the next Justin Bieber concert, or collapse your website, for what it's worth. But... Not today! Instead, they are "happily" waiting in your virtual queue, and only a manageable amount of them is directed to your purchase process. In order of arrival. How can you implement this with python3, asyncio, websockets and redis? Take a look!

Thank you and see you next year!