Pykonik - Kraków Python Users Grouphttp://www.pykonik.org/spotkania/2024-03-28T17:29:24.960485+01:00Tech Talks #69 - 18:00, czwartek, 04.04.2024
2024-03-28T17:29:24.960485+01:00http://www.pykonik.org/tech-talks/69/<h1>Tech Talks #69 - 18:00, czwartek, 04.04.2024</h1>
<h2>Miejsce</h2>
<p>Politechnika Krakowska (budynek Działownia), ul. Warszawska 24</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>GIL: What's the hassle and... should I care? - <a href="https://kolodziejj.info" target="_blank">Jacek Kołodziej</a></h3>
<p>GIL often appears as a scary, obscure <em>gizmo</em>. Misunderstanding of this aspect of Python may lead to <em>suboptimal architectural choices</em>. I invite you to see my attempt at explaining the GIL and its implications, as well as providing pointers for <strong>how to deal with the GIL</strong> in specific situations. </p>
<p>There have been (and still are), of course, attempts to get around the GIL - or <em>get rid of it</em> altogether. I hope to give some light to these works.</p>
<p>By providing a comprehensive overview of today's GIL in CPython, this presentation aims to help make <strong>better design choices</strong> - be it choosing a concurrency/parallelism model, Python implementation to use - or even whether or not to drop Python entirely.</p>
</li>
<li>
<h3>TBA - Robert Urbańczyk</h3>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://clug.space/" target="_blank">CLUG</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/69/">www.pykonik.org/tech-talks/69/</a></p>
Tech Talks #68 - 18:00, czwartek, 29.02.2024
2024-02-27T07:28:20.337987+01:00http://www.pykonik.org/tech-talks/68/<h1>Tech Talks #68 - 18:00, czwartek, 29.02.2024</h1>
<h2>Miejsce</h2>
<p>Politechnika Krakowska (budynek Działownia), ul. Warszawska 24</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>How do clouds work (on the OpenStack example)? - <a href="https://gcore.com/" target="_blank">Mateusz Juściński</a></h3>
<p>A few years ago, the top selling point of any IT-related product was: “It works in the cloud.” Years are passing, buzzwords are changing, and clouds are no longer “new exciting thing” but more “everyday life.” Despite these changes, we still use clouds but don’t understand how they work. Mateusz Juściński will present the OpenStack project during this talk and show how a small part of “cloud computing” works.</p>
</li>
<li>
<h3>Spreadsheet Madness - <a href="https://github.com/arturraczka" target="_blank">Artur Rączka</a></h3>
<p>Arkusze kalkulacyjne mają ogromne możliwości i można z nich bardzo dużo wycisnąć. A czasami nawet zbyt dużo...</p>
<p>Chcę zaproponować społeczności Pykonika humorystyczną prezentację o projekcie, nad którym pracuję od września '23. Tworzę apkę dla lokalnej organizacji, która od 13 lat funkcjonuje na arkuszach Google. System, jaki powstał przez te lata, urósł do wręcz absurdalnego poziomu skomplikowania. W ramach poszerzania swojego portfolio podjąłem się przeniesienia logiki tego systemu do apki w Django. Prezentacja będzie o Django-success-story, inspiracją dla młodych deweloperów i rozrywką dla starszych. Projekt jest w końcowej fazie developmentu i planujemy rozpocząć wdrażanie w styczniu tego roku. </p>
<p>Repo i opis projektu:
https://github.com/arturraczka/WKS</p>
<p>Kilka screenshotów:
<a href="https://postimg.cc/7Cm3WDyh">arkusz-3.png</a>
<a href="https://postimg.cc/sQPrrnwM">arkusz-1.png</a>
<a href="https://postimg.cc/jwx8DZRw">arkusz-2.png</a></p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://clug.space/" target="_blank">CLUG</a></li>
<li><a href="https://gcore.com/" target="_blank">Gcore</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/68/">www.pykonik.org/tech-talks/68/</a></p>
Tech Talks #67 - 18:30, czwartek, 30.11.2023
2024-02-09T21:08:25.747276+01:00http://www.pykonik.org/tech-talks/67/<h1>Tech Talks #67 - 18:30, czwartek, 30.11.2023</h1>
<h2>Miejsce</h2>
<p>Centrum Informatyki, AGH, D-17, Kawiory 21, Kraków</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Jak pożenić Django z FastAPI - Robert Urbańczyk</h3>
<h6>Bridging the Gap: Merging FastAPI and Django</h6>
<ul>
<li>Brief overview of FastAPI and Django.</li>
<li>Highlight the strengths of each framework.</li>
<li>Emphasize the potential benefits of combining them.</li>
</ul>
<h6>The Power of Synergy</h6>
<ul>
<li>Performance meets Feature-rich: FastAPI's high performance and automatic API documentation combined with Django's feature-rich web framework.</li>
<li>Unified Development: Streamlined development process with a cohesive structure.</li>
<li>Web Applications: Highlight Django's capabilities in building web applications with its ORM, authentication, and templating system.</li>
</ul>
<h6>Benefits</h6>
<ul>
<li>Performance Boost: Harness FastAPI's asynchronous capabilities for faster API responses.</li>
<li>Code Reusability: Share code between API and web components where applicable.</li>
<li>Admin Panel: Utilize Django's admin panel for easy content management.</li>
<li>Consistent Naming: Maintain a consistent naming convention for endpoints and views.</li>
<li>Documentation: Keep documentation up to date for both FastAPI and Django components.</li>
</ul>
</li>
<li>
<h3>Rust-ifying Python: A Deep Dive into Performance Nirvana! - <a href="https://github.com/nikoshell" target="_blank">Marcin Wierzbanowski</a></h3>
<p>We combine Rust and Python to achieve the highest performance by taking advantage of the best features of both programming languages. This is an introduction to seamless integration with PyO3 and Maturin <https://maturin.rs></p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://clug.space/" target="_blank">CLUG</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://knbit.edu.pl/" target="_blank">Koło Naukowe BIT</a></li>
<li><a href="https://sunscrapers.com/" target="_blank">Sunscrapers</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/67/">www.pykonik.org/tech-talks/67/</a></p>
Tech Talks #66 - 18:30, czwartek, 26.10.2023
2023-11-11T15:01:56.751858+01:00http://www.pykonik.org/tech-talks/66/<h1>Tech Talks #66 - 18:30, czwartek, 26.10.2023</h1>
<h2>Miejsce</h2>
<p>Centrum Informatyki, AGH, D-17, Kawiory 21, Kraków</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Make decompilation of Python great again - <a href="https://www.pkusinski.com/" target="_blank">Paweł Kusiński</a></h3>
<p>What should you do if you're given a random bytecode from the latest Python version, which may not be supported by existing decompilers, and you're too lazy to read disassembled code?
This lightning talk discusses how I successfully decompiled Python 3.10 when there were no decompilers available for it. This method is particularly useful when time is of the essence, such as during a Capture The Flag (CTF) competition, where this technique was originally employed.</p>
</li>
<li>
<h3>Logging without f-strings is fine! - Piotr Gnus</h3>
<p>As you know, logging module in python supports % formatting out of the box (internally), but doesn't support any modern string formatting methods. </p>
<p>I'll show you why it's actually not a problem, and you shouldn't format it on your own before passing it to the logging module.</p>
<p>You'll also learn how to improve your logs, especially in an instrumented environment, or simply when you have any log collecting service.</p>
</li>
<li>
<h3>LangChain / LangSmith - <a href="https://linkedin.com/in/kompas" target="_blank">Piotr Piątkowski</a></h3>
<p>Biblioteka LangChain znacząco ułatwia pisanie aplikacji korzystających z AI a w szczególności modeli językowych (LLM). Dodatkowo jest ona zintegrowana z narzędziem LangSmith, które pozwala logować wszystkie akcje wykonywane przez naszą aplikację, a następnie wykonywać ich analizę. Na swojej prezentacji chciałbym pokazać jak można korzystać z obu narzędzi przy rozwoju projektu, nad którym obecnie pracuję - chat bota odpowiadającego na pytania dotyczącego aplikacji LogZilla.</p>
</li>
<li>
<h3>Big Refactoring Story - Mikołaj Nowak</h3>
<p>Have you ever worked with legacy code? Have you ever tried to refactor it? Have you ever failed to buy time or to do real improvement with such refactor?</p>
<p>I'll share with you our story, where we not only managed to do some refactor, but also we managed to do it in 7 devs in parallel, delivering continuously to QAs, fix some bugs, and avoid introducing new ones! And after a year we still like the results of our work.</p>
</li>
<li>
<h3>Open Source LLMs - Adrianna Tokarska</h3>
<p>At present, an increasing number of Open Source LLMs (Large Language Models) with substantial capabilities are emerging. In my presentation, I aim to mention a few exemplary models, discuss their pros and cons, and offer practical tips for running these models on your local machine.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://clug.space/" target="_blank">CLUG</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://knbit.edu.pl/" target="_blank">Koło Naukowe BIT</a></li>
<li><a href="https://www.spoton.com" target="_blank">SpotOn</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/66/">www.pykonik.org/tech-talks/66/</a></p>
Tech Talks #65 - 18:00, środa, 28.06.2023
2023-10-23T01:07:23.646593+02:00http://www.pykonik.org/tech-talks/65/<h1>Tech Talks #65 - 18:00, środa, 28.06.2023</h1>
<h2>Miejsce</h2>
<p>Politechnika Krakowska (budynek Działownia), ul. Warszawska 24</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Linux on personal devices, where we are now - sleep_tight _</h3>
</li>
<li>
<h3>The curious case of (not) removing files on Linux (& maybe others) - <a href="https://disconnect3d.pl/" target="_blank">Dominik Czarnota</a></h3>
</li>
<li>
<h3>5 things I wish I knew about Gitlab CI - <a href="https://switowski.com/" target="_blank">Sebastian Witowski</a></h3>
</li>
<li>
<h3>Few Shot Learning or: How I Learned to Stop Worrying and Love the Metric Spaces - Maciej Majewski</h3>
</li>
<li>
<h3>Real-time Monitoring of Production ML Models with Kafka and Faust - Hubert Bryłkowski</h3>
</li>
<li>
<h3>How to train LLMs on a single gpu? - Quantized Low Rank Adaptation (QLoRA) - Mateusz Opala</h3>
</li>
<li>
<h3>What does Starlette really do for FastAPI? - Marcelo Trylesinski</h3>
</li>
<li>
<h3>Walidacja i constrainty w Django - Michał Dulęba</h3>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://clug.space/" target="_blank">CLUG</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/65/">www.pykonik.org/tech-talks/65/</a></p>
Tech Talks #64 - 18:00, czwartek, 25.05.2023
2023-10-23T01:07:10.909479+02:00http://www.pykonik.org/tech-talks/64/<h1>Tech Talks #64 - 18:00, czwartek, 25.05.2023</h1>
<h2>Miejsce</h2>
<p>SpotOn Kraków, al. 29 Listopada 20</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Hacks around python magic methods and import system - Oleg Szydłowski</h3>
<p>I will talk about python magic methods and import system. Show some examples of how it can be used for something more, than what described in python documentation. Along the way I will touch some internals of the import system and how to extend it's behaviour for your needs.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://clug.space/" target="_blank">CLUG</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://www.spoton.com" target="_blank">SpotOn</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/64/">www.pykonik.org/tech-talks/64/</a></p>
Tech Talks #63 - 18:00, czwartek, 27.04.2023
2023-10-23T01:06:55.032648+02:00http://www.pykonik.org/tech-talks/63/<h1>Tech Talks #63 - 18:00, czwartek, 27.04.2023</h1>
<h2>Miejsce</h2>
<p>Politechnika Krakowska (budynek Działownia), ul. Warszawska 24</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Revolutionizing Software Engineering: Leveraging LLMs for Enhanced Prototyping and Reasoning - Prince Canuma</h3>
<p>Prince Canuma an ML and software engineer examines the impact of Large Language Models (LLMs) on software development process. This talk explores LLMs as prototyping and reasoning engines, highlighting their benefits and ethical considerations. Discover how LLMs can reshape the future of software engineering and drive innovation in the field.</p>
</li>
<li>
<h3>Lightning Talks by disconnect3d - <a href="https://disconnect3d.pl/" target="_blank">Dominik Czarnota</a></h3>
<p>Disconnect3d will talk about:</p>
<ul>
<li>"18th Windows Conference", or rather, how you could deface one of conference websites<br></li>
<li>Interesting Postgresql replication bug from "Collector" task from PlaidCTF 2023</li>
<li>A bit about faster Python in CPython 3.11</li>
<li>How environment variables work, and why hiding them with os.environ['API_KEY'] = '<strong>*</strong>*' doesn't make much sense</li>
</ul>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.affirm.com/" target="_blank">Affirm</a></li>
<li><a href="https://clug.space/" target="_blank">CLUG</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/63/">www.pykonik.org/tech-talks/63/</a></p>
Tech Talks #62 - 18:00, czwartek, 30.03.2023
2023-10-23T01:06:35.092725+02:00http://www.pykonik.org/tech-talks/62/<h1>Tech Talks #62 - 18:00, czwartek, 30.03.2023</h1>
<h2>Miejsce</h2>
<p>Politechnika Krakowska (budynek Działownia), ul. Warszawska 24</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Developer workflow with local tests using docker-compose - <a href="https://witchsoft.com/" target="_blank">Michał Bultrowicz</a></h3>
<p>Containers have revolutionized many aspects of software development. In particular - testing.</p>
<p>Testing applications with the same data bases (e.g. Postgres, Redis), queues (e.g. Kafka), etc.
that they'll rely on in production grants a substantially higher degree of confidence in the software,
than tests with mocks or in-memory fakes of real connectors.</p>
<p>In this presentation I'll show how I use docker-compose for local running and testing of the app being developed.
How to adjust the code and set the configuration to make your work faster, ease on-boarding of new team members,
and, above all, to increase the quality.
The presented techniques emerged from working on a couple projects across the last 5 years.</p>
<p>The example code will be a Python back-end app, but the techniques will apply in other programming languages,
and not only for back-end applications.</p>
<p>The presentation assumes at least a passing familiarity with Docker and docker-compose.</p>
</li>
<li>
<h3>Ma 100% pokrycia kodu i pisze MNIEJ testów! [ZOBACZ JAK] - <a href="http://breadcrumbscollector.tech" target="_blank">Sebastian Buczyński</a></h3>
<p>Wokół code coverage i wymuszania w kodzie określonego poziomu pokrycia narosło wiele mitów. Z pewnością można popsuć sobie w ten sposób przyjemność z kodowania i dorobić sporo głupiej roboty, ale można też wykorzystać je dla większej produktywności czy poczucia większej kontroli i łatwiejszego wchodzenia we flow.</p>
<p>W tej prezentacji podyskutujemy o strategii testowania i procesie rozwijania kodu, który świetnie komponuje się z 100% pokryciem kodu i nie zostawia złych wspomnień.</p>
<p>Przyjdź koniecznie, jeśli uważasz pisanie testów za smutny obowiązek.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://deployed.pl" target="_blank">Deployed.pl</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/62/">www.pykonik.org/tech-talks/62/</a></p>
Tech Talks #61 - 18:00, czwartek, 23.02.2023
2023-10-23T01:06:02.924626+02:00http://www.pykonik.org/tech-talks/61/<h1>Tech Talks #61 - 18:00, czwartek, 23.02.2023</h1>
<h2>Miejsce</h2>
<p>Politechnika Krakowska (budynek Działownia), ul. Warszawska 24</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Embedded Python - Vladimir Mitiouchev</h3>
<p>For years, embedded programming was perceived as difficult, and required knowledge of C and sometimes assembly. Nowadays, we can not only have simpler C with Arduino, but also high-level languages like JavaScript and Python. In this lecture, we will start our adventure with embedded programming in Python on popular platforms: Raspberry Pico (not Raspberry Pi!) and Espressif ESP32, and we will answer a few questions:
- What is the difference between MicroPython and CircuitPython?
- How to run the I2C bus?
- Which PULL for Hall sensor?
And a lot more!</p>
</li>
<li>
<h3>Testy mutacyjne - Łukasz Chojnacki</h3>
</li>
<li>
<h3>DVC - Vladyslav Fedoriuk</h3>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://clug.space/" target="_blank">CLUG</a></li>
<li><a href="https://deployed.pl" target="_blank">Deployed.pl</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/61/">www.pykonik.org/tech-talks/61/</a></p>
Tech Talks #60 - 19:00, czwartek, 26.01.2023
2023-10-23T01:05:45.860701+02:00http://www.pykonik.org/tech-talks/60/<h1>Tech Talks #60 - 19:00, czwartek, 26.01.2023</h1>
<h2>Miejsce</h2>
<p>SpotOn Kraków, al. 29 Listopada 20</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Caching w mikroserwisach - Michał Lowas-Rzechonek</h3>
<p>W programowaniu są tylko dwa trudne problemy: wymyślanie nazwy, inwalidacja cache i błędy o jeden.</p>
<p>Zajmę się tylko inwalidacją cache. Weżmy API webowe zrobione w modnych mikroserwisach: na froncie stoi API Gateway czy inny Backend For Frontend, a z tyłu milion serwisów backendowych, każdy ze swoją bazą danych. Wszystko gada ze sobą po HTTP.</p>
<p>Jak w takiej architekturze zrobić cache? Co i kiedy inwalidować? Co z logiką biznesową która nie bardzo mapuje się na CRUD?</p>
<p>Będzie live coding.</p>
</li>
<li>
<h3>Packaging Python Projects in 2023 - Piotr Gnus</h3>
<p>There was a great disturbance in the field of packaging in Python. Let's go together with all the changes and see how they benefit us. I'll explain how to approach packaging in modern days, what tools are available and why this change was necessary and if it's good or not.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://clug.space/" target="_blank">CLUG</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://www.spoton.com" target="_blank">SpotOn</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/60/">www.pykonik.org/tech-talks/60/</a></p>
Tech Talks #59 - 19:00, czwartek, 24.11.2022
2023-10-23T01:05:21.354054+02:00http://www.pykonik.org/tech-talks/59/<h1>Tech Talks #59 - 19:00, czwartek, 24.11.2022</h1>
<h2>Miejsce</h2>
<p>Techie's, Na Zjeździe 11</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Managing ML models made properly - Karol Przystalski</h3>
<p>During the talk, I show how to make machine learning for real. Many companies are currently interested in AI, but many do just research or use the models in a very limited way. Not so many use complex models in production. Recently MLOps became a buzzword and I show how to manage your machine learning models and deploy them properly to production. I give an overview of the open-source and commercial tools for building, managing, and deploying models locally and in the cloud. You can expect Python code examples of artificial and real cases.</p>
</li>
<li>
<h3>Gimme my money - Michał Lowas-Rzechonek</h3>
<p>Python jest podobno dobry w liczby, a giełda to też liczby, więc może dałoby się zrobić automat do zarządzania portfelem inwestycyjnym?</p>
<p>Projekt jest hobbystyczny, więc zaimplementowany jest w "interesujący" sposób ;)
- UI to django admin (i tylko django admin)
- obliczenia wykonuje PostgreSQL (window functions!)
- dane importujemy z CSV (dziękuję, bossa.pl)
- workery stoją na zeromq (bo komu chce się stawiać brokera)
- wykresy rysuje javascript i websockety</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://clug.space/" target="_blank">CLUG</a></li>
<li><a href="https://codete.com/" target="_blank">Codete</a></li>
<li><a href="https://talixo.com/" target="_blank">Talixo</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/59/">www.pykonik.org/tech-talks/59/</a></p>
Coding Dojo #16 - 18:30, czwartek, 17.11.2022
2022-11-05T17:58:52.705977+01:00http://www.pykonik.org/coding-dojo/16/<h1>Coding Dojo #16 - 18:30, czwartek, 17.11.2022</h1>
<h2>Miejsce</h2>
<p>Printbox, al. 29 Listopada 20</p>
<h2>Agenda</h2>
<ul>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://getprintbox.com/" target="_blank">Printbox</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/coding-dojo/16/">www.pykonik.org/coding-dojo/16/</a></p>
Tech Talks #58 - 19:00, czwartek, 03.11.2022
2023-10-23T01:04:58.907841+02:00http://www.pykonik.org/tech-talks/58/<h1>Tech Talks #58 - 19:00, czwartek, 03.11.2022</h1>
<h2>Miejsce</h2>
<p>SpotOn Kraków, al. 29 Listopada 20</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Secure your Python code with fuzz testing - <a href="https://disconnect3d.pl/" target="_blank">Dominik Czarnota</a></h3>
<p>In this lecture we will be talking about fuzz testing, a process for finding bugs in your code which may also be security vulnerabilities.</p>
<p>If you are using property-based testing with Hypothesis, this means that you are already fuzzing your code. But we aren't going to talk about Hypothesis here, or, at least not much.</p>
<p>We will start with what fuzzing is and where does it come from and then we will learn about Atheris, a coverage guided fuzzer for Python and CPython extensions code. We will look how and what for others use it to see how we can leverage it to test our code better.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://clug.space/" target="_blank">CLUG</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://www.spoton.com" target="_blank">SpotOn</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/58/">www.pykonik.org/tech-talks/58/</a></p>
Open Spaces #11 - 19:00, czwartek, 29.09.2022
2022-09-25T21:24:04.365773+02:00http://www.pykonik.org/open-spaces/11/<h1>Open Spaces #11 - 19:00, czwartek, 29.09.2022</h1>
<h2>Miejsce</h2>
<p>SpotOn Kraków, al. 29 Listopada 20</p>
<h2>Agenda</h2>
<ul>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://www.spoton.com" target="_blank">SpotOn</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/open-spaces/11/">www.pykonik.org/open-spaces/11/</a></p>
Tech Talks #57 - 19:00, czwartek, 30.06.2022
2023-10-23T01:03:15.512390+02:00http://www.pykonik.org/tech-talks/57/<h1>Tech Talks #57 - 19:00, czwartek, 30.06.2022</h1>
<h2>Miejsce</h2>
<p>SpotOn Kraków, al. 29 Listopada 20</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Web framework of the month: FastAPI - Michał Lowas-Rzechonek</h3>
<p>Django już podobno nie jest modne, za to modne są mikroserwisy. Na prelekcji opowiem jak poskładać apkę wystawiającą API za pomocą kolejnego modnego narzędzia: FastAPI.</p>
<p>Przy okazji poruszę temat zmiennych kontekstowych (i czemu przydają się w mikroserwisach) i asynchronicznego ORM.</p>
</li>
<li>
<h3>Serverless computing in Google Cloud Platform - Szymon Cader</h3>
<p>Coraz częściej przy projektowaniu aplikacji bierze się pod uwagę to, żeby mogły być uruchamiane w środowiskach skonteneryzowanych czy też serverless. W tym kontekście często przewijają pojęcia takie jak Docker, Kubernetes, AWS Lambda, AWS ECS itp.
A jak realizuje to podejście chmura Google'a?
Czy można w prosty, efektowny i tani sposób zdeployować naszą aplikację w środowisku GCP?
Na prezentacji skupię się na jednej z usług udostępnianych przez Google'a. Opowiem o jej zaletach, wadach, a także wyzwaniach związanych z hostowaniem aplikacji w środowisku serverless.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://clug.space/" target="_blank">CLUG</a></li>
<li><a href="https://deployed.pl" target="_blank">Deployed.pl</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://www.spoton.com" target="_blank">SpotOn</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/57/">www.pykonik.org/tech-talks/57/</a></p>
Coding Dojo #15 - 18:30, czwartek, 02.06.2022
2022-05-24T19:00:23.730713+02:00http://www.pykonik.org/coding-dojo/15/<h1>Coding Dojo #15 - 18:30, czwartek, 02.06.2022</h1>
<h2>Miejsce</h2>
<p>Printbox, al. 29 Listopada 20</p>
<h2>Agenda</h2>
<ul>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://getprintbox.com/" target="_blank">Printbox</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/coding-dojo/15/">www.pykonik.org/coding-dojo/15/</a></p>
Tech Talks #56 - 19:30, czwartek, 24.02.2022
2023-10-23T01:02:42.018199+02:00http://www.pykonik.org/tech-talks/56/<h1>Tech Talks #56 - 19:30, czwartek, 24.02.2022</h1>
<h2>Miejsce</h2>
<p>SpotOn Kraków, al. 29 Listopada 20</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Broad crawling like a sir - Jakub Paczkowski</h3>
<p>In a career as a developer or data scientist, you'll encounter some kind of information scraping at some point. For simple use-cases, it's not that difficult. However, if your goal is to scrape a lot of data as quickly as possible and with a limited budget, things are getting more complicated. In this talk, I'll tell you the story of achieving precisely that- broad crawling without going bankrupt.</p>
</li>
<li>
<h3>Wyszukiwarka tekstowa w Django oparta na PostgreSQL - <a href="https://www.solvbot.pl/" target="_blank">Szymon Sobczak</a></h3>
<p>Wyszukiwarki tekstowe to szeroki temat, zaczynając w Django od <code>text__icontains</code>, a kończąc na dedykowanym indeksie Apache Lucene ze stemmingiem i rankingiem dopasowań.</p>
<p>Omówimy zasady działania, wady i zalety za kilku prostszych i bardziej skomplikowanych rozwiązań. Następnie wejdziemy głębiej w narzędzia dostępne w PostgreSQL - rodzaje indeksów, performance i ograniczenia. Pokażę wyniki benchmarków i kompletną implementację rozwiązania w (Django + Postgres), które dobrze sprawdza się u nas na produkcji.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://clug.space/" target="_blank">CLUG</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://programistamag.pl/" target="_blank">Magazyn Programista</a></li>
<li><a href="https://www.spoton.com" target="_blank">SpotOn</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/56/">www.pykonik.org/tech-talks/56/</a></p>
Tech Talks #55 - 19:00, czwartek, 25.11.2021
2022-01-06T19:06:54.773417+01:00http://www.pykonik.org/tech-talks/55/<h1>Tech Talks #55 - 19:00, czwartek, 25.11.2021</h1>
<h2>Miejsce</h2>
<p>Re, Świętego Krzyża 4</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>The magic of pyproject.toml - Piotr Gnus</h3>
<p>In this talk we'll learn why the pyproject.toml file format was created, what issues does it solve and what issues does it bring to the Python world. Is it good? Is it bad? We will find out!</p>
</li>
<li>
<h3>CPython bugs review - <a href="https://disconnect3d.pl/" target="_blank">Dominik Czarnota</a></h3>
<p>In this talk we will look into a few bug cases in CPython, some of which are still present and may impose a security risk for admins or organizations.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://clug.space/" target="_blank">CLUG</a></li>
<li><a href="https://deployed.pl" target="_blank">Deployed.pl</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/55/">www.pykonik.org/tech-talks/55/</a></p>
Tech Talks #54 - 19:00, czwartek, 17.12.2020
2020-12-18T13:28:05.348529+01:00http://www.pykonik.org/tech-talks/54/<h1>Tech Talks #54 - 19:00, czwartek, 17.12.2020</h1>
<h2>Miejsce</h2>
<p>, </p>
<h2>Agenda</h2>
<ul>
<li>
<h3>10 common mistakes with Kubernetes and containers - Christian Barra</h3>
<p>Kubernetes and containers are the building blocks of a modern cloud infrastructure and de-facto the standard for deploying, managing and orchestrating applications at scale.</p>
<p>How many things can go wrong? 💣</p>
<p>More than you can think about!</p>
<p>Let's take 30 minutes together to go trough 10 common mistakes on using Kubernetes and containers and how to avoid them.</p>
</li>
<li>
<h3>Exploration of Shells, Environments, and Packages - <a href="http://www.jaraco.com/" target="_blank">Jason R. Coombs</a></h3>
<p>In this informal, interactive talk, Jason walks through some of the highlights of his command-line experience:</p>
<ul>
<li>Introduction to <code>xonsh</code>, a Python-based shell inspired by bash. Have you ever wondered why you have two different languages when working with your default shell versus your Python shell? Ever pondered using Python as your main interactive shell? <code>xonsh</code> answers this question by providing a production-ready shell that's portable and re-uses the language constructs and libraries you've come to love. Jason shows off the shell and how it's integrated into his working environment.</li>
<li>Next, Jason introduces <code>pip-run</code> and <code>pipx</code>, two complementary tools for lightweight command-line tooling built on Python packages.</li>
<li>Finally, Jason will provide a quick update on the recent changes in the Python Packaging ecosystem around PEP 517 and 518, distutils, pkg_resources, and answer questions about packaging.</li>
</ul>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/54/">www.pykonik.org/tech-talks/54/</a></p>
Tech Talks #53 - 19:00, czwartek, 26.11.2020
2020-12-18T13:30:09.570390+01:00http://www.pykonik.org/tech-talks/53/<h1>Tech Talks #53 - 19:00, czwartek, 26.11.2020</h1>
<h2>Miejsce</h2>
<p>, </p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Python Versions and Dependencies Made Easy - <a href="http://switowski.com/" target="_blank">Sebastian Witowski</a></h3>
<p>Managing Python versions and dependencies can be painful. JavaScript developers have their "node_modules" folders, but we don't have "python_modules" (yet!) in Python. Instead, we have those mysterious virtual environments. And if you also want to switch between different Python versions, it can quickly turn into a mess.</p>
<p>It doesn't have to be that way. With a few simple tools and practices, you can easily tame Python and its dependencies. In this talk, I'm going to show you how to do this.</p>
<p>I will talk about:
- How to manage Python versions with pyenv and set different versions for a folder or a shell session?
- What are virtual environments, what's the difference between different tools (venv, virtualenvwrapper, conda, etc.), and how to use them?
- How to separate global packages with pipx (and why you should do this)
- Why you usually don't need pipenv, poetry, and other tools like that (and when they are actually useful)</p>
</li>
<li>
<h3>Is Agile only for extroverts? What’s your personaliteam? - <a href="http://opheliaautumn.com" target="_blank">Céline Boudier</a></h3>
<p>Do personality types affect people's engagement with specific ways of working in software engineering? Do introverts struggle with Agile methodologies? How can we get to know the team's personality and preferences so workflows can be even more adapted?
Hopefully this talk can help make people empathise with each other and build efficient processes that cater even more for the humans in it.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/53/">www.pykonik.org/tech-talks/53/</a></p>
Tech Talks #52 - 19:00, czwartek, 29.10.2020
2020-10-20T21:43:15.999649+02:00http://www.pykonik.org/tech-talks/52/<h1>Tech Talks #52 - 19:00, czwartek, 29.10.2020</h1>
<h2>Miejsce</h2>
<p>, </p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Good to the last drop: Writing robust Flask and Django Apps - <a href="http://semgrep.dev" target="_blank">Clara McCreery</a></h3>
<p>r2c is a startup working to profoundly improve software security and reliability to safeguard human progress. We are a team of AppSec engineers and program analysis experts. Having analyzed thousands of open source projects and spoken with hundreds of Python developers, we identified common security pitfalls that are specific to Python web apps. We partnered with authors of major web frameworks to identify common “gotchas” and create a set of best practices for building robust Python web apps. The tutorial will include:</p>
<ul>
<li>Brief overview of common security problems (OWASP Top 10)</li>
<li>Common gotchas for Flask and Django</li>
<li>Tools for robust Python backend development</li>
<li>Q&A</li>
</ul>
</li>
<li>
<h3>Facebook authentication in DRF (more content, less buzzwords) - <a href="https://about.me/jakub.wasielak" target="_blank">Jakub Wasielak</a></h3>
<p>During this presentation I want to to solve one and single problem. "I want to log in with Facebook".</p>
<p>Since 2018 I've attended to multiple presentations which should have prepared me to accomplish this task. I knew the payload structure of JWT, I knew theory of OAuth, I got all the blocks, but they didn't match well. I've tried to stick them together with a StackOverflow Glue™, but along the way I've understood that I didn't get the real-life concept.</p>
<p>The plan for the talk is to go through the path of:
- facebook authentication
- JWT generation in Django Rest Framework
- Django as API setup
- <inhales> React setup with Axios to handle session refreshing</p>
<p>In the end I'll demo a working facebook authentication example with a code shared on git.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/52/">www.pykonik.org/tech-talks/52/</a></p>
Open Spaces #10 - 19:00, czwartek, 01.10.2020
2020-10-01T12:44:41.670976+02:00http://www.pykonik.org/open-spaces/10/<h1>Open Spaces #10 - 19:00, czwartek, 01.10.2020</h1>
<h2>Miejsce</h2>
<p>, </p>
<h2>Agenda</h2>
<ul>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/open-spaces/10/">www.pykonik.org/open-spaces/10/</a></p>
Open Spaces #9 - 18:30, czwartek, 30.04.2020
2020-04-27T22:10:02.556803+02:00http://www.pykonik.org/open-spaces/9/<h1>Open Spaces #9 - 18:30, czwartek, 30.04.2020</h1>
<h2>Miejsce</h2>
<p>, </p>
<h2>Agenda</h2>
<ul>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/open-spaces/9/">www.pykonik.org/open-spaces/9/</a></p>
Tech Talks #51 - 18:30, czwartek, 26.03.2020
2020-03-26T13:05:09.293529+01:00http://www.pykonik.org/tech-talks/51/<h1>Tech Talks #51 - 18:30, czwartek, 26.03.2020</h1>
<h2>Miejsce</h2>
<p>, </p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Cadence - a workflow orchestration engine to execute long-running business logic - Jakub Brzeski</h3>
<p>During this talk you will learn what challenges led us to use a workflow orchestration engine and why we decided to choose Cadence over other technologies. I will describe main concepts behind Cadence and explain how to actually write a workflow using the Python client.</p>
</li>
<li>
<h3>Design patterns - a pythonic view - Wojciech Smołka</h3>
<p>Everyone's probably heard about design patterns, but the concept became popular with the Gang of Four book over 20 years ago. A lot of time has passed since.</p>
<p>In this talk I will dissect two classic design patterns - how they originated, evolved and what happened to them in the Python world. Tracing the evolution and death (or maybe ascension?) of these patterns will lead us to some highly practical conclusions.</p>
<p>The talk will also feature a guest appearance of Rust.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://www.shoprunner.com/" target="_blank">Shoprunner</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/51/">www.pykonik.org/tech-talks/51/</a></p>
Workshop #1 - 10:30, sobota, 14.03.2020
2020-02-19T14:51:07.878050+01:00http://www.pykonik.org/workshop/1/<h1>Workshop #1 - 10:30, sobota, 14.03.2020</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/workshop/1/">www.pykonik.org/workshop/1/</a></p>
Tech Talks #50 - 18:30, czwartek, 27.02.2020
2020-02-24T10:43:57.049550+01:00http://www.pykonik.org/tech-talks/50/<h1>Tech Talks #50 - 18:30, czwartek, 27.02.2020</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>What happens when you run a file with python? - <a href="http://artcz.pl" target="_blank">Artur Czepiel</a></h3>
<p>Many things are happening between the moment you’ve typed python hello.py and "Hello World" appearing on your screen. Using a puzzle from previous pykonik as an example, I'll walk you through the first few steps of these, focusing on how python reads and decodes the source files.</p>
<p>I'll show a few examples of how you can modify that process, and what you can achieve with those modifications.</p>
</li>
<li>
<h3>Asyncio - done right? - Konrad Sewiłło-Jopek</h3>
<p>We will discuss asyncio in details starting from historical perspective and support for event-based programming in different operating systems. Then we will look at the implementation of asynchronous IO in Python: what is event loop? What exactly are coroutines and how they differ from other concurrency methods? What are other problems we may introduce using asyncio and how to prevent them? How to mix asyncio with multi-core processing? What are the main disadvantages of asyncio?</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://codecool.pl/" target="_blank">Codecool</a></li>
<li><a href="https://apply.workable.com/global-app-testing/j/99E7DF931B/" target="_blank">Global App Testing</a></li>
<li><a href="https://houst.com/" target="_blank">Houst</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/50/">www.pykonik.org/tech-talks/50/</a></p>
Tech Talks #49 - 18:30, czwartek, 30.01.2020
2020-01-29T12:58:26.694187+01:00http://www.pykonik.org/tech-talks/49/<h1>Tech Talks #49 - 18:30, czwartek, 30.01.2020</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Parametrizing pytest fixtures for fun and profit - Michał Lowas-Rzechonek</h3>
<p>PyTest jest fajny, a jego fixtury są jeszcze fajniejsze... dopóki nie jest ich zbyt dużo. Jednym z kłopotów jest konieczność utrzymywania unikalnych nazw parametrów i fixtur w obrębie całego drzewa zależności.</p>
<p>Omówię problem i pokażę plugin (mojego autorstwa) który problem (chyba?) rozwiązuje.</p>
</li>
<li>
<h3>Statistical Language Modeling with N-grams in Python - Olha Diakonova</h3>
<p>You're building a text autocomplete tool and wanna predict the next word after "Thank you very much for your ..."? Or you want your spell checker to detect "picks of cats" as an error and suggest a correction to "pics"? N-gram language models are the way to go if you're dealing with problems that require predicting a language unit based on some history or assigning probabilities to sequences of text. In this talk, I’ll sort n-grams out for you and show how to use them for text generation in Python.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.15five.com/" target="_blank">15Five</a></li>
<li><a href="https://codecool.pl/" target="_blank">Codecool</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/49/">www.pykonik.org/tech-talks/49/</a></p>
Piwkonik #2 - 18:30, czwartek, 19.12.2019
2019-12-18T10:40:34.383024+01:00http://www.pykonik.org/piwkonik/2/<h1>Piwkonik #2 - 18:30, czwartek, 19.12.2019</h1>
<h2>Miejsce</h2>
<p>House of Beer, Świętego Tomasza 35</p>
<h2>Agenda</h2>
<ul>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/piwkonik/2/">www.pykonik.org/piwkonik/2/</a></p>
Tech Talks #48 - 18:30, czwartek, 28.11.2019
2019-11-19T09:51:33.742497+01:00http://www.pykonik.org/tech-talks/48/<h1>Tech Talks #48 - 18:30, czwartek, 28.11.2019</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Gracefully handling legacy code - Jakub Paczkowski</h3>
<p>Most of us has worked with legacy code at some point- you start a new job, clone a repository and...start crying. What you see is untested, untestable and unreadable code. Usually it leads to all kinds of frustrations- bugs, misunderstanding with business, missed deadlines. In this talk I'm going to show you a few techniques that can be used to make work with legacy code less painful and more predictable.</p>
</li>
<li>
<h3>Dependencies with Nix - <a href="https://arturcygan.com" target="_blank">Artur Cygan</a></h3>
<p>Python has a long and interesting history with dependency management. A number of tools has been created and popularized to address various programmer's needs. I would like to give an additional point of view to that by showing how to use Nix to manage dependencies for a Python program. Nix is a cross platform package manager with some unique properties distinguishing it from the classical ones. It is not common to know Nix so don't worry, I will explain what it is, what is has to do with Python and software in general.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://codecool.pl/" target="_blank">Codecool</a></li>
<li><a href="https://flyrlabs.com/" target="_blank">FLYR</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/48/">www.pykonik.org/tech-talks/48/</a></p>
Tech Talks #47 - 18:30, czwartek, 24.10.2019
2019-10-10T17:55:24.312095+02:00http://www.pykonik.org/tech-talks/47/<h1>Tech Talks #47 - 18:30, czwartek, 24.10.2019</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Type hints 101 - <a href="https://github.com/LJBD" target="_blank">Łukasz Dudek</a></h3>
<p>Type hints have been around since Python 3.5 & they're slowly encroaching further into most of the standard library as well as popular third-party libraries around the Python ecosystem.
Want to know how to start annotating your code?
I'll tell you a bit about the rationale behind using them, explain basic syntax, show what can be achieved with typing library & the "official third party" static type checker - mypy.</p>
</li>
<li>
<h3>Sending config files to 270 000 servers using Python - Michał Wysokiński</h3>
<p>So you've got a lot of servers running many different combinations of your services. How do you ship their configs? There's actually a number of ways to achieve that: Ansible, etcd/confd, distributed file system or maybe simple plain env vars. However all of them give up when the number of your servers is 270 000 and growing... How to ship all that data? Imagine shipping a 500MB blacklist file with malicious domains at this scale. How to provide consistency? You don't want to serve an old version of your client's website when there's a short term sales event. Or how to make sure that the change you are going to send is safe for the network? Remember any famous CDN failures because of a bad config file? There are many challenges in the world of Metadata at scale and during the talk you'll see how Akamai is dealing with them using our beloved Python.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://akamai.com/" target="_blank">Akamai</a></li>
<li><a href="https://codecool.pl/" target="_blank">Codecool</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="http://www.silvair.com" target="_blank">Silvair</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/47/">www.pykonik.org/tech-talks/47/</a></p>
Meetpy Sprint #1 - 10:00, sobota, 05.10.2019
2019-09-20T12:46:30.561488+02:00http://www.pykonik.org/meetpy-sprint/1/<h1>Meetpy Sprint #1 - 10:00, sobota, 05.10.2019</h1>
<h2>Miejsce</h2>
<p>Deployed.pl, Lea 114, Kraków</p>
<h2>Agenda</h2>
<ul>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://deployed.pl" target="_blank">Deployed.pl</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/meetpy-sprint/1/">www.pykonik.org/meetpy-sprint/1/</a></p>
Tech Talks #46 - 18:30, czwartek, 26.09.2019
2019-09-26T11:34:34.763390+02:00http://www.pykonik.org/tech-talks/46/<h1>Tech Talks #46 - 18:30, czwartek, 26.09.2019</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>GraalVM i Python z czym to się je - Paweł Buchowski</h3>
<p>GraalVM reklamuje się jako uniwersalna maszyna wirtualna dla języków programowania opartych JVM (Java, Kotlin, Scala etc) oraz innych JavaScript, NodeJS, Ruby, R i oczywiście Python. O ile ten ostatni jest w fazie eksperymentalnej i twórcy ostrzegają nas o tym na każdym etapie już teraz możemy zaobserwować ciekawe wyniki uruchamiania aplikacji napisanych w pythonie przy użyciu GraalVM. </p>
<p>Prelekcja:
- wprowadzenie co to GraalVM i omówienie jego zalet
- Python + GraalVM co to? po co? i w którym miejscu jesteśmy?
- porównanie i omówienie wydajności aplikacji python vs graalvm python</p>
</li>
<li>
<h3>8ms/99th write percentile latency - is it fast? Understanding the importance of "SRE implements devops" - <a href="https://maciej.lasyk.info/" target="_blank">Maciej Lasyk</a></h3>
<p>It's been 10 years since devops buzzword started buzzing around and 11 years since Cassandra has been open - sourced by Facebook. What we have learned about database reliability since then? </p>
<p>I would like to tell you a story about #noops company that decided to run own Cassandra clusters around globe having high - throughput and low latency system dependant upon it. It's a story about understanding, that reliability is the most important feature of every product. </p>
<p>Do you know that targeting specific level of reliability is the key to establish balance between high reliability and providing new features to drive user acquisition and revenue growth? Does it sound like bullshit bingo? Great - during this presentation I will explain in detail how our journey to "reliable enough" looked like in terms of maintaining Cassandra clusters.
You will learn about the basics of Site Reliability Engineering, how to talk to your business introducing Customer Reliability Engineering and when you might finally say "ok, we've finished it, our database is reliable enough, let's do something else". </p>
<p>Why I chose Cassandra as the subject of this talk? Because it's reliability is very tricky - it's distributed, clustered database providing eventual and tunable consistency. And after many
years of working with MySQL/MariaDB/PgSQL/Oracle I can easily say, that Cassandra is an operational hell which can be tamed with well known SRE practices and good, old engineering skills.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://codecool.pl/" target="_blank">Codecool</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://www.netguru.com/" target="_blank">Netguru</a></li>
<li><a href="https://nocinformatyka.pl" target="_blank">Noc Informatyka</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/46/">www.pykonik.org/tech-talks/46/</a></p>
Piwkonik #1 - 18:30, środa, 21.08.2019
2019-08-14T21:36:52.500963+02:00http://www.pykonik.org/piwkonik/1/<h1>Piwkonik #1 - 18:30, środa, 21.08.2019</h1>
<h2>Miejsce</h2>
<p>Viva la Pinta, Floriańska 13</p>
<h2>Agenda</h2>
<ul>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/piwkonik/1/">www.pykonik.org/piwkonik/1/</a></p>
Tech Talks #45 - 18:30, czwartek, 30.05.2019
2019-08-19T20:19:48.520664+02:00http://www.pykonik.org/tech-talks/45/<h1>Tech Talks #45 - 18:30, czwartek, 30.05.2019</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Developer performance best practices - <a href="https://alpakara.pl" target="_blank">Aleksander Kawala</a></h3>
<p>This talk aims to gather some practices that can boost your productivity at work. Because tests are important part of implementing difficult business logic (especially on backend) second part covers some less known approaches to testing in Python.
Agenda:
Day to day work: PRs, Commits, WTDD, TDD
Tests: Vcrpy, Hypothesis, Caplog, DB speedup</p>
</li>
<li>
<h3>unicode.decode() - Łukasz Taczuk</h3>
<p>So you just encoded your string with "user_input.encode('utf8')" and all you got was… a UnicodeDecodeError?!?
Now you’re left wondering why your interpreter was drunk the whole time!
Or was it? Maybe there IS a method in this madness? (spoiler: Nope! Only if you squint :)</p>
<p>If you’re still struggling to understand Unicode in Python, let me decode this properly for you once and for all!</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://deployed.pl" target="_blank">Deployed.pl</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://sunscrapers.com/" target="_blank">Sunscrapers</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/45/">www.pykonik.org/tech-talks/45/</a></p>
Tech Talks #44 - 18:30, czwartek, 09.05.2019
2019-08-19T20:22:49.518702+02:00http://www.pykonik.org/tech-talks/44/<h1>Tech Talks #44 - 18:30, czwartek, 09.05.2019</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Text processing and machine learning in Python - Fatih Erikli</h3>
<p>Natural Language Processing is part of artificial intelligence concerned with the interactions between computers and natural languages data. Python has a wide library range to work on each NLP task. We will be going over the main outlines of machine learning and python libraries that make these tasks easier to solve.</p>
</li>
<li>
<h3>JSON Web Tokens: What they are and why they (don't) bite - Piotr Gnus</h3>
<p>This talk will contain short introduction to JSON Web Tokens, why they exist, how to use them properly, what security issues they can introduce when used improperly, why there are sooo many signing methods and which of them you should use. There will also be some tips and tricks, i.e. how to put encrypted and unencrypted data in them.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://codecool.pl/" target="_blank">Codecool</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://www.symphony-solutions.eu" target="_blank">Symphony Solutions</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/44/">www.pykonik.org/tech-talks/44/</a></p>
Tech Talks #43 - 18:30, czwartek, 28.03.2019
2019-08-19T20:26:56.185381+02:00http://www.pykonik.org/tech-talks/43/<h1>Tech Talks #43 - 18:30, czwartek, 28.03.2019</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>How database design can affect your application's future - Wiktor Kołodziej</h3>
<p>In this talk I'm going to cover how important is spending a few minutes more on a database design, showing how we can benefit from it in the future. I'm going to present an example app focusing on a simple good practice aspect - table naming. I'm also going to talk how we can deal with legacy, poorly designed database in Django and what we can do to improve our development experience. Topics covered are inspired by a real business project, currently deployed and working in production environment. Examples were modified and simplified to fit into a limited presentation time slot.</p>
</li>
<li>
<h3>Python internals: let's talk about dicts - <a href="https://disconnect3d.pl/" target="_blank">Dominik Czarnota</a></h3>
<p>In this talk we will look at hashing, flaws of overriding dicts and how to do it properly, a <code>__missing__</code> magic method example, ways to update dict without overriding its keys and some bugs regarding hashing of mutable values.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://airsorted.uk/" target="_blank">Airsorted</a></li>
<li><a href="https://codecool.pl/" target="_blank">Codecool</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://www.symphony-solutions.eu" target="_blank">Symphony Solutions</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/43/">www.pykonik.org/tech-talks/43/</a></p>
Tech Talks #42 - 18:30, czwartek, 28.02.2019
2019-08-19T20:32:40.372379+02:00http://www.pykonik.org/tech-talks/42/<h1>Tech Talks #42 - 18:30, czwartek, 28.02.2019</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>PyMesh - Michał Lowas-Rzechonek</h3>
<p>W zeszłym roku standard Bluetooth został rozszerzony o sieci typu mesh. Zaczęły też pojawiać się pierwsze urządzenia implementujace nowy standard.</p>
<p>Pokażę jak zaimplementowac protokół Bluetooth Mesh w Pythonie, a następnie za jego pomocą sterować oświetleniem.</p>
</li>
<li>
<h3>Python into space - czyli jak zbudować satelitę wielkości puszki - <a href="http://www.plastic-monkeys.space/" target="_blank">Plastic Monkeys</a></h3>
<p>Skoro Python opanował już Ziemię, nadszedł czas, by podbijał kosmos! Podczas przygotowań mini satelity wielkości puszki po napoju w ramach konkursu CanSats in Europe, korzystanie z Pythona na Raspberry Pi okazało się najbardziej optymalnym wyborem, dzięki któremu będziemy mogli sczytywać dane z czujników podczas zrzutu naszej puszki i przeprowadzić wyznaczoną misję. Chcielibyśmy przedstawić ideę budowania własnych CanSatów i pokazać, jak przydatny okazał się dla nas w tym przypadku Python.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://codecool.pl/" target="_blank">Codecool</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="http://www.silvair.com" target="_blank">Silvair</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/42/">www.pykonik.org/tech-talks/42/</a></p>
Tech Talks #41 - 18:30, czwartek, 31.01.2019
2019-08-19T20:36:02.600974+02:00http://www.pykonik.org/tech-talks/41/<h1>Tech Talks #41 - 18:30, czwartek, 31.01.2019</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Kolejny poziom bezpieczeństwa aplikacji w DRF czyli Two-factor authentication na przykładzie - <a href="http://www.merixstudio.com" target="_blank">Miłosz Kusiciel</a></h3>
<p>Bezpieczeństwo aplikacji i użytkowników jest bardzo ważne, dlatego pokażę na przykładzie w jaki sposób można dodać 2FA w Django REST Framework używając gotowego rozwiązania, które w znaczący sposób ułatwi implementację do własnego projektu.</p>
</li>
<li>
<h3>Intelligent chatbots - Karol Przystalski</h3>
<p>We go through different approaches to chatbots development. The presentation consists of a few Jupyter notebooks with code samples. We show and compare a few examples of neural networks architectures that can be used for chatbots. Based on our experience and presented architectures we give some advice on which architecture should be used where.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://codecool.pl/" target="_blank">Codecool</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://www.facebook.com/worldofmerix/" target="_blank">Merixstudio</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/41/">www.pykonik.org/tech-talks/41/</a></p>
Open Spaces #8 - 18:30, wtorek, 11.12.2018
2022-10-02T21:09:43.643244+02:00http://www.pykonik.org/open-spaces/8/<h1>Open Spaces #8 - 18:30, wtorek, 11.12.2018</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://codecool.pl/" target="_blank">Codecool</a></li>
<li><a href="https://deployed.pl" target="_blank">Deployed.pl</a></li>
<li><a href="https://flyrlabs.com/" target="_blank">FLYR</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/open-spaces/8/">www.pykonik.org/open-spaces/8/</a></p>
Tech Talks #40 - 18:30, czwartek, 22.11.2018
2019-08-19T20:40:13.737422+02:00http://www.pykonik.org/tech-talks/40/<h1>Tech Talks #40 - 18:30, czwartek, 22.11.2018</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Python, systemd i journald: lecimy XD - <a href="https://maciej.lasyk.info/" target="_blank">Maciej Lasyk</a></h3>
<p>Od kilku lat główne dystrybucje linuksowe zintegrowane są z nowym (choć już trochę starym) init systemem: systemd. Niewiele osób jednak zdaje sobie sprawę z tego, jakie możliwości daje nam systemd i jak łatwe jest ich oklepanie przy użyciu Pythona.</p>
<p>Chciałbym pokazać wam w jaki sposób integrować aplikacje z init systemem, jak zapewnić self - healing dla serwisów, w jaki sposób pisać i czytać logi z/do journald czy też jak zarządzać stanem usług poprzez pośrednictwo Dbusa (zapomnijcie już o subprocess.Popen()). Ah no i w jaki sposób uruchamiać serwisy czy komendy w kontenerach linuksowych (niekoniecznie dockerowych). Oczywiście wszystko z poziomu Pythona (czyli nie systemctl).</p>
<p>Opowiem o podstawach systemd, przeglądniemy i omówimy dostępne biblioteki pythonowe w kontekście systemd i nie zabraknie nam również drobnej domieszki cythona. </p>
<p>Prezentacja raczej zaawansowana - warto odświeżyć sobie hasła takie jak: init system, syscall, dbus czy journal.</p>
</li>
<li>
<h3>Apache Airflow - Tomasz Kanik</h3>
<p>Apache airflow is a platform for programmatically author schedule and monitor workflows( That’s the official definition for Apache Airflow !!). It is one of the best workflow management system.</p>
<p>Airflow was originally developed by Airbnb (Airbnb Engineering) to manage their data based operations with a fast growing data set. Airflow is undergoing incubation at Apache Software foundation as Airbnb have decided to open source it under Apache certification.</p>
<p>Apache airflow makes your work flow little bit simple and organised by allowing you to divide it into small independent (not always) task units. Easy to organise and easy to schedule ones. Your entire workflow can be converted into a DAG (Directed acyclic graph) with Airflow.</p>
<p>Once your workflows are defined by your code it become more maintainable.(Obviously python makes it even simple to code it down :)</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://codecool.pl/" target="_blank">Codecool</a></li>
<li><a href="https://deployed.pl" target="_blank">Deployed.pl</a></li>
<li><a href="https://flyrlabs.com/" target="_blank">FLYR</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/40/">www.pykonik.org/tech-talks/40/</a></p>
Tech Talks #39 - 18:30, czwartek, 25.10.2018
2018-10-27T13:02:55.939272+02:00http://www.pykonik.org/tech-talks/39/<h1>Tech Talks #39 - 18:30, czwartek, 25.10.2018</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Image recognition with Python - Andriy Voronin</h3>
<p>In this talk you will learn about image recognition in Python, it's history, available libraries and learn how to use some of them.</p>
</li>
<li>
<h3>Targetowanie reklam z Machine Learning - Marek Piechula</h3>
<p>Prezentacja będzie wyjaśniać, jak stworzyć model machine learning na podstawie analizy odwiedzających sklep on-line. Model umożliwia personalizowanie reklam i wyświetlanie ich potencjalnie zainteresowanym klientom.</p>
</li>
<li>
<h3>Docker security - <a href="https://disconnect3d.pl/" target="_blank">Dominik Czarnota</a></h3>
<p>Let's dive into security of Docker containers and Docker daemon.
We are going to find answers for those questions:
- Is the root in the container the same as on host?
- Why can't I reboot my pc from the container?
- Is it safe to let non-sudo users spawn docker containers?
...and maybe something more :).</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://www.symphony-solutions.eu" target="_blank">Symphony Solutions</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/39/">www.pykonik.org/tech-talks/39/</a></p>
Tech Talks #38 - 18:30, czwartek, 27.09.2018
2018-10-02T23:42:48.344689+02:00http://www.pykonik.org/tech-talks/38/<h1>Tech Talks #38 - 18:30, czwartek, 27.09.2018</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Logika biznesowa w Django - <a href="https://rock-it.pl" target="_blank">Jakub Skałecki</a></h3>
<p>Logika biznesowa jest sensem istnienia każdej nietrywialnej aplikacji. Określa akcje, które użytkownik serwisu ma być zdolny wykonać oraz ich efekty. Powinniśmy zadbać, aby była napisana w prosty i czytelny sposób, a jednocześnie mogła być używana w różnych sytuacjach. Na podstawie moich doświadczeń wyniesionych z rozwijania własnego serwisu opowiem, gdzie w Django jest miejsce na tak ważną część aplikacji (podpowiedź - nie w widokach), jak ją testować, przeprowadzać walidację oraz prawidłowo komunikować użytkownikowi rezultat wykonanej akcji. Serdecznie zapraszam!</p>
</li>
<li>
<h3>Muzyka napisana w Pythonie - <a href="https://40miles.bandcamp.com/" target="_blank">Mateusz Ostafil</a></h3>
<p>Tworzenie muzyki i pisanie kodu to dwa bardzo kreatywne zajęcia. Co by było gdyby połączyć je w jedno?
Podczas swojej prezentacji chciałbym Wam pokazać jak pisać muzykę w Pythonie i co z tego wynika ;)</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://airsorted.uk/" target="_blank">Airsorted</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://xcaliber.com/" target="_blank">XCaliber</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/38/">www.pykonik.org/tech-talks/38/</a></p>
Tech Talks #37 - 18:30, czwartek, 21.06.2018
2018-08-25T15:30:06.615090+02:00http://www.pykonik.org/tech-talks/37/<h1>Tech Talks #37 - 18:30, czwartek, 21.06.2018</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Pipenv and pyenv - best pair to create environments the right way - Piotr Gnus</h3>
<p>Why you should create virtual environments for your projects (even in docker), what are the best solutions for creating them and why you should upgrade your development and deployment environments today!</p>
</li>
<li>
<h3>Turbo Progressbar w Pythonie - Janusz Kamieński</h3>
<p>Śledzenie postępów podczas wykonywania skryptu operującego na setkach danych potrafi szybko przerodzić się w nudną rutynę. Znudziły Ci się kolejne linijki logów? Masz dość obserwowania suchych komunikatów i cyferek z printa? Czas użyć turbo narzędzia do śledzenia postępu.</p>
<p>Podczas swojej krótkiej prezentacji przybliżę proste, choć rozbudowane narzędzie do śledzenia postępu operacji w Pythonie. Pokażę jak możecie je rozbudować i wykorzystać w równoległych operacjach oraz sprawić, że obserwowanie słupków stanie się bardziej epickim zajęciem niż kiedykolwiek wcześniej.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://www.symphony-solutions.eu" target="_blank">Symphony Solutions</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/37/">www.pykonik.org/tech-talks/37/</a></p>
Tech Talks #36 - 18:30, czwartek, 17.05.2018
2018-05-17T18:31:51.160389+02:00http://www.pykonik.org/tech-talks/36/<h1>Tech Talks #36 - 18:30, czwartek, 17.05.2018</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Czysta architektura w Pythonie - <a href="http://breadcrumbscollector.tech" target="_blank">Sebastian Buczyński</a></h3>
<p>W świecie Pythona, gdzie na wyciągnięcie ręki mamy wiele wspaniałych i dopracowanych narzędzi, nie przywiązujemy wielkiej wagi do nauki zwanej inżynierią oprogramowania. Koncentrujemy się bardziej na dostępnych bibliotekach, a grom czasu przeznaczamy na integrowanie ich ze sobą. Czy przypadkiem nie ginie nam czasem z oczu powód dla którego w ogóle nasz projekt powstaje, to jest wartość biznesowa którą mamy dostarczyć? Opierając całą pracę na frameworkach pozwalamy im, by przenikały się z rzeczami których nie powinny dotykać. Ten problem zauważono już dawno temu i powstał przy tym szereg różnych rozwiązań. Ta prezentacja przedstawi jedno z nich - Czystą Architekturę. Czysta Architektura obiecuje nam: - separację logiki biznesowej od frameworka i bazy danych, - bajeczną wręcz testowalność, - otwiera furtkę do metodyk takich jak Domain Driven Design, CQRS, czy Event Sourcing Wszystkie informacje w tej prezentacji są poparte praktycznym doświadczeniem.</p>
</li>
<li>
<h3>GraphQL basics in Python - Imre Guzmics</h3>
<p>GraphQL APIs are getting more and more popular, but what is GraphQL? Is it any better than REST? Is it worth to switch? How to build a basic API with Python?
I'll try to answer these questions in my short presentation.</p>
</li>
<li>
<h3>Continuous Deployment w praktyce - <a href="http://adambyrtek.net" target="_blank">Adam Byrtek</a></h3>
<p>Dobre praktyki techniczne są kluczowe dla produktywności i morale zespołu. Continuous Integration zapewnia, że każda zmiana spełnia ustalone kryteria, a Code Review poprawia współpracę i przepływ informacji w zespole. Obie z tych praktyk stają są coraz popularniejsze i nie wzbudzają już wielu kontrowersji. Ta prelekcja poświęcona będzie Continuous Deployment, czyli kolejnemu odważnemu krokowi na drodze do 'zwinności', jego zaletom i praktycznym poradom opartym na doświadczeniach zespołu Airsorted.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://nocinformatyka.pl" target="_blank">Noc Informatyka</a></li>
<li><a href="https://videopoint.pl/" target="_blank">Videopoint</a></li>
<li><a href="https://xcaliber.com/" target="_blank">XCaliber</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/36/">www.pykonik.org/tech-talks/36/</a></p>
Open Spaces #7 - 18:30, środa, 18.04.2018
2018-12-01T20:03:24.305854+01:00http://www.pykonik.org/open-spaces/7/<h1>Open Spaces #7 - 18:30, środa, 18.04.2018</h1>
<h2>Miejsce</h2>
<p>Artefakt Cafe, Dajwór 3, 31-506 Kraków</p>
<h2>Agenda</h2>
<ul>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://airsorted.uk/" target="_blank">Airsorted</a></li>
<li><a href="http://infoshareacademy.com/" target="_blank">InfoShare Academy</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/open-spaces/7/">www.pykonik.org/open-spaces/7/</a></p>
Tech Talks #35 - 18:30, czwartek, 15.03.2018
2018-03-05T23:14:37.587032+01:00http://www.pykonik.org/tech-talks/35/<h1>Tech Talks #35 - 18:30, czwartek, 15.03.2018</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>ZODB: The graph database for Python Developers - <a href="http://PythonLinks.info" target="_blank">Christopher Lozinski</a></h3>
<p>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. </p>
<p>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. </p>
<p>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. </p>
<p>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. </p>
<p>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.</p>
</li>
<li>
<h3>Dokumentacja w samodokumentującym się świecie - <a href="http://erbetowski.pl" target="_blank">Wojciech Erbetowski</a></h3>
<p>Większość zespołów, z którymi pracowałem kroczyła nigdy niekończącą się ścieżką w poszukiwaniu złotego środka w pisaniu dokumentacji. Miejscu, w którym czerpie się korzyści z posiadania pomocnej dokumentacji, jednak nie spędza się zbyt wiele czasu i energii na jej tworzeniu.</p>
<p>Dla niektórych punktem wyjściowym jest popularny błąd, w którym mówi się, że kodu nie należy dokumentować, gdyż kod powinien być sam w sobie wystarczająco czytelny. Inni z kolei tworzą bardzo dokładną dokumentację i szybko wpadają w pułapkę ogromnego kosztu jej utrzymywania.</p>
<p>Jest lepsza droga, aby inni programiści mieli dobre wrażenia. Podzielę się kilkoma sposobami, jak na przykład:</p>
<p>• Częściowo lub całkowicie wykonywalna dokumentacja</p>
<p>• Dokumentacja API zrozumiała dla maszyn i ludzi</p>
<p>• Testy automatyczne jako dokumentacja</p>
</li>
<li>
<h3>AsyncIO or how Python developers made Python 4.0 without calling it so - Michał Wysokiński</h3>
<p>While searching the Internet for yet another module that's AsyncIO compatible I've stumbled upon this github comment:
"Ya, IMHO the whole async stuff is yet-another-rift that the upstream python developers caused (without even calling it python 4.0) and I'm not even sure how many people/developers see that yet. (...)"
...and I completely agree with it.</p>
<p>I've been running AsyncIO in production for over a year now and my initial enthusiasm has waned. Don't get me wrong, AsyncIO is great and I will continue using it. However, being at the technological edge comes with a price, which a lot of people is not aware of.</p>
<p>In this presentation I'm going to talk about what I wished I had known before adding AsyncIO to our stack and share my experience with running and maintaining AsyncIO applications at Akamai.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://deployed.pl" target="_blank">Deployed.pl</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/35/">www.pykonik.org/tech-talks/35/</a></p>
Tech Talks #34 - 18:30, czwartek, 18.01.2018
2018-01-15T16:57:04.786914+01:00http://www.pykonik.org/tech-talks/34/<h1>Tech Talks #34 - 18:30, czwartek, 18.01.2018</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Redis - więcej niż key-value store - Łukasz Dziedzia</h3>
<p>Redis jest obecnie jedną z najbardziej popularnych baz danych, mimo to w większości przypadków używany jest wyłącznie jako silnik do cache. W swojej prezentacji chciałbym przybliżyć to rozwiązanie, głównie z perspektywy dewelopera. Chciałbym też podzielić sie doświadczeniem z używania Redisa, jakie zdobyliśmy w platformie gamingowej XCaliber, gdzie Redis pełni istotną rolę, pomagając nam obsługiwać tysiące transakcji na sekundę.</p>
</li>
<li>
<h3>Python developer wannabe - mój pomysł jak zostać juniorem (starania w toku:) - <a href="http://early-bird.blog" target="_blank">Magda Zawora</a></h3>
<p>Wiosną 2017 r. wzięlam udział w Pykoniku, na którym przy jednym stole, wraz z grupą podobnie zielonych w temacie osób zastanawiałam się czy dla ludzi którzy chcą się przebranżowić Python jest słusznym wyborem, a jeśli tak, to jak się do tego zabrać. Dołączyło do nas wówczas kilku dobrych ludzi, którzy podrzucili nam parę rad, choć dzielący nas dystans był dość przepastny i rozmawialiśmy trochę z perspektywy innych światów. Ale z jednej z rad skorzystałam, wiele na tym zyskałam i jestem za to bardzo wdzięczna. <br />
Od tego czasu sporo zrobiłam żeby przybliżyć się do zmiany branży gromadząc wiedzę, która mogłaby zainteresować tych, którzy dopiero startują w temacie.
Zapraszam na moją opowieść uzupełnioną uwagami doświadczonych deweloperów biorących udział w spotkaniu.</p>
</li>
<li>
<h3>Creating a new game mode for Frontline in 500 lines of code - An Arma 3 mod success story - Łukasz Taczuk</h3>
<p>Czy aby stworzyć coś takiego jak całkowicie nowy tryb do gry trzeba się napracować? Jeżeli ktoś tak lubi to w sumie można.</p>
<p>Okazuje się, że nie jest to wcale konieczne; w końcu filozofia Pythona to "batteries included". A jeśli komuś te baterie nie wystarczą, to zawsze może podpiąć sporych rozmiarów power bank.</p>
<p>Krótka opowieść o tym jak przy odrobinie kreatywności (oraz lenistwa) został stworzony w pełni działający nowy tryb gry do Frontline - moda do gry Arma 3 - i to w około 500 linijkach kodu.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://deployed.pl" target="_blank">Deployed.pl</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://xcaliber.com/" target="_blank">XCaliber</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/34/">www.pykonik.org/tech-talks/34/</a></p>
Open Spaces #6 - 18:30, środa, 06.12.2017
2017-11-27T18:00:07.786023+01:00http://www.pykonik.org/open-spaces/6/<h1>Open Spaces #6 - 18:30, środa, 06.12.2017</h1>
<h2>Miejsce</h2>
<p>Artefakt Cafe, Dajwór 3, 31-506 Kraków</p>
<h2>Agenda</h2>
<ul>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/open-spaces/6/">www.pykonik.org/open-spaces/6/</a></p>
Coding Dojo #14 - 18:30, środa, 08.11.2017
2017-11-27T18:07:38.088160+01:00http://www.pykonik.org/coding-dojo/14/<h1>Coding Dojo #14 - 18:30, środa, 08.11.2017</h1>
<h2>Miejsce</h2>
<p>Printbox, Rynek Główny 17</p>
<h2>Agenda</h2>
<ul>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
<li><a href="https://getprintbox.com/" target="_blank">Printbox</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/coding-dojo/14/">www.pykonik.org/coding-dojo/14/</a></p>
Tech Talks #33 - 18:30, czwartek, 05.10.2017
2017-11-27T18:16:32.389208+01:00http://www.pykonik.org/tech-talks/33/<h1>Tech Talks #33 - 18:30, czwartek, 05.10.2017</h1>
<h2>Miejsce</h2>
<p>Codecool, Ślusarska 9</p>
<h2>Agenda</h2>
<ul>
<li>
<h3>Python in a hacker's toolbox vol 2 - <a href="https://disconnect3d.pl/" target="_blank">Dominik Czarnota</a></h3>
<p>Inspired by Gynvael Coldwind's talk on PyCon PL 2015 about the topic, here comes vol 2. The talk will present some IPython tricks and interesting Python libraries used both in CTF and security field.</p>
</li>
<li>
<h3>Let's build a PaaS, how hard could it be? - Błażej Kasperczyk</h3>
<p>How many applications, and where do we put them? Why is our system so bad at keeping up with what the users want? What to do in case of a noisy neighbour?</p>
<p>When you're aiming to provide a platform where the developers could easily launch an application without worrying about configuring the system, you will have to code it sooner or later. As with most very simple concepts, it presents a plethora of challenges to deal with.</p>
</li>
</ul>
<h2>Sponsorzy</h2>
<ul>
<li><a href="https://www.dreamlab.pl/" target="_blank">Dreamlab</a></li>
<li><a href="https://www.jetbrains.com/" target="_blank">JetBrains</a></li>
</ul>
<p>Podstrona spotkania: <a href="http://www.pykonik.org/tech-talks/33/">www.pykonik.org/tech-talks/33/</a></p>