List of videos

Yamila Moreno - Lecciones aprendidas en un proyecto grande de Django
Yamila Moreno - Lecciones aprendidas en un proyecto grande de Django [EuroPython 2015] [22 July 2015] [Bilbao, Euskadi, Spain] [En Español] Un proyecto hecho en Django durante dos años da para muchas anécdotas y mucho aprendizaje. Esta charla es un repaso por las decisiones sobre lo humano y lo técnico que fuimos tomando durante el desarrollo del proyecto. Señalaré las buenas decisiones que tomamos en el equipo, y también las que no nos salieron bien y nos hicieron aprender por las malas. Tanto las buenas como las malas decisiones nos enseñaron muchísimo y aquí las compilo junto con unos cuantos tips que pueden divertir y, ojalá, inspirar a la audiencia, especialmente a aquellas personas que se enfrentan por primera vez a un proyecto grande.
Watch
Waits - Incorporando administrado repositorios de información para generar documentación on-demand
Todd Waits - Incorporando administrado repositorios de información para generar documentación on-demand [EuroPython 2015] [22 July 2015] [Bilbao, Euskadi, Spain] [En Español] Generar documentación de forma dinámica es relevante para los ingenieros de software porque ellos interactúan con la data en el mismo donde está localizada. Es también relevante para los clientes porque la documentación se puede presentar en un formato organizado y claro. En esta presentación, hablaremos de cómo usar un proceso unificado para generar dinámicamente la documentación de diversas fuentes de data incluyendo los wikis y los sistemas de rastreo de incidencias. Idealmente, nosotros como ingenieros deberíamos interactuar solamente con una Fuente de información que nos dara como resultado una documentación vigente y correspondiente al estado actual de un sistema. En el Presente, el cliente recibe documentos incompletos y sin actualización dando una incorrecta impresión del estado vigente de un Sistema. Usando un proceso unificado para generar documentación de solo una Fuente de data permite presentar al cliente lo que se merece: artefactos actualizados y completos dando el real y mas reciente estado de un Sistema. El resto de esta presentación se enfocara en cómo lograr este Sistema. Idealmente, nosotros como ingenieros deberíamos interactuar solamente con una Fuente de información que nos dara como resultado una documentación vigente y correspondiente al estado actual de un sistema. En el Presente, el cliente recibe documentos incompletos y sin actualización dando una incorrecta impresión del estado vigente de un Sistema. Usando un proceso unificado para generar documentación de solo una Fuente de data permite presentar al cliente lo que se merece: artefactos actualizados y completos dando el real y mas reciente estado de un Sistema. El resto de esta presentación se enfocara en cómo lograr este Sistema.
Watch
Lynn Root - Diversity: We are not done yet
Lynn Root - Diversity: We are not done yet [EuroPython 2015] [23 July 2015] [Bilbao, Euskadi, Spain] [Education Summit] The past few years, we have made large strides to welcome more diverse people into our community. You see better gender ratios in attendance numbers at Python conferences, the billed speakers, the amount of women-centric programs. We can see the benefits of outreach. But we're not done yet. While a lot of the Python community embraces the importance of being diverse, we haven't taken that mindset to our workplace. From recruiting, we still hear, "sure, we wanted to recruit women, but we couldn't find them" and "we only focus on quality here, not gender!" Within company cultures, we hear "gender equality isn't a problem here!" or "women don't ask for a higher salary" and to "just lean in!" This talk will recount the diversity efforts of the past few years and quantify the effects on the Python community. But this talk will also address the not-so-low-hanging fruit; the deeper-rooted problems that still plague the community from inside where we work. And it will talk the audience through actionable items to improve one's work place that welcomes more diversity.
Watch
Ben Nuttall - Physical computing with Python and Raspberry Pi
Ben Nuttall - Physical computing with Python and Raspberry Pi [EuroPython 2015] [23 July 2015] [Bilbao, Euskadi, Spain] [Education Summit] With the Raspberry Pi, it's easy to do physical computing directly from Python code - rather than usual embedded hardware engineering in C or Assembler. In this talk I'll show examples of physical computing projects that use Python on Raspberry Pi and demonstrate the sort of code used in such projects. Physical computing with Python is very popular in education - as it's so engaging, and more interesting than printing to the screen. This will be an informative session with learning possibilities to give those new to physical computing a change to get started.
Watch
Roberto Polli - Scaling MySQL with Python
Roberto Polli - Scaling MySQL with Python [EuroPython 2015] [20 July 2015] [Bilbao, Euskadi, Spain] Python is the language of choice for the orchestration part of MySQL 5.6. After a brief introduction of MySQL replication architecture, the talk [Slides here][1] presents the python utilities released by MySQL: - a set of drivers in pure-python - mysql-utilites for replication, management and failover - fabric, a tool for scaling, sharding and provisioning new servers You will see how to: - create resilient configurations in minutes - use mysql-fabric to create high available infrastructures As a plus, we'll show how we: - implemented a fabric provider for provisioning new databases via docker # Prerequisites Basic database knowledge, transactions, replication. MySQL specific concepts (eg: binary logs) are briefly introduced in the talk. [1]: http://www.slideshare.net/ioggstream/scaling-mysql-with-python
Watch
Michael Foord - To the Clouds: Why you should deploy to the cloud even if you don't want to
Michael Foord - To the Clouds: Why you should deploy to the cloud even if you don't want to [EuroPython 2015] [21 July 2015] [Bilbao, Euskadi, Spain] Do you deploy your Python services to Amazon EC2, or to Openstack, or even to HP cloud, joyent or Azure? Do you want to - without being tied into any one of them? What about local full stack deployments with lxc or kvm containers? Even if you're convinced you don't need "the cloud" because you manage your own servers, amazing technologies like Private clouds and MaaS, for dynamic server management on bare metal, may change your mind. Fed up with the cloud hype? Let us rehabilitate the buzzword! (A bit anyway.) A fully automated cloud deployment system is essential for rapid scaling, but it's also invaluable for full stack testing on continuous integration systems. Even better, your service deployment and infrastructure can be managed with Python code? (Devops distilled) Treat your servers as cattle not as pets, for service oriented repeatable deployments on your choice of back-end. Learn how service orchestration is a powerful new approach to deployment management, and do it with Python! If any of this sounds interesting then Juju maybe for you! In this talk we'll see a demo deployment for a Django application and related infrastructure. We'll be looking at the key benefits of cloud deployments and how service orchestration is different from the "machine provisioning" approach of most existing cloud deployment solutions.
Watch
Dougal Matthews - MkDocs: Documenting projects with Markdown
Dougal Matthews - MkDocs: Documenting projects with Markdown [EuroPython 2015] [23 July 2015] [Bilbao, Euskadi, Spain] MkDocs is a Python library for creating documentation with Markdown. The primary goal of the project is to lower the barrier for documentation writers and to help enable high quality prose based documentation. The primary maintainer of MkDocs will cover the following topics: - An introduction to MkDocs and the project goals. - How and why did the project start? - Who uses MkDocs today? - Discuss what we need to do to create great documentation and how MkDocs can help. - A tour of the key features currently in MkDocs - Adding MkDocs to your project. - Using themes in the documentation and making customisations - Publishing your documentation with ReadTheDocs and GitHub pages. - A look at the up and coming features in MkDocs and how you can help make these happen. - A comparison with Sphinx and why you should consider MkDocs.
Watch
Teodor Dima - Use Python to process 12mil events per minute and still keep it simple (Talk)
Teodor Dima - Use Python to process 12mil events per minute and still keep it simple (Talk) [EuroPython 2015] [21 July 2015] [Bilbao, Euskadi, Spain] Creating a large-scale event processing system can be a daunting task. Especially if you want it “stupid simple” and wrapped around each client’s needs. We built a straightforward solution for this using Python 3 and other open-source tools. Main issues to solve for a system that needs to be both performant and scalable: - handling a throughput of 1 million events per minute in a 4 cores AWS instance; - following the principle of least astonishment; - data aggregation and how Python's standard libraries and data structures can help; - failsafe and profiling mechanisms that can be applied to any Linux service in production; - addressing unexpected behaviors of Python’s Standard Library; like reading from a file while it is written; - tackling a sudden spectacular cloud instance failure; The alternative to this system would be to adopt existing technology stacks that might be too general, add more complexity, bloat, costs and which need extensive work to solve your specific problem. Moreover, our approach resulted in over 85% drop on hardware utilisation. [Context: Production Software – II (where good coding reduces the client’s bill)][1] [1]: https://eastvisionsystems.com/production-software-part-ii-good-coding-reduces-clients-bill/
Watch
Adam Forsyth - Python Not Recommended
Adam Forsyth - Python Not Recommended [EuroPython 2015] [21 July 2015] [Bilbao, Euskadi, Spain] Braintree is a Ruby shop. By default, we use Ruby and Rails for projects. We also use Ruby-based projects for much of our tooling, including puppet, capistrano, and rake. However, we strongly believe in using the right tool for the job. What that means has evolved over ti me, and I'll discuss what solutions we chose in the past as well as our current choices. So what's it like doing Python at a Ruby shop? You get lots of jokes about language features Ruby has but Python lacks and lots of disbelief that Python will survive the 2/3 split. People also tend to apply the best practices and conventions of Ruby to Python code as if t hey were the same. Python's major inroad at Braintree has been, surprisingly enough, as a platform for high-concurrency situations. This is a direct result of the power of Tornado as a platform for asynchronous I/O. It also helps that many Python is very approachable and many developers have at least some experience with it. Braintree has three pieces of our infrastructure using Python and Tornado -- an incoming request proxy; an outgoing request proxy; and a webook delivery service. They've served us well for 3+ years but all suffer from a number of problems. The outdated concurrency feature s of CPython / Python 2 as well as our lack of experience with and commitment to Tornado have always been an issue. As the meat of the talk, I'll speak in depth about the other issues we've encountered with each of the three applications and our short- and long- term solu tions to the problems. The state as of the end of 2014 appeared dire for Python at Braintree. All the old Python code in our stack is on the way out, and Python has been specifically recommended agaist for new projects. Our Python client library is used by some of our largest merchants, and is ready for the future by supporting Python 2.6+ and Python 3.3+ in a single codebase. We also have a vibrant Python community at Venmo, our sister company. Both Braintree and Venmo support Python by attending, hosting, sponsoring, and speaking at meetups, conferences, and other events in Chicago, New York, and elsewhere. At Braintree, our Data Science team uses Python almost exclusively and they're becoming a bigger part of our business every day. We also use custom tooling written in Python to manage our infrastructure.
Watch