Agenda

Przedstawiamy częściową, a zatem niepełną listę prelekcji i warsztatów na tegorocznego PyCona PL. Konferencja zacznie się w czwartek około godz. 16:00 a zakończy w niedzielę około godz 14:00 lub później. Pełna agenda godzinowa pojawi się w sierpniu.

Wykłady


Let's see common examples of both good and bad naming. What's the common part of each of them? What's makes names good? Can we settle on good enough or should we aim for perfect names? I'll show some of best and bad practices so you'll be able to recognize both of them when you make code review for your peers.


- How to get tweets from Twitter stream using public API (How we can make sure that we have a statistically reliable sample)
- How to use the preliminary gathered data to define “unrelated” tweets and refine the results - How to deal with lack of info like location and coordination
- How to use a labelled dictionary of words to score each tweet and create an average sentiment per tweet for each brand -How to create new features for tweets


We'll see how to use pretrained neural networks, and re-train them to discern between different types of motorcycles. This will be an example of a procedure referred to as "transfer learning", implying that knowledge extracted by a neural network from one set of categories can be transferred to identify new categories (however, in the same domain). To test this approach, we'll check how well our newly re-trained model handles sneaky examples proposed by the audience.


Find out what's happening after you tell your browser to go somewhere and before the HTTP server registers anything. What can break there, how to detect it and fix it?


There are hundreds of django based projects out there, in most of the cases, the default django setup is enough. Some others need to scale so they can serve thousands of requests per minute. Even though there is not a recipe for optimization, there are some strategies you can implement to scale your project to that level. In this talk we'll see some of the problems we've faced scaling django at dubizzle and how we tackle them.


coala is an Open Source project with >>400 contributors and more than 50 Google Summer of Code applications this year. What’s behind it? How did it all start? What is the secret sauce to its growth and how do we make a living of what's most fun for us? This talk tells our story with the key takeaways and provides a top level story driven insight on those and more topics.


Nowadays Deep learning become a buzzword which captures many engineers imagination. However most of them thinks that it is secret knowledge, reserved only for those who are good at math. Of Course that math helps, but libraries like Tensorflow greatly reduce this need.

In my presentation I try to convince you that you can easily learn neural networks and use it to build machine learning empowered software. The machine learning skills are also important for your future career.

During the presentation I will guide you from the beginning, we will build simple single layer feedforward network and iteratively add more advanced stuff to finally build 5 layer convolutional network.


Pandas is one of the first libraries someone deals with while learning data science with python. While being one of the best libraries for data analysis and data cleaning, pandas is full of bugs and gotchas. This talk will look inside those gotchas with detailed explanations and will provide the solutions for some of them.


Najlepsze są “słomiane inwestycje” powiedział prezes Ochódzki w komedii wszech czasów Stanisława Barei. Tak było również i tym przypadku, początkowo żart o zakupie “niezbędnego do pracy telewizora” zamienił się w rzeczywistość. Dlatego powstał projekt Prosty Monitoring który spina trzy biblioteki. Psutil odpowiada za wyciąganie informacji o stanie systemu/urządzenia. Aiohttp to dość świeża biblioteka do mini serwisów http oparta na asynchroniczności dostarczonej w python3.x. A pakiet bokeh odpowiedzialny za wykresy posłużył jako warstwa prezentacji wyników. Na przykładzie tego projektu zaprezentuję podstawy użytkowania tych trzech bibliotek oraz pokażę jak wygląda już działający projekt. Przetestujemy nasz monitoring na “żywym organizmie” czyli Raspberry PI.


During our talk we will share the story of how we, a small but dedicated group of people, jump started the community in a small country like Albania and what other small cities and countries should avoid during their first steps in developing a Python community in similar conditions. Most important we will share tips and tricks on how to keep the Python spirit alive for a long time after the first enthusiastic steps, with the goal that our shared experience will help other communities to make the first steps or grow even further. Also nowadays we are witnessing that the number of girls involved in technical fields, especially development, is really low and we are going to present what as the influence on low participation of girls and the steps we should take to fix it.


Join us for two stories of how we started teaching Python to PyLadies, what it means for us, what it can mean for you – and how we're making it easier for others to teach as well.


System zarządzający inteligentnym budynkiem w celu realizacji swojego zadania musi nawiązać komunikację z czujnikami oraz urządzeniami zainstalowanymi w domu. Brak jednolitego standardu oraz adaptacja rozwiązań stosowanych w przemyśle nie ułatwia zadania. Zastanawiasz się czy można podłączyć się komputerem do pieca? Opowiem jak nawiązać komunikację z urządzeniami znajdującymi się w naszych domach i wykorzystać ją do usprawniania ich działania.


Even though we all live in big data age, there are some border cases, where one needs to generate data artificially. In basic scenarios, good old random generator might be enough, but what if we'd need to deal with patterns or trends modelling? During this session I'll introduce evgen, Python framework for event generation and - as a bonus - cover data masking techniques using lightweight package called anonymize.


W ostatnim czasie język Python znącząco zyskuje popularność w edukacji a niedługo pojawi się również możliwość korzystania z niego na maturze z Informatyki. Do naucznia podstaw Pythona młodych ludzi świetnie nadaje się płytka Microbit. W ramach prezentacji omówimy nasze doświadczenia z działań edukacyjnych w ramach projektu Microbit:Polska i przekonamy Cię, że warto się do niego przyłączyć i zarazić Pythonem nowe pokolenie programistów


A short introduction into PyGame, and why you can't program World of Warcraft in it.


Gdy pierwszy raz spojrzałem na Pyramid Web Framework, to nie mogłem uwierzyć jak jest on przerośnięty, zagmatwany i przegadany - nie będąc nawet full-stackowym frameworkiem! Pomyślałem, że to chyba jakaś pomyłka. Dlatego znalazłem w słowniku definicję słowa piramidalny ("olbrzymi, kolosalny, zwykle o pomyłce, głupstwie") i stało się dla mnie jasne co musiało przyświecać twórcom tego monstrum. W trakcie użytkowania jednakże szybko zmieniłem zdanie na temat Pyramida i podczas prelekcji będę się starał uwolnić słuchaczy od wszelkich uprzedzeń do tego świetnego frameworka.


For many years Python had been considered a glue language for writing scripts and fast prototyping. Then it evolved in people's consciousness to language for web development. Nowadays it's widely used also for big applications even though it's not been designed for that. Apart from the language evolution it's because of the tools that make up a rich ecosystem allowing to run Python stable even at the biggest scale! Let's have a look at some of them, which might be invaluable in any project.


The talk will cover how Uber uses Python in general, and in particular how it’s used in Uber’s payments system. It will briefly touch upon all aspects of Python development - it will be relatively quickly paced, without too many details. A story, rather than a technical deep-dive.


Number of libraries for building RESTful web applications is growing up. Selecting best framework becomes hard decision for web developers. During the presentation I will go through best libraries I can recommend for building RESTful web applications.


During the presentation I would like to introduce audience to OpenStack Cloud along with a short review of main components. I also would like to present Python use in a cloud solution. Why Openstack Community have chosen Python and what solutions they have created? At the end I would like to talk about community itself, how to become a contributor and how to play with OpenStack using Devstack.


Inspired by Gynvael Coldwind's talk on PyCon PL 2015 about the topic, here comes vol 2. The talk will present some IPython tricks and interesting Python libraries used both in CTF and security field.


Przegląd platform IoT, SBC i ogólnie obecności Pythona w elektronice dla programistów.


Łazik Marsjański ℵ₁ z Uniwersytetu Wrocławskiego wielokrotnie zdobywał wysokie miejsca w prestiżowych, międzynorodowych konkursach robotycznych. W czasie prelekcji opowiem o projekcie oraz w jaki sposób Python pomógł nam osiągnąć sukces.


Python 3 removes a lot of the confusion around Unicode handling in Python, but that by no means fixes everything. Different locales and writing systems have unique behaviours that can trip you up. Here’s some of the worst ones and how to handle them correctly.


Przy wdrażaniu nowej architektury, często zapominamy o konsekwencjach oraz o wadach. Chciałbym udowodnić, że dobrze napisany monolit może mieć więcej zalet niż może się wydawać.


Semantic relatedness, or similarity between documents plays an important role in many textual applications. Text understanding starts with the challenge of finding machine-understandable representation that captures the semantics of texts. We explore and benchmark this issue of document similarity by experimenting with various existing language models, examining their performance in the task of computing document similarity by ranking different News Summary Bots.


Ile razy zastanawiałeś się jakiego typu jest zmienna (np. przekazana do funkcji)? Czy argument może przyjmować wartość `None`? Jakiego typu wartość zwraca funkcja z zewnętrznej biblioteki? Czy wiesz, że od niedawna Python obsługuje (opcjonalne) statyczne typowanie, które minimalizuje powyższe "bolączki"? Podczas prezentacji przedstawię historię type hintów, jak definiować annotacje dla typów w Pythonie 2 i 3. Omówię działanie mypy, czyli walidatora typów oraz opowiem o naszych doświadczeniach z wykorzystaniem annotacji typów w projektach realizowanych w Allegro.


Wykład ma na celu zapoznanie uczestników z problemami wydajnościowymi na które mogą się natknąć w trakcie programowania webaplikacji w Django oraz metod ich rozwiązywania.


Ever worried when you train someone from your heart and their abandonment just crushes it to pieces?
Here's how you can train your dragon!
Teach it a task you wish for it to handle, get it accustomed to all scenarios. It learns from the deviations in scenarios and actions taken. And there it is, your dragon is trained to handle the task for you.
This talk envisions to open up the process flow, architecture of a decision-making Bot, that Trains, Classifies & Predicts. It evaluates Qualitative and Quantitative differentials and remembers your choices. Providing well reasoned predictions, this decision making Recommendation Bot is totally worth the training! It's my journey of making one, come join me and Train Your Dragons!


Everyone says that OOP is a silver bullet, when it comes to software development. It's well known, has proper tools and patterns. But does it really? Maybe it introduces more problems than it solves? Maybe we all blindly follow what some smart people said back in the day, but later changed their mind. During the talk I will discuss why OOP shouldn't be blindly followed and how to connect all of that to Python.


The support for Python 2 will stop in 2020 so you really should start to be interested in Python 3. But there are a lot of incompatible changes between Python 2 and 3 and many people are angry. I think that the first step to adapt to new stuff in Python 3 is to understand why these changes had to be made - and this is what I want to describe. Join me if you are interested in the background of Python development itself.


Exactly 23 years have passed since release of one of the biggest IT classics - "Design Patterns: Elements of Reusable Object-Oriented Software". Contents of the book had considerable influence on dominant programming languages of those days. However, design patterns were not glorified by everyone. Voices of rational critic appeared, pointing out that design patterns are just ways to compensate for missing languages features by tons of clumsy code. If one implements design patterns in Python by the book, they will get code that looks awkward, at best. This talk is to present Python's features that either simplifies or eliminates need for implementing design patterns. Even if you don't know what design patterns are - don't worry. You still may see some new interesting Python's features and their usage.


Cyber-security is a critical part of all distributed applications. By understanding and implementing proper security measures, you guard your own resources against malicious attackers as well as provide a secure environment for all relevant parties.


ZODB is an object-oriented database written in Python and optimized in C. It is widely used in the US, but not as well known in Poland. This talk introduces the database, presents important concepts, and reviews the tools available. ZODB reduces software development costs. Multiple developers have used it to build major applications single-handedly.


Czy pojęcie zmiennej tak naprawdę ma w Pythonie sens? Co to właściwie znaczy, że obiekt ma jakąś wartość? Czy typ i klasa to to samo? Czy warunek `isinstance(a, b) and isinstance(b, a)` może być spełniony? Co ze sobą wspólnego mają Python i LISP? Podczas prezentacji odpowiem na te i szereg innych pytań.



Warsztaty


asyncio jest już z nami od pewnego czasu. Jeżeli nie miałaś/eś jeszcze okazji zapoznać się z asynchronicznym Pythonem, to na tym warsztacie poznasz jego podstawy oraz zbudujesz w pełni funkcjonalną aplikację chatową. Nacisk będzie kładziony przede wszystkim na naukę dostarczonych z biblioteką narzędzi, przy okazji poznając zasadę działania asyncio. Oczywiście wszystko pod rygorystyczną kontrolą testów


Google, Red Hat, Intel, Huawei, Mirantis, Deis and many, many others are investing a lot of time and effort into improving Kubernetes. I bet, you have encountered that name at least once in the past twelve months, either on Hacker News, Reddit, or somewhere else. Do you want to learn more about the best container orchestration in the universe, but were afraid of the setup complexity? Do you want to see how easy it is to run any application using containers? Do you want to experience the joy of scaling application with a single click? This, and a lot more will be discussed in details. In this tutorial, every attendee will be provided with an environment, and step by step instructions necessary to setup the environment, build and deploy a microservices based sample application. Alternatively, a sample application of any choosing can be used throughout the entire tutorial. All that will be performed on OpenShift, which is a Red Hat distribution of Kuberenets with some add-ons that will be described in details at the beginning of the tutorial. To wet your appetite even more, here are some of the topics we are going to cover: - automatic build and deployment - git integration - image registry integration - scaling application - containers security - batch tasks and much more. After the session, every person will be able to play around with the accompanying code repository that was used in the tutorial, which includes detailed instructions how to run it on your own from scratch.


Did you know that pandas are vulnerable species? Are you interested in data processing and analysis? Do you just want to make your work-life easier? Is it a good idea to attend this workshop? Yes, of course!

Thanks to this workshop, you'll learn how to process data efficiently. We'll introduce you to the data structures provided by Pandas, I/O operations, basic analysis methods and visualization techniques. After completing this workshop, you should be able to write proper production code utilising Pandas.

We kindly ask workshop participants to download the workshop repository and install all libraries mentioned in the requirements.txt file. Please do this before the workshop begins, so that you can fully enjoy it.


Do you work with large amount of data? Are you curious how to analyze them effectively? If so, its time to start using Spark! This workshop will familiarize you with basic concepts of Spark and the PySpark library. You will learn about RDDs (basic data containers) and how to work with them using the map-reduce concept, how to transform the data and what the difference between transformations and actions is. You will practice solving concrete problems. Finally, you will learn how to visualize and evaluate your solution.


Zbudujemy wspólnie prosty projekt z dziedziny automatyzacji - lampę sterowaną dźwiękiem. Dzięki temu nauczymy się, jak konstruować obwody elektroniczne samodzielnie dobierając ich komponenty oraz jak uczynić z micropythonowego chipu serce tych obwodów.


Politics, Mathematics, Law, Biology, Computer Science, Finance all of these subjects have one thing in common. They can be modeled using networks. NetworkX is a Python language software package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. In this tutorial we'll go through the NetworkX API and the basics of graph theory and properties.


I will briefly describe pytest, explain why is it better than unittest or nose. Will show examples on easy and later on more complex scenarios. I will explain and show parametric tests and will (together with the attendees) parameterize some test for a common problem such as fizzbuzz. Later we'll dive in into fixtures and how they are different than setup and teardown. Fixtures can be parametric as well, so we'll code some examples for that as well. We can also go into cross products of parameters and fixtures.


ESP-32 to nowy mikrokontroler firmy Espressif, wyposażony w dwurdzeniowy procesor taktowany zegarem 240MHz, 520KB RAM oraz moduł Bluetooth i WiFi. Na warsztatach nauczymy się, jak uruchomić kod w Pythonie na tym mikrokontrolerze. Dowiemy się również jak komunikować się z zewnętrznymi czujnikami oraz siecią WiFi za pomocą funkcji MicroPython'a. Efektem naszej pracy będzie sieć współpracujących urządzeń ESP-32, pozwalająca mierzyć coś więcej niż bliskie otoczenie jednego czujnika.


On this workshop you will learn how to connect to and program robots using Python. We will introduce you to Robot Operating System, which is a widely used framework for prototyping robots with a great number ready to use robotic packages for various robotic skills. You will learn how Ipython can be used to rapidly create applications that access robots in real-time and you will write your on program to control a real robot!

Wykonanie

Wykorzystano motyw SOLID na licencji Creative Commons Attribution 3.0

Serwisy społecznościowe