{"$schema": "https://c3voc.de/schedule/schema.json", "generator": {"name": "pretalx", "version": "2026.1.0.dev0"}, "schedule": {"url": "https://pretalx.com/pycon-lithuania-2024/schedule/", "version": "0.24", "base_url": "https://pretalx.com", "conference": {"acronym": "pycon-lithuania-2024", "title": "PyCon Lithuania 2024", "start": "2024-04-02", "end": "2024-04-06", "daysCount": 5, "timeslot_duration": "00:05", "time_zone_name": "Europe/Vilnius", "colors": {"primary": "#191717"}, "rooms": [{"name": "Room 111", "slug": "2511-room-111", "guid": "deb25dd8-56d3-5f72-9ade-9c9e71fb1bb6", "description": null, "capacity": 350}, {"name": "Room 203", "slug": "2512-room-203", "guid": "1c025bff-da58-5612-b61e-cfcf8772e297", "description": null, "capacity": 100}, {"name": "Room 228", "slug": "2513-room-228", "guid": "4485c80f-afd6-5169-bc90-216a8d58785f", "description": null, "capacity": 100}, {"name": "Room 218", "slug": "2827-room-218", "guid": "5527a89a-152b-5cf1-88e0-f52c2cb94408", "description": null, "capacity": 30}, {"name": "Room 219", "slug": "2826-room-219", "guid": "362d4e97-7601-526c-98ee-7a61f11e3485", "description": null, "capacity": 30}, {"name": "Tutorials 1", "slug": "2770-tutorials-1", "guid": "a7d4e307-68e7-5853-8ef1-1e20377c4229", "description": "Tutorials 1", "capacity": 20}, {"name": "Tutorials 2", "slug": "2783-tutorials-2", "guid": "12928ca3-ca10-5e2b-b6df-ddc713146c45", "description": null, "capacity": 20}], "tracks": [{"name": "Keynote", "slug": "3916-keynote", "color": "#686868"}, {"name": "Python", "slug": "3918-python", "color": "#3776AA"}, {"name": "Lightning talks", "slug": "3919-lightning-talks", "color": "#DE0000"}, {"name": "Web", "slug": "3915-web", "color": "#9C4B4B"}, {"name": "Data", "slug": "3917-data", "color": "#FD7E14"}, {"name": "Org", "slug": "4658-org", "color": "#1F1C1C"}], "days": [{"index": 1, "date": "2024-04-02", "day_start": "2024-04-02T04:00:00+03:00", "day_end": "2024-04-03T03:59:00+03:00", "rooms": {"Tutorials 1": [{"guid": "ab103faf-6f26-5d7b-9f19-2dfe7de1ce6f", "code": "NPPBDU", "id": 43075, "logo": null, "date": "2024-04-02T09:30:00+03:00", "start": "09:30", "duration": "04:00", "room": "Tutorials 1", "slug": "pycon-lithuania-2024-43075-data-processing-with-apache-spark-and-apache-iceberg", "url": "https://pretalx.com/pycon-lithuania-2024/talk/NPPBDU/", "title": "Data Processing with Apache Spark and Apache Iceberg", "subtitle": "", "track": "Data", "type": "Tutorial", "language": "en", "abstract": "\"Data Processing with Apache Spark and Apache Iceberg\" is a dynamic workshop designed to equip data professionals with advanced skills in managing and processing large-scale data. Participants will be introduced to the essential table formats before delving into Apache Iceberg's integration with Apache Spark. This session focuses on practical applications, including schema evolution and efficient file management, to enhance data processing efficiency and scalability. Ideal for data engineers and scientists,", "description": "In this intensive workshop, we will dive into the practicalities of using Apache Spark and Apache Iceberg for advanced data processing and management. The session will start with an introduction to table formats, emphasizing their pivotal role in efficient data handling. We will explore Apache Iceberg's capabilities, focusing on how it enhances data processing when used with Apache Spark. Participants will learn to implement Apache Iceberg for tasks like schema evolution, hidden partitioning,\r\n\r\nThis workshop is tailored for data engineers, data scientists, and technology professionals with a basic understanding of data processing concepts and an interest in modern data management techniques. \r\n\r\nParticipants are required to set up Docker on their machine prior to the training session; you can do that by installing Docker Desktop here: https://www.docker.com/get-started/.", "recording_license": "", "do_not_record": false, "persons": [{"code": "K7MRTJ", "name": "Tomas Peluritis", "avatar": "https://pretalx.com/media/avatars/K7MRTJ_3vXcDGO.webp", "biography": "I'm a Data Engineer with a diverse background, transitioning from a Data Analyst to a Team Lead and Head of Data before returning to my roots. I have a knack for numbers and a passion for coding, constantly seeking optimal solutions and driving continuous improvement.\r\n\r\nWith expertise in data pipelines, orchestration, SQL, and strong communication skills, I excel in leading and mentoring teams. I've been fortunate to contribute to multiple data migrations and projects, including building some from scratch.\r\n\r\nOutside of work, I thrive in fast-paced environments, embracing new challenges and staying updated with the latest technologies through side projects. I share my knowledge with the community through my podcast and blog, 'Uncle Data,' where I discuss all things data-related.", "public_name": "Tomas Peluritis", "guid": "fa38c885-99b5-59ee-bd9e-ab9cf9c07f54", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/K7MRTJ/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/NPPBDU/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/NPPBDU/", "attachments": []}, {"guid": "ec44c90b-1dff-54b6-9940-cb4dc738c4e6", "code": "99YXKD", "id": 47690, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/99YXKD/_d7474e9c-48b2-472a-8eea-2b2ec2a65304_sAEmVs7.jpg", "date": "2024-04-02T14:00:00+03:00", "start": "14:00", "duration": "04:00", "room": "Tutorials 1", "slug": "pycon-lithuania-2024-47690-aligning-and-using-an-open-source-llm", "url": "https://pretalx.com/pycon-lithuania-2024/talk/99YXKD/", "title": "Aligning and Using an Open-Source LLM", "subtitle": "", "track": null, "type": "Tutorial", "language": "en", "abstract": "Large language models are very widely used today for various applications: one can detect fraud, analyze and converse with own documents or create a commercial chatbot.\r\nThis \"Aligning and Using an Open-Source LLM\" workshop is an intensive four-hour exploration designed to demystify the world of Language Models (LLMs) and open-source frameworks. In the rpidly evolving landscape of artificial intelligence, the effective use of LLMs has become a crucial skill for machine learning engineer.", "description": "This immersive workshop will help machine learning engineers to unlock the full potential of Language Models (LLMs).  It spans for four dynamic hours, includes hands-on exploration and practical insights. \r\nDuring the first hour we will delve into the realm of open-source models and discover the art of effective prompting strategies. \r\nWe will learn to leverage Retrieval-Augmented-Generation (RAG) techniques in the second hour, where participants will integrate their own data with LLMs, ensuring a personalized touch to model outputs.\r\nWe will spend the final hours aligning an open-source LLM for a task. Tutorial data and code will be provided after a workshop.", "recording_license": "", "do_not_record": false, "persons": [{"code": "BQ7GRG", "name": "Monika Ven\u010dkauskait\u0117", "avatar": "https://pretalx.com/media/avatars/BQ7GRG_XYOmKHo.webp", "biography": "AI and MLOps practitioner, leading AI in cyber security research project at BPTI and mentoring students.", "public_name": "Monika Ven\u010dkauskait\u0117", "guid": "0b0ba9f3-1296-59b7-80b4-c3f2f6d561af", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/BQ7GRG/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/99YXKD/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/99YXKD/", "attachments": []}], "Tutorials 2": [{"guid": "93e74ad0-66ab-5d40-88e6-ce3d6833c308", "code": "AHZR7D", "id": 43213, "logo": null, "date": "2024-04-02T09:30:00+03:00", "start": "09:30", "duration": "04:00", "room": "Tutorials 2", "slug": "pycon-lithuania-2024-43213-introduction-to-polars-dataframes-how-to-supercharge-your-data-workflows", "url": "https://pretalx.com/pycon-lithuania-2024/talk/AHZR7D/", "title": "Introduction to Polars DataFrames - how to supercharge your data workflows", "subtitle": "", "track": "Data", "type": "Tutorial", "language": "en", "abstract": "Polars is the new dataframe on the block taking the world by storm.\r\n\r\nYou'll learn:\r\n- what Polars is, and what it can do for you\r\n- Polars basics and core concepts (including expressions and lazy computation)\r\n- how to work with different datatypes, and how the List datatype gives you superpowers\r\n- interoperability with other tools: NumPy, SciPy, Arrow, pandas, Numba\r\n- migrating from pandas\r\n\r\nWhat better way to learn it than by attending a PyCon Lithuania tutorial, delivered by a Polars core dev?", "description": "This will be a hands-on tutorial with many practical examples. It is aimed at software professional working with data who want to level up their skills with learning modern tools.\r\n\r\nThe format will be roughly:\r\n\r\n### Intro\r\n- Motivation, what Polars can do for you\r\n- Round of introductions, get some requests for what you'd like to get out of the session, and what you'd like Polars to do for you\r\n\r\n### Part 1: basics\r\nWe'll cover core concepts:\r\n\r\n  - creating dataframes\r\n  - column operations\r\n  - row operations\r\n  - expressions\r\n  - migration from pandas\r\n  - lazy execution\r\n  - how to avoid \"shooting yourself in the foot\" with Polars lazy execution\r\n\r\n### Part 2: namespaces\r\n\r\n  - working with strings\r\n  - working with datetimes\r\n  - nested datatypes, and how the list datatype gives you superpowers\r\n  - enums vs categoricals\r\n  - how you can add your own namespace (but why you might not want to)\r\n\r\n### Part 3: when Polars isn't enough:\r\n\r\n  - interoperability with NumPy / SciPy / Arrow / pandas\r\n  - using Numba for fast user-defined functions\r\n  - how to learn to write a Polars Plugin in Rust. We won't have time to learn Rust in this tutorial, but you'll be shown where to turn to, and how to learn just enough Rust so that you can write your own Polars Plugin.\r\n- Conclusion, free-form Q&A, assorted requests\r\n\r\nBy the end of the session, you'll have gained experience with Polars and will know where to turn to for practically any problem you'd like to solve with it.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KEUJ9U", "name": "Marco Gorelli", "avatar": "https://pretalx.com/media/avatars/KEUJ9U_Q9qz0Ku.webp", "biography": "Marco is a core dev of pandas and Polars and works at Quansight Labs as Senior Software Engineer.\r\nHe also consults and trains clients professionally on Polars. He has also written the first Polars Plugins Tutorial and has taught Polars Plugins to clients.\r\n\r\nHe has a background in Mathematics and holds an MSc from the University of Oxford, and was one of the prize winners in the M6 Forecasting Competition (2nd place overall Q1).", "public_name": "Marco Gorelli", "guid": "6fa6c8b8-7b91-5fe9-8b55-ae35ecc17ec8", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/KEUJ9U/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/AHZR7D/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/AHZR7D/", "attachments": []}]}}, {"index": 2, "date": "2024-04-03", "day_start": "2024-04-03T04:00:00+03:00", "day_end": "2024-04-04T03:59:00+03:00", "rooms": {"Room 111": [{"guid": "8758ba4c-d134-5698-b1bf-ca1d378e9888", "code": "8MWWR3", "id": 47351, "logo": null, "date": "2024-04-03T09:00:00+03:00", "start": "09:00", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-47351-opening", "url": "https://pretalx.com/pycon-lithuania-2024/talk/8MWWR3/", "title": "Opening", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Introduction to the event and the day.", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/8MWWR3/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/8MWWR3/", "attachments": []}, {"guid": "d15aa62a-ede3-59bb-a513-6ad714e4e3ae", "code": "7TD73H", "id": 44545, "logo": null, "date": "2024-04-03T09:30:00+03:00", "start": "09:30", "duration": "01:00", "room": "Room 111", "slug": "pycon-lithuania-2024-44545-keynote-by-daniel-roy-greenfeld", "url": "https://pretalx.com/pycon-lithuania-2024/talk/7TD73H/", "title": "Keynote by Daniel Roy Greenfeld", "subtitle": "", "track": "Keynote", "type": "Keynote", "language": "en", "abstract": "My mother loves \u0160altibar\u0161\u010diai.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "VDTNQV", "name": "Daniel Roy Greenfeld", "avatar": "https://pretalx.com/media/avatars/VDTNQV_HU2swNW.webp", "biography": "Coder at Kraken Tech \ud83d\udc19\r\nAuthor of tech books \ud83e\udd16\r\nHusband of Audrey Roy Greenfeld\ud83c\udf6a\r\nFather of Uma \ud83e\uddf8\r\nFormer NASA coder \ud83d\ude80\r\nLithuania is my homeland \ud83c\uddf1\ud83c\uddf9", "public_name": "Daniel Roy Greenfeld", "guid": "2fb711e4-d9f7-53e8-b46f-56695fa075a4", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/VDTNQV/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/7TD73H/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/7TD73H/", "attachments": []}, {"guid": "4ecf41c9-8bd4-5bcc-a5ec-0513a3b11ce5", "code": "TKFARD", "id": 42938, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/TKFARD/Django_FTL__Resolving_bottlenecks_on_the_path_to_5oJfRRJ.jpg", "date": "2024-04-03T11:00:00+03:00", "start": "11:00", "duration": "00:30", "room": "Room 111", "slug": "pycon-lithuania-2024-42938-django-ftl-resolving-bottlenecks-on-the-path-to-high-performance", "url": "https://pretalx.com/pycon-lithuania-2024/talk/TKFARD/", "title": "Django FTL: Resolving bottlenecks on the path to high performance.", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "Raw Django doesn't take the first places when comparing the performance of Python web frameworks. However, it can be pretty fast if we identify the bottlenecks and find ways to avoid them. Comparing performance and implementation complexity before and after gives us an understanding of which features should be implemented and what can be skipped.", "description": "The Django framework offers a beautiful set of diverse tools that are easy to understand, set up, and start working with. However, after some time, appearing disadvantages of the framework's features may increase the complexity of the development process and fatally reduce project performance. While the new version of Django successfully improves the developers effictivity, the removing performance issues requires a good understanding of how Django works.\r\n\r\nIn this talk, I will review the most significant performance-reducing factors in Django and provide examples of how to avoid them.\r\n\r\nOverview of the talk from a 10,000-feet view:\r\n\r\n1. Django vs. other faster frameworks: reviewing architectural differences.\r\n2. Request-Response Flow: Identifying elements that can be easily omitted.\r\n3. Forms and Data validation: Balancing flexibility and performance.\r\n4. The quickest methods for data serialization.\r\n5. Debunking myths about async-await productivity.\r\n6. Fire and Forget: FTL Client-Server Communication.\r\n7. Improving Time to First Byte (TTFB). Less known Responce classes.\r\n8. Reviewing other utilities to expedite our project.\r\n9. Q&A.\r\n\r\nBy comparing performance before and after, every developer attending this talk can decide which advice to implement in their own projects.", "recording_license": "", "do_not_record": false, "persons": [{"code": "TJSMCP", "name": "Maxim Danilov", "avatar": "https://pretalx.com/media/avatars/TJSMCP_UjXoW08.webp", "biography": "Python/Django Senior Software Engineer, Solution Architect and Tech Speaker. \r\n\r\nI start my career as a programmer specializing in embedded solutions in 1997, and grow to the role of Chief Technology Officer in 2023. Through many successful projects, I gained a robust understanding of various software development paradigms. After more than 10 years as a code mentor, I finally earned the title 'Super Mentor in Engineering' in December 2023.", "public_name": "Maxim Danilov", "guid": "2926c361-78a7-541a-9dc2-e5151c958cbb", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/TJSMCP/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/TKFARD/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/TKFARD/", "attachments": []}, {"guid": "5640e09b-5cd3-5bb2-97a4-f0b0463848d1", "code": "TZ9ESB", "id": 43748, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/TZ9ESB/Screenshot_2024-03-11_at_21.39.53_qGcmaeJ.png", "date": "2024-04-03T11:30:00+03:00", "start": "11:30", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-43748-django-htmx-democratise-full-stack-web-development", "url": "https://pretalx.com/pycon-lithuania-2024/talk/TZ9ESB/", "title": "Django + HTMX: Democratise Full Stack Web Development", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "Enhance Django with HTMX: Elevate your web applications with seamless client-side interactivity and build dynamic, engaging experiences without page reloads - no React / Vue / Angular required!", "description": "Tired of wrestling with complex front-end frameworks just to build interactive Django apps?\r\n\r\nThis talk introduces HTMX, a powerful approach that empowers back-end developers to craft dynamic web experiences with minimal JavaScript.  Focus on your strengths \u2013 server-side logic and data management \u2013 while HTMX handles partial page updates, real-time interactions, and a single-page application (SPA) feel.\r\n\r\nWe'll explore:\r\n\r\n- Seamless HTMX integration with Django templates for interdependent elements and responsive updates.\r\n- Building dynamic features like search bars, infinite scrolling, and more \u2013 all without a full-blown front-end framework.\r\n- Production readiness: Can HTMX handle real-world deployments? We'll discuss the ideal tech stack to support it.\r\n\r\nDemocratise full-stack development with Django and HTMX. Deliver dynamic web applications with confidence and efficiency!", "recording_license": "", "do_not_record": false, "persons": [{"code": "B3VN3L", "name": "Eimantas N\u0117jus", "avatar": "https://pretalx.com/media/avatars/B3VN3L_fPiEyCk.webp", "biography": null, "public_name": "Eimantas N\u0117jus", "guid": "e0928915-7eaf-551a-90be-9aecbbf41359", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/B3VN3L/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/TZ9ESB/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/TZ9ESB/", "attachments": []}, {"guid": "40aef6b2-1238-535c-a6fe-bfc3f86129a9", "code": "YCMZQ8", "id": 43250, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/YCMZQ8/DALLE_2024-01-09_22.20.22_-_The_image_now_includ_5W9Wuct.png", "date": "2024-04-03T12:00:00+03:00", "start": "12:00", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-43250-building-and-scaling-an-ai-startup-with-async-django", "url": "https://pretalx.com/pycon-lithuania-2024/talk/YCMZQ8/", "title": "Building and Scaling an AI Startup with Async Django", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "Django's async capabilities and batteries-included tooling make it an ideal framework for quickly building MVPs and iterating. This talk demonstrates building a document search MVP with Django templates, ChromaDB, and hosted large language models. It then shows how to refactor and scale it using Elasticsearch, Celery/RabbitMQ workers, React, self-hosted vLLM, and auth. With Django async, you can rapidly build, constantly improve, and deploy the latest AI models in your product.", "description": "Building and Scaling an AI Startup with Async Django\r\n\r\nIn the fast-moving world of AI, startups need to build and deploy new ideas quickly. AI models operate asynchronously and require streaming responses for the best user experience. Luckily, Django now incorporates async behavior while still providing out-of-the-box tooling, making it ideal for rapidly building an AI startup.\r\n\r\nThis talk demonstrates building an MVP where we can ask a Large Language Model (LLM) about the contents of documents (Retrieval Augmented Generation, RAG) usingDjango and then refactoring, scaling, and developing it into a full product. We'll build a simple RAG MVP using ChromaDB and stream responses from a hosted large language model in real-time to a chat interface using Django templates and streaming responses.\r\n\r\nNext, we'll scale and improve the system by:\r\n\r\n- Replacing ChromaDB with Elasticsearch\r\n- Replacing Django Async with Celery workers and RabbitMQ for complex processing\r\n- Replacing Django templates with a React app\r\n- Self-hosting a large language model with vLLM\r\n- Adding token-based authentication\r\n\r\nAI models evolve exponentially - this talk shows how to rapidly integrate new models, build business logic, scale, and swap improved models. With Django's async capabilities, you can build and iterate an AI product quickly.", "recording_license": "", "do_not_record": false, "persons": [{"code": "WAL3T3", "name": "Piotr Gryko", "avatar": "https://pretalx.com/media/avatars/WAL3T3_hvpRha9.webp", "biography": "Dr Piotr Gryko, studied experimental physics at University College London. His PhD at Imperial College London focused on using biomaterials to self assemble inorganic materials, merging the boundaries of biological systems and machines.\r\n\r\nHe now specializes in writing software, having worked with image processing, e-commerce, logistics, embedded systems and web development. Always keen to keep learning, he writes open-source code to further develop his understanding of new technologies.\r\n\r\nCore technologies:\r\n\r\n* Web development (Django)\r\n* Front end web development (reactjs, redux + material ui)\r\n* Data analysis (python, numpy, pandas, jupyter notbooks)\r\n* Devops & sysadmin work (docker, jenkins, digital ocean, postgres replication, ansible, elastic stack)\r\n* Embedded development (C++, arduino, ESP8266, ESP32)", "public_name": "Piotr Gryko", "guid": "60432d95-e443-5d9b-b1e1-a9e43ee7112e", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/WAL3T3/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/YCMZQ8/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/YCMZQ8/", "attachments": []}, {"guid": "afd6ee9d-46e4-5497-9cb1-deaa195b7837", "code": "ZDDUDF", "id": 43868, "logo": null, "date": "2024-04-03T13:30:00+03:00", "start": "13:30", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-43868-lessons-i-wish-i-knew-these-before-from-migrating-a-farm-of-django-projects-from-on-premises-to-aws-with-kubernetes", "url": "https://pretalx.com/pycon-lithuania-2024/talk/ZDDUDF/", "title": "Lessons (I Wish I Knew These Before) from Migrating a Farm of Django Projects from On-Premises to AWS with Kubernetes", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "At Corner Case Technologies, we offer clients a service to migrate from on-premises infrastructure to AWS for various purposes, including high availability, cost optimization, and maintainability. Each migration is unique and necessitates thorough preparation for planning, execution, and subsequent development.\r\n\r\nIn this talk, I will present a specific use case of a migration that we conducted, with a particular focus on the lessons learned during the planning and execution phases.", "description": "At Corner Case Technologies, we offer clients a service to migrate from on-premises infrastructure to AWS for various purposes, including high availability, cost optimization, and maintainability. Each migration is unique and necessitates thorough preparation for planning, execution, and subsequent development.\r\n\r\nIn this talk, I will present a specific use case of a migration that we conducted with a modular Django system, consisting of 10 Django systems, from on-premises infrastructure to the cloud. This presentation will focus particularly on the lessons learned during the planning and execution phases, as well as sharing insights into the tools and actions that proved most effective during this migration.", "recording_license": "", "do_not_record": false, "persons": [{"code": "AH3KWP", "name": "Justinas Kuizinas", "avatar": "https://pretalx.com/media/avatars/AH3KWP_mdPYfyW.webp", "biography": "CTO @ CornerCaseTechnologies\r\nPython tamer\r\nAWS enthusiast\r\nVilniusPy organizer", "public_name": "Justinas Kuizinas", "guid": "fc981d20-571d-55b8-8288-1d6011517762", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/AH3KWP/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/ZDDUDF/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/ZDDUDF/", "attachments": []}, {"guid": "12f5e80b-db7d-5391-bf85-93929d9cd2d4", "code": "PKLE7P", "id": 47975, "logo": null, "date": "2024-04-03T14:00:00+03:00", "start": "14:00", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-47975-python-behind-the-scenes-of-danske-bank-s-cloud-migration-at-scale", "url": "https://pretalx.com/pycon-lithuania-2024/talk/PKLE7P/", "title": "Python behind the scenes of Danske Bank's Cloud Migration at Scale", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "A glance behind the curtains into how an execution part is going with Danske Banks Lift and Shift journey to public cloud. Let's deep dive into some of the technical challenges and a snek Python stack standing right in front helping orchestrate Cloud Migration at Scale.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "VJ893R", "name": "Romualdas", "avatar": "https://pretalx.com/media/avatars/VJ893R_3mxYQtz.webp", "biography": "I'm Chapter Lead @ Developer Journey Automation squad at Danske Bank overseeing our Private/Public cloud portal backend development, Terraform stack.\r\n\r\nMy main focus areas within the bank are enabling automated bank wide migration from Private data centers to Public Cloud. Establishing automated golden paths for modern applications development through Internal Developer Portal, Platform Engineering.\r\n\r\nTechnologies I work with the most: Python, Go, Django REST framework, Kubernetes, Docker, Terraform, RHEL, RabbitMQ, AWS.", "public_name": "Romualdas", "guid": "ed356648-b55b-5938-85ce-f48d08463198", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/VJ893R/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/PKLE7P/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/PKLE7P/", "attachments": []}, {"guid": "48e010bc-514c-5a38-927d-5eafcee71e26", "code": "SRVUWZ", "id": 42848, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/SRVUWZ/BFF299_Post_para_LinkedIn_KVzHH7s.jpg", "date": "2024-04-03T14:30:00+03:00", "start": "14:30", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-42848-saying-bye-to-the-keyboard-hello-to-alexa-with-python-aws-lambda", "url": "https://pretalx.com/pycon-lithuania-2024/talk/SRVUWZ/", "title": "Saying bye to the Keyboard, Hello to Alexa with Python AWS Lambda", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "Join us, and discover how Alexa's ability to recognize and convert speech into text can be used to create applications that break the monotony of your daily routine without the need to use a keyboard at all. We will teach you about the main components of Alexa, how to get started with the Developer console, and how to customize Alexa using our favorite language, Python in a serverless way. We will also demonstrate how to incorporate Alexa into your daily developer life, and you might find that, after this t", "description": "Sometimes, you sit at home and think about whether it would be possible to automate your tasks with voice instructions. For example, do I receive emails from person A, or can you summarize my day? How about doing this without opening the laptop? Thanks to Alexa you can use your voice and send commands to other applications to make it happen. The best thing is you can do this with Python! \r\n\r\nIn this session, we will teach you about the main components of Alexa, how to get started with the Developer console, and how to customize Alexa using our favorite language, Python in a serverless way. We will also demonstrate how to incorporate Alexa into your daily developer life, and you might find that, after this talk, you won't even need your keyboard \u2014 you'll just need your voice for automation.\r\n\r\nJoin us, if you are curious about constructing small and hilarious applications to break the monotony of your routine with Alexa. By the end of this session, you will learn how to do some development tricks with Alexa and how to grant your little friend Alexa's new personalized skills using Python.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZLLVEH", "name": "Laysa Uchoa", "avatar": "https://pretalx.com/media/avatars/ZLLVEH_THr8Go2.webp", "biography": "I\u2019m a digital architect who constructs scalable structures using the magic of the cloud and Python. I\u2019m a certified cloud engineer and an enthusiastic advocate of the Python language and its environments. In addition to this, I am the leader of the PyLadies Munich chapter \u2014 a community where individuals gather to learn, share, and nurture their growth.", "public_name": "Laysa Uchoa", "guid": "172c2f01-bff6-5365-9b5c-833b02c1ae2a", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/ZLLVEH/"}, {"code": "Z8HXML", "name": "Yuliia Barabash", "avatar": "https://pretalx.com/media/avatars/Z8HXML_qoUe8xT.webp", "biography": "I have lived in Germany for the past five years, during which I have gained a diverse range of experiences in the tech industry. My expertise spans from developing web applications in Python to constructing AWS cloud solutions. I have a good understanding of design patterns, Object-Oriented Programming (OOP), event-driven architecture, and microservices architectures. Additionally, I have hands-on experience with REST API design and database technologies. I am continuously committed to enhancing my skills and ensuring that I utilize tools in the best practices.", "public_name": "Yuliia Barabash", "guid": "8aca423b-d47d-545b-8d66-ce05184220d1", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/Z8HXML/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/SRVUWZ/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/SRVUWZ/", "attachments": []}, {"guid": "49bd153d-4763-5ac3-afb7-9e539d5dd5ef", "code": "KMSMN8", "id": 47796, "logo": null, "date": "2024-04-03T15:30:00+03:00", "start": "15:30", "duration": "01:00", "room": "Room 111", "slug": "pycon-lithuania-2024-47796-encode-oss-funding-open-source-development", "url": "https://pretalx.com/pycon-lithuania-2024/talk/KMSMN8/", "title": "Encode OSS: Funding open source development", "subtitle": "", "track": "Keynote", "type": "Keynote", "language": "en", "abstract": "Being an Open Source citizen. I'll be talking about the motivation behind Encode OSS. How we can work towards properly funding open source development, why that's valuable, and what we've been working on lately.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "JMWZ73", "name": "Tom", "avatar": null, "biography": null, "public_name": "Tom", "guid": "c054c5b4-3399-5dce-8f92-ceafa07d2772", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/JMWZ73/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/KMSMN8/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/KMSMN8/", "attachments": []}, {"guid": "a5f839a5-46a9-5d17-a9c8-74e6747596c8", "code": "3YHWWR", "id": 48112, "logo": null, "date": "2024-04-03T16:30:00+03:00", "start": "16:30", "duration": "02:00", "room": "Room 111", "slug": "pycon-lithuania-2024-48112-reception", "url": "https://pretalx.com/pycon-lithuania-2024/talk/3YHWWR/", "title": "Reception", "subtitle": "", "track": "Org", "type": "Talk", "language": "en", "abstract": "Reception drinks.", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/3YHWWR/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/3YHWWR/", "attachments": []}], "Room 203": [{"guid": "8521d4ca-85cf-50fb-90c0-2a1b4c83c3af", "code": "TZQY3Q", "id": 39479, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/TZQY3Q/DALLE_2023-12-27_12.38.02_-_The_image_is_designe_tGM9h9q.png", "date": "2024-04-03T11:00:00+03:00", "start": "11:00", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-39479-pythonic-insight-navigating-the-depths-of-observability", "url": "https://pretalx.com/pycon-lithuania-2024/talk/TZQY3Q/", "title": "Pythonic Insight: Navigating the Depths of Observability.", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "In this presentation, we will be exploring Observability on a Python web application. We will delve into a real-world application, showcase, and discuss the importance of Obversing for Services. We will focus on the three foundations of Observability: Logs, Metrics, and Tracing. \r\nDiscover some tools for observing and monitoring, particularly showcase a Demo of how to integrate DataDog in a Python service. The presentation will show examples of logs and Metrics, and display how to trace a request.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "CGAV9C", "name": "Francis Billa", "avatar": "https://pretalx.com/media/avatars/CGAV9C_lkKsz4D.webp", "biography": "Francis is a software engineer with Shell having experience in several languages and tools. He has in multiple domains like - infrastructure, automation, education and others. Majorly, he has been working as a full stack (backend and frontend). He is passionate about Community Building, Programming and Infrastructure. He strongly believes in the power of community and spends his free time contributing towards the Tech Community  like Python Software foundation (fellow), Google developers group, Women In Data Science, etc.", "public_name": "Francis Billa", "guid": "5459e45e-9b47-5395-90a1-188dd6b26de3", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/CGAV9C/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/TZQY3Q/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/TZQY3Q/", "attachments": []}, {"guid": "9fb67494-4d4c-553f-9f58-6549007766d1", "code": "TNUNGF", "id": 48123, "logo": null, "date": "2024-04-03T11:30:00+03:00", "start": "11:30", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-48123-what-are-descriptors-and-why-does-django-need-them", "url": "https://pretalx.com/pycon-lithuania-2024/talk/TNUNGF/", "title": "What are descriptors and why does Django need them?", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "Frameworks like Django use advanced Python features to provide devs with the magical tools they know and love.\r\n\r\nIn this live-coded talk we\u2019ll take a look at a couple of Django snippets that use descriptors under the hood and we\u2019ll use them as motivating examples for why Python needs descriptors.\r\n\r\nBy the end of the talk, you\u2019ll understand how descriptors work and how they power Django behind the scenes.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "BLNV7P", "name": "Rodrigo Gir\u00e3o Serr\u00e3o", "avatar": "https://pretalx.com/media/avatars/BLNV7P_wULjbpV.webp", "biography": "Rodrigo has always been fascinated by problem solving and that is why he picked up programming \u2013 so that he could solve more problems. He also loves sharing knowledge, and that is why he spends so much time writing articles in his blog [mathspp.com/blog](https://mathspp.com/blog), writing on Twitter [@mathsppblog](https://twitter.com/mathsppblog), and giving workshops and courses. You can also find his past talks on [https://mathspp.com/talks](https://mathspp.com/talks).\r\n\r\nHis main areas of scientific interest are mathematics (numerical analysis in particular) and programming in general (with a preference for the Python and APL languages), but Rodrigo also enjoys reading fantasy books, watching silly comedy movies and eating chocolate.", "public_name": "Rodrigo Gir\u00e3o Serr\u00e3o", "guid": "deadfed1-3cce-5c6f-b1cc-2dd63deac2a5", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/BLNV7P/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/TNUNGF/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/TNUNGF/", "attachments": []}, {"guid": "00442cd3-204f-5d0b-acb5-5270e89e3093", "code": "YE8RC9", "id": 47832, "logo": null, "date": "2024-04-03T12:00:00+03:00", "start": "12:00", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-47832-opensearch-python-and-serverless-for-modern-search-applications", "url": "https://pretalx.com/pycon-lithuania-2024/talk/YE8RC9/", "title": "OpenSearch, Python, and Serverless for Modern Search Applications", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "Facing challenges with search capabilities in your web applications? Discover how the combination of OpenSearch, Python, and serverless architecture can be your solution. This talk provides hands-on examples, from building efficient queries to implementing production-ready practices. You'll gain actionable insights and the practical know-how to build and deploy robust, query-efficient search applications that solve real-world challenges.", "description": "OpenSearch, a community-driven, open-source project, offers a robust alternative for search and analytics needs. When coupled with Python's flexibility and the efficiency of serverless architecture, it transforms into a dynamic trio that empowers developers to create efficient and modern web applications.\r\n\r\nJoin us on a journey as we explore the synergy between OpenSearch, Python, and serverless architecture. In this talk, we'll provide an overview of OpenSearch and demonstrate how to utilize Python with serverless architecture to power your search engine. Additionally, we will delve into best practices and challenges that arise when employing this combination in production.\r\n\r\nBy the end of this talk, you'll gain a clear understanding of how to architect, build, and deploy efficient search applications using OpenSearch, Python, and serverless architecture. Whether you're a developer aiming to enhance your search capabilities or an architect exploring modern search solutions, this talk will equip you with the tools and insights needed to embrace this exciting synergy.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZLLVEH", "name": "Laysa Uchoa", "avatar": "https://pretalx.com/media/avatars/ZLLVEH_THr8Go2.webp", "biography": "I\u2019m a digital architect who constructs scalable structures using the magic of the cloud and Python. I\u2019m a certified cloud engineer and an enthusiastic advocate of the Python language and its environments. In addition to this, I am the leader of the PyLadies Munich chapter \u2014 a community where individuals gather to learn, share, and nurture their growth.", "public_name": "Laysa Uchoa", "guid": "172c2f01-bff6-5365-9b5c-833b02c1ae2a", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/ZLLVEH/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/YE8RC9/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/YE8RC9/", "attachments": []}, {"guid": "42aadd61-351a-543c-9302-03a5122a01ab", "code": "KMGHRE", "id": 42939, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/KMGHRE/%C2%B5Django_2.0_an_asynchronous_microservices_techni_4z1pdws.jpg", "date": "2024-04-03T13:30:00+03:00", "start": "13:30", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-42939-django-2-0-an-asynchronous-microservices-technique", "url": "https://pretalx.com/pycon-lithuania-2024/talk/KMGHRE/", "title": "\u00b5Django 2.0, an asynchronous microservices technique.", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "A standard Django project involves working with multiple files and folders from the start. Let's see how the work with a Django project changes when we have only one file. This solution automatically transforms Django into a microservice-oriented async framework with \"batteries included\u201d philosophy.", "description": "The history of the lightweight Django project isn't new. \r\nI encountered a Django project consisting of only 2 files in 2019. At that time, the tiny Django project wasn't comparable to the capabilities of projects based on FASTAPI or FLASK.\r\nBut a year later, Django introduced ASGI, and by 2022, Django was ready for use in microservices.\r\n\r\nThe concept of creating micro-projects on Django reappeared within the Django community in the spring of 2023, and now we have a full-fledged technology for creating asynchronous microservices consisting of one or two files. It was named uDjango.\r\n\r\nIn this talk, I will share my experience in creating high-performance microservices on Django and how i can keep simplicity and minimalism in projects.\r\n\r\nDuring the talk, I'll discuss the advantages of Django microservices:\r\n\r\n* All-in-one package\r\n* Standard architecture and syntax\r\n* Extremely rapid development and deployment speed\r\n\r\nAfter a year of work with uDjango, I have identified the challenges in creating Django microservices:\r\n\r\n* The prevailing opinion that the 'Django framework isn't suitable for microservices'\r\n* Django settings.py - cause of many problems.\r\n* URL routing in Django that could be stricter\r\n* Initialization time of forms and model objects reduces performance\r\n\r\nThe result of this Talk for the audience will be knowlege about mDjango, a ready-to-use technology for building synchronous and asynchronous microservices.\r\n\r\nTalk Based on ideas of:\r\nKirill Klenov (2019, python benchmark repository )\r\nCarlton Gibson (2022, blog artikle. and folloved discussion)\r\nPaolo Melchiore (2023, mDjango V1. repository)", "recording_license": "", "do_not_record": false, "persons": [{"code": "TJSMCP", "name": "Maxim Danilov", "avatar": "https://pretalx.com/media/avatars/TJSMCP_UjXoW08.webp", "biography": "Python/Django Senior Software Engineer, Solution Architect and Tech Speaker. \r\n\r\nI start my career as a programmer specializing in embedded solutions in 1997, and grow to the role of Chief Technology Officer in 2023. Through many successful projects, I gained a robust understanding of various software development paradigms. After more than 10 years as a code mentor, I finally earned the title 'Super Mentor in Engineering' in December 2023.", "public_name": "Maxim Danilov", "guid": "2926c361-78a7-541a-9dc2-e5151c958cbb", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/TJSMCP/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/KMGHRE/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/KMGHRE/", "attachments": []}, {"guid": "7e8f02b7-1c16-5ac6-96fc-f2e516b5c4b7", "code": "A9BS37", "id": 47999, "logo": null, "date": "2024-04-03T14:00:00+03:00", "start": "14:00", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-47999-scaling-refactoring-and-fixing-a-django-mvp-for-production", "url": "https://pretalx.com/pycon-lithuania-2024/talk/A9BS37/", "title": "Scaling, Refactoring and fixing a Django MVP for Production", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "So you've built an AI startup using Async DJango - the MVP looks great and your hand full of users love it. Now you need to clean up the MVP, so you can scale.\r\nThis is the Part Two, to building an AI startup with Async DJango - we talk about moving from ChromaDb to a OpenSearch/ElasticSearch, document processing steps to Celery/RabbitMQ, selfhosting via vLLM, migrating from Django templates to a ReactJs APP, better monitoring and logging", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "WAL3T3", "name": "Piotr Gryko", "avatar": "https://pretalx.com/media/avatars/WAL3T3_hvpRha9.webp", "biography": "Dr Piotr Gryko, studied experimental physics at University College London. His PhD at Imperial College London focused on using biomaterials to self assemble inorganic materials, merging the boundaries of biological systems and machines.\r\n\r\nHe now specializes in writing software, having worked with image processing, e-commerce, logistics, embedded systems and web development. Always keen to keep learning, he writes open-source code to further develop his understanding of new technologies.\r\n\r\nCore technologies:\r\n\r\n* Web development (Django)\r\n* Front end web development (reactjs, redux + material ui)\r\n* Data analysis (python, numpy, pandas, jupyter notbooks)\r\n* Devops & sysadmin work (docker, jenkins, digital ocean, postgres replication, ansible, elastic stack)\r\n* Embedded development (C++, arduino, ESP8266, ESP32)", "public_name": "Piotr Gryko", "guid": "60432d95-e443-5d9b-b1e1-a9e43ee7112e", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/WAL3T3/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/A9BS37/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/A9BS37/", "attachments": []}, {"guid": "ff8787b5-53f4-53ff-a1f9-97db363c36ec", "code": "9KEQ7K", "id": 43327, "logo": null, "date": "2024-04-03T14:30:00+03:00", "start": "14:30", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-43327-how-we-develop-and-maintain-a-modern-python-service-at-mozilla-merino-as-example", "url": "https://pretalx.com/pycon-lithuania-2024/talk/9KEQ7K/", "title": "How we Develop and Maintain a Modern Python Service at Mozilla: Merino as Example", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "At Mozilla, we maintain services that are used by millions of users daily.  These services are the backbone of expanding Firefox and providing users with useful features, all while protecting privacy.\r\n\r\nLearn about how one service, Merino, was planned to meet user needs at scale. This service providers users with search recommendations and suggestions from local and remote providers. Get some insights on how we develop, deploy and monitor and maintain this modern Python service.", "description": "This talk surveys a single service that provides suggestions to users.  As a member of the Content Discovery Services team, I work on this service. This will be a first hand overview of our team processes and lessons we have learned through the process. The components highlighted will include:\r\n- Planning and prioritization \r\n- Development Process\r\n- Testing\r\n- Deployment\r\n- Rapid Release CI/CD\r\n- Monitoring\r\n- Retrospection", "recording_license": "", "do_not_record": false, "persons": [{"code": "NC7JHC", "name": "Tadas Korris", "avatar": "https://pretalx.com/media/avatars/NC7JHC_HedVvHq.webp", "biography": "Tadas (Taddes) Korris is a software engineer at Mozilla who works in the Contextual Services team for Firefox, where he writes and maintains code that millions of users use daily. His team helps provide users valuable suggestions to make the browsing experience better while maintaining privacy.  He strongly advocates for online privacy and security, with expertise in developing secure software throughout its lifecycle.  He has the Security+ certification and is actively working towards several other certifications to develop his skills in security engineering. \r\n\r\nTadas was born to a Lithuanian-Canadian family in Toronto and grew up in Edmonton. His family maintained close cultural ties to the local Lithuanian community and Tadas learned to speak Lithuanian and participated in cultural activities.\r\n\r\nHis professional life began as a professional classical musician, attending the Manhattan School of Music in New York City for his Bachelor\u2019s and Maser\u2019s Degrees.  He then attained a diploma from the University of North Carolina in Web and Software development in 2018 and joined Passport, a tech and transportation company.  He joined Mozilla in 2022 and retains musical ties as a regular substitute musician with the Charlotte, North Carolina and Charleston Symphonies.", "public_name": "Tadas Korris", "guid": "a5916508-23fd-574a-846a-2654f723ee69", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/NC7JHC/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/9KEQ7K/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/9KEQ7K/", "attachments": []}], "Room 228": [{"guid": "ee61828d-b72b-5081-b33b-8c3057e0fc5f", "code": "KNDNHR", "id": 47836, "logo": null, "date": "2024-04-03T11:00:00+03:00", "start": "11:00", "duration": "00:25", "room": "Room 228", "slug": "pycon-lithuania-2024-47836-your-proposal-data-harvest-unlocking-insights-with-web-scraping", "url": "https://pretalx.com/pycon-lithuania-2024/talk/KNDNHR/", "title": "Your proposal: Data Harvest: Unlocking Insights with Web Scraping", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "In today's data-driven world, knowing how to gather and analyze information is more critical than ever. Join us for a compact session on using Python for crawling the web and solve real-time problems. We'll cover the basics, and then dive into a practical example of collecting data from the internet.", "description": "Curious about the untapped potential of web data and how to leverage it for actionable insights? This is a session you won't want to miss. Join us, where during this session, you will walk thought a comprehensive guide to harvesting the web's data resources. \r\nThe presentation will go as follows: \r\n- The Importance of Data: Kick off the session by diving into why data is such a critical asset in today's digital landscape, and how it can be a game-changer in various aspects of life and business. \r\n- Implement of web scraping tools: What is web scraping tools and why should you care? Get to know the way of creating application that simplifies web crawling and scraping. \r\n- Building Real-World Application: Get hands-on with a real-life case study that demonstrates how Python can be used to collect information on specific use case.\r\n\r\nWhether you're a novice eager to learn or a seasoned pro looking to refine your toolkit, this talk aims to equip you with both the theoretical understanding and practical skills needed to excel in the world of web data. By the end of the talk, you'll have a rich toolkit to collect, analyze, and apply web data in your own projects.", "recording_license": "", "do_not_record": false, "persons": [{"code": "Z8HXML", "name": "Yuliia Barabash", "avatar": "https://pretalx.com/media/avatars/Z8HXML_qoUe8xT.webp", "biography": "I have lived in Germany for the past five years, during which I have gained a diverse range of experiences in the tech industry. My expertise spans from developing web applications in Python to constructing AWS cloud solutions. I have a good understanding of design patterns, Object-Oriented Programming (OOP), event-driven architecture, and microservices architectures. Additionally, I have hands-on experience with REST API design and database technologies. I am continuously committed to enhancing my skills and ensuring that I utilize tools in the best practices.", "public_name": "Yuliia Barabash", "guid": "8aca423b-d47d-545b-8d66-ce05184220d1", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/Z8HXML/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/KNDNHR/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/KNDNHR/", "attachments": []}, {"guid": "4ca1f373-1711-5c6d-ad90-45fbefdd6785", "code": "GSKRVE", "id": 39734, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/GSKRVE/Purple_Simple_Geometric_Business_Webinar_Banner__CGGNPUp.png", "date": "2024-04-03T11:30:00+03:00", "start": "11:30", "duration": "00:25", "room": "Room 228", "slug": "pycon-lithuania-2024-39734-cracking-the-code-decoding-anti-bot-systems", "url": "https://pretalx.com/pycon-lithuania-2024/talk/GSKRVE/", "title": "Cracking the Code: Decoding Anti-Bot Systems!", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "Join us for a presentation where we share the mysteries of anti-bot systems, guarding websites, APIs, and mobile applications ! \ud83c\udf10\ud83d\udcf2\r\n\r\n\ud83d\udee0\ufe0f What's in Store:\r\n\r\n1/ Exploring the Defence Layers\r\n2/ Anti-Bot Reputation Score Demystified\r\n3/ Strategies for Evasion\r\n\r\nAfter this talk, you'll emerge well-equipped with knowledge to navigate and comprehend the nuances of these protective measures! \ud83d\ude80\ud83d\udd12", "description": "Join us for a presentation where we share the mysteries of anti-bot systems, guarding websites, APIs, and mobile applications ! \ud83c\udf10\ud83d\udcf2\r\n\r\n\ud83d\udee0\ufe0f What's in Store:\r\n\r\n1/ Exploring the Defence Layers\r\n\r\nUncover the intricate layers of defence with TCP Fingerprint, TLS Fingerprint, HTTP/2 Fingerprint, and Browser Fingerprint. \ud83e\udd2f\ud83d\udd0d\r\n\r\n2/ Anti-Bot Reputation Score Demystified\r\n\r\nDelve into the workings of the anti-bot reputation score, understanding how it operates across various layers to fortify websites. \ud83d\udee1\ufe0f\ud83d\udca1\r\n\r\n3/ Strategies for Evasion\r\n\r\nDiscover crafty strategies to navigate through these defences, unveiling techniques to outsmart detection mechanisms. \ud83d\udd75\ufe0f\u200d\u2642\ufe0f\ud83d\udca8\r\n\r\n\ud83d\udcbc Equip Yourself\r\n\r\nAfter this talk, you'll emerge well-equipped with knowledge to navigate and comprehend the nuances of these protective measures! \ud83d\ude80\ud83d\udd12\r\n\r\nDon't miss this opportunity to gain insights into the fascinating world of anti-bot systems. \ud83c\udf10\ud83d\udd13\r\n#AntiBotSystems #CyberSecurity #TechTalks", "recording_license": "", "do_not_record": false, "persons": [{"code": "HQ7MK8", "name": "Fabien Vauchelles", "avatar": "https://pretalx.com/media/avatars/HQ7MK8_Djku9t6.webp", "biography": "Fabien Vauchelles is the Anti-Ban Expert at Wiremind. With over a decade of experience in web scraping, Fabien's passion for code and technology helps him to bypass bans. He is the creator of Scrapoxy, an opensource proxy aggregator for webscraping.\r\n\r\nHe had the opportunity to speak at Devoxx FR, Zyte\u2019s Extract Summit and Voxxed Days.", "public_name": "Fabien Vauchelles", "guid": "6337a5ee-4679-53c1-960c-d90b1f16f3b5", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/HQ7MK8/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/GSKRVE/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/GSKRVE/", "attachments": []}, {"guid": "2df83363-507d-56ab-9cfd-18cfc8534d12", "code": "KZYPXZ", "id": 47682, "logo": null, "date": "2024-04-03T12:00:00+03:00", "start": "12:00", "duration": "00:25", "room": "Room 228", "slug": "pycon-lithuania-2024-47682-how-to-utilize-machine-learning-for-better-web-scraping", "url": "https://pretalx.com/pycon-lithuania-2024/talk/KZYPXZ/", "title": "How to Utilize Machine Learning for Better Web Scraping", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "Join Tadas Gedgaudas in an enlightening talk on revolutionizing web scraping with machine learning. Uncover how ChatGPT can adapt to website layout changes, making scraping more efficient and reducing maintenance needs. Delve into data structurization with ML, the seamless integration of ChatGPT for parsing, and its practical impact for developers.", "description": "In rule-based web scraping, the slightest change in website layout breaks the process, prompting the script overhaul to adapt to a new layout. With machine learning (ML), you don\u2019t have to set up or readjust a dedicated parser for an individual web page. The trained model recognizes prices, descriptions, or anything it was trained to do, even after layout changes.\r\n\r\nDuring his talk, Tadas Gedgaudas, a developer at Oxylabs, will share his knowledge of large language models \u2013 ChatGPT in this case \u2013 and their integration into the web scraping process.\r\n\r\nTadas will cover the following:\r\n\u27a1\ufe0f Nuances of data structurization with and without ML.\r\n\u27a1\ufe0f A walkthrough of getting, preparing, and submitting data to ChatGPT.\r\n\u27a1\ufe0f A detailed demo of combining ChatGPT with Oxylabs Web Scraper API to scrape and parse web pages without building your own tools.\r\n\r\nThe talk is an essential stepping stone for developers and decision-makers to understand how ML-enabled parsing saves time, drastically reduces maintenance, and turns any website into structured data.\r\n\r\nFor your convenience, Tadas has provided code samples of his presentation. You can access an open-source Oxy\u00ae Parser library here: https://github.com/oxylabs/OxyParser.", "recording_license": "", "do_not_record": false, "persons": [{"code": "JJKYK3", "name": "Tadas Gedgaudas", "avatar": "https://pretalx.com/media/avatars/JJKYK3_SSnUZdG.webp", "biography": "From the very beginning of his software development career, Tadas focused on web data extraction. In fact, his very first project was a web scraper. As a web scraping engineer, Tadas is product-minded and, one could say, obsessed with making software as performant as possible. In turn, he practices productivity tracking and even dedicates his pastime to crafting an open-source ML-powered data parsing library.", "public_name": "Tadas Gedgaudas", "guid": "4c59f9a7-353e-5515-b731-d5d28cfb96e5", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/JJKYK3/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/KZYPXZ/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/KZYPXZ/", "attachments": []}, {"guid": "e832f07c-4445-5d97-a7ed-db502326f22e", "code": "UTWDDQ", "id": 39733, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/UTWDDQ/pycon_lithuania_5NCWMFm.png", "date": "2024-04-03T14:30:00+03:00", "start": "14:30", "duration": "00:25", "room": "Room 228", "slug": "pycon-lithuania-2024-39733-mastering-web-scraping-unleash-your-data-extraction-wizardry", "url": "https://pretalx.com/pycon-lithuania-2024/talk/UTWDDQ/", "title": "Mastering Web Scraping: Unleash Your Data Extraction Wizardry!", "subtitle": "", "track": "Web", "type": "Talk", "language": "en", "abstract": "Unlock the full potential of web scraping with this session! From novice to virtuoso, join us on an exciting journey of data extraction as we unravel secrets and advanced techniques.\r\n\r\n\ud83d\udd0d Session Highlights:\r\n1/ Building Web Scrapers - The Art Unveiled \ud83d\udee0\ufe0f\r\n2/ Proxy and Browser Farms Adventure \ud83c\udf10\r\n3/ Scrapoxy Orchestration - Elevate Your Scalability \ud83d\ude80\r\n4/ Protection Measures Disclosed \ud83d\udd12\r\n\r\nThis concise session will immerse you in the fascinating world of web scraping.", "description": "Unlock the full potential of web scraping with this session! From novice to virtuoso, join us on an exciting journey of data extraction as we unravel secrets and advanced techniques.\r\n\r\n\ud83d\udd0d Session Highlights\r\n\r\n1/ Building Web Scrapers - The Art Unveiled \ud83d\udee0\ufe0f\r\n- Master the craft of constructing resilient scrapers for diverse websites.\r\n- Explore best practices, strategies, and common pitfalls.\r\n\r\n2/ Proxy and Browser Farms Adventure \ud83c\udf10\r\n- Understand the different proxy types: datacenter, residential, and mobile proxies.\r\n- Dive into browser farms for dynamic and efficient data extraction.\r\n- Become an expert in mastering browser farms with Puppeteer and Playwright.\r\n\r\n3/ Scrapoxy Orchestration - Elevate Your Scalability \ud83d\ude80\r\n- Discover Scrapoxy, an open-source proxies aggregator designed for intelligent traffic routing.\r\n- Scrapoxy will be your ultimate tool to be present anywhere on the planet.\r\n\r\n4/ Protection Measures Disclosed \ud83d\udd12\r\n- Overcome challenges like captchas and anti-bot measures.\r\n- Gain insights into reverse engineering protection mechanisms for token generation.\r\n\r\nThis concise session will immerse you in the fascinating world of web scraping. \r\n\r\nDon't miss the opportunity to master these essential skills and revolutionise your approach to data extraction!\r\n\r\n#WebScraping #Proxy #ReverseEngineering \ud83d\udd75\ufe0f\u200d\u2642\ufe0f", "recording_license": "", "do_not_record": false, "persons": [{"code": "HQ7MK8", "name": "Fabien Vauchelles", "avatar": "https://pretalx.com/media/avatars/HQ7MK8_Djku9t6.webp", "biography": "Fabien Vauchelles is the Anti-Ban Expert at Wiremind. With over a decade of experience in web scraping, Fabien's passion for code and technology helps him to bypass bans. He is the creator of Scrapoxy, an opensource proxy aggregator for webscraping.\r\n\r\nHe had the opportunity to speak at Devoxx FR, Zyte\u2019s Extract Summit and Voxxed Days.", "public_name": "Fabien Vauchelles", "guid": "6337a5ee-4679-53c1-960c-d90b1f16f3b5", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/HQ7MK8/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/UTWDDQ/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/UTWDDQ/", "attachments": [{"title": "banner", "url": "/media/pycon-lithuania-2024/submissions/UTWDDQ/resources/webscraping_pylituania_qxnaucu.png", "type": "related"}]}], "Room 219": [{"guid": "6b39bf44-1ddb-5ddf-9c90-c671705a9277", "code": "KPJVTQ", "id": 43093, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/KPJVTQ/1_VlyDNz2OdQ8qxDkS7IXzlA_TKDyi6x.png", "date": "2024-04-03T13:30:00+03:00", "start": "13:30", "duration": "02:00", "room": "Room 219", "slug": "pycon-lithuania-2024-43093-fastdjango-conjuring-powerful-apis-with-the-sorcery-of-django-ninja", "url": "https://pretalx.com/pycon-lithuania-2024/talk/KPJVTQ/", "title": "FastDjango: Conjuring Powerful APIs with the Sorcery of Django Ninja", "subtitle": "", "track": "Web", "type": "Workshop", "language": "en", "abstract": "Dive into the world of modern web development by fusing the power of Django and FastAPI. This talk will guide you through the process of building robust, scalable, and efficient APIs using Django Ninja, a web framework that combines Django's reliability and FastAPI's speed. We'll explore how to leverage Django's ORM and user authentication while enjoying FastAPI's performance and type checking. Whether you're a Django veteran looking to supercharge your APIs or a beginner eager to learn cutting-edge techniq", "description": "Welcome to 'Django + FastAPI Fusion: Unleashing Robust APIs with Django Ninja Magic', a beginner-friendly exploration into the world of Django Ninja. This talk is designed for those who are just starting their journey in Django and are eager to expand their skills in modern web development.\r\n\r\nWe'll start with the basics, introducing you to Django Ninja, a toolkit that combines the simplicity and structure of Django with the speed and performance of FastAPI-like features. We'll walk you through the process of setting up your first Django Ninja project, explaining each step in a clear, easy-to-understand manner.\r\n\r\nNext, we'll dive into the core of Django Ninja, exploring how it integrates Django's robust ORM and user authentication system with FastAPI-like type checking and performance benefits. We'll show you how to build powerful, efficient APIs that can handle complex data structures and high loads.\r\n\r\nThroughout the talk, we'll be building a real-world application, giving you hands-on experience with Django Ninja. We'll also share best practices for structuring your code and handling common challenges in API development.\r\n\r\nBy the end of this talk, you'll have a solid understanding of Django Ninja and how to use it to build robust, high-performing APIs. You'll be equipped with the knowledge and confidence to start your own Django Ninja projects and take your Django skills to the next level.\r\n\r\nWhether you're a Django beginner looking to learn new techniques or a seasoned developer interested in modern web development practices, this talk will provide valuable insights and practical skills. Join us to discover the magic of Django Ninja and unleash the power of Django + FastAPI fusion in your web development journey!", "recording_license": "", "do_not_record": false, "persons": [{"code": "EVVNDN", "name": "Julius Boakye", "avatar": "https://pretalx.com/media/avatars/EVVNDN_hqR9GG1.webp", "biography": "I am currently a dedicated Computer Science student in my third year at Accra Technical University, located in the vibrant city of Accra, Ghana. As a passionate software engineer, I specialize in Python and Django, with a knack for crafting robust APIs using Django Rest Framework.\r\n\r\nMy journey in the realm of software engineering has been marked by the creation of some exciting projects using Django and Django Rest Framework. Leveraging third-party libraries and exploring Infrastructure as Code (IaC), I've ventured into the world of cloud computing for efficient storage solutions and more.\r\n\r\nBeyond academics, I serve as the Google Developer Student Club lead for my campus, fostering a community of eager learners and enthusiasts. Additionally, I take pride in being the Lead Influencer of Crowdsourc eby Google, where I organize engaging Machine Learning workshops and guide individuals in contributing to Google AI initiatives.\r\n\r\nAt the forefront of community building, I lead PyClub on my campus, advocating for the versatility of Python through workshops and insightful discussions. As a Campus Ambassador for PayBox Global, a fintech company, I bridge the gap between technology and finance, bringing innovative solutions to my campus community.\r\n\r\nMy journey is fueled by a passion for technology, a commitment to community empowerment, and a belief in the transformative power of Python. I look forward to continuing this exciting journey and contributing meaningfully to the world of technology.", "public_name": "Julius Boakye", "guid": "f295ea50-917d-5490-b601-c2fb26388863", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/EVVNDN/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/KPJVTQ/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/KPJVTQ/", "attachments": []}]}}, {"index": 3, "date": "2024-04-04", "day_start": "2024-04-04T04:00:00+03:00", "day_end": "2024-04-05T03:59:00+03:00", "rooms": {"Room 111": [{"guid": "a783b780-2770-5530-8c11-1de459a6ed56", "code": "PLZ9GQ", "id": 44658, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/PLZ9GQ/Dancing_with_Design_k876QlL.jpeg", "date": "2024-04-04T09:30:00+03:00", "start": "09:30", "duration": "01:00", "room": "Room 111", "slug": "pycon-lithuania-2024-44658-dancing-with-design", "url": "https://pretalx.com/pycon-lithuania-2024/talk/PLZ9GQ/", "title": "Dancing with Design", "subtitle": "", "track": "Keynote", "type": "Keynote", "language": "en", "abstract": "Look at your system's design! Are the major structures and technology choices the result of conscious decisions, or have they emerged as the system has evolved? Is the design stuck in a local minima while ever more features are piled into the system? How can we design systems which withstand the major forces acting on a solution?\r\n\r\nWe\u2019ll see why system designers should focus deliberately on the constraints and qualities of system design, and avoid getting too distracted by features.", "description": "In 25 years of programming professionally, most often, and most enjoyably, in Python, I've experienced what makes projects brilliant successes \u2013 or epic failures. What will cause your project to succeed \u2013 or fail?\r\nYou\u2019ll help me delve into the demographic characteristics of our industry, dominated by a predominantly young workforce and high turnover. This dynamic has resulted in a lack of experience and inadequate feedback loops, making it challenging to build and maintain firm foundations.\r\nDrawing parallels between the software industry and the fashion world, I discuss the pervasive influence of trends and the ephemeral nature of technology adoption, provide a framework for grounding expectations regarding new technologies. \r\nWe\u2019ll explore the impact of cognitive biases on decision-making within the industry, highlighting biases like the availability cascade, recency effect, and pro-innovation bias. I\u2019ll discuss the challenges faced by software designers, emphasizing that architecture is fundamentally about decision-making and the necessary trade-offs to achieve software qualities.\r\nDistinguishing between functionality and software qualities, I emphasize the emergent nature of qualities and the difficulty in capturing and testing these in practice. The discussion challenges the popular wisdom regarding the independence of functionality and qualities, suggesting that adjustments are not always orthogonal.\r\nI\u2019ll draw a powerful analogy with the concept of incident forces acting on a system, framing requirements as forces that demand resolution. We explore the resolution of incident forces, factoring them into functionality, qualities, constraints, and principles,\r\nhelping us direct our attention to where it matters most.\r\nThe talk concludes with insights into the challenges of navigating the complex space of software qualities, emphasizing the trade-offs and optimization problems inherent in architectural decision-making, finishing with an important message for budding software designers.", "recording_license": "", "do_not_record": false, "persons": [{"code": "9FURUQ", "name": "Robert Smallshire", "avatar": "https://pretalx.com/media/avatars/9FURUQ_RsFC5ma.webp", "biography": "Robert has been working with Python for 25 years in the energy and ed-tech sectors, understanding, designing, advocating and implementing effective architectures for sophisticated scientific, enterprise and media production software in Python. He believes in the necessity of a strong engineering culture and enjoys performing the coaching and training necessary to achieve one, while being deliberate with the many and complex trade-offs involved in delivering complex \u2013 but not complicated \u2013 systems. His most recent venture is with video content production systems, largely implemented in Python.\r\n\r\nOver the last decade, Robert\u2019s Python training courses on Pluralsight have often been in the top-five most popular and have accumulated 1.9 million hours of view time and reached over 1 million paying subscribers. He is co-author of The Python Apprentice, The Python Journeyman, and The Python Master trilogy.", "public_name": "Robert Smallshire", "guid": "2148cec1-0e5e-54c8-9ff6-ce6dfbaf8629", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/9FURUQ/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/PLZ9GQ/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/PLZ9GQ/", "attachments": []}, {"guid": "3497826b-7fc4-5c1c-91a2-88ec632e8ae5", "code": "UWGJDL", "id": 41543, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/UWGJDL/D3907C48-042A-4BB5-A3C7-164F9692AE22_97Bn7xl.jpeg", "date": "2024-04-04T11:00:00+03:00", "start": "11:00", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-41543-is-mojo-just-a-hype", "url": "https://pretalx.com/pycon-lithuania-2024/talk/UWGJDL/", "title": "Is Mojo just a hype?", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "In May 2023, there was a big buzz in the AI community as a brand-new programming language called 'Mojo' made its debut. People were talking about it in blog posts like: 'Mojo may be the biggest programming language advance in decades'.\r\nIn this talk, we'll dive into Mojo, checking out what it promises and where it stands right now, and also pondering what the future could hold for it.\r\n\r\nTarget Audience: Software Developers\r\nPrerequisites: General knowledge about programming languages", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "EVVHQU", "name": "Maxim Zaks", "avatar": "https://pretalx.com/media/avatars/EVVHQU_JnC6lLO.webp", "biography": "A versatile software engineer with more than 15 years of professional experience, having worked for both major corporations and startup ventures. Currently, his main area of expertise lies in data engineering, although he has previously contributed to a wide range of projects, including mobile app development, building integrated development environments (IDEs), crafting web applications (both frontend and backend), and even creating games.", "public_name": "Maxim Zaks", "guid": "181f95cc-00d8-5cac-8dc4-49f191fe203d", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/EVVHQU/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/UWGJDL/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/UWGJDL/", "attachments": []}, {"guid": "ccd06a7f-0ae9-5228-9bad-dcd13b058e7d", "code": "9PC9UV", "id": 47608, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/9PC9UV/65f0c67f353caa46712bfe4c__a0a03f2a-fe8f-44de-90d_lRTJLnc.jpg", "date": "2024-04-04T11:30:00+03:00", "start": "11:30", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-47608-unleashing-python-s-potential-with-max-platform", "url": "https://pretalx.com/pycon-lithuania-2024/talk/9PC9UV/", "title": "Unleashing Python's potential with MAX Platform", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "The speech will address Python's limitations in AI and how MAX Platform can overcome them by offering superior speed, seamless Python code execution, and hardware compatibility. It will inspire Pythonistas to explore MAX Platform and unlock new possibilities in AI development and beyond.", "description": "Key points to expect:\r\n\r\n- Frustrations with Python in AI Development: the challenges Python developers face when working with AI, such as slow processing and compatibility issues.\r\n- Introducing MAX Platform: The Modular MAX Platform will be presented as a solution. It promises to be much faster than traditional Python for AI tasks and allows direct execution of existing Python code.\r\n- Benefits for Python Developers: will emphasize the advantages MAX Platform offers, including faster development cycles, and hardware flexibility.\r\n- Call to Action: Will encourage the audience to try MAX Platform and explore its potential for their AI or any projects.", "recording_license": "", "do_not_record": false, "persons": [{"code": "C9QHZP", "name": "Antanas Daujotis", "avatar": "https://pretalx.com/media/avatars/C9QHZP_IWPlsEH.webp", "biography": "As a passionate technologist with 20 years of experience, I believe collaboration and leveraging individual strengths are key to success.  My mission? To empower people with time-saving technology, freeing them to pursue their passions.\r\n\r\nThis talk tackles Python's limitations in AI development and introduces the Modular MAX Engine at PyCon LT 2024.  Discover how MAX Engine unleashes Python's potential, offering blazing-fast execution, seamless code integration, and hardware flexibility. Let's unlock new possibilities in AI, optimize our time, and together, shape a future brimming with innovation and progress. Join me, and let's make every second count!", "public_name": "Antanas Daujotis", "guid": "9d168dfa-b7ee-5c8b-9a91-fd00d52ced91", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/C9QHZP/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/9PC9UV/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/9PC9UV/", "attachments": []}, {"guid": "ebe4cc86-eb7d-5133-a650-ee58b2bd69b3", "code": "HFJEDX", "id": 44543, "logo": null, "date": "2024-04-04T12:00:00+03:00", "start": "12:00", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-44543-designing-for-tomorrow-s-programming-workflows", "url": "https://pretalx.com/pycon-lithuania-2024/talk/HFJEDX/", "title": "Designing for tomorrow's programming workflows", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "New tools are changing how people program, and even _who_ programs. Type hints, modern editor support and, more recently, AI-powered tools like GitHub Copilot and ChatGPT are truly transforming our workflows and improving developer productivity. But what does this mean for how we should be writing and designing our APIs and libraries?", "description": "In this talk, I'll share what I've learned from developing open-source tools used by thousands of developers, strategies for how to design future-proof developer APIs and why, contrary to what you might think, making tools programmable is becoming even more important, not less.\r\n\r\nIf how people program is changing, how should we adjust how we\u2019re designing our APIs, whether they\u2019re Python, REST or some other technology? In this talk, I\u2019ll suggest three implications.\r\n\r\nFirst, programmatic interfaces are becoming more accessible. More professional tools can be optionally programmable, and more users will be able to take advantage of that feature to make their tasks more reliable and less repetitive.\r\n\r\nSecond, libraries can lean more towards composable building blocks, instead of offering a large flat surface of entry point functions. Guiding users through multi-step workflows is hard, so a \"horizontal\" design with lots of all-in-one functions can be easier to adopt from documentation. But the horizontal design is also harder for users to extend and debug. Generative AI tools can help address the learning curve problem, and give users more control.\r\n\r\nThird, backwards compatibility will be more important than ever. Evolving versions already made it much harder to find usage from sites such as StackOverflow, and it causes an even bigger problem for current generative AI technologies. This is another point in favour of composable building blocks, as it's much harder to maintain backwards compatibility for a horizontal API style.", "recording_license": "", "do_not_record": false, "persons": [{"code": "XAUU7S", "name": "Matthew Honnibal", "avatar": "https://pretalx.com/media/avatars/XAUU7S_5oBaktv.webp", "biography": "Matthew Honnibal the co-founder of Explosion and a leading expert in AI technology, known for his research, software and writings. He completed his PhD in 2009, and spent a further 5 years publishing research on state-of-the-art natural language understanding systems. Anticipating the AI boom, he left academia in 2014 to develop spaCy, a popular open-source library for industrial-strength Natural Language Processing.", "public_name": "Matthew Honnibal", "guid": "3e274b51-e82f-5025-9319-57f74659a678", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/XAUU7S/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/HFJEDX/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/HFJEDX/", "attachments": []}, {"guid": "bba3dbcf-1032-5fb5-aa0e-e6b42c94c011", "code": "SNCTUR", "id": 48262, "logo": null, "date": "2024-04-04T12:25:00+03:00", "start": "12:25", "duration": "01:35", "room": "Room 111", "slug": "pycon-lithuania-2024-48262-lunch", "url": "https://pretalx.com/pycon-lithuania-2024/talk/SNCTUR/", "title": "Lunch", "subtitle": "", "track": "Org", "type": "Talk", "language": "en", "abstract": "Lunch", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/SNCTUR/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/SNCTUR/", "attachments": []}, {"guid": "d2202832-774a-57d5-8213-b49f18b42e96", "code": "BBFJVD", "id": 43915, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/BBFJVD/PyCon_LT_20241_XwMA96o.png", "date": "2024-04-04T14:00:00+03:00", "start": "14:00", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-43915-the-role-of-rust-zig-and-c-in-the-python-ecosystem", "url": "https://pretalx.com/pycon-lithuania-2024/talk/BBFJVD/", "title": "The role of Rust, Zig and C++ in the Python ecosystem", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "Python's ecosystem is one of the best out there, and this is mainly due to its community and what lies inside its core, a C API.\r\n\r\nBeing partially in C enables Python to interact with many languages out there which might be known by you like C++, Rust or Zig. But how does it work?\r\n\r\nOn this talk, you will be able to understand how Python can embrace the power and performance of other languages, in order to expose modules that improve the whole ecosystem.", "description": "The standard Python implementation is written in C (mostly) and the potential of that detail has been demonstrated with the evolution of the ecosystem, among them, the focus on calculations with a performance and precision necessary to be part of scientific projects that revolutionize different fields.\r\n                                                                                                       \r\nBut how do extensions work?\r\nIn this talk we will see how different programming languages offer the possibility of extending Python, and current cases to which its popularity can be attributed.\r\n                                                                                                       \r\nPractical examples of extensions in C++, Rust and Zig will be presented, using the C-API and binding generators tools that are currently the being used in popular Python packages.\r\n\r\nAfter this talk, you will have a general understanding of the process, and will have a starting point to hopefully create the next blazing-fast Python package, that will improve the ecosystem.\r\n\r\n# Outline\r\n- Introduction to CPython and its C-API [4 min]\r\n- Using C++\r\n  - Introduction to the language [2 min]\r\n  - Python binding example [3 min]\r\n- Using Rust\r\n  - Introduction to the language [2 min]\r\n  - Python binding example [3 min]\r\n- Using Zig\r\n  - Introduction to the language [2 min]\r\n  - Python binding example [3 min]\r\n- Binding generators\r\n  - Example with a few tools like pybind11/nanobind, shiboken, and PyO3 but mentioning other as well [5 min]\r\n- Other languages\r\n  - Brief mention to other languages and their possibilities [1 min]", "recording_license": "", "do_not_record": false, "persons": [{"code": "8VVS8L", "name": "Cristi\u00e1n Maureira-Fredes", "avatar": "https://pretalx.com/media/avatars/8VVS8L_mpxCQ39.webp", "biography": "Hello! My name is Cristi\u00e1n and I currently work as Sr. R&D Manager at The Qt Company. One of my main responsibilities is the Qt for Python project (PySide/Shiboken), which is the set of official bindings of the Qt Framework to Python. In my day to day, I work with C++, Python and CPython, which are usually the topics of my talks. In my spare time, I like to collaborate with Open Source communities, mainly Python such as Python en Espa\u00f1ol https://hablemospython.dev, Python Chile https://pythonchile.cl, Python Espa\u00f1a https://es.python.org, and conferences like PyConUS and Europython, and much more!", "public_name": "Cristi\u00e1n Maureira-Fredes", "guid": "6a563746-d11d-58d5-a267-fcb010782ae0", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/8VVS8L/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/BBFJVD/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/BBFJVD/", "attachments": []}, {"guid": "c96ec46a-5139-570e-8a3d-a04f2f9d4d5c", "code": "9MVQ3M", "id": 43986, "logo": null, "date": "2024-04-04T14:30:00+03:00", "start": "14:30", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-43986-using-rust-pyo3-to-make-pydantic-v2-even-faster", "url": "https://pretalx.com/pycon-lithuania-2024/talk/9MVQ3M/", "title": "Using Rust & PyO3 to make Pydantic v2 even faster", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "In this talk we'll review some of the changes we've made to Pydantic since 2.0 to push performance even further. This is possible largely because Pydantic chose to implement the core in Rust. We'll focus on two main topics:\r\n\r\n- Come learn about optimizations Pydantic has been working on since 2.0\r\n- Come see our draft ideas how Pydantic v3 could be even faster than v2\r\n\r\nYou should leave this talk excited about performance wins for your apps using Pydantic and inspired to try Rust in your own code.", "description": "We released Pydantic 2.0 in June 2023. One of the headline features was the new core implemented in Rust, using PyO3; this allowed us to gain an order of magnitude of performance compared to the pure-Python implementation of Pydantic v1.\r\n\r\nOur journey didn't stop there. Since 2.0 we've been busy making Pydantic even faster. A lot of this work is possible because the Rust core allows us to make fine-tune adjustments which pure-Python would not be able to express.\r\n\r\nIn this talk we'll review some of the changes we've been working on in PyO3 and Pydantic since 2.0 to push performance even further, and where we could go for Pydantic v3.\r\n\r\nWhile Rust code will be very relevant to this talk, no knowledge of Rust is expected. Ideally you'll also walk away from this talk excited for possibilities to optimize your own code using a sprinkle of Rust. PyO3 aims to make it accessible for many Python developers to pick up Rust and start optimizing!", "recording_license": "", "do_not_record": false, "persons": [{"code": "ZUDNAM", "name": "David Hewitt", "avatar": "https://pretalx.com/media/avatars/ZUDNAM_iLpaoSi.webp", "biography": "David is a Staff Software Engineer at Pydantic and lead maintainer of PyO3, and a Python developer for a decade. Ever since discovering Rust shortly after its 1.0 release in 2015 David has been passionate about using Rust as well as Python. In 2019 David found PyO3 needing more contributors and previous experience working in a mixed Python/C++ codebase had left him with plenty of ideas of how Rust & Python can flourish together. Nowadays Rust is powering the core of many Python packages and David works to continue to build this growing ecosystem.", "public_name": "David Hewitt", "guid": "c76e42a3-e369-52b7-a338-a5fddf5d5a0b", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/ZUDNAM/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/9MVQ3M/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/9MVQ3M/", "attachments": []}, {"guid": "8a1b1261-1bc5-5680-bcd0-f609f13e2543", "code": "HLJTKQ", "id": 39614, "logo": null, "date": "2024-04-04T15:00:00+03:00", "start": "15:00", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-39614-pointers-in-my-python", "url": "https://pretalx.com/pycon-lithuania-2024/talk/HLJTKQ/", "title": "Pointers? In My Python?", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "Learn about Python's memory handling, including:\r\n- what pointers are, and why it matters\r\n- what object IDs are, and what they mean\r\n- how CPython can tell when you're done with an object, and what happens next\r\n\r\nNo C knowledge required!", "description": "Python is a wonderful thing that takes all the complication of memory management away from us. We don\u2019t have to worry about pre-allocating memory for our objects, or remember to free it once we\u2019re done. So, given that we\u2019re not doing it manually, how do these things happen? Do we have to care? Well, sometimes. Maybe.\r\n\r\nIn this talk, we\u2019ll discuss what a pointer is, where they crop up in Python, and what you need to know in order to avoid getting tripped up by them. We\u2019ll also cover the id of an object, how it varies between different implementations like IronPython and PyPy, and why is is different from ==. Finally, we\u2019ll talk about garbage collection, what reference counting is, and how CPython knows when it\u2019s time to get rid of unused objects.\r\n\r\nWhether you just want to understand what\u2019s going on under the hood without having to dive into the implementation, or you\u2019re on the hunt for some new diabolical things to do with code (self-referential lists are only the beginning!), come along to this talk and learn about the pointers in your Python.\r\n\r\nThis talk is aimed at anyone with an interest in how Python handles objects in memory, or who\u2019s ever been confused by side-effects popping up in their code. Absolutely no knowledge of C is required, and Python beginners are extremely welcome.", "recording_license": "", "do_not_record": false, "persons": [{"code": "DVKPY9", "name": "Eli Holderness", "avatar": "https://pretalx.com/media/avatars/DVKPY9_AzGtdq4.webp", "biography": "Eli is a freelance developer advocate, software developer, technical writer, and speaker for hire. They run workshops, build things, and tell cool stories.\r\n\r\nSince being released back into the wild from university 7 years ago, they've bounced around a few different industries within tech - telecoms software, analog circuit design, and cloud computing to name a few. They love learning new things and teaching other people about them. When not coding or conferencing, they can be found at home hanging out with their cat, knitting, and trying to stop their cat from eating their knitting.", "public_name": "Eli Holderness", "guid": "0f193bc3-e0b8-504e-90e5-fe98ade473cb", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/DVKPY9/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/HLJTKQ/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/HLJTKQ/", "attachments": []}, {"guid": "74f93f17-e5b0-565c-8292-2f75e2701e5e", "code": "YUXXZS", "id": 43095, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/YUXXZS/pycon-lt-2024-xcf_3zGGjXb.png", "date": "2024-04-04T15:30:00+03:00", "start": "15:30", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-43095-the-ghosts-of-distant-objects", "url": "https://pretalx.com/pycon-lithuania-2024/talk/YUXXZS/", "title": "The Ghosts of Distant Objects", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "Sometimes you have a Python object and you want it somewhere else: maybe you want to save your data to disk and load it again tomorrow; or you want to send some complex parameters over the network.\r\nI'll talk about pickle -  the usual way to do this, including ways it can go wrong, how to extend it, compare it to other approaches like JSON or storing in a database; and I'll stick a little bit of theory in my talk too.", "description": "This talk will be about getting objects from one Python process to another. It is motivated by my experiences doing exactly that inside the Parsl parallel scripting library.\r\n\r\nIt will be centered around pickle, the standard Python serialization library, but is intended to give a broader view of what it means to get an object from one place to another, so this shouldn't be regarded as \"just a pickle tutorial\".\r\n\r\nFirst, I'll give an actual one line pickle tutorial.\r\n\r\nThen, I will introduce a few other methods such as JSON and SQL, which I'll use for comparison throughout the talk.\r\nI'll give some clear reasons why you might (or might not) want to use these very different methods.\r\n\r\nI'll talk about what kind of object is hard to serialize and some of the ways that pickle can help: for example objects with cycles, and objects that don't represent \"values\".\r\n\r\nI'll show how to expand pickle to understand new classes, or to handle existing classes more efficiently; and existing libraries you can install as \"pickle expansion packs\"; and this will lead onto why you shouldn't unpickle untrusted data.\r\n\r\nI'll briefly touch on some complexities like data format versioning, and how that might motivate using your own explicitly designed format rather than letting Python do things for you.\r\n\r\nI'll talk about Python multiprocessing, which needs to move objects between processes internally in a few different ways: some of which can be quite surprising and cause hangs or performance problems.\r\n\r\nI'll mention a little bit of theory about what it means for a deserialized object to be the same as the object you serialized, what it means to pickle a function, and then some other techniques this view unlocks, such as lazy proxying and remote methods.\r\n\r\nIn the end I hope you'll have a better understand of what it means to move objects around, why you might pick different approaches, and what is happening when you try to debug strange problems.", "recording_license": "", "do_not_record": false, "persons": [{"code": "HTC9A7", "name": "Ben Clifford", "avatar": "https://pretalx.com/media/avatars/HTC9A7_XRkvhcO.webp", "biography": "Ben has worked as a programmer mostly in the fields of high performance computing and functional programming. He's mostly doing Python these days, but he's been paid for at least Haskell, FORTRAN and PHP. He's especially interested in bringing ideas from one language into another.", "public_name": "Ben Clifford", "guid": "ac5c7223-5b55-5ca1-bc0a-e9214e399431", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/HTC9A7/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/YUXXZS/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/YUXXZS/", "attachments": []}, {"guid": "1e4b6643-1011-5dd8-b6f8-a676ad224dcb", "code": "WMJ7PL", "id": 44808, "logo": null, "date": "2024-04-04T16:30:00+03:00", "start": "16:30", "duration": "01:00", "room": "Room 111", "slug": "pycon-lithuania-2024-44808-llms-when-to-use-them-and-when-to-avoid-them", "url": "https://pretalx.com/pycon-lithuania-2024/talk/WMJ7PL/", "title": "LLMs: when to use them and when to avoid them", "subtitle": "", "track": "Keynote", "type": "Keynote", "language": "en", "abstract": "At ArjanCodes, we use LLMs in various ways. They are part of the content we produce, we use them in platforms we develop, such as Learntail, they are integrated in automations that streamline our internal processes, and they\u2019re part of our personal workflows, whether that\u2019s for sales and marketing, operations, or software development.\r\n\r\nIn this talk, I\u2019ll go over all of these use cases and share the things that we learned from working with LLMs and where LLMs provide us with the most value. Hopefully this wi", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "9QMT8Y", "name": "Arjan Egges", "avatar": "https://pretalx.com/media/avatars/9QMT8Y_INRQmOC.webp", "biography": "I\u2019m a software developer, educator, entrepreneur and content creator with a passion for building beautiful, efficient, and reliable software. I've completed a Master's and PhD in Computer Science and I have more than 20 years of teaching experience. I've launched several startups and designed and built complex software products from scratch. Now, I combine my different experiences in my YouTube videos on the ArjanCodes channel and I offer online courses for developers and companies.", "public_name": "Arjan Egges", "guid": "cc5793cc-1363-590c-a491-f07c4ef56742", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/9QMT8Y/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/WMJ7PL/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/WMJ7PL/", "attachments": []}, {"guid": "c426fc7c-e88a-50a6-a249-b03ced743377", "code": "QREQFX", "id": 48113, "logo": null, "date": "2024-04-04T17:30:00+03:00", "start": "17:30", "duration": "03:00", "room": "Room 111", "slug": "pycon-lithuania-2024-48113-wargaming-quiz", "url": "https://pretalx.com/pycon-lithuania-2024/talk/QREQFX/", "title": "Wargaming Quiz", "subtitle": "", "track": "Org", "type": "Talk", "language": "en", "abstract": ".", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/QREQFX/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/QREQFX/", "attachments": []}], "Room 203": [{"guid": "6a0075bb-578d-5efc-b193-1b1038803a04", "code": "KPAPX8", "id": 42671, "logo": null, "date": "2024-04-04T11:00:00+03:00", "start": "11:00", "duration": "00:55", "room": "Room 203", "slug": "pycon-lithuania-2024-42671-let-s-create-a-python-debugger-together", "url": "https://pretalx.com/pycon-lithuania-2024/talk/KPAPX8/", "title": "Let\u2019s create a Python Debugger together", "subtitle": "", "track": "Python", "type": "Workshop", "language": "en", "abstract": "Debuggers are indispensable tools for all Python developers, empowering them to conquer bugs and unravel complex systems. Let's create our own.", "description": "\u200b\u200bDebuggers are indispensable tools for all Python developers, empowering them to conquer bugs and unravel complex systems. But have you ever wondered how they work? Curious about the implementation of features like conditional breakpoints and single stepping?\r\n\r\nJoin me for a talk in which we create our own debugger with conditional breakpoints, single stepping, and a Python-based debugging shell and learn a lot about debuggers along the way.", "recording_license": "", "do_not_record": false, "persons": [{"code": "L8PGG9", "name": "Johannes Bechberger", "avatar": "https://pretalx.com/media/avatars/L8PGG9_H9WSrBK.webp", "biography": "Johannes Bechberger is a JVM developer working on profilers and their underlying technology in the SapMachine team at SAP. He started at SAP in 2022 after two years of research studies at the KIT in Java security analyses. His work today comprises many open-source contributions and his blog, where he writes regularly on in-depth profiling and debugging topics and works on his JEP Candidate 435 to add a new profiling API to the OpenJDK. He has been an avid Python user for almost 10 years, with a special interest in type systems and debuggers.\r\nSince 2023 he's touring through the meet-ups and conferences of Europe, like JavaZone and Devoxx Belgium to speak on various topics.", "public_name": "Johannes Bechberger", "guid": "c1ed2cb6-f82b-5ce7-8f0b-d5e9e4aff9ce", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/L8PGG9/"}], "links": [{"title": "GitHub Repository", "url": "https://github.com/parttimenerd/python-dbg", "type": "related"}, {"title": "Blog Series", "url": "https://mostlynerdless.de/blog/tag/lets-create-a-debugger-together/", "type": "related"}], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/KPAPX8/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/KPAPX8/", "attachments": []}, {"guid": "f205d173-27fe-5c06-a589-7e7a5561fe0a", "code": "JFBTSS", "id": 40399, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/JFBTSS/PyCon_LT_2024_Tn8uoFS.png", "date": "2024-04-04T12:00:00+03:00", "start": "12:00", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-40399-lessons-learned-from-maintaining-sdk-in-python-for-three-years", "url": "https://pretalx.com/pycon-lithuania-2024/talk/JFBTSS/", "title": "Lessons Learned From Maintaining SDK in Python for Three Years", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "Let\u2019s see how to build an SDK that works for years and is used by other developers. We\u2019ll learn which patterns actually work, how mistakes made in the early stage affect the software years later, and how to make sure we don\u2019t break users\u2019 code when introducing changes.", "description": "Designing SDKs is much different than designing business applications. Let\u2019s see how to build software that works for years and is used by other developers. We\u2019ll learn how design patterns work in real life, how mistakes made in the early stage affect the software years later, and how to refactor the library without breaking users.\r\n\r\nContent:\r\n- How Metis SDK works and what it provides\r\n- Why it\u2019s hard to maintain things for years and what can break\r\n- How to refactor without breaking users\r\n\r\nLearning points:\r\n- Biggest differences between SDK and business applications\r\n- Patterns for effective software development\r\n- Tools and solutions for testing SDKs\r\n- Cookbook for designing long-lasting libraries", "recording_license": "", "do_not_record": true, "persons": [{"code": "UVPFPH", "name": "Adam Furmanek", "avatar": "https://pretalx.com/media/avatars/UVPFPH_P5jdniq.webp", "biography": "I am Adam Furmanek, and I am a professional software engineer with over a decade of experience. In my career, I worked with all layers of software engineering and multiple types of applications, including logistics, e-commerce, machine learning, data analysis, and database management. I am always interested in digging deeper, exploring machine code, and going through implementation details to better understand the internals of the technologies I use every day. That's why I like debugging, decompiling and disassembling the code to understand memory models, concurrency problems and other details hidden deeply inside.", "public_name": "Adam Furmanek", "guid": "0b9b6ebf-2176-5a0e-906d-df4c87b8f773", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/UVPFPH/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/JFBTSS/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/JFBTSS/", "attachments": []}, {"guid": "349dd48e-77bf-5af6-a200-c3ba2a5ba4f7", "code": "AN9VZG", "id": 43638, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/AN9VZG/Screenshot_2024-01-16_at_13.26.23_jog2BXO.png", "date": "2024-04-04T14:00:00+03:00", "start": "14:00", "duration": "00:45", "room": "Room 203", "slug": "pycon-lithuania-2024-43638-object-oriented-programing-the-way-it-should-be", "url": "https://pretalx.com/pycon-lithuania-2024/talk/AN9VZG/", "title": "Object Oriented Programing the way it should be", "subtitle": "", "track": "Python", "type": "Workshop", "language": "en", "abstract": "While Functional Programming gains traction, I'll showcase how OOP, done right, yields clean, efficient code. Explore a fresh perspective, gain insights, and reshape your coding approach.", "description": "Functional Programming vs Object Oriented Programming. While Functional Programming is on the rise in popularity and Object Oriented Programming receives more and more hate, in this session, I will show you that Object Oriented Programming can be clean, elegant, maintainable, beautiful, and make a lot of sense. We will write some Python code both in a style of Functional Programming and in Object Oriented Programming. We will then compare the results.", "recording_license": "", "do_not_record": false, "persons": [{"code": "GRJNYK", "name": "Laimonas Sutkus", "avatar": "https://pretalx.com/media/avatars/GRJNYK_0UwgMNx.webp", "biography": "More than a decade in the IT industry. 5+ years as a CTO.", "public_name": "Laimonas Sutkus", "guid": "18329f6e-2b66-5d2f-94a2-3ff15854ceb6", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/GRJNYK/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/AN9VZG/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/AN9VZG/", "attachments": []}, {"guid": "52c3b47d-3963-5bae-a72b-3fbf36394608", "code": "TNFFF7", "id": 43247, "logo": null, "date": "2024-04-04T15:00:00+03:00", "start": "15:00", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-43247-building-open-climate-change-information-services-in-python", "url": "https://pretalx.com/pycon-lithuania-2024/talk/TNFFF7/", "title": "Building Open Climate Change Information Services in Python", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "Performing climate science within the context of climate change requires creative solutions to challenges such as data collection and storage management, optimizations for better memory and CPU usage, in addition to ensuring that analysis outputs are trustworthy. This talk will showcase xclim and finch, two pieces of software built for performing climate analyses on large datasets using Python, WPS, and the PANGEO software stack of technologies.", "description": "As we navigate the complexities of performing climate science, the need for reliable methodologies and efficient algorithms becomes increasingly apparent. This talk explores the joint capabilities of Xclim, a robust climate analysis engine, and Finch, an innovative web service for climate services, both built in Python.\r\n\r\nXclim, a sophisticated climate analysis library built on xarray and dask, addresses the challenges of climate change analysis. With features such as climate model ensemble selection, bias adjustment, numerous climate index calculations, and data health check-ups, Xclim is an essential tool for performing simple yet powerful climate analyses.\r\n\r\nFinch extends Xclim's capabilities by offering climate analysis via Web Processing Services (WPS). Both Xclim and Finch serve as the software foundation of Environment and Climate Change Canada's ClimateData.ca platform. In this presentation, we will explore the integration of Xclim's engine and Finch's web services, demonstrating how they work together to transform remote and extensive climate datasets into actionable insights.\r\n\r\nJoin us as we provide an overview of the practical applications of Xclim and Finch for climate analysis. Gain insights into how this collaborative approach enhances accessibility and functionality in the field of climate science.", "recording_license": "", "do_not_record": false, "persons": [{"code": "WSJBQB", "name": "Trevor James Smith", "avatar": "https://pretalx.com/media/avatars/WSJBQB_EuE9SHq.webp", "biography": "Trevor James Smith is a climate change research software developer in Montreal, Quebec. He holds a B.Sc. Hons. in Environmental Sciences and Political Science and an M.Sc. in Geography, Planning and Environmental Studies from Concordia University. Trevor has worked in various fields as a contract researcher examining Canadian telecommunication infrastructure, indigenous-led GIS/mapping initiatives, and environmental disaster hazard and risk mapping. For the past 5 years, he has been a member of the climate platforms, data, and operations team at Ouranos Inc.", "public_name": "Trevor James Smith", "guid": "9db64df0-da79-58db-8754-dd1ab98d6de6", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/WSJBQB/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/TNFFF7/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/TNFFF7/", "attachments": []}, {"guid": "e9d34b10-21ca-529a-8222-54b287d632f1", "code": "NVQKGG", "id": 43243, "logo": null, "date": "2024-04-04T15:30:00+03:00", "start": "15:30", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-43243-deep-dive-into-asynchronous-sqlalchemy-transactions-and-connections", "url": "https://pretalx.com/pycon-lithuania-2024/talk/NVQKGG/", "title": "Deep Dive into Asynchronous SQLAlchemy - Transactions and Connections", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "SQLAlchemy is one of the most popular ORM libraries in Python. In this talk I will try to present caveats and gotchas that other Pythonists can find on their way while writing the asynchronous backend application using SQLAlchemy as an ORM. Mainly we will focus on how SQLAlchemy handles transactions and connections to the database and what issues we may face because of it.", "description": "The presentation is about SQLAlchemy, which is an Object-Relational Mapping (ORM) library used in Python for working with databases. \r\n\r\nThe presenter will discuss the challenges and potential problems that developers may encounter when using SQLAlchemy to create asynchronous backend applications.\r\n\r\nThe main focus of the talk will be on how SQLAlchemy handles transactions and connections to the database, which are crucial components of building a robust and reliable backend system. The presenter will explain some of the common caveats and gotchas that can arise when using SQLAlchemy in this context.\r\n\r\nOverall, the talk aims to provide valuable insights and practical advice for Python developers who are interested in working with SQLAlchemy and building scalable, high-performance backend applications.\r\n\r\nAs a bonus we'll see how other popular asynchronous ORM handles connections to the database.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ALN8NK", "name": "Damian Wysocki", "avatar": "https://pretalx.com/media/avatars/ALN8NK_R12jIxa.webp", "biography": "I\u2019m a Python developer since 2017, I am deeply passionate about my craft and love sharing my knowledge with others. I find joy in constantly learning new things and staying up-to-date with the latest developments in the industry. In fact, I'm so passionate about sharing knowledge that I spend my free time mentoring aspiring developers in Python workshops in my hometown. I'm also an organizer of local IT meetups, where I get to connect with like-minded professionals and discuss the latest trends and challenges in our field.", "public_name": "Damian Wysocki", "guid": "298414e1-5944-5e0f-9a5f-e57fcf8c378e", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/ALN8NK/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/NVQKGG/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/NVQKGG/", "attachments": []}], "Room 228": [{"guid": "4c52a7c9-93b0-5cbd-a8e8-aa1117200a37", "code": "FVQ9E7", "id": 39808, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/FVQ9E7/tamer-construct_ptTZnLc.PNG", "date": "2024-04-04T11:00:00+03:00", "start": "11:00", "duration": "00:25", "room": "Room 228", "slug": "pycon-lithuania-2024-39808-analyzing-stdf-production-test-data-in-the-silicon-manufacturing-industry-using-construct", "url": "https://pretalx.com/pycon-lithuania-2024/talk/FVQ9E7/", "title": "analyzing stdf production test data in the silicon manufacturing industry using construct", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "The data amount and the complexity of the queries are not particularly large in this industry. The challenge comes from using the STDF format, a binary file format with roots in the 1980's.\r\n\r\nA method to make this data source available to modern data analysis tools (jupyter/streamlit) using the construct library will be discussed. The focus is on how the data can be collected, converted and made available in a fast and efficient way, using both pypy and cpython.", "description": "# The silicon industry data environment\r\n\r\nIn the silicon production industry, there is currently the outgoing but still widely used file format STDF in use to store production test results.\r\n\r\nThis ageing file format is well established and protected by strong institutional momentum. For example, TEMS (not a file format but messages are the scope) and RITdb are contending to replace it.\r\n\r\nThis presentation is going to show how to leverage the power of construct (https://github.com/construct/construct) together with pypy and cpython to transform the STDF data to parquet to make it accessible to modern and efficient analysis methods (polars/pandas dataframes).\r\n\r\n## The solutions enabled by construct\r\n\r\nUsing construct it is possible to copy/paste + search/replace the STDF file format specification into an implementation which can do both parsing and generating STDF files. \r\n\r\nThis is how the _implementation_ of a segment of this looks like:\r\n```\r\nPGR_payload = construct.Struct(\"GRP_INDX\" /      construct.Int16ul                                *  \"Unique index associated with pin group\",\r\n                               \"GRP_NAM\"  /      construct.PascalString(construct.Byte, \"ascii\")  *  \"Name of pin group length byte = 0\",\r\n```\r\n\r\nThis implementation allows us to easily create.:\r\n- publication grade analysis using Jupyterbooks\r\n- real-time dashboards using streamlit\r\n- transformers which transform an STDF to another STDF (for example for NDA purposes, like in this presentation)\r\n- store results in the STDF file format (vendor-independent test implementation and execution)\r\n\r\nLeveraging the pypy just-in-time compiler, in our environment the bottleneck is network throughput.\r\n\r\n## Conclusion\r\nOld binary file formats which are specified by tables are easily accessible to modern methods using construct.", "recording_license": "", "do_not_record": false, "persons": [{"code": "GVLJLC", "name": "Franz Haas", "avatar": "https://pretalx.com/media/avatars/GVLJLC_P0VNkb5.webp", "biography": "Career.: \r\n  - 2013-present application engineering and validation/verification engineering at ams-osram\r\n  - 2011 \u2013 2013 home automation at intrate(c)\r\n  - 2010 \u2013 2011 RMA engineer at infineon\r\n  - 2009 graduation at the university of applied sciences FH JOANEUM\r\n  - 2007 \u2013 2010 mixed signal ASIC development at FH JOANEUM\r\n  - 2008 participation at the CERN Summer Student programe\r\n  - 2001 \u2013 2005 industrial automation at intrate(c)", "public_name": "Franz Haas", "guid": "d79a98b1-c72e-5afe-8f7e-c75bf1cdc905", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/GVLJLC/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/FVQ9E7/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/FVQ9E7/", "attachments": []}, {"guid": "746bd14f-d57e-5425-bbc2-c642a317bdbb", "code": "7MJCY3", "id": 43754, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/7MJCY3/Watson_X_Banner_JPcZxGX.jpg", "date": "2024-04-04T11:30:00+03:00", "start": "11:30", "duration": "00:25", "room": "Room 228", "slug": "pycon-lithuania-2024-43754-watsonx-a-genai-platform-that-s-built-for-business", "url": "https://pretalx.com/pycon-lithuania-2024/talk/7MJCY3/", "title": "Watsonx: A GenAI platform that's built for business", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "The hype for GenAI keeps rising. Nowadays, almost every company wants to adopt this technology in their business, but in order to successfully deliver a GenAI project, it takes much more than just figuring out, what to ask ChatGPT. During the presentation, I'll introduce you to an AI platform, that allows users to deliver GenAI projects with confidence.", "description": "Watsonx is a new AI and data platform from IBM that empowers businesses to leverage the power of AI and data with trust, transparency and governance. The platform is based on the best open technologies available, providing model variety to cover enterprise use cases and compliance requirements.\r\n\r\nIBM watsonx platform includes three core components:\r\n* watsonx.ai - a studio for working with foundation models, GenAI and Machine Learning;\r\n* watsonx.data - a single data store for scaling your AI workloads;\r\n* watsonx.governance - a solution that allows you to direct, manage, monitor and govern your organisation\u2019s AI activities.\r\n\r\nThe focus of the presentation will be around:\r\n* watsonx.ai;\r\n* watsonx.governance.\r\n\r\nWe will go through what\u2019s available in watsonx.ai:\r\n* Available LLMs;\r\n* Prompt Lab;\r\n* Code examples of how to integrate watsonx into your own solution.\r\n\r\nAlso we will cover how watsonx.governance helps with explainability of your GenAI model.", "recording_license": "", "do_not_record": false, "persons": [{"code": "9ZGUJ8", "name": "Robert Dzisevi\u010d", "avatar": "https://pretalx.com/media/avatars/9ZGUJ8_2wsXSFL.webp", "biography": "I'm a Senior Data scientist at IBM Lithuania with deep expertise in app development, app deployment, Natural Language Processing, neural networks and GenAI projects delivery. I have 6+ years proven expertise in Data science and delivering AI solutions.", "public_name": "Robert Dzisevi\u010d", "guid": "84e1b2b7-f10f-5839-9cf1-f52455354f47", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/9ZGUJ8/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/7MJCY3/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/7MJCY3/", "attachments": []}, {"guid": "202b8153-caf8-53f0-aebb-addfb78b00c9", "code": "DJNXUY", "id": 43346, "logo": null, "date": "2024-04-04T12:00:00+03:00", "start": "12:00", "duration": "00:25", "room": "Room 228", "slug": "pycon-lithuania-2024-43346-grokking-event-driven-web-app-with-python", "url": "https://pretalx.com/pycon-lithuania-2024/talk/DJNXUY/", "title": "Grokking Event-Driven Web App with Python", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "Crafting scalable event-driven applications using Python can be a tricky endeavor, requiring careful consideration of various factors, from understanding synchronous and asynchronous network calls to tackling the Python Global Interpreter Lock (GIL) bottleneck and implementing robust auto-scaling strategies. This talk delves into advanced techniques and concepts for designing and implementing scalable event-driven applications with Python, empowering you to overcome these challenges effectively.", "description": "### Challenges in Event-Driven Python:\r\n\r\n- **Performance Pitfalls**: Navigating the intricacies of asynchronous versus synchronous network protocols in Python can be a maze, with numerous available libraries offering varying approaches to efficient network communication.\r\n\r\n- **Global Interpreter Lock (GIL)**: The GIL, a fundamental aspect of the Python runtime, restricts the execution of multiple CPU threads within a single Python process. This can hinder the ability of event-driven applications to handle simultaneous I/O and CPU-bound tasks efficiently.\r\n\r\n- **Event Processing Reliability**: In distributed environments with a high volume of incoming events, ensuring event processing without duplicates is crucial. Ensuring consistency across multiple event processing instances and maintaining data integrity requires careful design and implementation strategies.\r\n\r\n### What You'll Learn:\r\n\r\n- **Python Synchronization Breakdown**: Delve into the implementation of synchronous and asynchronous network protocols in Python, understanding the trade-offs and implications for event-driven applications.\r\n\r\n - **Overcoming the GIL Barrier**: Discover effective techniques and libraries that mitigate the limitations of the GIL, unleashing the full power of multi-core architectures for your event-driven applications.\r\n\r\n - **Event Processing at Scale Mastery**: Grasp the nuances of various event processing semantics, including at-least-once, at-most-once, and exactly-once message processing, and how to implement them in your applications.\r\n\r\n - **Design Patterns for Failure Resilience**: Uncover proven design patterns for handling failures in event-driven systems, ensuring resilience and robustness in the face of unexpected events.\r\n\r\n - **Python Code Patterns for Scalability**: Learn practical Python code patterns for building event-driven applications from scratch, incorporating scalability considerations from the get-go.\r\n\r\n### Target Audience:\r\n- Software Engineers\r\n- Web Developers", "recording_license": "", "do_not_record": false, "persons": [{"code": "Y8JEFS", "name": "Tung Hoang", "avatar": "https://pretalx.com/media/avatars/Y8JEFS_MVgqcll.webp", "biography": "## \r\n\r\nI am a seasoned software engineer with an international footprint in Forbes 500 companies as well as VC-funded scale-ups in Europe and North America.\r\n\r\nI have spent most of my career till now building resilient data and machine learning platforms. Most of them fail, some of them success but all of them give me lessons to learn from.\r\n\r\nOne of my success is being part of the team who built\u00a0[Komodo Health](https://www.komodohealth.com/)\u2019s critical\u00a0[AI-fueled data analytic platform](https://www.komodohealth.com/solutions/maplab)\u00a0to actually save people. Our platform reduces the burden of disease research and reduce the cost of drug manufacturing and delivery. \r\n\r\nPreviously at Jellysmack, I worked on the core infrastructure team who scaled the data platform for a company who went from greenfield to unicorn startup in 2 years.\r\n\r\nA part from that, I am a birds\u2019 lover, an animal enthusiast, a day dreamer and a mediocre Judo player.", "public_name": "Tung Hoang", "guid": "451386d9-b871-5918-811d-3e7fc8cda1cc", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/Y8JEFS/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/DJNXUY/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/DJNXUY/", "attachments": []}, {"guid": "1a6f3b14-9a3c-5776-99bf-1c3c275537b2", "code": "FSBEVZ", "id": 42957, "logo": null, "date": "2024-04-04T14:00:00+03:00", "start": "14:00", "duration": "00:25", "room": "Room 228", "slug": "pycon-lithuania-2024-42957-deadcode-a-tool-to-nd-and-x-dead-unused-python-code", "url": "https://pretalx.com/pycon-lithuania-2024/talk/FSBEVZ/", "title": "Deadcode - a tool to \ufb01nd and \ufb01x dead (unused) Python code", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "A newly developed deadcode Python package to detect and automatically fix unused Python code will be introduced. Real-world scenarios, when the deadcode saves development time will be provided. The main features and options of the deadcode package will be presented and it will be shown, why this tool is superior to vulture.  Also some implementation details and complexities will be discussed.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "K8XYZX", "name": "Albertas Gimbutas", "avatar": "https://pretalx.com/media/avatars/K8XYZX_zYxr9cV.webp", "biography": "A Tech Lead Python Engineer with a PhD in Informatics. Mainly specializes in back-end development using Django and Tornado frameworks and their related technologies like SQL/NoSQL databases, infrastructure as code and cloud providers.", "public_name": "Albertas Gimbutas", "guid": "5f782ae4-41de-584b-b00c-cfd52912a40a", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/K8XYZX/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/FSBEVZ/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/FSBEVZ/", "attachments": []}, {"guid": "e1b0d0c0-c0fd-54fb-b889-eadcf60c75c6", "code": "UW7SJ8", "id": 39949, "logo": null, "date": "2024-04-04T14:30:00+03:00", "start": "14:30", "duration": "00:25", "room": "Room 228", "slug": "pycon-lithuania-2024-39949-kill-all-mutants-intro-to-mutation-testing", "url": "https://pretalx.com/pycon-lithuania-2024/talk/UW7SJ8/", "title": "Kill All Mutants! (Intro to Mutation Testing)", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "Agenda:\r\n- What is mutation testing?\r\n- Why isn't test coverage enough?\r\n- What are its pros and cons?\r\n- How does it work (overview *and* details)?\r\n- Simple example (finding and fixing bad test)\r\n- Complex example (finding and fixing bad/missing test)\r\n- Complex example (finding and fixing redundant code)\r\n- FAQs -- history, why it's so CPU/RAM intensive, and more if time allows\r\n- Unusual applications, if time allows\r\n- Wrapup\r\n- Q&A", "description": "Would your test suite still pass if the tested code was changed?  If so, there may be problems with your code, your tests, or both!\r\n\r\nMutation Testing reveals these cases.  This talk will tell you what mutation testing is, how it works, how to use it, and its benefits, drawbacks, and history.  There will be multiple examples, and a list of tools for many popular languages (and others).\r\n\r\nYou will come away equipped with a powerful technique for making sure your tests are strict and your code is meaningful!", "recording_license": "", "do_not_record": false, "persons": [{"code": "LCPZST", "name": "Dave Aronson", "avatar": "https://pretalx.com/media/avatars/LCPZST_6gH7I9u.webp", "biography": "Dave is a semi-retired software development consultant (writing code *and* giving advice about it), with 38 years of professional experience in a wide variety of languages, techniques, domains, etc.  He is the T. Rex of Codosaurus, LLC (his one-person consulting firm, which explains how he can get such a cool title, at https://www.Codosaur.us/) near Washington, DC, USA.  His main focus in software lately is to spread the gospel of quality, including defining what that even means, and talking about techniques to achieve it.  In his spare time, he brews mead, teaches others how -- and speaks at conferences.", "public_name": "Dave Aronson", "guid": "3570b5a2-9ad6-5bd1-9da6-eb6e28378e7e", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/LCPZST/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/UW7SJ8/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/UW7SJ8/", "attachments": []}, {"guid": "f51b3f5d-5885-565d-a674-bd997e716cf3", "code": "EYD7RC", "id": 43307, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/EYD7RC/503_days_working_on_foss_Kb8ODxH.png", "date": "2024-04-04T15:00:00+03:00", "start": "15:00", "duration": "00:30", "room": "Room 228", "slug": "pycon-lithuania-2024-43307-503-days-working-full-time-on-foss-lessons-learned", "url": "https://pretalx.com/pycon-lithuania-2024/talk/EYD7RC/", "title": "503 days working full-time on FOSS: lessons learned", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "I've been working full-time on a Python FOSS project for 503 days, so what did I learn?\r\n\r\nAm I a better (Python) programmer?\r\nBetter teammate?\r\nBetter person?\r\n\r\nIn this talk I will share some lessons I learned over the course of these 503 days:\r\n\r\n - how to get a tech job in this day & age\r\n - how to put your ego aside\r\n - how to deal with mistakes\r\n - how to interact with users & contributors online\r\n - how it feels to collaborate to a large codebase\r\n\r\nAs for the first 3 questions... Ask my colleagues!", "description": "This provides a rough outline for the talk.\r\n\r\n### Introduction (~5min)\r\n\r\nPersonal and professional context for the talk:\r\n - Who am I?\r\n - What FOSS project have I been working on since the 14th of November of 2023?\r\n - Who am I working with?\r\n\r\n### Lesson learned 1 \u2013 how to get a tech job (~5min)\r\n\r\nIn this segment of the talk I share the story of how I got this job.\r\nThis will explain how my writing on my blog contributed to establish some reputation and how my (Python-focused) social media presence connected me with the person who would eventually become my employer.\r\n\r\n### Lesson learned 2 \u2013 put your ego aside (~5min)\r\n\r\nIn this segment of the talk I explain how I deal with PR reviews and how I've learned to embrace the criticism, taking into account that all of your work is scrutinised every time you make a PR.\r\nI'll also tell the story of how I made a couple of blunders in successive PRs, how my team dealt with those, and what I got away from those weeks when I underperformed.\r\n\r\n### Lesson learned 3 \u2013 interacting with users & contributors (~5/7min)\r\n\r\nThis segment of the talk covers the other end of the interactions on a FOSS project, answering questions like:\r\n - How should you behave when interacting with users making feature requests?\r\n - What about users that report \u201cbugs\u201d that would be \u201csolved\u201d if they read the documentation carefully?\r\n - How do you review external PRs, leave feedback, and request changes?\r\n\r\n### Lesson learned 4 \u2013 working on a large project (~5min)\r\n\r\nI will dedicate this segment of the presentation to talk about the strategies I use to deal with the fact that the project I work on is too big for me to keep all of it in my head.\r\nThis includes my note-taking system and my PR checklist.\r\n\r\n### Wrap-up (~2min)\r\n\r\nTo wrap up the talk, I'll summarise my learnings and share a bullet-point list of the ones that are more likely to be helpful to others.", "recording_license": "", "do_not_record": false, "persons": [{"code": "BLNV7P", "name": "Rodrigo Gir\u00e3o Serr\u00e3o", "avatar": "https://pretalx.com/media/avatars/BLNV7P_wULjbpV.webp", "biography": "Rodrigo has always been fascinated by problem solving and that is why he picked up programming \u2013 so that he could solve more problems. He also loves sharing knowledge, and that is why he spends so much time writing articles in his blog [mathspp.com/blog](https://mathspp.com/blog), writing on Twitter [@mathsppblog](https://twitter.com/mathsppblog), and giving workshops and courses. You can also find his past talks on [https://mathspp.com/talks](https://mathspp.com/talks).\r\n\r\nHis main areas of scientific interest are mathematics (numerical analysis in particular) and programming in general (with a preference for the Python and APL languages), but Rodrigo also enjoys reading fantasy books, watching silly comedy movies and eating chocolate.", "public_name": "Rodrigo Gir\u00e3o Serr\u00e3o", "guid": "deadfed1-3cce-5c6f-b1cc-2dd63deac2a5", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/BLNV7P/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/EYD7RC/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/EYD7RC/", "attachments": []}, {"guid": "b14468b3-e09a-5414-8fec-5374e4ba5e48", "code": "MX9UEW", "id": 43807, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/MX9UEW/20230410_152334_2_JOuGzai.jpg", "date": "2024-04-04T15:30:00+03:00", "start": "15:30", "duration": "00:25", "room": "Room 228", "slug": "pycon-lithuania-2024-43807-a-101-in-time-series-analytics-with-apache-arrow-pandas-and-parquet", "url": "https://pretalx.com/pycon-lithuania-2024/talk/MX9UEW/", "title": "A 101 in time series analytics with Apache Arrow, Pandas and Parquet", "subtitle": "", "track": "Data", "type": "Workshop", "language": "en", "abstract": "Columnar databases are on the rise! They provide an efficient and scalable data warehouse for many use cases including time series data. The problem? Many conventional database drivers and querying methods become the bottleneck for data processing and analytics within our client-side applications. Learn how to leverage open-source projects like Apache Arrow Flight and Apache Parquet alongside industry-standard analytics tools to build the foundations of a performant analytics application.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "BMYWGM", "name": "Zoe Steinkamp", "avatar": "https://pretalx.com/media/avatars/BMYWGM_dyTK5wg.webp", "biography": "I'm Zoe Steinkamp, a Developer Advocate for InfluxData with a background in front-end software engineering. I'm passionate about making developers' lives easier and helping them engage with InfluxData's database platform, open-source tools, and time-series data solutions. I also have a keen interest in data science. Outside of work, I enjoy traveling and gardening. Feel free to connect with me on LinkedIn, and I look forward to sharing insights and knowledge at virtual and in-person events.", "public_name": "Zoe Steinkamp", "guid": "59345f68-6df0-5355-9f15-e5ef909649af", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/BMYWGM/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/MX9UEW/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/MX9UEW/", "attachments": []}], "Room 218": [{"guid": "87787954-7c93-5435-82b1-9fead3218434", "code": "KURZUG", "id": 46891, "logo": null, "date": "2024-04-04T11:00:00+03:00", "start": "11:00", "duration": "00:55", "room": "Room 218", "slug": "pycon-lithuania-2024-46891-python-package-creation-using-bleeding-edge-toolset", "url": "https://pretalx.com/pycon-lithuania-2024/talk/KURZUG/", "title": "Python package creation using bleeding edge toolset", "subtitle": "", "track": "Python", "type": "Workshop", "language": "en", "abstract": "We will create a new Python package from scratch using the best practices and will deploy it to pypi.org. We will also learn the benefits and how to use the bleeding edge tools for code linting, unit testing and deployment. Let's make Python ecosystem even more awesome!", "description": "We will create a simple Python package from scratch using this bleeding-edge toolset:\r\n- Ruff for linting (with strict rules enabled) and code formatting.\r\n- MyPy for type checking.\r\n- pip-audit for vulnerability in dependencies detection.\r\n- deadcode for globally unused code detection.\r\n- pytest - for executing unit tests and defining fixtures\r\n- pytest-cov - for tracking test coverage\r\n- hachling - for code deployment to pypi.org.\r\n- Makefile - for commonly used command aliases\r\n- pre-commit hooks - for enabling linting checks on every commit\r\n- Gitlab-CI - for enabling checks on every code push\r\n- UV - for Python virtual environment and dependency locking\r\n- pyproject.toml - for package and dependency configuration\r\n\r\nThe newly created package will provide a primitive command line utility for displaying information.", "recording_license": "", "do_not_record": false, "persons": [{"code": "K8XYZX", "name": "Albertas Gimbutas", "avatar": "https://pretalx.com/media/avatars/K8XYZX_zYxr9cV.webp", "biography": "A Tech Lead Python Engineer with a PhD in Informatics. Mainly specializes in back-end development using Django and Tornado frameworks and their related technologies like SQL/NoSQL databases, infrastructure as code and cloud providers.", "public_name": "Albertas Gimbutas", "guid": "5f782ae4-41de-584b-b00c-cfd52912a40a", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/K8XYZX/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/KURZUG/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/KURZUG/", "attachments": []}, {"guid": "cf6cb786-b066-5c1c-9765-e1b9ff372168", "code": "Z8Z8CB", "id": 48263, "logo": null, "date": "2024-04-04T14:00:00+03:00", "start": "14:00", "duration": "00:55", "room": "Room 218", "slug": "pycon-lithuania-2024-48263-python-mokytojai", "url": "https://pretalx.com/pycon-lithuania-2024/talk/Z8Z8CB/", "title": "Python mokytojai", "subtitle": "", "track": null, "type": "Workshop", "language": "en", "abstract": ".", "description": "", "recording_license": "", "do_not_record": false, "persons": [], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/Z8Z8CB/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/Z8Z8CB/", "attachments": []}, {"guid": "e2337fb1-da34-5cbb-8844-d24240fb708f", "code": "VTL7AJ", "id": 42937, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/VTL7AJ/Simplifying_large_Python_projects_by_distributin_yAClbhJ.jpg", "date": "2024-04-04T15:00:00+03:00", "start": "15:00", "duration": "00:45", "room": "Room 218", "slug": "pycon-lithuania-2024-42937-simplifying-large-python-projects-by-distributing-complexity", "url": "https://pretalx.com/pycon-lithuania-2024/talk/VTL7AJ/", "title": "Simplifying large Python projects by distributing complexity.", "subtitle": "", "track": "Python", "type": "Talk", "language": "en", "abstract": "An overcomplicated project increases development and maintenance time.\r\nIf a complete redesign is not possible, we can distribute the complexity across the existing codebase.\r\nIf AI assistants cannot help us with this task yet, we should discuss manual methods and tools that can be useful.\r\nUsing examples of real large projects, we will discuss that despite different business types, geographical and social contexts, these projects share similar architectural mistakes and how they can be redesigned.", "description": "The purpose of this talk is to define the necessary steps for startups after the initial growth explosion to support successful future adaptation.\r\n\r\nLet\u2019s imagine a successful startup. Brilliant ideas require quick realization. Customers are happy, investors ask to add more functionality. With time, the project copes with a serious initial surge of interest and growth stabilizes . The team scales up with the project. Some programmers leave, new ones come in. Parts of the project are rewritten due to lack of documentation or technology not meeting business needs. But suddenly the productivity of the developers collapses - this is the so-called \u201csecond act\u201d of the project\u2019s life with the following symptoms:\r\n\r\nExponential growth of required tools and technologies\r\nLow revenue from additional features vs. high development costs\r\nEnormous growth in the number of people involved\r\nSince it is impossible to avoid the occurrence of the second act of project life, it is necessary to prepare for it in advance in order to minimize negative consequences and enhance positive impacts.\r\n\r\nPreventive actions:\r\n\r\nImplementing a Code Style Guide to unify parts of the code base.\r\nGather opinions on keeping legacy code or a complete refactoring.  These will become future milestones on your project roadmap.\r\nDocumentation in the form of \u201cWhat do I do if I die?\u201d.\r\nSpreading complexity through separating parts of a project into isolated blocks:\r\n\r\nGPT tools, how they can help, and why they can\u2019t help.\r\nManual tools and techniques for identifying and avoiding interfacing patterns in the project. \r\nAdding the bundle of individual applications if microservices are not a solution. \r\nPackaging parts of code into separate libraries.\r\nSeparating settings.\r\n\r\nFor each topic, I will give examples of working with large projects that are at the \u201cbeginning of the second act\u201d. Despite different business types, geographical and social contexts, these projects shows similar architectural mistakes, which will be discussed.", "recording_license": "", "do_not_record": false, "persons": [{"code": "TJSMCP", "name": "Maxim Danilov", "avatar": "https://pretalx.com/media/avatars/TJSMCP_UjXoW08.webp", "biography": "Python/Django Senior Software Engineer, Solution Architect and Tech Speaker. \r\n\r\nI start my career as a programmer specializing in embedded solutions in 1997, and grow to the role of Chief Technology Officer in 2023. Through many successful projects, I gained a robust understanding of various software development paradigms. After more than 10 years as a code mentor, I finally earned the title 'Super Mentor in Engineering' in December 2023.", "public_name": "Maxim Danilov", "guid": "2926c361-78a7-541a-9dc2-e5151c958cbb", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/TJSMCP/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/VTL7AJ/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/VTL7AJ/", "attachments": []}]}}, {"index": 4, "date": "2024-04-05", "day_start": "2024-04-05T04:00:00+03:00", "day_end": "2024-04-06T03:59:00+03:00", "rooms": {"Room 111": [{"guid": "d9dd31cd-1d42-5bb9-92db-e67d08df46a9", "code": "UTYCZX", "id": 43119, "logo": null, "date": "2024-04-05T09:30:00+03:00", "start": "09:30", "duration": "01:00", "room": "Room 111", "slug": "pycon-lithuania-2024-43119-keynote-polars", "url": "https://pretalx.com/pycon-lithuania-2024/talk/UTYCZX/", "title": "Keynote Polars", "subtitle": "", "track": "Keynote", "type": "Keynote", "language": "en", "abstract": "Polars is an OLAP query engine that focusses on the DataFrame use case. Machines have changed a lot in the last decade and Polars is a query engine that is written from scratch in Rust to benefit from the modern hardware.\r\n\r\nEffective parallelism, cache efficient data structures and algorithms are ingrained in its design. This talk will go through recent changes and plans of the project.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "37ZAQC", "name": "Ritchie Vink", "avatar": "https://pretalx.com/media/avatars/37ZAQC_WnC43i3.webp", "biography": "Ritchie Vink is the Author of the Polars DataFrame library. Originally he has a background in Civil Engineering, but he soon made the switch to Data/Software development. He has worked as a Machine Learning Engineer and a Software Engineer for 5 years, before he spent all of his time to Polars project. Those years have been filled with side projects to feed his curiosity. In present times he is the CEO of the newly started Polars Inc.", "public_name": "Ritchie Vink", "guid": "f240ef3a-74da-5c8e-9b19-a2ce7b9f9c7f", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/37ZAQC/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/UTYCZX/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/UTYCZX/", "attachments": []}, {"guid": "a99a5307-6af0-5227-97fd-8c84ea1766ed", "code": "EA7RNU", "id": 39894, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/EA7RNU/Screenshot_2023-12-22_161358_edkxFBe.png", "date": "2024-04-05T11:00:00+03:00", "start": "11:00", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-39894-dataframe-interoperatiblity-what-s-been-achieved-and-what-comes-next", "url": "https://pretalx.com/pycon-lithuania-2024/talk/EA7RNU/", "title": "DataFrame interoperatiblity - what's been achieved, and what comes next?", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "In 2023, we saw several libraries - which had previously only supported pandas - add support for other dataframe libraries such as Polars, Modin, and cuDF.\r\n\r\n- How did they do it?\r\n- Are there any drawbacks to how they did it?\r\n- What comes next, and what other solutions are there?\r\n\r\nThis talk could be of interest to anyone working with dataframes. In particular, those maintaining or contributing to libraries which use dataframes will learn about how they can best support multiple dataframe libraries.", "description": "In 2023, we saw several libraries - which had previously only supported pandas - add support for other dataframe libraries, with a particular emphasis on Polars. They typically did this in one of three ways:\r\n1) convert to pandas (either with `to_pandas` or via the Dataframe Interchange Protocol)\r\n2) convert to something else (e.g. NumPy or PyArrow)\r\n3) write parallel pandas/Polars logic\r\n\r\nThese all represented a quality-of-life improvement for Polars users. But were there drawbacks?\r\n- Solution 1) requires users to still have pandas as a dependency, and doesn't overcome pandas' limitations.\r\n- Solution 2) is only workable if a library doesn't do any dataframe operations to begin with.\r\n- Solution 3) comes with a heavy maintenance load, and requires the library to have to add a level third parallel logic if they want to support yet another dataframe library.\r\n\r\nSo what can be done instead? A solution I'll present is to use Narwhals, which guarantees that your code will work the same way across dataframe libraries - even ones that don't exist yet - all using familiar Polars syntax.\r\n\r\nThe format will roughly be:\r\n- 2-3 mins: an overview of the dataframe landscape\r\n- 2-3 mins: what happened in 2023, which libraries started supporting Polars instead of just pandas\r\n- 5 mins: what's the interchange protocol? What are the downsides of using it? Why couldn't we just have standardised `to_pandas`?\r\n- 5 mins: what's Narwhals?\r\n- 7-8 mins: how can you use Narwhals to support multiple dataframes? How can you get Narwhals to support your dataframe library?\r\n- 2-3 mins: what comes next\r\n\r\nBy the end of the talk, attendees will have learned about the dataframe ecosystem, and those involved with dataframe-consuming libraries will know all they need in order to effectively support multiple dataframe libraries.\r\nLibrary maintainers and contributors will get the most out of the talk, but anyone regularly using dataframes will also learn a lot and the tools they use.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KEUJ9U", "name": "Marco Gorelli", "avatar": "https://pretalx.com/media/avatars/KEUJ9U_Q9qz0Ku.webp", "biography": "Marco is a core dev of pandas and Polars and works at Quansight Labs as Senior Software Engineer.\r\nHe also consults and trains clients professionally on Polars. He has also written the first Polars Plugins Tutorial and has taught Polars Plugins to clients.\r\n\r\nHe has a background in Mathematics and holds an MSc from the University of Oxford, and was one of the prize winners in the M6 Forecasting Competition (2nd place overall Q1).", "public_name": "Marco Gorelli", "guid": "6fa6c8b8-7b91-5fe9-8b55-ae35ecc17ec8", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/KEUJ9U/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/EA7RNU/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/EA7RNU/", "attachments": []}, {"guid": "1016062c-9db3-546a-8620-b16285be1966", "code": "ACBVGZ", "id": 43918, "logo": null, "date": "2024-04-05T11:30:00+03:00", "start": "11:30", "duration": "00:30", "room": "Room 111", "slug": "pycon-lithuania-2024-43918-functime-a-next-generation-ml-forecasting-library-powered-by-polars", "url": "https://pretalx.com/pycon-lithuania-2024/talk/ACBVGZ/", "title": "functime: a next generation ML forecasting library powered by Polars", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "Polars conquered dataframes, and now it is coming for machine learning! With Polars-powered feature-extraction and a best-of-the-class set of diagnostic tools, functime enables **forecasting thousands of time series all at once, from the comfort of your laptop**.\r\n\r\nThough forecasting practitioners are the intended audience, the talk has something for every data scientist. With Polars, we can **push the boundary for what \"reasonable scale\" means - and build a new generation of tools for machine learning**.", "description": "Polars is mature, production ready, intuitive to write and pleasant to read. And it's fast. Thanks to Rust and Rayon, you can achieve speeds greater than numba's. If you combine it with top-of-the-class evaluation methods, not only can you get **speedups of about 1-2x order of magnitude** in feature engineering and cross-validation, but also dramatically **improve your development workflow**.\r\n\r\nThat's what we set out to demonstrate with functime. We chose to write a time-series library first, because forecasting can be a **costly undertaking, with significant problems of scale**. Making predictions with big panel datasets usually required fitting thousands of univariate models, one at a time, using distributed systems. On the other hand, functime unlocks an **efficient forecasting workflow, from your laptop**.\r\n\r\n\ud83d\udccd**Intended audience.** This talk is a hands-on demonstration for forecasting practitioners and data scientists alike. It will showcase how to build clean and performant forecasting pipelines with rich feature-engineering capabilities - enabling a seamless and more efficient modelling workflow.\r\n\r\nNevertheless, the principles behind functime can be grasped by every machine learning practitioner: forecasting is just a use-case to shows off Polars' potential. With Polars, we can improve the current state of machine learning modelling and raise the ceiling for what reasonable scales means.\r\n\r\n\ud83d\udea9 **Talk outline**\r\n\r\n\u2022 minutes 0-3. Problem setting: the current problem with forecasting.\r\n\u2022 minutes 3-7. What is Polars and why it is so fast.\r\n\u2022 minutes 7-10. What is global forecasting and why it is so effective.\r\n\u2022 minutes 10-20. A simple fit-evaluate modelling workflow.\r\n\u2022 minutes 20-25. An advanced workflow with blazingly fast feature extractors and cross-validation.\r\n\u2022 minutes 25-30. Wrap up and QA.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LCEK33", "name": "Luca Baggi", "avatar": "https://pretalx.com/media/avatars/LCEK33_5eAzatc.webp", "biography": "ML Engineer", "public_name": "Luca Baggi", "guid": "d255ece2-e1cc-51dc-9e2e-2620af57f6f1", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/LCEK33/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/ACBVGZ/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/ACBVGZ/", "attachments": []}, {"guid": "f204c5bb-3059-50af-b98c-95ea38bebd9a", "code": "PUMWPA", "id": 43323, "logo": null, "date": "2024-04-05T12:00:00+03:00", "start": "12:00", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-43323-streaming-dataframes-a-new-way-to-process-streaming-data-in-python", "url": "https://pretalx.com/pycon-lithuania-2024/talk/PUMWPA/", "title": "Streaming DataFrames: A New Way to Process Streaming Data in Python", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "Introducing an open source library in Python: Quix Streams. It solves all the complexities of stream processing in a cloud native package with a familiar Pandas DataFrame API interface. This library lets you work with data like they are static in your Jupyter Notebook without any hassle associated with streaming technologies. Our mission is to bring masses of Python developers into streaming and make the journey as smooth as possible so real-time applications using ML are not so difficult", "description": "Introducing an open source library in Python: Quix Streams. It solves all the complexities of stream processing in a cloud native package with a familiar Pandas DataFrame API interface. This library lets you work with data like they are static in your Jupyter Notebook without any hassle associated with streaming technologies. Our mission is to bring masses of Python developers into streaming and make the journey as smooth as possible so real-time applications using ML are not so difficult. I will demonstrate this live on stage with examples of stateless operations and stateful operations like rolling windows and joins. Join me to learn how you can start working with streaming data today.", "recording_license": "", "do_not_record": false, "persons": [{"code": "RQWR8S", "name": "Tom\u00e1\u0161 Neubauer", "avatar": "https://pretalx.com/media/avatars/RQWR8S_nMGHuUM.webp", "biography": "Tom\u00e1\u0161 Neubauer is a co-founder and CTO at Quix, where he works as the technical authority for the engineering team and is responsible for the direction of the company across the full technical stack. He was previously technical lead at McLaren, where he led the architectural uplift of the real-time telemetry acquisition platform for the Formula 1 racing team.\r\n\r\nIn his spare time, Tom\u00e1\u0161 likes to go mountain biking in the hills around Prague, and he loves to ingest the finest beer that Czechia has to offer.", "public_name": "Tom\u00e1\u0161 Neubauer", "guid": "91136749-40c9-52ef-b094-8a2189c308b4", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/RQWR8S/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/PUMWPA/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/PUMWPA/", "attachments": []}, {"guid": "67730f1d-8f57-5661-9da2-ee2b22312281", "code": "BGF8R3", "id": 42660, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/BGF8R3/argilla-notus_oytsY5m.png", "date": "2024-04-05T14:00:00+03:00", "start": "14:00", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-42660-from-gpu-poor-to-data-rich-data-quality-practices-for-llm-fine-tuning", "url": "https://pretalx.com/pycon-lithuania-2024/talk/BGF8R3/", "title": "\ud83e\uddfc From GPU-poor to data-rich: data quality practices for LLM fine-tuning", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "If you are GPU-poor you need to become data-rich. I will give an overview of what we learned from looking at Alpaca, LIMA, Dolly, UltraFeedback and Zephyr and how we applied that to fine-tuning a state-of-the-art open source LLM called Notus and Notux by becoming data-rich.", "description": "GPUs are in high demand and low supply but being GPU-poor can be solved by focusing on data quality and becoming data-rich. By looking at efforts like Alpaca, LIMA, Dolly, UltraFeedback and Zephyr, we can see again and again that data quality is often a thing that does not get the attention it deserves. \r\n\r\n1) Alpaca was made up of synthetic data that was not representative of real-world usage. 2) LIMA standing for Less Is More Alignment showed that a high-quality curated preference dataset with only a fraction of the required data could outperform other datasets in alignment tasks. 3) Databricks employees seemed to misunderstand the annotation task at hand. 3) UltraFeedback showed synthetic data at scale was possible and that GPT4 could be used to curate data aligned with human judgement. 4) Zephyr was trained on UltraFeedback but overlooked a bug in the dataset. 5) We trained Notus by resolving this bug but overlooked the fact training data was present in the benchmarks. 6) We started distilabel and worked on Notux.", "recording_license": "", "do_not_record": false, "persons": [{"code": "NS3AAU", "name": "Gabriel Mart\u00edn Bl\u00e1zquez", "avatar": "https://pretalx.com/media/avatars/NS3AAU_yTJ78aZ.webp", "biography": "Gabriel is a Machine Learning Engineer focused on NLP. From academia to industry, he is now working on Argilla, where we have contributed to the backend of Argilla and also in the development and design of distilabel, a library for generating synthetic data using LLMs.", "public_name": "Gabriel Mart\u00edn Bl\u00e1zquez", "guid": "fb8b9acd-dd31-5eb4-a32b-e4fbffd2cc02", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/NS3AAU/"}, {"code": "NCSV9C", "name": "David Berenstein", "avatar": "https://pretalx.com/media/avatars/NCSV9C_BPkAu1G.webp", "biography": "Hi there \ud83d\udc4b\r\n\r\nFrom failing to study medicine \u27a1\ufe0f BSc industrial engineer \u27a1\ufe0f MSc computer scientist.\r\nLife can be strange, so better enjoy it.\r\nI\u00b4m sure I do by: \ud83d\udc68\ud83c\udffd\u200d\ud83c\udf73 Cooking, \ud83d\udc68\ud83c\udffd\u200d\ud83d\udcbb Coding, \ud83c\udfc6 Committing.", "public_name": "David Berenstein", "guid": "17af33d0-ecdd-5df8-9f5f-726a58c6196d", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/NCSV9C/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/BGF8R3/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/BGF8R3/", "attachments": []}, {"guid": "fea35833-e6ae-5517-a042-95999ce16824", "code": "K3DBNN", "id": 43911, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/K3DBNN/photo_5294024853269111254_x_9aRpbPi.jpg", "date": "2024-04-05T14:30:00+03:00", "start": "14:30", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-43911-customizing-llms-a-guide-to-fine-tuning-open-source-models", "url": "https://pretalx.com/pycon-lithuania-2024/talk/K3DBNN/", "title": "Customizing LLMs: A Guide to Fine-Tuning Open Source Models", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "In today's world, large language models (LLMs) are revolutionizing how we interact with technology, allowing us to have conversations, organize data, write text with minimal human effort.However, It is likely that when using an LLM, you have received incorrect answers or not specialized answers.\r\nFor this reason, fine-tuning models that have been pre-trained with this large corpus of data is crucial to: (1) obtain better performance in the quality of responses, and (2) tune the model to a specific domain.", "description": "It is likely that when using an LLM, you have received incorrect answers, why is that?\r\nDuring the training of these models, they often ingest large amounts of unlabelled text from sources such as books, web pages, forums, which develop a great understanding of knowledge but lack specific knowledge. For this reason fine-tuning models that have been pre-trained with this large corpus of data is crucial to: (1) obtain better performance in the quality of responses, and (2) tune the model to a specific domain by providing specific texts for them to specialise on. \r\n\r\nSo, why is it necessary to understand Fine tuning models?\r\nAmong the various reasons, one of the most relevant is data privacy. Since doing the Fine Tuning process locally can teach the model data that is private, such as personal\r\nprivate data, such as personal data, clinical data, confidential company information, etc., can be taught to the model.\r\nIn this talk, attendees will learn step-by-step how Open Source LLM models, such as Mixtral-8x7B or Mistral-7B (multilingual), are a good option to learn how to perform Fine-Tuning  and specialise for the domain on their own computer. In addition, the Python role of the process, the application of external modules to have a simple implementation, will be shared to facilitate the Fine-Tuning of LLMs.\r\n \r\nGeneral Data Science knowledge is recommended to follow the subject with ease.", "recording_license": "", "do_not_record": false, "persons": [{"code": "ST8PJ9", "name": "Maria Jose Molina Contreras", "avatar": "https://pretalx.com/media/avatars/ST8PJ9_MoSOowD.webp", "biography": "She is a passionate biotechnologist, working as a Sr. Data Scientist in Berlin. In her spare time, she loves to develop projects that are beginner-friendly, even with complex topics. She is an active member in the Python Berlin communities, helping to organize workshops and participating actively in mentoring newcomers (specially, people who are changing from career path) and giving talks in many local communities like PyLadies and also in international conferences. Moreover, she participated in the python documentation translation (English-Spanish) and I am coordinator in the discord channel of Python en Espa\u00f1ol", "public_name": "Maria Jose Molina Contreras", "guid": "ed4658d1-f94b-5083-abd3-ff4dda5c674e", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/ST8PJ9/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/K3DBNN/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/K3DBNN/", "attachments": []}, {"guid": "e1190636-4d63-518a-8d39-5fb958568cce", "code": "DHBLXW", "id": 43836, "logo": null, "date": "2024-04-05T15:00:00+03:00", "start": "15:00", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-43836-speed-up-open-source-llm-serving-with-llama-cpp-python", "url": "https://pretalx.com/pycon-lithuania-2024/talk/DHBLXW/", "title": "Speed up open source LLM-serving with llama-cpp-python", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "Large language models (LLMs) often require huge compute resources to serve. This is a common challenge for those who want to avoid sharing their data with cloud API providers, or to deploy their stack in air-gapped environments. We will take a look at how the open source llama-cpp-python library opens the door to lower hardware requirements and simplifies deployment significantly.", "description": "This talk takes a deep look at the problem of serving Large language models (LLMs) without massive hardware requirements and complexity. Often LLMs require 10s or even 100s of GBs, and serving these models as-is may require complex multi-GPU systems. We will take a look at how the open source llama-cpp-python library 1)reduces the hardware memory requirement often by 8x using quantization methods, 2)simplifies the deployment complexity with fewer components and dependencies, 3)can be used by people like you and me!", "recording_license": "", "do_not_record": false, "persons": [{"code": "HGUBXP", "name": "Isaac Chung", "avatar": "https://pretalx.com/media/avatars/HGUBXP_jIvVQ6S.webp", "biography": "I lead applied research efforts for our EMEA team to scale AI for production loads at Clarifai. My team has been solving search/ranking, retrieval, and multimodal problems. Previously I was leading the effort in developing custom ML solutions for enterprise customers.", "public_name": "Isaac Chung", "guid": "58420dac-6d61-5a94-aed0-56a96fa77467", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/HGUBXP/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/DHBLXW/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/DHBLXW/", "attachments": []}, {"guid": "bd377264-7c4b-5616-bb86-07277ebf99f6", "code": "KBNYPP", "id": 47610, "logo": null, "date": "2024-04-05T15:30:00+03:00", "start": "15:30", "duration": "00:25", "room": "Room 111", "slug": "pycon-lithuania-2024-47610-rag-on-kdtree", "url": "https://pretalx.com/pycon-lithuania-2024/talk/KBNYPP/", "title": "RAG on KDTree", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "How to use KDTree from sklearn library to prototype RAG (Retrieval-Augmented Generation) applications.", "description": "RAG, or Retrieval-Augmented Generation, is a method to enhance LLM output by combining retrieved relevant information from a large dataset with a generator model like GPT to produce informed and contextually relevant outputs. To retrieve relevant data, it has to be organized in the data structure that allows efficient search based on the actual meaning of the text. The common approach is to use vector databases like Weaviate or Pinecone. In the presentation I\u2019ll share my experience of how to use the KDTree structure from sklearn library to work with vectorized data as a fast way of building a RAG application prototype.", "recording_license": "", "do_not_record": false, "persons": [{"code": "3339L7", "name": "Jan Bartnitsky", "avatar": "https://pretalx.com/media/avatars/3339L7_pyMDNip.webp", "biography": "Graduated from Mechanics and Mathematics faculty of BSU in 2014.\r\nDeveloper at flespi, Gurtam since 2016.", "public_name": "Jan Bartnitsky", "guid": "64217518-3470-5d89-901c-5d0364769619", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/3339L7/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/KBNYPP/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/KBNYPP/", "attachments": []}, {"guid": "1980d551-e7a5-538d-b98c-daa295cde305", "code": "UGBKRS", "id": 44522, "logo": null, "date": "2024-04-05T16:30:00+03:00", "start": "16:30", "duration": "01:00", "room": "Room 111", "slug": "pycon-lithuania-2024-44522-the-ai-revolution-will-not-be-monopolized-how-open-source-beats-economies-of-scale-even-for-llms", "url": "https://pretalx.com/pycon-lithuania-2024/talk/UGBKRS/", "title": "The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs", "subtitle": "", "track": "Keynote", "type": "Keynote", "language": "en", "abstract": "With the latest advancements in Natural Language Processing and Large Language Models (LLMs), and big companies like OpenAI dominating the space, many people wonder: Are we heading further into a black box era with larger and larger models, obscured behind APIs controlled by big tech monopolies? I don\u2019t think so, and in this talk, I\u2019ll show you why.", "description": "I\u2019ll dive deeper into the open-source model ecosystem, some common misconceptions about use cases for LLMs in industry, practical real-world examples and how basic principles of software development such as modularity, testability and flexibility still apply. LLMs are a great new tool in our toolkits, but the end goal remains to create a system that does what you want it to do. Explicit is still better than implicit, and composable building blocks still beat huge black boxes.\r\n\r\nAs ideas develop, we\u2019re seeing more and more ways to use compute efficiently, producing AI systems that are cheaper to run and easier to control. In this talk, I'll share some practical approaches that you can apply today. If you\u2019re trying to build a system that does a particular thing, you don\u2019t need to transform your request into arbitrary language and call into the largest model that understands arbitrary language the best. The people developing those models are telling that story, but the rest of us aren\u2019t obliged to believe them.", "recording_license": "", "do_not_record": false, "persons": [{"code": "FZKG9N", "name": "Ines Montani", "avatar": "https://pretalx.com/media/avatars/FZKG9N_7il65fA.webp", "biography": "Ines Montani is a developer specializing in tools for AI and NLP technology. She\u2019s the co-founder and CEO of Explosion and a core developer of spaCy, a popular open-source library for Natural Language Processing in Python, and Prodigy, a modern annotation tool for creating training data for machine learning models.", "public_name": "Ines Montani", "guid": "b60e58b3-bd41-534c-a286-22ae8481a00a", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/FZKG9N/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/UGBKRS/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/UGBKRS/", "attachments": []}], "Room 203": [{"guid": "4e738c05-220c-5d81-be16-d48ce0536276", "code": "HJ77BT", "id": 41384, "logo": null, "date": "2024-04-05T11:00:00+03:00", "start": "11:00", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-41384-the-pragmatic-pythonic-data-engineer", "url": "https://pretalx.com/pycon-lithuania-2024/talk/HJ77BT/", "title": "The pragmatic Pythonic data engineer", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "Learn to make practical decisions in data engineering with Python's vast ecosystem. Avoid blindly following market guidelines and consider the reality of your situation for better performance and architecture", "description": "Often, we tend to look at the success of others and try to repeat their **decisions**, expecting the same result. We must deal with things sensibly and realistically based on practical rather than just theoretical considerations. **Python** offers a vast **ecosystem** to handle all phases of data engineering. Implementing a **data architecture** can be complex, and many adopt the strategy of using\u00a0market **guidelines**\u00a0without **pragmatism** of understanding your **reality**; in most cases, this strategy is a big problem of\u00a0**architecture**\u00a0and\u00a0**performance**.\r\n\r\nAs a part of this talk, we will walk through the process of identifying **Pythonic** components of **data analysis**, **data cleaning**, **data ingestion**, **databases**, **file systems**, **serialization formats**, **workflows**, and **pipelines**. As we move through those steps, my main focus is teaching the audience **pragmatic thinking** on incorporating best practices into the **data architecture** process. I will also walk through **strategies** and explain high-level data engineering concepts we can use.", "recording_license": "", "do_not_record": false, "persons": [{"code": "GPMPE7", "name": "Robson Junior", "avatar": "https://pretalx.com/media/avatars/GPMPE7_Gckjqa4.webp", "biography": "Robson has been a developer since 2003 with a multifaceted life. Since 2014, I transitioned my career to be a Data Engineer and used Python to handle complex pipelines and glue other technologies. Living in Berlin, in their free time, he is an apprentice paramedical tattooer and glider pilot.", "public_name": "Robson Junior", "guid": "c3f2e1c5-6161-55e9-9ac5-1340b4c4aeb9", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/GPMPE7/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/HJ77BT/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/HJ77BT/", "attachments": []}, {"guid": "09a5146d-6209-5e06-8165-1bbb0bf71be4", "code": "FYCQUJ", "id": 39451, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/FYCQUJ/WriteAuditPublishLogo_hODnVta.png", "date": "2024-04-05T11:30:00+03:00", "start": "11:30", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-39451-write-audit-publish-pattern-in-modern-data-pipelines", "url": "https://pretalx.com/pycon-lithuania-2024/talk/FYCQUJ/", "title": "Write-Audit-Publish Pattern in Modern Data Pipelines", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "Data is new oil, and one of the ways is leakage and poisoning the surrounding environment. What happens if you pollute one of the datasets used in some decision makers facing dashboards? In this talk, I will explain the reemergence of the Write-Audit-Publish pattern and how you can achieve it using Apache Iceberg and Apache Spark.", "description": "One of the old patterns that is being adopted again is Write-Audit-Publish. Most Data Practitioners are testing the data they create after it\u2019s done, potentially ruining other data assets downstream. Using WAP allows us to ensure that no such thing happens. In this talk, I will present how evolving new tech (in this case, Apache Iceberg table format) allows us to use Apache Spark to use this pattern. The presentation will cover topics like:\r\n\r\n- What is Write-Audit-Publish\r\n- What is Apache Spark and How it works with Apache Iceberg\r\n- What is the Branching feature in Apache Iceberg, and how does it connect to WAP\r\n- Example of its use together with Apache Spark", "recording_license": "", "do_not_record": false, "persons": [{"code": "K7MRTJ", "name": "Tomas Peluritis", "avatar": "https://pretalx.com/media/avatars/K7MRTJ_3vXcDGO.webp", "biography": "I'm a Data Engineer with a diverse background, transitioning from a Data Analyst to a Team Lead and Head of Data before returning to my roots. I have a knack for numbers and a passion for coding, constantly seeking optimal solutions and driving continuous improvement.\r\n\r\nWith expertise in data pipelines, orchestration, SQL, and strong communication skills, I excel in leading and mentoring teams. I've been fortunate to contribute to multiple data migrations and projects, including building some from scratch.\r\n\r\nOutside of work, I thrive in fast-paced environments, embracing new challenges and staying updated with the latest technologies through side projects. I share my knowledge with the community through my podcast and blog, 'Uncle Data,' where I discuss all things data-related.", "public_name": "Tomas Peluritis", "guid": "fa38c885-99b5-59ee-bd9e-ab9cf9c07f54", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/K7MRTJ/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/FYCQUJ/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/FYCQUJ/", "attachments": []}, {"guid": "06f69e1a-20c6-57e7-83b8-e3e17d4ac1a4", "code": "LHNGSS", "id": 41945, "logo": null, "date": "2024-04-05T12:00:00+03:00", "start": "12:00", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-41945-revenue-based-scoring-in-gridsearchcv-a-case-for-the-new-metadata-routing-in-scikit-learn", "url": "https://pretalx.com/pycon-lithuania-2024/talk/LHNGSS/", "title": "Revenue based scoring in `GridSearchCV`: a case for the new metadata routing in scikit-learn", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "Passing metadata such as `sample_weight` and `groups` through a scikit-learn `cross_validate`, `GridSearchCV`, or a `Pipeline` to the right estimators, scorers, and CV splitters has been either cumbersome, hacky, or impossible.\r\n\r\nThe new metadata routing mechanism in scikit-learn enables you to pass metadata through these objects. As a use-case, we study how you can implement a revenue sensitive scoring while doing a hyperparameter search within a `GridSearchCV` object.", "description": "In this talk we go through a use-case where we implement a custom scorer taking into account revenue while looking for the best hyper parameters in a `GridSearchCV`. This requires the new metadata routing available in the latest scikit-learn release.\r\n\r\nThis talk will give you an insight into this new feature, how it\u2019s implemented, and how you can make use of it.\r\n\r\nHistorically, passing metadata such as `sample_weight` has not been consistent in scikit-learn, and with composite meta-estimators such as `Pipeline`, one needs to use the `step_name__metadata` syntax, which is brittle and one needs to repeat the same metadata parameter for different steps. With this syntax, it\u2019s also been impossible to pass a `Ppeline` object as a sub-estimator of many other meta-estimators such as `RFE`.\r\n\r\nWith the new metadata routing available in the latest scikit-learn, it is now easy to pass metadata around. For example, here we pass `sample_weight` and `groups` to the splitter and the scorer objects, as well as the estimator in `GridSearchCV`.\r\n\r\n```\r\nestimator = Lasso().set_fit_request(sample_weight=True)\r\nhyperparameter_grid = {\"alpha\": [0.1, 0.5, 1.0, 2.0]}\r\nscorer = get_scorer(\"neg_mean_squared_error\").set_score_request(\r\n    sample_weight=True\r\n)\r\ncv = GroupKFold(n_splits=5)\r\n\r\ngrid_search = GridSearchCV(\r\n    estimator=estimator,\r\n    param_grid=hyperparameter_grid,\r\n    cv=cv,\r\n    scoring=scorer,\r\n)\r\n```", "recording_license": "", "do_not_record": false, "persons": [{"code": "HGSWKF", "name": "Adrin Jalali", "avatar": "https://pretalx.com/media/avatars/HGSWKF_ZnotwvU.webp", "biography": "Adrin is a scikit-learn maintainer and works on a few other open source projects. He has a PhD in Bioinformatics, has worked as a consultant, and in an algorithmic privacy and fairness team. He is now a cofounder at probabl.ai, where they work on enabling people to do statistically sane machine learning.", "public_name": "Adrin Jalali", "guid": "a4868d84-4229-51c6-9af9-2ed9d356b361", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/HGSWKF/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/LHNGSS/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/LHNGSS/", "attachments": []}, {"guid": "aaabbdf8-22f4-5425-ae24-43f43bd480de", "code": "JU3LEY", "id": 42585, "logo": null, "date": "2024-04-05T14:00:00+03:00", "start": "14:00", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-42585-mlops-ci-cd-in-the-age-of-machine-learning", "url": "https://pretalx.com/pycon-lithuania-2024/talk/JU3LEY/", "title": "[MLOps] CI/CD in the age of Machine Learning", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "Machine learning models are a new artifact to build, version and deploy, explore there impacts on your architecture.", "description": "CI/CD is a well-known tool for craftsmen, enabling them to build and deploy their applications automatically and robustly. ML brings an additional artifact to building the Machine Learning model. Extracted from the book Culture MLOps, in this talk we'll explore the impact of ML model management on CI/CD. Based on 3 needs (making a prototype, starting to develop a product, scaling up), we'll see where to build the model, in which register to version it, and how to deploy a new version.\r\n\r\nYou'll leave with different patterns that can be applied in your own context.\r\n\r\nTranslated with DeepL.com (free version)", "recording_license": "", "do_not_record": false, "persons": [{"code": "QL7EHM", "name": "Emmanuel-Lin Toulemonde", "avatar": "https://pretalx.com/media/avatars/QL7EHM_Gw0TuFp.webp", "biography": "Emmanuel-Lin Toulemonde is looking for two things: learning and sharing.\r\n\r\nHe has been working in Data Science since 2014 and in software development since 2017. He is currently MLOps manager at OCTO Technology and trainer at OCTO Academy.\r\n\r\nHe carries out and helps to carry out projects involving data or Machine Learning. Looking for better ways of doing things, he learns from other disciplines. He strives to give back to the community what he has learned in the form of an article, a book and here a conference.\r\n\r\nHis subjects of interest are: data science, MLEng, MLOps, monitoring data science systems, interpretability of data science systems, software development, emergent architecture, agility, etc.", "public_name": "Emmanuel-Lin Toulemonde", "guid": "bc6db12e-e515-51c3-a49b-b68fe26d64c9", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/QL7EHM/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/JU3LEY/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/JU3LEY/", "attachments": []}, {"guid": "bc9c5b8a-f2a5-5867-a374-9a7ad91a3956", "code": "TMUGBM", "id": 43003, "logo": null, "date": "2024-04-05T15:00:00+03:00", "start": "15:00", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-43003-data-version-control-done-right-with-python-and-unity", "url": "https://pretalx.com/pycon-lithuania-2024/talk/TMUGBM/", "title": "Data Version Control Done Right with Python and Unity", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "Python is a leading language of choice for the Databricks and ML ecosystem, alongside a delta tables stack leveraging Unity catalog to manage petabytes of structured data.  To build and experiment with ML data and models, version control has become the backbone of modern machine learning (ML) projects, bringing critical aspects of reproducibility and experimentation to teams who are able to experiment in isolation, while still collaborating on projects.", "description": "One critical area that version control ensures is greater data compliance with ACID principles when it comes to transactions.  \r\n\r\nIn this talk we'll demo reproducibility and efficient experimentation management in Python using delta tables managed in Unity.  We'll walk through a Python example of how to simulate transactions in lakeFS with a dedicated Python SDK. Branching mechanisms make it possible to manage changes in the data lake, while simulating transactional concepts in data lakes in order to track changes over time and, as well as provide the guardrails of reverting to a previous state when needed for an added level of consistency and traceability.", "recording_license": "", "do_not_record": false, "persons": [{"code": "SYPCGN", "name": "Einat Orr", "avatar": "https://pretalx.com/media/avatars/SYPCGN_DoAOl6U.webp", "biography": "Oz Katz is the Co-Creator of the open source lakeFS Project, an open source platform that delivers resilience and manageability to object-storage based data lakes, as well as the CTO and co-founder of Treeverse, the company behind lakeFS. Oz engineered and maintained petabyte-scale data infrastructure at analytics giant SmilarWeb, which he joined after the acquisition of Swayy.", "public_name": "Einat Orr", "guid": "7de660e5-65b3-5bc5-a271-33983e0599bb", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/SYPCGN/"}, {"code": "MUNUBA", "name": "Nir Ozeri", "avatar": "https://pretalx.com/media/avatars/MUNUBA_pI8uxO2.webp", "biography": "Nir Ozeri is a seasoned Software Engineer at lakeFS. Over the last decade, he has worked on many different parts of the tech stack from firmware and storage drivers all the way to cloud native systems such as lakeFS, where he is a core member of the development team. Outside the tech realm, Nir's world takes a splash in the water. When he's not crafting code, you'll find him above or beneath the waves, whether it's SCUBA or free diving, riding the waves while surfing, or simply hanging out with his canine companion at the beach. Nir believes that just as in coding, the depths of the ocean hold endless mysteries waiting to be explored, and every wave carries its unique rhythm \u2013 much like lines of code waiting to be written.", "public_name": "Nir Ozeri", "guid": "2741c2a0-f1d6-5bdd-bd1b-652339e8751c", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/MUNUBA/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/TMUGBM/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/TMUGBM/", "attachments": []}, {"guid": "a9efa135-39d8-5877-9d90-202c0e8c221e", "code": "BHYLYJ", "id": 43230, "logo": null, "date": "2024-04-05T15:30:00+03:00", "start": "15:30", "duration": "00:25", "room": "Room 203", "slug": "pycon-lithuania-2024-43230-making-an-e-shop-search-bar-your-friend-with-pinecone-s-hybrid-search", "url": "https://pretalx.com/pycon-lithuania-2024/talk/BHYLYJ/", "title": "Making an e-shop search bar your friend with Pinecone's hybrid search", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "Fast and accurate search results are a crucial components of any e-shop and thus can make the difference between high user satisfaction and user frustration. With recent advancements in vector search technologies, enhanced search systems have become more efficient, leading to better user experiences and improved conversion rates. In this talk, we\u2019ll explore how to implement a hybrid search system for a non-english e-commerce site using Pinecone, a high-performance vector search engine.", "description": "Vector search has unlocked the door to another level of relevance and efficiency in information retrieval, but it isn\u2019t a perfect technology. In fact, without big domain-specific datasets to fine-tune models on, a traditional keyword search still has some advantages. We repeatedly see that vector search unlocks incredible and intelligent retrieval but struggles to adapt to new domains or deal with industry-specific jargon as well as rare words. On the other hand, traditional search can cope with new domains but is fundamentally limited to a set performance level and is unable to capture semantic relationships within the query. As we can see, both approaches have pros and cons, but what if we merge them somehow to eliminate a few of those cons? Could we create a hybrid search with the heightened performance potential of vector search and the zero-shot adaptability of traditional search? In this talk, we will take both vector and traditional search and merge them via Pinecone\u2019s new hybrid search to create a flexible and friendly search engine, capable of understanding queries of diverse nature. By the end of this talk, you\u2019ll not only have a strong understanding of hybrid search but also a solid intuition on how to implement it, improving the search functionality of any e-commerce site.", "recording_license": "", "do_not_record": false, "persons": [{"code": "HHU7X3", "name": "Martynas Venckus", "avatar": "https://pretalx.com/media/avatars/HHU7X3_LBZ25Ew.webp", "biography": "- 2021/2022, Imperial College London, MSc Health Data Analytics and Machine Learning. Graduated with distinction.\r\n- 2022 July, Data Science Internship at AstraZeneca in Cambridge, UK. Improved AFT survival analysis models to predict chronic kidney disease progression.\r\n- 2022 October/now, working as a Data Scientist in Telesoftas. Tech stack: python, databricks, pyspark, mlflow, tableau, neo4j.", "public_name": "Martynas Venckus", "guid": "a85341c4-1ce2-5f27-bfd1-a85fba15b0e0", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/HHU7X3/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/BHYLYJ/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/BHYLYJ/", "attachments": []}], "Room 228": [{"guid": "0dd91f41-c187-5f7a-bbd0-c64fedf761d3", "code": "VLK9FU", "id": 44284, "logo": null, "date": "2024-04-05T11:00:00+03:00", "start": "11:00", "duration": "00:25", "room": "Room 228", "slug": "pycon-lithuania-2024-44284-ml-model-serialization-improving-efficiency-and-flexibility", "url": "https://pretalx.com/pycon-lithuania-2024/talk/VLK9FU/", "title": "ML Model Serialization: Improving Efficiency and Flexibility", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "Machine learning (ML) model serialization helps to optimize inference latency, memory, and disk space requirements and provides more options for model deployment. We will explore the use cases that benefit the most from this technique and some drawbacks.", "description": "This presentation discusses ML model serialization, showcasing its role in enhancing the efficiency and flexibility of machine learning systems. We will explore the most common model serialization formats for neural networks and boosted tree models (TorchScript, ONNX, Treelite). We will see how model serialization can help in restricted environments like AWS Lambda and check some drawbacks of the approach. Case studies from real-life examples will be presented to ground these concepts in practical reality.", "recording_license": "", "do_not_record": false, "persons": [{"code": "LR3JZE", "name": "Jonas Jarutis", "avatar": "https://pretalx.com/media/avatars/LR3JZE_z96Pfb0.webp", "biography": null, "public_name": "Jonas Jarutis", "guid": "40ff4473-c2a0-5b0a-9c99-140cf84786de", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/LR3JZE/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/VLK9FU/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/VLK9FU/", "attachments": []}, {"guid": "1839e984-5dab-51b1-b8ca-325a515a21e5", "code": "HFXHRV", "id": 43347, "logo": null, "date": "2024-04-05T11:30:00+03:00", "start": "11:30", "duration": "00:25", "room": "Room 228", "slug": "pycon-lithuania-2024-43347-transcend-the-knowledge-barriers-in-rag-setup-chat-state-and-more", "url": "https://pretalx.com/pycon-lithuania-2024/talk/HFXHRV/", "title": "Transcend the Knowledge Barriers in RAG: Setup, Chat State, and More", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "Developer tools power many LLM-based chat and Retrieval Augmented Generation applications today. However, there is a non-trivial knowledge barrier for entrants that could hinder developer experience. Our discussion intends to offer actionable insights into building and maintaining generative AI solutions in a secure and economical way, thereby improving the developer experience in this Generative AI wave.", "description": "Developer tools power many LLM-based chat and Retrieval Augmented Generation applications today. However, there is a non-trivial knowledge barrier for entrants that could hinder developer experience. The onus is on the developer to handle things like fine-grained setup for multiple components (e.g. LLM, vectorDB, etc) with various hyper-parameters, client-side chat-state management, and security. This talk aims to take a deeper dive into each of the RAG pipeline components and provide a better understanding of why certain customizations are being offered. Our discussion will show you how to better choose what is best suited for your needs when building and maintaining generative AI applications.", "recording_license": "", "do_not_record": false, "persons": [{"code": "HGUBXP", "name": "Isaac Chung", "avatar": "https://pretalx.com/media/avatars/HGUBXP_jIvVQ6S.webp", "biography": "I lead applied research efforts for our EMEA team to scale AI for production loads at Clarifai. My team has been solving search/ranking, retrieval, and multimodal problems. Previously I was leading the effort in developing custom ML solutions for enterprise customers.", "public_name": "Isaac Chung", "guid": "58420dac-6d61-5a94-aed0-56a96fa77467", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/HGUBXP/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/HFXHRV/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/HFXHRV/", "attachments": []}, {"guid": "9932fa7a-ba70-5c6a-bd50-5354dd924da8", "code": "HJGEAD", "id": 40103, "logo": null, "date": "2024-04-05T12:00:00+03:00", "start": "12:00", "duration": "00:25", "room": "Room 228", "slug": "pycon-lithuania-2024-40103-generative-ai-in-lithuanian-language", "url": "https://pretalx.com/pycon-lithuania-2024/talk/HJGEAD/", "title": "Generative AI in Lithuanian language", "subtitle": "", "track": "Data", "type": "Talk", "language": "en", "abstract": "Presentation about how we (few local NLP enthusiasts) trained Language Transformer to generate meaningful text in Lithuanian language. Everything was based on volunteer work with huge R&D flavor. \r\nDuring this presentation I will not only cover what kind of data we used to train this model and what results we got but also present other initiatives we drive in NLP field. Will try to do both technical and interactive presentation.", "description": "At this moment it's difficult to propose exact format (outlet) of presentation. There are two main topics (parts) which I would like to present:\r\n- Part 1. Sequence-to-sequence Transformer which is able to generate (locally) text in Lithuanian language. We trained this model in two ways: 1) from text generate headline of article. 2) from headline generate text. During presentation I will cover both modes of this model. This is not LLM this is transformer which learned language rules and is able to generate sequences in Lithuanian language. \r\n- Part 2. Lithuanian characters predictor. In Lithuanian language we have few diacritic symbols (\u0105\u010d\u0119\u0117\u012f\u0161\u0173\u016b) and often we are skipping them and autocorrect helps to fix this. We trained model which is able to restore diacritic symbols from text i.e., it corrects suris to s\u016bris. It's not autocorrect tool it's something more light and sophisticated how to fix 'lisping' text to correct one. It's 99% accurate and can be used i.e., in chatbots where people typing text without diacritic symbols. \r\nI would like to present these two topics during 25 min. It will be just intro that few local NLP enthusiasts are interesting in out language from ML perspective.", "recording_license": "", "do_not_record": true, "persons": [{"code": "M8YUEF", "name": "Vytautas Bielinskas", "avatar": "https://pretalx.com/media/avatars/M8YUEF_zPjdMwk.webp", "biography": "I'm Senior Data Scientist at IBM Lithuanian with PhD in Technology sciences. In the recent years my main focus areas are GenAI with Large Language Models, Natural Language Processing/Understanding, computer vision, and MLOps. I also 2x is AWS certified in Machine Learning and DevOps.", "public_name": "Vytautas Bielinskas", "guid": "0c5b1bf0-eb1a-5b4f-8d31-cbbd91409f8b", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/M8YUEF/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/HJGEAD/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/HJGEAD/", "attachments": []}, {"guid": "c58a07e6-c77e-54f6-8c53-1f1f95d0a6f8", "code": "VTKGSM", "id": 39948, "logo": "https://pretalx.com/media/pycon-lithuania-2024/submissions/VTKGSM/Firefly_un_homme_et_une_femme_francais_sont_en_t_DjYS5BN.jpg", "date": "2024-04-05T14:00:00+03:00", "start": "14:00", "duration": "00:55", "room": "Room 228", "slug": "pycon-lithuania-2024-39948-coding-a-vector-database-from-scratch", "url": "https://pretalx.com/pycon-lithuania-2024/talk/VTKGSM/", "title": "Coding a vector database from scratch", "subtitle": "", "track": "Data", "type": "Workshop", "language": "en", "abstract": "In 2023, vector databases are attracting great interest, as evidenced by the Google Trends search statistics. This type of database has a direct link with Large Language Models (LLM), such as ChatGPT , by enabling \u201cRetrieval Augmented Generation\u201d (RAG) for example. This approach offers the possibility of exploiting the power of a conversational agent using our own data.\r\n\r\nBut... Do you really need a vector database ?", "description": "In 2024, vector databases are attracting great interest. This type of database has a direct link with Large Language Models (LLM), such as ChatGPT , by enabling \u201cRetrieval Augmented Generation\u201d (RAG) for example. \r\n\r\nIt is also useful for search engines, as we will build a multimodal text-image search engine, by coding a vector database from scratch.", "recording_license": "", "do_not_record": false, "persons": [{"code": "QSE77D", "name": "Aur\u00e9lien Massiot", "avatar": "https://pretalx.com/media/avatars/QSE77D_CET3jU8.webp", "biography": "After taking his first steps as a Data Scientist 8 years ago, and collecting a few medals in Machine Learning competitions, Aur\u00e9lien Massiot gradually became interested in all areas related to Data Science: software craftsmanship, ops, methodology\u2026 For more than 6 years at OCTO Technology, he has supported and trained his clients on MLOps and data architecture. Aur\u00e9lien also mentored OCTO\u2019s Data & AI graduate program. He likes to transmit and disseminate the fruit of his research, whatever the medium: training, feedback or articles. Simplicity, a true leitmotif in accordance with his convictions, naturally permeates his sharing.", "public_name": "Aur\u00e9lien Massiot", "guid": "7a37020a-8719-5fb8-8b58-3cb3f192116d", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/QSE77D/"}], "links": [{"title": "Under the hood of vector databases", "url": "https://blog.octo.com/sous-le-capot-des-bases-de-donnees-vectorielles-(vector-databases)", "type": "related"}], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/VTKGSM/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/VTKGSM/", "attachments": []}, {"guid": "45873ef9-2a9d-5ba1-b23f-ce4fb35f4696", "code": "JGCTMH", "id": 43352, "logo": null, "date": "2024-04-05T15:00:00+03:00", "start": "15:00", "duration": "00:55", "room": "Room 228", "slug": "pycon-lithuania-2024-43352-transforming-data-insights-creating-dynamic-animated-stories-with-python-and-ipyvizzu-story", "url": "https://pretalx.com/pycon-lithuania-2024/talk/JGCTMH/", "title": "Transforming Data Insights: Creating Dynamic Animated Stories with Python and ipyvizzu-story", "subtitle": "", "track": "Data", "type": "Workshop", "language": "en", "abstract": "Unlocking the value of data often hinges on the ability to communicate insights effectively to non-technical audiences. What if you could go beyond static charts and captivate your audience with animated data stories? Join us in this workshop to discover the power of animated storytelling using ipyvizzu-story, an innovative open-source presentation tool designed to work seamlessly within Jupyter Notebook and similar platforms.", "description": "This interactive workshop offers a hands-on experience with ipyvizzu-story. To fully engage with the material, please bring your laptop and ensure familiarity with Jupyter Notebook or one of the supported environments listed [here](https://ipyvizzu-story.vizzuhq.com/latest/environments/).\r\n\r\nDesigned for data professionals who frequently share their findings with non-technical stakeholders, this workshop presents a unique opportunity to enhance your storytelling capabilities. ipyvizzu-story smoothly integrates with pandas and boasts a straightforward syntax, making it accessible even to Python novices.\r\n\r\nOur workshop will be divided into the following segments, w/ participants actively involved in exercises and challenges:\r\n\r\n- **Introduction to Vizzu**: Explore the underlying open-source dataviz library, Vizzu, which powers ipyvizzu-story.\r\n- **The Art of Animated Storytelling**: Delve into the challenges of presenting data to business stakeholders using traditional plots and discover the advantages of animation from both the presenter's and the audience's perspectives.\r\n- **Navigating ipyvizzu**: Learn the foundational logic and key components of ipyvizzu, focusing on the animate method through practical examples.\r\n- **Hands-On Exploration**: Engage with prepared notebooks to become familiar with ipyvizzu.\r\n- **Leveraging Preset Charts**: Discover how to use preset charts effectively in your storytelling.\r\n- **Unveiling ipyvizzu-story**: Explore ipyvizzu-story's core features, including embedding ipyvizzu charts into your narrative, with illustrative examples.\r\n- **Story Creation Challenge**: Form groups and tackle a creative storytelling challenge using provided datasets.\r\n- **Presentations and Feedback**: Participants can showcase their stories and receive feedback.\r\n- **Q&A and Closing Remarks**: Conclude the workshop w/ an open discussion and final insights.\r\n\r\nBy the end of this workshop, you will have a deep understanding of ipyvizzu-story and the skills to craft compelling an", "recording_license": "", "do_not_record": false, "persons": [{"code": "Q7VFPN", "name": "Peter Vidos", "avatar": "https://pretalx.com/media/avatars/Q7VFPN_BZX77YH.webp", "biography": "Peter, the CEO, and Co-Founder of [Vizzu](https://vizzuhq.com/), is on a mission to redefine how we perceive and interact with data. His passion lies in uncovering innovative solutions to the challenges faced by data professionals when it comes to chart creation and presentation.\r\n\r\nWith over 15 years of experience in digital product development, Peter's career has spanned a wide array of projects, from mobile app testing to online analytics, decision support systems, and e-learning solutions.\r\n\r\nIn his current role at Vizzu, Peter is dedicated to driving innovation in data visualization and empowering data professionals to effortlessly convey their insights through interactive and animated data stories.", "public_name": "Peter Vidos", "guid": "ef851336-272c-5ae7-9b24-2127fb61df52", "url": "https://pretalx.com/pycon-lithuania-2024/speaker/Q7VFPN/"}], "links": [], "feedback_url": "https://pretalx.com/pycon-lithuania-2024/talk/JGCTMH/feedback/", "origin_url": "https://pretalx.com/pycon-lithuania-2024/talk/JGCTMH/", "attachments": []}]}}, {"index": 5, "date": "2024-04-06", "day_start": "2024-04-06T04:00:00+03:00", "day_end": "2024-04-07T03:59:00+03:00", "rooms": {}}]}}}