Simplifying Computer Art in Python

uk: Комп'ютерні науки

description: Catherine Holloway - Simplifying Computer Art in Python The Processing project demonstrated that computer art can attract a wider audience to programming. Python has a robust catalog of libraries, including two interfaces to OpenGL. However, none of these libraries replicate Processing’s simplicity when drawing to the screen. I will present my solution to this problem: a re- implementation of VPython’s visual module purely in python called PygletHelper. ----- Processing is a programming language originally developed by the MIT media lab with the goal of allowing artists, educators, and many others develop striking computer generated or assisted projects without requiring deep knowledge of software engineering or computer graphics. Like Processing, Python has become a favourite language of users from diverse backgrounds, such as web development, education, and science. Unlike Processing, python lacks a simple and easy to use library for drawing shapes. Python’s existing libraries for scientific computing and data analysis could be made even more awesome when combined with a simple drawing library. VPython contains a module called visual that established a simple API and convention for drawing shapes, however it was written in C++, prior to the development of pyglet, and thus is not entirely cross- platform. In this talk, I will demonstrate my solution to this problem: a re-implementation of visual purely in Python called PygletHelper. Pyglet, an existing python library, provides a python interface to OpenGL. PygletHelper is built on pyglet but obscures all of the OpenGL calls, such that the user can draw simple geometric shapes to the screen and animate them without needing to know about computer graphics terminology, memory usage, or C data types. I will also show some need visualizations of science and music in my talk, as well as the graphical glitches encountered implementing the library.

uk: вхід без авторизації


Christian Trebing

type: Person

cs: Informatika

de: Informatik

fi: tietojenkäsittelytiede

uk: Комп'ютерні науки

en: Computer Science

fr: Informatique

da: Datalogi

es: Ciencias de la Computación

nl: Informatica

cs: Technické vědy

de: Ingenieurwissenschaften

fi: tekniikka

uk: Інженерія

en: Engineering Sciences

fr: Ingénierie

da: Ingeniørvidenskab

es: Ingeniería

nl: Engineering

description: Christian Trebing - Get in control of your workflows with Airflow Airflow is an open source Python package from Airbnb to control your workflows. This talk will explain the concepts behind Airflow, demonstrating how to define your own workflows in Python code and how to extend the functionality with new task operators and UI blueprints by developing your own plugins. You'll also get to hear about our experiences at Blue Yonder, using this tool in real-world scenarios. ----- Whenever you work with data, sooner or later you stumble across the definition of your workflows. At what point should you process your customer's data? What subsequent steps are necessary? And what went wrong with your data processing last Saturday night? At Blue Yonder we use Airflow, an open source Python package from Airbnb to solve these problems. It can be extended with new functionality by developing plugins in Python, without the need to fork the repo. With Airflow, we define workflows as directed acyclic graphs and get a shiny UI for free. Airflow comes with some task operators which can be used out of the box to complete certain tasks. For more specific cases, tasks can be developed by the end user. Best of all: even the configuration is done completely in Python!

TIB AV-Portal

type: Service

type: WebContent

type: MediaObject

@language: en

cs: přihlášení není vyžadováno

de: keine Anmeldung erforderlich

uk: вхід без авторизації

en: no login required

nl: geen login vereist

EuroPython

type: Organization

cs: Video

de: Video

fi: Video

uk: Відео

en: Video

fr: Vidéo

da: Video

nl: Video

es: Video


uk: Комп'ютерні науки

description: Christie Wilson/Michael Tom-Wing - System Testing with pytest and docker-py System tests are an invaluable tool for verifying correctness of large scale online services. This talk will discuss best practices and tooling (pytest and docker-py) for writing maintainable system tests. Demonware has used System tests to verify online services for some of the biggest AAA video game launches as well as internal operational tools. Many folks who write software are familiar with unit testing, but far fewer with system testing. ----- System testing a microservice architecture is challenging. As we move away from monolithic architectures, system testing becomes more important but also more complicated. In the video game industry, if a game doesn’t work properly immediately after launch, it will heavily impact game success. We have found system testing to be an important tool for pre launch testing of game services and operational tools, to guarantee quality of these services at launch. We want to share with you best practices for system testing: when to write system tests, what to test and what not to, and common pitfalls to avoid. Using python’s pytest tool and docker-py for setting up services and their dependencies has made it easier than ever to write complex but maintainable system tests and we’ll share with you how we’ve made use of them. Developers (senior and junior) and ops folks can walk away from this talk with practical tips they can use to apply system testing to their software.

uk: вхід без авторизації


Python, Data & Rock'n'Roll

uk: Комп'ютерні науки

description: Claudia Guirao Fernández - Python, Data & Rock'n'Roll Approach to topics, evolution, correlations through the lyrics of some of the greatests rock bands of all times. We will talk about the different phases of this personal project, in which I approach to a passion through a scientific method. This is a project that combine different techniques: - web crawling - NoSQL - Natural Language Processing - Data visualization

uk: вхід без авторизації


Pygame Zero

uk: Комп'ютерні науки

description: Daniel Pope - Pygame Zero Pygame Zero is a new game engine for education, built on top of Pygame. It makes writing your first games extremely simple, while saving beginners from certain potential pitfalls. Daniel will introduce Pygame Zero, walk through creating a simple game, and discuss the background for Python in education and the design philosophy behind Pygame Zero. ----- Pygame Zero is a new game engine for education, built on top of Pygame. It makes writing your first games extremely simple, while saving beginners from certain potential pitfalls. This talk will introduce Pygame Zero, walk through creating a simple game, and discuss the background for Python in education and the design philosophy behind Pygame Zero. Pygame is a powerful set of libraries for graphics, sound, input and more. But it is just a library: each program needs to import and set up the libraries, implement a game loop and load resources among numerous other concerns. While seasoned Pythonistas have no trouble with this, teachers told us that they found it difficult to teach with Pygame. There is simply too much boilerplate involved, and getting students to reproduce the boilerplate perfectly before useful lessons can begin takes too much time out of a 40-minute lesson. Pygame Zero is simple enough that a lesson can be broken down into bitesize steps where meaningful progress can be made with just a couple of lines of code at a time.

uk: вхід без авторизації


Documentation-driven development

uk: Комп'ютерні науки

description: Daniele Procida - Documentation-driven development One secret of Django's success is the quality of its documentation. As well as being key to the quality of the code itself, it has helped drive the development of Django as a community project, and even the professional development of programmers who adopt Django. I'll discuss how Django has achieved it, and how any project can easily win the same benefits. ----- Part of my job title is _Documentation Manager_. When I explain this to a programmer outside the Python/Django community, the reaction can be anything from bewilderment to a kind of mild horror. When I mention it to a Python/Django programmer, the response is usually: _Oh, cool_. In fact, one secret of Django's success is the quality of its documentation, and everyone who uses Django is quick to note this. The returns on Django's investment have been substantial, but some of them are also surprising. The documentation has clearly been key to the _quality of the code itself_, but also (less obviously) to the _development of Django as a community project_, and even the _professional development of programmers_ who adopt Django. I'll discuss how Django has achieved it, and how any project can easily win the same benefits.

uk: вхід без авторизації


Minds, machines and Python

uk: Комп'ютерні науки

description: Daniele Procida - Minds, machines and Python Are we looking in the wrong direction for artificial intelligence and machine learning? I'll discuss an older but perhaps more satisfying approach, that has been neglected in recent years. It begins with questions in logic and language, and can be explored using easy techniques. I'll use simple Python programs to explore three key notions in this AI research: **loops**, **self-reference** and **tangled hierarchies**, themselves directly reflected in important programming concepts. ----- In recent years, we've seen interesting and spectacular successes in artificial intelligence and machine learning, made possible by leaps in computing power and techniques able to harvest vast quantities of data. The results are uncanny. We see them everywhere, from the personal assistants built into smartphones to the neural networks that do an astounding job of recognising images. However, they're also susceptible to the criticism that they represent not intelligence but a mere simulation of it, and that producing a convincing simulacrum has become more important than a genuine search for intelligence or learning. At the same time, another, perhaps deeper, approach has become neglected in recent decades, along with the questions it asks about the nature of mind, intelligence and learning. This approach begins with fundamental questions in logic and language, and can be explored using some of the simplest programming techniques. In this talk, I'll use simple Python programs to explore three key notions in this strand of artificial intelligence research: *loops*, *self-reference* and *tangled hierarchies*. The way these concepts directly reflect important concepts in programming suggests that for the programmer, this approach could be more interesting and satisfying, and simply more **fun,** than using huge ontologies and big data to create mere simulacra of intelligence. The examples I use will be concrete and easy to understand, even for novice programmers.

uk: вхід без авторизації


Efficient Django

uk: Комп'ютерні науки

description: David Arcos - Efficient Django Does Django scale? How to manage traffic peaks? What happens when the database grows too big? How to find the bottlenecks? We will overview the basics concepts on scalability and performance, and then see some tips and tricks. These statements will be backed up with experiments and numbers, to show the timing improvements. ----- **Does Django scale?** How to manage traffic peaks? What happens when the database grows too big? How to find the bottlenecks? We will overview the basics concepts on scalability and performance, and then see some tips and tricks. These statements will be backed up with experiments and numbers, to show the timing improvements. Main topics: - System architecture - Database performance - Queues and workers - Profiling with django-debug-toolbar - Caching queries and templates - Dealing with a slow admin - Optimizing the models - Faster tests

uk: вхід без авторизації


uk: Комп'ютерні науки

description: David Charles - Managing Kubernetes from Python using Kube Kubernetes is the Google Borg inspired control plane for Docker containers. It has a great API but needs a load of HTTP client code and JSON processing to use it from Python. This talk introduces Kube, a Python wrapper around the Kubernetes API that enables you to manage your Kubernetes cluster in a pythonic way while avoiding any Kubernetes API peculiarities. Programmers and operations folk who are interested in interacting with the Kubernetes API using Python. ----- Docker has had a transformative influence on the way we deploy software and Kubernetes, the Google Borg inspired control plane for Docker-container- hosting-clusters, is gaining similar momentum. Being able to easily interact with this technology from Python will become an increasingly important capability in many organisations. I'll discuss what the motivations behind writing Kube. We'll dive into Kube using the Python interactive interpreter, getting connected to the API, and simple viewing and label update operations. Finally I'll discuss more advanced resource management activities like Kube's 'watch' API capability. ## Objectives Attendees will learn about the key concepts in getting resource information out of their Kubernetes cluster using Kube. ## Outline 1. Setting the scene (3 minutes) 1. Other Python kubernetes wrappers (2 minutes) 1. Kubernetes concepts quick recap (5 minutes) 1. Dive into Kube in the Python interactive interpreter (10 minutes) * Outline prerequisites * The entry point - a Cluster instance * Views and Items - two important Kube concepts * Item meta data: labels and versions 1. More Kube features (5 minutes) * Creating and deleting resources * Using Kube's Watch API support * The cluster proxy attribute for when you need to get at the actual API. 1. Q&A (5 minutes)

uk: вхід без авторизації


Profiling the unprofilable

uk: Комп'ютерні науки

description: Dmitry Trofimov - Profiling the unprofilable When a program is not fast enough, we call on the profiler to save us. But what happens when the program is hard to profile, like for instance the Python Debugger? In this talk we're going dive deep into Vmprof, a Python profiler, and see how it helps us find out why a debugger can be slow. Once we find the culprit, we'll use Cython to optimise things. ----- Profile is the main way to find slow parts of your application, and it's often the first approach to performance optimisation. While there are quite a few profilers, many of them have limitations. In this talk we're going to learn about the new statistical profiler for Python called Vmprof that is actively being developed by the PyPy team. We'll see how it is implemented and how to use it effectively. We will apply it to an open source project, the Pydev.Debugger, a popular debugger used in IDE's such as Pydev and PyCharm, and with the help of Cython which we'll also dig into, we'll work on optimising the issues we find. Whether it's a Python debugger, a Web Application or any other kind of Python development you're doing, you'll learn how to effectively profile and resolve many performance issues.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Domen Kožar - What Python can learn from Haskell packaging Haskell community has made lots of small important improvements to packaging in 2015. What can Python community learn from it and how are we different? ----- Haskell community has been living in "Cabal hell" for decades, but Stack tool and Nix language have been a great game changer for Haskell in 2015. Python packaging has evolved since they very beginning of distutils in 1999. We'll take a look what Haskell community has been doing in their playground and what they've done better or worse. The talk is inspired by Peter Simons talk given at Nix conference: [Peter Simons: Inside of the Nixpkgs Haskell Infrastructure] Outline: - Cabal (packaging) interesting features overview - Cabal file specification overview - Interesting Cabal features not seen in Python packaging - Lack of features (introduction into next section) - Cabal hell - Quick overview of Haskell community frustration over Cabal tooling - Stack tool overview - What problem Stack solves - How Stack works - Comparing Stack to pip requirements - Using Nix language to automate packaging - how packaging is automated for Haskell - how it could be done for Python

uk: вхід без авторизації


Effective Code Review

uk: Комп'ютерні науки

description: Dougal Matthews - Effective Code Review Developers usually state that finding defects is the primary motivation for doing code reviews. However, research has shown that the main benefits of code reviews are; knowledge transfer, team awareness and finding alternative solutions. Code reviews when done well are more than just finding defects; it should be a discussion and conversation with other developers about finding the best solutions. We will talk about re-framing code review to encourage open discussions. ----- This talk is for everyone that is already involved in regular code review and those hoping to start. I will talk through the code review process with the aim of making it a better and more useful experience for both the authors and the reviewers. The talk will follow the following rough outline: - Introduction - Why do code reviews - What are we aiming to get out of it - Submitting code for review - How can you help reviewers? - What should you avoid doing? - Removing ownership of the code - Reviewing code - How should you give feedback? - What should you look for? - How can you encourage people to review more? - How to avoid and remove bike-shedding - Code review tools and how they impact on the process. - Wrap up and conclusion

uk: вхід без авторизації


uk: Комп'ютерні науки

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

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Elizaveta Shashkova - Monkey-patching: a magic trick or a powerful tool? Monkey-patching is a dynamic modification of a class or a module at runtime. The Python gives developers a great opportunity to use monkey-patching almost everywhere. But should developers do it? Is it a magic trick or a powerful tool? In this talk we will try to give the answers to these questions and try to figure out pros and cons of using monkey- patching. ----- First of all we will learn what is monkey-patching in Python and consider some basic examples of using it. Of course, monkey-patching may cause some problems in the code. We will consider bad ways to use it and try to learn different types of problems monkey-patching may lead to. Despite of some bugs that may appear in a patched program, monkey- patching is used in a real life rather often. There are some reasons and motives to do it. We will consider the examples of using monkey- patching in real projects like `gevent`, in some other libraries and in testing. Also we will learn some monkey-patch tricks that helps to solve real-life problems in the Python debugger which is a part of the PyCharm and the PyDev. After that we will compare using of monkey-patching in Python to using it in an another dynamic language Ruby. Are there any differences between them? Is our reasoning correct for Ruby? Finally we will conclude all our thoughts and examples and try to give the answer to the question from title.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Erik Näslund - Building a reasonably popular web application for the first time. These are the lessons learned when scaling a SaaS web application which grew much faster than any one us could have ever expected. - Log and monitor from day one. - Things will fail, be sure you know when they do. - Choose components which allow language interoperability. - Horizontally scalable everything. - Plan for database downtime. - Have a way to share settings between backend and frontend. - Have a way to enter maintenance mode. - And more... ----- My name is Erik Näslund - I’m the co-founder and Head of Engineering at Hotjar. I'd love to share the lessons learned when scaling a SaaS web application which grew much faster than any one us could have ever expected. Words like “big” and “popular” carry very little meaning, so let me define how big Hotjar is right now using some numbers. We onboard about 500 new users on a daily basis. We process around 250 000 API requests every minute. Our CDN delivers about 10 TB of data per day. We have roughly 3 TB of data in our primary data store (PostgreSQL), another 1 TB in our Elasticsearch cluster, and a LOT more on Amazon S3. These are the key things we wish we knew when we started. They would have made our life so much easier! - Log and monitor from day one. - Have a way to profile your API calls. - Things will fail, be sure you know when they do. - Have a way to keep secrets. - Everything needs a limit (even if it's really big). - Be wary of hitting data type limits. - Don't get too attached to a framework. - Choose components which allow language interoperability. - Horizontally scalable everything. - Plan for database downtime. - Features are a great way to test things out before launching them to the public. - Have a way to share settings between back end and front end. - Have a way to enter maintenance mode. - Require different quality of code for different parts of your application.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Fabien Bochu - Grocker, a Python build chain for Docker Grocker is a Docker build chain for Python. It transforms your Python package into a self-contained Docker image which can be easily deployed in a Docker infrastructure. Grocker also adds a Docker entry point to easily start your application. ----- At Polyconseil, we build Paris electric car sharing service: Autolib'. This system is based on many services developed using web technologies, Django and our own libraries to handle business logic. Packaging is already a difficult problem, deploying large Python projects is even more difficult. When deploying on a live and user- centric system like Autolib', you cannot rely on Pip and external PyPI servers which might become unavailable and are beyond your control. In the beginning we used classic Debian packaging: it was a maintenance hell. It took hours to build our packages and update their metadata to match our Python packages. So we switched to Docker. Docker allows us to have a unique item that is deployed in production systems: code updates are now atomic and deterministic! But before deploying the Docker image, you need to build it. That's where Grocker comes in. Grocker is a Docker build chain for Python. It will transform your Python package into a self-contained Docker image which can be easily deployed in a Docker Infrastructure. Grocker also adds a Docker entry point to easily start your application.

uk: вхід без авторизації


EuroPython 2016 Recruiting Session

uk: Комп'ютерні науки

description: Fabio Pliger - Recruiting session The recruiting sponsors will present their companies and their job offers in short talks.

uk: вхід без авторизації


OMG, Bokeh is better than ever!

uk: Комп'ютерні науки

description: Fabio Pliger - OMG, Bokeh is better than ever! Bokeh is a unique library in its genre that lets users create beautiful and complex visualizations from Python. The talks shows a comprehensive overview of the most powerful and popular Bokeh features, like: the optimized websocket based server for performant python callbacks from actions on the browser, Javascript callbacks written in Python (YES!!), bokeh command that lets target different outputs from the same input, JS transforms from Python, high-level charts, Geo support, ... ----- Bokeh is a unique library in its genre that lets users create beautiful and complex visualizations from Python (and other languages) to the browser without actually writing Javascript or HTML. In the last year the Bokeh team have added a large number of unique features that are extremely powerful. Fully optimized websocket based server that enables performant python callbacks from actions on the browser, Javascript callbacks written in Python (YES!!), bokeh command that lets target different outputs from the same input, JS transforms from Python, high-level charts, Geo support, ... Anyone interested in powerful and easy visualizations should take a look at it. :)

uk: вхід без авторизації


Welcome to EuroPython 2016

uk: Комп'ютерні науки

description: Fabio Pliger/Endor - Welcome Welcome to EuroPython 2016

uk: вхід без авторизації


EPS General Assembly

uk: Комп'ютерні науки

description: Fabio Pliger/Marc-André Lemburg - EPS General Assembly This is where the EuroPython Society (EPS) board gives its reports, resolutions are passed and the EPS members can vote in a new EPS board.

uk: вхід без авторизації


EuroPython 2016 Closing Session

uk: Комп'ютерні науки

description: Fabio Pliger/Marc-André Lemburg - Closing Session Closing Session

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Fabio Pliger/Marc-André Lemburg - EuroPython 2017: Help us build the next edition! We need help with organizing and running EuroPython 2017. In this session, we will explain how the EuroPython workgroup model works and where you could help.

uk: вхід без авторизації


It's not magic: descriptors exposed

uk: Комп'ютерні науки

description: Facundo Batista - It's not magic: descriptors exposed This talk shows the Python Descriptors, detailing their behaviour with a detailed practical example, so we can understand the power and flexibility they give. As a bonus track, class decorators are explained. ----- This talk presents, using a detailed practical example, the Python Descriptos. The behaviour of descriptors mechanisms is detailed, showing their power and flexibility. Finally, as a bonus track and to complete the used practical example, class descriptors are explained.

uk: вхід без авторизації


Import community

uk: Комп'ютерні науки

description: Fernando Masanori Ashikaga/Paola Katherine Pacheco/Kátia Nakamura - import community One of the biggest differences, in the Python community, is its effort to improve diversity. The authors will share experiences on diversity obtained from ten different countries: Namibia, UK, Japan, Brazil, Italy, Argentina, Uruguay, Germany, Canada and Spain. There are other reports, that also we would like to share, which are only beautiful stories of how Python reaches the most distant people and places you may never have imagined. ----- One of the biggest differences, in the Python community, in relation to other communities, is its effort to improve diversity. There is even a Diversity Statement at PSF: "We have created this diversity statement because we believe that a diverse Python community is stronger and more vibrant. A diverse community where people treat each other with respect has more potential contributors and more sources for ideas." The authors will share experiences on diversity obtained from ten different countries: Namibia, UK, Japan, Brazil, Italy, Argentina, Uruguay, Germany, Canada and Spain. There are other reports that we also would like to share, which are only beautiful stories of how Python reaches the most distant people and places you may never have imagined.

uk: вхід без авторизації


Handling GPS Data with Python

uk: Комп'ютерні науки

description: Florian Wilhelm - Handling GPS Data with Python If you have ever happened to need to deal with GPS data in Python you may have felt a bit lost. This talk presents libraries starting from basic reading and writing GPS tracks in the GPS Exchange Format to adding missing elevation information. Also visualisation of tracks on OpenStreetmap data with interactive plots in Jupyter notebooks is covered. Additionally common algorithms for GPS like Douglas-Peucker and Kalman filter are explained. ----- If you have ever happened to need to deal with GPS data in Python you may have felt a bit lost. There are many libraries at various states of maturity and scope. Finding a place to start and to actually work with the GPS data might not be as easy and obvious as you might expect from other Python domains. Inspired from my own experiences of dealing with GPS data in Python, I want to give an overview of some useful libraries. From basic reading and writing GPS tracks in the GPS Exchange Format with the help of gpxpy to adding missing elevation information with srtm.py. Additionally, I will cover mapping and visualising tracks on OpenStreetmap with mplleaflet that even supports interactive plots in a Jupyter notebook. Besides the tooling, I will also demonstrate and explain common algorithms like Douglas-Peucker to simplify a track and the famous Kalman filters for smoothing. For both algorithms I will give an intuition about how they work as well as their basic mathematical concepts. Especially the Kalman filter that is used for all kinds of sensor, not only GPS, has the reputation of being hard to understand. Still, its concept is really easy and quite comprehensible as I will also demonstrate by presenting an implementation in Python with the help of Numpy and Scipy. My presentation will make heavy use of the Jupyter notebook which is a wonderful tool perfectly suited for experimenting and learning.

uk: вхід без авторизації


Build your Microservices with ZeroMQ

uk: Комп'ютерні науки

description: Floris Bruynooghe - Build your Microservices with ZeroMQ While microservices are rather commonly implemented using JSON over HTTP this is merely an implementation choice. This talk will cover the reasons why you might want to choose ZeroMQ as communication transport between your microservices instead. It will show how ZeroMQ is used from within Python and the common patterns which can simplify the overal architecture while at the same time providing reliable and low-latency communications between your services. ----- Microservices is the popular term for the trend to build backend architectures as a number of smaller independent processes. As an evolution from the Service Oriented Architecture the core aims are to create independent services which are easy to operate and even replace while all of them together compose into providing the business logic required for your application. While it is rather common for microservices to choose JSON over HTTP to communicate with each other, this is purely an implementation choice. HTTP is a protocol using a strict request-response format, this can become a little burdensome when needing to deal with asynchronous requests and forces some architectural descisions to be not as ideal as they could be. ZeroMQ has more flexible communication patterns allowing for easier mapping of real-life interactions between services. Coupled with an easy to use asynchronous user-level API and very fast underlying communication on persistent TCP connections ZeroMQ is a rather attractive transport to build your microservices based applications in. This talk will show how to use ZeroMQ within Python to build your microservices. It will show the benefits of ZeroMQ's asynchronous API, common usage patterns and how to handle backpressure. Furthermore different communication patterns will be explored and the impact this has on how to simplify the overall architecture using these patterns.

uk: вхід без авторизації


MiniBrew: Brewing beer with Python

uk: Комп'ютерні науки

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

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Gaël Varoquaux - Scientist meets web dev: how Python became the language of data Data science is a hot topic and Python has emerged as an ideal language for it. Its strength for data analysis come from the cultural mix between the scientific Python community, and more conventional software usage, such as web development or system administration. I'll show how and why Python is a easy and powerful tool for data science. ----- Python started as a scripting language, but now it is the new trend everywhere and in particular for data science, the latest rage of computing. It didn't get there by chance: tools and concepts built by nerdy scientists and geek sysadmins provide foundations for what is said to be the sexiest job: data scientist. In my talk I'll give a personal perspective, historical and technical, on the progress of the scientific Python ecosystem, from numerical physics to data mining. What made Python suitable for science; How could scipy grow to challenge commercial giants such as Matlab; Why the cultural gap between scientific Python and the broader Python community turned out to be a gold mine; How scikit-learn was born, what technical decisions enabled it to grow; And last but not least, how we are addressing a wider and wider public, lowering the bar and empowering people. The talk will discuss low-level technical aspects, such as how the Python world makes it easy to move large chunks of number across code. It will touch upon current exciting developments in scikit-learn and joblib. But it will also talk about softer topics, such as project dynamics or documentation, as software's success is determined by people.

uk: вхід без авторизації


An Introduction to Deep Learning

uk: Комп'ютерні науки

description: Deep learning: how it works, how to train a deep neural network, the theory behind deep learning, recent developments and applications. ----- (length: 60 mins) In the last few years, deep neural networks have been used to generate state of the art results in image classification, segmentation and object detection. They have also successfully been used for speech recognition and textual analysis. In this talk, I will give an introduction to deep neural networks. I will cover how they work, how they are trained, and a little bit on how to get going. I will briefly discuss some of the recent exciting and amusing applications of deep learning. The talk will primarily focus on image processing. If you completely new to deep learning, please attend T. Rashid's talk 'A Gentle Introduction to Neural Networks (with Python)'. His talk is in the same room immediately before mine and his material is really good and will give you a good grounding in what I will present to you.

uk: вхід без авторизації


Interactive data Kung Fu with Shaolin

uk: Комп'ютерні науки

description: Guillem Duran - Interactive data Kung Fu with Shaolin “Notebooks come alive when interactive widgets are used”, but programming complex applications that rely entirely on widgets may end up being a painful and frustrating process. Shaolin is a new python project that aims to provide a framework for building interactive complex dashboards. ----- You can read in The Project Jupyter web page that “Notebooks come alive when interactive widgets are used”, but programming complex applications that rely entirely on widgets may end up being a painful and frustrating process. Shaolin is a new python project that aims to provide a framework for building interactive complex dashboards. Shaolin provides all the basic tools for building complex interactive data analysis applications using the pydata ecosystem. Arbitrary code can be embedded into a Dashboard -a class that works as a “black box” that allows to easily define a GUI based on the ipywidgets package- to process any data in any form and then let you interactively define how to plot it using automatically generated widgets. Hierarchical combinations of Dashboards can be arranged then to build more complex applications. The talk is divided in two sections. First one introduce the framework and its main features: - Custom syntax for defining widgets in a simplified way. - Dashboards: Syntax rules and capabilities. - Combining Dashboards to build complex applications. - Interactive plot creation. - Integration with pydata. Second section will show how this framework can be used to analyse real data using Dashboards without writing any code. I will show how to transform market data time series into graphs using pandas and networkx, then plot it interactively using bokeh and Vpython.

uk: вхід без авторизації


Managing Mocks

uk: Комп'ютерні науки

description: Helen Sherwood-Taylor - Managing Mocks Mocking is a valuable technique for writing tests but mocking effectively is often a stumbling block for many developers and can raise questions about its overall value as a technique. There will be a brief introduction to mocking, then a look at features and techniques of Python’s unittest.mock library and cover some useful tips and common scenarios, so this will be useful to those who have some experience mocking but would like to do so more effectively. ----- Mocking is a valuable technique for writing tests but mocking effectively is often a stumbling block for many developers and can raise questions about its overall value as a technique. The audience will have some familiarity with unit testing and may have tried mocking before, but some introduction will be provided for those who haven’t. We will look at some features and techniques of Python’s unittest.mock library and cover some useful tips and common scenarios, so this will be useful to those who have some experience mocking but would like to do so more effectively. Summary of proposed content: 1. A short introduction to what mocking is and why it is useful. 2. Tour of Python’s mock library and how to make the most of it * Creating and manipulating Mock objects * Setting up return values and side effects to control test environment * Inspecting mocks - different ways to examine a mock object and find out what happened during the test * How and where to patch 3. Common mocking situations - scenarios where mocking is particularly useful and/or tricky to get right. For example - date/time, filesystem, read only properties 4. Some discussion of when mocking is and isn't helpful. Focus will be mainly on Python's unittest.mock module but we will also have a brief look at some other useful libraries.

uk: вхід без авторизації


Designing a Pythonic Interface

uk: Комп'ютерні науки

description: Honza Král - Designing a Pythonic Interface When designing an abstraction for a complex system (an ORM-like library in our case) you face a lot of design decisions and challenges. This talk details how we chose to tackle those when designing elasticsearch-dsl. ----- The json query language for elasticsearch, as well as its other APIs, can be very daunting to new users and can be a bit cumbersome when working with python. That is why we created elasticsearch-dsl - a sort of ORM for elasticsearch. We will go through the design philosophy and obstacles found during the development - trying to make a more pythonic interface for elasticsearch while maintaining access to all of the features of the underlying query language. The focus of the talk is more on the library and interface design than on elasticsearch and its query language itself, that is used only to demonstrate the principles.

uk: вхід без авторизації


Log all the things!

uk: Комп'ютерні науки

description: Honza Král - Log all the things! Many times these logs are thrown away or just sit uselessly somewhere on disk. I would like to show you how you can make sense of all that data, how to collect and clean them, store them in a scalable fashion and, finally, explore and search across various systems. ----- Centralized logging (and the ELK stack) is proving itself to be a very useful tool in managing a production infrastructure. When combined with other data sources (application logging, business data, ...) it can provide even more insight. This talk is an introduction into the area with some overview of the motivation, tools and techniques that can prove useful. We will show how the open source ELK (Elasticsearch Logstash and Kibana) stack can be used to implement this. It is geared towards people familiar with the DevOps concept that are looking to improve their lives by introducing smarter tools.

uk: вхід без авторизації


Get Instrumented!

uk: Комп'ютерні науки

description: Hynek Schlawack - Get Instrumented! To get real time insight into your running applications you need to instrument them and collect metrics: count events, measure times, expose numbers. Sadly this important aspect of development was a patchwork of half-integrated solutions for years. Prometheus changed that and this talk will walk you through instrumenting your apps and servers, building dashboards, and monitoring using metrics. ----- Metrics are highly superior to logging in regards of understanding the past, presence, and future of your applications and systems. They are cheap to gather (just increment a number!) but setting up a metrics system to collect and store them is a major task. You may have heard of statsd, Riemann, Graphite, InfluxDB, or OpenTSB. They all look promising but on a closer look it’s apparent that some of those solutions are straight-out flawed and others are hard to integrate with each other or even to get up and running. Then came Prometheus and gave us independence of UDP, no complex math in your application, multi-dimensional data by adding labels to values (no more server names in your metric names!), baked in monitoring capabilities, integration with many common systems, and official clients for all major programming languages. In short: a *unified* way to gather, process, and present metrics. This talk will: 1. explain why you want to collect metrics, 1. give an overview of the problems with existing solutions, 1. try to convince you that Prometheus may be what you’ve been waiting for, 1. teach how to impress your co-workers with beautiful graphs and intelligent monitoring by putting a fully instrumented Python application into production, 1. and finally give you pointers on how to migrate an existing metrics infrastructure to Prometheus *or* how to integrate Prometheus therein.

uk: вхід без авторизації


Deep Learning with Python & TensorFlow

uk: Комп'ютерні науки

description: Ian Lewis - Deep Learning with Python & TensorFlow Python has lots of scientific, data analysis, and machine learning libraries. But there are many problems when starting out on a machine learning project. Which library do you use? How do they compare to each other? How can you use a model that has been trained in your production app? In this talk I will discuss how you can use TensorFlow to create Deep Learning applications. I will discuss how it compares to other Python machine learning libraries, and how to deploy into production. ----- Python has lots of scientific, data analysis, and machine learning libraries. But there are many problems when starting out on a machine learning project. Which library do you use? How do they compare to each other? How can you use a model that has been trained in your production application? TensorFlow is a new Open-Source framework created at Google for building Deep Learning applications. Tensorflow allows you to construct easy to understand data flow graphs in Python which form a mathematical and logical pipeline. Creating data flow graphs allow easier visualization of complicated algorithms as well as running the training operations over multiple hardware GPUs in parallel. In this talk I will discuss how you can use TensorFlow to create Deep Learning applications. I will discuss how it compares to other Python machine learning libraries like Theano or Chainer. Finally, I will discuss how trained TensorFlow models could be deployed into a production system using TensorFlow Serve.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Iker Martinez de Agirre Mendia - Datu bistaratze soluzioen garapena Smartcity proiektuetan Laburbilduz, kontsumo energetikoaren datuak modu sinple eta argi batean bistaratzen dituen web orrialde bat sortu da Django erabiliz. ----- Mondragon Unibertsitateko inbestigazio taldea Smartcity-en aplikazio eta monitorizazioen inguruko proiektuetan lanean ari da, non herrialde ezberdinetako gune konkretuetan bizi diren pertsonen kontsumo energetikoa jaso eta aztertzen den. Proiektu hauetako bi CITyFiED eta ARROWHEAD dira. Kontsumo hori eta horren harira ondorioztatutako aholku energetikoak erabiltzailearengana heltzeko, bistaratze soluzio bat garatu da, web orrialde bat alegia. Erabiltzailean oinarritutako diseinua (User Centered Design) aplikatuz, gailu ezberdinetara moldatzen den (Responsive Web Design, Mobile-First) web bat sortu da, Django Web Framework tresnaren bitartez. REST API (Django Rest Framework) baten bidez, informazioa gordetzen den datu basea atzitzen da, kontsumoak eta beraien bilakaera bistaratze libreriak (D3.js) erabiliz irudikatuz. Horrez gain, Djangok eskaintzen dituen aukerak baliatuz, web orrialdea hizkuntza ezberdinetan bistaratu daiteke. Laburbilduz, kontsumo energetikoaren datuak modu sinple eta argi batean bistaratzen dituen web orrialde bat sortu da Django erabiliz."

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Ilia Kurenkov - re-Discovering Python's Regular Expressions As Armin Ronacher pointed out in a recent blog post, there is more to Python's regular expression module than meets the eye. His post made me wonder what other “hidden gems” are stashed away in Python’s `re`. In the talk I share what I’ve learned about the inner workings of this extremely popular and heavily used module. ----- Anyone who has used Python to search text for substring patterns has at least heard of the regular expression module. Many of us use it extensively for parsers and lexers, extracting information . And yet we know surprisingly little about its inner workings, as Armin Ronacher demonstrated in his recent blog post, “Python's Hidden Regular Expression Gems”. Inspired by this, I want to dive deeper into Python’s `re` module and share what I find with folks at EuroPython. My goal is that at the end of the day most of us walk away from this talk with a better understanding of this extremely useful module. Here are a few examples of the kinds of things I would like to cover: - A clear presentation of `re`’s overall structure. - What actually happens behind the scenes when you “compile” a regular expression with `re.compile`? - What are the speed implications of using a callable as the replacement argument to `re.sub`? - re.MatchObject interface: `group` vs. `groups` vs `groupdict` To keep the talk entertaining as well as educational I plan to pepper it with whatever interesting and/or funny trivia I find about the module’s history and structure.

uk: вхід без авторизації

name: Re-Discovering Python's Regular Expressions


How to make IT-recruiting suck less.

uk: Комп'ютерні науки

description: Iwan Gulenko - How to make IT-recruiting suck less. I am a programmer and I am on a mission to make IT-recruiting suck less. This talk should be useful for both hiring managers and job-seekers. We will assess the status-quo of hiring engineers and talk about resumes, coding questions and tasks that firms make up to assess engineers. Also, we'll discuss salary negotiation best-practises from a candidate perspective.

uk: вхід без авторизації


What's the point of Object Orientation?

uk: Комп'ютерні науки

description: Iwan Vosloo - What's the point of Object Orientation? This talk covers the basics of what Object Orientation (OO) is really about. It focusses on the problem OO is aimed at solving and shows where the OO mechanisms of Python fit into this picture. This material can serve as an introduction to OO for beginners, but also as a homing signal for experienced programmers who are doubting whether they are reaping the benefits OO promises. ----- Object Orientation (OO) is often introduced in terms of how it is implemented by a specific language. However, understanding the theory underlying OO is not quite the same as understanding how OO concepts are supported by a particular language. It is insightful to understand the simple OO fundamentals and how these map to the particular implementation provided by Python. In this talk I will first explain the very basics of OO from a language-neutral point of view with the aim of showing what OO can offer you and to give a glimpse of the simple mathematical theory underlying OO. I hope to give you enough information to help you distinguish between better and worse designs and to detect whether you’re using OO as it was intended. I will also very briefly show how these fundamentals map to Python. This talk is for anyone: whether you’re new at Object Orientation, or a practitioner wondering whether OO is worth the effort you’ve spent trying to use it.

uk: вхід без авторизації


Algorithmic Trading with Python

uk: Комп'ютерні науки

description: iztok kucan/Joris Peeters - Algorithmic Trading with Python This is a look behind the scenes at Winton Capital Management- one of Europe’s most successful systematic investment managers. The talk will mainly focus on how Python gives researchers fine-grained control over the data and trading systems, without requiring them to interact directly with the underlying, highly-optimised technology. ----- Have you ever wondered what technologies are used in a systematic trading system that utilises computer models and accounts for the majority of trading on the stock market? This is a look behind the scenes at Winton Capital Management- one of Europe’s most successful systematic investment managers. In this talk, we’ll run through an overview of Winton’s trading infrastructure, including data management, signal generation and execution of orders on global exchanges. The talk will mainly focus on how Python gives researchers fine-grained control over the data and trading systems, without requiring them to interact directly with the underlying, highly- optimised technology.

uk: вхід без авторизації


Writing Redis in Python with asyncio

uk: Комп'ютерні науки

description: James Saryerwinnie - Writing Redis in Python with asyncio In this talk, I'll show you how to write redis using asyncio. You'll see how you can create a real world application using asyncio by creating a python port of redis. ----- Python has been adding more and more async features to the language. Starting with asyncio in python 3.4 and including the new async/await keywords in python 3.5, it's difficult to understand how all these pieces fit together. More importantly, it's hard to envision how to use these new language features in a real world application. In this talk we're going to move beyond the basic examples of TCP echo servers and example servers that can add number together. Instead I'll show you a realistic asyncio application. This application is a port of redis, a popular data structure server, written in python using asyncio. In addition to basic topics such as handling simple redis commands (GET, SET, APPEND, etc), we'll look at notifications using pub/sub, how to implement the MONITOR command, and persistence. Come learn how to apply the asyncio library to real world applications.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Jameson Rollins - LIGO: The Dawn of Gravitational Wave Astronomy Scientists have been searching for the elusive gravitational wave for more than half a century. Hear how they finally found them, and the role that Python played in the discovery. ----- Scientists have been searching for the elusive gravitational wave for more than half a century. On September 14, 2015, the Laser Interferometer Gravitational-wave Observatory (LIGO) finally observed the gravitational wave signature from the merger of two black holes. This detection marks the dawn of a new age of _gravitational wave astronomy_, where we routinely hear the sounds emanating from deep within the most energetic events in the Universe. This talk will cover the events leading up to one of the most important discoveries of the last century, and the myriad of ways in which Python enabled the effort.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Jatsu Argarate - Buildout Django eta Fabric. Kasu praktikoa euskarazko tokiko hedabideetan Hainbat zerbitzaritan dauden eta plataforma bakar batean oinarrituta dagoen plataforma baten mantentzea Buildout Django Fabric eta erabiliz. Kasu praktikoa euskarazko tokiko hedabideak. ----- Hainbat bezerorentzako neurrira egindako edukiak kudeatzeko plataforma bat garatu dugu Django Frameworka erabiliz. Guztia kudeatzeko eta erabilitako bertsioak kontrolatzeko zc.buildout erabiltzen dugu, baina plataforma hazten doa eta iada dozena bat instalazio ditugu hainbat zerbitzaritan zehar banatuta. Plataformaren oinarria berbera denez, instalazio guztietan eguneraketak argitaratzeko buildout eta fabric-en oinarritutako sistema erabiltzen dugu. Hitzaldi honetan azalduko duguna.

uk: вхід без авторизації


Iteration, iteration, iteration

uk: Комп'ютерні науки

description: John Sutherland - Iteration, iteration, iteration There should be something for everyone in this whistle–stop tour of iteration in Python setting off from `for`–loops, and riding cross–country to multiplexing coroutines! See and hear the amazing sights and sounds of list comprehensions, and generators. Take in the amazing vistas from `itertools`, and be amazed at the magnificent `yield`! ----- We’ll take detours to higher–order functions, closures, and decorators. And cover the FP inspired builtins `map`, `filter`, and `reduce`, as well as the epitome of Pythonic programming, `enumerate`.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Javier Arias Losada - Machine Learning for dummies with Python Machine Learning is the next big thing. If you are a dummy in terms of Machine Learning, but want to get started with it... there are options. Still, thanks to the Web, Python and OpenSource libraries, we can overcome this situation and do some interesting stuff with Machine Learning. ----- Have you heard that Machine Learning is the next big thing? Are you a dummy in terms of Machine Learning, and think that is a topic for mathematicians with black-magic skills? If your response to both questions is 'Yes', we are in the same position. Still, thanks to the Web, Python and OpenSource libraries, we can overcome this situation and do some interesting stuff with Machine Learning.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Joaquin Berenguer - Server for IoT devices and Mobile devices using Wifi Network, The server is developed in Python 3.4, using MySQL5.6 The mobile device application is developed using Kivy. The application in the IoT device is developed in C. The IoT device is a hardware device using ATSAMD21 from Atmel, and wifi is made using ESP8266. The security used is sha256, standard in Python. And the IoT device using the crypto device ATECC508A, that generate also sha256. ----- The server is developed in Python 3.4, the information is stored in a MySQL 5.6 database. All IoT devices, Mobile Devices and Windows or Linux Desktop are registered in the database. All type of messages that are understood by every type of device, is also registered. A map between which device could access which device is also stored in the database. With this info, any mobile registered could send a message to a device. The message arrives to the server that resend the message to the IoT device, receive the answer and resend to the Mobile device. The Mobile device and the IoT device, could be anywhere, as the server is public, have the registration of every device connected. The mobile device application is developed using Kivy. The application in the IoT device is developed in C. The IoT device is a hardware device using ATSAMD21 from Atmel, and wifi is made using ESP8266. The security used is sha256, standard in Python. And the IoT device using the crypto device ATECC508A, that generate also sha256. The server start a thread for every device connected, the communication between thread is made using queues. During the presentation, the server is going to be presented, and IoT device is shown, no demo is going to be made. A library to manage the database, is used for easy access to the database, and have database independence, also will be shown. Prerequites: Python 3.4, sha256, threading, queue, mysql.connector, relational database.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Joe Drumgoole - A deep dive into the Pymongo MongoDB driver The Pymongo driver is one of MongoDB’s most popular driver interfaces for connecting to MongoDB. But developers rarely look under the cover to see what’s happening inside the driver. By having a deeper insight into how the driver constructs server requests and responds, developers will be able to write more effective MongoDB applications in Python. ----- *The Pymongo driver is one of MongoDB’s most popular driver interfaces for connecting to MongoDB. But developers rarely look under the cover to see what’s happening inside the driver. * *By having a deeper insight into how the driver constructs server requests and responds, developers will be able to write more effective MongoDB applications in Python.* *We will look at :* -*Initial connection* -*A query* -*A simple write operation* -*A bulk write operation* -*How the driver responds when we have a node failure* *We will also give insight into the driver’s approach to server selection when connecting to a replicas set (a multi-node instance of MongoDB).*

uk: вхід без авторизації


uk: Комп'ютерні науки

description: John Kraal - High Availability Scaling with Share Nothing Architecture Scaling a project to a worldwide scale with the same performance and availability in every region using Python isn’t easy, but with the right mindset and tools it’s a very viable target. ----- We will discuss methods of delivering software, with automated scaling systems, building units out of your project to manage separately and how to reliably and securely distribute data to separate clusters, and how we have achieved this with the use of Celery, Redis, Databases, Protobuf and other modern tools, whilst making sure to highlight our pitfalls and successes

uk: вхід без авторизації


Ethical hacking with Python tools

uk: Комп'ютерні науки

description: Jose Manuel Ortega - Ethical hacking with Python tools Python, as well as offering an ecosystem of tools for testing security and application pentesting.Python offers a tool ecosystem for developing our own tools security for testing applications and the servers security,identifying information about servers and potential vulnerabilities. The ultimate objective is show a pentesting tool integrating some of the modules commented and try a demo showing info about our domain target and find vulnerabilities in it, ----- Nowdays, Python is the language more used for developing tools within the field of security. Many of the tools can be found today as port scanner, vulnerability analysis, brute force attacks and hacking of passwords are written in python. The goal of the talk would show the tools available within the Python API and third-party modules for developing our own pentesting and security tools and finally show a pentesting tool integrating some of the modules. The main topics of the talk could include: **1.Enter Python language as platform for developing security tools** Introduction about the main libraries we can use for introducing in development of security tools such as socket and requests. **2.Libraries for obtain servers information such as Shodan, pygeocoder,pythonwhois** Shodan is a search engine that lets you find specific computers (routers, servers, etc.) and get information about ports and services that are opened. **3.Analysis and metadata extraction in Python for images and documents** Show tools for scraping web data and obtain metadata information in documents and images **4.Port scanning with tools like python-nmap** With python-nmap module we can check ports open for a target ip or domain. **5.Check vulnerabilities in FTP and SSH servers** With libraries like ftplib and paramiko we can check if the server is vulnerable to ftp and ssh anonymous connections.

uk: вхід без авторизації


Hacking ético con herramientas Python

uk: Комп'ютерні науки

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

uk: вхід без авторизації


Per Python ad Astra

uk: Комп'ютерні науки

description: Juan Luis Cano - Per Python ad Astra In the intersection of mechanics, mathematics and "cool stuff that travels through space" lies Astrodynamics, a beautiful branch of physics that studies the motion of spacecraft. In this talk we will describe poliastro, a pure Python library we can use to compute orbital maneuvers, plot trajectories and much more. The role of JIT compiling (using numba) to drop the previously used FORTRAN algorithms will also be discussed, as well as the importance of open source in scientific discoveries. ----- In the intersection of mechanics, mathematics and "cool stuff that travels through space" lies Astrodynamics, a beautiful branch of physics that studies the motion of spacecraft. Rocket launches have never been so popular thanks to companies like Space X, more and more investors pay attention to aerospace startups and amazing missions explore our planet and our Solar System every day. In this talk we will describe poliastro, a pure Python library we can use to compute orbital maneuvers, plot trajectories and much more. The role of JIT compiling (using numba) to drop the previously used FORTRAN algorithms will also be discussed, as well as the importance of open source in scientific discoveries.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Juan Manuel Santos - Salting things up in the DevOps' World: things just got real SaltStack is a thriving configuration management system written in Python that leverages YAML and Jinja2 which, by now, probably needs no introduction. This talk will explore Salt beyond the minimum required setup, targeting developers/sysadmins already using Salt, and those considering making the switch from other systems but wishing to dive deeper first. Attendees should be familiar with configuration management systems and practices, and comfortable using and reading YAML and Jinja syntax. ----- There is much more to Salt than the basics. This talk will go beyond the minimum required setup and will take a look at Salt under the hood, which will appeal not only to system administrators, but will also be more interesting to developers and to the DevOps community in general as the talk progresses. Topics include: * Introduction and basics review (master/minions, matching, grains, pillar) * Salt Mine * Syndic node * State modules vs. runner modules * The Reactor * The Event System * Salt Beacons * Salt API Attendees should be familiar with configuration management systems and practices, and also feel comfortable using and reading YAML and Jinja syntax. This talk is targeted to developers or sysadmins already using Salt, and to those who are considering switching to it from other systems but wish to dive deeper before making that decision. After the talk, attendees will have a better grasp of the more advanced possibilities that Salt brings, and be ready to apply them to their use cases.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Kali Kaneko - Against the silos: usable encrypted email & the quest for privacy-aware services At the LEAP Encryption Access Project we aim to make secure communications both easy to use and easy to provide. We bring some tales (and some, hopefully, tools) from the quest for user-friendly crypto software. How to make people love the email experience in the 21st century, without risking their privacy. How to encrypt data locally, sync it to servers that you can lose, and still be sexy. ----- Technologies that allow for privacy in the communications, allowing the escape from the pervasive massive surveillance, have been there for some years now, but yet its use by the general public is far from widespread. The challenge, in our view, can be defined by one of making usable crypto. Usable for the end user, usable for the sysadmin and for the fellow application developer. In the quest for massive adoption of encryption technologies, we've been forging several python packages to solve different problems, always standing in the shoulders of giants. We bring some tales from the trenches to share, from our humble experience trying to deploy clients and servers to provide Secured Encrypted Internet Tunnels and Encrypted Email. This includes interesting challenges dealing with key management, automatic and secure software updates, and processing of email while using stock cloud providers, while still being resistant to hostile environments. We'll show a webmail email user agent based on this architecture, a promising future for decentralization and privacy. We'll also talk about how to store locally encrypted data, and will present Soledad (Synchronization of Locally Encrypted Data Across Devices). Soledad is a library with server and client components that allows the development of different applications based on client-side, end-to-end and cloud-syncable encryption of private data. We'll play with some toy apps to showcase its features and potential.

uk: вхід без авторизації


I Hate You, NLP... ;)

uk: Комп'ютерні науки

description: Katharine Jarmul - I Hate You, NLP... ;) In an era of almost-unlimited textual data, accurate sentiment analysis can be the key for determining if our products, services and communities are delighting or aggravating others. We'll take a look at the sentiment analysis landscape in Python: touching on simple libraries and approaches to try as well as more complex systems based on machine learning. ----- Overview ------------- This talk aims to introduce the audience to the wide array of tools available in Python focused on sentiment analysis. It will cover basic semantic mapping, emoticon mapping as well as some of the more recent developments in applying neural networks, machine learning and deep learning to natural language processing. Participants will also learn some of the pitfalls of the different approaches and see some hands-on code for sentiment analysis. Outline ----------- * NLP: then and now * Why Emotions Are Hard * Simple Analysis * TextBlob (& other available libraries) * Bag of Words * Naive Bayes * Complex Analysis * Preprocessing with word2vec * Metamind & RNLN * Optimus & CNN * TensorFlow * Watson * Live Demo * Q&A

uk: вхід без авторизації


Dynamic Class Generation in Python

uk: Комп'ютерні науки

description: Kyle Knapp - Dynamic Class Generation in Python This talk is about dynamic class generation in python: the practice of writing code that generates classes and their functionality at runtime. It will use boto3, the AWS SDK for Python, as a basis to dive into the basics, the benefits, and the drawbacks to dynamically generating classes. ----- This talk is about the concept of dynamic class generation in python. The whole idea is writing code that generates classes and their functionality at runtime. You now may be asking yourself, “That sounds like a neat trick. Why would I ever generate my classes at runtime?” Here are a few reasons why: - It can decrease the physical size of your code. - It can improve the workflow in adding new functionality. - It can improve reliability of your code. One example where the power of this concept has really been leveraged is in boto3, the AWS SDK for Python. Dynamic class generation has allowed boto3 to become heavily data driven such that most of its classes and methods are generated based off JSON models representing aspects of an AWS service’s API. For example, to add support for a new AWS service API in boto3, just plop in a JSON file into the library with no additional Python code required. Using lessons and techniques drawn from developing boto3, this talk will dive into the following topics related to dynamic class generation: - The basics of dynamic class generation such as how to effectively dynamically generate classes. - How to overcome some of the challenges of dynamic class generation. - The tradeoffs in dynamically generating classes and discussion on when it is appropriate.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: L. Ozaeta - Endor, ipuinak kontatzen zituen Nao robota. Aurkezpen honetan Nao robotaren Choreographe programazio ingurumenaren sarrera bat egiten da, pythonek errobotikan duen erabilpena erakutsiz. Aurkezpen guztia aurkezleak orain arte egindako lanean oinarritzen da. Lehenik eta behin, programa baten estruktura erakutsiko da. Ondoren, liburutegi bat nola gehitu erakutsiko da, liburutegiaren instalazioak ekar ditzakeen arazoak aztertuz. Azkenik, Naoaren gorputz jarreran zein diskurtsoaren naturaltasunean egindako aurrerapenak azalduko dira. ----- Honekin lortu nahi diren helburuak honako hauek dira: - Choreographeko proiektu baten estruktura ezagutzea. - Nao robot baten oinarrizko programa bat ikustea. - Chorepgraphek ematen dituen programazio blokeak eraldatzen jakitea, python erabiliz. - Choreographen eskaintzen diren tresnen bitartez, programan python liburutegi bat gehitzen ikastea. Aurkezpen hau ulertzeko ez dago eskakizunik. Python pixka bat dakien edonork (“hello world” bat egiten jakitearekin balio du) ulertzeko mailan emango da eta ez da konplexutasun tekniko handiko azalpenik emango. Printzipioz python ezagutzen ez duen edonor ere aurkezpen ia osoa ulertzeko gai izango da, programazio ingurumen bezala ez baita kodean gehiegi sartzen, pythonekin hasteko aukera ona izanez.

uk: вхід без авторизації


The Gilectomy

uk: Комп'ютерні науки

description: Larry Hastings - The Gilectomy CPython's GIL means your Python code can only run on one CPU core at a time. Can we remove it? Yes, we can... in fact we already have! But is it worth the cost? ----- CPython's "Global Interpreter Lock", or "GIL", was added in 1992. It was an excellent design decision. But 24 years is a long time--today it prevents Python from capitalizing on multiple CPUs. Many people want us to remove the GIL. It turns out, removing the GIL isn't actually that hard. In fact, I already removed it, in my experimental "gilectomy" branch. But the GIL is one reason CPython is so fast! The "gilectomy" makes CPython shockingly slow. This talk will discuss the history of the GIL, how the GIL helps make CPython fast, how the "gilectomy" removed the GIL, and some ways we might be able to make the "gilectomy" version fast enough to be useful.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Lauris Jullien - Asynchronous network requests in a web application Introducing asynchronous calls from within an endpoint in a web app can be desirable but hard to achieve. This talk will explore different solutions for this (running Twisted event loop, Co-Routines, Asyncio, …) and how well they play with the different parallelization models of common WSGI web servers. ----- In the more and more popular SOA paradigm, it’s common for services to have to compose responses with resources from many different services. Everyone’s first idea will probably be to call each service synchronously with your favorite python HTTP library. This unfortunately doesn’t scale well and tens of successive network calls will make your endpoints painfully slow. One solution is to parallelize these network calls. If you are already using an asynchronous web app (such as Tornado or Twisted), more asynchronous in your asynchronous shouldn’t be much of a challenge. But if you chose not to dive into the madness of chained Deferred calls, and used a standard prefork/threaded WSGI web server (such as Gunicorn or uWSGI) to run your Django/Flask/Pyramid application, you might find yourself wondering how to manage these asynchronous calls. This talk will explore different solutions (running Twisted event loop, Co-Routines, Asyncio, …) and how well they play with the different parallelization models of WSGI web servers.

uk: вхід без авторизації


Learn Python The Fun Way

uk: Комп'ютерні науки

description: Liana Bakradze - Learn Python The Fun Way Programming is one of the most important 21st-century skills and tons of different online and offline resources can help you to master it. On the other hand, playing games is really effective way for us to learn and it's also the most fun. But is it possible to learn real programming language like Python by playing a game? In this talk I'll show you some projects that allow you to achieve that. I also want to inspire you to help such projects and to suggest ideas how to do that. ----- Programming is one of the most important 21st-century skills. It doesn't only provide promising career opportunities but teaches how to reason logically, systematically and creatively. Code readability, rich standard library, straightforward syntax and other features make Python a great language for teaching beginners how to program. Python community is very supportive and friendly to newcomers and does awesome work to make Python available to everyone. Tons of different online and offline resources can help you to master Python programming. Problem solving is the classical way of learning how to code. But it can be boring for some people, especially for kids. On the other hand, playing games is really effective way for us to learn and it's also the most fun. You can find different games designed to teach basics of programming, but most of them use special visual environments and don't teach real text based languages. But is it possible to learn programming language like Python by playing a game? In this talk I'll show you a few projects for different age and levels that allow you to achieve that. I'll pay attention on methods that are used to teach programming. I also want to inspire you to help such projects and to suggest ideas how to do that.

uk: вхід без авторизації


Is that spam in my ham?

uk: Комп'ютерні науки

description: Lorena Mesa - Is that spam in my ham? Beginning programmers or Python beginners may find it overwhelming to implement a machine learning algorithm. Increasingly machine learning is becoming more applicable to many areas. This talk introduces key concepts and ideas and uses Python to build a basic classifier - a common type of machine learning problem. Providing some jargon to help those that may be self-educated or currently learning ----- Supervised learning, machine learning, classifiers, big data! What in the world are all of these things? As a beginning programmer the questions described as "machine learning" questions can be mystifying at best. In this talk I will define the scope of a machine learning problem, identifying an email as ham or spam, from the perspective of a beginner (non master of all things "machine learning") and show how Python can help us simply learn how to classify a piece of email. To begin we must ask, what is spam? How do I know it "when I see it"? From previous experience of course! We will provide human labeled examples of spam to our model for it to understand the likelihood of spam or ham. This approach, using examples and data we already know to determine the most likely label for a new example, uses the Naive Bayes classifier. Our model will look at the words in the body of an email, finding the frequency of words in both spam and ham emails and the frequency of spam and ham. Once we know the prior likelihood of spam and what makes something spam, we can try applying a label to a new example. Through this exercise we will see at a basic level what types of questions machine learning asks, learn to model "learning" with Python, and understand how learning can be measured.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Maciej Dziergwa - The Journey from Python Developer to Python Company Owner I would like to indicate main keys to success, factors and features that help a developer to find himself on an independent career path. How to create employee-friendly work environment for Python developers? Which business model gives a chance to attract and keep more than 100 Python enthusiast? I will also gladly share some lessons learned working with dozens of clients, dozens of Python frameworks, and lots, lots of great developers. ----- Ten years ago I became a big Python fan, but at the time there were no jobs for Python developers in Poland. So, I decided to start my own Python company. Today, ten years later, this company employs more than 100 Python Developers in four cities. There are a lot of Python enthusiasts in the world, many of them more skilled than I was at that time, but clearly not anyone can become a „Python Business Developer”. In this talk I would like to indicate main keys to success, factors and features that help a developer to find himself on an independent career path. My goal is to answear these questions: How to create employee-friendly work environment for Python developers? Which business model gives a chance to attract and keep more than 100 Python enthusiast? I will also gladly share some lessons learned while working with dozens of clients, dozens of Python frameworks, and lots, lots of great developers.

uk: вхід без авторизації


Un vector por tu palabra

uk: Комп'ютерні науки

description: Mai Giménez - Un vector por tu palabra El ecosistema científico de python es extraordinario y saca músculo con las últimas aportaciones de la comunidad científica. Revisaremos nuevas aproximaciones a la representación de texto. ¡Tus cadenas de texto merecen algo más que una mísera bolsa de palabras! Veremos cómo se aplica la representación distribuida (word embeddings) en un caso práctico de aprendizaje automático, y daremos consejos para hacer experimentos replicables y obtener datos significativos.

uk: вхід без авторизації


RESTful API - Best Practices.

uk: Комп'ютерні науки

description: Malwina Nowakowska - RESTful API - Best Practices. It is important to understand from the beginning how model API should look like. Do not repeat your friends’ mistakes and make developers upset! There are some simple rules that can make your API cooler - clean, safe and efficient. Based on both bad and good examples of REST APIs (I had to deal with) we will learn about best practices. ----- Nowadays building and integrating with Representational State Transfer web services is a very common thing. It seems that creating RESTful API is trivial - nothing could be more wrong. In my previous projects I had to integrate with lots of APIs. Unfortunately only some of them were easy to work with. Most of the APIs did not follow the main rules of model API. It is really important to understand how model REST API should look like. To make developers happy we will learn best practices of creating REST API from the beginning. We will start with quick introduction what REST is, why principle of REST is so amazing, talk about identifires and explain some key terms. We will discuss about architectall constraints and properties. Mistakes and best practices are based on my experience of developing and maintaining the projects. After this talk you will be able to create model RESTful API developers will be happy to work with.

uk: вхід без авторизації


Where is the bottleneck?

uk: Комп'ютерні науки

description: Manuel Miranda - Where is the bottleneck? We all know Python strength does not rely on its performance and speed when running programs. This plus the flexibility of it, can lead to build real slow and bad quality software. In this talk you will discover a set of useful tools for diagnosing where the bottleneck is in your programs along with trips for quickly realizing which is the most needed resource. ----- Have you ever felt like your software is eating your resources and you have no clue why? Have you reviewed all the lines, debugged and printed everything but you still don't know what's wrong? In this talk I will conduct a fast intro of a basic set of tools you can use to diagnose your software's performance and then we will go through a simple piece of code to show how those tools work and what you can expect from them This set of tools will include basic ones given by the OS itself like `htop`, `lsof`, `ps` and more advanced ones that let you plot the memory usage for given functions like `memory_profiler`, check CPU usage and the call graph between functions like `cprofile` and `kcachegrind` and others. By the end of the talk, you should have an idea of which are the most typical causes that can make your program slow and you will have a list of tools to search for and identify the source of the problems.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Marc-André Lemburg - So you think your Python startup is worth $10 million... This talk is based on a recent consulting project the speaker ran to support the valuation of a Python startup company in the due diligence phase. By following some of the advice from this talk, you should be possible to improve the valuation of your Python startup or consulting business in preparation for investment rounds or an acquisition. ----- This talk is based on the speaker's experience running a Python focused software company for more than 15 years and a recent consulting project to support the valuation of a Python startup company in the due diligence phase. For the valuation we had to come up with metrics, a catalog of criteria analyzing risks, potential and benefits of the startup's solution, as well as an estimate for how much effort it would take to reimplement the solution from scratch. In the talk, I am going to show the metrics we used, how they can be applied to Python code, the importance of addressing risk factors, well designed code and data(base) structures. By following some of the advice from this talk, you should be able to improve the valuation of your startup or consulting business in preparation for investment rounds or an acquisition.

uk: вхід без авторизації


Clean code in Python

uk: Комп'ютерні науки

description: Mariano Anaya - Clean code in Python Introduction to the clean code principles applied to Python code. Let's honor the readable nature of the Python syntax so anyone can maintain our code: "readability counts". This talk introduces general concepts of code quality and how they apply for Python. We analyse technical debt, refactoring, and unit testing in the context of a project striving for a better code base. ----- Introduction to the clean code principles tailored for Python projects. The goal is to achieve better code quality and a more maintainable code base. Python has a nature of being clear, and easy to follow, so let's take advantage of it in our own code, in order to enforce the principle "readability counts" by writing pythonic code. This talk introduces general concepts of code quality for Python developers, analyzing technical debt, with examples on how to achieve a more legible, maintainable and clean code base, by refactoring, writing unit tests and having good coding guidelines for the project. If you are giving your first steps with Python, you will gain insight on best practices for writing good software from the start. If you are a experienced developer, the ideas should work as food for thought, helping with recommendations for code reviews, best practices, etc.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Marko Samastur - Publish your code so others can use it in 5 easy steps As developers we all love well-documented, well-tested packages. If we do the same for our code it is easier for others to re-use our hard work, and maybe even contribute. We will take a quick look on how to do this using popular tools and only a small investment of time. With Github and some simple tools, setting up a well-groomed package doesn't have to be difficult. ----- Every Python open-source developer wants their software to be used. As developers, we trust software that is tested and well-documented. In this talk we'll go through 5 steps for how to do this for your own packages. We will take a quick look on how to do this using popular tools and small investment of time: - Write a setup.py script for a pure Python package - Set up py.test, tox and coverage to test our package with multiple versions of Python - Configure Github to use Travis CI & coveralls.io to automatically test our package every time we commit - Register and publish our package to PyPI - Setup our documentation on ReadTheDocs

uk: вхід без авторизації


Do I need to switch to Go(lang) ?

uk: Комп'ютерні науки

description: Max Tepkeev - Do I need to switch to Go(lang) ? Nowadays, there is a lot of buzz about Go. In this talk we'll learn the basics and most important concepts of the language, we'll further discuss differences and similarities in Go and Python and dive into the cool features of Go. Finally we'll talk about why popularity of Go is raising so fast and try to answer the most important question: Do I need to switch to Go ? ----- Nowadays, there is a lot of buzz about Go. It happened so that for the last 6 months I've been mostly programming Go, and frankly speaking I fell in love with this language. We'll first do a quick review of the language. Go doesn't have some language constructs, for example classes and exceptions and at first it may seem hard to write proper Go code, but in practice the language is so easy that I will try to teach you the basics and most important concepts of the language. We'll further discuss differences and similarities in Go and Python and dive into the cool features of Go. Finally we'll talk about why popularity of Go is raising so fast and try to answer the most important question: Do I need to switch to Go ?

uk: вхід без авторизації


TDD of Python microservices

uk: Комп'ютерні науки

description: Michał Bultrowicz - TDD of Python microservices A framework-agnostic approach to creating Python microservices with a tests-first approach. I'll show how to utilize Docker and Swagger to create service and contract tests that run your service as an independent process, as if it was running in production, giving you and your team a higher degree of confidence when introducing changes. A little bit of a broader microservice, TDD and work management context will also be given. ----- These will be my ideas on how to help a microservice-based (HTTP) project by integrating testing into the development process (TDD). I'll approach the testing pyramid presented in Martin Fowler's "Microservice Testing" as well as the test variants in "Building Microservices" (O'Reilly) and I'll show a way of how they can be translated to real-life Python. The main focus will be on "service tests" (aka. out-of-process component tests) and contract tests. They both can be run relatively fast on a development machine and can give fast feedback to the developer, preventing many kinds of problems. Service tests run the whole application process without any internal modifications, but have to present the service with a fake "outside world". I'll show how to fake external HTTP services with Mountebank (similar to WireMock). Instead of faking other systems (like databases) we can quickly spin up the real deal as a Docker container from within the tests. Contract tests check if the contract (interface) of your service with the outside world is kept, so no external services should be broken by the changes you are introducing. It can also work the other way around, proving that your collaborators are keeping their part of the deal. In both cases, Swagger (a RESTful API description scheme) and a few clever tricks can be used for significant advantage.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Michał Karzyński - Building beautiful RESTful APIs using Flask This talk demonstrates a technique for developing RESTful APIs using Flask and Flask-Restplus. These tools automate common API tasks such as: validating input, serializing output, routing requests to methods, and turning Python exceptions into HTTP responses. The final API comes with a Swagger interactive UI, which documents all endpoints and makes testing easy. The described tools tools provide just enough syntactic sugar to make your code readable, scalable and easy to maintain. ----- Modern software is powered by APIs. User facing apps may run in the browser or on mobile platforms, but they almost universally rely on data stored in the cloud. More often then not apps use a RESTful API to exchange data with the server. In my talk I will demonstrate a technique for developing RESTful APIs using the [Flask] micro-framework and [Flask-Restplus]. These powerful tools automate most common tasks associated with API development: validating input, serializing output, routing requests to methods, and turning Python exceptions into machine-readable HTTP responses. A Flask-Restplus API is fully documented by [Swagger] which lists all defined endpoints, their query parameters and the format of input and output JSON objects. Swagger generates an [interactive UI] for selecting options and easily testing queries. Flask and Flask-Restplus provide just enough syntactic sugar to make your code readable, scalable and easy to maintain. My presentation will give an overview of the features of Flask and Flask-Restplus; I will describe how easy it is to get started and discuss some best practices for building complex APIs using this approach. I will wrap up by briefly mentioning other components of the Flask ecosystem, which give this micro-framework power to match fully- loaded systems such as Django.

uk: вхід без авторизації


PSF Meeting

uk: Комп'ютерні науки

description: Naomi Ceder - PSF Meeting EuroPython Meeting of the Python Software Foundation Members and non-members are invited to this EuroPython meeting of the PSF! Please join us for some updates from the PSF board.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: 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!

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Miguel Cabrera - Things I wish I knew before starting using Python for Data Processing In recent years one of the ways people get introduced into Python is through its scientific stack. Although this is not bad, it may lead to learn solely one aspect of the language, while overlooking other idioms and functionality included in Python as well as some basic software development good practices. I will share some useful tricks, tools and techniques and software design and development principles that I find beneficial when working on a data processing / science project. ----- In recent years of the ways people get introduced into Python is through its scientific stack. Most people that learned Python this way are not trained software developers and many times it is the first contact with a programming language. Although this is not bad, it may lead to learn solely one aspect of the language while overlooking other idioms, standard and common libraries included in Python as well as some basic software development good practices. This may become a problem when a data science project is moved from an experimentation phase to an integration with technical environment. In this talk I share some useful tricks, tools and techniques and as well as some software design and development principles that I find beneficial when working on a data processing / science project. The talk is divided into two parts, one is Python centered, where I will talk about some powerful Python construct that are useful in data processing tasks. This include some parts collections module, generators and iterators among others. The other I will describe some general software development concepts including SOLID, DRY, and KISS that are important to understand the rationale behind software design decisions.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Miguel Reguero/Rodrigo Núñez - Cybersecurity in the financial sector with Python When people talk about cybersecurity they often think about ethical hacking and exploits, that is but a fraction of what cybersecurity is about, today we are going to talk about another aspect, which is often deemed as not too important.

uk: вхід без авторизації