Aprendiendo de Python en PyConES 2017

El pasado fin de semana nos desplazamos hasta Cáceres con motivo de la PyConES 2017, la conferencia sobre Python más importante de España. Este año, además de participar como ponentes y asistentes al evento, desde Intelygenz hemos tenido el placer de participar como Patrocinador Diamante, dando nombre a una de las tres salas donde tuvieron lugar las charlas.

Sala intelygenz en PyConES 2017

El evento comenzó el viernes 22 de septiembre en el campus universitario cacereño, que acogió 8 talleres sobre temas muy variados: análisis de datos, machine learning, tecnologías web...  Entre ellos, destaca el taller de DjangoGirls, un taller gratuito orientado a que mujeres con diversos perfiles y, sin necesidad de tener conocimientos previos, desarrollen su primera página web.

Tras reponer fuerzas, el sábado comenzamos con las charlas que se desarrollaron en un escenario de excepción: el Complejo Cultural San Francisco, un convento con cuatro claustros y una magnífica iglesia, que data de 1472. Hasta él se desplazaron más de 400 asistentes, que pudieron disfrutar de un total de 30 charlas el sábado y 24 el domingo, además de 2 keynotes de lujo. Este año, las charlas se estructuraron en 3 tracks y tenían una duración máxima de 25 minutos, lo cual permitió tratar una gran variedad de temas y llegar a un público tanto principiante como experto.

Naomi Ceder inauguró la jornada con una presentación en la que alabó a la comunidad de Python y en la que introdujo la labor de la PSF (Python Software Foundation), animándonos a participar en la fundación desde distintos posibles roles.

Fue el pistoletazo de salida para un día muy completo en el que aprendimos muchísimo de la mano de distintos ponentes, entre los cuales hubo bastantes mujeres, batiendo récords con respecto a otros años. A continuación os resumimos brevemente algunas de las charlas a las que pudimos asistir.

"Cómo complicar innecesariamente tu vida programando una shell asíncrona en Python" es el título de la ponencia en la que Javier Torres nos habló de su "juguete", una consola programada en Python que permite conectarse a varias bases de datos de forma asíncrona. Durante la misma, introdujo brevemente las distintas librerías que ha utilizado y nos invitó a cacharrear con su código, que podemos encontrar en este repositorio.

Muy interesante fue la ponencia de nuestro compañero Luis Mesas, sobre cómo poner proyectos de "Machine Learning en producción". En ella descubrimos que no sólo es importante la precisión de nuestro modelo, sino también su comportamiento en tiempo de ejecución: buena integración con las fuentes y consumidores de datos, velocidad al proporcionar las predicciones, etc. A través de aplicaciones reales de la T7 Machine, nos introdujo diferentes arquitecturas y herramientas necesarias para poder aplicar la inteligencia artificial al negocio de cada cliente.

Luis Mesas con su charla sobre Terminus7 en PyConES 2017

También aprendimos sobre DeepLearning aplicado a coches autónomos de la mano de Ricardo Guerrero, con "Mi coche ya es mayor de edad, creo que puede conducir él solito". En ella, nos contó cómo consiguió desarrollar un modelo de DeepLearning en Keras que no estrellara su coche: mejorando el conjunto de entrenamiento mediante datos sintéticos y partiendo de una arquitectura conocida como la de Nvidia.

Una charla con un enfoque menos técnico fue la de Miguel González, en la que hizo un repaso histórico sobre la codificación de caracteres. Titulada "¿Dónde está mi ñ?" su presentación nos fue transportando desde la invención del Morse en 1836, hasta las distintas versiones del estándar Unicode, con su inclusión de los emojis y los fototipos en los últimos años. Concluyó explicando el UnicodeError en Python y qué podemos hacer para evitar que aparezca.

Continuamos el día asistiendo a charlas sobre muy diversos temas, como patrones de diseño en Python, la herramienta Ansible y cómo utilizarla para automatizar tareas de configuración de servidores, las mejoras introducidas en Python 3.6 en el rendimiento de los diccionarios, el lenguaje GraphQL para realizar consultas a APIs...

Mención especial para la divertidísima exposición de Pablo Galindo y Víctor Terrón titulada "Metaclases: exactamente qué y (sobre todo) por qué", que atrajo a gran parte de los asistentes. A través de un ejemplo práctico y en un tono desenfadado, los ponentes desarrollaron un discurso en el que nos mostraron la diapositiva más importante de nuestras vidas: "las instancias son a las clases, lo que las clases son a las metaclases".

El domingo no defraudó, ofreciéndonos charlas tan interesantes como la de Ana  Pérez y Víctor Muñoz Berti sobre integración y despliegue continuo. En "Desplegando Python continuamente sin esfuerzo", se abordaron distintos tipos de test que debemos implementar, compararon varias herramientas para hacer despliegue continuo y nos invitaron a probar los ejemplos incluidos en su repositorio.

La mañana continuó con otros títulos como "Desplegando apliaciones Django en Swarm", en la que Yamila Moreno nos fue contando, a través de un ejemplo, cómo dockerizar nuestras aplicaciones y tenerlas desplegadas y disponibles mediante el orquestador de contenedores Swarm. Una charla muy interesante y amena, ejemplo de la alta participación femenina en esta edición.

Charla Django en PyconEs 2017

Tras el coffee break, aprendimos sobre programación funcional en Python de la mano de Marta Gómez y Braulio Vargas. Bajo el título "Haskell es mi pastor y Python, mi profeta" nos mostraron cómo este paradigma de programación puede ser mucho más eficiente en muchas ocasiones y nos animaron a que iteradores y generadores empiecen a formar parte de nuestro código... (si es que no lo hacen ya).

Siguieron charlas muy interesantes sobre modelos de DeepLearning, recomendaciones sobre cómo sacarle partido al framework pytest o nociones básicas de la librería de visión artificial OpenCV.

Terminamos la jornada con "Serverless with Python", de Alejandro Guirao, en la que nos habló de las FaaS (Function as a Service), un modelo de servicios en la nube más flexible y escalable que otras aproximaciones. También nos introdujo brevemente las distintas soluciones que existen en la actualidad, desde servicios como AWS Lambda o IBM BlueMix, hasta opciones DIY como OpenFaaS o Iron functions. 

El broche final lo puso Juan Luis Cano, presidente de la asociación de Python España, con su keynote titulada "Código abierto: Mucho camino por delante", en la que reflexionó sobre la situación del código abierto, su futuro y los retos a los que se enfrenta.

Sin embargo, no todo en la PyConES fueron charlas... Además de disfrutar de muchas y muy enriquecedoras "conversaciones de pasillo", durante el fin de semana también lo pasamos genial con nuestro Pokemon Challenge, un reto de machine learning patrocinado por Terminus7 en el que los participantes tenían que predecir qué Pokemon ganaría cada partida. La merecida recompensa de los ganadores consistió en una de nuestras geniales camisetas y cheques regalo de Amazon para seguir mejorando como entrenadores...

Ganadores del Pokemon Challenge de Terminus7 by Intelygenz

En definitiva, la PyConES 2017 ha sido un evento, sin duda, a la altura de las expectativas y ya sólo nos queda esperar otro año para seguir disfrutando con la edición de 2018, que tendrá lugar en Málaga... ¿te apuntas?

¿Te gustaría trabajar con nosotros? Genial ¡te esperamos!