I4S Ciberseguridad Impresiones del Europython 2017 en Rimini (Italia)

Como otros años, en el mes de julio se celebró el Europython 2017(@europython), la conferencia sobre el lenguaje de programación Python más importante a nivel europeo y el equipo de #i4s (@i4ssecurity) estuvo presente, este año 2017, como los anteriores. Esta conferencia está abierta tanto a principiantes en Python como a gente experimentada, y se tratan temas tan diversos como seguridad, testing, machine y deep learning, despliegue de aplicaciones, análisis de datos, Python usado en dispositivos hardware, etc.

El Europython 2017 de este año se ha organizado en Rimini, Italia, una ciudad con mar, playa y miles de sombrillas desplegadas a lo largo de ella. De hecho, en el logotipo del Europython 2017 se reflejan estos conceptos para hacer un guiño a la ciudad.

https://ep2017.europython.eu/static/p6/images/europython-2017-logo-white-bg.png
                            https://ep2017.europython.eu/static/p6/images/europython-2017-logo-white-bg.png

Charlas
Fuimos tres personas de #i4s al evento y nos intentamos distribuir para intentar cubrir el mayor número de charlas. Como ocurría otros años, se solapan demasiadas charlas a la vez. más los talleres, más los trainings y más los help desk. Lo bueno del Europython es que cubre muchísimos campos donde se usa Python y puedes encontrarte una variedad de gente increíble. Desde científicos que quieren explotar los datos que manejan, hasta desarrolladores de aplicaciones web, testers, gente de sistemas, educadores que intentan propagar el uso de Python y ofrecer a personas desfavorecidas una oportunidad para mejorar, etc.

Este año había una enorme cantidad de charlas sobre machine y deep learning, inteligencia artificial y big data analytics, temas cada vez más en auge y más necesario en la obtención de información a partir de datos y en la automatización de procesos. También, la visualización de datos fue importante en el evento. De echo una keynote de Jan Willem Tulp, de PyData, sobre ello fue espectacular, enseñando lo importante que es saber mostrar los datos según el contexto que se esté tratando.

Sobre seguridad Justin Mayer propuso en una charla reemplazar el inicio de sesión de usuarios mediante claves por un e-mail con un enlace para autenticarse y así, mejorar seguridad y usabilidad. También, sugirió usar autenticación multifactor como opción para mejorar la seguridad en aplicaciones.

Sobre testing hubo una de Alex Martelli sobre testing por capas muy original, que ofrecía un poco de luz a cómo testear las diferentes capas de una aplicación (datos, lógica y de alto nivel) y dónde usar mejor mocks y fakes en cada una de ellas. También salieron a la palestra testing sobre frontends hechos con Python, librerías para crear factorías de testing, y buenas prácticas y mejoras que se pueden aplicar para la depuración de errores y logging.

Sobre interfaces y API Takuro Wada dió una charla sobre OpenAPI, un lenguaje neutral para especificar una API. Comentó qué características tiene la nueva versión 3.0 que saldrá este verano y todas las herramientas disponibles para trabajar con este lenguaje. Mark Smith recalcó la importancia de documentar todo tipo de interfaces, sean del tipo que sean (funciones, excepciones, clases, etc.), y el sumo cuidado que hay que tener para versionar interfaces, realizando “add and deprecated” en vez de eliminar código sin avisar. Por otro lado, Fergal Walsh propuso no introducir código de frameworks dentro de funciones que implementan API y usar más decoradores en su lugar. Así, el código es más mantenible y más fácilmente modificable sin provocar imprevistos.

Sobre machine y deep learning y big data hubo varias charlas que merece la pena remarcar. La iniciación a TensorFlow por parte de Alejandro Solano fue muy interesante y acertada para conocer los conceptos base del deep learning y las redes neuronales con TensorFlow. Nikola Dipanov dio una charla sobre cómo en Facebook utilizan Python para gestionar y operar sus datacenters, y cómo resuelven algunos problemas de conectividad y disponibilidad. Por otro lado, Masaya Ohgushi mostró cómo se puede conseguir una precisión del 80% en el reconocimiento de objetos tridimensionales, aplicando diferentes modelos y experimentando con los parámetros de los mismos.

Sobre asincronía y paralelismo por supuesto hubo bastantes charlas. La de Antón Cáceres sobre librerías diseñadas para tratarla (Twisted Tornado, AsyncIO, Django Channels…) y su comparativa entre diferentes servidores web y cómo manejan las peticiones concurrentes fue realmente útil. Otras como la charla de Mike Müller sobre cómo diferentes casos de uso escalan dependiendo el número de threads empleados y cómo combinar asincronía y paralelismo también fue interesante.

Organización
Esta edición del Europython trajo varias sorpresas sobre la organización, ponentes y las comidas en el evento. No asistió Harry Percival, un clásico en muchos Europython, animando y aportando humor, conocimiento y buen rollo. Sobre la comida había mucha pizza y pasta, of course!, y sobre los sponsor comentar que hubo menos que otros años con sus stands. De echo Google no apareció, pero otros como Intel, JetBrains, Yelp, Demonware o Winton ya los vimos el año pasado.

Conclusión
Como colofón del Europython 2017 me quedo con la frase que pusieron en una keynote: “make the python we use more like the python we teach”. Creo que representa el espíritu de la comunidad de Python por integrar a las personas, sin discriminación y ofreciendo cada vez más caminos para compartir conocimiento y crear vínculos entre todos: programadores, desarrolladores, diseñadores, docentes, usuarios, niños, ¿robots? Es increíble como el aprendizaje y el uso de Python está creciendo incluso en lugares de África tan difíciles de vivir como Nigeria, Namibia o Zimbabue.


Autores del Artículo (I4S):

  • Alejandro Galindo García

Desarrollo software de Python dentro i4S y para mí cada día se presenta como un papel en blanco, listo para la creatividad. Me gusta resolver problemas y retos, hablar con las personas, intentar aprender de ellas, hacer actividades nuevas y, sobre todo, mirar el mundo desde otro punto de vista lejos del habitual.

Analista programador Python
Innovation 4 Security Universidad Rey Juan Carlos

https://twitter.com/galindale

https://www.linkedin.com/in/galindale/

  • Sergio Michiels Mangas

Me incorporé a I4S hace escasos seis meses como desarrollador en Python, y he encontrado una oportunidad increíble para aprender y mejorar. Aprendí Python por mi cuenta para realizar mi Trabajo de Fin de Grado, y creo que fue una gran decisión. Me gusta cuando se me presenta un problema e intento resolverlo de la mejor manera posible, eficiente y con un buen código.

Sec Dev Technician – Graduado en Ingeniería informática, Graduado en matemáticas
I4S Innovation4Security Universidad Rey Juan Carlos

https://www.linkedin.com/in/smichielsmangas/

Alejandro Galindo García, Sergio Michiels Mangas
Alejandro Galindo García, Sergio Michiels Mangas