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

description: Concordia Station is a French/Italian facility located inside Antarctica, in a plateau called Dome-C, in the middle of nowhere. A dark and cold place: no Sun from May to August, temperatures around -80 Celsius degress, no life. Here I am living and performing scientific research with other 12 collegues from Italy, France and Austria. We are the most isolated people on Earth, more than the austronauts in the International Space Station. There is no way to move from Concordia until November, and no one can come. It is like to live in another planet, and that is why the European Space Agency is interested in making bio-medical research on us, in order to better understand how the human body behaves in a such extraterrestrial environment. We will introduce our studies, describe this place and our life here, and of course also speak about Python.

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

name: White Mars: living far away from any form of life


Lies, damned lies, and statistics

Marco Bonzanini

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: Statistics show that eating ice cream causes death by drowning. If this sounds baffling, this talk will help you to understand correlation, bias, statistical significance and other statistical techniques that are commonly (mis)used to support an argument that leads, by accident or on purpose, to drawing the wrong conclusions. The casual observer is exposed to the use of statistics and probability in everyday life, but it is extremely easy to fall victim of a statistical fallacy, even for professional users. The purpose of this talk is to help the audience understand how to recognise and avoid these fallacies, by combining an introduction to statistics with examples of lies and damned lies, in a way that is approachable for beginners. Agenda: Correlation and causation Simpson's Paradox Sampling bias Data visualisation gone wild Statistical significance (and Data dredging a.k.a. p-hacking)

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


Having fun with music and Keras

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

description: This talk is about applying deep learning to music. We will look at the raw music data and discover the following: How to detect instruments from a piece of music How to detect what is being played by what instrument How to isolate instruments in multi-instrument (polyphonic) music Instead of applying it to existing music we will generate our own music using some simple musical rules. The benefit of this is that we are in control of the complexity and we know exactly what is being played. We start out simple and then start adding more instruments, different timbres, etc. As we go up in complexity, we shall see how to adapt our models to be able to deal with it. This gives interesting insights in what structures in deep nets work well. I will show: How to build a simple synthesizer using numpy How to create an unlimited data set of improvisation that sounds musical How to use this data set for detecting instruments using deep learning How to filter out one instrument when multiple synthesizers are playing at once

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


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

description: Python has gained quite some traction in the web development world and more recently as the goto language for anything that has to do with data science. However, it's use in the enterprise world of applications is rather limited. Based on the author's many years experience in working in enterprise environments, the talk will demonstrate areas in the business application space where Python has significant advantages over other languages, but which are currently dominated by applications written in Java, C++ or C#. There are huge opportunities out there for companies to excel at and use the Python advantage to their benefit. If you are looking for a lead idea to kick start your Python business (and you have the resources to invest into marketing), this talk is for you.

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

name: How to make money using Python: Unused potential in the Enterprise World


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

description: We need help with organizing and running EuroPython 2018. In this session, we will explain how the EuroPython workgroup model works and where you could help.

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

name: EuroPython 2019: Let's build it together!


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

description: 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: вхід без авторизації

name: General Assembly 2018: EuroPython Society (EPS)


asyncio: We Did It Wrong

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

description: This talk is aimed at those that have at least intermediate experience in Python and have played around with asynchronous Python using asyncio or other libraries. I want the audience to learn from my mistakes! For instance, how easy it is to get into “callback hell” (and how to avoid/get out of it), how to screw up thread safety and deadlock yourself, and making code async but not actually concurrent. I'll talk through some anti-patterns and best practices that I learned the hard way. This includes proper concurrency, calling coroutines from synchronous code, working with threads and threadsafety, properly shutting down an async programs, and hidden "gotchas".

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


Productionizing your ML code seamlessly

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

description: Data science and Machine Learning are hot topics right now for Software Engineers and beyond. And there are a lot of python tools that allow you to hack together a notebook to quickly get insight on your data, or train a model to predict, or classify. Or you might have inherited some data wrangling and modeling {Jupyter/Zeppelin} notebook code from someone else, like the resident data scientist. The code works on test data, when you run the cells in the right order (skipping cell 22), and you believe that the insight gained from this work would be a valuable game changer. But now how do you take this experimental code into production, and keep it up-to-date with a regular retraining schedule? And what do you need to do after that, to ensure that it remains reliable and brings value in the long term? These will be the questions this talk will answer, focusing on 2 main themes: 1. What does running an ML model in production involve? 2. How to improve your development workflow to make the path to production easier? This talk will draw examples from real projects at Yelp, like migrating a pandas/sklearn classification project into production with pyspark, while aiming to give advice that is not dependent on specific frameworks, or tools, and is useful for listeners from all backgrounds.

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


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

description: This is a presentation of and call for participation in development and testing of Python bindings to Succinct Data Structure Library. From Wikipedia: Succinct data structures can represent an object (such as a bitvector or a tree) in space close to the information-theoretic lower bound of the object while supporting operations of the original object efficiently. The theoretical time complexity of an operation performed on the classical data structure and the equivalent succinct data structure are (most of the time) identical. Currently bindings are provided for: Mutable bit-compressed vectors Immutable compressed integer vectors Immutable compressed bit (boolean) vectors Rank and select operations on bitvectors Wavelet trees Comressed suffix arrays

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

name: PySDSL: Succinct data structures for python


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

description: Smarkets is heavily invested in Python and this is why we've decided to be the Keystone sponsor of EuroPython 2018! In this talk, we'll tell you more about what we do at Smarkets, why we think we're a unique place to work, the interesting things we're doing at the Conference and of course how we use Python every day. We'll also tell you about some of our current challenges in upgrading from 3.6 to 3.7, evaluating asyncio in production and what we've learned from type hinting over the past two years.

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

name: Smarkets: Keystone Sponsor Talk - Why Python is at the heart of Smarkets


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

description: Deep Learning is all the rage, but ensemble models are still in the game. With libraries such as the recent and performant LightGBM, the Kaggle superstar XGboost or the classic Random Forest from scikit-learn, ensembles models are a must-have in a data scientist’s toolbox. They’ve been proven to provide good performance on a wide range of problems, and are usually simpler to tune and interpret. This talk focuses on two of the most popular tree-based ensemble models. You will learn about Random Forest and Gradient Boosting, relying respectively on bagging and boosting. This talk will attempt to build a bridge between the theory of ensemble models and their implementation in Python.

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

name: Walking the Random Forest and boosting the trees


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

description: This time it’ll be different. It’s a green field project and you’ve learned from your mistakes. You’re not going to make the same ones again. Fast forward several months and you’re in a mess. A change in one place causes bugs in a completely different place. Adding a simple feature means making changes all over your application. Progress is getting slower and slower. You’re lost in complexity. Why does this keep happening and what can we do about it? This talk will try to answer those questions. I’ll show how complex software really is, define the different types of complexity found in software, explain the issues complexity causes and discuss different techniques we can use to manage it. This talk is suitable for anyone who has worked or will work on a software development project. No development experience is required.

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

name: Creating a Culture of Software Craftsmanship


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

description: Python is very often recommended as the language of choice in a programming education. I can see at least two cases when it's a thing: - introduction to programming - regardless an age and any previous educational experience, - data science - it's just a standard... and actually both - you can teach a future data scientists starting by teaching Python. During this talk, I would like to briefly present you what Open Source Python educational materials do we have there and how those are and can be used to teach Python and data science. PyLadies, Django Girls, Django Carrots, Python Software Foundation creates many very available materials. From the data science side, you have Open Source materials created by kaggle, Minerva, Github repos, and many other organizations and individuals. During this talk you will learn: - where to find an Open Source Python and data science tutorials and educational materials - how does the Python community can support your learning process - why learning data science with Python is a good idea. I'm also interested in learning your educational experience with an Open Source materials and Python community supporting your learning experience. If you would like to share a link or your educational story, please feel free to send me an email on kamila@stepniowski.com. If I will find it interesting for the audience and if you will give me your permission to share it, I might use it in the talk.

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

name: How can you use Open Source materials to learn Python & data science?


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

description: Ever wondered if you should try type checking in your Python project, or what it takes to get started with mypy? I will show how to introduce type checking the easy way, one step at a time. Dropbox was an early adopter of type checking and mypy, and we've been gradually adding type annotations to our large production codebases since 2016. Engineers love how type annotations improve the clarity of code, and how mypy can surface hard-to-find bugs. We've learned a lot in the process of annotating millions of lines of code, and in this talk you'll learn battle-tested approaches for adding type checking to an existing codebase. I expect no previous experience with mypy. You'll benefit the most if you've worked on a project with multiple developers.

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

name: Getting Started with Mypy and Type Checking


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

description: Looking for ways to make the transition from block based programming to Python easier, then look no further! In this talk 14 year old Josh will introduce you to his project called EduBlocks, which is a drag and drop version of Python 3 that he has created to help teachers introduce programming languages, like Python, to children at an earlier age. The goal of the project is to make the transition from block based programs like Scratch to Python easier for students and teachers, as presently there is no drop-in solution that bridges this gap. Josh will share his journey so far with you, from how he came up with the idea when he was only 11 years old, the developments along the way, the exciting plans for the future and how schools today in over 72 different countries around the world are making use of EduBlocks on the Raspberry Pi and micro:bit.

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

name: EduBlocks - Making the transition to Python easier!


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

description: Monoliths, microservices and now Serverless. Function as a Service (FaaS) platforms give us new ways to attack old problems. The possibility of executing functions as a service allows designing scalable and highly parallel applications, but on the other hand, this kind of applications require a particular programming style. For example, bundling dependencies and managing state is not trivial. However, there are plenty of tools and frameworks to help you code serverless applications with Python, and once you get started it is not complicated. In this talk we will mention the advantages of Serverless and we will focus on the situations in which we can introduce it into our Python projects. We will use AWS Lambda for the examples. These could be the main talking points: Introducing Serverless and Function as a Service (FaaS) in Python projects Advantages of Microservices and Serverless AWS Lambda functions with chalice Testing AWS lambda with docker

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

name: Microservices and Serverless in Python projects


Reliability of distributed systems

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

description: Is your system stable? Do you know what happens if any of your system's dependency will start failing? Do you even know what exactly each part of your system does or did any time in the past? Or how fast you will identify root of the problem in case your system goes down at 2am? The talk focuses on distributed systems (microservices, APIs that communicate with databases, memory, third party services, etc.), monitoring, their failures and recovery in order to help you answer yourself questions above. First part aims on importance of monitoring such systems on several levels - monitoring of hardware, application monitoring, monitoring from outside of the systems, detecting malfunctions based on anomalies within system's data flows. Second part presents several standard techniques for preventing system failure in case of outage of dependency and technique how to recover from inconsistent state after outage. Content of presentation is helpful and interesting for beginners and intermediates. Senior developers and developers working on reliable distributed systems should bear in mind content of this presentation and master shown techniques.

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


Faster Python startup

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

description: The cPython’s startup speed generally quite fast compared to other similar dynamic language interpreters. Despite this, the interpreter’s startup time increases linearly with the number and size of imported python modules. Although interpreter startup speed isn't a significant concern in long running servers, it does matter for the command line and other frequently launched applications. One of the oldest tricks in the book, when it comes to performance optimizations is to perform frequent and expensive operations fewer times and reuse results from previous invocations. We noticed that the overhead of reading and un-marshalling .pyc files at startup can be eliminated if we could directly embed code objects and their associated object graph from .pyc files into the data segment of the cPython binary. This technique is quite similar to the approach taken by image based languages like Smalltalk in the past. Implementing this for cPython is made simpler because marshaled code objects in .pyc files contain a subset of the types of objects that marshal format supports. With this approach, loading a module included in the python binary is as cheap as dereferencing a pointer, albeit at the cost of increased binary size. This talk will discuss the approach taken to implement the aforementioned idea for Python 3.6 and the challenges faced in implementing it. It will also talk about benchmark results from the improvements and possible future directions for this work. Although this talk delves into cPython internals, no prior experience with cPython internals is required to follow along.

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


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

description: Let's face it. Sometimes our code just isn't working how we expect it to work. When this happens, we fall back to our trusty tools to help us debug: pdb, the logging module, or even simple print statements. But sometimes that just isn't enough, we still can't figure out why our code is broken. We need something more. There are a number of fantastic libraries in python for creating data visualizations. These libraries are commonly used for analyzing and visualizing large sets of data, but don't see as much usage when it comes to helping us write and debug our code. What if we could combine the two? What if we could leverage data visualization tools to understand what our program is doing? Sometimes, by seeing a visual representation of what our code is doing, it becomes much easier to understand why our code is not working. We don't need to create publication quality graphs and charts, we just need to generate quick, one-off visualizations to understand what our code is doing. What we want is the "data visualization" equivalent to print() statements. To help illustrate this point, I will walk through some of the hardest bugs I've had to track down while working on projects such as the AWS CLI and boto3, the AWS SDK for Python. For each bug, I'll show you how I was able to leverage data visualization techniques to troubleshoot and fix these bugs. Come learn how to debug more efficiently by leveraging data visualization.

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

name: Debugging Your Code with Data Visualization


Advanced Django queries optimization

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

description: Collecting data from multiple Models is a common flow in Django development. In most of the cases prefetch_related and select_related do all of the job for optimizing the queries. When the models structure become complicated enough and we've put our logic for collecting these items in models' properties we suddenly cannot use prefetch_related or select_related anymore. Our View 's queries count depends on selected items count with high complexity. The problem is in the selection logic: we've implemented an algorithm which calculates something and we cannot prefetch or select all of the objects. So this talk's purpose is: To show how to use Django ORM to move the selection logic, the calculations, the aggregations over group of objects from our python code to our database and moving all of the logic for this in one place - the queryset and test it easily.

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


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

description: In an online betting exchange, thousands of money related transactions are generated per minute. This data flow transforms a common and, in general, tedious task such as accounting into an interesting big data engineering problem. At Smarkets, accounting reports serve two main purposes: housekeeping of our financial operations and documentation for the relevant regulation authorities. In both cases, reliability and accuracy are crucial in the final result. The fact that these reports are generated daily, the need to cope with failure when retrieving data from previous days, and the fast growing transaction volume obsoleted the original accounting system and required a new pipeline that could scale. This talk presents the ETL pipeline designed to meet the constraints highlighted above, and explains the motivations behind the tech stack chosen for the job, which includes Python3, Luigi and Spark among others. These topics will be covered by describing the main technical problems solved with our design: - Fault tolerance and reliability, i.e ability to identify faulty steps and only rerun those instead of the whole pipeline. - Fast input/output. - Fast computations.

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

name: ETL pipeline to achieve reliability at scale


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

description: It's a great time to be a software developer. Platforms are steadily becoming more mature, useful tools are released almost daily and things that seemed hopelessly futuristic only a few years ago are suddenly commercially viable. Despite this, the software world is awash with bullshit. The success of the largest technology companies has led to a very skewed set of lessons. This narrow focus is amplified by the venture capital industry and the fact that nobody really knows what's going to happen next. The good news is, none of this actually matters. The basics of creating something useful and selling it for money remain the same. In this talk, I'm not going to give you "one weird trick" or tell you to ~* just follow your dreams *~. But I'll share some of the things we've learned from building a successful software company around commercial developer tools and our open-source library spaCy.

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

name: How to Ignore Most Startup Advice and Build a Decent Software Business


Citizen Science with Python

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

description: You could make a difference in the world with a little science and Python. We'll look at several data-driven humanitarian and healthcare projects developed using Python and, all going well, run some audience experiments. By the end of the talk I hope you'll be looking to run your own experiments with the scientific Python stack.

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


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

description: The DevOps movement gave us many ways to put Python applications into production. But should your application care? Should it need to know whether it’s running on your notebook, on a server, in a Docker container, or in some cloud platform as a service? It should not, because environment-agnostic applications are easier to test, easier to deploy, easier to handle, and easier to scale. But how can you practically structure and configure your applications to make them indifferent to the environment they run in? How do secrets fit into the picture? And where do you put that log file? By the end of this talk you’ll know the tools and techniques that enable you to write such Python applications and you’ll be ready for the next big change.

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

name: How to Write Deployment-friendly Applications


Asyncio in production

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

description: Much has been written about asynchronous programming in Python, especially after the introduction of asyncio into the standard library of the language. We've all seen the benchmarks that tell us how asyncio-powered web servers massively outperform their non-asyncio counterparts for trivial routes and we've seen the articles that tell us how to make the move from flask to aiohttp and why we should. Despite all of this, the question remains: How is it to use asyncio in a production setting? What are the pain points of migrating a large application to use asyncio? How does the performance of this real-world application differ after the migration? Is it still just unicorns and fairy tales? The goal of this talk is to address these questions. If you are curious about taking the step from asyncio-dabbling to creating actual mission critical software systems in asyncio; this is the talk for you!

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


May the Fuzz be with you

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

description: This talk will explore how Long short-term memory (LSTM) recurrent neural networks combined with Python can use Artificial Intelligence to provide invalid, unexpected, or random data as inputs for testing software and finding network security vulnerabilities. The technique of machine generated test inputs is an established testing approach and is sometimes referred to as fuzzing. I will take this idea further by presenting how various types of machine learning can provide novel outlier test cases to harden software and networks in a way that is superior to using only randomness. Instead, I will discuss how to train neural networks to produce better fuzzing data.This is a natural progression from my work with machine learning and image processing using support vector machines (SVM) and Generative Adversarial Networks (GAN) which I have applied to this new domain of software testing. This a beginner level talk aimed at all software developers and testers with a goal to giving attendees a basic understanding of fuzz testing. Timing of presentation 1 Introduction 0-5 minutes 2 What is a neural fuzzing 5-10 minutes 3 How does fuzzing work 10-15 minutes 4 Steps to train a deep neural network 15-20 minutes 5 Implementing a basic LSTM neural network for security testing 20-25 minutes 6 Conclusion and Questions 25-30 minutes

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


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

description: To understand recursion you must first understand recursion. Alternatively, you could come to a talk that will demonstrate the basics of recursion, using fractals drawn by the python turtle module! What are fractals? Fractals are psychedelic designs that appear basically the same regardless of scale. They also appear all over nature–consider how a tree trunk and branches is similar in structure to branches and twigs or how a wave is made of mini waves. Best of all, fractals can be constructed using recursive functions. What is the turtle module? It is part of the standard python library that can be used to draw amazing things and is commonly used as a tool for learning to code. Come for the recursion, stay for the amazing fractals, and leave knowing that no turtles were harmed in the making of this talk. This talk is suitable for all python enthusiasts. Those who love mathematics will love this talk. Advanced developers will learn more about a tool that can be used to teach people to code. There is something for everyone.

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

name: Recursion, Fractals, and the Python Turtle Module


Hacking Reinforcement Learning

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

description: Creating huge datasets of top performing examples for Reinforcement Learning (RL) has always been tricky, but if we allow ourselves to cheat a bit it can be done very easily. During this talk, I will present a new family of algorithms that allow to efficiently generate very high quality samples for any known RL environment. This new generation of planning algorithms achieves a performance which is several orders of magnitude higher than any other existing alternative, while offering linear time complexity and good scalability. This talk will be a practical example of how we can use new tools for hacking any reinforcement learning environment, and make it generate superhuman level games. Hacking RL, as any other hacking process will be divided in four phases: During information gathering, I will briefly explain what are the main ideas behind Reinforcement Learning. I will also talk about how our theory (FractalAI) came to be, and what are the fundamental concepts behind it. We will find an attack vector against the environment API, and explain how it can be exploited. I will explain the fundamental concepts needed to build a new generation of exploits, that will allow us to have complete control over the data the environment produces. This is the time to test the new exploits and to show a proof of concept. We will exploit the attack vector to gain access to the environment. Using only a laptop I will show how it is possible to sample data which surpasses human performance way faster than real time. Once we have gained control of the environment, we will measure how well the exploits work, and how well the techniques presented can generalize to other types of environments. I want the talk to be as simple and fast as possible, with a lot of graphical examples, videos, and a Jupyter notebook. The Q&A session is the time to apply some social engineering to get me to talk about the details that you find more interesting. I have prepared additional material covering the most common questions and concerns, but feel free to ask whatever you want, I love challenging questions ;)

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


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

description: Python 3.7 will ship with a new module called dataclasses, which has been defined in PEP 557. What is this module? What are the problems that PEP 557 authors try to solve? What was the chosen design, and why? How does it compare against the tools that already exist? This talk will deeply cover dataclasses, but also attrs box, thingy and others.

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

name: PEP 557* versus the world: *Data Classes


How do I get the job I want?

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

description: Engineers are rare, jobs are plenty, so far so good. But what if I don’t just want any job that pays the bills, but the job that will push my career and that I actually enjoy doing every day? If your answer to why you’d like to join company XY is: “Work from home and make good money”, you should not be surprised to not be taken into the next round. But what would be a good answer to that question? What should I say when asked where I see myself in 5 years? There are a lot of subtle aspects to succeeding and failing in the application process, from your initial cover letter to the on site visit meeting the team. As a tech recruiter, I’d like to share with you the best and (sometimes quite entertaining) worst practices in the application process in order to help you get the job you want!

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


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

description: "Productivity depends on the knowledge you have of the tools used." Do you feel that the development tools you use are heavy? Do you think that they make you less productive? Do you want to have maximum productivity without lifting your hands from the keyboard? If so, this talk is for you. In this talk, I will show what are the tools I use every day in software development at OnTruck and how you can integrate the text editor, vim the terminal multiplexer, tmux the HTTP client, httpie and the json processor, jq to get a very productive development environment, all running on a simple terminal.

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

name: Developing in a black hole: vim, tmux, httpie and jq


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

description: A recent but quite common observation in industry is that although there is an overall high adoption of data science, many companies struggle to get it into production. Huge teams of well-payed data scientists often present one fancy model after the other to their managers but their proof of concepts never manifest into something business relevant. The frustration grows on both sides, managers and data scientists. In my talk I elaborate on the many reasons why data science to production is such a hard nut to crack. I start with a taxonomy of data use cases in order to easier assess technical requirements. Based thereon, my focus lies on overcoming the two-language-problem which is Python/R loved by data scientists vs. the enterprise-established Java/Scala. From my project experiences I present three different solutions, namely 1) migrating to a single language, 2) reimplementation and 3) usage of a framework. The advantages and disadvantages of each approach is presented and general advices based on the introduced taxonomy is given. Additionally, my talk also addresses organisational as well as problems in quality assurance and deployment. Best practices and further references are presented on a high-level in order to cover all facets of data science to production. With my talk I hope to convey the message that breakdowns on the road from data science to production are rather the rule than the exception, so you are not alone. At the end of my talk, you will have a better understanding of why your team and you are struggling and what to do about it.

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

name: Bridging the Gap: from Data Science to Production


EuroPython 2018 - Sprint Orientation

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

description: Sprint Orientation [EuroPython 2018 - - 2018-07-27 - Smarkets] [Edinburgh, UK] License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2018.europython.eu/en/speaker-release-agreement/

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


EuroPython 2018 - Opening Session

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

description: Opening session [EuroPython 2018 - - 2018-07-25 - Smarkets] [Edinburgh, UK] License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2018.europython.eu/en/speaker-release-agreement/

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


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

description: Lightning talks [EuroPython 2018 - - 2018-07-25 - Smarkets] [Edinburgh, UK] License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2018.europython.eu/en/speaker-release-agreement/

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

name: EuroPython 2018 - Lightning talks on Wednesday, July 25


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

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

name: EuroPython 2018 - Lightning talks on Thursday, July 26: Preceded with Distinguished Service Award presented to Marc-Andre Lemburg


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

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

name: EuroPython 2018 - Lightning talks on Friday, July 27


EuroPython 2018 - Closing Session

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

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


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

description: The analysis of text data in social media is gaining more and more importance every day. The need for companies to know what people think and want is key to invest money in providing customers what they want. The first approach to text analysis was mainly statistical, but adding linguistic information has been proven to work well for improving the results. One of the problems that you need to address when analyzing social media is time. People are constantly exchanging information, users write comments every day about what they think of a product, what they do or the places they visit. It is difficult to keep track of everything that happens. Moreover, information is sometimes expressed in short sentences, keywords, or isolated ideas, such as in Tweets. Language is usually unstructured because it is composed of isolated ideas, or without context. I will talk about the problem of text analysis in social media. I will also explain briefly Naïve Bayes classifiers, and how you can easily take advantage of them to analyse sentiment in social media, and I will use an example to show how linguistic information can help improve the results. I will also evaluate the pros and cons of supervised vs unsupervised learning. Finally, I will introduce opinion lexicons, both dictionary based and corpus-based, and how lexicons can be used in semi-supervised learning and supervised learning. If I have time left, I will explain about other use cases of text analysis.

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

name: Recipe for text analysis in social media: a linguistic approach


A tale of refactoring

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

description: A couple years ago I was approached by a client to help them improve the performance and maintainability of their code. That code was filled with very long functions, some of them with very similar code and the project was really hard to understand as a whole. My first reflex was to refactor this code code to make it more understandable. In my opinion, it did fit part of my assignment as understandable code is easier to maintain but it was also very helpful later in letting me make small changes with full knowledge of what was going to be affected by those changes. Large methods and functions is something that creeps into our code whether we plan for it or not. This talk is about one way to deal with it. This talk will be based on code provided by the GildedRose Refcatoring Kata Prerequisites: - Basic knowledge of Python - Basic knowledge of OOP Goals: - Demonstrate one approach for refactoring code - Show how to leverage Python's dynamic nature to make code simpler

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


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

description: Concurrent programs are super useful: think of web apps juggling lots of simultaneous downloads and websocket connections, chat bots tracking multiple concurrent conversations, or web spiders fetching pages in parallel. But writing concurrent programs is complicated, intimidating to newcomers, and often challenging even for experts. Does it have to be? Python is famous for being simple and straightforward; can Python make concurrent programming simple and straightforward too? Trio is an attempt to address this question by the positive! By taking advantage of new Python 3 features (async/await keywords, async loops and context managers etc.) while dropping legacy concepts that older asynchronous frameworks has to maintain, Trio defines a new set of primitives that make it dramatically easier to write correct concurrent programs. In this talk, we will describe those primitives, and demonstrate how to use them to implement a basic algorithm for speeding up TCP connections. Compared to the best previous Python implementation, our version turns out to be easier to understand, more correct, and dramatically shorter.

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

name: Trio: A pythonic way to do async programming


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

description: For most travellers, online reviews play a major role when it comes to choosing which hotel to stay in. But can we actually trust a hotel review? And if yes, how can we select which are the most meaningful and interesting for us among the billions available in platforms such as Booking.com, Tripadvisor, Facebook (just to mention a few)? For 10 years now, at TrustYou we have built processes that analyze terabytes of hotel reviews at a global scale, and strive to understand what people complain about or like in the hotels worldwide. Dealing with a huge amount of reviews written in tens of different languages - each having its own subtle shades of meanings - is the challenge we work on everyday. In this talk, we will show what goes on behind the scenes of the TrustYou Metareview and dive into the technologies and the algorithms that allow us to provide travellers with all the information they need to find the perfect hotel.

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

name: Bad hotel again? Find your perfect match!


Autism in development

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

description: Autism is a condition that correlates with engineering. Many people in the industry are diagnosed autistic, undiagnosed autistic, or near autistic. There are many lessons that can be learned from how to deal with autistic people that are very useful in our industry. These lessons are often also useful when dealing with non-autistic people. There are many lessons on how to deal with your own autism that are useful to undiagnosed autistic people and near autistic people. We will cover the basics of autism, and related conditions. We will cover simple tricks that can make discussions and changes easier in workplaces ("10 Simple tricks to make your autistic colleagues shout less!"). We will also cover techniques you can use for dealing with your own autistic tendencies ("100 coping mechanisms to pretend that you are normal!"). I am a late diagnosis autistic person myself, and will discuss the difference between knowing and not knowing that you are autistic.

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


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

description: Poor surface air quality has a range of implications for human health and the economy. Without concerted mitigation efforts, trends in urbanisation and aspirations for progressive economic growth will result in poorer levels of air quality. Analysing and interpreting the incoming data streams from heterogeneous air quality measurement stations is critical for tackling the problem and for developing early warning systems. I am using Python to develop a set of online analysis tools (ukatmos.org) to enable the public to quickly and easily plot air quality data in many ways, effectively freeing up information that is already publicly available but in awkward formats and often involves development of code. We anticipate these tools will also support data science classes at school, and can speed up scientific research by minimizing effort in repeating analyses. This talk will cover how the tools integrate numerous Python libraries (e.g. Pandas and NumPy), the Django web framework, the Plot.ly tools for creating interactive graphs, and SQL to address the large data volumes. Developing these Python tools in an adaptive and scalable way allows it to grow as more data become available, e.g. satellite observations. Adaptability also includes evolving user requirements. This project will also be developed into a Python library allowing the user to easily use the online analysis tools from an offline Python environment.

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

name: Air Quality & Python: Developing Online Analysis Tools


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

description: This talk will take you on a journey from Birmingham to Edinburgh via Florence, Berlin, Bilbao and Rimini. The last 10 years of EuroPython. This will be a trip down memory lane where we look at how the language, community and conference have evolved with some personal anecdotes along the way. This will be in part a retrospective, where we will look at what we have done well and where we can do better. Finally, we will look at some aspirations and ideas for the coming years.

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

name: 10 years of EuroPython and the Python community


reno: A New Way to Manage Release Notes

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

description: reno is a tool for managing release notes in projects that support multiple branches of development, and releases, simultaneously. It solves the problem of managing release notes within patches that fix bugs, and makes it easier to cherry-pick changes between branches (allowing backports or forward ports). This talk will cover the requirements, and constraints, that led us to design and build reno. I will also show how to use it to create notes and publish them in your packages and via Sphinx-based documentation. Then I will talk about the impact reno, and the release notes publishing automation, had on our project and release processes.

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


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

description: Learning to use the awesome Pandas toolkit helped me immensely in lots of ways. Finding novel, efficient solutions to complex day-to-day problems with Pandas not only saves time, but can be fun and rewarding experience. In this talk I'll present use cases I had to solve, but the "traditional" approach proved tough and/or otherwise frustrating implement nicely. Since I was just starting to learn Pandas, decided to try an alternative solution with it. What I learned changed the way I think about data processing with Python, and it only got better since! The use cases deals with extracting pen strokes from handwritten SVG samples, and recomposing them into reusable letters and numbers. When you need to compare each stroke to all others, often more than once, resulted in inefficient, slow, and hard to maintain code. Even a naive Pandas approach with loops helped to reduce both the memory footprint, and improve the performance considerably! Improving the implementation further, vectorizing inner loops, and taking advantage of multi-index operations, I managed to get the same results, using less memory and a lot faster (by orders of magnitude).

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

name: All You Need is Pandas: Unexpected Success Stories


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

description: With the increase in computing power, harnessing and controlling one’s code out of the single-threaded realm becomes an ever-increasing problem, coupled with the desire to stay in the Python layer. With the recent tools and frameworks that have been published, escaping the GIL cleanly is much easier than before, allow one’s Python code to effectively utilize multi-core and many core architectures in the most Pythonic ways possible. In this talk, learn about how to utilize static multiprocessing for process pinning, and effectively balancing thread pools with a monkey-patched import of threading modules. Overview: Introduction to multithreading and multiprocessing in Python History of multithreading+multiprocessing in Python, classic frameworks Problems that can occur (oversubscription, nested parallelism issues, process hopping, pool resource on shared machines) Python accessing bigger hardware over the last few years (28+ cores, etc) When to stay in the GIL, and when to escape it The advantages and safety of the GIL Python-level exiting of the GIL; analysis of when to return to single-threaded, and when threading is a deceivingly bad idea Accountability of frameworks that natively exit the GIL The new multithreading and multiprocessing libraries and techniques static multiprocessing module (smp) (and monkey patching of multiprocessing) thread pool control with command line calls of Python ( python -m tbb -p 8) Putting it all together Examples of using static multiprocessing on a large machine to stop oversubscription Example of pseudo-daemon process on 4-core machine by processor pinning Thread pool control on a simple NumPy example Summary - Best practices for using above methods to control multithreading+multiprocessing What needs to be done in the space (frameworks and things that need to be exposed) Problems that still exist in the area Q&A

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

name: Addressing multithreading and multiprocessing in transparent and Pythonic methods


Die Threads

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

description: In the brave new world of async, threads are now a thing of the past. Or are they not?

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


The naïve programmer

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

description: Since Picasso encountered Henri Rousseau over a century ago, modern art has been acutely aware of the value of the contributions that the naïve artist can make. Art negotiates the relationship between sophistication and naïvety with care and intelligence. What does our programming culture make of the naïve programmer? What can programming gain or learn from this encounter? The naïve programmer is simply an unsophisticated programmer. Nobody is born sophisticated. Even the most sophisticated programmers were once naïve programmers. What's more, the adoption of programming simply as a tool to solve immediate problems, by ever more people without any formal training, means that the number of naïve programmers will become greater, not less. Are we ready for this? This talk will explore the relationship, illuminating it with examples from the world of painting, art and music, and will offer some lessons that our own industry and culture should be ready to learn from. (This talk will already have been presented as a keynote at DjangoCon Europe 2018)

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


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

description: In this demo driven session, we’ll show you how to use the cross-platform, free, and open source Visual Studio Code for all your Python development needs. From editing, to linting, to debugging and more, you will learn how to get started, as well as tips and tricks to save you time in your everyday development lifecycle. If you’re an experienced Python developer, you will learn how to take advantage of all of Visual Studio Code’s capabilities to maximize your productivity. If you’re a new Python developer, you will learn more about Python and how to use Visual Studio Code to get up and running quickly. We will start by showing how to create a new application, configure linting, manage virtual environments, and run code. Then we’ll show how to use more powerful features like debugging, unit testing and Visual Studio Live Share for collaborative editing and debugging with your co-workers. Finally, we’ll show how you can install additional extensions to set up your keyboard bindings, manage docker containers, deploy to the cloud, and more!

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

name: Get Productive with Python in Visual Studio Code


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

description: In this session we will walk through creating a Python web app with Docker and deploying it to Microsoft Azure using the free, cross-platform, and open-source Visual Studio Code. We will also show using hosted Jupyter notebooks in Azure Notebooks to analyze data, and storing data in CosmosDB using the Azure SDK for Python. If you're excited about Python and want to learn more about the capabilities of Azure, then this session is for you. We will cover all of the basics, no experience with Azure, containers, cloud computing, or Visual Studio Code necessary!

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

name: From Zero to Azure with Python, Docker containers, and Visual Studio Code


Postgres at any scale

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

description: We’ll start with the basics you need to know as an app developer about interacting with your database, then dig into how you can start to analyze performance. We’ll look at things you need to know for a small application, then the things you should be cautious of as you start to layer in other items you need to be aware of for performance including: Cache hit ratio Index hit ratio Proper use of indexes Bloat Efficient joins Sharding

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


SSl Error, what now?

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

description: TLS/SSL is the most important and widely-used protocol for secure and encrypted communication, e.g. HTTPS. It offers more than just encryption. TLS also ensures data integrity and strong authentication with X.509 certificates. But it provides merely a false sense of security, if you use it wrong. Have you ever encountered ssl.SSLError: [SSL: CERTIFICATE em VERIFY/ em FAILED], while connecting to a server, but you didn’t understand what is going on? Are you running production code without TLS/SSL protection or with certificate validation disabled, because you couldn’t figure out how to make it work correctly? I’ll give you the rundown of the basic cryptographic building blocks, protocol handshake, inner structure of certificates, and PKI. You’ll learn about the best practices, debugging tools and tips how to diagnose TLS/SSL and how to deal with certificates.

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


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

description: Matching strings should be one of the first natural language processing problem that human encounter since we start use computer to handle data. Unlike numerical value which has an exact logic to compare them, it is very hard to say how alike two strings are for a computer. One may compare them character by character and have an idea of how many characters in the pair of stings are the same. Unfortunately in most application we need computer to perceive strings like we do and therefore we have to use fuzzy matching. Fuzzy matching on names is never straight forward though, the definition of how “difference” of two names are really depends case by case. For example with restaurant names, matching of words like “cafe” “bar” and “restaurant” are consider less valuable then matching of some other less common words. Also, do we consider company names that matches partly (like “Happy Unicorn company” and Happy Unicorn co.”) are the same? In the first half of the talk Levenshtein Distance, a measure of the similarity between two strings, will be explained. Different functions in Fuzzywuzzy like “partial em ratio” and “token/em sort_ratio” will also be explored and compared for difference. It is very important to understand our tool and choose the right one for our task. Then in the second half, we will start tackling the example problem: matching company names, we will show that besides using Fuzzywuzzy, we have to also handle problem like finding and avoid matching of common words and speeding up the matching process by grouping the names. By combining all tricks and techniques that we demonstrate, we will also evaluate how efficient this method is and the advantage of using this method. This talk is for people in all level of Python experience who would like to learn a trick or two and would like to be able to solve similar problems in the future. Theory of how the library works will be explained and It is easy to be pick up even for beginners.

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

name: Fuzzy Matching: Smart Way of Finding Similar Names Using Fuzzywuzzy


Exploring the Python AST Ecosystem

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

description: This session will introduce attendees to Python's rich ecosystem of abstract syntax tree tooling and libraries, with an emphasis on practical applications in static analysis and metaprogramming. Attendees should be fully comfortable with Python syntax and semantics, but familiarity with the ast module itself will not be necessary. The talk will begin with a conceptual overview of ASTs, including a brief look at Python's built-in introspection capabilities. It will introduce tools for AST visualization (astor, showast, python-ast-explorer), creation (asttools, meta), and transformation to source code (codegen). How the AST can be used for static analysis will be covered; this will include discussion of Python's built-in facilities (NodeVisitor) as well as of the 3rd party tools astsearch, astpath, and bellybutton. The talk will demonstrate the advantages and limits of these tools in comparison to other static analysis tooling (pylint, mypy); particular attention will be paid to how these tools can be incorporated into attendees' workflows and existing codebases and projects. Tooling for Python AST manipulation and metaprogramming will be the final topic covered, focusing on the use of the NodeTransformer built-in. The talk will cover practical applications and examples of metaprogramming, such as metaprogramming for DSLS (pony, xpyth), runtime code manipulation (patterns, yield-from), and others (e.g. assertion rewriting in pytest). While the talk will touch only briefly on each of the applications discussed, by the end of the session attendees should have a firm grasp of the kinds of problems the AST can be used to solve, what existing AST tooling can accomplish, and what resources are available for the development of their own AST tools.

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


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

description: In this talk, Bernat will introduce tox, an open source tool with the bold vision of standardizing testing. From a CIs point of view, testing contains much more than just unit and/or integration tests; other things like code style checks, packaging, testing under various versions of Python, and checking that documentation still generates, are just as important. Things quickly start to spiral out of control once you add into the mix that there are many tools and ways to accomplish each of these tasks. In this talk, we will learn how tox tries to abstract away all this complexity, how to easily run CI tests on your local machine, and how one can use this tool inside your CI frameworks to ensure high quality and easily maintainable packages.

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

name: Standardize Testing in Python: Tox Primer


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

description: A look at the GPIO Zero library for Raspberry Pi yields the blueprint for a Pythonic API for programming the behaviour of interconnected devices. GPIO Zero provides a multi-paradigm programming interface to GPIO devices: - procedural (polling) - procedural (blocking) - event-driven (callbacks) - declarative Start with simple scripts to control LEDs and buttons on a breadboard, learn to prototype ideas and move on to declaring interaction between more advanced devices in the home and beyond. These options for device programming, along with the extensibility of the library, provide the means to program complex behaviour using simple Pythonic code.

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

name: Programming paradigms for physical computing and IoT


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

description: The clock is ticking on Python 2.7, with support to be dropped in January 2020. With major dependencies such as Django, NumPy and pandas moving to Python 3 only, the time has come for even big established codebases to consider upgrading. Many organisations are still postponing for various reasons; we will attempt to demonstrate that with a bit of planning and perseverance, and the assistance of some handy tools, we can embrace the future! This session will provide a first-hand perspective on how we upgraded a large (~65,000 lines of python code) 8-year-old Django project with multiple external dependencies from Python 2.7 to Python 3.6. We will briefly discuss the benefits of upgrading to Python 3, and architectural considerations. The session will primarily focus on the practicalities of upgrading the code itself. We will not try to provide a single “best” solution for upgrading to Python 3, but rather will introduce some of the available tools, provide an insight into how we used them, and their advantages and disadvantages from our experience. We will discuss preparatory steps and approaches, strategies for dealing with external dependencies, and “gotchas” that we encountered during the process. The aim of this session is to provide an example of how a Python 3 upgrade on an established commercial product can be successfully completed, and to furnish audience members with a set of tools and strategies to help them with their own projects. Prerequisites: basic knowledge of Python.

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

name: Python 2 is dead! Drag your old code into the modern age


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

description: Have you ever tried optimizing a super-slow Python application and thought: “Oh! I wish I could just write this bit it in Rust”? Well, turns out you can! We will show you how Rust is a better alternative than C to make your programs lightning fast, and how to get away with it; without your users even noticing. As Infrastructure Engineers at Yelp, the challenge we face everyday is: scale. Yelp is mostly a Python shop and while this is great for development velocity, our work often revolves around making Python applications run faster. Until now, we have been using different techniques: faster interpreters, or, more often, C code. Given its safety guarantees, performance and promise of better tooling than C, we decided we had to give Rust a try. The initial results helped reinforce that there was a lot of opportunity for Rust to play an important role in our production code. Yelp heavily relies on the Apache Avro serialization format for its internal infrastructure. During the talk, we will show how we implemented an Avro serialization/deserialization library in Rust, how we were able to call it from Python (and in theory from any other language) with very little code, using tools such as cbindgen, CFFI and Milksnake. This talk would outline how easy it is to write performant code in a language like Rust and call it from Python applications without users even realizing it, making this a great solution for production services.

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

name: How to write Rust instead of C, and get away with it (yes, it's a Python talk)


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

description: In the last ten years scientists working on computational problems involving proteins and other small molecules have largely moved to using python when developing simulation and data analysis tools allowing for a fast prototyping and development of new ideas. One big challenge is dealing with the compatibility of different tools and using these to create very complex adaptive, yet robust workflows in order to be able to guide cutting edge experiments e.g. predicting how well a small drug like molecule can bind to a protein that could serve as a target for a new drug. The talk will give a gentle introduction to what kind of python related tools are available in the field of computational molecular biology, how they are used, and what kind of complex workflows scientist have to solve. I will then introduce BioSimSpace an open source python library and flagship project of the CCPBioSim consortium in the UK, which provides a common API to avoid having to learn many individual tools facing compatibility and dependency challenges allowing scientists to focus on the scientific question at hand and not solving programming challenges. BioSimSpace allows fast and interoperable building of workflow components (nodes) for bimolecular problems, which can easily be used on a variety of different computational resources. In particular I will introduce the cloud facilities available for fast prototyping using a Jupyter notebook interface.

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

name: How is python used in biomolecular sciences?


How to use Web-Sockets in Python

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

description: Modern web-apps require bi-directional communication, reacting not only to user actions but also to server events. This can be achieved elegantly using Web Sockets, a protocol standardized by W3C to be a default tool for full-duplex connections on the Web. Although most web-frameworks do not support Web Socket integration out of the box, Python has multiple options available making it a piece of cake. This talk showcases integrating Web Sockets in Python web-apps, focusing on situations that can make good use of it and presenting implementations with most popular frameworks: Tornado and Django. We will explore a similar style but different underlying technologies of both, and finish with a live demo.

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


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

description: Gradient boosting is a powerful machine-learning technique that achieves state-of-the-art results in a variety of practical tasks. For a number of years, it has remained the primary method for learning problems with heterogeneous features, noisy data, and complex dependencies: web search, recommendation systems, weather forecasting, and many others. CatBoost is a new open-source gradient boosting library, that outperforms existing publicly available implementations of gradient boosting in terms of quality. It has a set of addional advantages. CatBoost is able to incorporate categorical features in your data (like music genre, URL, search query, etc.) in predictive models with no additional preprocessing. CatBoost inference is 20-60 times faster then in other open-source gradient boosting libraries, which makes it possible to use CatBoost for latency-critical tasks. CatBoost has the fastest GPU and multi GPU training implementations of all the openly available gradient boosting libraries. CatBoost requires no hyperparameter tunning in order to get a model with good quality. CatBoost is highly scalable and can be efficiently trained using hundreds of machines The talk will cover a broad description of gradient boosting and its areas of usage and the differences between CatBoost and other gradient boosting libraries. We will also briefly explain the details of the proprietary algorithm that leads to a boost in quality.

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

name: CatBoost - the new generation of Gradient Boosting


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

description: Recurrent Neural Networks (RNNs) have become famous over time due to their property of retaining internal memory. These neural nets are widely used in recognizing patterns in sequences of data, like numerical timer series data, images, handwritten text, spoken words, genome sequences, and much more. Since these nets possess memory, there is a certain analogy that we can make to the human brain in order to learn how RNNs work. RNNs can be thought of as a network of neurons with feedback connections, unlike feedforward connections which exist in other types of Artificial Neural Networks. The flow of talk will be as follows: - Self Introduction - Introduction to Deep Learning - Artificial Neural Networks (ANNs) - Diving DEEP into Recurrent Neural Networks (RNNs) - Comparing Feedforward Networks with Feedback Networks - Quick walkthrough: Implementing RNNs using Python (Keras) - Understanding Backpropagation Through Time (BPTT) and Vanishing Gradient Problem - Towards more sophisticated RNNs: Gated Recurrent Units (GRUs)/Long Short-Term Memory (LSTMs) - End of talk - Questions and Answers Session

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

name: Understanding and Implementing Recurrent Neural Networks using Python


A Taxonomy of Decorators: A-E

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

description: This talk will briefly go over the various decorator syntaxes before breaking up the common usages of decorators into 5 categories. Effectively, these are design patterns for decorators. The usages to be considered are: A - Argument Changing Decorators -- Decorators that change a function's arguments, including changing its signature B - Binding Decorators -- Decorators that implement the Descriptor Protocol, such as the builtins: @property, @classmethod, and @staticmethod C - Control Flow Decorators -- Decorators that change when or whether the function will be called, such as @retry or @lrucache D - Descriptive Decorators -- Decorators that do not change the function, but create a reference to it elsewhere, like pytest.mark and flask.app.route E - Execution Decorators -- Decorators that retrieve source code and/or AST and alter it.

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


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

description: A microcontroller unit is a CPU, memory modules, and I/O devices on a single chip. There are tens of billions of microcontrollers in world: they are everywhere from watches to cars. Developers program them mostly in C, since their tiny hardware resources make it very hard to use higher-level langauges such as Python. In 2014 the MicroPython project was started with the goal of making it possible to program microcontrollers in Python. Was it hard to make Python work on a device with only 16 KB of RAM? Is MicroPython a Python dialect or is it a different language? I'll start with the most important optimizations and the key differences in the language implementation to give you an idea of what MicroPython really is. Most of us are not contributors to MicroPython though and it's much more important for us to understand how Python coding for microcontrollers is different from, say, web development or scripting. What do you need to learn in order to program your mictrocontroller-based IoT devices? I'll talk about several traits of Python coding for microcontrollers that make it different, but exciting to learn. License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2018.europython.eu/en/speaker-release-agreement/

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

name: What makes coding for MicroPython different?


Python Decorators: Gift or Poison?

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

description: Why would you ever need to use decorators in Python? Have you ever had the task when you need to use one function in few places and you really wanted to avoid of code duplicating? For example to add some logging into functions or timers, etc. Decorators in Python are super powerful with these tasks, but at the same time they are super complicated, sometimes even magical. When I started learning Python, Decorators were really like a magic: how to use them, how are they working, lots of questions. The goal is to make the things easier and clear to answer a question: to use or not to use Decorators in your project. What’s in the Talk: - Functions nature in Python - Magic of a Decorator - Basics - When to use Decorators - Examples - Even more Python magic

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


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

description: Have you ever asked yourself: - how and where to start developing a new project from the scratch, - how to choose main components of a new software or how to develop a new feature, - how to decide whether your project needs refactoring, - how to avoid repeating the same issues? This talk will answer all these questions. You will learn: - how to develop the idea from scratch, - how to use principles of Object Oriented Analysis and Design, - how to show amazing architecture design. You will get better understanding where and how to start, analyze and decouple the system, create a clean, clear and extendable architecture. My slides are here: https://atymo.me/projects/presentations/FromIdeaToDesign/

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

name: How to develop your project from an idea to architecture design in 50 minutes


Let’s embrace WebAssembly!

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

description: WebAssembly (WASM) is an open, low level binary format designed to be compact and run at native speed, while being memory-safe. WASM is primarily intended to run code in browsers, but its by no means limited to this. This makes it an interesting intermediate language (IR); code that compiles to WASM will (in the future) run basically anywhere. In short: WASM is coming and its great! Unsurprisingly, WASM is being embraced by many communities, such as C++, Rust, Lua, and .NET. Sadly, there does not seem to be a lot of enthusiasm from the Python community yet… Perhaps this is because Python is interpreted and can therefore not (easily) use WASM as a compilation target. It should be possible to compile a Python interpreter (like CPython or Pypy) to WASM and thereby run Python code in a browser. But the result would be pretty heavy-weight, so it would arguably not be a very practical. Within the PPCI project (a pure Python compiler infrastructure) tooling has been developed to load, inspect, compile and even run WASM modules. This allows combining WASM and Python in new ways. In this talk we discuss two approaches by which the Python community might embrace WASM. Firstly, various projects already exist that compile Python functions to other languages (e.g. Numba, PScript), and we have type annotations. If Python functions would be compiled to WASM, the resulting code would run in any WASM runtime (e.g. the browser). This will be demonstrated with an example, for which the resulting code can be run either in a browser or inside Python itself. In either case, it’s pretty darn fast. Secondly, rather than em using /em WASM, it might be interesting for Python to function as a platform to em run /em and em bind /em WASM modules. Two of Python’s greater strengths are its rich ecosystem and its ability to glue things together. Let’s build on that! Imagine creating an application that consists of multiple WASM modules, perhaps compiled from different languages, and binding these together into a single Python app. This will be demonstrated with a game, which is written in Rust, compiled to WASM, and running inside a Python process. The WASM module consumes a drawing API, which is in this case provided by Python, and Python feeds the WASM module with user input. I hope that this talk inspires other Pythonistas to think about the advantages that WASM can bring to our ecosystem, and also about the role that Python can play in the growing WASM ecosystem.

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


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

description: Feature engineering and model training often comes hand in hand. Some tasks have an overwhelming amount of high dimensional data, some tasks have little data or very low-dimension data. This talk targets the latter problem: what can be done with the data itself to significantly improve the model performance and when manual feature engineering does make sense. A sample case of Classification problem with NN will be presented The goal of the talk is to remind about something every person working with the data thinks and probably uses.

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

name: Data is not flat: How can feature engineering help?


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

description: A retrospective and prospective of Python's adoption in the data-driven industries and how it has and should influence its ecosystem and communities. Thanks to its versatility, Python's usage and adoption has changed a lot over the last decade to go beyond the very act of software programming. From Developers to SysOps, closely followed by Scientists and Data analysts, Python has spread to become a common tongue for a wide range of people. We will start by looking at how this increased adoption impacted Python ecosystem and is still shaping it today. While this talk is not walk through all the Python technologies around data, some of them will be outlined so you will hear words like Numpy, Pandas or Jupyter. Then we will try to project ourselves in the future and by highlighting the pitfalls Python has to overcome to keep up with its pace and mature in its ability to scale! Draft of the agenda The rise and collusion of science and engineering and their influence on Python From DevOps to DataOps, the shape and breakthroughs of Python's ecosystem Prospect of challenges and pitfalls in the massive data era

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

name: The rise of Python in the data communities


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

description: You are maybe like me: I never learned at school how to write tests. My teachers gave me at first a broad overview of computer history. Then, they explained me some basic design patterns. And to finish, I often had to write more or less basic programs, to validate and demonstrate my skills. Not the kind of code I would be really proud of today: the procrastinator monkey living in my head at this time was more thinking about planning my summer holidays, rather than writing Ninja code! And to make things worse, my studies focused on network and system engineering. Not software architecture. Funny story, because I decided to become programmer a couple of years later... What I realize now is that I don't have as much time as before to learn. And in a world driven by business, where time is money, and where tradeoffs are the rule, there is rarely enough money to write both shiny new features and a complete test suite. People who practice Test-Driven Development know how complicated it can be to write proper tests. TDD is often discouraging at first: the learning curve is steep. But this problem also exists in the testing world in general. Because writing good tests is hard, many beginners get headaches trying to reach this goal. How to convince project managers to have more time for writing tests in these conditions... But "le jeu en vaut la chandelle" as we say in French ("the juice is worth the squeeze"). Well tested applications are not only easier to maintain and extend. They also have in general a better API. That's what we will see in this talk, by focusing on how to write integration tests. Our journey will begin with a presentation of different testing strategies. We will then jump to the practical part, using Pytest, interface testing , dependency injections and stubs, amongst many others. And because we want to add nice buzzwords on our resume after EuroPython, we will finish this talk by automating the whole with Docker Compose.

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

name: Integration Tests with Super Powers: And even more...


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

description: There are all these great blog posts about Deep Learning describing all that awesome stuff. - Is it all that easy? Let's check! We'll look into: style transfer (making a picture look like painting), speech generation (like Siri or Alexa) and text generation (writing a story). In this talk I'll describe the whole journey: A fun ride from the idea to the very end including all the struggles, failures and successes. Steps, we'll cover: The data challenge: get the data ready Have it run on your Mac with PyTorch and an eGPU Creating a character-level language models with an Recurrent Neural Network Creating a text generator Creating artwork

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

name: Deep Learning with PyTorch for Fun and Profit


Rehabilitating Pickle

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

description: Pickle is a compact serialisation protocol for Python objects. It could be a convenient way for Python programs and distributed systems to communicate. Unfortunately pickle is widely considered to be unsafe, and it has lead to several vulnerabilities over the years. As the Python manual warns The pickle module is not secure against erroneous or maliciously constructed data. Never unpickle data received from an untrusted or unauthenticated source. Does this have to be the case? Can we use Pickle safely? This talk will be a deep dive into what an attacker can do with a maliciously constructed pickles. I’ll show what defences you can implement against the common attacks, especially those that gain arbitrary code execution. I will present new research into other attacks, and mitigations. Finally I will review a few less known alternatives to pickle.

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


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

description: Maintaining an open source project can be a drag. Especially when you have dozens of them. Besides being tedious , making a new release can be a very error prone process. Maybe you forgot to run the full test suite, forgot to update the release version or tag the release on VCS or maybe you bungled up the upload to PyPI. Fortunately there are things you can do to eliminate entire categories of human errors in the release process – by automating them. This talk uses a trivial project as an example to present a release pipeline, from packaging and testing to deployment, that only requires you to push a git tag to your Github repository. Automation then takes care of the rest and you end up with a new release on PyPI (yay!). This talk is mostly useful for open source developers using Github to house their projects, as it heavily leans on Travis, its continuous integration provider . You also need to be at least somewhat familiar with Python packaging and testing in order to follow along. Familiarity with common tools like pytest and tox helps but is not strictly required.

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

name: Automating testing and deployment with Github and Travis


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

description: Industrial Machine Learning This talk will provide key insights on the learnings I have obtained throughout my career building & deploying machine learning systems in critical environments across several sectors. I will provide a deep dive on how to build scalable and distributed machine learning data pipelines using Airflow with a Celery backend. I will also compare Airflow with other technologies available out there and how it differentiates, such as Luigi, Chronos, Pinball, etc. If you attend the talk, you will obtain an understanding on the solid fundamentals of Airflow, together with its caveats and walk-arounds for more complex use-cases. As we proceed with the examples, I will cover the challenges that you will run into when scaling Machine Learning systems, and how Airflow can be used to address these using a manager-worker-queue architecture for distributed processing with Celery. By the end of this talk you will have the knowledge required to build your own industry-ready machine learning pipelines to process data at scale, and I will provide further reading resources so people are able to implement the knowledge obtained almost right away.

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

name: Industrial Machine Learning: Horizontally scalable Data Pipelines with Airflow


Python and GraphQL

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

description: GraphQL query language is gaining popularity and seeing more adoption. This is mainly due to the efficiency with which consumers can get their data, the ease with which you can document and explore your API and the powerful tooling that has been built around the query language. This talk is for novices and experts of GraphQL alike and aims to cover the basics of the query language, how to implement it using Flask and SQLAlchemy and to take a deeper dive into how Python’s type-hinting can be used to generate your GraphQL schema. I’ll also be talking about some of the tooling that can be used to provide consumers and developers working on your API with a great development experience. Next I'll cover some ways you can use these tools to empower your development process and get you developing 'API First'. To get the most out of this talk you should have a general understanding of APIs, Python frameworks and Python ORMs. However, my aim is to make it as accessible as possible for developers of all experience levels.

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


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

description: Join us for a Phileas Fogg inspired whirlwind tour of eight Python web frameworks. "Had he programmed? It was likely, for no one seemed to know web frameworks more familiarly; there was no framework so obscure that he did not appear to have an intimate acquaintance with it. He must have developed in everything, at least in the spirit." We'll start with the current crop of microframeworks, showing how to achieve the same task in each, before progressing to "Batteries included" and the more specialised async frameworks. For developers who perhaps have only used a single framework, this talk gives them an opportunity to get out and explore the world (of web frameworks) and broaden their horizons, with plenty of Jules Verne inspired fun along the way.

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

name: Hello to the World in 8 Web Frameworks (micro, batteries included & async)


Pythonic code vs. performance

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

description: Idiomatic Python is beautiful. If you’re new to Python, this talk is for you because I’m going to reveal the charm of python in front of you. I’ll present how boilerplate code can be replaced with idiomatic python. If you’re experienced python developer, this talk is also for you because I’ll compare the performance of the idiomatic code, both from CPU and memory point of view. Some of these results may surprise you.

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


JavaScript for Python Developers

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

description: Having a hard time keeping track of where the modern JavaScript is going? Are you familiar only with jQuery and you want to know more? Or maybe you’re not familiar with JavaScript at all and want to learn it but you don’t know where to start? Then this talk is for you! You’ll learn about modern JavaScript from a perspective of a Python developer. By the end of the talk you’ll know everything you need to know about the language, its ecosystem, and different tools and frameworks. You’ll be able to start using JavaScript more confidently and be familiar with different tools that are at your disposal. We’ll go over all the things I wish I'd known when I first got started with JavaScript.: Basics of the language (types, operators, data structures, functions, modules, etc.) and how they are similar to or different from Python. Overview of the commonly used development and build tools. Overview of the popular frontend frameworks. A look into the newest features and Typescript. How to get started and make sense of everything with so much going on.

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


asyncio today & tomorrow

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

description: The talk is aimed to give attendees a clear picture of new asyncio features in Python 3.7 and give an idea of what to expect in Python 3.8. As a CPython core developer and the lead asyncio maintainer I believe I have a unique perspective to share with EuroPython guests. Python 3.7 boasts a number of new amazing features: sendfile start TLS new high performance buffered protocols context-local state via PEP 567 asyncio.run & create_task & other usability improvements many performance improvements The first part of the talk will be focusing on new APIs to explain them and give ideas how they can be used in production. The second part of the talk will be focused on what to expect to see in asyncio in Python 3.8: new performance tracking & profiling API supervisors & cancel scopes new timeouts API a completely new way of writing asyncio applications Some of these ideas are borrowed from Trio and Curio (two other popular async/await Python frameworks), many are borrowed from languages like Erlang and Scala. One thing I can say for certain is that 3.8 will be the biggest and most interesting asyncio release ever!

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


Washing away code smells

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

description: Does your code smell? Have a weird fragrance? It turns out code smells are a real thing and an amazing conceptualization of suboptimal design. This talk helps you identify code smells in Python. It also shows you how to wash them away by the technique of refactoring. You will learn the art of writing Pythonic, clean and maintainable code. Code smells refer to the symptoms of problematic code design. Identifying different types of code smells is the first step to successful refactoring. I will talk through some classic examples: Unnecessary long and complex code Using mutable data structures Uncommunicative naming Coupled code Knowing what to refactor, I will share a few learnings that lead to good quality code: The boy scout rule: always leave the code cleaner than you found it Pythonic data structures: Enum, Namedtuple The art of naming DRY and the separation of concerns principle I will also share tips on using refactoring at your company, which includes convincing your product manager, looking out for code smells during code reviews, and employing automatic tools.

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


A Python implementation in Rust?

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

description: Rust is a fairly new programming language aimed as a competitor of C. There are already attempts to write extension modules in rust and load them into CPython. A whole new approach would be to re-implement the Python language in rust. This is what the rspython project is about: implementing a python interpreter in rust. Rust already has many features such as vectors, hashmaps and strings as unicode. There also exist already modules for regular expressions and dealing with files, so a lot can be re-used in this area. During this talk we will dive into rust and python and the design of the rspython. We will present some challenges and opportunities. Also we will show the current state of this project in a demo.

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


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

description: This talk will explore the motivations for and design of the Internet and the consequences of these designs. The Internet has become a major element of communications infrastructure since its original design in 1973 and its continued spread throughout the societies of our planet. There are many challenges posed by the continued application of the Internet to so many new uses. Safety, Security and Privacy are among these challenges especially as the so-called "Internet of Things" continues to evolve. The increased digitization of our information poses a different challenge: the preservation of digital content for hundreds to thousands of years. Might we be facing a Digital Dark Age?

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

name: Heidelberg Lecture: The Origins and Evolution of the Internet


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

description: Computing is a domain of knowledge. Knowledge is truthful information that embedded into the right network of conceptual interrelations can be used to understand a subject or solve a problem. According to this definition, Physics, Biology but also Mathematics, Engineering, Social Sciences and Cooking are all domains of knowledge. This definition encompasses both, scientific knowledge about physical phenomena and engineering knowledge applied to design and build artefacts. For all domains of knowledge, Mathematics and Logic provide the models and their underlying laws; they formalize a priori knowledge which is independent of experience. Computing with Physics and Biology is a basic domain of knowledge. In contrast to the other basic domains, it is rooted in a priori knowledge and deals with the study of information processing – both what can be computed and how to compute it. To understand and master the world, domains of knowledge share two common methodological principles. They use abstraction hierarchies to cope with scale problems. To cope with complexity, they use modularity. We point out similarities and differences in the application of these two methodological principles and discuss inherent limitations common to all domains. In particular, we attempt a comparison between natural systems and computing systems by addressing two issues: 1) Linking physicality and computation; 2) Linking natural and artificial intelligence. Computing and Physical Sciences share a common objective: the study of dynamic systems. A big difference is that physical systems are inherently synchronous. They cannot be studied without reference to time-space while models of computation ignore physical time and resources. Physical systems are driven by uniform laws while computing systems are driven by laws enforced by their designers. Another important difference lies in the discrete nature of Computing that limits its ability to fully capture physical phenomena. Linking physicality and computation is at the core of the emerging Cyber physical systems discipline. We discuss limitations in bridging the gap between physical and discrete computational phenomena, stemming from the identified differences. Living organisms intimately combine intertwined physical and computational phenomena that have a deep impact on their development and evolution. They share common characteristics with computing systems such as the use of memory and languages. Compared to conscious thinking, computers are much faster and more precise. This confers computers the ability to successfully compete with humans in solving problems that involve the exploration of large spaces of solutions or the combination of predefined knowledge e.g. AlphaGo's recent winning performance. We consider that Intelligence is the ability to formalize human knowledge and create knowledge by applying rules of reasoning. Under this definition, a first limitation stems from our apparent inability to formalize natural languages and create models for reasoning about the world. A second limitation comes from the fact that computers cannot discover induction hypotheses as a consequence of Gödel's incompleteness theorems. We conclude by arguing that Computing drastically contributes to the development of knowledge through cross-fertilization with other domains as well as enhanced predictability and designability. In particular, it complements and enriches our understanding of the world with a constructive and computational view different from the declarative and analytic adopted by physical sciences.

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

name: Heidelberg Lecture: On the Nature of Computing


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

@language: de

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

name: Dialog zur Künstlichen Intelligenz in der Kirche

Technische Informationsbibliothek (TIB)

addressCountry: DE

addressLocality: Hanover

addressRegion: Lower Saxony


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

uk: Бібліотекознавство, документознавство

en: Information and Library Sciences

de: Geisteswissenschaften

uk: Гуманітарні науки

en: Humanities

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

name: Bildung braucht mehr als einen klugen Kopf


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

description: Algorithmische Optimierungssprachen wie OPL und Eclipse Modellierung innerhalb eines restriktiven Modellierungsrahmens (zum Beispiel lineare Optimierung oder ganzzahlige lineare Optimierung) Modellierung als kombinatorische Optimierungsprobleme (z.B. Netzwerkflussprobleme, Färbungsprobleme, Wegeprobleme) Komplexe Fallbeispiele aus der Praxis. Zum Beispiel: Modellierung der Fahrplanauskunft im Bahnverkehr Modellierung der Steuerung von Fertigungsrobotern deterministisches und stochastisches Scheduling

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

name: Sect. 5: integer linear programs Sect. 6: scheduling

Technische Universität Darmstadt

addressLocality: Darmstadt

addressRegion: Hesse


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

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

name: Sect. 2: modeling in OPL Sect. 3: shortest paths


Sect. 7: ProLog and Eclipse

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

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


Vorlesung 12: Abschlussbesprechung

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

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


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

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

name: Sect. 2: modeling in OPL - Case study V: fastest highway route


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

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

name: Sect. 3: shortest paths - Application 3: fastest train connection: Section 3: shortest path


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

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

name: Sect. 3: shortest paths - Application 7: scheduling Sect. 4: further case studies


Sect. 5: integer linear programs (ILP)

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

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


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

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

name: Sect. 5: integer linear programs - First attempt at modeling the TSP in terms of ILP


Sect. 6: scheduling

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

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


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

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

name: Sect. 6: scheduling Sect. 7: ProLog and Eclipse


Sect. 4: further case studies

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

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


Integrating ZStandard into ZFS

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

description: The story of my journey through time and code to implementing ZSTD compression in OpenZFS on FreeBSD. Follow a novice developer through the initial naive attempt to add support for a new compression algorithm to ZFS, then through successive improvements and new stumbling blocks to ultimately arrive at a finished product. What is ZSTD, and why might I want to use it First attempt Allocating memory in the kernel is harder than it looks Ohh, you have to free that memory when you are finished it it..., what a scam The first prototype Alignment is a thing C is hard First working prototype Matt Ahrens pokes holes in your dreams Don't steal from future generations of ZFS You forgot about the L2ARC Getting it committed Conclusions

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


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

description: Mininet is an interactive development tool designed for the purpose of prototyping and testing of SDN controllers, their applications, and SDN-capable switches. It, however, heavily depends on Linux-specific network virtualization features and applications. This talk describes the work to create a version of Mininet that is capable of running on OpenBSD by making use of rdomain(4)s and the SDN components available on it, namely switch(4) and switchd(8). A developer of an SDN component can only get so far with piecemeal validation and unit testing. Sooner or later, that component will need to be tested within reasonably realistic SDN environments to see how it fares as part of a network. Mininet is one tool that allows this type of testing. It allows developers to quickly create custom network topologies and test scenarios, and to interact with their emulated network via a CLI. It has also seen fairly wide usage among SDN developers because of its flexibility and ease-of-use, and its historical ties to, and support of, OpenFlow. OpenBSD implements its own SDN-capable switch and controller, and a tool like Mininet would make developing and testing further enhancements for these components easier. I worked on getting Mininet to run on OpenBSD with that idea in mind, and it was eventually imported into the ports tree as net/mininet. In this talk, I will describe how Mininet was ported to OpenBSD - In specific, how the various components that enable Mininet to emulate SDN networks on Linux (e.g., network namespaces, OpenvSwitch) were translated over to what is available on OpenBSD (e.g., rdomain(4)s, switch(4) and switchd(8)). Along the way I will give an overview of SDN, examples of how Mininet is used, and some the issues that were encountered during the porting process so far. Since this is a work-in-progress, I will end with some of the work that remains.

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

name: Mininet on OpenBSD: Using rdomains for interactive SDN testing and development


The Tragedy of systemd

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

description: systemd is, to put it mildly, controversial. Depending on who you ask it's either a complete violation of the UNIX philosophy, a bloated pile of bugs, a complete violation of the elegant simplicity it replaced or, it most cases, some or all of the above. So why have so many Linux distributions taken to it? Is it as bad as people say? Are the BSD projects right to be avoiding it? Let's look into the history of UNIX userland bootstrapping and the factors that lead to the creation of systemd, why it's turned out the way it has, and what there is to be learned from it. Clickbaity title ahoy! This talk is about why something like systemd came to be. It looks into the history of system bootstrap over various UNIXes (and others), then looks at macOS and launchd before drawing direct parallels from launchd (and its cohorts) to systemd. From there it looks at why the ideas behind systemd are largely beneficial and the things it does better than what came before it, including the notion that "service management" is an underdeveloped concept on a lot of UNIXy systems and that it extends well beyond bootstrap to the entire system lifecycle. Then, in order to bring it all back down to earth, the talk discusses what systemd gets wrong before moving on to the actual tragedy of the piece: That the people behind systemd seem largely ill-equipped to manage the social aspect of the level of change they're pushing and that this could sour large groups of people on the entire idea of something like systemd. It ends with a discussion of how FreeBSD (or other BSDs) could implement the ideas behind systemd in better ways.

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


Is it time to replace mmap()

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

description: Is it time to replace mmap()? A history of userspace virtual address management interfaces and a case for a new interface.

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