2018 m. rugpjūčio 19 d.

Europython 2018 apžvalga

Asmeninė patirtis/Vieta


Šįkart Europython konferencija vyko Edinburge, saulėtoje Škotijoje. Aš Škotijoje gyvenime buvau tik 3 dienas ir per jas visas nuolat švietė saulė. Tai aš savo empiriniais bandymais įrodžiau, kad Škotija yra saulėta.

Konferencija po nežinau kiek metų pertraukos grįžo prie 3-jų pranešimų dienų formato. Man labiau patiko 5-ių dienų formatas. Tada konferencija jausdavosi daugiau kaip kita dimensija. Nei tai atostogos. Nu gal biški ir atostogos. Bet tikrai ne darbas ir ne biznis. Dabar jaučiasi labiau biznis.

Taigi tomis biznio dienomis klausiausi pranešimų, o vakarais ragaudavau šiaudais ir dūmu dvokiantį Škotišką viskį. Nes nu konferencijos esmė vyksta po konferencijos. Ir jeigu per konferencija jautiesi gerai išsimiegojęs, tai turbūt praleidinėji rytinius pranešimus.

Čia bus mano konferencijos apžvalga, palydėta piešinukais iš mano konspektų.



Keturi aspektai


Mypy ir tipų anotacijos


Jeigu praeitų metų konferencijoje pajutau, kad Async IO ir Python 3 ateina su visam. Tai šioje supratau kad tipų anotacijos gyvuos pitono pasaulyje. Net nežinau, kaip jaustis šiuo klausimu. Mano nuomone, jeigu nori stiprių tipų, tai Python yra blogas kalbos pasirinkimas. Bet industrija juda, kur jinai juda.

Technologijų evangelikų invazija


Kai kurie pranešimai yra per gerai paruošti. Bet biški apie nieką. Ir labai rišlūs (jokio įprastinio mikčiojimo). Bet paviršutiniški. Bet gražios skaidrės. Nors programuotojų spalvų suvokimas neturėtų to prileisti.

Ir tada pranešėjai prisistato, kas jie tokie ir kurioje kompanijoje jie dirba. Ir kokiose pareigose jie dirba. Tada paaiškėja, kad jie turi keistas pareigas. Dažniausiai žinomas ir įvardijamas kaip "technologijų evangelikų".

Tada supranti, kad jie yra profesionalūs konferencijų draugeliai. Tai yra, jiems mokami pinigai, kad jie būtų draugiški per konferencijas. Kad užmezginėtų pokalbius su tikrais programuotojais. Būtų jiems malonūs ir taip įtikintų tuos tikrus programuotojus pradėti dirbti toje kompanijoje arba naudotis jų kompanijos tikrų programuotojų kuriamomis technologijomis. Visą laiką. Jų toks darbas yra visam laikui.

Aš esu lopas programuotojas. Aš noriu bendrauti su kitais lopais programuotojais. Autentiškais. Nu bet pranešimai tikrai gražiai išlaižyti.

Nulis Blockchain


Šitas apie tai ko nebuvo. O gi nebuvo blockchain'ų. Praeitais metais pranešimų ta tema nebuvo daug. Bet visa konferencija visur pakampėse ūžė nuo tų visų bitcoin'ų. Šįkart nieko. Nulis. Niekas nieko niekur net neužsiminė.

Aij, tiesa vakare prie šiaudinio viskio vieną sutikau, kuris dirba su blockchain. Kai paklausiau, ar tiki technologija. Pasakė, kad ne, bet gerai moka šiuo metu (nepaklausiau, bet įtariu moka tai tikrais pinigais).

Taigi, praeitais metais turbūt buvo galima prognozuoti blockchain technologijų bumą (bet neprognozavau). O šiemet galima prognozuoti lėto merdėjimo pradžią.

Mikro servisai yra šešėlyje


Ne. Aš nesakau, kad mikro servisai miršta. Tikrai ne. Bet nebesijaučia to užsivedimo, kuris buvo prieš metus ar dvejus.

Daug panašiau, kad ta ekosistema stabilizavosi. Ir dingo tas prieš tai buvęs elitizmas. "Tavo architektūra ne mikro servisai?!!! O tu iš vis programuoti moki?!!!".

Dabar tarsi kas naudoja mikro servisus, o kas nenaudoja. Bet niekas jau nebesididžiuoja tuo. Mikro servisai įgavo fidget sukučių statusą. Namie kažkur stalčiuje vis dar yra. Bet savininkai nežino tiksliai kuriame. Ir jeigu žinotų, tai turbūt išmestų.

Perklausytos kalbos


Die Threads

https://www.youtube.com/watch?v=FsvmT2Ir7B8&t=25m56s
David Beazley (pats geriausias Python pranešėjas pasaulyje) pristatė būdą kaip gijinis programavimas galėtų būti daug patogesnis ir paprastesnis, jeigu prasukti jį per Async IO.

Realiai tai jis pristatė tą darančią biblioteką. Tik viena bėdelė. Ta biblioteka dar nebaigta ir neaišku, ar bus baigta.
https://github.com/dabeaz/thredo

Labai rekomenduoju šitą pranešimą.

Asyncio in Python 3.7 and 3.8

https://www.youtube.com/watch?v=w-XECcIWnlQ&t=15m21s
Pagrindinis Async IO programuotojas pristatė Async IO istoriją ir dabarties (3.7) bei ateities (>3.8) naujoves.

Ir kažkodėl nuolat minėjo trio biblioteką. O tas "import trio" turi šansų tapti "import asyncio" pakaitalu. Panašiai kaip "import requests" daug dažniau sutinkamas vietoje "import urllib".
https://github.com/python-trio/trio

Postgres at any scale

https://www.youtube.com/watch?v=qRqDgJLM568&t=50m39s
Įdomus pranešimas. Su daug praktinių patarimų. Vienintelė bėda, kad a nei kaip nesusijęs su Python. Totaliai PostgreSQL.

Let’s Build a Python Profiler in 25 LOC

https://www.youtube.com/watch?v=qRqDgJLM568&t=1h33m32s
Įdomus pranešimas. Kaip pasirašyti kokį tik nori Python profiliavimo įrankį naudojantis pačio Python įrankiais. https://docs.python.org/3/library/sys.html#sys.setprofile
https://docs.python.org/3/library/sys.html#sys.settrace
https://docs.python.org/3/library/atexit.html#module-atexit

Paskutinė nuoroda nelabai susijusi. Bet čia toks kietas Python modulis, kuris leidžia priregistruoti funkciją, kuri visada išsikviečia prieš programai baigiant darbą.
import atexit
atexit.register(my_callback)

Fuzzy Matching - Smart Way of Finding Similar Names Using Fuzzywuzzy

https://www.youtube.com/watch?v=XRKPOtbU6UE&t=3h27m12s
Nieko gero.

What's new in Python 3.7

https://www.youtube.com/watch?v=FsvmT2Ir7B8&t=5h25m19s
Įdomi tema. Neįdomus pranešimas.

Geriau jau perskaityti šitą https://docs.python.org/3/whatsnew/3.7.html.

Quantum Computing: a Very Gentle Glimpse into a Possible Future

https://www.youtube.com/watch?v=FsvmT2Ir7B8&t=6h20m21s
Įdomus pranešimas. Neturintis nieko bendra su Python. Bet įdomus.

Python, Docker, Kubernetes, and beyond?

https://www.youtube.com/watch?v=w-XECcIWnlQ&t=5h40m44s
Kam o kam aš nuėjau į šitą pranešimą. Žiauriai nuobodi tema.

White Mars: living far away from any form of life

https://www.youtube.com/watch?v=FsvmT2Ir7B8&t=8h35m10s
Realiai tai apie Antarktiką, o ne apie marsą. Čia buvo teletiltas su Antarktika. Ir jie ten naudoja Python kai kam.

Lightning talks

https://www.youtube.com/watch?v=FsvmT2Ir7B8&t=8h35m10s
Nieko įdomaus nebuvo paminėta.

PyPI: Past, Present and Future

https://www.youtube.com/watch?v=Rps9lHflkCg&t=31m35s
Nežinau, ar pastebėjote, bet PyPi dabar yra nebe https://pypi.python.org/ adresu, o https://pypi.org/. Tai va apie tai buvo šitas pranešimas.

When to use Machine Learning: Tips, Tricks and Warnings

https://www.youtube.com/watch?v=nDY82RGU2Xk&t=16m22s
Tokia reklaminė ML kalba. Nieko nematyto, bet parodymas, kaip paprastas žmogus gali taip iš niekur ką nors gražaus sugeneruoti naudojant ML.

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

https://www.youtube.com/watch?v=8E0VDH_UKuA&t=1h2m39s
Tadam. Evangeliko kalba. 8-i "hello world" pavyzdžiai.

Code Review Skills for Pythonistas

https://www.youtube.com/watch?v=8E0VDH_UKuA&t=1h51m33s
Evangelikė papasakojo pranešimą. Šitas visai geras net nepaisant, kad evangelikės.

Ir kažkodėl užrodė gerą įrankį rasti nebenaudojamą kodą: https://pypi.org/project/vulture/.

Debugging Your Code with Data Visualization

https://www.youtube.com/watch?v=nDY82RGU2Xk&t=3h45m12s
Parodė, kad ieškant klaidų ar šiaip aiškinantis kodo veikimo įpatumus galima naudoti įdomesnius įrankius, o ne tik "print" funkciją.

More Than You Ever Wanted To Know About Python Functions

https://www.youtube.com/watch?v=Rps9lHflkCg&t=5h48m39s
Turėjau į šitą nueiti, nes aprašymas skambėjo beveik tapačiai mano PyCon LT darytam pranešimui (https://www.youtube.com/watch?v=rpSwuaniIT0&%3Ft=1h36m54s). Šitas paprastutis ir nieko nei sunkiai virškinamo neparodantis. Nu nes evangeliko.

Type annotations with larger codebases

https://www.youtube.com/watch?v=QNUjpdpAOac&t=5h13m22s
Yelp naudoja tipų anotacijas. Šiaip pranešimas nėra bazinis, kaip galima buvo tikėtis, o vietoje to ganėtinai įdomus. Papasakoja daugiau apkasų istorijų, o ne "va kaip rašyti anotacijas. Ir va skaičius plius raidės, o nuostabusis statinis tikrintojas pagauna klaidą. Vai, vai, vai.".

https://pyre-check.org/
http://mypy-lang.org/

Succinct data structures for python

https://www.youtube.com/watch?v=nDY82RGU2Xk&t=5h46m16s
Totaliai geek'o pranešimas apie kažkokią nišinę kietą biblioteką, kurią jis parašė. Šiaip turbūt gera ir naudinga biblioteka. Bet nuobodi sritis. Šiaip kaip kokį unrar pristatinėti.

https://github.com/ah-/pysdsl

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

https://www.youtube.com/watch?v=Rps9lHflkCg&t=8h
Truputį prasčiau papasakota tai, ką DHH jau kuris laikas pasakoja reklamuodamas savo naują knygą.

https://medium.com/@dhh
https://basecamp.com/books/calm

Why Python is at the heart of Smarkets

https://www.youtube.com/watch?v=Rps9lHflkCg&t=8h44m1s
Rėmėjai papasakojo, kodėl jie kieti. Kadangi davė konferencijai daug pinigų, tai tegul pasakoja.

Lightning talks

https://www.youtube.com/watch?v=Rps9lHflkCg&t=9h1m3s
Yra toks modulis "decorator", kuris padeda išsaugoti dekoruojamos funkcijos parašą.
https://pypi.org/project/decorator/

Citizen Science with Python

https://www.youtube.com/watch?v=7uSjCp1wOrw&t=27m13s
Įdomu. Nelabai daug Python.

EduBlocks - Making the transition to Python easier!

https://www.youtube.com/watch?v=7uSjCp1wOrw&t=1h41m35s
Čia buvo geras. Kažkoks 12-tis pristatinėjo savo aplikaciją, kurią pats sukūrė ir kurią realiai naudoja Britanijos mokyklos mokinant informatikos. Ir pristatymas nebuvo "o aš čia toks mažas vaikeliukas. Čia kažką biški parašiau. He, he. Kaip drovu man čia ant scenos kalbėti.".

Ne. Kalbėjo kaip koks kilmingas britas, kai dar Britanija buvo imperija. Užtikrintai, tiksliai ir svarbiausia įdomiai.

https://edublocks.org/

Get Productive with Python in Visual Studio Code

https://www.youtube.com/watch?v=7uSjCp1wOrw&t=2h31m17s
Pristatė Visual Studio Code galimybes dirbant su Python. Šiaip panašu, kad geras įrankis. Turbūt menkai nusileidžiantis PyCharm. Jeigu nusileidžiantis. Iš kur man žinoti -- aš tai Vim naudoju. He, he. Kaip drovu čia man viešai rašyti.

Exploring the Python AST Ecosystem

https://www.youtube.com/watch?v=4Wr31kp6Hgg&t=1h41m58s
Gerai paruoštas ir technitškai gilus pranešimas. Apie tai kaip naudoti pitono abstrakčius kodo medžius, kad gauti sau naudos (pvz.: statiškai validuojant kažkokią specialią biznio logiką).

Vienas geresnių konferencijos pranešimų. Rekomenduoju.

Trust me, I'm a Data Scientist - ethics for builders of data-based applications

https://www.youtube.com/watch?v=x5tcYO-SVnc&t=3h32m45s
Kažkokia pieva.

Lies, damned lies, and statistics

https://www.youtube.com/watch?v=x5tcYO-SVnc&t=4h6m51s
Geras pranešimas apie statistikos netinkamą naudojimą. Nelabai susijęs su Python. Bet geras.

Domain-Driven Design Patterns in Python

https://www.youtube.com/watch?v=SnlIqq-7XKU&t=4h59m41s
Lyg ir įdomus buvo. Lyg ir naudingas. Bet dabar nieko nebeatsimenu. Gal dėl to, kad paskutinis konferencijos pranešimas ir jau po biški trūkinėjo ryšys galvoje.

Lightning Talks

https://www.youtube.com/watch?v=7uSjCp1wOrw&t=8h28m43s
https://github.com/ambv/black

2017 m. spalio 4 d.

Sukūriau žaidimą "Seimo simuliacijas

http://seimas.petraszd.com/

Galbūt kartais galvojate, kas per velnias dedasi Lietuvos seime? Daugiau nebepergyvenkite!

Viskas tuoj pasidarys aišku, nes aš sukūriau žaidimą, kuris tiksliai simuliuoja seimo ir seimo narių darbo principus.

Keli pavyzdžiai iš mano sukurto įstatymų generatoriaus:

"Reikia įvesti privalomas rytines maldas šauktiniams ir tokiu būdu parodyti Rusijai jos vietą."

"Rūpindamiesi paprastu žmogumi planuojame įvesti reikalavimą be specialaus leidimo neleisti naudotis mobiliais telefonais alkopramonės atstovams, nes būtų gerai sudaryti sąlygas elektromobilių atėjimui į Lietuvą."

2017 m. rugpjūčio 1 d.

EuroPython 2017 apžvalga

Asmeninė patirtis/Vieta


Iš pusšaltės Lietuviškos vasaros patekau į normalų Itališką kurortą, kurį praminiau 100x Basanavičiaus gatvės kurortu. Gal ir gerai, kad nestebuklinga vieta. Kitaip būčiau praleidęs visą laiką, kur nors kitur vietoje to, kad eiti į konferenciją šviestis, tobulėti, valgyti dietologų nerekomenduojamą maistą nerekomenduojamais kiekiais, viską užgerti daug kavos ir vyno vakare, ilgai kalbant po oficialios dalies (tam, kad nuolat nedamiegoti) apie kitų šalių politiką, kultūrą, tradicijas ir šiaip. "Šiaip" reiškia programavimą ir moteris/vyrus. Procentaliai tema "apie moteris" lenkė "apie vyrus" gana daug nuošimčių. Nes vis dėlto programavimas. Bent jau įsivaizduojate, kaip nykiais skamba programuotojų bandymas kažką protinga pasisakyti ta tema negimtąja kalba? Aš įsivaizduoju, nes "how to say".

Tai čia aš apžvelgsiu tos savaitinės (Nes konferencija trunka 5 dienas + 1 pradedančiųjų mokymai + 2 sprint'ai) mėsmalės, po kurios jautiesi taip, lyg tai rašytum į delfi skyrių "Bendraukime" tema "Kaip aš po Python konferencijos nusprendžiau viską savo gyvenime keisti ir pradėti sveikai gyventi". Tai va, pateiksiu tos savaitės savo įžvalgas ir perklausytų kalbų apžvalgas. Viską palydės mano konspektai, kur vėl piešiau gyvatėles (Linkėjimai Froidui).

Keturi aspektai


Grįžęs iš konferencijos visada mąstau, kokios esmines kryptis ir idėjas galima pajusti tvyrant konferencijos ore (atsiprašau už kvailai poetinį išsireiškimą). Pavyzdžiui, kažkada buvo galima pajusti, kad mikro karkasų (microframeworks) banga tuoj, tuoj nuneš visą industriją. Tai tą buvo galima pastebėti prieš du/tris metus. Šiais metais pastebėjau kitas 4-ias tendencijas.

Bitcoin ir blockchain


Pirmiau istorija. Aš visą laiką žiūrau į BitCoin'us (ir viską, kas su jais susiję) atsargiai. Nes man visada ten atrodo, kaip kelių rimtų sukčių ir tūkstančių melžiamų ožkučių (kurie vis dar, iki rimtesnio numelžimo, jaučiasi rimtais sukčiais) irštva. Ir aš nemanau, kad taip vėlai prisijungęs aš nebūčiau tas, kurį melžia.

Taigi, vieną vakarą Kiwi kompanija organizavo vakarėlį paplūdimyje. Viskas tvarkinga -- sumokėta barui, kad jeigu parodai ženkliuką, gauni nemokamai gėrimų.

Tada kitą vakarą BitCoin sindikatas (taip ir nesupratau, kas tiksliai: kažkiek pavienių žmonių ir kažkiek kažkaip tarpusavyje susijusių kompanijų) irgi suorganizavo vakarėlį paplūdimyje ir paskaitą apie BitCoin ir blockchain technologijas.

Kai nuėjome pasižmonėti ir paklausyti apie blockchain (nes nu man iš tikro įdomu ta technologija), tai visus radome ne paplūdimyje, o automobilių stovėjimo aikštelėje prie paplūdimio. Nes nebuvo jokio baro, o sindikatas tiesiog nupirko kelias dėžes alaus ir juos visus praspyrė iš paplūdimio, nes ten galima gerti tik iš skardinių, o ne iš stiklinių butelių.

Paskaita tai buvo kelių vaikinų rėkimas apie tai kaip BitCoin'ai labai gerai ir viską gali pirkti, ir paprasti pinigai negerai, nes illuminati, ir visos valstybės yra negerai. Ypač vakarų valstybės.

Tai taip ir nepagilinau savo BlockChain žinių, o ėjau į paplūdimį ir į jūrą maudytis.

O šiaip konferencijoje buvo keletas kalbų apie blockchain, kaip technologiją. Ir panašu, kad ateityje tai gali tapti rimta iš techninės pusės, o ne iš tų ožkutinių pinigų pusės.

Nu bet tada grįžęs skaičiau N tokių straipsnių:
https://medium.freecodecamp.org/a-hacker-stole-31m-of-ether-how-it-happened-and-what-it-means-for-ethereum-9e5dc29e33ce

EuroPython tampa lokalia konferencija


Kažkada EuroPython buvo antra pagal dydį (po PyCon) ir automatiškai pagal svarbą Python konferencija. Kažakada (berods 2010) aš pats dalyvavau CPython sprinte, kur mums durnutukams patarinėjo N (Kur N > 2) Python core programuotojų. Jau kelinti metai nevyksta net CPython sprintas. Po teisybei, nei Django sprintas nevyksta. Nes nors ir EuroPython vis dar yra antra pagal dydį Python konferencija, bet core ešalonas ją jau aplenkia.

O ir pranešimų core programuotojai beveik neskaitė. Aš šiaip nesu tikras dėl to žodžio "beveik" reikalingumo. Gali būti, kad nei vienas core Python programuotojas neskaitė jokio pranešimo EuroPython konferencijoje.

EuroPython po truputį tampa bėdžių europiečių konferencija bėdžiams europiečiams.

Klijų kalba


Iš visų kalbų labai pranešimų ir nuotaikų aplinkui panašu, kad Python'as po truputį tampa absoliučiai klijuojančia programavimo kalba (glue language). T.y. kalba, kuria Python visą laiką reklamavosi, kad yra.

Python visur naudojamas kažką su kažkuo surišti ir sujungti. Pvz.: TensorFlow (https://en.wikipedia.org/wiki/TensorFlow) Machine Learning įrankis, kur po apačia sukasi galingasis C++ ir CUDA, o paviršiuje yra patogus Python API, kad lengvai galėtum jį prikergti kur tau bereikia.

Hmmmmm... Šiaip kuo toliau, tuo labiau į Python Web karkasus (framework) galima žiūrėti kaip į klijuojamo (glue) principo panaudojimą. Nes šiais laikas Python darbas iš esmės yra suklijuoti/sujungti DB (Pvz.: PostgreSQL) su kažkokiu UI (SPA ar mobili aplikacija) per kažkokį API.

Async IO, Python 3


Anksčiau būdavo jaučiama tokia mintis "Įdomu, ar Python3 prigis?". Po kiek laiko buvo jaučiama tokia mintis "Įdomu, ar Async IO prigis?". Panašu, kad tiek Async IO, tiek Python 3 jau prigijo ir gyvuos.

Dėl Python 3 -- gerai, dėl Async IO -- aš asmeniškai nelabai patenkintas. Papildoma leksinė kompleksija, kai visą tai buvo galima atlikti esama sintakse (Žėti: Twisted, Greelet, Tornado)

O kas panašu, kad neįgauna pagreičio tai tipų anotacijos (http://mypy-lang.org/).

Perklausytos kalbos


A Python for Future Generations

https://ep2017.europython.eu/conference/talks/a-python-for-future-generations

Šiaip visai gera pabumbėjimo kalba. Maždaug, mažai kas gerai ir daug kas blogai. Ir ką reiktų keisti. Bet be jokio plano, kaip keisti, kada keisti. Tik kodėl reikia keisti.

Protocols and Practices enforcing in Python through bytecode and inspection

https://ep2017.europython.eu/conference/talks/protocols-and-practices-enforcing-in-python-through-bytecode-and-inspection

Turbogears 2 autoriui nepatinka, kad žmonės ima ir pridirba bilen kokių nesąmonių su jo sukurtu įrankiu. Tada ateina pas jį ir sako jam, kad jo įrankiai yra sugedę.

Tai ši kalba apie tai, kaip apsaugoti pačius vartotojus nuo kojos persišovimo. Galvojate, kad siūlo naudoti assert, if ir visokias metaclass magija. O ne -- čia kapsto dar giliau ir siūlo knaisiotis po patį kodo medį ir ten tikrinti, ar jo kodas "teisingai" iškviestas.

https://docs.python.org/3/library/inspect.html

2 + 2 = 5: Monkey-patching CPython with ctypes to conform to Party doctrine

https://ep2017.europython.eu/conference/talks/2-2-5-monkey-patching-cpython-with-ctypes-to-conform-to-party-doctrine

Įdomus pranešimas, kaip naudojant ctypes programos vykdymo eigoje keisti bitinį kodą į savo kodą. Rekomenduoju -- čia geras pranešimas.

Bringing Python to Godot game engine

https://ep2017.europython.eu/conference/talks/bringing-python-to-godot-game-engine

Apie tai, kaip bandė Python pritempti prie Godot žaidimų variklio. Įdomu gali būti nebent tiems, kas domisi žaidimų programavimu.

Debugging in Python 3.6: Better, Faster, Stronger

https://ep2017.europython.eu/conference/talks/debugging-in-python-36-better-faster-stronger

JetBrains programuotoja pasakojo, kaip galima pasirašyti greitą debuger'į

Panašiai, kaip 2 + 2 = 5 pranešime naudojo ctypes ir įterpinėjo į bitų kodą savo erezijas, kad gautų daugiau greičio. Tik šitam pranešime mažiau magijos, o daugiau aiškumo.

Rekomenduoju šį pranešimą.

https://docs.python.org/3/library/dis.html
https://www.python.org/dev/peps/pep-0523/

Bitcoin and Blockchain for Pythoneers

https://ep2017.europython.eu/conference/talks/bitcoin-and-blockchain-for-pythoneers

Buvo žiauriai nuobodu ir nieko neatsimenu.

AAA Games with Unreal Engine 4 and Python

https://ep2017.europython.eu/conference/talks/aaa-games-with-unreal-engine-4-and-python

Žmogus sugebėjo įkergti Python į Unreal 4 žaidimų varikliuką. Realiai pačiuose žaidimuose nerekomenduoja naudoti. Bet rekomenduoja naudoti kaip klijuojantį įrankį, kad būtų lengviau bendrauti su kitais žaidimų kūrimo paketais. Pavyzdžiui: Maya.

GPU Acceleration of a Global Atmospheric Model using Python based Multi-platform

https://ep2017.europython.eu/conference/talks/gpu-acceleration-of-a-global-atmospheric-model-using-python-based-multi-platform

Labiau priminė kažkokio mokslinio laipsnio gynimą kažkokia labai siaura tema.

Pirmos dienos "Lightning Talks"

Nieko įdomaus nebuvo

How to create inspiring data visualizations?

https://ep2017.europython.eu/conference/talks/how-to-create-inspiring-data-visualizations

Kažko svarbaus ir ypač įžvalgaus nepapasakojo. Bet rodė gražius paveiksliukus ir gražias vizualizacijas, tai man patiko, nes man patinka gražūs paveiksliukai.

Write more decorators (and fewer classes)

https://ep2017.europython.eu/conference/talks/write-more-decorators-and-fewer-classes

Bandė išplaukti ant šito pranešimo ("Stop Writing Classes") šlovės:
https://www.youtube.com/watch?v=o9pEzgHorH0

Bet labai dar toli iki ano gerumo.

Abstract Base Classes: a smart use of metaclasses

https://ep2017.europython.eu/conference/talks/abstract-base-classes-a-smart-use-of-metaclasses

Kažkokios keistenybės. Vienintelė idėja, kurią pasigavau, tai kad gali bet kokią klasę priregistruoti prie bet kurios collections abstrakcijos.

>>> import collections
>>> class Foo: pass
...
>>> collections.Awaitable.register(Foo)

>>> isinstance(Foo(), collections.Awaitable)
True



Why you don't need design patterns in Python?

https://ep2017.europython.eu/conference/talks/why-you-dont-need-design-patterns-in-python

Jaunimas burnoja and Design Pattern. Jaunimas nesupranta. Jaunimas turbūt net nedaskaitė knygos iki tokio šablono pavadinimu "Interpreter". Būtų išsitaškę smegenys jaunimui.

There should be one obvious way to bring python into production

https://ep2017.europython.eu/conference/talks/there-should-be-one-obvious-way-to-bring-python-into-production

Šiaip sau.

Feeding a real-time user interface

https://ep2017.europython.eu/conference/talks/feeding-a-real-time-user-interface

Kaip žmonės išrado, kad nereikia klientams siuntinėti visų pokyčių kaip atskirų elementų. O galima paimti visus keitimus, juos akumuliuoti ir siųsti klientui tik tą akumuliaciją.

Šiaip įdomi visai kalba. Tiesa, labai vidutiniškai įdomi.

https://docs.python.org/3/library/difflib.html

Nelabai susiję (tik biški), bet siūlau pasižiūrėti šitą pranešimą:
https://www.youtube.com/watch?v=V6DKjEbdYos

Making Games with Python: Mission Impossible?

https://ep2017.europython.eu/conference/talks/making-games-with-python-mission-impossible

Tokia klišinė diskusija. Atsakymas: jo -- įmanoma, bet neverta.

Antros dienos "Lightning Talks"

Nelabai įdomu. Patiko, tik šitas PEP'as:
https://www.python.org/dev/peps/pep-0394/

Call a C API from Python becomes more enjoyable with CFFI

https://ep2017.europython.eu/conference/talks/call-a-c-api-from-python-becomes-more-enjoyable-with-cffi

Naujas (nevisai, bet mažai dar žinomas), super paprastas ir rekomenduotinas būdas, kaip C kodą susieti su Python.

https://cffi.readthedocs.io/en/latest/

How CPython parser works, and how to make it work better

https://ep2017.europython.eu/conference/talks/how-cpython-parser-works-and-how-to-fix-it

Pats kažkada susidūriau su panašia problema. Python negali paleisti štai tokio kodo:

foo = (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + (2 + 2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
print(foo)

Tiesiog miršta interpretatorius. Tai čia netiesiogiai paaiškina kodėl.

Writing code? Pfft... Evolve it instead!

https://ep2017.europython.eu/conference/talks/writing-code-pfft-evolve-it-instead

Pranešimas kaip automatiškai generuoti programinį kodą. Naudojo BrainFuck, nes
ano labai paprasta sintaksė.

Green threads in Python

https://ep2017.europython.eu/conference/talks/green-threads-in-python

Paėmė greenlet ir paėmė Async IO ir tik su dideliu kiekiu hack'ų tesugebėjo pritemti Async IO greitį prie greenlet rezultatų. Bet išvada vis tiek buvo, kad Async IO yra labai gerai. Hmmm...

https://greenlet.readthedocs.io/en/latest/

Rendering complex 3D-Geodata using pyRT

https://ep2017.europython.eu/conference/talks/rendering-complex-3d-geodata-using-pyrt

Šiaip sau.

Realtime Distributed Computing At Scale (in pure Python!): Storm And Streamparse

https://ep2017.europython.eu/conference/talks/realtime-distributed-computing-at-scale-in-pure-python-storm-and-streamparse

Labai gražus ir tvarkingas pranešimas apie tai kaip Parse.ly naudoja Apache Storm.

http://storm.apache.org/

How to make money with your Python Open-Source Project

https://ep2017.europython.eu/conference/talks/how-to-make-money-with-your-python-open-source-project

Vienas geriausių konferencijos pranešimų. Kaip uždirbti pinigų iš ne mega populiarių atviro kodo projektų. Pasirodo įmanoma.

Trečiadienio "Lightning Talks"

Vienintelė įdomi biblioteka apie kurią sužinojau tai objgraph. Ji parodo objektų tarpusavio ryšius (references) grafiniu pavidalu. Originaliai skirta gaudyti atminties nutekėjimą (memory leaks).

https://mg.pov.lt/objgraph/

The Different Roads We Take

https://ep2017.europython.eu/conference/talks/the-different-roads-we-take

Turėjusi būti įkvepianti kalba. Bet aš per didelis savo bezdaluose paskendęs/užsiuostęs cinikas, kad mane įkvėptų. Plius, pačioje pranešimo pradžioje padarė standartinę klaidą, kad sumaišė kompiuterių mokslą (eee... mokslą) su programavimu (amatu). Ir atseit, jeigu tau nesisekė kompiuterių mokslas, tai vis tiek gali būti programuotojas (Eeeee... Nu nes skirtingi dalykai).

Type Annotations in Python 3: Whats, whys & wows!

https://ep2017.europython.eu/conference/talks/type-annotations-in-python-3-whats-whys-wows

Vienintelis pranešimas visoje savaitės ilgio konferencijoje apie tipų anotacijas. Nepanašu, kad Python pasaulyje tipai stipriai įsigalėja. Toks labai įvadinis pranešimas.

Network visualization and automation

https://ep2017.europython.eu/conference/talks/network-visualization-and-automation-with-python

Šiaip tai turėjo būti gal ir įdomus pranešimas, bet sugedo projektorius ir kaip ir nebuvo niekas užbaigta.

Cloud Native Python in Kubernetes

https://ep2017.europython.eu/conference/talks/cloud-native-python-in-kubernetes

Iš pavadinimo turėtų būti įdomus ir savalaikis pranešimas. Bet nieko neatsimenu, tai gal ir neįdomus.

Bet pasižymėjau, kad pranešėjas atsiprašė už tai, kad naudoja "blogą" (anot jo) kodo rašymo stilių. O jį tokį naudoja, nes tas blogas stilius yra lengviau suprantamas ir lengviau skaitomas. O tai koks tada yra geras stilius? Sunkiau suprantamas ir nebeįskaitomas?

Tai čia toks mano nugrįbavimas į lankas.

Developing elegant workflows in Python code with Apache Airflow

https://ep2017.europython.eu/conference/talks/developing-elegant-workflows-in-python-code-with-apache-airflow

Įvadinis pranešimas į Apache Airflow. Čia biblioteka/sistema/karkasas prižiūrėti pagalbinėms užduotims (background tasks) vykdyti. Tos užduotys gali turėti sudėtingas hierarchijas ir dar daug ką skirtinga. Tai pats principas aiškus, bet iš pranešimo ne kaži ką atsimenu.

http://airflow.apache.org/

AI on a Pi

https://ep2017.europython.eu/conference/talks/ai-on-a-pi

Šiaip pavadinimas neišduoda, bet jis realiai buvo Amazon AI įrankių reklama. Pranešėjas geras ir tie įrankiai geri, tai visai patiko. Kad ir reklama.

https://aws.amazon.com/polly/
https://aws.amazon.com/rekognition/
http://mxnet.io/

Practical Debugging - Tips, Tricks and Ways to think

https://ep2017.europython.eu/conference/talks/practical-debugging-tips-tricks-and-ways-to-think

Pranešimas pradedantiesiems. Bet buvo įdomių dalykų. Pavyzdžiui nežinojau, kad yra toks reikalas:


from ipdb import launch_ipdb_on_exception
with launch_ipdb_on_exception():

Ir geriausias patarimas. Jeigu turi problemą su kodu, tai eik ir kam nors apie tai papasakok. Bepasakojant suprasi, kame bėda.

Best Practices for Code Reviews

https://ep2017.europython.eu/conference/talks/best-practices-for-code-reviews

Kažkaip nelabai atsimenu gerų patarimų. Standartinis: kritikuok kodą, o ne programuotoją.

Introduction to TensorFlow

https://ep2017.europython.eu/conference/talks/introduction-to-tensorflow

Kažkaip neįstrigo. Gal dėl to, kad neįspūdingas pranešimas. Gal dėl to, kad jau galvelė nebeveikė.

Large-scale data extraction, structuring and matching using Python and Spark

https://ep2017.europython.eu/conference/talks/large-scale-data-extraction-structuring-and-matching-using-python-and-spark

Kaip naudojo Apache Spark ir kaip dėl to jiems gerai sekėsi. Man tai neįdomu buvo.

Overcoming Cognitive Bias

https://ep2017.europython.eu/conference/talks/overcoming-cognitive-bias

Paskutinį laiką išdeginau vienam vieninteliam per visą konferenciją "diversity" pranešimui. Ir tas nei kažko naujo papasakojo, nei juokingas, nei pernelyg absurdiškas.

Penktos dienos "Lightning Talks"

Šiaip nieko įdomaus nebuvo. Bet verta pasižiūrėti, kurį nors iš pirmų trijų dienų blitz pranešimų sesiją ir pasižiūrėti šitą. Anas vedė profesionalus vedėjas. Šitą geros valios kupini mėgėjai. O vargeli, kaip visą salę buvo apėmęs svetimos gėdos jausmas.