List of talks at PyCon SK 2018

All Machine Learning / AI Community / Diversity / Social Data Science DevOps Documentation Education Python General Security Soft Skills Hardware Web Development Other

7 Steps to a Clean Issue Tracker
English flag Talk Soft Skills

Lasse Schuirmann (DE)

A lot of open source maintainers suffer from having to maintain the flood of incoming issues/tikets on their project. We've scraped more than 10000 GitHub projects and interviewed more than 100 software developers and project managers of companies like GitLab. As a result, we have identified a few simple steps that can help managing the load of issues.

This talk sums up the steps and approaches needed to deal with this as well as automate it.

For a full summary, check out [our blog post with GitLab][1].

[1]: https://about.gitlab.com/2017/10/26/triage-issues-gitmate/

# Who and Why

(1) The talk is for project managers and open source maintainers or software developers that deal with issues every day. This includes specifically people working in teams with more than 30 issues a month opened.

(2) There's no background knowledge needed. The talk will be best for people who have triaged issues before at least in a small scale and recognize the problem, they will be able to pick up the approaches better and faster.

(3) On an emotional level, I expect the audience to get to know the "attitude" needed to get rid of noise when triaging issues. After the talk, they should have a few concrete steps in mind that they can try using in the first days and eventually deduct their own process from it.

About Ninjas and Mentors: CoderDojo in Slovakia
Slovak flag Talk Education

Ernest Walzel (SK)

CoderDojo je globálna sieť bezplatných programovacích klubov pre deti od 7 do 17 rokov. Kluby CoderDojo sú vedené dobrovoľníkmi a sú organizované formou “hackerspaceov”. Deti majú možnosť pracovať na svojich vlastných nápadoch a majú prístup k technickým mentorom z profesionálneho sveta.

Za uplynulý rok sme v bratislavskom CoderDojo odučili 100+ hodín, navštívili tri školy a pracovali s technológiami od Scratchu, cez Python, Unity po Arduino.

V tomto príspevku opíšem fungovanie CoderDojo na Slovensku a v zahraničí: čím sa tento formát líši od iných programovacích krúžkov, aké sú hlavné výhody tejto medzinárodnej siete klubov a ako sa zapojiť kdekoľvek na Slovensku.

Ukážem tiež ako vyzerá programovacie stretnutie pre viac než 200 detí a uvediem niekoľko príkladov projektov, ktorým sa venujú “dojá” po celom svete, vrátane programovania hier, elektronických obvodov, 3D tlače, či konštrukcie dronov.

Prednáška je vhodná pre edukátorov, ale aj pre technicky orientovaných jednotlivcov ktorí sa zaujímajú o vzdelávanie.

APIs: Gateway to world's data
English flag Talk Web Development

Martin Strapko (SK)

Today, APIs all around the web provide access to big volumes of valuable information. Combining multiple 3rd party sources with your own company's data can often help paint a bigger picture. Come and find out how we used Python to integrate various APIs such as Steam, Facebook and Appsflyer, and learn the tricks we used to do it.

Around the World in 30 minutes
Czech flag Talk Data Science

Štěpán Tomsa (CZ)

Lidé mluví různými jazyky. Ba co hůř, oni jimi i píší a to i na počítači. Tyto jazyky se nepíší vždy latinkou. A i když ano, není ani ta vždy stejná. Tito lidé mají navíc v těchto jazycích a znakových sadách dokonce i jména, poštovní adresy atd. a vyplňují je třeba do webových formulářů. A to vše je jen začátek boje s řetězci…

To, že v řetězcích se většinou ukrývá text v nějakém lidském jazyce, asi všichni tušíme. Snad jsme se každý i pokusili někdy nějaký takový zpracovat, porovnávat, řadit, ti odvážnější třeba i skloňovat. Odhrňme závěs a posviťme si na některé z těch unicodových nestvůr. Nakonec budeme rádi, že se nám takový text aspoň zobrazí na obrazovce; a někdy dokonce i správně. Alespoň dokud se nám na webu nezaregistruje někdo z Klingonské říše…

Automated network OS testing
English flag Talk Other

Tomáš Kubina (SK)

Our target was to automate recurring testing done to secure stability of software deployed for Orange BS international networks (JunOS, CISCO IOS).
Target is to make this automation as reliable as manual tests, user-friendly, faster, so people can focus on more complex test and simple and mid-simple test to be executed during nights/weekends and be able to run them more frequently.

We have an lab network and decided to use NAPALM framework (library that implements a set of functions to interact with different router vendor devices using a unified API) as it supports all types of devices that we need to test. There is support for configuring devices, but mainly for retrieving operational state of devices, that is key for our testing.

As a result of several months work we have now basic environment for testing thanks to NAPALM, but for our need we had to extend it with several functions for parsing operational data. These functions are covering different areas as IS-IS, LDP, BFD, BGP, PIM, MPLS TE and help us to properly check overall status of the box. As I work for OBS these functions are Service Provider oriented. Our goal is to publish them either as part of NAPALM official package or external extension. So also others can benefit from the work that was done as part our project.

Campaign Automation & Abusing Celery Properly
English flag Talk Python General

Peter Dolák (SK)

Celery is an asynchronous task queue allowing easy distributed job execution in Python. This talk will, after a short introduction to Celery, share what we learned when we used it as the backbone for the campaign automation module of Exponea experience cloud. Serving over a hundred millions of our client's customers across the world with incredibly diverse use cases, we have heavily used some of Celery's most obscure functionality in often unintended ways. Join us for a bumpy ride towards a stability and scalability and learn many insights useful if you ever need to run some serious asynchronous jobs yourself. Barf bags not included.

Charon and the way out from a pickle hell
Slovak flag Talk Python General

Peter Bábics (SK)

Pickle ako formát pre serializáciu je tu s nami už dlhú dobu, jeho prednosti sú jasné, rýchla serializácia a implementácia v štandardnej knižnici.

Taktiež má aj určité nevýhody, ktoré často dokážu prevýšiť, medzi nimi sú napríklad bezpečnostné hrozby a minimálna podpora migrácií. U nás v Quantlane bola hlavným problémom chýbajúca podpora migrácii, nakoľko aktívny vývoj aplikácie vždy vedie k zmenám v dátových štruktúrach.

Z tohto dôvodu sme vytvorili `charon`, jednoduchý serializačný nástroj, ktorý si kladie za cieľ previesť komplexné dátové štruktúry do jednoduchých základných typov (dict, list, skalárne hodnoty), ktoré sa následne dajú jednoducho serializovať pomocou ďaľších knižníc ako napriklád json, yaml a iné. Knižnica ponúka rôzne metatesty ako napríklad kontrolovanie verzie serializačných funkcií voči dátovým typom pomocou hashov AST, kontrolu serializačnej pipeline alebo aj kontrola či majú všetky serializačné funkcie test.

Coding in Python: A high-school programming lesson
Slovak flag Workshop Education

Peter Kučera (SK)

Rozmýšľate, ako učiť Python budúcich maturantov na strednej škole? Na workshope vám predstavíme metodiku vyučovania na seminároch z programovania a spoločne vyriešime úlohu s použitím zoznamu (jednorozmerného poľa) a textového súboru.

Community based courses
Czech flag Talk Education

Petr Viktorin (CZ)

Když jsem před čtyřmi lety zkusil doučovat Python, netušil jsem, že z toho vznikne samostatný začátečnický kurz, kterým projdou stovky lidí ročně.

Dnes se z mých poznámek vyvinuly učební materiály, do kterých už přispěly desítky lidí, a skupina dobrovolnic a podle nich pod hlavičkou PyLadies organizují bezplatné kurzy po celé republice. Mezitím vzniklo i několik podobných konceptů, jako Django Girls, Beginners' Day na EuroPythonu, nebo Czechitas.

Chtěl bych se podělit o zkušenosti z organizování těchto kurzů, zamyslet se nad paralelami mezi otevřenými kurzy a open-source softwarem, popovídat o překvapivě silném vlivu na komunitu – a hlavně inspirovat organizátory podobných kurzů na Slovensku.

Cython: Speed up your code without going insane
Czech flag Workshop Python General

Miro Hrončok (CZ)

Let's learn how to write Cython. Cython let's you write Python extension modules as if they were written in C or C++, but using a superset of Python. It's easy, it's fun, the result is fast and you are not furious.

Preliminary agenda:

* Python C API - what, why, how, why not
* Building extension modules with setuptools
* Python C API internals - PyObject, Reference counting, GIL
* Cython - what it does, why it's better, basics
* Compiling Python code with Cython
* Annotating with Cython, basic profiling, where's my code slow?
* Let's add types. Wrrrrm, speed ups!
* Writing Cython functions
* Creating "classes" (extension types)
* Using Cython with NumPy
* Cython directives
* C structs, pointers, malloc etc.
* Using C libraries from Cython
* (optional - if there's time left) pyximport and %%cython IPython magic
* (optional - if there's time left) Using Cython with C++
* (optional - if there's time left) Building wheels (in the cloud)

Designing fast and scalable Python MicroServices with django
English flag Talk Web Development

Dinesh Joshi (US)

django, combined with the django REST framework, makes it very easy to build RESTful MicroServices. However, django is perceived to have some overhead making it hard to build fast and scalable MicroServices. This talk shows you how to squeeze the last bit of performance from django. We will focus on django’s key architectural components and the right way to use them. Using profiling, we will identify bottlenecks and fix them enabling you to build scalable RESTful services that play to django’s strengths. At the end of the talk you will have a good handle on building scalable MicroServices with django.

Differentiable programming in Python and Gluon for (not only medical) image analysis
English flag Talk Machine Learning / AI

Jan Margeta (SK)

This talk explores how writing machine learning models can become simpler and more fun with dynamic code execution. The "deep learning" paradigm is rapidly becoming "differentiable programming".
And we will see it applied to cardiac medical images and images from industrial inspection.
It is based on our experiences at KardioMe in making of machine learning apps for healthcare and optical inspection in manufacturing. We will have a peek into python pipelines for data preparation for creation of anatomical models for virtual reality and 3d printing.

Traditional development and deployment of deep learning models often feels like stepping away from programming and what we love about Python. Simple loops and branches get replaced with special operations. Programs are written as static computation graphs which need to are compiled to optimize runtime and resource usage. Seeing intermediate results and debugging can be a pain, even with specialized tool. Tensorflow, Keras, Theano, MxNet, CNTK, they all do that.

Machine learning is all teaching computers how to solve the problems for us with data instead of explicitely telling them how to do so. It is undoubtedly a different way of thinking about programming.
Yet, it does not need to become unnecessarily complex and you certainly do not need a PhD for that.

Gluon, is a new dynamic interface to MxNet and is a fenomenal tool to develop models that improve with data. The network can be written like a regular program with ifs or loops. Everything is dynamically executed and even allows step by step debugging with pdb. The program parameters are, however, trainable so that the execution output gets better with more data.

These together are massive helpers in faster experimentation and more fun. In addition to that, Gluon has a large zoo of pretrained models ready for your next app and MxNet as its backend is fast and resource efficient, and can be deployed to embedded devices too.

Docs or it didn't happen
English flag Talk Documentation

Mikey Ariel (CZ)

If you ever skimmed through a README, tried to follow a quickstart tutorial, attempted to decipher an error message, or typed '--help' in your terminal, congratulations -- you have encountered documentation!

Long gone are the days of massive books with never-ending stories about your software. Today's users are smarter and less patient, which means that we no longer need to document *all the things*, as long as what we do document is clear, concise, helpful, and accessible. And that's where the real work starts.

Documentation requires some attitude adjustment, since prose doesn't neatly compile into binaries as code does. But Don't Panic(tm)! No matter what your role is in the community, you can apply a few key principles from the technical writing world to make your project more docs-friendly, and therefore more user- and contributor-friendly.

This high-level (and all-level) talk aims to introduce or re-acquaint you with topics such as content strategy, docs-as-code, optimized DevOps for docs, and contribution workflows. Open-source projects of all shapes, ages, sizes are welcome!

Documentation clinic/helpdesk
English flag Workshop Documentation

Mikey Ariel (CZ)

TBD

Effectively running python applications in Kubernetes/OpenShift
English flag Workshop DevOps

Maciej Szulik (PL)

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.

FaaS and Furious - Zero to Serverless in 60 seconds - Anywhere
English flag Talk DevOps

Alex Ellis (GB)

OpenFaaS (Functions as a Service) makes building serverless functions simple by using containers to avoid vendor-lock-in. That means you can run your functions on your own terms - anywhere.
This talk introduces the OpenFaaS project, how to build functions and then explores real-world examples of how and why people are leveraging an event-driven architecture for data science, cancer research and automation on-premise.

You can deploy OpenFaaS in 60 seconds on Kubernetes and other orchestrators through the extensible architecture. Functions can then be built using code templates for your favourite programming language or deployed directly from the community Function Store. The project focuses on ease of use through its UI and CLI which can be used to test and monitor functions. Observability and auto-scaling for demand are provided through integrations with Prometheus and AlertManager.

OpenFaaS won Best Cloud Computing Software 2017 from InfoWorld and has a thriving community with 70 contributors, 1500 commits and over 9k stars.

https://www.openfaas.com/

https://github.com/openfaas

Getting started with HDF5 and PyTables
English flag Talk Data Science

Giacomo Debidda (IT)

HDF5 is a data model, a library, a file format for storing and managing big and complex data. PyTables is a Python package built on top of the HDF5 library and NumPy. It provides a high-level interface with advanced indexing and database-like query capabilities. PyTables is both easy to use and extremely fast, so it might be an invaluable tool if you need to work with large, hierarchical datasets. At the end of this talk you will learn what HDF5 is, why it might be the right file format for you, and where PyTables fits in the Python data ecosystem.

Outline:
- What is HDF5 and who uses it?
- Brief overview of the HDF5 data model
- First steps with PyTables
- PyTables tools
- Search big data with PyTables and NumExpr
- Additional resources to learn more
- Q&A

GraphQL is the new black
English flag Talk Web Development

Tomáš Ehrlich (CZ)

GraphQL is a query language for web APIs, an alternative to REST. It allows clients to define the structure of the required data. It’s strongly typed and allows introspection, which make clients more flexible.

The talk will demonstrate usage of GraphQL on examples with Graphene (http://graphene-python.org/), a GraphQL framework for Python. Most developers are familiar with REST APIs, so the talk will compare GraphQL with REST, how they differ and what problems GraphQL is trying to solve.

The outline is following:

- Comparison of GraphQL with REST API.
- Queries, data types and introspection
- Mutations

How do we struggle with Python in Martin?
Slovak flag Talk Education

Tomáš Dudík (SK)

Od roku 2014 sa programovacím jazykom na gymnáziu Viliama Pauliny Tótha stal Python. O tom akým spôsobom prebieha výučba, ako sme sa k jazyku Python dostali a aké problémy sme museli riešiť, by som sa chcel s vami podeliť. Nedajú sa ani opomenúť herné prostredia, ktoré pri vyučovaní využívame. Takisto v poslednom roku sme začali využívať Jupyter Notebooky s rozšírením Nbgrader, čo výučbu opäť posunulo dopredu. Ako inšpiráciu pre ostatných by som rád ukázal aj niektoré príklady, s ktorými trápime našich študentov.

How to connect objects with each other in different situations with Pythonic ways - association, aggregation, composition and etc.
English flag Talk Python General

Goga Patarkatsishvili (GE)

There are different ways of connecting objects with each other and it's mandatory to understand these connections properly, for their connections to be natural, logical and well-designed.

How to create interactive maps in Python / R
Slovak flag Workshop Data Science

Martin Bago (SK)

- Prečo je interaktívna mapa infografikou budúcnosti
- Ako vytvárať praktické interaktívne .html mapy v prostredí Python a R
- Ktoré knižnice sú pri výrobe nevyhnutné
- Čo sú kľúčové problémy pri výrobe interaktívnych máp - ako integrovať polygóny okresov, ako svoju mapu vyfarbiť a podobne...
- Akými dátami mapy plniť
- A čo sú typické príklady použitia interaktívnych máp

Implementing distributed systems with Consul
English flag Talk Python General

Matúš Valo (SK)

Developing distributed systems is hard. Implementing distributed system from scratch requires knowledge of specialized algorithms and programming techniques. Consul is distributed system which enables us to build distributed system only by using Consul HTTP API. In our presentation, we are going to show basic concepts of consul, building our own consul cluster and showing how consul can be used for implementing distributed system. Our discussion will include also showing how we can benefit from consul even when using already existing python distributed components.

Industrial Machine Learning: Building scalable distributed machine learning pipelines with Python
English flag Talk Machine Learning / AI

Alejandro Saucedo (GB)

This talk would provide useful and practical understanding on how to build industry-ready machine learning models in python through distributed, horizontally-scalable architectures. I will include why and when these architectures are required, best practices, caveats, technologies to use them, and a practical implementation using celery + rabbitmq.

Introduction to Machine Learning with Python
English flag Workshop Machine Learning / AI

Katharine Jarmul (DE)

In this half-day workshop, we'll take a walk through a Kaggle competition on house prices to explore our dataset. Then, we'll build a model to submit our predictions to Kaggle. Finally, we'll introspect what our model has learned. By the end of the course, you should have an idea of how to get competing on Kaggle or building your own models with Python and scikit-learn.

Students are expected to arrive ready to learn and with all packages properly installed. There will also be some theoretical discussions on machine learning practices, and some group work.

GitHub Repo: https://github.com/kjam/intro-to-ml

Kiwi.com in ZOO
Slovak flag Talk DevOps

Stanislav Komanec (SK)

Počas posledných mesiacov, kedy naša firma rástla neuveriteľným tempom, sa začal objavovať probém zdieľania best-practice naprieč Kiwi.com. V micro-service orientovanej architektúre bolo nemožné, aby jeden človek mal prehľad nad technologickým stackom všetkých služieb. S týmto problémom sme sa rozhodli bojovať a vytvoriť službu, ktorá si bude držať nad všetkými repozitármi prehľad a bude automaticky auditovať jednolivé projekty. Poukážem na nevyhnutnosť používania systémov, ktoré uľahčujú prácu a súčastne sa poutžívajú na zvyšovanie kvality servicov.

Learn MongoDB by modeling PyPI in a document database
English flag Workshop Python General

Michael Kennedy (US)

MongoDB was the most wanted database technology of 2017 among developers. Python is one of the true premier languages to work with MongoDB. Its dictionaries and classes map perfectly to document databases' JSON-like records. In this workshop, you will learn to build rich, real-world applications based on MongoDB and Python. You'll learn about modeling data, performance, and deployment considerations.

https://insights.stackoverflow.com/survey/2017#technology-most-loved-dreaded-and-wanted-databases

LOCKED SHIELDS: What a good cyber testing looks like
Slovak flag Talk Security

Peter Garaj (SK)

Cvičenie Locked Shields je organizované Centrom výnimočnosti pre oblasť kybernetickej obrany (CCD CoE). Svojou veľkosťou, rozsiahlosťou a zameraním je Lockes Shields jedným s najunikátnejších kybercvičení na svete. Ako človek, ktorý sa tohto každoročného cvičenia sporadicky zúčastňuje by som rád povedal niečo o tom, ako to vypadá zvnútra a ako sa slovenská vojenská kybernetická elita cvičí na zásah proti kybernarušiteľom.

Making Python Behave
Slovak flag Talk Python General

Vladimir Kopso (CZ)

We at SolarWinds Pingdom believe we have made some nice tricks while writing our end-to-end automation Framework.

And of course, the Python language and its ecosystem was what enabled this magic.

So we want to share some tips for making your code cleaner and life easier, not only when you are trying to implement BDD at your project.

General tips and lessons learned from writing good behavior-driven automation are also included.

Managing high-available applications in production
Slovak flag Workshop DevOps

Matej Vetrák & Matej Čapkovič (SK)

In this workshop we’ll look at common problems that all developers are facing in the latest trends of the ever changing scalable app world. We’ll learn how to deploy, scale, and manage high-available microservices using Docker, Kubernetes and other open-source tools.

We will also address some of these problems: building and deploying applications, pipelines, rolling updates, load balancing, scaling, replication, configuration, health checking and self healing, monitoring, alerting, log aggregation, resource constraints, capacity planning, data stores, security, key management, debugging and best practices.

Who should attend?

People who are interested in containerized applications, are in the process of moving to microservice architecture or are managing high-available production environments.

Why you should attend?

You want to start using Kubernetes in development and production.

You are already using Kubernetes, but you are not ready for production.

You would like to better understand new trend of high-available microservices.

How to prepare for the workshop?

Bring laptop with installed minikube: https://kubernetes.io/docs/tasks/tools/install-minikube/
and docker: https://docs.docker.com/engine/installation/

Meet the pandas
Slovak flag Workshop Data Science

Michal Nalevanko (SK)

Workshop s pandami, presnejšie s pandas - flexibilným nástrojom Pythonu na manipuláciu s dátami, ich analýzu a vizualizáciu.

Michal Nalevanko bude mať pre vás pripravené nielen predstavenie tejto populárnej knižnice, ale aj praktické zadania, s ktorými si pandas sami vyskúšate. Prineste si preto aj vlastné notebooky, určite ich využijete.

Meteo data in Python. Effectively.
Slovak flag Talk Data Science

Miloš Korenčiak & Branislav Cief (SK)

Ako v Solargis-e spracovávame veľké maticové meteodáta v Pythone (desiatky TB pri najväčších úlohách).

Meteodáta pre náš Python backend priniesli viacero výziev: od harmonizácie vysoko špecializovaných formátov do niečoho zrozumiteľnejšieho, cez optimalizáciu operácií v numpy, po efektívne ukladanie / čítanie / archiváciu numpy matíc v netCDF4 formáte.

Prednáška sa zameriava na praktické použitie netCDF4 - ako optimalizovať tieto súbory pre rôzne druhy čítaní / zápisov, kde sú praktické limity týchto súborov a prečo je vhodné segmentovať archív.

Microbit:Slovakia
Slovak flag Workshop Education

Marek Mansell (SK)

Na micro:bit workshope si predstavíme edukačnú dosku BBC Micro:bit, vývojové prostredia pre toto zariadenie a niekoľko príkladov praktických hardvérových zadaní. Zariadenia navrhli vo Veľkej Británií a vďaka ich jednoduchosti a špecifickému dizajnu pre vzdelávacie účely sú veľmi obľúbené v školách v zahraničí. Vyskúšame si prácu v online prostredí, v ktorom vieme programovať micro:bit bez nutnosti inštalácie softvéru na počítači a následne prejdeme do prostredia “Mu”, ktoré je využiteľné nie len pre Micro:bit, ale aj ako alternatíva k IDLE. Programovať budeme pomocou Blockly a MicroPythonu.

Na workshope začneme jednoduchšími úlohami, ktoré využívajú len vbudované senzory zariadenia a následne prejdeme k pripájaniu externých súčiastok, vďaka ktorým je možné vytvárať väčšie projekty s presahmi do iných predmetov ako napríklad fyzika, biológia alebo výtvarná výchova. Príkladmi takýchto projektov môže byť automatizovaný kvetináč, vlastná meteostanica či domáci bezpečnostný alarm.

Open educational resources for learning Python
Slovak flag Talk Education

Ján Gondoľ (SK)

Otvorené vzdelávacie zdroje sú otvorene licencované materiály, ktoré je možné bezplatne získavať, používať, upravovať, kombinovať s inými zdrojmi a šíriť ďalej. Patria medzi ne výukové materiály ako napr. články na webe, videá z konferencií a ďalších zdrojov, učebnice a podobne. Príspevok poskytne prehľad dostupných otvorene licencovaných vzdelávacích materiálov (predovšetkým v slovenčine, češtine a angličtine), ako aj možností, ktorými môžu učitelia sami prispieť k lepšej dostupnosti vzdelávacích materiálov (napr. zdieľaním odkazov s kolegami prostredníctvom repozitára, ktorý sa momentálne pripravuje a bude na PyConSK dostupný, či prekladom anglických materiálov do slovenského jazyka).

Our DevOps journey, is SRE the next stop?
English flag Talk DevOps

Martin Strycek (SK)

Over past few years we see significant raise in technology requirements, complexity of managing and delivering high reliability systems. Based on our first-hand experience we see that there does not exist one silver bullet way of doing DevOps and way how you manage Continuous Delivery features. At Kiwi.com the transformation went from small applications to complex micro services architectures. This change did also impact the infrastructure not only by numbers of servers, also on complexity of the system and ended with hybrid model of cloud and bare metal solution. In this talk I will cover how our team of DevOps and Engineers battles with tasks such as deployment to many enviroments, infrastructure changes, monitoring and also creation of processes and runbooks. We believe that this talk can inspire you to adapt changes within your teams and never stop improving how you manage your infrastructure.

Panel discussion: Teaching IT in Slovakia - where is it heading?
Slovak flag Talk Education

Zuzana Kubincová (SK)

Téma: Kam smeruje vyučovanie informatiky na Slovensku?

Panelová diskusia odborníkov na vybrané otázky od širokého publika pod vedením moderátora.

Pošlite svoju otázku pomocou formulára: https://goo.gl/forms/53c56YN86BWD2yGQ2

Pozvaní hostia:

Andrej Blaho (FMFI UK)
Ivan Kalaš (FMFI UK)
Jaroslav Výbošťok (GJH)
Jakub Šimko (FIIT STU)
Richard Balogh (FEI STU)

Programming Python as performance: live coding with FoxDot
English flag Talk Other

Ryan Kirkbride (GB)

In this talk I will introduce the topic of live coding; the interactive programming experience for generating audio and visuals but this talk will mainly focus on audio. Live coders use programming languages to describe rules for generating music but then re-write these rules while the program is running. By continually writing and re-writing these rules live coders creating a shifting musical experience that is always in flux. All of this happens live in front of audience with the code projected for all to see. I will go on to discuss the multiple tools that are available for live coding and showcase the FoxDot environment, which allows you to live code music using Python. I will talk about the motivation for developing FoxDot and describe some of its key features as well as how you can set it up yourself at home. The talk will be concluded with a short demonstration that will be part explanation and part performance.

Protecting Privacy and Security — For Yourself and Your Community
English flag Talk Security

Justin Mayer (US)

Internet service providers, ad networks, governments… Many organizations have increasing access to our personal information. Protecting privacy in this environment is a non-trivial effort, and the threats posed by malicious attackers further exacerbates this problem. We, as developers, owe it to ourselves and to our communities to do the best we can to improve our collective security and privacy.

Attendees of this talk will walk away with a thorough understanding of the following topics and the problems they solve:

* multi-factor authentication
* encrypted DNS
* SSH/VPN tunnels
* full disk encryption
* compartment isolation
* “onion-skin” routing

In addition, digital interactions with other people increasingly occur via hosted services, which while convenient can compromise the privacy, integrity, and control of our data. With some open-source software and inexpensive virtual servers, we can take back control and empower us all to securely share our lives with one another.

Python Days in Martin and follow-up activities
Slovak flag Talk Education

Lenka Huňorová (SK)

V júni 2017 sa na SPŠ Martin a na Gymnáziu V.P.T. Martin uskutočnila dvojdňová konferencia o jazyku Python, na ktorej sa zúčastnilo cca 80 žiakov z 8 stredných škôl okresu Martin i Dolného Kubína. Prednášajúcimi a vedúcimi workshopov boli odborníci z praxe a učitelia z vysokých škôl. Odzneli zaujímavé prednášky, robilo sa veľa workshopov. Na konferencii sme nadviazali spoluprácu s prednášajúcimi i lepšiu spoluprácu medzi školami. Taktiež sa nám podarilo konferenciu a programovací jazyk Python spopularizovať v regionálnych médiách.

Následne sme na SPŠ Martin i na Gymnáziu V.P.T. v Martine začali v šk. roku 2017/2018 učiť programovanie v jazyku Python, robiť v tomto jazyku ročníkové projekty, súťažiť v Zenite a celkovo tento jazyk podporovať. Sami žiaci prinášajú nové nápady a zlepšenia, napríklad pripraviť mini Python Day pre žiakov základných škôl, ktorí by sa chceli venovať štúdiu programovania na SŠ a pod.
Taktiež by sme chceli na PyCone SK 2018 so žiakmi našej školy predstaviť práce - maturitné zadania, ktoré robia v jazyku Python alebo iné programy, ktoré robia na hodinách, prípadne vo voľnom čase.

Python programming till graduation
Slovak flag Talk Education

Peter Kučera (SK)

Rozmýšľate, ako vyučovať programovanie v Pythone na strednej škole od základov až k maturite?
Základnú úroveň programovania, ktorú sme predstavili minulý rok, sme rozšírili o maturitnú úroveň. V príspevku vám predstavíme našu metodiku Programujeme v Pythone až k maturitnej úrovni. Ukážeme vám, ktorým témam sa venujeme, ako sme ich spracovali, a ktorý kontext úloh sa nám osvedčil v praxi.
Tiež vám predstavíme kompletné materiály k maturitnej úrovni (elektronické učebnice, príručky pre učiteľa, ako aj maturitnú zbierku úloh). Pre učiteľov, ktorí majú záujem vyučovať Python, sme pripravili školenia aj pre základnú, aj maturitnú úroveň.
A ako vytvoriť maturitné zadanie v Pythone? V čom je to iné na rozdiel od Pascalu? Aké úskalia nás čakajú pri tvorbe maturitných zadaní a na čo je potrebné sa sústrediť? Aj týmto otázkam sa budeme venovať v našom príspevku a podrobnejšie ich rozvinieme na našom workshope.

Pythonic code, by example
English flag Talk Python General

Michael Kennedy (US)

We often hear the term Pythonic thrown around, but what exactly does it mean? This talk will take you on a tour of some of the more important pythonic concepts. You will see many examples of perfectly functional Python code that is quite non-pythonic. We will evolve that code into more an idiomatic form that fits better with the Python language and its users.

Real-time personalized recommendations using embeddings
English flag Talk Machine Learning / AI

Jakub Mačina (SK)

Recommender systems are successfully used in several domains, e.g. product or movie recommendation. In e-commerce, the aim is to provide personalized suggestions to users for relevant items out of all products available.

In this talk, I will focus on item recommendation for anonymous users when no historical data about user is available (also referred as a cold-start problem) and challenges we have encountered. Firstly, I will dig deeper into similar item recommendation by NLP model comparing textual descriptions of items. This approach is based on word embeddings extracted from neural network models, such as word2vec or fasttext.

Finally, I will talk about how to apply the same idea of word embeddings to learn a representation of each product. With the product embedding representation, it is easy to calculate similarities between products in real-time. Moreover, we found out that product embeddings are able to capture style of a product, color, category or a price level.

All of the examples will be practical using data about restaurants reviews and fashion products. Open-source NLP library Gensim is used in code samples. Presentation will be supported by visualization of embeddings to get the idea behind. Everybody with any interest in machine learning is welcome. After the presentation, you will know how to compute relationship between pizza and pasta or how to capture a fashion style of a user.

Real-time transcription and sentiment analysis of audio streams; on the phone and in the browser
English flag Workshop Machine Learning / AI

Aaron Bassett (GB)

Discover how you can use Artifical Intelligence to perform sentiment analysis of an audio stream, in real-time! In this workshop, we’ll show you how to use AI and NLP to figure out what a person is calling about and how they are feeling, all from a telephone call audio feed via WebSockets.

In this workshop, we’re going to learn how to create a virtual rapporteur. A digital assistant who can join any conference call; record it and provide participants with real-time insights into the overall tone of the call. Once the call is complete, we’ll look at how we can use the call recording to provide participants with a text transcript as well as meta information about the call such as the most talked about concepts, keywords and entities.

Roboworkshop
Czech flag Workshop Hardware

Petr Viktorin & Věroš Kaplan (CZ)

Pojďte si postavit mobilního robota z obědové krabičky!

Do krabičky nainstalujete motorky, motor shieldem a řídící desku NodeMCU s firmwarem MicroPython.

Potom buď přes protokol MQTT propojíte s ovládacím panelem na mobilu či počítači, nebo zapojíte senzorové nárazníky a naprogramujete robota autonomního.

Přineste si prosím:

* Napájecí zdroj – nejélep 4 tužkové baterie (AA), mohla by fungovat i větší USB powerbanka.
* Krabičku – např obědovou, od zmrzliny, nebo i od čaje.
* Laptop s oprávněním instalovat software.
* datový microUSB kabel.
* Případně, pokud máte, další součástky – LED diody, displeje, servomotory, drátky, apod. (Používáme 3V logiku; na napájení je možné použít 5V.)

Budete-li si chtít robota vzít domů, elektronika na dvoukolového robota bude stát do €15.

Obtížnost stavby: IKEA.

Počet míst je omezen na 15 robotů. Jednoho robota můžou stavět 1-3 lidi.

“Secret” information about the code we write
Slovak flag Talk Python General

Tibor Arpáš (SK)

Podľa môjho názoru vývojové prostredia (IDE) zanedbávaju runtime aspekt programov, ktoré v nich píšeme. Historicky sa tieto prostredia asi vyvinuli z textových editorov a postupne dostávaju viac a viac funkcií a umožňujú viacero pohľadov na zdrojový kód a jeho všakovaké aspekty. Vývojové prostredia dokážu zázraky so zdrojovými súbormi, ktoré nám ležia na disku.

Avšak zdrojáky nepíšeme aby ležali na disku ale kvôli tomu aby nám bežali ako programy. Pri behu môže vznikať kopec zaujímavých informácií spätne využiteľných pri programovaní. Dôraz vývojových prostredí na statické zdrojové kódy škodí najmä dynamickým programovacím jazykom ako je Python. Chcel by som odprezentovať a získať spätnú väzbu na 3-5 nápadov ktoré majú za cieľ práve preniesť rôzne informácie z behu Python programu naspäť do prostredia v ktorom sa píše zdrojový kód. V ideálnom prípade presne na riadok alebo dokonca na výraz, ktorý programátor práve píše alebo sa s ním dokonca trápi.

Príklady týchto nápadov:

- prezentácia stack trace informácie v IDE, na konkrétnych riadkoch kde tento stack trace vznikol, intuitívna navigácia po framoch stacktrace, hint na hodnoty lokálnych premenných jednotlivých framov

- prenos a výpis log hlášok v IDE na konkrétmych riadkoch, ktoré tento výpis vygenerovali

- coverage informácia na riadku, ale vrátane informácie Who Tests What (ktorý, test vykonal tento riadok, pozri napr. https://bitbucket.org/ned/coveragepy/issues/170/show-who-tests-what )

- použiteľnejšia reprezentácia spustených/úspešných/zlyhaných testov ako momentálne používaný rozbaľovací strom. Doklikať sa ku konkrétnemu výsledku testu v Pycharm test runneri často trvá minútu a po každom spustení testov sa táto manuálna práca zahodí a treba začať klikať odznova. Navrhnem intuitívnejší spôsob prezentácie.

- meta nápad: implementovať prezentované nápady bude stáť nezanedbateľné úsilie. Kedže vývojových prostredí je veľké množstvo, a každé ma rozdielne API ideálne je navrhnúť všeobecný protokol, ktorý by oddeľoval IDE a zdroje runtime informácií podobne ako to robí Language Server Protocol (https://microsoft.github.io/language-server-protocol/)

Serverless with OpenFaaS and Python
English flag Workshop DevOps

Alex Ellis & Stefan Prodan (GB)

We'll go through the basics of OpenFaaS with Python such as:

* Initial setup
* Create a function
* Access HTTP Headers, environment variables and secrets
* Add a new language template
* Troubleshooting
* Chaining functions
* Async functions
* Monitoring functions
* Securing OpenFaaS for public use (TLS, Basic Auth)
* Object storage with Minio

Skynet your Infrastructure with QUADS
English flag Talk DevOps

Will Foster (IE)

The very small 2-person DevOps team within Red Hat Performance/Scale Engineering has developed a set of Open Source Python-based systems and network automation provisioning tools designed to end-to-end automate the provisioning of large-scale systems and network switches using tools like Foreman, Ansible, and other Open Source bits.

QUADS – or “quick and dirty scheduler” allows a normally overburdened DevOps warrior to fully automate large swaths of systems and network devices based on a schedule, even set systems provisioning to fire off in the future so they can focus on important things like Netflix and popcorn or not reading your emails while your datacenter burns in an inferno of rapid, automated skynet provisioning. QUADS will also auto-generate up-to-date infrastructure documentation, track scheduling, systems assignments and more.

In this talk we’ll show you how we’re using QUADS (backed by Foreman) to empower rapid, meaningful performance and scale testing of Red Hat products and technologies. While QUADS is a new project and under constant development, the design approach to handling large-scale systems provisioning as well as the current codebase is consumable for others interested in improving the efficiency and level of automation within their infrastructure.

We'll also dive into purposeful development design choices, how some of these choices might not scale for the future (but work well at present) and provide a future roadmap of a new redesign based on Flask, Celery, Sqlite and friends.

Solutions Reviews
English flag Talk Community / Diversity / Social

Krzysztof Żuraw (PL)

Did you ever found out a bug in production that was caused by not understanding what are requirements?

Did you implement your code only to see that your solutions are not optimal for the code review? This and other similar problems can be avoided by using solution reviews. In my talk, I want to talk about what exactly is solutions reviews, what benefits it gives you and your team, what are drawbacks of such methods. I will guide you through my experiment with using different methods for solution reviews and which were good and which weren't.

Testing Essentials for Scientists and Engineers
English flag Workshop Data Science

Claus Aichinger (AT)

Please find the complete workshop description as well as installation instructions in the following GitHub repository:

https://github.com/caichinger/pyconsk18_testing

The Concierge Paradigm
English flag Talk DevOps

Gareth Brown (GB)

The Concierge Paradigm idea was born over time but initially came from challenges we had by working out how to operate scalable and enterprise-grade application containers. This meant monitoring, logging, deploying, scaling, load-balancing and service discovery. We needed to do this both on-premise and in AWS. We were running some docker tasks in ECS and a Kubernetes and CoreOS cluster on-premise but we hadn't chosen these by researching different options, they were pretty much the first options we came across. We'd felt the difficulties of our decision, so started to look out to the wider community at other options.

This is the story of what we discovered. How we made our application monitoring more efficient and accurate; how we radically simplified the infrastructure needed for running containers and how we utilised Zabbix as an container scheduler.

The Truth about Mastering Big Data
English flag Talk Data Science

Anton Caceres (UA)

What do you think is the most essential skill a data scientist should master? Knowledge of deep learning tools? Hadoop? SciPy?

This talk reveals the cornerstone of data science: nothing is as important as asking data the right questions. To make it work, we need some tools and curiosity.

While focusing on tools, we will first go over the data science subject as a whole, define our goals, continue with an overview of the essential Python packages like Pandas and Jupyter Notebook, and conclude with a live demo. The purpose of this talk is to understand our data: read it, visualize, and formulate right questions, as well as to endorse your imagination as a data scientist.

To the Google in 80 Days
English flag Talk DevOps

František Benko (SK)

We invite You on the journey of making Exponea and it's multi-terabyte in-memory databases possible in the containerized environment of the Google Cloud.
Join us as we grasp the wheel of our multi-server hardware-based spaceship, navigate through the dangerous oceans of no-downtime live migrations to safely dock in the calm waters of Google bay or did we?

Tools to interact with Bitcoin and Ethereum
English flag Talk Other

Ondrej Sika (CZ)

You probably know Bitcoin. Nowadays, Bitcoin and cryptocurrencies ecosystem is one of fastest growing industries. Many people build software on the top of those distributed networks. I'll show you tools you can use to interact with Bitcoin and Ethereum. From simple stuff like wallets and transaction to playing with smart contracts.

Unsafe at Any Speed
English flag Talk Python General

Rae Knowler (CH)

The default settings of some libraries and tools are so useless, or even dangerous, that they should never be used. While they give the impression of being easy to use or performant, they actually represent traps for the unwary user. I will show the concrete problems caused by such defaults, and explore how to create tools with _good_ defaults.

Vim your Python, Python your Vim
English flag Talk Python General

Miroslav Šedivý (DE)

What do you use to write source code, docs, books or e-mails? Single brain, single pair of hands, single keyboard, but a different keyboard layout for each language and a different text editor for each purpose?

---

Do you use an IDE to work on Python code, then switch to an e-mail client to write a message, then open a different editor to work on the documentation and finally ssh to a remote server to edit a configuration file? Do you switch languages frequently or are your colleagues named Müller, François, Muñoz or even Šedivý?

I'll show you how I am happily typing in several languages on a single standard US keyboard layout and why my CapsLock became so useful.

I'll show you how I use a single editor on all my machines to produce all sorts of text, especially Python code with a few useful plugins.

I'll show you my own plugin written in Python to hack my e-mails far beyond imagination.

When your wetware has too many threads - Tips from an ADHDer on how to improve your focus
English flag Talk Soft Skills

Aaron Bassett (GB)

My brain is different. The regions involved in concentration, impulse control, and inhibition are smaller than usual; Like somewhere between 5% and 12% of adults I have ADHD. Even if you do not have the disorder yourself you probably work, live or know someone who does. But the world is not designed for people with ADHD, so to be successful I’ve had to develop techniques to keep my concentration and procrastination in check.

In this talk, we’ll briefly look at what ADHD is and how it impairs not only concentration but also executive function. Then we’ll explore how changes in the workplace can benefit not just those with ADHD, but anyone whose work requires creativity or extended periods of focus. Next, we’ll look at some persistent myths about productivity, and what you can do personally to increase your concentration and output without burning out. Then I’ll present some techniques you can rollout within your team to remove distractions while improving the quality of communication.

Why hardware attracts kids and adults to IT
Slovak flag Talk Education

Marek Mansell (SK)

“Jéj, ono to bliká!” - toto je dôvod, prečo žiakov hardvér baví. Dnešné deti sú oveľa zbehlejšie v technológiach ako pol dekády dozadu a preto vyžadujú náročnejšie a zaujímavejšie úlohy, ktoré im ozrejmia princípy, vďaka ktorým fungujú každodenné technológie. Práve programovanie hardvéru toto umožňuje. Základné školy môžu využiť edukačnú dosku micro:bit, ktorú vo Veľkej Británií navrhli špeciálne pre 11 ročné deti a k tomu vytvorili množstvo učebných materiálov a návodov. Pre stredné školy je vhodná náročnejšia doska NodeMCU, ktorá obsahuje WiFi modul na bezdrátovú komunikáciu. Hardvérové projekty sa veľmi ľahko prepájajú aj s inými predmetmi, napríklad geografiou (digitálny kompas; domáca meteo stanica), fyzikou (elektronické súčiastky; meranie intenzity svetla), výtvarnou výchovou (prišívanie elektroniky na oblečenie; tvorba umeleckých objektov, ktoré svietia či sa pohybujú), biológiou (samozalievací kvetináč; inteligentný skleník), atď. Odprezentované budú aj hardvérové projekty stredoškolákov zrealizované v uplynulých mesiacoch.

Working with XML
Czech flag Workshop Python General

Václav Sauer (CZ)

Workshop pro začátečníky

Obsah (zhruba):
Stručný úvod do XML
Instalace parseru
Nahrání, úprava, uložení XML
práce s daty v XML formátu
serializace a deserializace objektu do XML

Workshop: An Introduction to Ansible
Slovak flag Workshop DevOps

Tomáš Pytel & Daniel Dobiaš (SK)

Na workshope si predstavíme základné princípy "DevOps" vývoja. Účastník sa naučí dobrým praktikám počas vývoja softvéru. V Ansible si bude vedieť deploynúť celú aplikáciu do "Cloudu".

Čo sa naučí v Ansible :
- Vytvorenie Používateľa
- Zakladné nastavenie systému
- Základy Firewall
- Základy práce s GitHub
- Základy práce s SSH
- Inštalácia Python a Modulov
- Deploy aplikácie
- Nastavenie webserveru

Všetko samozrejme automatizovane a reprodukovateľne.

Workshop je primárne určený pre tých ktorí začínajú s vývojom aplikácií a chcú to robiť dobre. Nie je určený pre pokročilých používateľov, alebo tých ktorí už majú skúsenosti s deploymentom.

ZODB: The Graph database for Python Developers.
English flag Talk Python General

Christopher Lozinski (PL)

The ZODB is a mature graph database written in Python and optimized in C. Just subclass off of class Persistent Object, and Persistent Container, and your objects, graphs and applications become persistent.

The market for Graph Databases has recently exploded, as evidenced by over $200Million invested in graph database companies. Most of the graph databases are written in Java.

If you are a Python developer, you will find much greater productivity using a graph database written in Python, than one written in statically bound Java. The major Java databases constrain you to one of several persistent data types. Persistent Python, supported by the ZODB allows you to make any Python data structure persistent.

The new ZODB Demo makes it very easy to start building your own applications on top of the ZODB. You can start by customizing the TreeLeaf, TreeBranch and TreeRoot classes and their templates. You get CRUD for free.

The demo includes traditional relational CRUD, Create, Read, Update, and Delete. But it also includes the extended graph CRUD. Rename a Leaf or Branch. Cut and paste leaves or branches, copy and paste leaves or branches. The talk also demonstrates the soon-to-be released view historic versions and restore a previous version.

You can watch the talk video here:
PythonLinks.info/zodb

And see the slides here:
https://pythonlinks.info/presentations/zodbtalk.pdf