List of videos

Max Tepkeev - How we switched our 800+ projects from Apache to uWSGI
Max Tepkeev - How we switched our 800+ projects from Apache to uWSGI [EuroPython 2014] [23 July 2014] During the last 7 years the company I am working for developed more than 800 projects in PHP and Python. All this time we were using Apache+nginx for hosting this projects. In this talk I will explain why we decided to switch all our projects from Apache+nginx to uWSGI+nginx and how we did that. ----- The talk will start from describing the setup we had for the last 7 years, i.e. Apache with mod_wsgi for Python projects and mod_php4/5 for PHP projects + nginx. I will explain why we used this setup for so long time, what problems we faced with this setup and what solutions we tried to solve them before switching to uWSGI. Then I will tell about uWSGI, what it is, how it works and what features it has. I will show the comparison of configuration files, how simple it is to configure uWSGI compared to Apache. Lastly I will explain how we managed to switch all our 800+ projects developed over the years in 2 different languages with 2 major versions changed (PHP4/5 and Python2/3), how this switch simplified our development and administration of this projects, the improvements we got in memory management and other areas. Of course I will concentrate mainly on our Python projects because it is EuroPython after all and not EuroPHP ;-)
Watch
Angel Ramboi - Gamers do REST
Angel Ramboi - Gamers do REST [EuroPython 2014] [22 July 2014] An overview (sprinkled with implementation details and solutions to issues we encountered) of how Demonware uses Python and Django to build RESTful APIs and how we manage to reliably serve millions of gamers all over the world that play Activision-Blizzard’s successful franchises Call of Duty and Skylanders. Topics the presentation will touch: tech stack overview; API design; configuration handling; middleware usage for logging, metrics and error handling; authentication/authorization. ----- An overview (sprinkled with implementation details and solutions to issues we encountered) of how Demonware uses Python and Django to build RESTful APIs and how we manage to reliably serve millions of gamers all over the world that play Activision-Blizzard’s successful franchises Call of Duty and Skylanders. Topics the presentation will touch: - tech stack overview - API design - configuration handling - middleware usage for logging, metrics and error handling - authentication/authorization
Watch
Maciej Dziergwa - How to become an Agile company - case study
Maciej Dziergwa - How to become an Agile company - case study [EuroPython 2014] [23 July 2014] The STX Next story has the classic arc of “zero to hero.” During the last 9 years, STX Next has grown from a small business with a handful of developers, to one of the biggest Python companies in Europe, and a leading proponent of agile and scrum methodologies. We feel that now is the best moment to share our experiences in implementing effective, agile development processes in a company of nearly 100 developers. Maciej Dziergwa will be discussing how he’s grown his business, what challenges there are today in python development, and how he plans to take his company to the next level. Especially we want to spread our ideas of building de-localized teams/frequently changing teams/teams with young members that learn rapidly making synergy effect. Join us during our Business Day on 23th July 2014! Remember that 2+2 can be much more than 4...
Watch
The Continuum Platform: Advanced Analytics and Web-based Interactive Visualization for Enterprises
Travis Oliphant - The Continuum Platform: Advanced Analytics and Web-based Interactive Visualization for Enterprises [EuroPython 2014] [24 July 2014] The people at Continuum have been involved in the Python community for decades. As a company our mission is to empower domain experts inside enterprises with the best tools for producing software solutions that deal with large and quickly-changing data. The Continuum Platform brings the world of open source together into one complete, easy-to-manage analytics and visualization platform. In this talk, Dr. Oliphant will review the open source libraries that Continuum is building and contributing to the community as part of this effort, including Numba, Bokeh, Blaze, conda, llvmpy, PyParallel, and DyND, as well as describe the freely available components of the Continuum Platform that anyone can benefit from today: Anaconda, wakari.io, and binstar.org.
Watch
Frank - Managing the Cloud with a Few Lines of Python
Frank - Managing the Cloud with a Few Lines of Python [EuroPython 2014] [23 July 2014] One of the advantages of cloud computing is that resources can be enabled or disabled dynamically. E. g. is an distributed application short on compute power one can easily add more. But who wants to do that by hand? Python is a perfect fit to control the cloud. The talk introduces the package Boto which offers an easy API to manage most of the Amazon Web Services (AWS) as well as a number of command line tools. First some usage examples are shown to introduce the concepts behind Boto. For that a few virtual hosts with different configurations are launched, and the use of the storage service S3 is briefly introduced. Based on that a scalable continuous integration system controlled by Boto is developed to show how easy all the required services can be used from Python. Most of the examples will be demonstrated during the talk. They should be easily adoptable for similar use cases or serve as an starting point for more different ones. ----- One of the advantages of cloud computing is that resources can be enabled or disabled dynamically. E. g. is an distributed application short on compute power one can easily add more. But who wants to do that by hand? Python is a perfect fit to control the cloud. The talk introduces the package Boto which offers an easy API to manage most of the Amazon Web Services (AWS) as well as a number of command line tools. First some usage examples are shown to introduce the concepts behind Boto. For that a few virtual instances with different configurations are launched, and the use of the storage service S3 is briefly introduced. Based on that a scalable continuous integration system controlled by Boto is developed to show how easy all the required services can be used from Python. Most of the examples will be demonstrated during the talk. They should be easily adoptable for similar use cases or serve as an starting point for more different ones.
Watch
Giles Thomas - An HTTP request's journey through a platform-as-a-service
Giles Thomas - An HTTP request's journey through a platform-as-a-service [EuroPython 2014] [23 July 2014] PythonAnywhere hosts tens of thousands of Python web applications, with traffic ranging from a couple of hits a week to dozens of hits a second. Hosting this many sites reliably at a reasonable cost requires a well-designed infrastructure, but it uses the same standard components as many other Python-based websites. We've built our stack on GNU/Linux, nginx, uWSGI, Redis, and Lua -- all managed with Python. In this talk we'll give a high-level overview of how it all works, by tracing how a request goes from the browser to the Python application and its response goes back again. As well as showing how a fairly large deployment works, we'll give tips on scaling and share a few insights that may help people running smaller sites discover how they can speed things up.
Watch
Maciej/Fabrizio Romano - Python Driven Company
Maciej/Fabrizio Romano - Python Driven Company [EuroPython 2014] [25 July 2014] Adopting Python across a company brings extra agility and productivity not provided by traditional mainstream tools like Excel. This is the story of programmers teaching non-programmers, from different departments, to embrace Python in their daily work. ----- By introducing ipython notebook, pandas and the other data analysis packages that make python even more accessible and attractive, we attempted to adapt python as a core technology across our whole company. We’ve challenged the dominant position of Microsoft Excel and similar tools, and dared to replace it by pandas-powered ipython notebooks. During this transitional phase, we have been inspired and sometimes forced to develop multiple packages that extend pandas, numpy etc., in order to enable our colleagues, in other departments, to access all the data they need. Moreover, we are developing several high level functionalities for the notebook environment. The notebook environment is allowing us to be extremely responsive to the changes our users are asking for, since, for part of the work, we don’t have to go through the whole traditional development process. The talk focuses on challenges and problems we’ve solved and managed in order to achieve our long term goal of creating highly agile, data-driven non-tech teams, free from the constraints imposed by mainstream technologies, and all of this thanks to python.
Watch
Federico Marani - Scaling with Ansible
Federico Marani - Scaling with Ansible [EuroPython 2014] [23 July 2014] Ansible is a powerful DevOps swiss-army knife tool, very easy to configure and with many extensions built-in. This talk will quickly introduce the basics of Ansible, then some real-life experience tips on how to use this tool, from setting up dev VMs to multi-server setups. ----- Infrastructure/Scaling is a topic really close to me, I'd like to have the chance to talk about how we set this up in the company I work for. Our infrastructure is around 10-15 servers, provisioned on different cloud providers, so a good size infrastructure. Presentation is going to be divided in 3 parts, first part is going to be focused on comparing sysadmin and devops, then there will be an introduction to the basic concepts of Ansible. I want to spend most on the last part, which is going to give some tips based on our experience with it. Many ideas will come from this presentation https://speakerdeck.com/fmarani/devops-with-ansible which i gave at DJUGL in London, with a longer session I will have more chances to delve into more detail, especially on how we use it, from vagrant boxes setup to AWS and DigitalOcean boxes, network configuration, software configurations, etc... I want to offer as many real-life tips as possible, without going too much offtopic as far as Ansible is concerned
Watch
Richard Wall - Twisted Names: DNS Building Blocks for Python Programmers
Richard Wall - Twisted Names: DNS Building Blocks for Python Programmers [EuroPython 2014] [25 July 2014] In this talk I will report on my efforts to update the DNS components of Twisted and discuss some of the things I've learned along the way. I'll demonstrate the EDNS0, DNSSEC and DANE client support which I have been working on and show how these new Twisted Names components can be glued together to build novel DNS servers and clients. Twisted is an event-driven networking engine written in Python and licensed under the open source MIT license. It is a platform for developing internet applications. ----- # Description My talk will consist of four main sections. Given the 30 minute time constraint, I may shorten or drop the two introductory parts in favour of the narrative and demonstration of interesting new APIs and code examples in the final two parts. My experience of delivering a similar talk at PyconUK 2013 is that those are the parts that will most interest the audience and prompt most audience questions. Here are my proposed sections with rough time allocations and descriptions: ## Introducing Twisted Names (0-5) Twisted includes a comprehensive set of DNS components, collectively known as Twisted Names. - <https://twistedmatrix.com/trac/wiki/TwistedNames> I will begin the talk with a quick introduction to Twisted Names and its capabilities, including one or two simple code examples. ## Introducing My Project (0-5) With generous funding from The NLnet Foundation I am adding EDNS(0) and DNSSEC client support in Twisted Names, including full DNSSEC verification and DANE support. In the talk I will quickly summarise the steps taken and lessons learned in securing that funding, and hope to encourage the audience to seek funding to support there own pet OSS projects. ## What's New in Twisted Names / Project Progress Report (10) My project plan is divided into the following broad milestones. 1. EDNS(0) 1. OPT record 2. Extended Message object with additional EDNS(0) items 3. EDNS Client 2. RRSET handling 1. Canonical Form and Order of Resource Records 2. Receiving RRSETs 3. DNSSEC 1. New DNSSEC Records and Lookup Methods 2. Security-aware Non-validating Client 3. Validating Client 4. DANE 1. A twistd dns authoritative server capable of loading and serving TLSA records. 2. A Twisted web client Agent wrapper which performs TLSA lookup and verification of a server certificate. 3. A HostnameClientEndpoint which performs TLSA lookup and verification of a server certificate. 4. A command line tool for debugging TLSA records and for verifying a certificate file against a domain name. 5. A TLSA Record class for encoding and decoding TLSA bytes. 6. A TLSA lookup method which accepts port, protocol and hostname and constructs a suitable TLSA domain name. In the talk I will quickly outline these goals, report on my progress so far, and show running code examples to demonstrate the new APIs. ## Future Developments (5) The aim of my project is to lay foundations that will eventually allow end-to-end DNSSEC verification in all the core Twisted networking components, including Twisted Conch (SSH), Mail (SMTP, POP3), Perspective Broker (RPC), Web (HTTP, XML-RPC, SOAP), Words (XMPP, IRC). Additionally I hope that this foundation work will encourage the development of end-to-end DNSSEC verification in many of the Open Source and commercial projects built on top of Twisted. I will end the talk by outlining these exciting possibilities, and demonstrate some code examples that illustrate these possibilities. ## Q & A (5-10) I'm determined to leave at least five minutes at the end for audience questions. At PyconUK 2013 I was frustrated because I ran out of time and ended up answering questions outside the lecture theatre; questions which would have been interesting to the whole audience.
Watch