EuroPython 2016 - My notes

EuroPython je týdenní nálož inspirace a znalostí. Níže jsou mé poznámky pro připomenutí v budoucnu. Pro ostatní to mohou být tipy, na co se podívat ze záznamu a co klidně vynechat.

Pondělí

20 years without a 'proper job'

Keynote prvního dne, a tak i celé konference. Klasicky netechnický a motivační. Pěkný talk, pointa ale asi nikoho nepřekvapila.

Zaujalo mě srovnání, zda prodat produkt či budovat službu. První znamená jednorázový zisk bez delších závazků. Druhé může být zdroj dlouhodobých příjmů, ale s mnohem větší zodpovědností.

Známka 2

What Python can learn from Haskell packaging

Jak jsme nedávno sledovali v Node.js světě, balíkování a řešení závislostí není jednoduchý problém ani pro nový ekosystém, který se může učit z chyb svých předchůdců.

Talk skočil rovnou do Haskell infrastruktury. Přesah do Pythonu či obecné principy jsem moc nezaznamenal, tak nevím, co si odnést. Podle přednášky NixCon přednášky, tak možná lepší kouknout rovnou na ní.

Známka 3

Profiling the unprofilable

"Advanced" talk, jak se patří. Skutečný problém a řešení, kde je ukázáno hned několik zajímavých technologií a postupů. Co slide, to několik námětů ke studiu. Žádné zbytečné detaily.

Že existuje něco, jako statický profiler, jsem slyšel poprvé. Konkrétně VMProf určitě stojí za bližší pohled. Kromě výkonu by měl umět pomoci i s využitím paměti.

Známka 1

Developing a real-time automated trading platform with Python

Zrovna vyvíjíme realtime analytiku pro Seznam.cz, tak toto pro mě byla povinnost. Velmi pěkný přehled od architektury, přes použité technologie, až po vlastní framework pro multi-agent systém.

ZeroMQ a Pyro4 jsou zdá se dobrá volba pro Pythoní ekosystém. Otázka je, jak by obstály v porovnání, anebo ve spolupráci s naším Java / Hadoop / Kafka světem. Kvůli výkonu běží na Cython.

Známka 2

Python and Async programming

Podtitul "Do you need to be a wizard to use it?" vystihuje asi nejen můj pocit z Python Asyncio. Přednášející se snažil vysvětlit coroutines na příkladech, bez vysvětlování magie v podvozku.

Výsledek je bohužel pouze sled slidů s ukázkami kódu, které nelze stíhat číst, natož jim rozumět. Doporučuji raději starší přednášku přímo od Guida.

Známka 4

Create secure production environment using Docker

Slibný název a obsah, který sliby naplnil. Přednáška je vlastně checklist: co projít, co zkontrolovat, co nastavit.

Nejdůležitější: Docker na bezpečnosti nepřidá, není to virtuální stroj. Může ale mnohé bezpečnostní díry vytvořit. Doporučuji poslechnout od začátku do konce.

Známka 1

Effectively test your webapp with Python and Selenium

Selenium není sexy. Viděl jsem různé pokusy to změnit, všechny bez většího úspěchu. Proto jsem ani od tohoto talku moc nečekal.

Měl jsem jít jinam, předčítání slidů bez zajímavé informace.

Známka 4

The Report Of Twisted’s Death

Asyncio, coroutines, futures, yield a další zvěř byla jedním z hlavních témat celé konference. A tohle byla jedna z nejlepších přednášek na toto téma.

Výborné srovnání Twisted, Tornado a Asyncio. Kde stojí, co nabízejí, kde se doplňují a kde překrývají. Twisted údajně žije, ale já si ještě chvíli počkám, než uvěřím.

Známka 1

Úterý

Inside the Hat: Python @ Walt Disney Animation Studios

Profi přednáška, která nám představila postup výroby animovaného filmu. Na pár konferencích již jistě zazněla a zmínky o Pythonu mi přišly spíše pro formu.

Pokud by nešlo o keynote, byl bych nadšený, ale vzpomněl jsem si na nejrůznější filmy o filmu a odcházel jsem lehce zklamán.

Známka 2

(Tento talk nebyl nahráván.)

Designing a Pythonic Interface

Když jsme v roce 2008 psali CDN pro Centrum.cz, Honza Král mi zadal – jako můj team leader – naučit se Python. A ono mi to zůstalo. :)

Python API k ElasticSearch se inspiruje u Django a vypadá moc dobře. Honza na něm ilustroval jednotlivé body ze Zen Of Python. Trochu profesorské "do this, don't do that", klidně bych si poslechl i o problémech nebo kompromisních řešeních.

Známka 2

The Joy of Simulation: for Fun and Profit

Speaker vletěl do přednášky živou ukázkou a po minutě bylo jasné, že půjde o jeden z nejlepších talků.

Machine learning je hodně vděčné téma a já se bavil až do konce. Podobná přednáška je skvělá motivace. Kolik lidí si ale najde příležitost a dokáže dostat umělou inteligenci do praxe?

Známka 1

Automate, contribute, repeat.

Pokud někde něco rozběhám, ale nedokážu to za půl roku zopakovat, tak je něco špatně. Takže plus jedna k názvu přednášky. Ale co k tématu říci?

Představení Ansible. Očividně ho lze použít ke konfiguraci vlastního laptopu i k deploy do cloudu. Zbytečné sledovat na konferenci, můžu kouknout na web.

Známka 3

Protect your users with Circuit Breakers

O jističích v kódu jsem (ke své ostudě) slyšel poprvé. A lepší úvod v 30 minutách jsem nemohl dostat.

Idea je to přitom jednoduchá. Klient monitoruje, zda mu server odpovídá. A když je jasné, že server nejede, tak nepřitápí dalšími requesty, ale raději se uživateli rovnou omluví za výpadek. Pěkně vysvětleno na metafoře číšníka v restauraci.

Známka 1

re-Discovering Python's Regular Expressions

Dobré shrnutí implementace regulárních výrazů ve standardní knihovně, i když ostřílení Python vývojáři neslyšeli moc nového.

Je zajímavé se občas podívat do zdrojáků standardní knihovny. A z ne úplně povedeného API standardního re modulu se můžeme poučit.

Známka 2

Exploring our Python Interpreter

Nejrychlejší možné nahlédnutí do zdrojáků a fungování Pythonu samotného. Kdo se bojí, nesmí do lesa.

Po kouzelné __ltrace__ = None si projekční plátno začala fotit snad každá druhá ruka v sále.

Známka 1

So you think your Python startup is worth $10 million...

Počítat cenu kódu z počtu řádků jsem se nesnažil od školy. Ale člověk by měl mít rozhled, ne? Nakonec se z tématu vyklubala moc zajímavá přednáška.

Radon jako nástroj pro analýzu kódu. Randomizované testy. Vedlejší výsledek: vyvíjet v Pythonu je dle COCOMO 2x až 3x efektivnější než v Javě. :-)

Známka 1

Středa

LIGO: The Dawn of Gravitational Wave Astronomy

Mind blown. Super výklad, astronomie vypadá najednou jako hračka.

LIGO má dvě několikakilometrové observatoře, kde pomocí zrcadel měří gravitační vlny. A čísla pak zpracovává v Pythonu. A nabízí i veřejný notebook, kde si s daty může hrát kdokoliv.

Známka 1

Using Service Discovery to build dynamic python applications

Pěkný přehled technologií: ZooKeeper, Etcd a Consul. Praktická přednáška, bez ambice nějak rozebírat principy nebo architekturu.

Pro Zookeeper v Pythonu existují: Kazoo, zc.zk, pookeeper.

Známka 1

Infrastructure as Code: "pip install" your environment

Flask aplikace, která přes REST rozhraní vytváří PostgreSQL databáze běžící v Dockeru.

Nejdříve se zdálo, že jde jen o demo projekt pro účel prezentace. Ale ono to je asi myšleno jako doopravdy. 50 databází na jednom stroji s 2GB paměti? Ehmm…

Známka 4

Things I wish I knew before starting using Python for Data Processing

Ani opakované varování, že půjde o začátečnickou přednášku, mě bohužel neodradilo. Varování bylo na místě a lidé v průběhu utíkali.

Škoda, že šlo o přednášku o Pythonu pro data science lidi, ne obráceně. Provedení bylo výborné, ale na EuroPython to bylo opravdu příliš o základech.

Známka 2

Game Theory to the Rescue When Hard Decisions Are to Be Made

K čemu by se mohla hodit teorie her při vývoji softwaru? Nic mě samotného nenapadá, tak jsem byl zvědavý na tento talk.

Bohužel jen nepovedený úvod, co teorie her je. Profláknuté vězňovo dilema jako finále, návaznost na software jsem nezaznamenal.

Známka 3

System Testing with pytest and docker-py

Docker a pytest v názvu přednášky stačí, aby naplnily sál až po okraj. Krásné slidy, většina posluchačů byla velmi spokojena. Mně to přišlo trochu obecné a povrchní.

V setup metodě pouštějí Docker container a v teardown ho vypínají. Překvapivě. :) Knihovna pytest-dockerpy by mohla pomoci.

Známka 2

Get in control of your workflows with Airflow

Frameworků pro plánovaní a běh jobů jsem už pár viděl a psal. Možná by se místo dalšího refaktoru hodilo vzít hotové řešení.

Airflow vypadá dobře a přednáška byla super úvod do technologie.

Známka 1

Lessons Learned after 190 Million Lessons Served

Sponzorovaná přednáška, aka co děláme dobře. Pomalejší rozjezd, pak vlastně i zajímavé.

Jak přepsat aplikaci z PHP do Pythonu. Jakože opravdu a komplet.

Známka 2

Čtvrtek

Come for the Language, Stay for the Community

Vyvíjel jsem už v různých jazycích, komunitu jsem ale poznal pouze kolem Pythonu. Je pravda, že je velmi přátelská, a bez srovnání si to člověk nemusí plně uvědomit. Pak se hodí poslechnout si podobnou keynote.

Známka 1

Asynchronous network requests in a web application

Další ze série přednášek o asynchronní magii. Živé ukázky, ale jinak mi talk poněkud splynul s dalšími.

Pokud chci využít asyncio v klasické aplikaci, můžu odložit všechny asynchronní requesty do jednoho sdíleného vlákna.

Známka 2

Pytest 3.0

Než jsem sepsal tyto poznámky, tak třetí verze Pytestu je venku. Nejzásadnější změna – půjde pouštět bez tečky jako pytest místo py.test. Aneb kolik nevhodný název nadělá problémů.

Taky bych se chtěl kouknout na Cookiecutter, který generuje základy projektů ze šablon.

Známka 2

async/await in Python 3.5 and why it is awesome

Už zase, ale tentokrát od samotného autora! Tak ho jednou něco napadlo, tak šel za Guidem, tomu se to líbilo, tak to implementoval. Easy. :)

A to se hned pozná, kdo přednáší. Kdo ví, že existuje async with a async for? Alternativní event loop uvloop může asynchronní kód řádově zrychlit.

Známka 1

Grocker, a Python build chain for Docker

Docker je v módě, ale tady jsme se moc nedozvěděli. Nějaký vlastní nástroj, ale moc nevím, proč bych měl používat zrovna ten.

Dobrý point je, že Docker image pro build by měl být rozdílný od runtime image.

Známka 3

Algorithmic Trading with Python

Realtime data jsou teď in. Přitom algoritmické obchodování řeší podobné problémy už dlouho. Tak proč se nepřiučit.

Python používají pro research i samotné obchodování. Validace hypotéz na datech od roku 1970. Neukládají si mezivýsledky, vše pravidelně přepočítávají znovu od roku 1970. Cython pro výkon.

Známka 1

Planning for the worst

Interaktivní session, vcelku zajímavá, ale moc se nerozjela. Záznam bych klidně vynechal.

Známka 2

Pátek

Scientist meets web dev: how Python became the language of data

Na tento talk jsem se těšil ještě dřív, než jsem si všiml, že jde o keynote. S nadhledem a výstižně, proč je Python dobrá volba pro vědeckou práci, a proč jsou numerické knihovny zajímavé pro nás vývojáře.

K Pythonu se údajně posouvají i vědci, kteří se mu ještě nedávno bránili. Zajímavé knihovny: cloudpickle a dill (alternativy k pickle), lazyarray.

Známka 1

A Gentle Introduction to Neural Networks (with Python)

Úplné základy machine learning, ale byli jsme varováni (bohužel v programu jako intermediate). Obecný úvod, o neuronových sítích to prakticky nebylo. A Python jen rychle na konec, aby se neřeklo. Trochu mi to připomnělo školní přednášky.

Známka 2

An Introduction to Deep Learning

Přednáška ve mně evokovala spoustu otázek, a hned mi na ně dávala zase odpovědi. Super talk, pokud chcete nakouknout, co je někde mezi jednoduchým rozpoznáváním textu a samořiditelnými auty.

Rozpoznávání obrazu. Posouvání po obraze a hledání feature, které pak zpracovává další vrstva neuronové sítě. Nejzajímavější je generování obrázků na úplném konci přednášky.

Známka 1

Deep Learning with Python & TensorFlow

Skvěle navazuje na předchozí přednášku. Po teoretickém představení deep learning ukazuje konkrétní implementaci od Google. S příklady a super vizualizacemi.

Použití podobných modelů v Google exponenciálně roste. Modely počítají paralelně (přes data, druhá možnost je paralelizovat přes části modelu). Pro výkon mají interní síť, kde úplně vynechávají tcp/ip.

Známka 1

NetworkX Visualization Powered by Bokeh

Představení dvou knihoven. Bohužel, obsah odpovídá spíše cvičení, kdy přednáška nemůže dopadnout jinak než jako zrychlené předčítání a vysvětlování kódu.

Známka 3

Různé postřehy

Závěrem

Často padá otázka, co nového se člověk na konferenci naučil. Případně, co je na konferenci a není na netu. Pro mě je to možnost opustit na chvíli pohodlí zavedených postupů. Týden inspirujících přednášek vydá podněty klidně na rok studia a případného uvádění do praxe.

Jako bonus jsem dostal příležitost přednést svůj první lightning talk a představit PyOO.

EuroPython byl super. Díky Seznam.cz, že jsem se mohl být u toho. ;-)