Show filters Hide filters

Refine your search

Publication Year
1-36 out of 169 results
Change view
  • Sort by:
41:02 EuroPython English 2016

Unveiling the Universe with python

Valeria Pettorino - Unveiling the Universe with python I will describe a scientific application of python in the field of Astrophysics and Cosmology. How the publicly available package Monte Python is used to compare data from space satellite missions with theoretical models that attempt to describe the evolution and content of the Universe. The result is surprising, as it points towards a Universe which is mainly dark. ----- Python is widely used in Cosmology, which is the study of the Universe and all forms of energy in it. A large amount of data has been recently obtained through space satellite missions, such as Planck, financed by ESA/NASA. Planck has observed the radiation emitted about 13 billion years ago (the Cosmic Microwave Background, CMB), which gives us information on the content and space-time geometry of the Universe. Many competitive theoretical models have been proposed that aim at describing the evolution of the species contained in the Universe: therefore, cosmologists need a method to identify which theoretical model better fits the data. In order to compare data with theoretical predictions, cosmologists use Bayesian statistics and Monte Carlo simulations. Among the tools developed for the analysis, the package ‘Monte Python’ is publicly available and uses python to perform Monte Carlo simulations: this allows to determine the theoretical model that maximizes the likelihood to obtain the observed data. Such model is now the standard cosmological model and reveals a Universe that is very different from what scientists had ever expected. A Universe in which the atoms we are made of, constitute only 5% of the total energy budget. The rest is the so-called ‘Dark Universe’. I will illustrate the story of how cosmologists used python to analyse the data of the CMB and unveil the Dark Universe.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
1:01:57 EuroPython English 2016

Core Developers' Panel

Victor Stinner/Larry Hastings/Christian Heimes/Yury Selivanov - Core Developers' Panel Q&A session with Python core developers
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
45:03 EuroPython English 2016

A Gentle Introduction to Neural Networks (with Python)

Tariq Rashid - A Gentle Introduction to Neural Networks (with Python) A gentle introduction to neural networks, and making your own with Python. This session is deliberately designed to be accessible to everyone, including anyone with no expertise in mathematics, computer science or Python. From this session you will have an intuitive understanding of what neural networks are and how they work. If you are more technically capable, you will see how you could make your own with Python and numpy. ----- Part 1 - Ideas: - the search for AI, hard problems for computers easy fro humans - learning from examples (simple classifier) - biologically inspired neurons and networks - training a neural network - the back propagation breakthrough - matrix ways of working (good for computers) Part 2 - Python: - Python is easy, and everywhere - Python notebooks - the MNIST data set - a very simple neural network class - focus on concise and efficient matrix calculations with bumpy - 97.5% accuracy recognising handwritten numbers - with just a few lines of code!
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
42:12 EuroPython English 2016

Scaling Microservices with Crossbar.io

Tobias Oberstein - Scaling Microservices with Crossbar.io Microservices offer an efficient way to only scale those parts of your application which are performance bottlenecks. We will demo and explain open source tech which allows the easy scaling out across distributed devices. The audience will be able to donate processor cycles from their devices to our demo application (and win a hardware prize). The demo uses [Crossbar.io], an open souce application router (written in Python), and all demo code is open source. ----- Microservices offer an efficient way to only scale parts of your applications which are hotspots. Instead of running multiple instances of a monolithic application, with all the complexity and operational run-time overhead that entails, you can scale only the functionality which is a bottleneck. Today that increasingly means scaling out, not up. We will go over open source technologies which allow the easy scaling out across distributed devices. A live demo will allow the audience to participate with its devices (including mobile phones) in an application. (There will be prizes for the donors.) The demo uses [Crossbar.io,] an open source router for the open [Web Application Messaging Protocol (WAMP) written in Python. WAMP supports routed Remote Procedure Calls, and Crossbar.io uses these to implement various load-balancing strategies across endpoints which register a particular procedure. WAMP has a first-class library for Python ([Autobahn|Python]), but is cross-language, with support for a total of 11 languages. This allows you to implement polyglot and heterogenos microservices applications, from Python to Node.js to C# right into the browser. Microservices can run anywhere, since the outgoing connections to the router which WAMP uses avoid NAT problems. All software used is open source, and all demo code is provided on GitHub under the MIT license.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
35:51 EuroPython English 2016

FAT Python: a new static optimizer for Python 3.6

Victor Stinner - FAT Python: a new static optimizer for Python 3.6 The Python language is hard to optimize. Let's see how guards checked at runtime allows to implement new optimizations without breaking the Python semantic. ----- (Almost) everything in Python is mutable which makes Python a language very difficult to optimize. Most optimizations rely on assumptions, for example that builtin functions are not replaced. Optimizing Python requires a trigger to disable optimization when an assumption is no more true. FAT Python exactly does that with guards checked at runtime. For example, an optimization relying on the builtin len function is disabled when the function is replaced. Guards allows to implement various optimizations. Examples: loop unrolling (duplicate the loop body), constant folding (propagates constants), copy builtins to constants, remove unused local variables, etc. FAT Python implements guards and an optimizer rewriting the Abstract Syntax Tree (AST). The optimizer is implemented in Python so it's easy to enhance it and implement new optimizations. FAT Python uses a static optimizer, it is less powerful than a JIT compiler like PyPy with tracing, but it was written to be integrated into CPython. I wrote 3 PEP (509, 510, 511) targeting Python 3.6. Some changes to support FAT Python have already been merged into Python 3.6. We will also see other pending patches to optimize CPython core, and the bytecode project which allows to modify bytecode, it also includes a peephole optimizer written in pure Python.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
39:37 EuroPython English 2016

Infrastructure as Code: "pip install" your environment

Sebastian Neubauer - Infrastructure as Code: "pip install" your environment In this talk I will show how to build your own infrastructure- as-a-service on the example of "Postgraas", an open source postgres- as-a-service I wrote in python just for fun. With a simple curl request you can get your very own database, just like RDS on AWS. You will learn how easy it is to create such a remarkably useful service with hardly three hundred lines of flask, docker and some glue-code, a project for a rainy Sunday. ----- Continuous Delivery, DevOps, Lean - all those movements have one thing in common: extending the process of software development along the whole value stream, ultimately to the customer. This simple requirement causes surprising serious difficulties on traditional operations workflows. All of a sudden, a single manual ticket to the operations team is a critical blocker in the delivery process. Therefore all parts of the infrastructure, storage, databases, identities, compute resources must be provided as a self service for the developers in order to be able to achieve this goal. What one may call "the cloud" (including self hosted ones like open stack) is such a successful model not least because they offer exactly this "ticket- less" self-service. But why should we wait for "the cloud" to offer what we really need? We are python developers, we are hackers! In this talk I will show how to build your own infrastructure- as-a-service on the example of "Postgraas", an open source postgres- as-a-service I wrote in python just for fun. With a simple curl request you can get your very own database, just like RDS on AWS. You will learn how easy it is to create such a remarkably useful service with hardly three hundred lines of flask, docker and some glue-code, a project for a rainy Sunday. After the talk you will know how to amaze your colleagues by eliminating an annoying ticket or manual workflow with a simple flask app and some creativity.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
43:27 EuroPython English 2016

Kung Fu at Dawn with Itertools

Víctor Terrón - Kung Fu at Dawn with Itertools The itertools module is one of the cornerstones of advanced programming in Python. This talk offers practical advice about iterator algebra that can be put into practice immediately. Discovering the itertools module means taking the veil from our eyes, and once we use functions such as repeat, takewhile, dropwhile or product, there is no return — it is impossible to come back to the world of the mere mortals, where solutions are more complex and need more memory. ----- The itertools module is one of the cornerstones of advanced programming in Python. Part of the standard library, it provides an iterator algebra that allows us to elegantly chain abstractions, enabling solutions that are both simpler and more memory efficient. The goal of this talk is to offer practical advice and clear lessons that can be immediately put into practice. Illustrating it with numerous examples, attendees will leave having assimilated at least several concepts that will improve their code undeniably and irremediably. Emphasis will be on showing specific cases where a traditional solution can be overhauled over and over with functions from the itertools module. Let’s say, for example, that we want to alternate indefinitely between two values: -1 and 1. The novice would use a variable, updating its value at each step, and the average user would maybe opt for an endless generator. Both are worthy and honorable solutions, but they pale before the mastery of the martial artist who only needs itertools.cycle. Because that is the nature of the itertools module: once the veil falls from our eyes and we come across functions such as repeat, takewhile, dropwhile or product, there is no return. In this talk we will learn to identify when they can be used, accomplishing with a single line of code what for the mere mortals takes much more effort.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
45:52 EuroPython English 2016

APIs and Microservices With Go

Vinicius Pacheco - APIs and Microservices With Go In this talk we show how the Go language helped us get a high performance in a concise and simple API. Everything will be exemplified using the backdrop of a real case of Globo.com: API registrations. We will see how we went from 200 to 19,000 records per second to the impacts of this rapid growth and the consequences of Go of use. We also show how our microservices architecture was used in the project. ----- This talk is about Go, software architecture and parallelism. How we went from legacy, complex and slow software to new, speed, resilient and maintainable software. I'll start the talk showing the problemas and the challenges that my team had received. After that, I'll show the tests, tests of performance and the options that we did considering technologies and strategies of development. The difficulties and problems also will be show. Also I talk about: - Goroutines - Resilient patterns - Go tools - Architecture - Web performance How we leave of the Java ecosystem to new free ecosystem with microservices and how Go help us.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
33:11 EuroPython English 2016

How to improve your diet and save money with Python

Zuria Bauer/Daniel Domene López - How to improve your diet and save money with Python Optimization in Python (also known as mathematical programming) can be performed by minimization (or maximization) of an objective function within a model that can include discrete variables subject to a set of constrains. At this talk, chemical engineering students of the University of Alicante will introduce the audience to the possibilities of optimization, presenting Pyomo and showing real world examples such as how to improve your diet and save money at fast food restaurants. ----- Process optimization in industry has become essential in order to maximize the resources available and reduce energy consumption. Optimization problems become interesting when dealing with restrictions (linear or nonlinear) and integer variables (modeling the discrete decisions). Python ecosystem presents different libraries to solve optimization problems, some of them are CVXOpt, CVXPy, PulP, OpenOpt, or Pyomo. Among them, Pyomo results interesting because: - It can be used for Mathematical modeling in Python similarly to AMPL (and GAMS) - It communicates with the main solvers used in this field such as GLPK, Gurobi, CPLEX, CBC and PICO - It's free and open source Python library (BSD license), being developed by Sandia National Laboratories, USA. - It supports Python 3 and it is easy to install. The talk will be divided in three parts: 1. Introduction to Mathematical Programming/Optimization (15 min): visual introduction to optimization concepts including restrictions and non linearties (linear Programming, Nonlinear Programming, ILP, MIP, MINLP). 2. Introduction to the Pyomo sintax and a quick note for the installation (20 min): showing how to improve their diet and save money when ordering food in fast food restaurants. 3. Optimization problems in engineering (10 min): showing more advanced optimization examples that include decision variables.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
49:19 EuroPython English 2016

The Router Game

Roberto Polli - 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.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
39:20 EuroPython English 2016

How to migrate from PostgreSQL to HDF5 and live happily ever after

Michele Simionato - How to migrate from PostgreSQL to HDF5 and live happily ever after This talk is for people who have a lot of floating numbers inside PostgreSQL tables. I will bring as an example my personal experience with a scientific project that used PostgreSQL as storage for a rather complex set of composite multidimensional arrays and ran into all sorts of performances issues, both in reading and writing the data. I will explain how I solved all that by dropping the database in favor of an HDF5 file, while keeping the application running and the users happy. ----- This talk is for people who have a lot of floating numbers inside PostgreSQL tables and have problems with that. I will narrate my experience with a scientific project that used PostgreSQL as storage for a rather complex set of composite multidimensional arrays and ran into all sorts of performances issues, both in reading and writing the data. I will discuss the issues and the approach that was taken first to mitigate them (unsuccessfully) and then to remove them (successfully) by a complete rethinking of the underlying architecture and eventually the removal of the database. I will talk about the migration strategies that were employed in the transition period and how to live with a mixed environment of metadata in PostgreSQL and data in an HDF5 file. I will also talk about concurrency, since the underlying application is distributed and massively parallel, and still it uses the purely sequential version of HDF5. Questions from the audience are expected and welcome. The talk is of interest to a large public, since it is mostly about measuring things, monitoring and testing a legacy system, making sure that the changes do not break the previous behavior and keeping the users happy, while internally rewriting all of the original code. And doing that in a small enough number of years!
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
30:43 EuroPython English 2016

SQLAlchemy as the backbone of a Data Science company

Peter Hoffmann - SQLAlchemy as the backbone of a Data Science company In times of NoSQL databases and Map Reduce Algorithms it's surprising how far you can scale the relational data model. At [Blue Yonder] we use SQLAlchemy in all stages of our data science workflows and handle tenth of billions of records to feed our predictive algorithms. This talk will dive into SQLAlchemy beyond the Object Relational Mapping (ORM) parts and conentrate on the SQLAlchemy Core API, the Expression Language and Database Migrations with Alembic. ----- This talk will dive into SQLAlchemy beyond the Object Relational Mapping (ORM) parts and conentrate on the SQLAlchemy Core API and the Expression Language: - **Database Abstraction**: Statements are generated properly for different database vendor and type without you having to think about it. - **Security**: Database input is escaped and sanitized prior to beeing commited to the database. This prevents against common SQL injection attacks. - **Composability and Reuse**: Common building blocks of queries are expressed as SQLAlchemy selectables and can be reuesd in other queries. - **Testability**: SQLAlchemy allows you to perform functional tests against a database or mock out queries and connections. - **Reflection**: Reflection is a technique that allows you to generate a SQLAlchemy repesentation from an existing database. You can reflect tables, views, indexes, and foreign keys. As a result of the usage of SQLAlchemy in Blue Yonder, we have implemented and open sourced a SQLAlchemy dialect for the in memory, column-oriented database system [EXASolution]
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
21:39 EuroPython English 2016

How can machine learning help to predict changes in size of Atlantic herring ?

Olga Lyashevska - How can machine learning help to predict changes in size of Atlantic herring ? This talk is a case-study of how Python (Pandas, NumPy, SciKit-learn) can be implemented to identify the influence of the potential drivers of a decline in size of Atlantic herring populations using Gradient Boosting Regression Trees. ----- A decline in size and weight of Atlantic herring in the Celtic Sea has been observed since the mid-1980’s. The cause of the decline remains largely unexplained but is likely to be driven by the interactive effect of various endogenous and exogenous factors. The goal of this study is to interrogate a long time-series of biological data obtained from commercial fisheries from 1959 to 2012. We use gradient boosting regression trees to identify important variables underlying changes in growth from various potential drivers, such as: - Atlantic multidecadal oscillation; - sea surface temperature; - salinity; - wind; - zooplankton abundance; - fishing pressure. This learning algorithm allows to quantify the influence of the potential drivers of change with the test error lower when compared to other supervised learning techniques. The predictor variables importance spectrum (feature importance) helps to identify the underlying patterns and potential tipping points while resolving the external mechanisms underlying observed changes in size and weight of herring. This analysis is a useful case-study of how Python can be implemented in academia. The outputs of the analysis are of relevance to conservation efforts and sustainable fisheries management which promotes species resistance and resilience.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
59:57 EuroPython English 2016

Managing technical debt

Mircea Zetea - Managing technical debt Technical debt lives among us regardless if we are in the services business or building products. We discuss about it, we try to fix it or live with it, but can we actually prevent it? My reason for discussing this openly is because once it is there you do not only deal with the technical debt itself but also with the interest you must pay. What qualifies as debt? What qualifies as interest? How do we manage it? Is it really unavoidable? ----- Technical debt lives among us regardless if we are in the services business or building products. We discuss about it, we try to fix it or live with it, but can we actually prevent it? My reason for discussing this openly is because once it is there you do not only deal with the technical debt itself but also with the interest you must pay. My reason for discussing this openly is because once it is there you do not only deal with the technical debt itself but also with the interest you must pay. Comparing the two, probably the highest cost that we see is with the interest. As our code base grows and our deadlines get tougher we tend to forget about the cost our project will have to pay for every functionality that we implement in a hurry, for which we “forget” about tests or for which we write in a comment “this needs to be refactored” or “this is a temporary solution. refactor later”. What qualifies as debt? What qualifies as interest? How do we manage it? At what levels in our projects can we see the debt and the interest? Is it really unavoidable?
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
43:18 EuroPython English 2016

Hyperconvergence meets BigData

Rafael Monnerat - Hyperconvergence meets BigData This presentation show how to deploy **[Wendelin]**, the free software platform for Big Data & Machine Learning, using **[SlapOS]** , the free software hyperconverged Operating System (hOS). Written in 100% in Python, SlapOS and Wendelin, can create a complete Big Data Infraestruture with out-of-core capabilities ready to use and operate in just few hours. ----- This presentation aims to demonstrate how to use [SlapOS] (Hyperconverged OS) to deploy an entire Big Data Infrastrucure and show how "data life cycle" can be managed with [Wendelin] - covering ingestion, analysis, visualization and weaving it into an application. We'll show how Wendelin and SlapOS could handle acquisition, analysis and exploitation of data, making it a potential solution for IOT scenarios where data is available and needs some logic applied before being presented as web application, possibly on a commercial basis. The agenda of the presentation includes an introduction on SlapOS, as a tool used to deploy a wide range of different services and an introduction of Wendelin, as a tool in order to make out-of-core python applications. After a short introduction, we progress to show the steps to deploy SlapOS infrastructure and later to deploy Wendelin on the just deployed SlapOS, including an use case which shows SlapOS deploying a fluentd instance to ingest data to the Wendelin Database. To conclude, we make a live demo with an Jupiter using out-of-core python to handle wav files stored on Wendelin, and a second short demo on handle computer resources consumption data.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
43:06 EuroPython English 2016

How to conquer the world

Rogier van der Geer - How to conquer the world The popular board game of Risk has many fans around the world. Using a Python-based simulation of the game, we use a genetic algorithm to train a risk-playing algorithm. ----- During this talk we'll explain what genetic algorithms are and we'll explain an entertaining use-case: how to win at popular board games. During the talk we'll demo how object oriented patterns help with the design and implementation of these algorithms. We'll also demonstrate a library that allows users to push their own risk bots into a game and battle it out on.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
37:17 EuroPython English 2016

20 years without a 'proper job'

Rachel Willmer - 20 years without a 'proper job' Have you ever wondered how you could be your own boss? or how you could make money from your side project? or build the next Facebook or Uber. To be a coder in today's world of work is to have amazing opportunities to design the business life you want. I've enjoyed the last 20 years without a 'real job', as company founder, freelancer and side-project-hacker. Now I am bootstrapping my current company to profitability. Listen to my stories and learn from my mistakes and successes. ----- Have you ever wondered how you could be your own boss? If so, then this talk is for you. Maybe you're working on a sideproject and wonder how you could make some money from it? Or maybe you have the idea for the next Facebook or Uber? To be a coder in today's world of work is to have amazing opportunities to design the business life you want. You can work remotely; you can write books, or teach, or consult, with anyone anywhere. You can have a crazy idea on Friday and have it running by Monday. Design your architecture to use cloud computing, so your tiny team can scale up your huge ideas. Or keep it small, and just earn some extra money with a Wordpress plugin, or a training course. It has been 21 years since I last had a 'real job' and a regular income. I survived creating and running a company through the madness of the dotcom years. I made money from sideprojects, that I had started just for fun and for learning. I have freelanced without needing to use an agency to find the work. And now I'm bootstrapping my current business to profitability. Listen to my stories and learn from my mistakes and successes.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
24:27 EuroPython English 2016

The value of mindfulness and how it has arrived at Google

Ralph Heinkel - The value of mindfulness and how it has arrived at Google Mindfulness has proven to be a foundational skill that started as a pure buddhist practice. Nowadays mindfulness serves as the core technique of several western programs ranging from curing stress- induced medical problems to curricula for teaching successful business leadership, such as the Search Inside Yourself program developed at Google. The aim of this seminar is to provide a practical experience of mindfulness with a short introduction to how it can be applied by digital workers. ----- Mindfulness has proven to be a foundational skill that started as a pure buddhist practice. Nowadays mindfulness serves as the core technique of several western programs ranging from curing stress- induced medical problems to curricula for teaching successful business leadership, such as the Search Inside Yourself (SIY) program developed at Google in 2002. Mind is the root of all things. Neuroscience shows that attention is a fundamental function of the mind. Being able to direct attention to the present moment - and keep it there while performing daily tasks - is a great tool to navigate through life and its challenges with more engagement, more happiness, and more resilience. Focusing attention in a relaxed way enables us to disconnect from the overall noise found in a high-speed environment and get things done without feeling too overwhelmed by them. But being effective is not only about checking off more tasks - it is about how we are in resonance with our environment, how we interact with others, and how we face the increasing complexity in our professional life. The aim of this seminar is to provide a practical experience of mindfulness with a short introduction to how it can be applied in a technology driven world as experience by digital workers.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
24:12 EuroPython English 2016

High Performance Python on Intel Many-Core Architecture

Ralph de Wargny - High Performance Python on Intel Many-Core This talk will give an overview about the Intel® Distribution for Python which delivers high performance acceleration of Python code on Intel processors for scientific computing, data analytics, and machine learning. ----- In the first part of the talk, we'll look at the architecture of the latest Intel processors, including the brand new Intel Xeon Phi, also known as Knights Landing, a many-core processor, which was just released end of June 2016. In the second part, we will see which tools and libraries are available from Intel Software to enable high performance Python code on multi-core and many-core processors.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
28:57 EuroPython English 2016

Lessons Learned after 190 Million Lessons Served

Ricardo Bánffy - Lessons Learned after 190 Million Lessons Served What we learned along the way - processes, organization, technology and people - from 0 to 11 million students, 40 thousand courses and 20 thousand teachers.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
51:55 EuroPython English 2016

EuroPython 2016: Lightning Talks V

Various speakers - Lightning Talks Lightning talks, presented by Harald Massa - Vitalii Vokhmin - Deploying a Hobby App in Seconds - Jernej Makovsek - Selenium Components - David Terry - Model-Based Testing - Rafael - Considerations at Scale - Team Coala - Marketing by Programmers - Facundo Batista - Python Argentina - Ania Wszeborowska - PyCon PL - Anton Coceres - PyCon DE 2016 - Shai Efrati - The Krihelinator - Lars Claussen - Live Hydrological Modelling with 3Di - Leonardo Santagada - The XONSH Shell - Fabio Pliger - How to Scale Python for Excel Users
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
31:42 EuroPython Spanish; Castilian 2016

Entendiendo Unicode

Facundo Batista - Entendiendo Unicode Charla que explica qué es Unicode y otros conceptos relacionados para poder usar esta tecnología ----- La charla muestra de forma teórica/práctica qué son Unicode, las planillas de códigos, los caracteres, y las codificaciones, entra en detalle en las distintas codificaciones, para saber cómo usarlas, ejemplifica las reglas de oro para utilizar Unicode en nuestros programa, y termina mostrando algunas funciones útiles para el manejo de esa tecnología.
  • Published: 2016
  • Publisher: EuroPython
  • Language: Spanish; Castilian
41:23 EuroPython English 2016

The Joy of Simulation: for Fun and Profit

Vincent Warmerdam - The Joy of Simulation: for Fun and Profit In this talk discusses some joyful exercises in simulation. I'll demonstrate it's usefulness but moreover I'll discuss the sheer joy. I'll discuss how to generate song lyrics, I'll discuss how to get better at casino games, how to avoid math, how to play monopoly or even how to invest in lego minifigures. No maths required; just a random number generator. ----- In this talk discusses some joyful exercises in simulation. I'll demonstrate it's usefulness but moreover I'll discuss the sheer joy you can experience. I'll go over the following points (the short list): - I'll show how you can avoid math by simulating; I'll calculate the probability that two people in the live room have the same birthday. - I'll show how simulation can help you get better at many games. I'll start with simple card games and with the game of roulette. Most prominently I'll discuss how to determine the value of buying an asset in the game of monopoly. - I'll demonstrate how you can simulate Red Hot Chilli Pepper lyrics. Or any other band. Or legalese. - I'll demonstrate the results of a scraping exercise which helped me to determine the value of investing in Lego Minifigures. Depending on the level of the audience I might also discuss how biased simulation can help you solve optimisation problems or even introduce bayesian statistics via sampling. I'll gladly leave this decision to the EuroPython committee.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
35:50 EuroPython English 2016

High Performance Networking in Python

Yury Selivanov - High Performance Networking in Python The talk will cover new async/await syntax in Python, asyncio library and ecosystem around it, and ways to use them for creating high performance servers. It will explain how to build custom event loops for asyncio, with an example of using the libuv library with Cython to achieve 2-3x performance boost over vanilla asyncio. ----- The talk will start with an overview of async/await syntax introduced with PEP 492 in Python 3.5. We'll go through asynchronous context managers and iteration protocols it introduces. I'll briefly explain how the feature is implemented in CPython core. Then we'll explore asyncio design. I'll briefly cover event loop, policies, transports, protocols and streams abstractions. I'll explain that event loops are pluggable, which really makes asyncio a universal framework. We'll cover libuv - a high performance networking library that drives NodeJS. I'll highlight where it's similar to asyncio and how it's different. In the final part of the talk I'll explain how to make an asyncio compatible event loop on top of libuv. I'll showcase Cython, which is an amazing tool for tasks like this. Finally, I'll share some ideas on how we can further improve the performance of asyncio and networking in Python, and what are the challenges that we will face. **Objectives:** 1. Deeper understanding of async/await in Python and why it's important. 2. Deeper understanding of asyncio architecture and protocols. 3. How to improve asyncio performance by implementing custom event loops. 4. Show that it's easy to integrate existing complex & low level libraries with Cython. 5. Some perspective on how Python may evolve wrt networking.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
25:07 EuroPython English 2016

Async/await in Python 3.5 and why it is awesome

Yury Selivanov - async/await in Python 3.5 and why it is awesome async/await is here, everybody can use it in Python 3.5. It's great and awesome, yet only a few understand it. As a PEP 492 author, I'd really like to have a chance to better explain the topic, show why async/await is important and how it will affect Python. I'll also tell a story on how I worked on the PEP -- starting from an idea that I discussed with Guido on PyCon US 2015, and landing to CPython source code one and a half moths later! ----- The talk will start with a brief coverage of the story of asynchronous programming in Python -- Twisted, Tornado, Stackless Python & greenlets, eventlet, Tornado, asyncio & curio. We've come a really long road, and it's important to understand how we ended up with async/await. Then I'll go over asyncio and curio, showing async/await by example, explaining that in reality it's a very easy to use language feature. You don't need to know all the details to be able to successfully use the new syntax, and even build new frameworks on top of it. I'll then explain the async/await machinery in CPython, starting with generators and 'yield' expression, showing what is 'yield from' and finally, demonstrating how async/await is implemented in CPython. This will ensure that those who want to invent some new crazy ways of using async/await will have a starting point! I'll end the talk with a story of how I came up with the idea. How I shared it with Guido van Rossum, Victor Stinner, and Andrew Svetlow. How the first version of the PEP was born, and how we managed to push it to Python 3.5 in under two months period. The goal is to make people understand that it's possible to change your programming language -- in fact, Python, as any other programming language, wants new features and capabilities to be relevant.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
19:07 EuroPython English 2016

Free your papers, researchers!

Ryan Lahfa - Free your papers, researchers! Research is financed from public money and researchers publish papers. But, papers are often unavailable to everyone except if you pay money for it, which seems wrong! What can we do as developers? Well, we can help researchers to open their papers! ----- And of course, how do we do it? Python, of course! Dissemin is a website using the Django framework which aims to promote a global Open Access policy, it offers to researchers a way to deposit legally their papers inside of a repository (Zenodo for example). We will see how the researcher world works quickly, and what are the challenges of assisting researcher to make papers available to everyone!
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
24:09 EuroPython English 2016

Writing faster Python

Sebastian Witowski - Writing faster Python Presentation on how you can write faster Python in your daily work. I will briefly explain ways of profiling the code, discuss different code structures and show how they can be improved. You will see what is the fastest way to remove duplicates from a list, what is faster than a for loop or how “asking for permission” is slower than “begging for forgiveness”. ----- Did you know that Python preallocates integers from -5 to 257 ? Reusing them 1000 times, instead of allocating memory for a bigger integer, can save you a couple of milliseconds of code’s execution time. If you want to learn more about this kind of optimizations then, … well, probably this presentation is not for you :) Instead of going into such small details, I will talk about more "sane" ideas for writing faster code. After a very brief overview of how to optimize Python code (rule 1: don’t do this, rule 2: don’t do this yet, rule 3: ok, but what if I really want to do this ?), I will show simple and fast ways of measuring the execution time and finally, discuss examples of how some code structures could be improved. You will see: - What is the fastest way of removing duplicates from a list - How much faster your code is when you reuse the built-in functions instead of trying to reinvent the wheel - What is faster than the good ol’ for loop - If the lookup is faster in a list or a set (and when it makes sense to use each) - How the “It's better to beg for forgiveness than to ask for permission” rule works in practice
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
45:18 EuroPython English 2016

Automate, contribute, repeat.

Theo Crevon - Automate, contribute, repeat. At Ableton we love music and we love open-source. Ansible is an amazing tool which allows us to free more time for music by automating boring and repetitive tasks, and to contribute back to the open-source community with ease. Here's an opportunity to share our love for it, our experience with it, and our contributions to it with you. ----- Computers are never as convenient as when they work for us. If you agree with this motto, then Ansible, a deployment and automation tool written in Python, might come in handy. At Ableton, Ansible is involved in every aspect of deployment and automation. From local machine setup, to vm creation and deployment in our self-hosted datacenter, to our services in the immensity of the cloud. Because it is dead simple to use, can deal with any number of hosts in parallel and has robust compatibility with Unix as well as Windows systems, you will probably never have to write a shell script again. Because it is written in Python and exposes a clean, extensible and easy to adapt design and architecture; contributing features to the project and fixing the bugs you might encounter during the journey is extremely easy. At Ableton we love music and we love open-source. Ansible is an amazing tool which allows us to free more time for music by automating boring and repetitive tasks, and to contribute back to the open-source community with ease. Here's an opportunity to share our love for it, our experience with it, and our contributions to it with you. Automate, contribute, repeat.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
43:11 EuroPython English 2016

Building Service interfaces with OpenAPI / Swagger

Stephan Jaensch - Building Service interfaces with OpenAPI / Swagger Ever wondered how to keep track of all of your services and their APIs? I'm going to explore how to build your Python services with OpenAPI/Swagger and how it helps you solve problems like communication between services, request and response validation, and documentation of your API. I'll also discuss some challenges you might face when running Swagger in production, gathered from over a year of heavy usage at Yelp. ----- Implementing a service-oriented architecture (SOA) is a proven way to split up large monolithic codebases and to scale development when your organization grows to hundreds or thousands of engineers. I'm going to explore how to build and document your services with OpenAPI (formerly known as Swagger). I’ll discuss the benefits, how to generate a beautiful HTML documentation for your API, and how you can effortlessly make calls to your services. In the second part of the talk I'll discuss and tell you how to overcome challenges you might face when running OpenAPI in production, gathered from over a year of heavy usage at Yelp for hundreds of services. The OpenAPI initiative is a cross-vendor consortium focused on creating, evolving and promoting a vendor neutral description format. As an open governance structure under the Linux Foundation, its members include Google, IBM, Atlassian and PayPal.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
30:01 EuroPython English 2016

Peeking into Python’s C API

Sophia Davis - Peeking into Python’s C API Ever wondered how Python works under the hood? One way to learn about Python-the-C-program is by exploring the C API for writing Python bindings to native C libraries. In this talk, we will walk through a simple example of making a C library callable from Python code and vice versa. Along the way, we will encounter some essential features of Python: reference counting, memory management, and the inner- workings of objects and modules. ----- We all love Python. It’s so elegant and easy to use as a programming language that we forget about the giant, complicated C program executing our strings of white-space sensitive code. For many Python programmers, this side of Python is just a big black box. It works well, so thankfully we don’t *need* to go messing around inside... but what if you *want* to look into the inner workings of this powerful tool? One way to dive into the C-program-side of Python is by exploring the C API for writing Python bindings to native C libraries. In this talk I will explore the basics of this API as I recount my journey to make a simple C library callable from Python code, and allow C code to invoke objects defined in pure Python. Along the way, we will encounter some essential features of Python: reference counting, memory management, and the inner-workings of objects and modules.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
39:51 EuroPython English 2016

How OpenStack makes Python better (and vice-versa)

Thierry Carrez/Doug Hellmann - How OpenStack makes Python better (and vice-versa) OpenStack is an infrastructure stack mostly developed in Python. In this talk, Thierry Carrez and Doug Hellmann, both Python Software Foundation fellows and OpenStack Technical Committee members, will look at the symbiotic relationship between OpenStack and Python. ----- OpenStack is an open source stack that can be deployed on raw computing resources to privately or publicly present Infrastructure as a Service. It now consists of more than 4.5 million lines of code, 85% of which is Python. In this talk, Thierry Carrez and Doug Hellmann, both Python Software Foundation fellows and OpenStack Technical Committee members, will look at the symbiotic relationship between OpenStack and Python. We'll go back in history and explain why OpenStack originally picked Python as its main language 6 years ago, and explore what does Python bring to OpenStack. We'll dive into examples of OpenStack pushing Python libraries to their limits and exposing new bugs. We'll look into the massive cloud-based continuous integration system that OpenStack uses and explain how it exposes bugs in Python libraries in the minutes after they are published to PyPI. We'll look into Python libraries that were created by the OpenStack community and libraries that the OpenStack community took over. Finally we'll expose a few best practices that Python developers can follow to get the most of this symbiotic relationship.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
30:49 EuroPython English 2016

Go for Python Programmers

Shahriar Tajbakhsh - Go for Python Programmers A side-by-side walkthrough of basic Go history, syntax, semantics and tools compared to Python. ----- There's been quite a bit of hype around Go for some time. In particular within the Python community, we've seen some engineers moving their stack from Python to Go or starting their new project in Go. This talk is **not** about whether you should move from Python to Go. Instead, this talk is for those who've been hearing all about all the hype but haven't yet had a chance to take a proper look at Go. We'll first very briefly look at Go and Python's history. Then we'll go through a high-level side-by-side walkthrough of basic Go syntax and semantics compared to Python. Finally, we'll have a brief look at a subset of the ecosystem and tools available to Go and Python programmers for certain tasks such as testing, code formatting, documentation generation etc. By the end, you will not be a Go programmer but you'll have a high- level feel for how the Go language operates.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
22:47 EuroPython English 2016

Leveraging documentation power for better web APIs

Rudy Sicard - Leveraging documentation power for better web APIs Web APIs that are easier to understand, develop, test and use, is a popular subject. "An API is only as good as its documentation". We decided to play with this proverb and leverage the power of documentation. We propose to use the code documentation and the type system to provide lots of free features: explorable APIs, better error messages, automatic testing. Python is perfect to explore code and documentation dynamically. We'll demonstrate what we came up to and the lessons we've learned. ----- 'Rich' web APIs that are easier to understand, develop, test and use, is a popular subject. There are a lot of new specification languages (e.g. swagger, apiblueprint ...) and libraries (django-rest-framework, drf ...) that provide features in this direction. Following the old proverb "An API is only as good as its documentation", we decided to play with these ideas and focus on leveraging the power of documentation. We propose to use the code documentation and the type system to provide: - browsable APIs, that are easy to interact with and visualize, reducing the need to provide custom UIs - verification of inputs/outputs along with precise error message if needed - automatic [de]-serialization of inputs/ouputs outside of the domain code - smart exception handling, e.g. exceptions that are not documented are automatically converted into internal errors - automatic testing, e.g. input, output and result including exceptions are tested ensuring the code works and the documentation is up-to-date. This use case is one of the rare situation where introspection is desirable and unavoidable. And Python is a good language to explore/exploit code and documentation dynamically. The perfect excuse to spend some time on meta coding a first implementation while being at work. We'll demonstrate what we came up to, the advantages and limitations compared to other approaches. And we'll share the lessons we learned from this experiment.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
26:28 EuroPython English 2016

Exploring our Python Interpreter

Stephane Wirtel - Exploring our Python Interpreter During the last CPython sprints at PyCon US (Montreal), I started to contribute to the CPython project and I wanted to understand the beast. In this case, there is only one solution, trace the code from the beginning. From the command line to the interpreter, we will take part to an adventure. The idea behind is just to show how CPython works for a new contributor. ----- During my last CPython sprint, I started to contribute to the CPython code and I wanted to understand the beast. In this case, there is only one solution, trace the code from the beginning. From the command line to the interpreter, we will take part to an adventure * Overview of the structure of the project and the directories. * From the Py Main function to the interpreter. * The used technics for the Lexer, Parser and the generation of the AST and of course of the Bytecodes. * We will see some bytecodes with the dis module. * How does VM works, it's a stack machine. * The interpreter and its main loop of the Virtual Machine. The idea behind is just to show how CPython works for a new contributor to CPython. From the command line, we will learn that Python is a library and that we can embed it in a C project. In fact we will see the Py Main function to the ceval.c file of the interpreter. But there is no magic in the CPython code, we will travel in the lexer and the parser of CPython, and why not, by the AST for one Python expression. After the AST, we will visit the Compiler and the Bytecodes for the interpreter. Of course, we will learn there is the peepholer where some basic instructions are optimised by the this component. And of course, the interpreter, this virtual machine is really interesting for the newbiew, because it's a big stack where the bytecodes are executed one by one on the stack and the ceval.c file.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
27:42 EuroPython English 2016

3D Modeling and Printing by Python

Takuro Wada - 3D Modeling and Printing by Python Creating 3D model for 3D printing is pretty hard for non 3D CG designer or non 3D CAD engineer. But recently, so many 3D software (like Maya, Blender, Fusion360 and so on) provides Python API to manipulate 3D data in those software. So in this session, I will introduce Python API of Blender and Autodesk Fusion 360 and share some basic knowledge and tips when you use these API. I will also introduce my past projects with those APIs. ----- - Creating 3D model for 3D printing is pretty hard for **non 3D CG designer or non 3D CAD engineer**. - Recently, so many 3D software (like Maya, Blender, Fusion360 and so on) provides Python API to manipulate 3D data in those software. Once you learn these Python API, you can generate 3D model by Python and 3D print those generated model. - In this session, I will introduce Python API of some softwares and share some basic knowledges and tips when you use these API. I will also introduce my past projects with those APIs and my products. ### Goal - Introduce 3D model generation and 3D printing with Python to audience ### After this session, you will - Acquire the basic knowledge of 3D data structure - Understand basic concepts of Python API provided by 3D softwares - Acquire knowledge to start your 3D model generation project by Python - Know past 3D model generation projects by Python ### Prerequisite - Basic knowledge of Python - Interests for 3D modeling and 3D printing by Python
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
18:51 EuroPython English 2016

Keeping the Lights on with Python

Scott Reeve - Keeping the Lights on with Python We are using Python to help the National Grid in the UK to balance electricity production and usage. We do this by installing Python powered devices at customers sites that allow us to monitor and set control criteria to automatically turn on and off power consuming and producing devices when there is a mismatch between electricity supply and demand. In this talk we will be talking about how and why we have used Python, as well as where in our system we would like to use Python. ----- We are using Python to help the National Grid in the UK to balance electricity production and usage. We do this by installing Python powered devices at customers sites that allow us to monitor and set control criteria to automatically turn on and off power consuming and producing devices when there is a mismatch between electricity supply and demand. These devices talk to our Python powered cloud based system using the 3g network, giving us near real-time monitoring of our customers assets. Our entire infrastructure is written in Python, from our billing systems, data analytics systems and customer portal all the way through to our on site industrial system interfaces. In this talk we will be talking about how and why we have used Python, where we have had problems, as well as where in our system we would like to use Python and why we cannot. We will also be talking about what we are going to do next, moving our system from near real time monitoring to near real-time control, using Python for both system modelling and control. We will discuss how we are using Python to creating a system that monitors the balance between electricity supply and demand many times per second and is able to provide a corrective control based on the sum of the output of a dynamic set of our customer sites and the challenges that presents.
  • Published: 2016
  • Publisher: EuroPython
  • Language: English
out of 5 pages
Loading...
Feedback

Timings

  229 ms - page object
  133 ms - search
   11 ms - highlighting
    2 ms - highlighting/21244
    2 ms - highlighting/21205
    3 ms - highlighting/21216
    5 ms - highlighting/21235
    2 ms - highlighting/21217
    1 ms - highlighting/21261
    2 ms - highlighting/21212
    1 ms - highlighting/21209
    3 ms - highlighting/21241
    2 ms - highlighting/21222
    2 ms - highlighting/21223
    4 ms - highlighting/21202
    2 ms - highlighting/21224
    3 ms - highlighting/21226
    2 ms - highlighting/21231
    4 ms - highlighting/21230
    2 ms - highlighting/21188
    1 ms - highlighting/21213
    2 ms - highlighting/21221
    4 ms - highlighting/21229
    3 ms - highlighting/21242
    3 ms - highlighting/21236
    2 ms - highlighting/21232
    4 ms - highlighting/21239
    4 ms - highlighting/21233
    3 ms - highlighting/21237
    1 ms - highlighting/21245
    1 ms - highlighting/21228
    2 ms - highlighting/21219
    1 ms - highlighting/21227
    2 ms - highlighting/21243
    2 ms - highlighting/21215
    3 ms - highlighting/21196
    2 ms - highlighting/21208
    2 ms - highlighting/21206
    1 ms - highlighting/21210

Version

AV-Portal 3.8.2 (0bb840d79881f4e1b2f2d6f66c37060441d4bb2e)