List of videos

Roberto Polli - The Router Game

Roberto Polli - The Router Game [EuroPython 2016] [18 July 2016] [Bilbao, Euskadi, Spain] (https://ep2016.europython.eu//conference/talks/the-router-game) This interactive game teaches the basic of ip and ethernet protocol using just paper and pens, and become very popular with our interns and in our LUG meetings. Participants are divided in teams, simulating simple network infrastructures (eg. computers connected by an hub and a switch). ----- This interactive game teaches the basic of ip and ethernet protocol using just paper and pens, and become very popular with our interns and LUG meetings. Participants are divided in teams, simulating simple network infrastructures (eg. computers connected by an hub and a switch). Every player has a role: a PC or mobile phone, an HUB, a Switch, a Router, and must communicate with the others following the associate specification (eg. an hub should broadcast message to every neighbour, a switch should populate the mac address table, ...) The team which is faster in exchanging messages wins.

Watch
Mai Giménez - Un vector por tu palabra

Mai Giménez - Un vector por tu palabra [EuroPython 2016] [19 July 2016] [Bilbao, Euskadi, Spain] (https://ep2016.europython.eu//conference/talks/un-vector-por-tu-palabra) El ecosistema científico de python es extraordinario y saca músculo con las últimas aportaciones de la comunidad científica. Revisaremos nuevas aproximaciones a la representación de texto. ¡Tus cadenas de texto merecen algo más que una mísera bolsa de palabras! Veremos cómo se aplica la representación distribuida (word embeddings) en un caso práctico de aprendizaje automático, y daremos consejos para hacer experimentos replicables y obtener datos significativos. ----- “Dime con quien andas y te diré cómo eres” Este dicho es una de las ideas más revolucionarias en PLN. Podemos saber muchas cosas de una palabra por su contexto. No es lo mismo un adorable gato que un gato mecánico, pero por el contexto diferenciamos esta palabra polisémica. Hasta ahora la mayor parte de los modelos representan una frase como una bolsa de palabras. Por ejemplo, si queremos representar este conjunto de frases: [“I love Python”, “I love NLP”, “Pyladies are cool”] tenemos un vocabulario de siete palabras: [“I”, “love”, “Python”, “NLP”, “Pyladies”, “are”, “cool”] esta representación crea un vector de tamaño del vocabulario para cada frase, y pone a 1 si la palabra aparece y a 0 en el caso contrario : [[1,1,1,0,0,0,0], [1,1,0,1,0,0,],[0,0,0,0,1,1,1]] ¡Pero,se pierde el contexto y los vectores pueden ser gigantes y con muchísimos 0s! Recientemente, hemos encontrado una forma mucho mejor de representar las palabras: La representación distribuida -word2vec, por ejemplo- En esta charla exploramos esta representación y cómo aplicarla en problemas de clasificación utilizando textos de redes sociales. Navegaremos por el rico ecosistema científico en python, veremos cómo crear gráficas significativas y hablaremos de la importancia de escribir experimentos bien diseñados, replicables y con código elegante y por supuesto de la importancia de difundir el conocimiento. Debemos inspirar a la siguiente generación de científicos y científicas ¡Seamos extraordinarios!

Watch
Jose Manuel Ortega - Hacking ético con herramientas Python

Jose Manuel Ortega - Hacking ético con herramientas Python [EuroPython 2016] [19 July 2016] [Bilbao, Euskadi, Spain] (https://ep2016.europython.eu//conference/talks/hacking-etico-con-herramientas-python) El objetivo de la charla sería mostrar las herramientas que disponemos dentro de la propia API de Python y librerías de terceros para desarrollar nuestras propias herramientas que permitan realizar pruebas de seguridad y de pentesting de las aplicaciones. ----- Python se ha convertido en el lenguaje más usado para desarrollar herramientas dentro del ámbito de la seguridad. Muchas de las herramientas que podemos encontrar hoy en día como escáner de puertos, análisis de vulnerabilidades, ataques por fuerza bruta y hacking de passwords, se han escrito en este lenguaje ,además de ofrecer un ecosistema de herramientas para realizar pruebas de seguridad y de pentesting de aplicaciones. Entre los puntos a tratar podríamos destacar: - **Introducir Python como lenguaje de desarrollo de herramientas de seguridad** - **Introducir librerías para obtener información de nuestro objetivo como Shodan,pygeocoder,pygeoip** - **Análisis y extracción de metadatos en Python en imágenes y documentos** - **Análisis de puertos con herramientas como python-nmap**

Watch
Cameron Macleod - Implementación de un Identificador de Sonido en Python

Cameron Macleod - Implementación de un Identificador de Sonido en Python [EuroPython 2016] [19 July 2016] [Bilbao, Euskadi, Spain] (https://ep2016.europython.eu//conference/talks/implementacion-de-un-identificador-de-sonido-en-python) El tema que nos ocupa es como implementar un identificador de sonido tipo Shazam usando técnicas DSP. Los puntos a seguir serán, implementación, retos y pasos adicionales. El proyecto que nos ocupa se encuentra todavía en proceso de desarrollo (el código [subido en GitHub][1]) y fue inspirado después la conferencia, [Over-the-Air Audio Identification][2] en FOSDEM 2016. [1]: https://github.com/notexactlyawe/abracadabra [2]: https://fosdem.org/2016/schedule/event/audio_identification/ ----- El tema que nos ocupa es como implementar un identificador de sonido tipo Shazam usando técnicas DSP con ayuda de unas fantásticas bibliotecas. Los puntos a seguir serán, implementación, retos y pasos adicionales. El proyecto que nos ocupa se encuentra todavía en proceso de desarrollo (el código [subido en GitHub][1]) y fue inspirado después la conferencia, [Over-the-Air Audio Identification][2] en FOSDEM 2016. La estructura básica del proyecto consiste en un clasificador y un reconocedor. El clasificador toma huellas del sonido y las procesa en una forma investigable para el reconocedor que usa estas huellas para la identificación y búsqueda de archivos almacenados con el fin de encontrar la semejanza mas probable. El reconocedor estará expuesto en un entorno API. La conferencia intentará introducir el área de DSP a la audiencia y los conceptos que están detrás aplicaciones como Shazam. Explicaré todos las nociones incluidas en una manera sencilla. [1]: https://github.com/notexactlyawe/abracadabra [2]: https://fosdem.org/2016/schedule/event/audio_identification/

Watch
Pau Ruŀlan Ferragut - Pytest desde las trincheras

Pau Ruŀlan Ferragut - Pytest desde las trincheras [EuroPython 2016] [19 July 2016] [Bilbao, Euskadi, Spain] (https://ep2016.europython.eu//conference/talks/pytest-desde-las-trincheras) Todo programador tiene interés para que su software sea fiable y estable. Haremos una sencilla introducción a pytest con el caso de uso de un site internacional para el que generamos cientos de tests y redujimos drásticamente los errores en producción. Con este simple ejemplo demostraremos que no siempre necesitamos hacer TDD para disfrutar de las ventajas de un framework de testing. ----- Las metodologías de desarrollo que incorporan la escritura de pruebas desde el momento cero tienden a generar código más estable y fiable pero la realidad es que muchas veces no gozamos del privilegio ni del presupuesto para escribir tests para todas las características de nuestro producto. Pero si tenemos a nuestra disposición herramientas de testing que nos permitan eliminar los errores evitables como romper enlaces en la página de inicio nos quitaremos el miedo a hacer pases a producción y generaremos más valor al negocio. La charla no tiene pretensión de ser ni una introducción al test driven development ni de las complejidades de qué es un buen o mal test. El objetivo es animar a todo aquel que todavía pruebe sus proyectos manualmente a intentar algún grado de automatización. Para ello la estructura será una presentación de pytest, exponer algunos plugins altamente recomendados y centrarse en el caso de uso de una página con presencia en ocho países donde automatizamos un montón de comprovaciones simples que nos permitieron reducir los errores evitables.

Watch
Moshe Goldstein/david dayan - Implementing Parallel Programming Design Patterns using EFL for Python

Moshe Goldstein/david dayan - Implementing Parallel Programming Design Patterns using EFL for Python [EuroPython 2016] [19 July 2016] [Bilbao, Euskadi, Spain] (https://ep2016.europython.eu//conference/talks/implementing-parallel-programming-design-patterns-using-efl-for-python) EFL (Embedded Flexible Language), a deterministic parallel programming tool, may be embedded in any host language. Two versions of the EFL pre-compiler for Python were implemented. One translates EFL blocks into Python's Multiprocessing code, and the other one into DTM/MPI4PY code. EFL implementations of Parallel Programming Design Patterns will be shown, generated parallel code compared, and differences discussed. Visit flexcomp.jct.ac.il for further information. ----- Multi-core CPUs are abundant and utilizing them effectively requires programmers to parallelize CPU-intensive code. To facilitate this, we have developed EFL (Embedded Flexible Language), a deterministic parallel programming tool. The parallel parts of a program are written as EFL-blocks, which are embedded into a sequential host language program. The sequential parts of the program are written in the host language, outside the EFL blocks. EFL may be embedded in any host language by writing an appropriate EFL pre-compiler. At the moment, we implemented two versions of the EFL pre-compiler. Both pre-compilers translate EFL blocks into parallel Python code - one of them generates parallel code based on Python's Multiprocessing module, and the other one generates parallel code based on the DTM/MPI4PY Python module. We will present the principles upon which EFL is built. We will show the implementation of Parallel Programming Design Patterns using EFL's parallel programming constructs (such as parallel assignments, parallel for-loops, etc.). Using our two EFL pre-compilers we will show their translation to Python parallel code according to the Multiprocessing module as well as the DTM/MPI4PY module. The differences between code versions produced by the EFL pre-compilers will be discussed. For further information about the EFL project and our Flexible Computation Research Laboratory, visit http://flexcomp.jct.ac.il

Watch
Victoria Martinez de la Cruz - Build your first OpenStack application with OpenStack PythonSDK

Victoria Martinez de la Cruz - Build your first OpenStack application with OpenStack PythonSDK [EuroPython 2016] [19 July 2016] [Bilbao, Euskadi, Spain] (https://ep2016.europython.eu//conference/talks/build-your-first-openstack-application-with-openstack-pythonsdk) Join this talk to learn about the OpenStack Python SDK and how to deploy your web app step by step using different components in OpenStack. ----- How many times you heard about OpenStack and all the cool things it is being used for? Most of the use cases are big players that need to handle huge amounts of data and automate complex infrastructures. But what about actually using it, for you as a developer, to deploy a simple app? In my case, at least, that has not be an usual topic of discussion when talking about OpenStack. In this talk I'll introduce the OpenStack Python SDK, a project relatively new in the OpenStack ecosystem, and show you step by step how to deploy your own web app using different components in OpenStack.

Watch
Elena Cuoco - Python in Gravitational Waves Research Communities

Elena Cuoco - Python in Gravitational Waves Research Communities [EuroPython 2016] [19 July 2016] [Bilbao, Euskadi, Spain] (https://ep2016.europython.eu//conference/talks/pyhton-in-gravitational-waves-research-communities) On February 11th 2016 Ligo-Virgo collaboration gave the announce of the discovery of Gravitational Waves, just 100 years after the Einstein’s paper on their prediction. A brief introdutcion to data analysis methods used in Gravitational Waves (GW) communities Python notebook describing how to analyze the GW event detected on 14 September 2015. ----- On February 11th 2016 Ligo-Virgo collaboration gave the announce of the discovery of Gravitational Waves, just 100 years after the Einstein’s paper on their prediction. After an introduction on Gravitational Waves, on Virgo Interferometric detector, I will go through the data analysis methods used in Gravitational Waves (GW) communities either for the detector characterization and data condition or for the signal detection pipelines, showing the use of python we make. As practical example I will introduce a python notebook describing the GW event detected on 14 September 2015 and I will show a few of signal processing techniques.

Watch
Francisco Igual - MiniBrew: Brewing beer with Python

Francisco Igual - MiniBrew: Brewing beer with Python [EuroPython 2016] [19 July 2016] [Bilbao, Euskadi, Spain] (https://ep2016.europython.eu//conference/talks/minibrew-brewing-beer-with-python) Dutch startup MiniBrew intends to disrupt the beer market by introducing an easy-to-use beer brewing machine controlled by a mobile app and communicating with a Python backend. Users want real-time insights in their brewing process, which presented some challenges in terms of architectural design. In this talk Elements Interactive's Chesco discusses best practices and pitfalls of the IoT architecture of MiniBrew by diving into message queues, protocol buffers and full- session logging. ----- The number one alcoholic drink in the world is undoubtedly beer. With the rise of craft beers, also homebrewing has become very popular in recent years, although it is still a complex and expensive hobby. Dutch startup MiniBrew intends to change that with their revolutionary beer brewing machine, which is controlled by a mobile app and communicates with a Python API backend. In this talk Chesco will share his ideas and experiences in utilizing Python in the backend architecture for the MiniBrew project he and his team are working on at MiniBrew's development partner Elements Interactive. As many IoT projects, the ingredients for MiniBrew are a device with a limited chipset and internet connection, a backend to store the data acting as the mastermind and a mobile app to allow end users to control the brewing process. The fact that we want users to know in real-time how their beer brewing process is doing presented some challenges which required us to come up with a competitive architecture that would both give real- time status updates and not saturate the server with continuous calls. Chesco discusses best practices and pitfalls in designing and developing IoT architecture by diving into the RabbitMQ message broker, the MQTT protocol and protocol buffers. He will focus on the REST API and CMS site written in Python, elaborating on high frequency data in the apps, scalability, full-session logging and overcoming common architectural challenges.

Watch