List of videos

João Santos - Using Git Hooks to Help Your Engineering Teams Work Autonomously

João Santos - Using Git Hooks to Help Your Engineering Teams Work Autonomously [EuroPython 2015] [21 July 2015] [Bilbao, Euskadi, Spain] In this talk, Software Engineer Joao Santos will describe how the engineering team at Zalando has been migrating to local Git hooks to ensure that engineers can work autonomously and flexibly. Zalando--- Europe’s leading online fashion platform for men, women and children-- began shifting from SVN to Git in late 2013. Santos and his colleagues used Python to create a Git update hook that enabled the team to reject changes to a branch while still allowing changes to other branches. He’ll explain why his team chose Python for this job instead of a bash script, point out mistakes made during the process (and solutions his team used to fix them), and the benefits generated by this migration. He’ll also talk about turnstile: a set of open-source, configurable, optional local Git hooks, created by the Zalando team, that enables engineers to abide by internal rules for committing code while following their own coding style and workflow preferences.

Watch
Timo Stollenwerk - The Butler and the Snake - Continuous Integration for Python

Timo Stollenwerk - The Butler and the Snake - Continuous Integration for Python [EuroPython 2015] [20 July 2015] [Bilbao, Euskadi, Spain] Continuous Integration is a software development practice where members of a team integrate their work frequently, leading to multiple integrations per day. Each integration is verified by an automated process (including tests) to detect integration errors as quickly as possible. This talk will introduce the basic principles for building an effective Continuous Integration system for Python-based projects. It will present the lessons learned from building a Jenkins-based CI system for an Open Source project with a distributed team of more than 340 core developers that ranks among the top 2% of all open source projects worldwide (Plone).

Watch
Sever Banesiu - Distributed Workflows with Flowy

Sever Banesiu - Distributed Workflows with Flowy [EuroPython 2015] [20 July 2015] [Bilbao, Euskadi, Spain] This presentation introduces Flowy, a library for building and running distributed, asynchronous workflows built on top of different backends (such as Amazon’s SWF). Flowy deals away with the spaghetti code that often crops up from orchestrating complex workflows. It is ideal for applications that do multi-phased batch processing, media encoding, long-running tasks, and/or background processing. We'll start by discussing Flowy's unique execution model and see how different execution topologies can be implemented on top of it. During the talk we'll run and visualize workflows using a local backend. We'll then take a look at what it takes to scale beyond a single machine by using an external service like SWF.

Watch
Anders Lehmann - Online Education: challenges and opportunities for Staff and Students

Anders Lehmann - Online Education: challenges and opportunities for Staff and Students [EuroPython 2015] [23 July 2015] [Bilbao, Euskadi, Spain] [Education Summit] From september 2015 Aarhus School of Engineering will offer the education Bachelor of Electronic Engineering, as a combined online and on campus education. In the talk I will describe the technical and pedagogical setup, we are working at to meet the challenges of having both on-site and remote students. I will also touch on how IPython Notebook, will be part of the technical setup, and how it can be incorporated into the teaching.

Watch
Alessandro Amici - Solving the web most popular code shortening competition in Python.

Alessandro Amici - Solving the web most popular code shortening competition in Python. [EuroPython 2015] [24 July 2015] [Bilbao, Euskadi, Spain] “Code shortening” is the “sport” where participants strive to achieve the shortest possible source code that solves a programming problem by exploiting all the tricks and quirks of the language. The [SIZECON on SPOJ][1] is one of the oldest and most popular code shortening problems on the web with a bizarre twist, only character above ASCII value 32 are counted for the penalty. During the talk we will take a journey into some frightening depths of the Python language in order to write shorter and shorter solutions to SIZECON until, exploiting a number of truly mind-blowing tricks, we will reach the current record solution of 28 characters (above ASCII 32!). I promise I’ll show you the most obfuscated, contrived and sick python code you have ever seen and (hopefully!) will ever see. I invite participants to give [SIZECON][1] a try and check their score against the [Python2][2] and [Python3][3] SPOJ rankings. *Slides:* [http://slides.com/alessandroamici/solving-the-web-most- popular-shortening-contest-with-python][4] [1]: http://www.spoj.com/problems/SIZECON/ [2]: http://www.spoj.com/ranks/SIZECON/lang=PYTH%202.7 [3]: http://www.spoj.com/ranks/SIZECON/lang=PYTH%203.2.3 [4]: http://slides.com/alessandroamici/solving-the-web-most-popular-shortening-contest-with-python

Watch
Kyle Knapp - It Works on My Machine: Writing Python Code for Any Environment

Kyle Knapp - It Works on My Machine: Writing Python Code for Any Environment [EuroPython 2015] [20 July 2015] [Bilbao, Euskadi, Spain] Have you ever developed a nice, well-working python program on one environment, only to have it blow up with exceptions and tracebacks when you run it on a different environment? Have no fear! This talk will show you how to write and maintain python code that is compatible across environments that may differ by python versions and/or operating systems. Techniques and tips will be drawn from lessons and experiences gained from making the AWS CLI, a python-based command line tool to manage AWS resources, compatible across a wide range of environments. In a case-study-like format, real-life compatibility issues encountered while developing the AWS CLI will be presented along with how we resolved each of them. These real-life examples will encompass, but will not be limited to, the following topics: • How to use functions and classes that may differ across python versions and/or operating systems • How to handle version-specific bugs • How to handle strings, bytes, and Unicode across python versions • How to handle differing locale settings • How to handle file operations across operating systems • How and when to vendor dependencies • How to write tests that are compatible across python versions and operating systems • How to create a testing environment that monitors compatibility of code across various environments Ultimately, the goal of these examples is introduce to you some effective, real-world programming practices to overcome your current or next compatibility issue.

Watch
Alejandro Castillo - Deja de pegarte con tus servicios; import lymph

Alejandro Castillo - Deja de pegarte con tus servicios; import lymph [EuroPython 2015] [22 July 2015] [Bilbao, Euskadi, Spain] [En Español] ¿Y si pudieras centrarte en la funcionalidad de tus servicios en lugar de programar la integración entre ellos? lymph es un framework con personalidad propia para escribir servicios en Python que te permite hacer justo eso. Incluye descubrimiento de servicios extensible, comunicación vía petición-respuesta, comunicación vía publicación-subscripción extensible y gestión de procesos. A medida que crecen nuestros equipos de desarrollo, nos alejamos cada vez más de una arquitectura monolítica. Queremos empezar a escribir servicios sin tener que preocuparnos de los requisitos de infraestructura. Queremos desarrollar de forma rápida, centrándonos en nuestro trabajo. En esta charla os enseñaremos lo fácil que es desarrollar y ejecutar servicios con lymph. Echad un ojo a http://lymph.io. Esperamos vuestros pull requests.

Watch
Mikel Larreategi - Python gure etxean: (r)eboluzioa atzo, gaur eta bihar

Mikel Larreategi - Python gure etxean: (r)eboluzioa atzo, gaur eta bihar [EuroPython 2015] [22 July 2015] [Bilbao, Euskadi, Spain] [Euskara] 2000 urtean CodeSyntax sortu zenetik Python erabili dugu gure lan ia guztiak egiteko. Lan horiek egitean izandako (r)eboluzioa azalduko dugu hitzaldi honetan: python script arruntetatik, Zope aplikazioen zerbitzarian nabigatzaile baten programatzetik, fitxategi sisteman programatzera pasatu gara, Turbogears ere ikutu dugu eta orain Plone, Django eta Pyramid darabilgu. Since the beginning of our company in year 2000 we have been using Python to do our work. We will explain the (r)evolution we faced working with python during this 15 years: small python scripts, browser-based-development using Zope Application Server, we touched Turbogears and now Plone, Django and Pyramid applications. [Aurkezpena Slidesharen dago][1]. [1]: http://www.slideshare.net/erral/python-gure-etxean-reboluzioa-atzo-gaur-eta-bihar

Watch
Francisco Fernández Castaño - Knowing your garbage collector

Francisco Fernández Castaño - Knowing your garbage collector [EuroPython 2015] [20 July 2015] [Bilbao, Euskadi, Spain] As Python programmers we're used to program without taking care about allocating memory for our objects and later on freeing them, Python garbage collector takes care of this task automatically for us. Garbage collection is one of the most challenging topics in computer science, there are a lot of research around the topic and different ways to tackle the problem. Knowing how our language does this process give us a better understanding of underlying interpreter and allow us to know why problems like cycles can happen in CPython interpreters. So, this talk aims to be and introduction to the topic and a walkaround through different approaches followed in CPython and PyPy: * Generational Reference counting with cycles detector on CPython. * Incremental version of the MiniMark GC on PyPy.

Watch