My first PyCon

I have recently come back from my first ever Python Conference (PyCon), and in fact, my first ever generalistic development conference. This was quite a new experience as I am used to either academic (e.g., ECIR) or data-centric (e.g., Strata) conferences. PyConUK was quite different in many ways to the events I am used to, and I could not be happier I have attended it. The main reason is that Marco Bonzanini and myself had a workshop on Natural Language Processing in Python during the conference, but I also saw this as a great opportunity to get involved in a community that I have never been close to, despite the fact that I have coded in Python (intermittently) for several years.


Let me start by saying how friendly and multicultural (both personally and technically) the conference is. From the technical point of view, you could be in a table speaking with people from completely different backgrounds, from Dev Ops to Front end developers, from people teaching coding to kids in schools, to people using Python to monitor baby ventilators in hospitals. This means that you have always something to learn, and that is just awesome. I am aware that some people might see this as a negative factor as you might not meet people within your specific area, and it might feel like you will not learn anything directly applicable to your professional life. I will try to minimise this fear with three very simple points:

  1. I am a firmly believer that we (developers and researchers) should be knowledgable enough in a multitude of aspects. For instance, I want to improve my skills in front end development (and Data Visualisation) as well as Infrastructure and DevOps.
  2. You would be surprised how many resources (e.g., libraries) people not working on your field can recommend that are very relevant. In my case, I have “re-discover” several libraries that I will play with in the next days/weeks: Hypothesis (for property-based testing), recipy (to record provenance), xarray (n-dimensional structures with core pandas functionality) and cerberus (data validation).
  3. You will eventually end up chatting with someone within the same interests as you given the fact that you are likely to be in the same talks. For instance, Ian Ozsvald suggested to use seaboard and pandas for exploratory data analysis (EDA). Although I know Ian well from PyData London and I have worked before with both libraries, I have not used them like that and I will definitely check his notebook.


Another great surprise for me was the quality of the presentations. The academic conferences have a lot to learn from events like PyConUK where the talks were clear, engaging and, in some cases, absolutely brilliant. And this was before we had the “children’s day” where the PyCon community teach kids to code. I did not know what to expect when I was in the audience and these kids around 8yrs old came to the stage to explain how they have developed amazing things with a Raspberry Pi or a microbit. Some of the inventions included a “virtual dice” that will randomly chosen a number from 1 to 10 and show it in the LEDs of a microbit, or showing a sad face if you shake it. It was absolutely mind blowing to see them presenting these inventions and in front of a full audience (probably around 400 people at that point). Our future looks much brighter now… Thanks to the conference, you can also enjoy my positivism by watching them in YouTube thanks to the PyConUK channel.

The children track was indeed a very special moment, one full of optimism. The only other event in the conference that matched that one in an emotional level was the presentation given by Jessica Upani. She talked about about the PyCon event they are organising in Namibia and how they are fighting to give people have access to computers so they can learn to program. The room was completely conquered by the power of her speech, the absolute courage of her actions, and her cry for help to the community in order to provide a safe space for her students to learn how to code. You could feel how everyone in that room (myself included) suddenly realised how privileged most of us are just by the place in the world we were born in while everything we take for granted just does not exist elsewhere. The best representation of this was the member of the audience who went to the microphone and, barely keeping his tears in, ask the question:

“This kids just need a place to code right? We cannot give you a place, but we can give you the money. How much would it cost?”.

It is terrible to see this situation but it is amazing to see how they are overcoming some of their problems so bravely. For instance, some of Jessica’s school kids were second on a programming competition while having almost not infrastructure to learn. Nonetheless, I have high hopes and no doubt they will find a place to do what we all love doing, and I am sure the PyCon community will help them to do so.

In terms of organisation, it must been quite challenging to organise an event for more than 550 people and the organisers did a really good job. Nonetheless, there are some things that could be further improved. For instance, some of the rooms were quite warm and overcrowded, which meant that a lot of people had to wait outside. This is obviously a very difficult problem to solve with such volume of people but we could run some surveys in advance in order to know what talks will probably be more popular. I was also sadden by the lack of t-shirts and stickers. This was my first ever PyCon and I was really looking forward to proudly wear a PyCon T-Shirt around. However, I understand that reduce the price of the conference tickets is one of the main goals for the organisers, and that some of the money was (well) spent allowing people from developing countries to travel to Cardiff. One amazing (and quite novel) asset that the conference provided is a “quiet” room. Conferences are extremely tiring events and having a quiet room to either do some work or just escape from the constant influx of information is a fantastic resource.


Going a bit more technical, and excluding Python for education and the massive amount of interesting talks and ideas related to Microbit and Raspberry Pi, there were two other topics throughout the conference that I found quite interesting. Firstly, type checking and hints in Python (see PEP 484) were discussed by different people. This is a fascinating topic (not only in the Python world) that has started several debates, arguments and a couple duels in different tech companies, including Signal. In the specific case of Python, several tools and libraries were mentioned. Including PyCharm (IDE), Pylint (Code analysis), PyType (static type inferencer) and, probably the most popular, MyPy (static type checker). A very important point made by multiple speakers was that we can do type checking only when needed. Secondly, I truly enjoyed the talk given by Peter Goldsborough about Deep Learning with TensorFlow. Peter gave one of the best explanations of deep learning (including CNN) that I have seen in a while. He also went into some details of TensorFlow itself underlying some of its benefits such as the fact that you can create the same code and either run it locally or in a cluster with no modifications to the underlying codebase. I have to admit that this does not change my priorities as I was already planning to test both TensorFlow and TFLearn. Nonetheless, it was a really good talk, despite the fact that it was in a very warm and crowded room. He also suggested to check the Audacity course on Deep Learning by Google.

As a summary, I had a fantastic time in a great conference with an amazing community. Looking forward to see you all soon.


Elasticsearch and Clojure: Getting Started

Search is omnipresent these days, from the moment we type a set of keywords into our favourite search engine to find a webpage we are looking for to the moment we type a name and expect our email client to find all the emails sent by that person. Both these processes are based on years of research and experimentation in the field of Information Retrieval in order to efficiently being able to find the most relevant documents.

This blogpost will show how to set up Elasticsearch, one of  the best and most popular search engines (with Solr being the other main alternative). Its main characteristic is to allow unbelievable scalability and advance querying and indexing capabilities with minimum engineering effort. In addition to this, I will also shown how to perform some  basic operations using elastisch, a fantastic library for elasticsearch written in Clojure.

Continue reading


NewsIR 2016

After a long organisation process (explained in my last blogpost), the workshop on Recent Trends in News Information Retrieval (NewsIR) finally took place during the European Conference on Information Retrieval (ECIR) a couple of weeks ago in Italy.

Continue reading


NewsIR 2016 (Behind the scenes)

About a week ago I attended the European Conference on Information Retrieval (ECIR). The conference was great and I will write a blogpost about it soon. However, the main focus of this article is one specific workshop within that conference: the Recent Trend in News Information Retrieval (NewsIR). The reason why I want to talk about it is because I was the lead organiser and the event ended up being a success much bigger than we could have predicted. This blogpost will explain how the workshop idea was born and how the workshop was organised. We thought it is worth sharing this knowledge hoping that other people can get some insight out of it. A latter blogpost will focus on the content of the workshop itself.

Continue reading


February PyData Meet-up

I have attended PyData once again the London PyData meet-up and I am as happy as I was the first time. The day started with some news from the organisers who listed some interesting discoveries within the python ecosystem:

Continue reading


PyData meetup

It has been ages since I wrote my last post and I think my first PyData meet-up is the perfect event to catch-up with it. PyData (London) is the biggest group for both Python and Data Science in London with more than 2,300 registered members.

Continue reading

What are the skills that the industry is looking for in new developers?

Life has been very busy (but good) these last weeks both from the professional and personal life and I have neglected the blog. I will change this in the next weeks and try to come back to my usual speed. For the moment being, I will share my answer to a question that I have been asked in several occasions in the past, especially when I visit universities: “What are the skills that the industry is looking for in new developers?”:

Continue reading