{"$schema": "https://c3voc.de/schedule/schema.json", "generator": {"name": "pretalx", "version": "2024.1.0"}, "schedule": {"url": "https://cfp.pycon.org.il/pycon-2024/schedule/", "version": "0.6", "base_url": "https://cfp.pycon.org.il", "conference": {"acronym": "pycon-2024", "title": "PyCon Israel 2024", "start": "2024-09-16", "end": "2024-09-17", "daysCount": 2, "timeslot_duration": "00:05", "time_zone_name": "Asia/Jerusalem", "colors": {"primary": "#3aa57c"}, "rooms": [{"name": "Hall 1", "guid": "7d8352ad-eabd-510c-8962-5baf31ae4588", "description": null, "capacity": 250}, {"name": "Main Hall (30)", "guid": "288743e5-093d-5b0d-8ad7-42582ff05104", "description": null, "capacity": 900}, {"name": "Hall 7", "guid": "1f2787d6-069a-5f4d-bdfb-c86617cecd45", "description": null, "capacity": 250}, {"name": "Room I", "guid": "210a56f1-6a94-5a15-b34a-96848c9956f0", "description": null, "capacity": 30}, {"name": "Room II", "guid": "b83fdf40-e80b-5302-9e6b-3d71e1e85bf2", "description": null, "capacity": 20}, {"name": "Room III", "guid": "d9e7ff7f-6377-52eb-be63-fd01909de461", "description": null, "capacity": 20}], "tracks": [{"name": "General", "color": "#3632D6"}, {"name": "DB, Big Data, Data Science, AI/ML", "color": "#3EF265"}, {"name": "Security", "color": "#E00A0A"}, {"name": "Devops/Test Automation", "color": "#E3E73D"}, {"name": "Other", "color": "#F0BCA5"}], "days": [{"index": 1, "date": "2024-09-16", "day_start": "2024-09-16T04:00:00+03:00", "day_end": "2024-09-17T03:59:00+03:00", "rooms": {"Hall 1": [{"url": "https://cfp.pycon.org.il/pycon-2024/talk/ACVYEL/", "id": 1032, "guid": "456083ff-2533-54ae-b70b-6b19d34d7edb", "date": "2024-09-16T11:00:00+03:00", "start": "11:00", "logo": null, "duration": "00:20", "room": "Hall 1", "slug": "pycon-2024-1032-malicious-needle-in-a-haystack-pypi-security-pitfalls", "title": "Malicious Needle in a Haystack - PyPi Security Pitfalls", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Every developer uses open-source packages and models. Only a fraction of us validate their security. This session will cover the supply chain security issues that Python developers face, show attacks, and recommend how to avoid them.", "description": "PyPi has 1.5 billion packages downloaded daily. This huge number is the perfect opportunity to disguise a malicious needle in the package haystack. Due to its popularity among Python developers, PyPi is also extremely popular among attackers. Same for HuggingFace, which gains its popularity with skyrocketed usage of models.\r\nAttackers may target masses using techniques like typosquatting or perform targeted campaigns against maintainers of the top projects and even the whole developer communities. \r\nOne of the crucial skills that a Python developer must have nowadays is the responsible use of open-source dependencies. \r\nThe talk will focus on the issues that may happen to the developers and the way of avoiding them.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "33d12829-8a2a-5100-85d4-ae81b6bf5698", "id": 1104, "code": "7AT8N8", "public_name": "Eugene Rojavski", "avatar": "https://cfp.pycon.org.il/media/avatars/C6187E36-7F0F-45FD-BD87-3869DF40FD63_1_105_c_ffyyxRi.jpeg", "biography": "Brings 13+ years of experience in all the aspects of information security. Currently, manages two security research teams in supply chain and application security. Passionate about diving deep and understanding how things work under the hood, whether it's complicated systems, code, or a person's mind.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/QK33AU/", "id": 1030, "guid": "aede8e6e-d33a-5426-97e5-3d1061ecb437", "date": "2024-09-16T11:30:00+03:00", "start": "11:30", "logo": null, "duration": "00:20", "room": "Hall 1", "slug": "pycon-2024-1030-secimport-tailor-made-ebpf-sandbox-for-python-applications", "title": "Secimport: Tailor-Made eBPF Sandbox for Python Applications", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "introducing secimport, an eBPF-based sandbox toolkit for Python, enforcing specific syscalls per module. It traces, profiles, and enforces security policies, offering granular control and reducing attack surfaces, with negligible performance impact.", "description": "Introducing secimport, an eBPF-based sandbox toolkit designed to secure your Python applications by enforcing specific syscalls per module. Think of it as seccomp-bpf for individual modules in your code.\r\n\r\nTraditional tools like seccomp and AppArmor enforce syscalls for the entire process, which isn't enough for Python's complex attack surface. Secimport traces the syscalls each module uses, creating a security profile that\u2019s compiled into a lightweight eBPF script. This script enforces the profile during runtime, ensuring your application behaves as expected.\r\n\r\nThe need for secimport arises from the limitations of current security tools that apply blanket syscall restrictions, which fail to address the nuanced and varied needs of individual Python modules. Secimport solves this problem by allowing granular control at the module level, effectively reducing the attack surface and mitigating risks associated with supply chain attacks and insecure code execution. This level of fine-tuned control is only feasible with eBPF, a powerful technology that allows high-performance, real-time instrumentation and monitoring at the kernel level, enabling us to create robust, low-overhead security profiles for Python applications for the first time.\r\n\r\nSecimport is perfect for preventing code execution attacks and securing your supply chain. It minimizes the risk of vulnerabilities by confining each module to only the syscalls it needs. Whether you\u2019re dealing with AI models from insecure sources or just want an extra layer of defense, secimport has you covered with negligible performance impact.\r\n\r\nThis talk will dive into how secimport works, from tracing to policy enforcement, with practical examples and benchmarks. You\u2019ll learn how to set it up in various environments, including Docker and macOS, and see real-world use cases that highlight its effectiveness.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "7c9d21d1-7ad0-55df-a2fd-d3a5b2683d59", "id": 1100, "code": "3MZQKU", "public_name": "Avi Lumelsky", "avatar": "https://cfp.pycon.org.il/media/avatars/avi_SXix8MN.jpeg", "biography": "Avi has a relentless curiosity about AI, Security, and Business \u2014 and the places where all three connect.\r\nAn experienced Software Engineer and Architect, Avi focuses on AI, with deep security insights.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/WRVC9T/", "id": 965, "guid": "838c5b96-f966-5a1c-8ab3-3813a021dc76", "date": "2024-09-16T13:00:00+03:00", "start": "13:00", "logo": null, "duration": "00:20", "room": "Hall 1", "slug": "pycon-2024-965-designing-a-plugin-architecture-in-python", "title": "Designing a plugin architecture in Python", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Discover how to enhance your Python apps with plugin architectures using importlib.", "description": "In today's rapidly evolving software landscape, applications often need to be flexible and extensible to meet diverse user requirements. A plugin architecture allows users to enhance the capabilities of your application dynamically. This talk is aimed at developers who want to learn how to design and implement such an architecture in their Python applications.\r\n\r\nWe will begin by discussing the scenarios where a plugin architecture is beneficial (the why). \r\nNext, we will dive into the technical details, presenting various strategies for implementing a plugin system (the how). These strategies include:\r\n\r\n- Simple dynamic imports for lightweight extensions.\r\n- Using entry points for more structured and discoverable plugins.\r\n- A registration system that allows plugins to declare capabilities and dependencies.\r\n- Improving performance -  loading on the fly\r\n\r\nWe'll shortly discuss the challenges you might face, such as maintaining code quality, ensuring security, and managing dependencies.\r\n\r\nTo make these concepts concrete, we'll walk through a real-life example where I integrated a plugin system into a Jinja-based application, enabling users to register custom Jinja filters. This example will demonstrate how to leverage importlib to dynamically load and register user-defined plugins safely and efficiently.\r\n\r\n**Target Audience:**\r\n\r\nThis talk is intended for Python developers of all levels who are interested in enhancing their applications with dynamic, user-defined extensions. Whether you're working on a personal project or a large-scale application in an organizational setting, you'll find valuable insights and practical techniques that you can apply immediately.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "189827d9-1c92-55ff-b20d-711654635601", "id": 1068, "code": "WZNTBH", "public_name": "Tsvi Mostovicz", "avatar": "https://cfp.pycon.org.il/media/avatars/85b84199deecc1b8b009ce9af09fdc82_3CYSrnk.jpg", "biography": "*Tsvi Mostovicz* is a Senior Verification Engineer and Software & Verification Tech Lead at Intel. With a rich background from RAD Data Communications, AMD, and Marvell, he has honed his expertise in Python and verification engineering. At RAD, Tsvi integrated Jenkins CI pipelines and developed a Python-based regression manager. At Intel, his projects include Python-based code generation with Jinja and static analysis tools.\r\n\r\nA Python enthusiast, Tsvi specializes in Jinja and pytest. He maintains the Jewish calendar integration for Home Assistant along with a Hebrew date library. Tsvi has also contributed to open-source projects by creating syntax highlighting files for Specman code in both VSCode and Sublime Text.\r\n\r\nOutside work, Tsvi lives in Meitar, Israel, is a father of four, and enjoys reading historical fiction.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/EFBKJR/", "id": 964, "guid": "ab62c170-8440-5ba5-bcf3-80efb5975008", "date": "2024-09-16T13:30:00+03:00", "start": "13:30", "logo": null, "duration": "00:20", "room": "Hall 1", "slug": "pycon-2024-964-hacking-the-python-import-system", "title": "Hacking the Python Import System", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Delve into the inner workings of Python's import system. Learn how standard imports are implemented, and how to extend the import statement to provide new functionality.", "description": "The Python import system is more dynamic and extensible than most people realize. While most users primarily use it to import built-in and installed packages, there are additional options available, such as importing from zip packages and C modules. Moreover, Python allows you to hook into the import machinery to write your own import procedures.\r\nIn this talk, we will explore how the import system works behind the scenes. We will cover finders, loaders, and sys.meta_path. How the default file importer works, explaining sys.path, PYTHONPATH and how relative imports work. We will see how these are implemented in Python with code snippets.\r\nWe will see 2 example usages of import hooks, one practical, the other, extremely ridiculous.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "ce85a432-14df-55d9-91b2-4a01ac1e31a4", "id": 1067, "code": "FKBMVM", "public_name": "Liad Oz", "avatar": "https://cfp.pycon.org.il/media/avatars/20240820_173919_zaevugh.jpg", "biography": "I'm a software developer who loves digging into how things work, even if it means breaking stuff in the process. I spend most of my time building tools and systems in Python and contributing to open-source projects.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/SLGDWK/", "id": 1034, "guid": "c63b409e-57f2-5d6e-a0a1-6000151ab1fb", "date": "2024-09-16T14:00:00+03:00", "start": "14:00", "logo": null, "duration": "00:20", "room": "Hall 1", "slug": "pycon-2024-1034-unlocking-python-s-ast-the-metaprogramming-superpower-you-didn-t-know-you-had", "title": "Unlocking Python's AST: The Metaprogramming Superpower You Didn't Know You Had", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Discover Python's Abstract Syntax Tree (AST), and learn how this fundamental data structure simplifies code analysis and metaprogramming through real-life examples.", "description": "At first glance static analysis of code may seem daunting. Recognizing patterns in code as text is second nature to us, but attempting this programmatically can be highly cumbersome. Yet, this incredibly useful capability is a cornerstone of many Python tools we rely on to enhance our code and preemptively catch potential bugs. This is where the Abstract Syntax Tree (AST) comes in - a powerful data structure that Python uses to represent code, making many challenges of code analysis and metaprogramming much simpler.\r\n\r\nIn this talk, we will delve deep into Python's AST, offering you a fresh perspective on the syntax of Python and programming languages in general. Through practical examples, you'll learn how to implement static analysis and metaprogramming using AST, empowering you to harness this powerful tool yourself.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "acd71289-62c7-5c96-974f-eb9afae9bd6d", "id": 1106, "code": "PYYRCX", "public_name": "Yishai Zinkin", "avatar": "https://cfp.pycon.org.il/media/avatars/E3BAE322-3607-46DA-AEC2-022B4F0E0411_1_201_a_Lo3xgea.jpeg", "biography": "Yishai Zinkin is a member of Granulate\u2019s Research Team, working on the development and deployment of their real-time continuous optimization solution as an expert in low-level programming. Before joining Granulate, Yishai served as a Software Engineer for five years at the Center of Encryption and Information Security of Israel Defense Forces.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/WKGMRN/", "id": 1045, "guid": "4b7e2f78-1f3d-5a50-beaa-ba23421a2fc3", "date": "2024-09-16T15:00:00+03:00", "start": "15:00", "logo": null, "duration": "00:20", "room": "Hall 1", "slug": "pycon-2024-1045-unblocking-the-loop-mastering-python-s-i-o-loop-monitoring", "title": "Unblocking the Loop: Mastering Python's I/O Loop Monitoring", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Ever wondered why your I/O loop gets stuck in production? We'll explore Python's I/O loop with asyncio, share a real-life bug, explain async and await, and introduce our monitoring solution to prevent and resolve issues. Join us to learn more.", "description": "Ever wondered why your I/O loop gets stuck in production? In this talk we'll dive into the world of Python's asynchronous programming and I/O loop. We'll start with an introduction to event loops, using the built-in `asyncio` library. Then, we'll cover a real-life bug where a stuck I/O loop caused crashes and general slowness in our production environment. Afterwards We'll break down the mechanics of the I/O loop, explain terms like `async`, `await`, and `coroutines`. Finally, we'll talk about our solution for monitoring I/O loops in production, ensuring you can prevent and resolve issues. Join us to deepen your understanding of the I/O loop and learn new techniques for keeping your systems running smoothly.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "cb9f331c-1277-5fa1-a6c5-45c93494d11d", "id": 1115, "code": "NUP93T", "public_name": "Nir Geller", "avatar": "https://cfp.pycon.org.il/media/avatars/1000136244_oQdHB9y.jpg", "biography": "Nir Geller is a Senior Software Engineer at Aim Security and a core R&D member, leading the Monitoring & Visibility project. With extensive experience from his tenure in the IDF as a Software Developer Team Lead and Instructor, Nir has a strong background in mentoring and diverse tech projects. He has also contributed to open-source projects, including a popular React library and various Python and JS tools.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/7UW78H/", "id": 1003, "guid": "e70cb228-06f0-5342-8d47-09b0dba82dc3", "date": "2024-09-16T15:30:00+03:00", "start": "15:30", "logo": null, "duration": "00:20", "room": "Hall 1", "slug": "pycon-2024-1003-the-hitchhiker-s-guide-to-advanced-python-monitoring", "title": "The Hitchhiker's Guide to Advanced Python Monitoring", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "In this lecture, we will explore the evolution of Python monitoring over the years, covering tools and techniques from sys.monitoring to import hooks, highlighting advancements and best practices in keeping your Python code in check.", "description": "Join us and time-travel across the evolution of Python monitoring mechanisms. We'll delve into history from dedicated tools like sys.monitoring to more advanced techniques such as ceval and import hooks. This session will provide a comprehensive overview of how monitoring practices have developed over the years, offering insights into the best practices for maintaining and debugging your Python code and the pros and cons of each approach. Whether you're a seasoned developer or new to Python, you'll gain valuable knowledge on how to keep your code running smoothly and efficiently without hurting performance or your dev velocity with tedious maintenance.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "b2dcf97d-1276-57ad-bc56-d44e1c2edc54", "id": 1082, "code": "7NJCPP", "public_name": "May Walter", "avatar": "https://cfp.pycon.org.il/media/avatars/May_Walter_Prof_qPdzjRa.jpg", "biography": "May Walter is an Israeli engineer, researcher, entrepreneur and serial CTO. She is currently co-founder and CTO of Hud, a startup company still in stealth. Before Hud she was a founding team member and CTO at Santa, and prior to that CTO at Bond (acquired by REEF Technology). May served for 8 years in the Israeli intelligence corps, where she managed tens of engineers and security researchers, and worked on a project that won the Israel Defense Award. May is a leadership mentor and frequently speaks about the topics of team building, engineering culture and innovation.", "answers": []}, {"guid": "9c65aaaa-0a19-545d-bb92-7d05655e20de", "id": 1139, "code": "BQ9ZAD", "public_name": "Shani Armon", "avatar": "https://cfp.pycon.org.il/media/avatars/IMG-20240821-WA0015_k8eMYZL.png", "biography": "Shani Armon is a Researcher and Software Developer. She is a language nerd, and luckily that extends to programming languages, as well as human ones. Shani has 13 years of experience using Python and researches language runtimes at Hud.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/WU7W97/", "id": 1053, "guid": "fbb9a1aa-1ee4-53a7-ab91-5e22f744b1d4", "date": "2024-09-16T16:00:00+03:00", "start": "16:00", "logo": null, "duration": "00:20", "room": "Hall 1", "slug": "pycon-2024-1053-let-json-schema-and-pydantic-write-your-data-models", "title": "Let JSON Schema and Pydantic write your data models", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Pydantic is the most widely used data validation library for Python, and JSON is the most common format for exchanging data.\r\nTake those together, and you too will never worry about sending, serializing, or creating valid data structures again.", "description": "As someone who had the pleasure of trying and creating clients for an OpenAPI, I know that one of the most annoying things to do is to work with a pythonic OpenAPI client that is too generic, only giving you the bare minimum when it comes to sending requests, not having any validation when it comes to sending data to the server, and leaving it up to you to hardcode everything. \r\n\r\nIf you ever needed to maintain complex data models in your code for any reason, you know it\u2019s a hard-to-manage task, from forgetting what models were added and where, to what dependencies each model has, having duplicated models, to just having a messy codebase that is impossible to navigate. \r\n\r\nModern problems require modern solutions, so why not use the most popular data validators? \r\nYou might already be familiar with JSON Schema from interacting with it in Postman, Swagger, Redoc, or any other API documentation that exists. It\u2019s a way to define a template for how a JSON object should look. Pydantic, like its name suggests, is a pedantic library that lets you create data models but does not let you make any typing mistakes. Combining the two, we can create a generator, a validator and a serializer all in one.\r\n\r\nIn this talk, we will discuss:\r\n1. JSON Schema and what we can do with it.\r\n2. Why trying to structure complex data models in code is generally a bad idea.\r\n3. How to generate an OpenAPI client using Python.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "168e8913-538f-5609-a22d-734a1ad0249a", "id": 1119, "code": "RP7J7L", "public_name": "Shahar Heller", "avatar": "https://cfp.pycon.org.il/media/avatars/me_aEyP4R4.jpeg", "biography": "Software engineer in april.\r\nbeen a software developer for the last 4 years, \r\nvery passionate about code design and architecture.\r\navid python fan.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/7CGT9Q/", "id": 1006, "guid": "63fb0763-499b-50d3-a13a-18c791590b5a", "date": "2024-09-16T16:30:00+03:00", "start": "16:30", "logo": "https://cfp.pycon.org.il/media/pycon-2024/submissions/7CGT9Q/Screenshot_2024-05-30_at_18.56.19_eR0bGNK.png", "duration": "00:20", "room": "Hall 1", "slug": "pycon-2024-1006-cli-ci-diy-crafting-python-based-dev-tools-in-a-devops-vacuum", "title": "CLI, CI, DIY: Crafting Python Based Dev Tools in a DevOps Vacuum", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Dive into our Python-powered adventure of transforming a hodgepodge of bash scripts into a sleek, unified Python package for our entire CI toolkit. We'll share how our small team, armed with Python and determination, filled the DevOps void.", "description": "In this talk, we will be exploring how we embraced the fact that Valerann is a Python company and how we implemented it in **everything** that we do - even in our CI tools. \r\n\r\nWe use microservice architecture, manage 10+ AWS accounts, do weekly production releases, use various monitoring tools and actively develop the product.\r\n\r\nTwo years ago, our development tools where scattered amongst various off-the-shelf products and custom-built tooling in a variety of languages.\r\n\r\nIn the time since, we have fully switched over our development tools to be a singular Python package. This allows us to define containers, services, monitoring, alerting, testing and much more using the language all our developers are most comfortable with. Gone are the days of writing bash scripts, yaml definitions and json blobs!\r\n\r\nWe'll talk about what we had before, how is was implemented, how we did the same in Python:\r\n\r\n- New repo scaffolding\r\n- Monitoring and alerting (Grafana)\r\n- Infrastructure (Terraform)\r\n- Building containers\r\n- AWS deployment", "recording_license": "", "do_not_record": false, "persons": [{"guid": "bd80c61c-83d3-5214-97a1-152c0bb7655a", "id": 1085, "code": "AACWLH", "public_name": "Liubov Burtseva", "avatar": "https://cfp.pycon.org.il/media/avatars/Liubov_Burtseva_profile_pic_VvkBaSG.jpg", "biography": "Hi there! \r\n\r\nI'm Python Backend Engineer from Valerann.\r\n\r\nI started my career in tech back in Russia. After making aliyah, I joined Valerann, a British-Israeli company that provides software solutions for toll road operators.\r\n\r\nWhile I am proficient in several programming languages, Python has been my primary language throughout my career. I am passionate about using Python to solve complex problems and create efficient backend systems.", "answers": []}, {"guid": "8bccfe4a-173b-5b73-a3f7-91e7b94742f8", "id": 1086, "code": "TZSMXH", "public_name": "Uri Drori", "avatar": null, "biography": "Backend Software Engineer at Valerann. Working on scalable systems in the computer vision and transportation tech fields.", "answers": []}], "links": [], "attachments": [], "answers": []}], "Main Hall (30)": [{"url": "https://cfp.pycon.org.il/pycon-2024/talk/HXKKWA/", "id": 1073, "guid": "8b56f257-1d93-59c8-b060-3d296decf77c", "date": "2024-09-16T10:00:00+03:00", "start": "10:00", "logo": null, "duration": "00:15", "room": "Main Hall (30)", "slug": "pycon-2024-1073-opening-", "title": "Opening \u05e4\u05ea\u05d9\u05d7\u05d4", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Welcome\r\n\u05d1\u05e8\u05d5\u05db\u05d5\u05ea \u05d4\u05d1\u05d0\u05d5\u05ea \u05d5\u05d1\u05e8\u05d5\u05db\u05d9\u05dd \u05d4\u05d1\u05d0\u05d9\u05dd", "description": "-", "recording_license": "", "do_not_record": false, "persons": [{"guid": "9e2cfd80-3ce4-5ed1-99cc-52809645b43d", "id": 1131, "code": "JCMPWR", "public_name": "PyCon Israel", "avatar": null, "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/GLBBES/", "id": 1074, "guid": "574dacf9-8a5a-5adb-afc4-541e1d7952b5", "date": "2024-09-16T10:15:00+03:00", "start": "10:15", "logo": null, "duration": "00:45", "room": "Main Hall (30)", "slug": "pycon-2024-1074------7-10", "title": "\u05e4\u05d0\u05e0\u05dc: \u05e4\u05e2\u05d9\u05dc\u05d5\u05ea \u05d7\u05d1\u05e8\u05d4 \u05d0\u05d6\u05e8\u05d7\u05d9\u05ea \u05d1\u05e2\u05e7\u05d1\u05d5\u05ea 7.10", "subtitle": "", "track": null, "type": "Keynote", "language": "he", "abstract": "\u05e4\u05d0\u05e0\u05dc \u05d4\u05e2\u05d5\u05e1\u05e7 \u05d1\u05d9\u05d5\u05d6\u05de\u05d5\u05ea \u05d8\u05db\u05e0\u05d5\u05dc\u05d5\u05d2\u05d9\u05d5\u05ea \u05d1\u05d7\u05d1\u05e8\u05d4 \u05d4\u05d0\u05d6\u05e8\u05d7\u05d9\u05ea \u05d1\u05e2\u05e7\u05d1\u05d5\u05ea 7.10\r\n\r\n\u05ea\u05e0\u05d7\u05d4 \u05ea\u05d5\u05e8 \u05e6\u05d5\u05e7, \u05d1\u05d4\u05e9\u05ea\u05ea\u05e4\u05d5\u05ea\r\n- \u05dc\u05d9\u05d0\u05d5\u05e8 \u05e1\u05de\u05e7 (\u05d7\u05de\u05f4\u05dc \u05d7\u05d9\u05d1\u05d5\u05e8\u05d9\u05dd)\r\n- \u05d1\u05d0\u05e8 \u05d8\u05d5\u05d5\u05d9\u05d8\u05d5 (\u05d7\u05d1\u05e8\u05ea \u05d5\u05d9\u05d5\u05d9\u05d3 \u05d5\u05e8\u05d9\u05f4\u05dc - \u05d4\u05e8\u05e9\u05ea \u05d4\u05d9\u05e9\u05e8\u05d0\u05dc\u05d9\u05ea \u05dc\u05d7\u05d5\u05e1\u05df)\r\n- \u05d0\u05d5\u05e8\u05d9 \u05e7\u05e1\u05dc\u05e8 (savee-ai)", "description": "\u05d1\u05e2\u05e7\u05d1\u05d5\u05ea \u05d0\u05d9\u05e8\u05d5\u05e2\u05d9 7.10 \u05e7\u05de\u05d5 \u05de\u05e1\u05e4\u05e8 \u05d9\u05d5\u05d6\u05de\u05d5\u05ea \u05d8\u05db\u05e0\u05d5\u05dc\u05d5\u05d2\u05d9\u05d5\u05ea \u05e9\u05dc \u05d4\u05d7\u05d1\u05e8\u05d4 \u05d4\u05d0\u05d6\u05e8\u05d7\u05d9\u05ea, \u05e9\u05e1\u05d9\u05d9\u05e2\u05d5 \u05d1\u05d4\u05ea\u05de\u05d5\u05d3\u05d3\u05d5\u05ea \u05e2\u05dd \u05d4\u05e7\u05e9\u05d9\u05d9\u05dd \u05d5\u05d4\u05e6\u05e8\u05db\u05d9\u05dd \u05e9\u05e6\u05e4\u05d5.\r\n\u05de\u05d0\u05d7\u05d5\u05e8\u05d9 \u05db\u05dc \u05d9\u05d5\u05d6\u05de\u05d4 \u05db\u05d6\u05d5 \u05d9\u05e9\u05e0\u05d5 \u05e1\u05d9\u05e4\u05d5\u05e8 \u05e9\u05dc \u05d9\u05e6\u05d9\u05e8\u05ea\u05d9\u05d5\u05ea, \u05d0\u05db\u05e4\u05ea\u05d9\u05d5\u05ea, \u05de\u05e2\u05d5\u05e8\u05d1\u05d5\u05ea \u05d5\u05de\u05e0\u05d4\u05d9\u05d2\u05d5\u05ea.\r\n\r\n\u05e0\u05e9\u05de\u05e2 \u05de\u05dc\u05d9\u05d0\u05d5\u05e8 \u05e1\u05de\u05e7 \u05e2\u05dc \u05d4\u05e7\u05de\u05ea \u05d7\u05de\u05dc \u05d7\u05d9\u05d1\u05d5\u05e8\u05d9\u05dd, \u05e9\u05e1\u05d9\u05d9\u05e2 \u05dc\u05de\u05d9 \u05e9\u05d4\u05d6\u05d3\u05e7\u05e7\u05d5 \u05dc\u05e2\u05d6\u05e8\u05d4 \u05d5\u05dc\u05de\u05d9 \u05e9\u05d9\u05db\u05dc\u05d5 \u05dc\u05e2\u05d6\u05d5\u05e8, \u05dc\u05de\u05e6\u05d5\u05d0 \u05d0\u05dc\u05d5 \u05d0\u05ea \u05d0\u05dc\u05d5;\r\n\r\n\u05e0\u05e9\u05de\u05e2 \u05de\u05d1\u05d0\u05e8 \u05d8\u05d5\u05d5\u05d9\u05d8\u05d5 \u05e2\u05dc \u05e8\u05d9\u05f4\u05dc, \u05e4\u05dc\u05d8\u05e4\u05d5\u05e8\u05de\u05d4 \u05d4\u05de\u05d0\u05e4\u05e9\u05e8\u05ea \u05dc\u05de\u05d5\u05de\u05d7\u05d9\u05dd \u05d5\u05dc\u05d0\u05e8\u05d2\u05d5\u05e0\u05d9\u05dd \u05dc\u05d9\u05e6\u05d5\u05e8 \u05d1\u05e2\u05e6\u05de\u05dd \u05db\u05dc\u05d9\u05dd \u05d0\u05d9\u05e0\u05d8\u05e8\u05e7\u05d8\u05d9\u05d1\u05d9\u05dd \u05dc\u05d7\u05d5\u05e1\u05df \u05e0\u05e4\u05e9\u05d9;\r\n\r\n\u05d5\u05de\u05d0\u05d5\u05e8\u05d9 \u05e7\u05e1\u05dc\u05e8 \u05e2\u05dc \u05d4\u05de\u05e2\u05e8\u05db\u05ea \u05e9\u05e0\u05d5\u05dc\u05d3\u05d4 \u05db\u05d3\u05d9 \u05dc\u05d4\u05d9\u05dc\u05d7\u05dd \u05d1\u05d4\u05db\u05d7\u05e9\u05ea \u05e9\u05d5\u05d0\u05d4, \u05d5\u05d4\u05d5\u05e1\u05d1\u05d4 \u05dc\u05e6\u05e8\u05db\u05d9 \u05d4\u05de\u05d0\u05d1\u05e7 \u05e2\u05dc \u05d4\u05d0\u05de\u05ea \u05d1\u05e8\u05e9\u05ea\u05d5\u05ea \u05d4\u05d7\u05d1\u05e8\u05ea\u05d9\u05d5\u05ea\r\nsavee-ai", "recording_license": "", "do_not_record": false, "persons": [{"guid": "e89e6d4a-5e66-5a0e-b1fa-70548bb8415e", "id": 1132, "code": "P9SWHQ", "public_name": "\u05d1\u05d4\u05e0\u05d7\u05d9\u05d9\u05ea \u05ea\u05d5\u05e8 \u05e6\u05d5\u05e7", "avatar": null, "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/YRJUZA/", "id": 1022, "guid": "5ca89d95-73bf-59b2-9619-4bb944c84ec1", "date": "2024-09-16T11:00:00+03:00", "start": "11:00", "logo": "https://cfp.pycon.org.il/media/pycon-2024/submissions/YRJUZA/faces-detected-hertzog_IjQD1v9.jpg", "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2024-1022-leveraging-python-for-real-time-image-processing-making-to-the-finals-michal-sela-hackathon", "title": "Leveraging Python for Real-Time Image processing. Making to the Finals @ Michal Sela Hackathon", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Discover fascinating world of real-time image and video processing using Python. Learn how we protect women from violent ex-partners by leveraging Python libraries, algorithms, and deep learning models in our Michal Sela Hackathon project.", "description": "Whether you're a junior software engineer exploring the realm of image processing or a seasoned developer seeking inspiration, join me on a journey through the fascinating world of real-time image and video processing using Python.\r\n\r\nIn this talk, I'll share insights from a recent Hackathon project where we tackled the challenge of protecting women from their ex-partner following violent relationship.\r\n\r\nI will demonstrate (with code snippets and working examples) how leveraging Python's robust open-source libraries and frameworks, latest algorithms, and deep learning models we have crafted, in a short time, a working solution that pushes the boundaries of traditional image processing techniques.\r\n\r\nFurthermore, we'll take you through our Hackathon journey, sharing the highs and lows, the triumphs and setbacks, and the invaluable lessons learned along the way.\r\n\r\nWe call software and algorithms engineers to join forces and contribute to safe-tech projects like ours. Together let\u2019s make a life-saving impact through innovation.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "4276e3f2-8075-5ffd-95f0-89b3781dcb0c", "id": 1095, "code": "MHWWY7", "public_name": "Elazar Neeman", "avatar": null, "biography": "Experienced engineer,  Senior Tech Lead and Team Leader, most time hands-on full stack and backend development. Developed near real-time data / image processing systems, cloud native microservices and distributed systems. Proficient in Python, C#, Java modern development frameworks and database systems.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/HKB3S8/", "id": 1019, "guid": "06db6c1b-6ff8-55ad-b337-cc5bd88b97f5", "date": "2024-09-16T11:30:00+03:00", "start": "11:30", "logo": null, "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2024-1019-reaching-one-million-hands-for-israeli-advocacy", "title": "Reaching One Million Hands for Israeli advocacy", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Discover \u2018One Million Hands,\u2019 an advocacy platform addressing Israel\u2019s advocacy needs. Learn how we evolved from simple Python scripts to a robust platform using data science, machine learning, and Python to empower effective social media advocacy.", "description": "\u201cIn early October, we launched \u2018One Million Hands\u2019 to address the need for effective advocacy in Israel. Starting with simple Google Sheets and Python scripts, our project has evolved into a robust platform empowering individuals to impact social media conversations through optimal feedback on targeted content. Leveraging autonomous tools and a comprehensive data science pipeline, we enrich content behavior analysis by integrating data from multiple sources and applying machine learning models to tag content violations.\r\n\r\nAs a voluntary organization, we face challenges in long-term development, managing personnel, and creating robust, organized code. Our platform gathers crucial information from social networks, efficiently funneling data through our pipeline and data science services. Python has been instrumental in managing our systems, offering flexibility in volunteer contributions, knowledge preservation, and interfacing with various programming and cloud tools.\r\n\r\nIn the lecture, we will present the technical journey of \u2018One Million Hands,\u2019 focusing on Python\u2019s role in data analysis, machine learning, and API development. Gain insights into practical applications of Python in a real-world project, the challenges we faced, and our solutions. A live demonstration of our platform will highlight how technology drives impactful advocacy.\u201d", "recording_license": "", "do_not_record": false, "persons": [{"guid": "cb7a873c-d201-5dfb-8676-bcc9a698eaba", "id": 1093, "code": "8XJUU7", "public_name": "Kathrine Smoliansky", "avatar": null, "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/PEJZYM/", "id": 1058, "guid": "dfc7ec58-1569-53b2-86dc-f3e5953cb684", "date": "2024-09-16T13:00:00+03:00", "start": "13:00", "logo": null, "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2024-1058-accelerating-ml-development-with-multi-modal-datasets-leveraging-python-parquets-and-daft", "title": "Accelerating ML Development with Multi-Modal Datasets: Leveraging Python, Parquets, and Daft", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Mobileye accelerates ML development with multi-modal datasets using Python, Parquets, and Daft. We will cover dataset formats, Daft\u2019s capabilities, its usage examples, and its integration into Mobileye's cloud-native architecture.", "description": "Large-scale multi-modal datasets play a pivotal role in the development of computer vision solutions based on deep learning algorithms. Historically, different data formats have been used at various stages of the ML development life cycle to optimize specific tasks. During training, a sequential pass over the entire dataset is essential, while validation involves map-reduce operations.\r\n\r\nIn this talk, we\u2019ll delve into how Mobileye leverages Python, Parquets, and Daft to streamline the AI development life cycle. We\u2019ll explore the following key aspects:\r\n- Dataset Formats and Reading Options - We\u2019ll discuss various options for representing multi-modal datasets, and how choosing the right format impacts training and validation efficiency.\r\n- What Is Daft -  Daft is a high-performance Python query engine designed for handling complex, multimodal data types. Its Rust core engine executes operations lazily via Daft\u2019s Expressions API. Additionally, Daft seamlessly integrates with essential Python libraries like PyTorch and offers efficient cloud storage integration.\r\n- Examples of Daft Usage - Through practical examples, we\u2019ll demonstrate how Daft simplifies working with multi-modal datasets. From loading data to preprocessing.\r\n- Daft in a Cloud-Native Architecture - Learn how Daft seamlessly integrates into Mobileye\u2019s cloud infrastructure. We\u2019ll explore its role in enabling multi-tenant access to datasets, ensuring fast data retrieval, and maintaining a single source of truth.\r\n\r\nThroughtout the talk We\u2019ll discuss real-world scenarios showing how Daft accelerates the AI development lifecycle. Attendees will gain insights into best practices for leveraging Daft effectively.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "3bbdaa52-a831-53fa-aae4-f43c80719127", "id": 1120, "code": "3GTVMH", "public_name": "Guy Pozner", "avatar": "https://cfp.pycon.org.il/media/avatars/profpicsmall_exm2S0h.jpg", "biography": "Guy Pozer is an accomplished ML Software Engineering Team Lead at Mobileye, where he works on accelerating the ML lifecycle. His main areas of expertise lie in the optimization of the neural network training process, with a keen interest in everything from hardware acceleration to research process optimization. Guy leads the development of an SDK that empowers data scientists at Mobileye to research and deploy their solutions to Mobileye\u2019s SOC. He is passionate about integrating the speed of system-level programming languages into the Python ecosystem. His work is a testament to his commitment to pushing the boundaries of what\u2019s possible in the realm of machine learning.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/CL7BLC/", "id": 1014, "guid": "92cca699-5624-5c93-b546-f55d5f76bc97", "date": "2024-09-16T13:30:00+03:00", "start": "13:30", "logo": null, "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2024-1014-it-s-all-about-the-db-our-journey-between-databases-to-accommodate-100k-events-per-second", "title": "It\u2019s all about the db - our journey between databases to accommodate 100k events per second", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "We built a python application that ingests 100k events per second. This lecture will share our lessons learned using different dbs for this job.", "description": "Our python based system needs to handle more than 100k events per second. During the last two years we have tried, failed and evolved using multiple databases such as nosql, timeseries db and OLAP columnar dbs. \r\nThis lecture will share the lessons learned for running such a system in a production environment", "recording_license": "", "do_not_record": false, "persons": [{"guid": "93c280e0-e83c-52fb-8486-be8c11c9ced0", "id": 736, "code": "X87P8N", "public_name": "Eyal Balla", "avatar": "https://cfp.pycon.org.il/media/IMG_1190.jpg", "biography": "I am Eyal Balla, a python cloud applications developer and manager for around a decade, I have deployed to production numerous times and have suffered from my mistakes and others and lived to tell.\r\nToday in I am the data team lead in Cynerio, a cyber security company which helps hospitals be a more secure place", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/MUXQEC/", "id": 1001, "guid": "8e6c99a8-bc6e-5977-a24c-c1ed779d9747", "date": "2024-09-16T14:00:00+03:00", "start": "14:00", "logo": null, "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2024-1001-1-how-to-make-your-backend-roar", "title": "How to Make Your Backend Roar", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Developers who are not familiar with databases often dread them and treat them like blackboxes, but fear no more! In this talk I present advanced indexing technics to make your database faster and more efficient.", "description": "Indexes are extremely powerful and ORMs like Django and SQLAlchemy provide many ways of harnessing their powers to make queries faster and the database more efficient. In this talk I reveal the secrets of DBAs with some advanced indexing techniques such as partial, function based and inclusive B-Tree indexes, and who knows, maybe even some index types you never heard of before!", "recording_license": "", "do_not_record": false, "persons": [{"guid": "6e53e03e-a417-55be-b357-0de6ca039b4e", "id": 123, "code": "S37DEW", "public_name": "Haki Benita", "avatar": "https://cfp.pycon.org.il/media/haki-benita.png", "biography": "Haki is a software developer and a technical lead. He takes special interest in databases, web development, software design and performance tuning. Haki also writes about development and performance in his blog [hakibenita.com](https://hakibenita.com).", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/77ESFQ/", "id": 1026, "guid": "dca33f88-2dc5-50da-b9aa-b781bc84135d", "date": "2024-09-16T15:00:00+03:00", "start": "15:00", "logo": "https://cfp.pycon.org.il/media/pycon-2024/submissions/77ESFQ/Screenshot_2024-03-11_at_17.27.16_aiiMB75.png", "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2024-1026-reducing-your-memory-footprint-by-75-with-6-lines-of-code", "title": "Reducing your memory footprint by 75% with 6 lines of code", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "While profiling a slow process I stumbled upon a surprising way to reduce our memory consumption. This talk will present some useful profiling tools, and an important thing to know when using AbstractBaseClass extensively.", "description": "In this session, we will dive into the realm of Python optimization, as we cover some essential profiling tools designed to identify and resolve performance bottlenecks in your code. We'll navigate through practical examples, showcasing how these tools can provide invaluable insights into your application's memory and CPU usage patterns.\r\n\r\nFurthermore, we'll delve into some nuances of AbstractBaseClass usage, and its implications on speed and memory management in Python applications. \r\n\r\nWhether you're a seasoned developer or just starting your journey with Python, this session offers some practical strategies to optimize Python programs effectively.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "9dc3ee7b-5052-5519-bb74-ea9ca7ecb1ab", "id": 1097, "code": "3SBSZY", "public_name": "Tomer Brisker", "avatar": "https://cfp.pycon.org.il/media/avatars/DSCF7088_2_f8LXvr7.png", "biography": "Tomer is the Tech Lead at april, a startup revolutionizing individual tax filing in the US. Previously he was Principal Software Engineer at Red Hat, and is a long time open source advocate and contributor. In his spare time he enjoys drinking craft beer and traveling with his family.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/NAD3ZE/", "id": 996, "guid": "94f2c2c1-b84b-5a6f-bdaf-227d5a48b194", "date": "2024-09-16T15:30:00+03:00", "start": "15:30", "logo": null, "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2024-996-making-python-100x-faster-with-less-than-100-lines-of-rust", "title": "Making Python 100x faster with less than 100 lines of Rust", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "We will take a small demo library which uses numpy, and improve its performance 100x using the py-spy sampling profiler and Rust", "description": "Python is awesome, but can be super slow\r\n\r\nEven when using packages like numpy, we can still be limited by Python's general slowness.\r\n\r\nIn this talk, I'll walk you through taking a demo small library which uses numpy, and building a native extension to it with Rust, that improves performance by 100x, all while keeping the original API the same.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "37b44914-5179-5d9d-8c20-3facad01ddc0", "id": 979, "code": "CYQCZA", "public_name": "Ohad Ravid", "avatar": "https://cfp.pycon.org.il/media/linkedin_profile_pic.jpeg", "biography": "I have 15 years of experience, most of which I spent working with Python and more recently Rust,\r\non a variety of projects in networking, data, embedded and more.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/LN99KP/", "id": 958, "guid": "20a1f2ce-f2b5-5b61-8ac6-eb9c35ba7a2f", "date": "2024-09-16T16:00:00+03:00", "start": "16:00", "logo": null, "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2024-958-logger-info-f-don-t-give-all-your-secrets-away-", "title": "logger.info(f\"Don't Give all your {secrets} away\")", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Explore the transition from developer to security researcher, addressing log safety in applications. Learn common mistakes, practical Python solutions, and empower developers to protect against data exposure.", "description": "In my seven years as a software developer, I've primarily worked in teams composed solely of developers. However, my recent transition to a team of security researchers has opened my eyes to a crucial aspect that often goes unnoticed: log safety in applications.\r\n\r\nMy exposure to the application security ecosystem and real-life security breach analysis has opened my eyes to recognize code security issues, including the prevalence of sensitive information, tokens, passwords, and payment details, in plaintext logs. This may lead to severe data breaches, financial losses, and all kinds of catastrophes.\r\n\r\nThis talk will dive into the fatal mistakes developers often make that can result in the disclosure of sensitive information in logs. We'll explore the types of sensitive data in logs.\r\n\r\nI'll share my personal experiences as a developer on a security research team and shed light on the often-overlooked consequences of insecure logging practices. We'll discuss practical patterns to safeguard sensitive information in Python applications, including identifying and redacting sensitive data before it reaches log files, and implementing secure logging practices.\r\n\r\nBy the end of this talk, developers will be equipped with the knowledge and tools to protect sensitive data from accidental disclosure and safeguard their applications from the perils of sensitive data exposure. Embrace the journey towards log safety and ensure your code remains secure and confidential.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "4c344cca-99dd-55d6-8faf-34b1d525fc09", "id": 1064, "code": "ZHG3N7", "public_name": "Tamar Galer", "avatar": "https://cfp.pycon.org.il/media/avatars/IMG-20230825-WA0180_sfusNZ8.jpg", "biography": "Hi, I'm Tamar :) \r\nI've loved computers since I was 14 and started learning my B.sc in computer since during high school. I quickly fell in love with Python programming, and it's been exciting for me ever since. Now, I have (with your help) the chance to talk about how much I love Python and add the The personal angle and experience from working in the field of software security...\r\nThank you for thinking about my application.\r\nSincerely,\r\nTamar", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/C8LVAT/", "id": 978, "guid": "b94ff1ce-eb62-5947-a064-0b77755b2534", "date": "2024-09-16T16:30:00+03:00", "start": "16:30", "logo": null, "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2024-978-python-bad-cryptography-habits", "title": "Python bad cryptography habits", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Cryptography is a vital part of application security, but the world of cryptography is dark and full of errors. We will talk about deprecated algorithms, poor key management, misuse of libraries, and best practices for secure implementation.", "description": "This session will discuss common mistakes developers make when implementing cryptography in Python. There are many. Through real-world issues and cases (yes, also embarrassing ones), we'll illustrate the consequences of these bad practices and provide practical recommendations for secure cryptographic implementation. A must-have for every developer that is working on a back-end,", "recording_license": "", "do_not_record": false, "persons": [{"guid": "9080e943-e22b-575e-90e3-46ae15df8e26", "id": 950, "code": "CXEPZM", "public_name": "Ran Bar-Zik", "avatar": "https://cfp.pycon.org.il/media/%D7%A8%D7%9F-%D7%91%D7%A8-%D7%96%D7%99%D7%A7-%D7%AA%D7%9E%D7%95%D7%A0%D7%94-%D7%A8%D7%A9%D7%9E%D7%99%D7%AA-2023-%D7%92%D7%95%D7%93%D7%9C-%D7%A7%D7%98%D7%9F-%D7%A8%D7%99%D7%91%D7%95%D7%A2-300x293.jpg", "biography": "Senior Software Architect at CyberArk. Journalist at TheMarker, Lecturer at Ono Academic College and Haifa University, and Blogger at internet-israel.com. Author of 6 books: hebdevbook.com.\r\nFather of four Python developers.", "answers": []}], "links": [], "attachments": [], "answers": []}], "Hall 7": [{"url": "https://cfp.pycon.org.il/pycon-2024/talk/8MLYYP/", "id": 1062, "guid": "211f61af-7bbc-5ea6-aeb7-9db9c5fd4153", "date": "2024-09-16T11:00:00+03:00", "start": "11:00", "logo": null, "duration": "00:20", "room": "Hall 7", "slug": "pycon-2024-1062-teach-your-old-code-new-tricks-automating-code-quality-in-large-projects", "title": "Teach Your Old Code New Tricks: Automating Code Quality in Large Projects", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Python\u2019s nature often invites slip-ups: We\u2019ll explore tools that prevent (some) bugs and improve code quality, discuss strategies for adding them to existing projects, and share tips for keeping your repo tidy and your fellow developers happy.", "description": "Ew, what\u2019s that smell? Is it a non-typed, 15-argument, Python2-styled function, with a mutable-default argument and unreachable code again?\r\n\r\nYour code is your kitchen: bugs hide best when it\u2019s dirty\ud83e\udeb3\r\n\r\nLuckily, there are awesome tools to help reduce code smells, improving the quality, safety and consistency of your beloved Python code! \ud83e\uddf9\r\n\r\nIn the talk, we\u2019ll explore a range of these tools, see how to fit them to your project\u2019s needs, integrate them into IDEs and CI pipelines, choose the right rules to enforce, and apply them to your codebase without annoying your coworkers too much", "recording_license": "", "do_not_record": false, "persons": [{"guid": "d1c1194f-316a-522b-ae63-22e9127d8f59", "id": 1123, "code": "BX8JSH", "public_name": "Dor Schwartz", "avatar": null, "biography": "A software engineering team lead with a warm place in heart for clean code, and a constant vendetta against technical debt. When I'm not automating cybersecurity procedures with Python, I'm usually using it for travel-hacking or supercharging music streaming apps.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/WVHGDK/", "id": 1035, "guid": "7c6f8ec8-5def-5ac4-991c-2b609edeb978", "date": "2024-09-16T11:30:00+03:00", "start": "11:30", "logo": null, "duration": "00:20", "room": "Hall 7", "slug": "pycon-2024-1035-beyond-kmeans-using-llms-to-improve-text-clustering", "title": "Beyond KMeans - using LLMs to improve text clustering", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Text clustering is a fundamental process in NLP, but what do you do when your clusters just aren\u2019t right? I will share my journey where I ended up combining sklearn and langchain to reduce duplication and \"Misc\" clusters.", "description": "Text clustering can be used to organize text, analyze data, help extract topics or segment customers by interests. In addition, we are blessed with many cheap and high-quality text embedding APIs that should improve clustering. But what do you do when your clusters just aren\u2019t right? Topics are duplicated, clustering is too sensitive to vocabulary, and there\u2019s always that one giant \u201cMisc\u201d cluster.\r\n\r\nAs a newcomer to clustering, I gravitated towards KMeans since it seems to be the default clustering algorithm. I will share the pitfalls I encountered, the clustering algorithms I explored and how I incorporated LLMs into the process to achieve far better results.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "7a559451-8e21-59bd-94e1-9869fd100c6e", "id": 1107, "code": "RQ777C", "public_name": "Noah Santacruz", "avatar": "https://cfp.pycon.org.il/media/avatars/profile_dJnGg5e.jpg", "biography": "Noah has been contributing to Sefaria for the last 10 years, helping build its data science department . His contributions include citation recognition, search and topic modelling.\r\n\r\nHe has a master's in NLP from Cooper Union and has been focusing on the intersection of NLP with Hebrew.\r\n\r\nSefaria is non-profit, open source organization focusing on uploading and enriching basic texts about Judaism. We uniquely focus on giving third-party developers access to almost all of our underlying data through APIs and documentation.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/YQZD9U/", "id": 1037, "guid": "0040bc91-a40d-5938-8388-61bf47de1584", "date": "2024-09-16T13:00:00+03:00", "start": "13:00", "logo": null, "duration": "00:20", "room": "Hall 7", "slug": "pycon-2024-1037----", "title": "\u05d0\u05d9\u05da \u05dc\u05d2\u05e8\u05d5\u05dd \u05dc\u05d4\u05ea\u05de\u05db\u05e8\u05d5\u05ea \u05dc\u05e4\u05d9\u05d9\u05ea\u05d5\u05df", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "\u05d0\u05ea\u05dd \u05d1\u05d8\u05d5\u05d7 \u05de\u05db\u05d9\u05e8\u05d9\u05dd \u05d0\u05e0\u05e9\u05d9\u05dd \u05e9\u05de\u05e9\u05e2\u05de\u05dd \u05dc\u05d4\u05dd \u05d1\u05e2\u05d1\u05d5\u05d3\u05d4 \u05e8\u05d5\u05d8\u05d9\u05e0\u05d9\u05ea. \u05e1\u05e4\u05e8\u05d5 \u05dc\u05d4\u05dd \u05e9 AI \u05d9\u05db\u05d5\u05dc \u05dc\u05db\u05ea\u05d5\u05d1 \u05e2\u05d1\u05d5\u05e8\u05dd \u05e7\u05d5\u05d3 \u05e4\u05d9\u05d9\u05ea\u05d5\u05df. \u05d1\u05db\u05da \u05d4\u05dd \u05d9\u05e8\u05d5\u05d5\u05d9\u05d7\u05d5 \u05e9\u05e0\u05d9 \u05d3\u05d1\u05e8\u05d9\u05dd - \u05d9\u05d4\u05d9\u05d4 \u05dc\u05d4\u05dd \u05de\u05e2\u05e0\u05d9\u05d9\u05df \u05d1\u05e8\u05db\u05d9\u05e9\u05ea \u05d9\u05db\u05d5\u05dc\u05d5\u05ea \u05d7\u05d3\u05e9\u05d5\u05ea \u05d5\u05e4\u05d9\u05d9\u05ea\u05d5\u05df \u05d9\u05e2\u05e9\u05d4 \u05d1\u05e9\u05d1\u05d9\u05dc\u05dd \u05d7\u05dc\u05e7 \u05de\u05d4\u05de\u05e9\u05d9\u05de\u05d5\u05ea \u05d4\u05e8\u05d5\u05d8\u05d9\u05e0\u05d9\u05d5\u05ea \u05d5\u05d4\u05de\u05e9\u05e2\u05de\u05de\u05d5\u05ea. \u05d3\u05d7\u05d9\u05e4\u05d4 \u05e7\u05dc\u05d4 \u05d5\u05d4\u05dd \u05d9\u05ea\u05de\u05db\u05e8\u05d5 \u05dc\u05e4\u05d9\u05d9\u05ea\u05d5\u05df.", "description": "\u05d0\u05e0\u05d9 \u05dc\u05d0 \u05de\u05ea\u05db\u05e0\u05ea \u05d0\u05d1\u05dc \u05de\u05e9\u05ea\u05de\u05e9 \u05d1\u05e7\u05d5\u05d3. \u05d1\u05e9\u05e0\u05d4 \u05d4\u05d0\u05d7\u05e8\u05d5\u05e0\u05d4 \u05d1\u05e2\u05d1\u05d5\u05d3\u05ea\u05d9 \u05db\u05d0\u05e8\u05db\u05d9\u05d5\u05e0\u05d0\u05d9 \u05d4\u05ea\u05d7\u05dc\u05ea\u05d9 \u05dc\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1 AI \u05db\u05d3\u05d9 \u05e9\u05d9\u05db\u05ea\u05d5\u05d1 \u05e2\u05d1\u05d5\u05e8\u05d9 \u05e7\u05d5\u05d3 \u05dc\u05e0\u05d9\u05d4\u05d5\u05dc \u05e2\u05e9\u05e8\u05d5\u05ea \u05d0\u05dc\u05e4\u05d9 \u05e7\u05d1\u05e6\u05d9\u05dd \u05d1\u05e4\u05e8\u05d5\u05d9\u05d9\u05e7\u05d8. \u05d1\u05e2\u05e7\u05d1\u05d5\u05ea \u05d4\u05e0\u05e1\u05d9\u05d5\u05df \u05e9\u05dc\u05d9, \u05d0\u05e0\u05d9 \u05e8\u05d5\u05e6\u05d4 \u05dc\u05d4\u05e2\u05d1\u05d9\u05e8 \u05d0\u05ea \u05d4\u05de\u05e1\u05e8 \u05e9\u05e7\u05d5\u05d3 \u05e4\u05d9\u05d9\u05ea\u05d5\u05df \u05e9\u05d9\u05de\u05d5\u05e9\u05d9 \u05dc\u05d0 \u05e8\u05e7 \u05dc\u05de\u05ea\u05db\u05e0\u05ea\u05d9\u05dd, \u05d5\u05de\u05e9\u05ea\u05ea\u05e4\u05d9 PyCon \u05d4\u05dd \u05d4\u05e7\u05d4\u05dc \u05d4\u05d0\u05d9\u05d3\u05d0\u05dc\u05d9 \u05dc\u05d4\u05e4\u05e6\u05ea \u05d4\u05de\u05e1\u05e8.\r\n\r\n\u05de\u05d8\u05e8\u05ea \u05d4\u05e8\u05e6\u05d0\u05d4 \u05dc\u05e2\u05d5\u05d3\u05d3 \u05e9\u05d9\u05de\u05d5\u05e9 \u05d1\u05e4\u05d9\u05d9\u05ea\u05d5\u05df \u05e2\u05dc \u05d9\u05d3\u05d9 \u05d0\u05dc\u05d4 \u05e9\u05d0\u05d9\u05e0\u05dd \u05de\u05ea\u05db\u05e0\u05ea\u05d9\u05dd. AI \u05e2\u05d5\u05d6\u05e8 \u05d1\u05db\u05da \u05e2\u05dc \u05d9\u05d3\u05d9 \u05db\u05ea\u05d9\u05d1\u05ea \u05e7\u05d5\u05d3 \u05dc\u05e4\u05d9 \u05d1\u05e7\u05e9\u05d4 \u05d5\u05e4\u05ea\u05e8\u05d5\u05df \u05d1\u05e2\u05d9\u05d5\u05ea \u05d1\u05e7\u05d5\u05d3 \u05d5\u05d1\u05e8\u05d9\u05e6\u05d4. \u05dc\u05e4\u05d9\u05d9\u05ea\u05d5\u05df \u05d9\u05e9 \u05d9\u05ea\u05e8\u05d5\u05df \u05d1\u05db\u05da \u05e9\u05d6\u05d5 \u05e9\u05e4\u05d4 \u05e7\u05dc\u05d4 \u05dc\u05e7\u05e8\u05d9\u05d0\u05d4 \u05d5\u05e4\u05d5\u05ea\u05d7\u05d5 \u05e2\u05d1\u05d5\u05e8\u05d4 \u05d4\u05e8\u05d1\u05d4 \u05d7\u05d1\u05d9\u05dc\u05d5\u05ea \u05e9\u05de\u05e1\u05d9\u05d9\u05e2\u05d5\u05ea \u05d1\u05de\u05e9\u05d9\u05de\u05d5\u05ea \u05de\u05e9\u05e8\u05d3\u05d9\u05d5\u05ea - \u05e7\u05e8\u05d9\u05d0\u05d4 \u05e9\u05dc \u05de\u05e1\u05e4\u05e8\u05d9\u05dd \u05d5\u05d8\u05e7\u05e1\u05d8\u05d9\u05dd \u05de\u05de\u05e1\u05de\u05db\u05d9\u05dd, \u05d8\u05d9\u05e4\u05d5\u05dc \u05d1\u05ea\u05de\u05d5\u05e0\u05d5\u05ea, \u05d8\u05d9\u05e4\u05d5\u05dc\u05d9\u05dd \u05de\u05ea\u05d5\u05d7\u05db\u05de\u05d9\u05dd \u05d1\u05de\u05e2\u05e8\u05db\u05ea \u05d4\u05e7\u05d1\u05e6\u05d9\u05dd \u05d5\u05e2\u05d5\u05d3. \u05e7\u05d5\u05d3 \u05e4\u05d9\u05d9\u05ea\u05d5\u05df \u05d9\u05db\u05d5\u05dc \u05dc\u05e9\u05de\u05e9 \u05db Unitility \u05dc\u05de\u05e9\u05d9\u05de\u05d4 \u05d9\u05d7\u05d9\u05d3\u05d4 \u05d0\u05d5 \u05db\u05e2\u05d6\u05e8 \u05dc\u05e4\u05e2\u05d5\u05dc\u05d5\u05ea \u05d7\u05d5\u05d6\u05e8\u05d5\u05ea. \u05d4\u05d9\u05d9\u05ea\u05e8\u05d5\u05df \u05e9\u05dc \u05d4\u05e6\u05d9\u05e8\u05d5\u05e3 AI + \u05e4\u05d9\u05d9\u05ea\u05d5\u05df \u05e9\u05d0\u05e4\u05e9\u05e8 \u05dc\u05d1\u05e7\u05e9 \u05e7\u05d5\u05d3 \u05de\u05e2\u05db\u05e9\u05d9\u05d5 \u05dc\u05e2\u05db\u05e9\u05d9\u05d5 \u05d5\u05e9\u05d4\u05d5\u05d0 \u05d9\u05d1\u05e6\u05e2 \u05de\u05d9\u05d9\u05d3 \u05d0\u05ea \u05d4\u05e4\u05e2\u05d5\u05dc\u05d5\u05ea \u05d4\u05e8\u05e6\u05d5\u05d9\u05d5\u05ea.\r\n\r\n\u05e9\u05dc\u05d1\u05d9 \u05d4\u05d4\u05e8\u05e6\u05d0\u05d4\r\n\r\n\u05d0\u05d5\u05d3\u05d5\u05ea\u05d9\u05d9\r\n-\t\u05e2\u05d5\u05d1\u05d3 \u05d1\u05de\u05d7\u05e9\u05d1\u05d9\u05dd \u05db\u05d1\u05e8 40 \u05e9\u05e0\u05d4\r\n-\t\u05de\u05d2\u05d3\u05d9\u05e8 \u05d0\u05ea \u05e2\u05e6\u05de\u05d9 \u05db\"\u05dc\u05d0 \u05de\u05ea\u05db\u05e0\u05ea\"\r\n-\t\u05e0\u05e1\u05d9\u05d5\u05df \u05d1\u05d4\u05d3\u05e8\u05db\u05d4 \u05d5\u05ea\u05de\u05d9\u05db\u05d4 \u05e9\u05dc \u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd \u05d1\u05e8\u05de\u05d5\u05ea \u05e9\u05d5\u05e0\u05d5\u05ea\r\n-\t\u05d1\u05e9\u05e0\u05d9\u05dd \u05d4\u05d0\u05d7\u05e8\u05d5\u05e0\u05d5\u05ea \u05de\u05ea\u05de\u05e7\u05d3 \u05d1\u05d0\u05e8\u05db\u05d9\u05d5\u05e0\u05d0\u05d5\u05ea\r\n-\t\u05d0\u05d5\u05dc\u05d9 \u05d0\u05ea\u05dd \u05de\u05db\u05d9\u05e8\u05d9\u05dd \u05d0\u05ea \u05d4\u05d0\u05ea\u05e8 \u05e9\u05dc\u05d9 \"\u05dc\u05d0 \u05e8\u05dc\u05d5\u05d5\u05e0\u05d8\u05d9\" \u05dc\u05d1\u05d3\u05d9\u05e7\u05ea \u05e9\u05de\u05d5\u05e2\u05d5\u05ea \u05d0\u05d9\u05e0\u05d8\u05e8\u05e0\u05d8 \u05d5\u05de\u05db\u05ea\u05d1\u05d9 \u05e9\u05e8\u05e9\u05e8\u05ea\r\n-\t\u05d5\u05d0\u05d5\u05dc\u05d9 \u05d2\u05dd \u05d0\u05ea \u05d4\u05d0\u05ea\u05e8 \"\u05ea\u05d5\u05dc\u05d3\u05d5\u05ea \u05d4\u05d3\u05d9\u05d2\u05d9\u05d8\u05dc \u05d1\u05d9\u05e9\u05e8\u05d0\u05dc\" \u05e9\u05d0\u05dc\u05d9\u05d5 \u05d0\u05e0\u05d9 \u05d0\u05d5\u05e1\u05e3 \u05d7\u05d5\u05de\u05e8\u05d9\u05dd \u05e2\u05dc \u05ea\u05d5\u05dc\u05d3\u05d5\u05ea \u05d4\u05de\u05d9\u05d7\u05e9\u05d5\u05d1 \u05d1\u05d9\u05e9\u05e8\u05d0\u05dc\r\n\r\n\u05dc\u05de\u05d4 \u05dc\u05e2\u05d5\u05d3\u05d3 \u05d0\u05e0\u05e9\u05d9\u05dd \u05dc\u05ea\u05db\u05e0\u05ea?\r\n-\t\u05d9\u05e9 \u05d0\u05e0\u05e9\u05d9\u05dd \u05e9\u05de\u05ea\u05d5\u05e1\u05db\u05dc\u05d9\u05dd \u05de\u05d4\u05e2\u05d1\u05d5\u05d3\u05d4 \u05de\u05e9\u05e2\u05de\u05de\u05ea \u05d5\u05e8\u05d5\u05d8\u05d9\u05e0\u05d9\u05ea\r\n-\t\u05d9\u05e2\u05d6\u05d5\u05e8 \u05dc\u05d4\u05dd \u05dc\u05e8\u05db\u05d5\u05e9 \u05de\u05d9\u05d5\u05de\u05e0\u05d5\u05d9\u05d5\u05ea \u05d7\u05d3\u05e9\u05d5\u05ea\r\n-\t\u05d9\u05e2\u05d6\u05d5\u05e8 \u05dc\u05d4\u05dd \u05dc\u05d4\u05d2\u05d9\u05d3 \u05dc\u05e2\u05e6\u05de\u05dd \u05d5\u05dc\u05d0\u05d7\u05e8\u05d9\u05dd \u05e9\u05d4\u05dd \u05dc\u05d5\u05de\u05d3\u05d9\u05dd \u05ea\u05d9\u05db\u05e0\u05d5\u05ea\r\n-\t\u05ea\u05d5\u05db\u05e0\u05d4 \u05ea\u05e2\u05d6\u05d5\u05e8 \u05dc\u05d4\u05dd \u05dc\u05e2\u05e9\u05d5\u05ea \u05e4\u05d7\u05d5\u05ea \u05de\u05e9\u05d9\u05de\u05d5\u05ea \u05e8\u05d5\u05d8\u05d9\u05e0\u05d9\u05d5\u05ea\r\n\r\n\u05dc\u05de\u05d4 \u05e4\u05d9\u05d9\u05ea\u05d5\u05df?\r\n-\t\u05e4\u05d9\u05d9\u05ea\u05d5\u05df \u05d4\u05d9\u05d0 \u05e9\u05e4\u05d4 \u05e7\u05dc\u05d4 \u05d5\u05e9\u05d9\u05de\u05d5\u05e9\u05d9\u05ea, \u05dc\u05d0 \u05e8\u05e7 \u05dc\u05de\u05ea\u05db\u05e0\u05ea\u05d9\u05dd\r\n-\tAI \u05e2\u05d5\u05d6\u05e8 \u05d1\u05db\u05ea\u05d9\u05d1\u05ea \u05e7\u05d5\u05d3 \u05e4\u05d9\u05d9\u05ea\u05d5\u05df, \u05d1\u05d4\u05e1\u05d1\u05e8\u05d9\u05dd \u05d5\u05d1\u05e4\u05ea\u05e8\u05d5\u05df \u05d1\u05e2\u05d9\u05d5\u05ea\r\n-\t\u05e4\u05d9\u05d9\u05ea\u05d5\u05df \u05d9\u05db\u05d5\u05dc\u05d4 \u05dc\u05e7\u05e8\u05d5\u05d0 \u05de\u05e1\u05de\u05db\u05d9\u05dd, \u05dc\u05e2\u05d1\u05d3 \u05de\u05d9\u05d3\u05e2 \u05d5\u05dc\u05e2\u05d6\u05d5\u05e8 \u05e2\u05dd \u05de\u05e2\u05e8\u05db\u05ea \u05e7\u05d1\u05e6\u05d9\u05dd \u05de\u05d5\u05e8\u05db\u05d1\u05ea\r\n\r\n\u05dc\u05de\u05d4 \"\u05d4\u05ea\u05de\u05db\u05e8\u05d5\u05ea\"?\r\n-\t\u05e7\u05dc\u05d9\u05e9\u05d0\u05d4 \u05e2\u05dc \u05d3\u05d9\u05dc\u05e8\u05d9\u05dd.\r\n-\t\"\u05e7\u05d7, \u05ea\u05e0\u05e1\u05d4 \u05e7\u05e6\u05ea \u05d1\u05d7\u05d9\u05e0\u05dd\"\r\n-\t\u05d4\u05d5\u05e8\u05d3\u05ea \u05d7\u05e1\u05de\u05d9 \u05d4\u05db\u05e0\u05d9\u05e1\u05d4\r\n\r\n\u05e2\u05d6\u05e8\u05d4 \u05d1\u05d4\u05ea\u05d7\u05dc\u05d4\r\n-\t\u05dc\u05e2\u05d5\u05d3\u05d3 \u05d5\u05dc\u05d4\u05d7\u05d6\u05d9\u05e7 \u05d0\u05ea \u05d4\u05d9\u05d3 \u05d1\u05e9\u05dc\u05d1\u05d9\u05dd \u05d4\u05e8\u05d0\u05e9\u05d5\u05df\r\n-\t\u05d0\u05d1\u05dc \u05d2\u05dd, \u05dc\u05d4\u05e6\u05d9\u05d1 \u05d2\u05d1\u05d5\u05dc\u05d5\u05ea\r\n-\t\u05dc\u05e2\u05d6\u05d5\u05e8 \u05d1\u05d4\u05ea\u05e7\u05e0\u05d4 \u05e9\u05dc \u05e4\u05d9\u05d9\u05ea\u05d5\u05df \u05d5\u05e9\u05dc VSCode\r\n-\t\u05ea\u05d5\u05e1\u05e3 AI \u05db\u05de\u05d5 TabNine\r\n-\t\u05d0\u05d9\u05df \u05e6\u05d5\u05e8\u05da \u05d1\u05e1\u05d1\u05d9\u05d1\u05d5\u05ea \u05e4\u05d9\u05ea\u05d5\u05d7 \u05e9\u05d5\u05e0\u05d5\u05ea\r\n-\t\u05dc\u05d7\u05e9\u05d5\u05d1 \u05d1\u05d9\u05d7\u05d3 \u05e2\u05dc \u05e6\u05d5\u05e8\u05da\r\n-\t\u05dc\u05e2\u05d6\u05d5\u05e8 \u05d1\u05db\u05ea\u05d9\u05d1\u05ea \u05d4\u05e4\u05e8\u05d5\u05de\u05e4\u05d8 \u05d4\u05e8\u05d0\u05e9\u05d5\u05df \u05d5\u05d4\u05e8\u05e6\u05ea \u05d4\u05e7\u05d5\u05d3. \u05e6\u05e8\u05d9\u05da \u05dc\u05d4\u05d9\u05d5\u05ea \u05e4\u05e9\u05d5\u05d8!\r\n-\t\u05dc\u05d4\u05e1\u05d1\u05d9\u05e8 \u05d0\u05d9\u05da \u05d4\u05e2\u05d5\u05e8\u05da \u05de\u05e6\u05d1\u05d9\u05e2 \u05e2\u05dc \u05d1\u05e2\u05d9\u05d5\u05ea \u05d5\u05e9\u05d2\u05d9\u05d0\u05d5\u05ea\r\n-\t\u05dc\u05d4\u05e1\u05d1\u05d9\u05e8 \u05e2\u05dc \u05d4\u05d8\u05e8\u05de\u05d9\u05e0\u05dc\r\n-\t\u05dc\u05d4\u05e8\u05d0\u05d5\u05ea \u05d0\u05d9\u05da \u05de\u05ea\u05e7\u05d9\u05e0\u05d9\u05dd \u05d7\u05d1\u05d9\u05dc\u05d4\r\n-\t\u05dc\u05d4\u05e0\u05d7\u05d5\u05ea \u05dc\u05e7\u05e8\u05d5\u05d0 \u05d0\u05ea \u05d4\u05d4\u05e1\u05d1\u05e8\u05d9\u05dd \u05de\u05ea\u05d7\u05ea \u05dc\u05e7\u05d5\u05d3 \u05db\u05d3\u05d9 \u05dc\u05d4\u05d1\u05d9\u05df \u05d0\u05d5\u05ea\u05d5 \u05d5\u05dc\u05dc\u05de\u05d5\u05d3\r\n\r\n\u05d1\u05d0\u05d9\u05d6\u05d4 AI \u05dc\u05d4\u05e9\u05ea\u05de\u05e9?\r\n-\t\u05d0\u05e0\u05d9 \u05d0\u05d5\u05d4\u05d1 \u05d0\u05ea Perplexity.ai \u05db\u05d9 \u05d4\u05d5\u05d0 \u05de\u05d1\u05d9\u05d0 \u05de\u05e7\u05d5\u05e8\u05d5\u05ea\r\n-\tGemini \u05d8\u05d5\u05d1 \u05db\u05d9 \u05d4\u05d5\u05d0 \u05d3\u05d9\u05d3\u05e7\u05d8\u05d9 (\u05dc\u05e4\u05e2\u05de\u05d9\u05dd \u05d6\u05d4 \u05de\u05e2\u05e6\u05d1\u05df)\r\n\r\n\u05d3\u05d5\u05d2\u05de\u05d4 \u05d0' \u05de\u05d4\u05e2\u05d1\u05d5\u05d3\u05d4 \u05e9\u05dc\u05d9\r\npython copy the structure of all the folders in folder_a to folder_b without the files\r\n\u05e9\u05d9\u05e7\u05d5\u05dc\u05d9\u05dd \u05d1\u05db\u05ea\u05d9\u05d1\u05ea \u05d4\u05e4\u05e8\u05d5\u05de\u05e4\u05d8\r\nsrc_dir = r'D:\\Dropbox\\Work\\\u05d1\u05d9\u05ea \u05d1\u05e0\u05d9\u05de\u05d9\u05e0\u05d9'\r\n\u05d1\u05e2\u05d9\u05d4 \u05d1\u05e9\u05de\u05d5\u05ea \u05e4\u05d5\u05dc\u05d3\u05e8\u05d9\u05dd \u05d1\u05e7\u05d5\u05d3, \u05d1\u05d9\u05d9\u05d7\u05d5\u05d3 \u05d1\u05e2\u05d1\u05e8\u05d9\u05ea. \u05e6\u05d5\u05e8\u05da \u05d1\u05d4\u05e4\u05d9\u05db\u05d4 \u05dc Raw. (\u05de\u05e6\u05d3 \u05d0\u05d7\u05d3, \u05d7\u05d9\u05d5\u05e0\u05d9. \u05de\u05e6\u05d3 \u05e9\u05e0\u05d9, \u05e2\u05dc\u05d5\u05dc \u05dc\u05d4\u05d9\u05d5\u05ea \u05e7\u05e6\u05ea \u05de\u05e1\u05d5\u05d1\u05da \u05dc\u05de\u05ea\u05d7\u05d9\u05dc\u05d9\u05dd. \u05d1\u05e2\u05d9\u05d4. \u05e6\u05e8\u05d9\u05da \u05dc\u05d4\u05ea\u05d9\u05d9\u05e2\u05e5).\r\n\r\n\u05d3\u05d5\u05d2\u05de\u05d4 \u05d1' \u05de\u05d4\u05e2\u05d1\u05d5\u05d3\u05d4 \u05e9\u05dc\u05d9\r\nfrom folder_a, count number of pages in all pdf files, write file name and number of pages to text file pdf_pages.txt\r\n\u05dc\u05d4\u05e1\u05d1\u05d9\u05e8 \u05e9\u05e2\u05d3\u05d9\u05e3 \u05dc\u05db\u05ea\u05d5\u05d1 \u05dc\u05e7\u05d5\u05d1\u05e5 \u05d8\u05e7\u05e1\u05d8 \u05de\u05d0\u05e9\u05e8 \u05dc\u05d4\u05d3\u05e4\u05d9\u05e1 \u05dc\u05d8\u05e8\u05de\u05d9\u05e0\u05dc\r\n\r\n\u05d3\u05d5\u05d2\u05de\u05d4 \u05d2' \u05de\u05d4\u05e2\u05d1\u05d5\u05d3\u05d4 \u05e9\u05dc\u05d9\r\npython from basefolder, in each folder, resize tiff files and put in new subfolder half\r\n\u05d8\u05d9\u05e4\u05d5\u05dc \u05d1\u05ea\u05de\u05d5\u05e0\u05d5\u05ea\r\n\r\n\u05d0\u05d9\u05da \u05dc\u05e4\u05ea\u05d5\u05e8 \u05d1\u05e2\u05d9\u05d5\u05ea\r\n- \u05d4\u05d3\u05d2\u05de\u05d4 \u05d7\u05d9\u05d4 \u05e9\u05dc \u05d1\u05e2\u05d9\u05d4 \u05d1\u05d4\u05e8\u05e6\u05ea \u05e7\u05d5\u05d3, \r\n- \u05d4\u05d3\u05d1\u05e7\u05ea \u05d4\u05e7\u05d5\u05d3 \u05d5\u05d4\u05d5\u05d3\u05e2\u05ea \u05d4\u05e9\u05d2\u05d9\u05d0\u05d4 \u05d1 AI, \r\n- \u05e7\u05d1\u05dc\u05ea \u05d4\u05ea\u05e9\u05d5\u05d1\u05d4 \r\n- \u05ea\u05d9\u05e7\u05d5\u05df\r\n- \u05d4\u05e8\u05e6\u05d4 \u05de\u05d7\u05d5\u05d3\u05e9\u05ea\r\n\r\n\u05dc\u05e1\u05d9\u05db\u05d5\u05dd\r\n\u05e4\u05e2\u05dd \u05d1\u05d9\u05e8\u05d9\u05d3 \u05de\u05d9\u05d9\u05e7\u05e8\u05d9\u05dd \u05e4\u05d9\u05ea\u05d7\u05ea\u05d9 \u05e8\u05de\u05d6\u05d5\u05e8 \u05dc\u05e9\u05d9\u05e8\u05d5\u05ea\u05d9\u05dd \u05e2\u05dc \u05d0\u05e8\u05d3\u05d5\u05d0\u05d9\u05e0\u05d5. \u05d4\u05e1\u05d1\u05e8\u05ea\u05d9 \u05dc\u05d0\u05e0\u05e9\u05d9\u05dd \u05d1\u05d9\u05e8\u05d9\u05d3 \u05de\u05d4 \u05d6\u05d4 \u05d0\u05e8\u05d3\u05d5\u05d0\u05d9\u05e0\u05d5 \u05d5\u05de\u05d4 \u05d0\u05e4\u05e9\u05e8 \u05dc\u05e2\u05e9\u05d5\u05ea \u05d0\u05d9\u05ea\u05d5. \u05d4\u05d9\u05d5 \u05db\u05de\u05d4 \u05e9\u05e0\u05d3\u05dc\u05e7 \u05dc\u05d4\u05dd \u05d1\u05e8\u05e7 \u05d1\u05e2\u05d9\u05e0\u05d9\u05d9\u05dd. \u05d0\u05d5\u05ea\u05dd \u05d7\u05d9\u05e4\u05e9\u05ea\u05d9.\r\n\r\n\u05db\u05d3\u05d0\u05d9 \u05dc\u05e1\u05e4\u05e8 \u05dc\u05d0\u05e0\u05e9\u05d9\u05dd \u05e2\u05dc AI \u05e9\u05e2\u05d5\u05d6\u05e8 \u05dc\u05db\u05ea\u05d5\u05d1 \u05e4\u05d9\u05d9\u05ea\u05d5\u05df. \u05d9\u05e9 \u05db\u05d0\u05dc\u05d4 \u05e9\u05d9\u05d9\u05d3\u05dc\u05e7 \u05dc\u05d4\u05dd \u05d1\u05e8\u05e7 \u05d1\u05e2\u05d9\u05e0\u05d9\u05d9\u05dd. \u05dc\u05dc\u05de\u05d3 \u05d0\u05d5\u05ea\u05dd \u05d9\u05e2\u05e9\u05d4 \u05dc\u05d4\u05dd \u05d8\u05d5\u05d1. \u05d5\u05d2\u05dd \u05dc\u05db\u05dd.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "3fed4a8a-9fc9-5b8c-b0ff-01507ea6fdb5", "id": 1109, "code": "JYKRE8", "public_name": "\u05d7\u05e0\u05df \u05db\u05d4\u05df", "avatar": "https://cfp.pycon.org.il/media/avatars/profile-2021-05-removebg-preview_light_hBlFfCV.png", "biography": "\u05e4\u05e2\u05d9\u05dc \u05d0\u05d9\u05e0\u05d8\u05e8\u05e0\u05d8 \u05d5\u05ea\u05d9\u05e7. 40 \u05e9\u05e0\u05d4 \u05e9\u05dc \u05d4\u05d3\u05e8\u05db\u05d4, \u05d4\u05d8\u05de\u05e2\u05d4 \u05d5\u05ea\u05de\u05d9\u05db\u05d4 \u05d8\u05db\u05e0\u05d9\u05ea \u05dc\u05db\u05dc \u05e8\u05de\u05d5\u05ea \u05d4\u05de\u05e9\u05ea\u05de\u05e9\u05d9\u05dd. \u05de\u05e4\u05e2\u05d9\u05dc \u05d4\u05d0\u05ea\u05e8 \"\u05dc\u05d0 \u05e8\u05dc\u05d5\u05d5\u05e0\u05d8\u05d9\" \u05dc\u05d1\u05d3\u05d9\u05e7\u05ea \u05e9\u05de\u05d5\u05e2\u05d5\u05ea \u05d0\u05d9\u05e0\u05d8\u05e8\u05e0\u05d8 \u05d5\u05d4\u05d0\u05ea\u05e8 \"\u05ea\u05d5\u05dc\u05d3\u05d5\u05ea \u05d4\u05d3\u05d9\u05d2\u05d9\u05d8\u05dc \u05d1\u05d9\u05e9\u05e8\u05d0\u05dc\" \u05dc\u05e9\u05d9\u05de\u05d5\u05e8 \u05ea\u05d5\u05dc\u05d3\u05d5\u05ea \u05d4\u05de\u05d9\u05d7\u05e9\u05d5\u05d1.\r\n\r\n\u05d1\u05df 62, \u05d7\u05d1\u05e8 \u05d4\u05e7\u05d9\u05d1\u05d5\u05e5 \u05d4\u05e2\u05d9\u05e8\u05d5\u05e0\u05d9 \u05ea\u05de\u05d5\u05d6 \u05d1\u05d1\u05d9\u05ea \u05e9\u05de\u05e9.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/NCVRQG/", "id": 1059, "guid": "a768587a-cf61-566d-bc2e-d60b45e8be7d", "date": "2024-09-16T13:30:00+03:00", "start": "13:30", "logo": null, "duration": "00:20", "room": "Hall 7", "slug": "pycon-2024-1059-empowering-the-next-generation-teaching-python-to-young-girls-through-alicecode", "title": "Empowering the Next Generation: Teaching Python to Young Girls through AliceCode", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Join me as I present my experience of teaching Python to 11-year-old girls through AliceCode\u2019s program. Discover which concepts were challenging for them, examples of the coding exercises used, samples of their projects, and additional insights.", "description": "How do you teach 11-year-old girls Python? AliceCode is a non-profit organization whose goal is to train and empower young girls, from the fourth grade and up, in the software field. Through AliceCode, I had the privilege of teaching Python programming to young girls from various parts of the country via Zoom in their first steps into the world of coding.\r\n\r\nDuring the session I will speak in-depth about the insights I gained in the process of teaching Python to young girls, including an overview of the program\u2019s syllabus, which concepts were the hardest for them to understand, examples of the coding exercises and questions used during lessons, and samples of the students\u2019 completed projects including code snippets. \r\n\r\nI will also briefly share my firsthand observations of the outcomes and impact of early exposure to coding, and shortly discuss how I believe parents can motivate their children, specifically girls, to pursue and stay in computer science.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "d924f229-64fa-519d-9c45-29936bdfb191", "id": 1121, "code": "L7NATF", "public_name": "Shani Bendor", "avatar": "https://cfp.pycon.org.il/media/avatars/Copy_of_0Z8A2840_2_DcT7oj2.jpeg", "biography": "I\u2019m an Automation Engineer at Own with a passion for empowering the next generation of female coders. During my time pursuing a degree in Computer Science, I volunteered at AliceCode, a non-profit organization aimed at teaching young girls programming skills. \r\n\r\nI taught and mentored over 30 bright and curious young girls (4 groups) in elementary school (ages 9 to 12) on a weekly basis. In addition, I instructed and mentored in one-time hackathons for schools, and participated in various panels and events that AliceCode organized. Through these experiences, I developed a unique perspective on how to effectively introduce Python to children, particularly young girls.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/AUMURT/", "id": 994, "guid": "74b69a34-aa84-5423-b999-d1424d44c219", "date": "2024-09-16T14:00:00+03:00", "start": "14:00", "logo": null, "duration": "00:20", "room": "Hall 7", "slug": "pycon-2024-994-no-more-dependency-nightmares-the-wix-way-for-a-healthy-and-stable-python-platform", "title": "No more dependency nightmares: the Wix way for a healthy and stable python platform", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Navigating Python dependencies can be a nightmare, especially with large frameworks like Apache Airflow. Join Roy as he shares the Wix way of keeping dependencies updated and stable,ensuring a true sleeping beauty in the world of software development", "description": "Any experienced Python developer knows that Navigating the complex landscape of Python dependencies can be akin to a nightmare, especially when dealing with large frameworks like Apache Airflow which has over 700 Python dependencies. In This talk Roy will share the Wix way of keeping dependencies updated and most importantly stable!\r\n\r\nJoin us for a deep dive into the world of Python dependency management with a focus on stability and sanity.\r\nIn this talk, Roy will uncover the challenges faced by developers dealing with an extensive array of Python dependencies, particularly within frameworks like Apache Airflow and proprietary in-house libraries. Drawing from his experience at Wix, where the Python ecosystem is rich and diverse, with more than 1,000 dependencies that serve ~200 Data Engineers, we share insights into our battle-tested methods for keeping dependencies up-to-date and rock-solid.\r\nIn this talk the audience will learn practical solutions and best practices for keeping their environment stable.\r\nWe will discuss several ways to effectively manage and handle custom dependencies in your python platform.\r\n\r\nWhether you're an experienced Python developer or just starting out, join me to unlock the secrets to a tranquil dependency experience \u2013 a true sleeping beauty in the world of software development.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "b5ad7b23-7bf4-57d6-95a0-59b277fa867c", "id": 1078, "code": "SYRFCR", "public_name": "Roy Noyman", "avatar": "https://cfp.pycon.org.il/media/avatars/6e92-200o200o2-VKW7ciPvuBDnuqreuqBFAg_AE0yAPD.jpg", "biography": "Roy Noyman is an infrastructure data engineer with three years of experience at Wix.com. He works as part of the frameworks team of the data infra group, where he plays a critical role in designing and building scalable infrastructure solutions. In his previous presentation resume, Roy talked inatseveral conferences such as Apache Airflow 2023 and Data.TLV.\r\nRoy has a strong technical background in software engineering, with a degree in computer science from Tel Aviv University.\r\nAt Wix.com, Roy has contributed to building and scaling critical infrastructure components such as Apache Airflow and Apache Spark-related products and deployments. He has experience working with tools such as Kubernetes, Docker, Colima and deploy and manage infrastructure components in a highly available and fault-tolerant manner.\r\nRoy has also a MBA degree from Tel Aviv University and was the founder of the Coller Business Data Science Students Cluba at TAU.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/FK97A9/", "id": 1046, "guid": "47bf2d8f-6b12-539f-ba12-6c06b1e2c1d6", "date": "2024-09-16T15:00:00+03:00", "start": "15:00", "logo": "https://cfp.pycon.org.il/media/pycon-2024/submissions/FK97A9/DALLE_2024-06-06_22.23.31_-_A_vibrant_Pixar-style_movie_po_Y1IaXbN.png", "duration": "00:20", "room": "Hall 7", "slug": "pycon-2024-1046-letting-ai-steal-my-job-i-m-not-even-mad-this-is-amazing", "title": "Letting AI Steal My Job - I'm Not Even Mad, This Is Amazing", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Reviewing code repetitively and documenting API endpoints can be tedious. In this talk, we\u2019ll share how we wrote Python LLMs with Github actions and a few python SDKs for best practice advice on pull requests and automatic API documentation.", "description": "Being a software engineer is awesome. I love waking up in the morning and diving into code, planning new system components, or collaborating with my team to release great versions for our users. But doing the grunt work? I\u2019ll pass. While I enjoy reviewing other developers\u2019 architecture and learning from their approaches, being the team\u2019s bottleneck, only to give the same repetitive \u201cbest practices\u201d comments? No thanks. Speed coding new endpoints for great frontend capabilities? LOVE. Adding API endpoint documentation? Please, spare me the boredom.\r\nWe keep talking about \u201chow amazing AI is going to transform our products,\u201d but what really amazed me was the morning I realized I could turn Gemini into a sidekick that handles my dirty work.\r\n\r\nIn this talk, we\u2019ll share how we used Gemini to offload tedious tasks and let us focus on the enjoyable parts of development. We\u2019ll walk you through how we wrote a Python LLM that instantly provides best practice advice on GitHub pull requests and demonstrate how another LLM handles API documentation for us. We\u2019ll also present other practical uses that might benefit your team. Additionally, we\u2019ll discuss important considerations before starting, how we improved our processes, and what made the journey fun. This talk is perfect for anyone looking to take their first steps in writing LLMs, those who constantly seek to optimize their daily lives, and of course \u2013 Python enthusiasts.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "fc8e0e95-9870-5210-ba8c-ed52c8770729", "id": 169, "code": "KS83PG", "public_name": "Carine-Belle Feder", "avatar": "https://cfp.pycon.org.il/media/avatars/CarineBelle_1_k2L7F7v.jpeg", "biography": "Carine-Belle Feder is a Staff Engineer and Co-Founder of Antidote Health, a company with a mission to build an affordable HMO and make quality healthcare more accessible in the US.\r\n\r\nExcited about building and learning new things, she is passionate about diversity and feminism, and shamelessly hopes to make the world a better place, one commit at a time.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/9HLDH8/", "id": 1051, "guid": "b0351099-5ac7-5109-81f3-bf5755b96cd1", "date": "2024-09-16T15:30:00+03:00", "start": "15:30", "logo": null, "duration": "00:20", "room": "Hall 7", "slug": "pycon-2024-1051-unit-testing-llm-agents", "title": "Unit testing LLM Agents", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "A Python unit-test framework - for making sure that Agents do as they're expected.", "description": "LLM Agents are powerful constructs - capable of asking questions, using tools, reasoning iteratively while fixing their mistakes or assumptions. \r\nWhen creating such agents for a specific purpose, we want to make sure that purpose is achieved. However, because these beings exist in a conversational, non-deterministic environment, doing proper unit tests becomes tricky.\r\nIn this talk I will present a method, as well as a Python framework, for tackling this problem.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "c6ce7aaa-3a61-52e3-80f8-266a5cd9f067", "id": 139, "code": "XMYJZE", "public_name": "Adam Kariv", "avatar": "https://cfp.pycon.org.il/media/avatars/cd511289b5773fff5e7efe328846eef3_8KJ9BN9.jpg", "biography": "Adam Kariv is a software engineer (and founder) of While True Industries, an open data consultant and activist.\r\nHe has over 25 years of experience in developing, designing and managing software projects, from open-source data-wrangling libraries to enterprise-scale, mission-critical systems developed by over 20 engineers. He is the founder of the Public Knowledge Workshop (\u2018Hasadna\u2019), an Israeli NGO working to make government data more accessible, and has extensive experience working with civil society organization and government agencies to build better tools for publishing data.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/MLHYLU/", "id": 1028, "guid": "a79e312e-9155-5be0-a1b8-173900f3892f", "date": "2024-09-16T16:00:00+03:00", "start": "16:00", "logo": null, "duration": "00:20", "room": "Hall 7", "slug": "pycon-2024-1028-how-we-deleted-a-dozen-files-and-10-000-lines-of-code-and-got-control-of-our-airflow-dags", "title": "How we deleted a dozen files and 10,000 lines of code and got control of our Airflow DAGs", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Airflow is great, but it's notoriously hard to avoid duplicate code. We'll show you how we got into technical debt, and how we got out of it. We'll share our powerful and reusable class library, and the stories behind its development.", "description": "The challenge of writing reusable Airflow code, and the nightmare of technical debt.\r\nHow we built a powerful and easy to use class library for our Airflow DAGs. \r\nWhat to do -- and what not to do -- when refactoring.\r\nDevelopment tradeoffs, and managing technical debt.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "63ddd39d-e0b6-50fe-b1de-d97bc1fc0868", "id": 1099, "code": "CQY7XG", "public_name": "Gil Reich", "avatar": "https://cfp.pycon.org.il/media/avatars/gil_reich_uP756zc.jpg", "biography": "Gil is a Data Engineer for Wix's great Data Science team.\r\n\r\nPreviously he was Director of Engineering and VP of Product Management at Answers.com.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/EFEM8V/", "id": 1052, "guid": "1c6a9e94-fdbe-513d-b437-647ff7eafcc1", "date": "2024-09-16T16:30:00+03:00", "start": "16:30", "logo": null, "duration": "00:20", "room": "Hall 7", "slug": "pycon-2024-1052-10-ways-to-shoot-yourself-in-the-foot-with-tests", "title": "10 Ways To Shoot Yourself In The Foot With Tests", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Tests can be great, but sometimes they're really not.\r\nGetting it right can be tricky, and even when there are problems - it can be hard to know why.\r\nWe'll see how to avoid some common expensive mistakes, and how this can look in the Python ecosystem.", "description": "Almost every developer who\u2019s worked with tests has encountered a test suite that caused a lot of pain.\r\n\r\nSome of them just don\u2019t protect us when we need them, some are flaky, some keep breaking because of unrelated changes, some take hours to debug whenever they fail.\r\n\r\nAnd while every company is different, there are definitely patterns.\r\nMany problems are the result of some common pitfalls that trap many teams.\r\nThese pitfalls might be common, but they're not easy to spot - small differences in test implementation can dramatically affect the result, and I\u2019ve seen all of them happen in strong, capable, experienced teams. Most of these I fell into myself at least once.\r\n\r\nIn this session, we'll take a look at a selection of problematic testing choices, with examples that show these in the context of common Python frameworks and libraries. We'll discuss how to identify them, what problems they might cause and what alternatives we have so we can save ourselves the pain.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "700ac17f-9a31-5067-b515-b1b6d5d74902", "id": 815, "code": "S8VEKE", "public_name": "Shai Geva", "avatar": "https://cfp.pycon.org.il/media/avatars/shai_profile_pic_from_linkedin_fCAWvx1.jpeg", "biography": "Making software with humans and for humans for close to 20 years, doing diverse stuff from algo research and AI to management.\r\nRelentless question asker, problem solver and maker of high-quality software.", "answers": []}], "links": [], "attachments": [], "answers": []}]}}, {"index": 2, "date": "2024-09-17", "day_start": "2024-09-17T04:00:00+03:00", "day_end": "2024-09-18T03:59:00+03:00", "rooms": {"Room I": [{"url": "https://cfp.pycon.org.il/pycon-2024/talk/9LU8PZ/", "id": 976, "guid": "f80d7c5e-50e0-516f-8107-0a922be16c8c", "date": "2024-09-17T09:15:00+03:00", "start": "09:15", "logo": null, "duration": "03:00", "room": "Room I", "slug": "pycon-2024-976-getting-started-with-grpc", "title": "Getting Started with gRPC", "subtitle": "", "track": null, "type": "3-hour workshop", "language": "he", "abstract": "gRPC is a high performance open source RPC framework.\r\nIn this workshop we'll build a gRPC server and client, going from basics to advanced topics such as testing, streaming, interceptors and more.", "description": "gRPC is an open source RPC framework from Google.\r\n\r\nIt has become the default choice for internal server to server communication within companies.\r\ngRPC is fast, secure, has a schema for incoming and outgoing messages, supports streaming and provides many more benefits.\r\n\r\nIn the course, we'll write a ride hailing service. \r\nWe'll build the server, the client and along the way discuss testing, streaming, security and many more subjects.\r\nWe'll also discuss operational topics such as using TLS, sharing protocol buffers definition and exposing gRPC as REST API.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "09bc2ad0-282d-567b-9e74-5440bdd0c16a", "id": 24, "code": "CEXJSE", "public_name": "Miki Tebeka", "avatar": "https://cfp.pycon.org.il/media/avatars/017957ad32f7035e080c0a24d3eb10f8_4Gf7En3.jpg", "biography": "Miki has been shipping bugs to production for over 25 years.\r\nHe has a passion for teaching, mentoring, and talking about tech for way too long.\r\nMiki contributes to open source, either his own projects, or external ones - including the Go and Python projects.\r\n\r\nMiki wrote several technical books, he's a LinkedIn Learning author and an organiser of Go Israel Meetup, GopherCon\r\nIsrael, and PyData Tel Aviv Conference.\r\n\r\nWhen not geeking out, Miki likes to climb, hike all over the world, read books and annoy his family.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/NBQYHM/", "id": 995, "guid": "deae5dd2-254a-5868-89fc-9b12647353fd", "date": "2024-09-17T13:00:00+03:00", "start": "13:00", "logo": null, "duration": "03:00", "room": "Room I", "slug": "pycon-2024-995-introduction-to-geospatial-data-and-geopandas", "title": "Introduction to Geospatial data and GeoPandas", "subtitle": "", "track": null, "type": "3-hour workshop", "language": "he", "abstract": "In this workshop we will learn the basic units of geospatial data and how to easily read and process it to create maps using GeoPandas.", "description": "Topics:\r\n- Quick overview of maps, projections and coordinate systems.\r\n- Maps: Raster and vector, existing technologies, tile maps.\r\n [Workshop: OpenStreetMap and custom tilemaps]\r\n- Geospatial data types (Points, LineStrings, Polygons) and formats (GeoJSON, WKL, Shapefile)\r\n  [Workshop: Query, export and import data online with geojson.io and OverPass Turbo]\r\n- Behind the scenes - Standing on the shoulders of giants: GEOS, shapely (and GDAL, proj)\r\n  [Workshop: Creating and manipulating geometries with shapely]\r\n- Crash intro to pandas + Geospatial data analysis with GeoPandas\r\n  [Workshop: Reading, displaying, filtering and processing geospatial data with GeoPandas]\r\n  \r\nRequirements:\r\n- Participants should have at least basic Python background.\r\n- PC+Python+All required libraries installed before the workshop - goepandas, jupyterlab and a few more.\r\n\r\nThe spoken language used during the workshop is **Hebrew**. All the written materials are in English.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "d49e1375-8115-5683-b5b2-20fe1e64f15c", "id": 630, "code": "FYTZJT", "public_name": "Udi Oron", "avatar": "https://cfp.pycon.org.il/media/avatars/IMG_43642_8p8lcFZ.JPG", "biography": "Trainer and Web Developer\r\n\r\nhttps://il.linkedin.com/in/udioron", "answers": []}], "links": [], "attachments": [], "answers": []}], "Room II": [{"url": "https://cfp.pycon.org.il/pycon-2024/talk/KRWRGL/", "id": 1025, "guid": "e179bdfb-6cbf-5ea0-adeb-0a85567a378c", "date": "2024-09-17T09:15:00+03:00", "start": "09:15", "logo": null, "duration": "03:00", "room": "Room II", "slug": "pycon-2024-1025-unleashing-the-power-of-llms-gen-ai-with-python", "title": "Unleashing the Power of LLMs & Gen AI with Python", "subtitle": "", "track": null, "type": "3-hour workshop", "language": "he", "abstract": "Explore Large Language Models & Generative AI in Python. Witness their power with demos & code examples. Unlock innovation by seamlessly integrating cutting-edge AI into your Python projects!", "description": "In this talk, we'll dive into the cutting-edge world of Large Language Models (LLMs) and Generative AI (Gen AI), exploring their transformative impact on various domains and their seamless integration with Python.\r\n\r\nThe LLM Revolution: We'll kick off by introducing LLMs, the cornerstone of modern AI systems. Through applied demonstrations, you'll witness the remarkable capabilities of models like GPT-4, showcasing their language understanding, generation, and task-solving prowess.\r\n\r\nGen AI in Action: Next, we'll delve into the realm of Generative AI, where LLMs are harnessed to create novel content, from text to images and beyond. You'll see how Python frameworks like Langchain and Llama-Index empower developers to build powerful Gen AI applications, unlocking new realms of creativity and productivity.\r\n\r\nRunning Example: Evolving NLP Solutions\r\nTo illustrate the rapid evolution of NLP techniques, we'll present a running example of  the Document Summarization task, demonstrating how this specific problem was approached in the past and now in 2024 with the help of LLMs and Gen AI. This hands-on segment will highlight the stark contrast between traditional methods and the game-changing potential of modern AI systems.\r\n\r\nConnecting to Python\r\nThroughout the talk, we'll emphasize the deep integration of LLMs and Gen AI with Python, showcasing code examples and practical applications. You'll learn how to leverage Python libraries and frameworks to harness the power of these cutting-edge technologies, empowering you to build innovative solutions.\r\n\r\nWhat You'll Gain:\r\n- A comprehensive understanding of LLMs and Gen AI, their capabilities, and their impact on various domains.\r\n- Practical experience with Python frameworks like Langchain and Llama-Index for building Gen AI applications.\r\n- Insights into the evolution of NLP techniques and the transformative power of modern AI systems.\r\n- Inspiration to explore and leverage LLMs and Gen AI in your own projects", "recording_license": "", "do_not_record": false, "persons": [{"guid": "a073a444-ff12-54d0-95b8-e29c8401c852", "id": 1096, "code": "VB7FXL", "public_name": "Hila Weisman Zohar", "avatar": "https://cfp.pycon.org.il/media/avatars/hila_pic_2_02IgwKp.jpeg", "biography": "Introducing Hila, a distinguished algorithm expert and researcher with over a decade of experience in the AI field. She holds a summa cum laude master's degree from BIU NLP lab and has published her groundbreaking work at top academic events like EMNLP. Hila's contributions have significantly advanced call center call analysis algorithms, leading to five US patents and academic posters showcased at various prestigious venues.\r\nFor the last four years, Hila has been a senior data scientist and guild master at Outbrain, focusing on large-scale super-fast algorithms for the native ads domain. Recently, Hila has embarked on a new venture, starting her own consulting firm while also working as a senior data scientist at Now You Know, a pioneering AI E-learning course publishers and creators.\r\nAlongside her technical expertise, Hila is passionate about sharing knowledge and mentoring fellow women in the tech industry. She actively participates in local meetups and international conferences, inspiring and empowering others with her insights and experiences. Hila firmly believes in the importance of fostering a supportive community and helping people navigate the challenges and opportunities in the AI field.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2024/talk/TNJXHT/", "id": 963, "guid": "1beabb80-5460-5b19-857b-00a8bff43a81", "date": "2024-09-17T13:00:00+03:00", "start": "13:00", "logo": "https://cfp.pycon.org.il/media/pycon-2024/submissions/TNJXHT/Screenshot_2024-08-29_at_11.13.27_rIuKOBZ.png", "duration": "03:00", "room": "Room II", "slug": "pycon-2024-963-codyssey-a-playful-python-workshop", "title": "Codyssey - a playful Python workshop", "subtitle": "", "track": null, "type": "3-hour workshop", "language": "en", "abstract": "We all know about the Odyssey and all those mythical heroes...\r\nBut behind every successful hero sits a programmer, trying to figure out WHY THE F*** won't the hero's boat move in the right direction.\r\n\r\nWelcome aboard, hero-coder.", "description": "In this workshop you'll hone your Python skills by writing agents that autonomously play games! Compete to solve the most games in 3 hours.\r\n\r\nHow it works:\r\nThere will be 9 games where you'll write code that runs dozens of times a second and decides which action to take next. The games vary in complexity and familiarity - you'll meet snake, pong 3D, and a host of other games. Be the first to solve them all!\r\n\r\n(Be sure to bring a laptop)", "recording_license": "", "do_not_record": false, "persons": [{"guid": "33ef0dd6-1dfa-5442-9f6a-c63863b148ab", "id": 1065, "code": "F83H9J", "public_name": "Daniel Anderson", "avatar": "https://cfp.pycon.org.il/media/avatars/me_linkedin_o6WdSXq.jpeg", "biography": "I started my career as a programmer in the IDF, where I had the opportunity to take on a rich range of roles: full-stack developer, team lead, and programming course commander.\r\n\r\nAfter being released from the IDF I got into the world of data science and machine learning, in an Israeli nutrition startup that was later acquired by Medtronic, a big medical device company.\r\n\r\nI then ventured out on my own as a freelance machine learning practitioner, and now I work with several startups on computer vision / ML problems. In addition I work with Nitzanim (https://nitzanim.tech) as the CTO, helping to create and improve tech-ed programs for youth.\r\n\r\nBachelor's degree in computer science from the Open University, Master's degree in machine learning & data science from Reichman University.\r\n\r\nAnd I have a blog! It's got quite a few posts in Python, too. https://andersource.dev", "answers": []}], "links": [], "attachments": [], "answers": []}], "Room III": [{"url": "https://cfp.pycon.org.il/pycon-2024/talk/NBB3NF/", "id": 1056, "guid": "d1fbadef-4bea-5e25-8098-195b68480ce7", "date": "2024-09-17T09:15:00+03:00", "start": "09:15", "logo": null, "duration": "06:45", "room": "Room III", "slug": "pycon-2024-1056-introduction-to-playwright-with-python", "title": "Introduction to Playwright with Python", "subtitle": "", "track": null, "type": "6-hour workshop", "language": "he", "abstract": "Playwright's the cool kid on the block for web testing. Learn how it makes life easier, tests readable. Oh, and what you should know going in, the annoying stuff. Mostly exercises, some talking.", "description": "Playwright has become one of the main tools for testing web applications. In this packed 1-day intro, we'll learn how we can use it to automate and test web UI.\r\n\r\nWe'll see how to write, run and debug Playwright tests. We'll go over locators and expectations, the building blocks of Playwright, and also talk about the async aspect of the operations. We'll talk about refactoring the tests using the Page Object Model, and also see how we can use it for API testing.\r\n\r\nOn top of that, we'll discuss where Playwright fits into the testing work - what types of tests fit Playwright more, and when they can be replaced with simpler tests. We'll also see how to run the tests in CI environment.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "aa5de4d6-4a9a-55e8-8868-3fdc23aab956", "id": 726, "code": "9WB8VV", "public_name": "Gil Zilberfeld", "avatar": "https://cfp.pycon.org.il/media/avatars/New-profile-pic-20241_fnz3JPR.png", "biography": "Gil Zilberfeld has been in software since childhood, writing BASIC programs on his trusty Sinclair ZX81. He is a trainer and mentor working to make software better.\r\nWith more than 25 years of developing commercial software, he has vast experience in software methodology and practices. From unit testing to exploratory testing, design practices to clean code, API to web testing \u2013 he\u2019s done it all. \r\nGil speaks frequently in international conferences about testing, TDD, clean code, and agile practices. He is the author of \"Everyday Unit Testing\" and \u201cEveryday Spring Testing\u201d, blogs and posts videos on these topics and in his spare time he shoots zombies, for fun.", "answers": []}], "links": [], "attachments": [], "answers": []}]}}]}}}