diff --git a/src/content/.gitattributes b/src/content/.gitattributes new file mode 100644 index 000000000..09e6018f8 --- /dev/null +++ b/src/content/.gitattributes @@ -0,0 +1 @@ +*.mdx text eol=lf diff --git a/src/content/config.ts b/src/content/config.ts index 12775cadd..119fee07f 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -63,8 +63,10 @@ const speakers = defineCollection({ submissions: z.array(reference("sessions")), affiliation: z.string().nullable(), homepage: z.string().nullable(), - twitter: z.string().nullable(), - mastodon: z.string().nullable(), + gitx: z.string().nullable(), + linkedin_url: z.string().url().nullable(), + mastodon_url: z.string().url().nullable(), + twitter_url: z.string().url().nullable(), }), }); @@ -75,7 +77,7 @@ const sessions = defineCollection({ title: z.string(), speakers: z.array(reference("speakers")), submission_type: z.string(), - track: z.string(), + track: z.string().nullable(), state: z.enum(["confirmed"]), tweet: z.string(), duration: z.string(), @@ -84,11 +86,12 @@ const sessions = defineCollection({ room: z.string().nullable(), start: z.string().nullable(), end: z.string().nullable(), + website_url: z.string().url(), talks_in_parallel: z.string().nullable(), talks_after: z.string().nullable(), - next_talk_code: z.string().nullable(), - prev_talk_code: z.string().nullable(), - website_url: z.string().url(), + talks_before: z.string().nullable(), + next_talk: z.string().nullable(), + prev_talk: z.string().nullable(), }), }); diff --git a/src/content/sessions/3XXR79.mdx b/src/content/sessions/3XXR79.mdx index 25782c687..210ad78e0 100644 --- a/src/content/sessions/3XXR79.mdx +++ b/src/content/sessions/3XXR79.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: learning-to-code-in-the-age-of-ai speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: Learning to code in the age of AI track: Software Engineering & Architecture diff --git a/src/content/sessions/7CJVKM.mdx b/src/content/sessions/7CJVKM.mdx index 92c446163..2d5169723 100644 --- a/src/content/sessions/7CJVKM.mdx +++ b/src/content/sessions/7CJVKM.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: streamlining-testing-in-a-large-python-codebase speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Streamlining Testing in a Large Python Codebase track: DevOps and Infrastructure (Cloud & Hardware) @@ -21,14 +23,14 @@ tweet: '' website_url: https://ep2024.europython.eu/session/streamlining-testing-in-a-large-python-codebase --- -Maintaining code quality through effective testing becomes increasingly challenging as codebases expand and developer teams grow. In our rapidly expanding codebase, we encountered common obstacles such as increasing test suite execution time, slow test coverage reporting and delayed test startup. By leveraging innovative strategies using open-source tools, we achieved remarkable enhancements in testing efficiency and code quality. -Challenges Faced: -- Test Suite Execution Time: The duration of test suite execution escalated significantly as we added more tests over time, hampering development speed. -- Slow Test Startup: Complex test setup led to prolonged test startup times, impeding developer productivity. -- Test Coverage Reporting Overhead: Coverage tools introduced substantial overhead and impacted test performance. - -Solutions Implemented: -- Parallel Test Execution: We applied pytest-xdist to distribute tests across multiple runners, significantly reducing test suite execution time and enabling faster development iterations. -- Optimized Test Startup: Pre-installing dependencies in a Docker image and utilizing Kubernetes for auto-scaling continuous integration runners helped expedite test startup times, improving developer efficiency. For local development, we used pytest-hot-reloading to reload tests fast after code editing. -- Efficient Test Coverage Reporting: Customizing the coverage tool to collect data only on updated files of pull requests minimized overhead on test coverage reporting. +Maintaining code quality through effective testing becomes increasingly challenging as codebases expand and developer teams grow. In our rapidly expanding codebase, we encountered common obstacles such as increasing test suite execution time, slow test coverage reporting and delayed test startup. By leveraging innovative strategies using open-source tools, we achieved remarkable enhancements in testing efficiency and code quality. +Challenges Faced: +- Test Suite Execution Time: The duration of test suite execution escalated significantly as we added more tests over time, hampering development speed. +- Slow Test Startup: Complex test setup led to prolonged test startup times, impeding developer productivity. +- Test Coverage Reporting Overhead: Coverage tools introduced substantial overhead and impacted test performance. + +Solutions Implemented: +- Parallel Test Execution: We applied pytest-xdist to distribute tests across multiple runners, significantly reducing test suite execution time and enabling faster development iterations. +- Optimized Test Startup: Pre-installing dependencies in a Docker image and utilizing Kubernetes for auto-scaling continuous integration runners helped expedite test startup times, improving developer efficiency. For local development, we used pytest-hot-reloading to reload tests fast after code editing. +- Efficient Test Coverage Reporting: Customizing the coverage tool to collect data only on updated files of pull requests minimized overhead on test coverage reporting. As a result, in the past year, our test case volume increased by 8000, test coverage was elevated to 85%, and Continuous Integration (CI) test duration was maintained under 15 minute diff --git a/src/content/sessions/7DF7VC.mdx b/src/content/sessions/7DF7VC.mdx index e2142f1fd..cc1f2cd00 100644 --- a/src/content/sessions/7DF7VC.mdx +++ b/src/content/sessions/7DF7VC.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: advanced -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: deconstructing-the-text-embedding-models speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: Deconstructing the text embedding models track: 'PyData: Deep Learning, NLP, CV' @@ -23,6 +25,6 @@ tweet: Tokenizers are the most underrated parts of not only LLMs but also text e website_url: https://ep2024.europython.eu/session/deconstructing-the-text-embedding-models --- -Selecting the optimal text embedding model is often guided by benchmarks such as the Massive Text Embedding Benchmark (MTEB). While choosing the best model from the leaderboard is a common practice, it may not always align perfectly with the unique characteristics of your specific dataset. This approach overlooks a crucial yet frequently underestimated element - the tokenizer. - +Selecting the optimal text embedding model is often guided by benchmarks such as the Massive Text Embedding Benchmark (MTEB). While choosing the best model from the leaderboard is a common practice, it may not always align perfectly with the unique characteristics of your specific dataset. This approach overlooks a crucial yet frequently underestimated element - the tokenizer. + We will delve deep into the tokenizer's fundamental role, shedding light on its operations and introducing straightforward techniques to assess whether a particular model is suited to your data based solely on its tokenizer. We will explore the significance of the tokenizer in the fine-tuning process of embedding models and discuss strategic approaches to optimize its effectiveness. diff --git a/src/content/sessions/7F87N3.mdx b/src/content/sessions/7F87N3.mdx index 34243e620..23529297f 100644 --- a/src/content/sessions/7F87N3.mdx +++ b/src/content/sessions/7F87N3.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: mastering-design-patterns-crafting-elegant-solutions-with-a-confidence speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Mastering Design Patterns: Crafting Elegant Solutions with a Confidence' track: Software Engineering & Architecture @@ -21,8 +23,8 @@ tweet: '' website_url: https://ep2024.europython.eu/session/mastering-design-patterns-crafting-elegant-solutions-with-a-confidence --- -Join us for an illuminating 30-minute journey into the world of design patterns at EuroPython 2024. Design patterns aren't just abstract concepts; they are the architectural blueprints that empower developers to create elegant and maintainable software solutions. In this session, we bridge the gap between theory and practice, offering practical insights for developers of all levels. - -We'll delve into a curated selection of design patterns, from foundational creational patterns to advanced behavioral patterns, showcasing their real-world applications and transformative impact on Python development. Through a blend of theory and practice, attendees will gain a comprehensive understanding of how to identify common design problems and apply appropriate patterns to solve them efficiently. - +Join us for an illuminating 30-minute journey into the world of design patterns at EuroPython 2024. Design patterns aren't just abstract concepts; they are the architectural blueprints that empower developers to create elegant and maintainable software solutions. In this session, we bridge the gap between theory and practice, offering practical insights for developers of all levels. + +We'll delve into a curated selection of design patterns, from foundational creational patterns to advanced behavioral patterns, showcasing their real-world applications and transformative impact on Python development. Through a blend of theory and practice, attendees will gain a comprehensive understanding of how to identify common design problems and apply appropriate patterns to solve them efficiently. + Using engaging examples and hands-on exercises, we'll equip attendees with the knowledge and skills needed to architect cleaner, more maintainable codebases. Whether you're a seasoned veteran or a curious novice, this presentation offers a comprehensive roadmap for mastering Python design patterns and architecting software solutions with grace. diff --git a/src/content/sessions/7GRP3T.mdx b/src/content/sessions/7GRP3T.mdx index 7e1e5ddb2..d1d8e9ca5 100644 --- a/src/content/sessions/7GRP3T.mdx +++ b/src/content/sessions/7GRP3T.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: the-art-of-the-pull-request speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: The Art of the Pull Request track: Software Engineering & Architecture @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/the-art-of-the-pull-request --- -*Want to be a better teammate? Want to get your work merged faster?* - +*Want to be a better teammate? Want to get your work merged faster?* + For a lot of devs (especially newer ones) the important part of a PR is the code, not the structure of the PR. However, the way commits in a PR are put together to guide a reviewer can be massively impactful. This talk looks at how to effectively craft that review experience. diff --git a/src/content/sessions/7PEXTK.mdx b/src/content/sessions/7PEXTK.mdx index 7f5e5e596..9c8227483 100644 --- a/src/content/sessions/7PEXTK.mdx +++ b/src/content/sessions/7PEXTK.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: rapid-prototyping-proof-of-concepts-django-is-all-we-need speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: 'Rapid Prototyping & Proof of Concepts: Django is all we need' track: Python Libraries & Tooling @@ -23,34 +25,34 @@ tweet: We know Django is great for building mature & long-lasting applications. website_url: https://ep2024.europython.eu/session/rapid-prototyping-proof-of-concepts-django-is-all-we-need --- -In this modern day and age, 2 things are for certain: - -1. Time-to-market for our products & features matters. -2. We can easily drown in complexity and be carried away by over-engineering. - -Having the ability to rapidly develop prototypes and proof of concepts is very powerful, because we can iterate towards the right thing, with code. - -We know that we can use Django for building mature & long-lasting applications. - -But what about building rapid prototypes and proof of concepts? - -In this talk, we’ll show that Django can do that job, reliably, as well. - -We’ll look at what Django & the rich 3rd party ecosystem has to offer us, when it comes to building rapid prototypes. - -We’ll focus on topics like: - -1. How to approach rapid prototyping with the correct mindset. -2. Being quick with Django models. -3. Realizing that types can be our friends. -4. Realizing that Django admin may be all the UI we need (at least, in the beginning). -5. Using HTMX where it makes sense. -6. Components in Django templates are a good idea. - -The talk will be practical & pragmatic, with the aim to provide good examples, derived from experience, that’ll highlight the main topics and ideas. - -The talk is great for both beginners, as well as seasoned Django developers. - -The final goal is to give clear evidence, supported by examples, that we can use Django, reliably, to rapidly build prototypes & proof of concepts. - +In this modern day and age, 2 things are for certain: + +1. Time-to-market for our products & features matters. +2. We can easily drown in complexity and be carried away by over-engineering. + +Having the ability to rapidly develop prototypes and proof of concepts is very powerful, because we can iterate towards the right thing, with code. + +We know that we can use Django for building mature & long-lasting applications. + +But what about building rapid prototypes and proof of concepts? + +In this talk, we’ll show that Django can do that job, reliably, as well. + +We’ll look at what Django & the rich 3rd party ecosystem has to offer us, when it comes to building rapid prototypes. + +We’ll focus on topics like: + +1. How to approach rapid prototyping with the correct mindset. +2. Being quick with Django models. +3. Realizing that types can be our friends. +4. Realizing that Django admin may be all the UI we need (at least, in the beginning). +5. Using HTMX where it makes sense. +6. Components in Django templates are a good idea. + +The talk will be practical & pragmatic, with the aim to provide good examples, derived from experience, that’ll highlight the main topics and ideas. + +The talk is great for both beginners, as well as seasoned Django developers. + +The final goal is to give clear evidence, supported by examples, that we can use Django, reliably, to rapidly build prototypes & proof of concepts. + It turns out that Django is all we need. diff --git a/src/content/sessions/7XMZGV.mdx b/src/content/sessions/7XMZGV.mdx index cd81d4f02..82c983ea2 100644 --- a/src/content/sessions/7XMZGV.mdx +++ b/src/content/sessions/7XMZGV.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: demystifying-asyncio-building-your-own-event-loop-in-python speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Demystifying AsyncIO: Building Your Own Event Loop in Python' track: Python Internals & Ecosystem @@ -23,19 +25,19 @@ tweet: Explore AsyncIO's core by building a custom event loop in Python to power website_url: https://ep2024.europython.eu/session/demystifying-asyncio-building-your-own-event-loop-in-python --- -**AsyncIO** has emerged as a vital tool in Python's ecosystem, particularly in web development, IO-bound tasks, and network programming. However, its internal mechanics often remain obscure, even to seasoned Python developers. This talk aims to demystify AsyncIO by guiding you through creating your own event loop in Python, culminating in running a FastAPI application with it. - -In this talk, we’ll build an event loop from scratch in Python, capable of running an HTTP server through a FastAPI application. - -**Plan:** - -- **Introduction to AsyncIO** -- **Core Concepts:** Deep dive into Event loop, Futures, Tasks, and coroutines -- **Hands-On Building:** Constructing an event loop from scratch - - Scheduling callbacks - - Executing tasks and coroutines - - Handling network calls -- **Practical Application:** Running a FastAPI HTTP server with our loop -- **Performance Insights:** Comparing our event loop with the fastest ones - +**AsyncIO** has emerged as a vital tool in Python's ecosystem, particularly in web development, IO-bound tasks, and network programming. However, its internal mechanics often remain obscure, even to seasoned Python developers. This talk aims to demystify AsyncIO by guiding you through creating your own event loop in Python, culminating in running a FastAPI application with it. + +In this talk, we’ll build an event loop from scratch in Python, capable of running an HTTP server through a FastAPI application. + +**Plan:** + +- **Introduction to AsyncIO** +- **Core Concepts:** Deep dive into Event loop, Futures, Tasks, and coroutines +- **Hands-On Building:** Constructing an event loop from scratch + - Scheduling callbacks + - Executing tasks and coroutines + - Handling network calls +- **Practical Application:** Running a FastAPI HTTP server with our loop +- **Performance Insights:** Comparing our event loop with the fastest ones + By the end of this talk, you'll be able to understand the internal workings of AsyncIO and create a basic event loop capable of running a FastAPI application. diff --git a/src/content/sessions/7Z8LFA.mdx b/src/content/sessions/7Z8LFA.mdx index 2a459cd5a..525dc38d8 100644 --- a/src/content/sessions/7Z8LFA.mdx +++ b/src/content/sessions/7Z8LFA.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: writing-python-like-it-s-rust-more-robust-code-with-type-hints speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Writing Python like it's Rust - more robust code with type hints track: Software Engineering & Architecture @@ -22,8 +24,8 @@ tweet: 'The many benefits of type hints in Python: leveraging types to gain more website_url: https://ep2024.europython.eu/session/writing-python-like-it-s-rust-more-robust-code-with-type-hints --- -Using type hints in Python has many advantages, some of which might not be obvious at first. We will see that it allows us to explicitly encode invariants in our code, which reduces the amount of tests that we need to write, it improves development speed and maintainability, and perhaps most importantly, it can give us more confidence that our code does what we expect it to do. - -We will also go through code examples that will show us how to leverage typing in Python to design APIs that cannot be easily misused, to create robust programs that we can trust. - +Using type hints in Python has many advantages, some of which might not be obvious at first. We will see that it allows us to explicitly encode invariants in our code, which reduces the amount of tests that we need to write, it improves development speed and maintainability, and perhaps most importantly, it can give us more confidence that our code does what we expect it to do. + +We will also go through code examples that will show us how to leverage typing in Python to design APIs that cannot be easily misused, to create robust programs that we can trust. + Audience members are expected to be able to read and understand Python code. diff --git a/src/content/sessions/833AAG.mdx b/src/content/sessions/833AAG.mdx index 1ecc6c2f3..5255238b4 100644 --- a/src/content/sessions/833AAG.mdx +++ b/src/content/sessions/833AAG.mdx @@ -4,8 +4,9 @@ delivery: remote duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: you-are-sharing-your-code-wrong-and-what-to-do-about-it speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: You are sharing your code wrong (and what to do about it) track: Python Internals & Ecosystem diff --git a/src/content/sessions/89RTNU.mdx b/src/content/sessions/89RTNU.mdx index 0d034bc37..a6745a800 100644 --- a/src/content/sessions/89RTNU.mdx +++ b/src/content/sessions/89RTNU.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: the-truth-about-objects speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: The truth about objects track: Python Internals & Ecosystem @@ -21,10 +23,10 @@ tweet: '' website_url: https://ep2024.europython.eu/session/the-truth-about-objects --- -"Everything in Python is an object." This is a profound truth about Python, but what does it mean? Is literally EVERYTHING an object? And what is an object anyway? Are objects the same as instances of a class? How do classes and types really work in Python? And what do metaclasses have to do with anything? - -In fact, the answers to these questions are probably not what you think they are - Python's approach to objects is different from most other languages in sometimes surprising ways. - -This talk will use simple live coded examples to explore how objects work in Python and clear up several common misconceptions and misunderstandings about how objects and instances, classes and types, and metaclasses all work together. - +"Everything in Python is an object." This is a profound truth about Python, but what does it mean? Is literally EVERYTHING an object? And what is an object anyway? Are objects the same as instances of a class? How do classes and types really work in Python? And what do metaclasses have to do with anything? + +In fact, the answers to these questions are probably not what you think they are - Python's approach to objects is different from most other languages in sometimes surprising ways. + +This talk will use simple live coded examples to explore how objects work in Python and clear up several common misconceptions and misunderstandings about how objects and instances, classes and types, and metaclasses all work together. + Be warned - you are likely to be surprised when you learn the truth about objects in Python. diff --git a/src/content/sessions/8FKHES.mdx b/src/content/sessions/8FKHES.mdx index 9cc5c8f29..8964df4de 100644 --- a/src/content/sessions/8FKHES.mdx +++ b/src/content/sessions/8FKHES.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: python-in-parallel-sub-interpreters-vs-nogil-vs-multiprocessing speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Python in Parallel: Sub-Interpreters vs. NoGIL vs. Multiprocessing' track: Python Internals & Ecosystem @@ -21,9 +23,9 @@ tweet: '' website_url: https://ep2024.europython.eu/session/python-in-parallel-sub-interpreters-vs-nogil-vs-multiprocessing --- -In the realm of Python development, achieving parallelism and harnessing the full power of modern multi-core processors is challenging. Traditionally constrained by the Global Interpreter Lock (GIL), multi-threading was not useful for true parallelism in Python, hence developers turned into multi-processing. Now this is all changing with upcoming developments. -- A new per-Interpreter GIL in Python 3.12 helps to facilitate true parallelism by opening up sub interpreters to run Python codes at the same time. In addition, it is going to be easier to use these features in Python 3.13 by having support for sub interpreters in the Stdlib. -- An upcoming compile option to disable-gil is opening a path to a world with NoGIL where Python threads can truly run in parallel. Which can potentially become the default in the upcoming years. -Multiprocessing, sub-interpreters and multi-threading without GIL are all different ways of facilitating multi-core parallelism in Python. Each of these approaches offers a unique pathway to parallel execution, but comes with its own set of trade-offs, complexities, and suitability for different types of problems. During this talk we will explore each of these options and asses their pros and cons. - +In the realm of Python development, achieving parallelism and harnessing the full power of modern multi-core processors is challenging. Traditionally constrained by the Global Interpreter Lock (GIL), multi-threading was not useful for true parallelism in Python, hence developers turned into multi-processing. Now this is all changing with upcoming developments. +- A new per-Interpreter GIL in Python 3.12 helps to facilitate true parallelism by opening up sub interpreters to run Python codes at the same time. In addition, it is going to be easier to use these features in Python 3.13 by having support for sub interpreters in the Stdlib. +- An upcoming compile option to disable-gil is opening a path to a world with NoGIL where Python threads can truly run in parallel. Which can potentially become the default in the upcoming years. +Multiprocessing, sub-interpreters and multi-threading without GIL are all different ways of facilitating multi-core parallelism in Python. Each of these approaches offers a unique pathway to parallel execution, but comes with its own set of trade-offs, complexities, and suitability for different types of problems. During this talk we will explore each of these options and asses their pros and cons. + Whether you're building CPU-bound high throughput applications, IO-bound services, or simply curious about the future of parallel processing in Python, this talk will help you with the knowledge to make informed decisions and leverage Python's parallel computing capabilities. diff --git a/src/content/sessions/8MGKUK.mdx b/src/content/sessions/8MGKUK.mdx new file mode 100644 index 000000000..44e050a00 --- /dev/null +++ b/src/content/sessions/8MGKUK.mdx @@ -0,0 +1,25 @@ +--- +code: 8MGKUK +delivery: in-person +duration: '60' +end: null +level: beginner +next_talk: null +prev_talk: null +resources: null +room: null +slug: sponsor-highlight-recruitment-fair +speakers: [] +start: null +state: confirmed +submission_type: Sponsored +talks_after: null +talks_before: null +talks_in_parallel: null +title: Sponsor Highlight & Recruitment Fair +track: null +tweet: '' +website_url: https://ep2024.europython.eu/session/sponsor-highlight-recruitment-fair +--- + +Many of our sponsors are looking to hire talented people and EuroPython is the perfect place to reach out to them! diff --git a/src/content/sessions/8QXTES.mdx b/src/content/sessions/8QXTES.mdx index c890dfef4..13819cf64 100644 --- a/src/content/sessions/8QXTES.mdx +++ b/src/content/sessions/8QXTES.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: creating-your-own-extensions-for-jupyterlab speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: Creating Your Own Extensions for JupyterLab track: 'PyData: Research & Applications' @@ -21,12 +23,12 @@ tweet: Learn to add features to JupyterLab by creating your own JupyterLab exten website_url: https://ep2024.europython.eu/session/creating-your-own-extensions-for-jupyterlab --- -Have you ever wished for a feature in Jupyter Notebooks or JupyterLab that wasn't already there? Or perhaps you've found yourself doing complex or repetitive tasks and realized that you, and others, could benefit from integrating those tasks into JupyterLab? This is your chance to learn how to add that feature, or integrate that task, yourself. - -JupyterLab enables you to work with Jupyter notebooks, text editors, terminals, and custom components in a flexible, integrated, and extensible manner. - -This talk presents a practical tutorial about how to extend JupyterLab. We focus on understanding the underlying extension support infrastructure, as we walk through a step-by-step example of creating an app in JupyterLab. We will learn, among other things, how to launch that app from different places within JupyterLab, how to style our app, and how to pass parameters to our app to modify its behavior. - -Prerequisits: -- Attendees should have some familiarity with Jupyter Notebooks and/or JupyterLab. +Have you ever wished for a feature in Jupyter Notebooks or JupyterLab that wasn't already there? Or perhaps you've found yourself doing complex or repetitive tasks and realized that you, and others, could benefit from integrating those tasks into JupyterLab? This is your chance to learn how to add that feature, or integrate that task, yourself. + +JupyterLab enables you to work with Jupyter notebooks, text editors, terminals, and custom components in a flexible, integrated, and extensible manner. + +This talk presents a practical tutorial about how to extend JupyterLab. We focus on understanding the underlying extension support infrastructure, as we walk through a step-by-step example of creating an app in JupyterLab. We will learn, among other things, how to launch that app from different places within JupyterLab, how to style our app, and how to pass parameters to our app to modify its behavior. + +Prerequisites: +- Attendees should have some familiarity with Jupyter Notebooks and/or JupyterLab. - Attendees must have solid experience with _any_ typical object-oriented programming language (i.e. a good understanding of classes, objects, and inheritance). diff --git a/src/content/sessions/9DSSHZ.mdx b/src/content/sessions/9DSSHZ.mdx index aba7d4722..0f70660e9 100644 --- a/src/content/sessions/9DSSHZ.mdx +++ b/src/content/sessions/9DSSHZ.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: caching-for-jupyter-notebooks speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Caching for Jupyter Notebooks track: 'PyData: Software Packages & Jupyter' @@ -22,19 +24,19 @@ tweet: 10X your workflow by caching your Jupyter Notebook outputs. Developers a website_url: https://ep2024.europython.eu/session/caching-for-jupyter-notebooks --- -Caching data and calculation results in jupyter notebooks is a great way to speed up development by making expensive cells easier to re-run. - -Data scientists and developers using notebooks on a daily basis, can improve their notebook workflow with low-effort changes in the notebook code, cut the time spent waiting and reduce context switches. - -This talk targets developers and data scientist of all experience levels and will cover: - -Why caching in notebooks? -Setting up the context in which developers and data scientists use notebooks for exploratory work and how caching is relevant in it. - -What is caching -Quick definition of caching, introducing the different types of persistence (in-memory, on disk, database, object storage …), cache invalidation strategies (parameters, code changes, ttl, …), with some cautionary comments about data security when caching protected data. - -Caching Techniques -Going through readily available options from the python standard library, and how to use them in notebooks. Introducing a few off-the-shelves options like ipython % magics, and cachetools. -Showcasing how one would build their own mini-caching framework, that fits for their specific use case, using pandas and spark for the example +Caching data and calculation results in jupyter notebooks is a great way to speed up development by making expensive cells easier to re-run. + +Data scientists and developers using notebooks on a daily basis, can improve their notebook workflow with low-effort changes in the notebook code, cut the time spent waiting and reduce context switches. + +This talk targets developers and data scientist of all experience levels and will cover: + +Why caching in notebooks? +Setting up the context in which developers and data scientists use notebooks for exploratory work and how caching is relevant in it. + +What is caching +Quick definition of caching, introducing the different types of persistence (in-memory, on disk, database, object storage …), cache invalidation strategies (parameters, code changes, ttl, …), with some cautionary comments about data security when caching protected data. + +Caching Techniques +Going through readily available options from the python standard library, and how to use them in notebooks. Introducing a few off-the-shelves options like ipython % magics, and cachetools. +Showcasing how one would build their own mini-caching framework, that fits for their specific use case, using pandas and spark for the example Explaining when to stop trying to cache, and keeping the caching framework mini, what are the signs that caching went overboard. diff --git a/src/content/sessions/9G8GWM.mdx b/src/content/sessions/9G8GWM.mdx index 2fa0c5e29..cf24de124 100644 --- a/src/content/sessions/9G8GWM.mdx +++ b/src/content/sessions/9G8GWM.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: is-it-me-or-python-memory-management speakers: @@ -15,6 +16,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Is it me or Python memory management? track: Python Internals & Ecosystem diff --git a/src/content/sessions/9VFEQE.mdx b/src/content/sessions/9VFEQE.mdx index 739c70675..7037daa7e 100644 --- a/src/content/sessions/9VFEQE.mdx +++ b/src/content/sessions/9VFEQE.mdx @@ -3,9 +3,10 @@ code: 9VFEQE delivery: in-person duration: '30' end: null -level: intermediate -next_talk_code: null -prev_talk_code: null +level: beginner +next_talk: null +prev_talk: null +resources: null room: null slug: async-await-mastering-python-s-time-bending-tricks speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Async Await: Mastering Python''s Time-Bending Tricks' track: Python Internals & Ecosystem @@ -21,4 +23,11 @@ tweet: '' website_url: https://ep2024.europython.eu/session/async-await-mastering-python-s-time-bending-tricks --- -async is cool +Unlock the secrets of Python's async and await—tools that let you bend time itself! +In this talk, we'll dive into the magic of asynchronous programming, making your code faster and more efficient. + +Learn to handle I/O-bound tasks like a pro, juggle multiple operations without breaking a sweat, and impress your peers with your newfound time-warping skills. +Perfect for those ready to level up from mere mortals to Python sorcerers. + +People of all levels of experience are welcome, only requirement is curiosity and enthusiasm :) +Join us, and let’s make time our playground! diff --git a/src/content/sessions/A3E3XE.mdx b/src/content/sessions/A3E3XE.mdx index 061eefc61..ef6a5c42f 100644 --- a/src/content/sessions/A3E3XE.mdx +++ b/src/content/sessions/A3E3XE.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '60' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: building-end-to-end-reliable-rag-applications speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Poster talks_after: null +talks_before: null talks_in_parallel: null title: Building End-to-End Reliable RAG Applications track: 'PyData: LLMs' @@ -21,5 +23,5 @@ tweet: '' website_url: https://ep2024.europython.eu/session/building-end-to-end-reliable-rag-applications --- -Retrieval-Augmented Generation (RAG) presents an excellent approach to overcoming the limitations associated with Large Language Models (LLMs), such as hallucinations or issues related to the recency of their training data. However, relying solely on RAG is insufficient, particularly when dealing with domain-specific data or verifying a response's adequacy. Neglecting these scenarios can cost time, money, and customer satisfaction. That’s why, as you develop an application, it's crucial to evaluate your retrieval process, improve it with advanced techniques if necessary, and consider all edge cases, including handling out-of-domain queries, and implement fallback mechanisms. Thus, you ensure that your system is both resilient and flexible. +Retrieval-Augmented Generation (RAG) presents an excellent approach to overcoming the limitations associated with Large Language Models (LLMs), such as hallucinations or issues related to the recency of their training data. However, relying solely on RAG is insufficient, particularly when dealing with domain-specific data or verifying a response's adequacy. Neglecting these scenarios can cost time, money, and customer satisfaction. That’s why, as you develop an application, it's crucial to evaluate your retrieval process, improve it with advanced techniques if necessary, and consider all edge cases, including handling out-of-domain queries, and implement fallback mechanisms. Thus, you ensure that your system is both resilient and flexible. This poster will explain some problems you may encounter in real life and which steps to take to build reliable and resilient RAG applications with the open source LLM framework Haystack that you can safely use in production diff --git a/src/content/sessions/A3EWQU.mdx b/src/content/sessions/A3EWQU.mdx index 5c4b41030..a63bbce09 100644 --- a/src/content/sessions/A3EWQU.mdx +++ b/src/content/sessions/A3EWQU.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: state-of-the-art-image-generation-for-the-masses-with-diffusers speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: State-of-the-art image generation for the masses with Diffusers track: 'PyData: Deep Learning, NLP, CV' diff --git a/src/content/sessions/A3QRK3.mdx b/src/content/sessions/A3QRK3.mdx index 1f2aa0de2..1c3da539d 100644 --- a/src/content/sessions/A3QRK3.mdx +++ b/src/content/sessions/A3QRK3.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: counting-down-for-cra-updates-and-expectations speakers: @@ -15,6 +16,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Counting down for CRA - updates and expectations track: Security @@ -22,14 +24,14 @@ tweet: '' website_url: https://ep2024.europython.eu/session/counting-down-for-cra-updates-and-expectations --- -The EU Commission is likely to vote on the Cyber Resilience Act (CRA) later this year. The CRA is an ambitious step towards protecting consumers from software security issues by creating a new list of responsibilities for software developers and providers. The Act also creates a new category of actor known as an “Open Source Steward” which we think makes important allowances for public open source repositories like CPython and Python Package Index (PyPI.) Once the dust settles, everyone who makes software will need to consider the CRA’s mandates in their security roadmaps. - -In this talk we will look at the timeline for the new legislation, any critical discussions happening around implementation and most importantly, the new responsibilities outlined by the CRA. We’ll also discuss what the PSF is doing for CPython and for PyPI and what each of us in the Python ecosystem might want to do to get ready for a new era of increased certainty – and liability – around security. - -## Target audience - -Developers and maintainers whose project or product may be affected by the CRA. European legislation won’t just affect the European market, it will affect the software industry and the open source community globally as it is very hard to segregate one project or product from the EU market. So, this is for everyone in the Python community who shares their code with the world. - -## Goal - +The EU Commission is likely to vote on the Cyber Resilience Act (CRA) later this year. The CRA is an ambitious step towards protecting consumers from software security issues by creating a new list of responsibilities for software developers and providers. The Act also creates a new category of actor known as an “Open Source Steward” which we think makes important allowances for public open source repositories like CPython and Python Package Index (PyPI.) Once the dust settles, everyone who makes software will need to consider the CRA’s mandates in their security roadmaps. + +In this talk we will look at the timeline for the new legislation, any critical discussions happening around implementation and most importantly, the new responsibilities outlined by the CRA. We’ll also discuss what the PSF is doing for CPython and for PyPI and what each of us in the Python ecosystem might want to do to get ready for a new era of increased certainty – and liability – around security. + +## Target audience + +Developers and maintainers whose project or product may be affected by the CRA. European legislation won’t just affect the European market, it will affect the software industry and the open source community globally as it is very hard to segregate one project or product from the EU market. So, this is for everyone in the Python community who shares their code with the world. + +## Goal + To educate the general public about CRA - how it can affect us and how to get ready for it. We also want to provide more information for the Python community about what has been done by the PSF regarding the CRA to reassure them that the Python community is aware and getting prepared for the CRA. diff --git a/src/content/sessions/ALVMH3.mdx b/src/content/sessions/ALVMH3.mdx index ebda3c989..ee471ddb9 100644 --- a/src/content/sessions/ALVMH3.mdx +++ b/src/content/sessions/ALVMH3.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: multimedia-processing-with-ffmpeg-and-python speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Multimedia processing with FFMpeg and Python track: Python Libraries & Tooling diff --git a/src/content/sessions/AVNAPX.mdx b/src/content/sessions/AVNAPX.mdx index cfd5236bf..d14818569 100644 --- a/src/content/sessions/AVNAPX.mdx +++ b/src/content/sessions/AVNAPX.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: parallelism-concurrency-and-asyncio-a-comprehensive-guide-for-beginners speakers: @@ -15,6 +16,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: 'Parallelism, Concurrency, and AsyncIO: A Comprehensive Guide for Beginners' track: Python Internals & Ecosystem @@ -22,6 +24,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/parallelism-concurrency-and-asyncio-a-comprehensive-guide-for-beginners --- -This tutorial is crafted for those new to the concepts of concurrent programming, offering a deep dive into the intricacies of parallelism and concurrency in Python. We will cover basic threading and multiprocessing to the advanced asynchronous I/O capabilities of AsyncIO. - +This tutorial is crafted for those new to the concepts of concurrent programming, offering a deep dive into the intricacies of parallelism and concurrency in Python. We will cover basic threading and multiprocessing to the advanced asynchronous I/O capabilities of AsyncIO. + Async IO is a concurrent programming design that has received dedicated support in Python; whereas the package in the Python standard library asyncio provides a foundation and API for running and managing coroutines. Whether you're handling I/O-bound or CPU-bound tasks, this tutorial will equip you with the knowledge to write efficient, robust, and high-performing Python applications. diff --git a/src/content/sessions/B8SZMM.mdx b/src/content/sessions/B8SZMM.mdx index 8282b4a66..7d8218c4a 100644 --- a/src/content/sessions/B8SZMM.mdx +++ b/src/content/sessions/B8SZMM.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: geopandas-1-0-and-beyond speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: GeoPandas 1.0 and beyond track: 'PyData: Software Packages & Jupyter' @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/geopandas-1-0-and-beyond --- -GeoPandas is one of the core packages in the Python ecosystem to work with geospatial vector data. By combining the power of several open source geo tools (GEOS/Shapely, GDAL/pyogrio, PROJ/pyproj) and extending the pandas data analysis library to work with geographic objects, it is designed to make working with geospatial data in Python easier. Recently, the development that started more than ten years ago resulted in version 1.0. - +GeoPandas is one of the core packages in the Python ecosystem to work with geospatial vector data. By combining the power of several open source geo tools (GEOS/Shapely, GDAL/pyogrio, PROJ/pyproj) and extending the pandas data analysis library to work with geographic objects, it is designed to make working with geospatial data in Python easier. Recently, the development that started more than ten years ago resulted in version 1.0. + This talk will give an overview of what is new in GeoPandas 1.0 and of recent developments in the broader ecosystem of packages on which GeoPandas depends, or that extend GeoPandas. We will highlight some changes and new features in GeoPandas 1.0, such as the new default IO based on pyogrio, closer integration of Shapely 2.0 leading to a range of new methods, and the removal of other geometry engines and consequences of that. We will look at the journey of the GeoPandas from its start at SciPy 2013 to the current 1.0 and discuss the plans moving forward, covering support of spherical geometries, native support for GeoArrow, and more. You will get a sense of what is coming in future, where to help the development and how to prepare your code for upcoming changes. diff --git a/src/content/sessions/BCCBHN.mdx b/src/content/sessions/BCCBHN.mdx index 758a470b6..723ffd80f 100644 --- a/src/content/sessions/BCCBHN.mdx +++ b/src/content/sessions/BCCBHN.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: learn-python-by-making-a-console-game speakers: @@ -15,6 +16,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: Learn Python by Making a Console Game track: Education, Community & Diversity diff --git a/src/content/sessions/BR9ZLW.mdx b/src/content/sessions/BR9ZLW.mdx deleted file mode 100644 index 46a84bf1c..000000000 --- a/src/content/sessions/BR9ZLW.mdx +++ /dev/null @@ -1,28 +0,0 @@ ---- -code: BR9ZLW -delivery: in-person -duration: '30' -end: null -level: beginner -next_talk_code: null -prev_talk_code: null -room: null -slug: automating-kubernetes-with-python-a-symphony-of-simplicity -speakers: -- tushar-jayant -start: null -state: confirmed -submission_type: Talk -talks_after: null -talks_in_parallel: null -title: 'Automating Kubernetes with Python: A Symphony of Simplicity' -track: DevOps and Infrastructure (Cloud & Hardware) -tweet: '' -website_url: https://ep2024.europython.eu/session/automating-kubernetes-with-python-a-symphony-of-simplicity ---- - -In this session, we'll explore the dynamic synergy between Kubernetes and Python, providing a beginner-friendly guide for developers looking to dive into container orchestration. Say goodbye to complexity as we focus on practical details, demonstrating how Python can be a powerful ally in managing Kubernetes clusters. - -Aspiring Kubernetes enthusiasts will gain insights into leveraging Python for tasks such as cluster configuration, application deployment and resource management. - -This presentation serves as a comprehensive introduction for beginners, equipping them with the essential skills to navigate and harness the capabilities of Kubernetes using the Python programming language. From setting up your first cluster to deploying applications seamlessly, join us for a hands-on exploration of Kubernetes with Python. diff --git a/src/content/sessions/BUH9SD.mdx b/src/content/sessions/BUH9SD.mdx index 39ac7a70f..e99a5b6e4 100644 --- a/src/content/sessions/BUH9SD.mdx +++ b/src/content/sessions/BUH9SD.mdx @@ -4,22 +4,24 @@ delivery: in-person duration: '60' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null -slug: udjango-2-0-an-asynchronous-microservices-technique +slug: mdjango-2-0-an-asynchronous-microservices-technique speakers: - maxim-danilov start: null state: confirmed submission_type: Poster talks_after: null +talks_before: null talks_in_parallel: null title: "\xB5Django 2.0, an asynchronous microservices technique." track: Web technologies tweet: Django - the new trend in creating asynchronous Python microservices or the oldest one. -website_url: https://ep2024.europython.eu/session/udjango-2-0-an-asynchronous-microservices-technique +website_url: https://ep2024.europython.eu/session/mdjango-2-0-an-asynchronous-microservices-technique --- A standard Django project involves working with multiple files and folders from the start. Let's see how the work with a Django project changes itself when we have only one file in project. This solution automatically transforms Django into a microservice-oriented async framework with "batteries included” philosophy. diff --git a/src/content/sessions/BUT9E7.mdx b/src/content/sessions/BUT9E7.mdx index 53419373c..858589158 100644 --- a/src/content/sessions/BUT9E7.mdx +++ b/src/content/sessions/BUT9E7.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: fastui-panacea-or-pipe-dream speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: FastUI - panacea or pipe dream? track: Web technologies @@ -23,20 +25,20 @@ tweet: FastUI - panacea or pipe dream? Are web interfaces defined in Python a ge website_url: https://ep2024.europython.eu/session/fastui-panacea-or-pipe-dream --- -Are web interfaces defined in Python a genius idea, a complete folly, or (like most technologies) a good fit for some use cases but not all? - -I'll give a brief tour of packages that let you build web interfaces by writing only Python, including Streamlit, Gradio, NiceGUI, reflex, Solara, dominate, ReactPy and FastUI (recently released by the Pydantic team). - -The main three questions I'll be asking are: - -1. Is building a web UI in Python really a good idea at all? -2. What fundamental trade-offs are required to make such a tool successful? -3. If someone can answer point 1 and 2, when's the right time to use these tools? - -Over the last couple of years, lots of different libraries have emerged to let you develop web interfaces without getting your hands dirty with HTML, CSS, the JS ecosystem; but so far none have got as popular as "traditional" template rendering (Jinja, Django) or modern SPA frameworks like React. - -So are we at the dawn of a new way era — and one of these frameworks will become ubiquitous. Or is the whole idea that you can build such an interface without engaging with the fundamental technologies that power them mistaken? - -One important question is "what kind of interface are we aiming at?" If we are trying to give complete control over the browser, allowing Python developers to do everything raw JavaScript can do; our solution will look very different to something that is "just" trying to allow Python developers to plug common components together to build 80% of UIs with 20% of the effort. - +Are web interfaces defined in Python a genius idea, a complete folly, or (like most technologies) a good fit for some use cases but not all? + +I'll give a brief tour of packages that let you build web interfaces by writing only Python, including Streamlit, Gradio, NiceGUI, reflex, Solara, dominate, ReactPy and FastUI (recently released by the Pydantic team). + +The main three questions I'll be asking are: + +1. Is building a web UI in Python really a good idea at all? +2. What fundamental trade-offs are required to make such a tool successful? +3. If someone can answer point 1 and 2, when's the right time to use these tools? + +Over the last couple of years, lots of different libraries have emerged to let you develop web interfaces without getting your hands dirty with HTML, CSS, the JS ecosystem; but so far none have got as popular as "traditional" template rendering (Jinja, Django) or modern SPA frameworks like React. + +So are we at the dawn of a new way era — and one of these frameworks will become ubiquitous. Or is the whole idea that you can build such an interface without engaging with the fundamental technologies that power them mistaken? + +One important question is "what kind of interface are we aiming at?" If we are trying to give complete control over the browser, allowing Python developers to do everything raw JavaScript can do; our solution will look very different to something that is "just" trying to allow Python developers to plug common components together to build 80% of UIs with 20% of the effort. + Looking at the question through this lens will help explain the design choices of the above libraries, and might even allow us to guess at which approaches will be most diff --git a/src/content/sessions/C9KSKY.mdx b/src/content/sessions/C9KSKY.mdx index 37c611cea..8536e2764 100644 --- a/src/content/sessions/C9KSKY.mdx +++ b/src/content/sessions/C9KSKY.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: how-to-sell-a-big-refactor-or-rewrite-to-the-business speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: How to sell a big refactor or rewrite to the business? track: Software Engineering & Architecture @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/how-to-sell-a-big-refactor-or-rewrite-to-the-business --- -In the world of software development, dealing with legacy code is often a necessary evil, especially for successful, fast-growing companies. The design stamina hypothesis suggests that legacy code is a sign of success, not failure. But how do we tackle this challenge smartly? This talk delves into the often-misunderstood realm of large-scale refactoring and rewrites, presenting a nuanced approach that contrasts with the traditional 'never rewrite' dogma. - +In the world of software development, dealing with legacy code is often a necessary evil, especially for successful, fast-growing companies. The design stamina hypothesis suggests that legacy code is a sign of success, not failure. But how do we tackle this challenge smartly? This talk delves into the often-misunderstood realm of large-scale refactoring and rewrites, presenting a nuanced approach that contrasts with the traditional 'never rewrite' dogma. + We'll delve into real-world case studies where companies have successfully navigated their technical debt, uncovering crucial insights. Specifically, we will identify two key properties of these successful rewrites that can make or break your efforts. Understanding these properties enables us to strategically manage technical debt without losing our competitive edge. This session is not just a theoretical discussion but a practical guide, concluding with a decision-making quadrant to help determine the most effective approach for your team's refactor or rewrite projects. Whether you're leading a team through growth or coaching developers on best practices, this talk will equip you with a deeper understanding and actionable insights into one of the most critical aspects of software development. diff --git a/src/content/sessions/CCZPAF.mdx b/src/content/sessions/CCZPAF.mdx index 4c21baaf2..8547aab99 100644 --- a/src/content/sessions/CCZPAF.mdx +++ b/src/content/sessions/CCZPAF.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: adventures-in-not-writing-tests speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Adventures in not writing tests track: Software Engineering & Architecture @@ -21,8 +23,8 @@ tweet: '' website_url: https://ep2024.europython.eu/session/adventures-in-not-writing-tests --- -Sometimes we write code that we don't expect to go to production; they are one-offs or analysis to understand our data. However, a good analysis may be worth repeating, and before we know it, the code that was never supposed to go to production is running every day and driving critical decisions – it is in production. Once our code is in production, we have to maintain it, and that means we need tests to ensure that changes made to the code while maintaining it do not change other behavior. - -Hypothesis is a Python library for creating inputs that are good for exercising code. Hypothesis tests create many different inputs for a single test case, with a special concentration on inputs that are likely to break your code. If the code was originally written to understand data, then new data we feed it over time could be very different from what was initially expected or planned for. With Hypothesis, we randomize our test outputs and they become just as unknown as our real-world outputs. Our tests then confirm certain properties to prove that the analysis was performed as expected. - +Sometimes we write code that we don't expect to go to production; they are one-offs or analysis to understand our data. However, a good analysis may be worth repeating, and before we know it, the code that was never supposed to go to production is running every day and driving critical decisions – it is in production. Once our code is in production, we have to maintain it, and that means we need tests to ensure that changes made to the code while maintaining it do not change other behavior. + +Hypothesis is a Python library for creating inputs that are good for exercising code. Hypothesis tests create many different inputs for a single test case, with a special concentration on inputs that are likely to break your code. If the code was originally written to understand data, then new data we feed it over time could be very different from what was initially expected or planned for. With Hypothesis, we randomize our test outputs and they become just as unknown as our real-world outputs. Our tests then confirm certain properties to prove that the analysis was performed as expected. + Ghostwriting is a feature of Hypothesis that writes tests based on the type hints in your code. This can not only save time, but also validate our type hints. The savings in time and toil can be significant, but the ghostwritten tests do also need some additions to truly test our code. We'll look at what is needed to both generate proper inputs and check our outputs. diff --git a/src/content/sessions/CEW8S9.mdx b/src/content/sessions/CEW8S9.mdx index 76291e28d..757ebdd1b 100644 --- a/src/content/sessions/CEW8S9.mdx +++ b/src/content/sessions/CEW8S9.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: nothing-for-us-without-us-breaking-unconscious-bias-in-building-products speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Nothing for Us, Without Us; Breaking Unconscious Bias in Building Products track: Education, Community & Diversity @@ -23,12 +25,12 @@ tweet: 'Are our products truly inclusive? Unconscious bias often taints well-int website_url: https://ep2024.europython.eu/session/nothing-for-us-without-us-breaking-unconscious-bias-in-building-products --- -Are we really building products that serve everyone, or just a selected few? - -As developers, we have responsibility to ensure that our products serve everyone, regardless of their background or identity. However, our unconscious bias often creeps into even the most well-intentioned projects and impacts the way we develop products or engage with communities, leading to unintentional exclusions. - -When I first designed a Speech-Text-Analytic app, my focus was to simplify business communication with transcribed audio and valuable insights. However, feedback from the community highlighted it had limitations for diverse users, including those with disabilities who faced inaccurate captions for audio content. - -This wake-up call prompted me to improve accessibility and user-friendliness for marginalized groups. And for the same reason, I'm making proactive steps to cater for the marginalized by integrating a feature that recognizes Nigerian native languages. - +Are we really building products that serve everyone, or just a selected few? + +As developers, we have responsibility to ensure that our products serve everyone, regardless of their background or identity. However, our unconscious bias often creeps into even the most well-intentioned projects and impacts the way we develop products or engage with communities, leading to unintentional exclusions. + +When I first designed a Speech-Text-Analytic app, my focus was to simplify business communication with transcribed audio and valuable insights. However, feedback from the community highlighted it had limitations for diverse users, including those with disabilities who faced inaccurate captions for audio content. + +This wake-up call prompted me to improve accessibility and user-friendliness for marginalized groups. And for the same reason, I'm making proactive steps to cater for the marginalized by integrating a feature that recognizes Nigerian native languages. + As tech creators, we have the power to create change, but good intentions alone are not enough. This talk will offer strategies to address unconscious bias in product and community building, while avoiding common pitfalls. Attendees will learn to understand diverse needs & experiences for more inclusive environments. diff --git a/src/content/sessions/CL3NZ9.mdx b/src/content/sessions/CL3NZ9.mdx index e93d1b4f6..ed882731e 100644 --- a/src/content/sessions/CL3NZ9.mdx +++ b/src/content/sessions/CL3NZ9.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: data-analysis-the-polars-way speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: Data Analysis, the Polars Way track: 'PyData: Software Packages & Jupyter' @@ -21,19 +23,19 @@ tweet: '' website_url: https://ep2024.europython.eu/session/data-analysis-the-polars-way --- -When you take interesting data from public sources, when you install a highly efficient Python library for data analysis (polars), and you start asking fundamental questions, what can possibly go wrong? - -In this course, we will grab public data about the countries of the world and while playing with them, we will explore (a small subset of) what the polars library has to offer. While traditionally the first steps into data analysis are taken with pandas (a true hero in the Python data world), polars is a fresh newcomer that boasts high efficiency and clearly designed API - so why not start with it? - -You will learn how to: - -- load, manipulate and clean your data; -- gather insights using grouping, aggregation and joining data from various sources; -- understand and present you data visually. - -You should possess: - -- a modest knowledge of Python (functions, basic containers) -- some familiarity with Jupyter (or some other) notebooks (recommended) -- optionally some knowledge of pandas (not required at all) +When you take interesting data from public sources, when you install a highly efficient Python library for data analysis (polars), and you start asking fundamental questions, what can possibly go wrong? + +In this course, we will grab public data about the countries of the world and while playing with them, we will explore (a small subset of) what the polars library has to offer. While traditionally the first steps into data analysis are taken with pandas (a true hero in the Python data world), polars is a fresh newcomer that boasts high efficiency and clearly designed API - so why not start with it? + +You will learn how to: + +- load, manipulate and clean your data; +- gather insights using grouping, aggregation and joining data from various sources; +- understand and present you data visually. + +You should possess: + +- a modest knowledge of Python (functions, basic containers) +- some familiarity with Jupyter (or some other) notebooks (recommended) +- optionally some knowledge of pandas (not required at all) - a computer with a pre-installed virtual environment diff --git a/src/content/sessions/CMETS8.mdx b/src/content/sessions/CMETS8.mdx index f01aae6fd..592035b50 100644 --- a/src/content/sessions/CMETS8.mdx +++ b/src/content/sessions/CMETS8.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: don-t-fix-bad-data-do-this-instead speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Don't fix bad data, do this instead track: 'PyData: Data Engineering' @@ -21,18 +23,18 @@ tweet: '' website_url: https://ep2024.europython.eu/session/don-t-fix-bad-data-do-this-instead --- -In a time where GenAI is quickly growing in popularity, along with prescriptive analytics and online ML models, the question is raised whether we still need to care about data quality? We strongly believe that the answer is yes, and even more so than before! - -Our expectations of data are high, and this often leads to frustrations when reality does not meet these expectations. - -In the pursuit of data quality, expectations must be grounded in reality. It is often the case that a gap exists between anticipated outcomes and the actual data reality, which leads to frustration and mistrust. - -This talk delves into pragmatic strategies that can be employed to bridge this gap. The talk will discuss both the technical (hard) and cultural (soft) measures implemented to uphold these standards. - -Key Takeaways: -1. Integration tests serve as a proactive barrier, preempting the violation of data contracts, unlike reactive data quality checks. -2. Prioritisation is crucial; a product-centric mindset is key when evaluating the balance between resource investment and potential gain. -3. Data quality management is requiring both hard and soft measures - - +In a time where GenAI is quickly growing in popularity, along with prescriptive analytics and online ML models, the question is raised whether we still need to care about data quality? We strongly believe that the answer is yes, and even more so than before! + +Our expectations of data are high, and this often leads to frustrations when reality does not meet these expectations. + +In the pursuit of data quality, expectations must be grounded in reality. It is often the case that a gap exists between anticipated outcomes and the actual data reality, which leads to frustration and mistrust. + +This talk delves into pragmatic strategies that can be employed to bridge this gap. The talk will discuss both the technical (hard) and cultural (soft) measures implemented to uphold these standards. + +Key Takeaways: +1. Integration tests serve as a proactive barrier, preempting the violation of data contracts, unlike reactive data quality checks. +2. Prioritisation is crucial; a product-centric mindset is key when evaluating the balance between resource investment and potential gain. +3. Data quality management is requiring both hard and soft measures + + Are you a data scientist, software engineer, product manager, or data engineer? Join us in this discussion; data quality concerns us all. diff --git a/src/content/sessions/CVXAB7.mdx b/src/content/sessions/CVXAB7.mdx index 0f5b9d639..997f01145 100644 --- a/src/content/sessions/CVXAB7.mdx +++ b/src/content/sessions/CVXAB7.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: enhancing-decorators-with-type-annotations-techniques-and-best-practices speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Enhancing Decorators with Type Annotations: Techniques and Best Practices' track: Python Internals & Ecosystem @@ -21,10 +23,10 @@ tweet: '' website_url: https://ep2024.europython.eu/session/enhancing-decorators-with-type-annotations-techniques-and-best-practices --- -Decorators are powerful, magical syntax sugar, offering a convenient way to wrap and enhance functions. But sometimes, it's not clear how to use a defined decorator. - -What arguments should we pass to a given decorator? What functions does it target? Does it change the return type of the wrapped function? Have you ever faced these questions? - -If proper type hints are defined for decorators, static type checkers like mypy and pyright IDEs will point out the errors in usage. Thus, guiding you on the right path by catching bugs earlier, reducing unnecessary debugging and unexpected runtime behaviour. - +Decorators are powerful, magical syntax sugar, offering a convenient way to wrap and enhance functions. But sometimes, it's not clear how to use a defined decorator. + +What arguments should we pass to a given decorator? What functions does it target? Does it change the return type of the wrapped function? Have you ever faced these questions? + +If proper type hints are defined for decorators, static type checkers like mypy and pyright IDEs will point out the errors in usage. Thus, guiding you on the right path by catching bugs earlier, reducing unnecessary debugging and unexpected runtime behaviour. + This talk will step you through type definitions utilizing `typing.TypeVarTuple`, `typing.Protocol`, `typing.ParamSpec`, `typing.Concatenate`, `Type Parameter Syntax`, and more, all of which are practical to implement and can make your project robust! diff --git a/src/content/sessions/CWDS3S.mdx b/src/content/sessions/CWDS3S.mdx new file mode 100644 index 000000000..302ef5c69 --- /dev/null +++ b/src/content/sessions/CWDS3S.mdx @@ -0,0 +1,25 @@ +--- +code: CWDS3S +delivery: in-person +duration: '30' +end: null +level: beginner +next_talk: null +prev_talk: null +resources: null +room: null +slug: lightening-talks-friday +speakers: [] +start: null +state: confirmed +submission_type: Talk +talks_after: null +talks_before: null +talks_in_parallel: null +title: Lightening talks Friday +track: null +tweet: '' +website_url: https://ep2024.europython.eu/session/lightening-talks-friday +--- + +Enjoy Fridays lightning talks. Short talks about everything by everyone. Hosted by your friendly EuroPython volunteer. diff --git a/src/content/sessions/CXLQLX.mdx b/src/content/sessions/CXLQLX.mdx index 931dba4b1..d1206a165 100644 --- a/src/content/sessions/CXLQLX.mdx +++ b/src/content/sessions/CXLQLX.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: migrating-a-web-application-from-flask-to-fastapi-avoiding-pitfalls speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: 'Migrating a Web Application from Flask to FastAPI: Avoiding Pitfalls' track: Web technologies @@ -22,10 +24,10 @@ tweet: Learn the differences between Flask and FastAPI by migrating a Flask web website_url: https://ep2024.europython.eu/session/migrating-a-web-application-from-flask-to-fastapi-avoiding-pitfalls --- -Have you ever had to migrate code from one stack to another? Migrating stacks on an application can be a daunting task. The secret is to keep changes to a small size and watch out for blind copy-and-paste. - -Join me in this tutorial to learn the key differences between FastAPI and Flask plus how these differences will affect your stack migration. - -Learn by doing it: migrate a simple Flask application to FastAPI. Learn how templates work in each framework, how you can use routers to create more complex applications in both Flask and FastAPI, and finally some tips if you are considering migrating from one to the other and vice-versa. - +Have you ever had to migrate code from one stack to another? Migrating stacks on an application can be a daunting task. The secret is to keep changes to a small size and watch out for blind copy-and-paste. + +Join me in this tutorial to learn the key differences between FastAPI and Flask plus how these differences will affect your stack migration. + +Learn by doing it: migrate a simple Flask application to FastAPI. Learn how templates work in each framework, how you can use routers to create more complex applications in both Flask and FastAPI, and finally some tips if you are considering migrating from one to the other and vice-versa. + After this tutorial, you will feel confident to start your stack migrations between these two frameworks. diff --git a/src/content/sessions/DEQKEY.mdx b/src/content/sessions/DEQKEY.mdx index 5afa7ccdf..e6d5689a9 100644 --- a/src/content/sessions/DEQKEY.mdx +++ b/src/content/sessions/DEQKEY.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: move-the-python-ecosystem-to-the-stable-abi speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Move the Python ecosystem to the stable ABI track: Python Internals & Ecosystem diff --git a/src/content/sessions/DMV8BL.mdx b/src/content/sessions/DMV8BL.mdx index 9d1b074f2..f0ad0cc16 100644 --- a/src/content/sessions/DMV8BL.mdx +++ b/src/content/sessions/DMV8BL.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: profile-optimize-repeat-one-core-is-all-you-needtm speakers: @@ -15,6 +16,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: "Profile, Optimize, Repeat: One Core Is All You Need\u2122" track: 'PyData: Data Engineering' @@ -23,10 +25,10 @@ tweet: "Profile, optimize, repeat, one core is all you need\u2122! Discover hand website_url: https://ep2024.europython.eu/session/profile-optimize-repeat-one-core-is-all-you-needtm --- -Your data analysis pipeline works. Nice! -Could it be faster? Probably. -Do you need to parallelize? Not yet. - -Discover optimization steps that boost the performance of your data analysis pipeline on a single core, reducing time & costs. - +Your data analysis pipeline works. Nice! +Could it be faster? Probably. +Do you need to parallelize? Not yet. + +Discover optimization steps that boost the performance of your data analysis pipeline on a single core, reducing time & costs. + This walkthrough shows tools to identify bottlenecks via profiling, and strategies to mitigate those, demonstrating them in an example. To improve our memory and runtime performance we will use numpy, numba jit-ing and pybind11 extensions. diff --git a/src/content/sessions/DNYFYG.mdx b/src/content/sessions/DNYFYG.mdx index 381e0de68..6a15e9bdf 100644 --- a/src/content/sessions/DNYFYG.mdx +++ b/src/content/sessions/DNYFYG.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: fine-tuning-large-models-on-local-hardware speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Fine-tuning large models on local hardware track: 'PyData: LLMs' @@ -21,10 +23,10 @@ tweet: '' website_url: https://ep2024.europython.eu/session/fine-tuning-large-models-on-local-hardware --- -Fine-tuning big neural nets like Large Language Models (LLMs) has traditionally been prohibitive due to high hardware requirements. However, Parameter-Efficient Fine-Tuning (PEFT) and quantization enable the training of large models on modest hardware. Thanks to the PEFT library and the Hugging Face ecosystem, these techniques are now accessible to a broad audience. - -Expect to learn: - -- what the challenges are of fine-tuning large models -- what solutions have been proposed and how they work +Fine-tuning big neural nets like Large Language Models (LLMs) has traditionally been prohibitive due to high hardware requirements. However, Parameter-Efficient Fine-Tuning (PEFT) and quantization enable the training of large models on modest hardware. Thanks to the PEFT library and the Hugging Face ecosystem, these techniques are now accessible to a broad audience. + +Expect to learn: + +- what the challenges are of fine-tuning large models +- what solutions have been proposed and how they work - practical examples of applying the PEFT library diff --git a/src/content/sessions/DU7PRD.mdx b/src/content/sessions/DU7PRD.mdx new file mode 100644 index 000000000..7972959cc --- /dev/null +++ b/src/content/sessions/DU7PRD.mdx @@ -0,0 +1,25 @@ +--- +code: DU7PRD +delivery: in-person +duration: '45' +end: null +level: beginner +next_talk: null +prev_talk: null +resources: null +room: null +slug: keynote-placeholder +speakers: [] +start: null +state: confirmed +submission_type: Keynote +talks_after: null +talks_before: null +talks_in_parallel: null +title: Keynote Placeholder +track: null +tweet: '' +website_url: https://ep2024.europython.eu/session/keynote-placeholder +--- + +This will soon be updated with the information related to the keynote that will be host in this time slot. diff --git a/src/content/sessions/EN98JL.mdx b/src/content/sessions/EN98JL.mdx index 2c803944b..fa8bb0382 100644 --- a/src/content/sessions/EN98JL.mdx +++ b/src/content/sessions/EN98JL.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: python-on-the-rocks-crafting-a-smooth-blend-with-rocksdb speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Python on the Rocks: Crafting a Smooth Blend with RocksDB' track: Software Engineering & Architecture diff --git a/src/content/sessions/FLJFEG.mdx b/src/content/sessions/FLJFEG.mdx index e16927ee7..3998c7a7c 100644 --- a/src/content/sessions/FLJFEG.mdx +++ b/src/content/sessions/FLJFEG.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: syft-data-science-in-python-with-privacy-guarantees speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Syft: Data Science in Python with privacy guarantees' track: 'PyData: Machine Learning, Stats' @@ -23,9 +25,9 @@ tweet: Privacy guarantees is an essential requirement for ethical data science, website_url: https://ep2024.europython.eu/session/syft-data-science-in-python-with-privacy-guarantees --- -In today's data-driven world, privacy stands as an essential requirements for the ethical and effective practice of data science. Moreover, the implementation of robust privacy guarantees in data analysis not only protects sensitive information, but also unlocks the potential for unprecedented democratisation of models and datasets. - -[Syft](https://github.com/OpenMined/PySyft) is an open source stack that provides **secure** and **private** Data Science in Python. `Syft` decouples private data from model training, using techniques like [Federated Learning](https://blog.research.google/2017/04/federated-learning-collaborative.html), and [Encrypted Computation](https://en.wikipedia.org/wiki/Homomorphic_encryption). -Moreover, Syft provides a numpy-like interface to integrate with deep learning frameworks so that it is easier to replicate any existing workflows while using privacy-enhancing techniques. - +In today's data-driven world, privacy stands as an essential requirements for the ethical and effective practice of data science. Moreover, the implementation of robust privacy guarantees in data analysis not only protects sensitive information, but also unlocks the potential for unprecedented democratisation of models and datasets. + +[Syft](https://github.com/OpenMined/PySyft) is an open source stack that provides **secure** and **private** Data Science in Python. `Syft` decouples private data from model training, using techniques like [Federated Learning](https://blog.research.google/2017/04/federated-learning-collaborative.html), and [Encrypted Computation](https://en.wikipedia.org/wiki/Homomorphic_encryption). +Moreover, Syft provides a numpy-like interface to integrate with deep learning frameworks so that it is easier to replicate any existing workflows while using privacy-enhancing techniques. + In the first part of my talk I will introduce PETs (Privacy Enhancing Technologies), and discuss OpenMined mission to democratise access to AI models and datasets. Afterwards, I will demonstrate how `PySyft` works, and how it can be used to run a machine learning experiments, with privacy guarantees. diff --git a/src/content/sessions/FYHQUE.mdx b/src/content/sessions/FYHQUE.mdx index 664c54127..58d6d55b4 100644 --- a/src/content/sessions/FYHQUE.mdx +++ b/src/content/sessions/FYHQUE.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: taming-one-quadrillion-data-points-with-apache-iceberg-and-parquet speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Taming One Quadrillion Data Points with Apache Iceberg and Parquet track: 'PyData: Data Engineering' @@ -23,10 +25,10 @@ tweet: "Join @TechAtBloomberg's Gowthami Bhogireddy at #EuroPython2024 to learn website_url: https://ep2024.europython.eu/session/taming-one-quadrillion-data-points-with-apache-iceberg-and-parquet --- -Bloomberg is a leading provider of financial data, with financial data spanning multiple decades. Handling and organizing these huge datasets can be challenging, with typical concerns including sluggish query performance, high storage costs, and data consistency problems. - -This talk will describe how Apache Iceberg and Parquet are the dynamic duo of big data management, offering ACID transactions, time travel, and columnar storage capabilities that enable lightning-fast query performance and seamless schema evolution for even our largest workloads. - -The session will introduce Apache Iceberg, an open-source table format that enables incremental updates, versioning, and schema evolution. The discussion will then focus on Parquet files, which store data in a compressed and columnar format to enhance query performance and lower storage costs. Finally, the session will outline how our Enterprise Data Lake Applications engineering team has harnessed the capabilities of Apache Iceberg (especially PyIceberg) to revolutionize our data management and analytical processing workflows. - +Bloomberg is a leading provider of financial data, with financial data spanning multiple decades. Handling and organizing these huge datasets can be challenging, with typical concerns including sluggish query performance, high storage costs, and data consistency problems. + +This talk will describe how Apache Iceberg and Parquet are the dynamic duo of big data management, offering ACID transactions, time travel, and columnar storage capabilities that enable lightning-fast query performance and seamless schema evolution for even our largest workloads. + +The session will introduce Apache Iceberg, an open-source table format that enables incremental updates, versioning, and schema evolution. The discussion will then focus on Parquet files, which store data in a compressed and columnar format to enhance query performance and lower storage costs. Finally, the session will outline how our Enterprise Data Lake Applications engineering team has harnessed the capabilities of Apache Iceberg (especially PyIceberg) to revolutionize our data management and analytical processing workflows. + Attendees will be able to apply the best practices discussed in the talk to build better infrastructure for their growing data demands and spur innovation within their organization. diff --git a/src/content/sessions/G3PHLZ.mdx b/src/content/sessions/G3PHLZ.mdx index bc65fd015..2ec71459f 100644 --- a/src/content/sessions/G3PHLZ.mdx +++ b/src/content/sessions/G3PHLZ.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: demystify-python-types-for-pep-729 speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: Demystify Python Types for PEP 729 track: Python Internals & Ecosystem @@ -23,6 +25,6 @@ tweet: Have you heard about PEP 729 which proposes a new way to govern the Pytho website_url: https://ep2024.europython.eu/session/demystify-python-types-for-pep-729 --- -[PEP 729 – Typing governance process](https://peps.python.org/pep-0729/) proposes a new way to govern the Python type system. The PEP was endorsed by maintainers of all major type checkers. This talk aims to guide audience to understand the reason more deeply of this new process after demystifying Python types. - +[PEP 729 – Typing governance process](https://peps.python.org/pep-0729/) proposes a new way to govern the Python type system. The PEP was endorsed by maintainers of all major type checkers. This talk aims to guide audience to understand the reason more deeply of this new process after demystifying Python types. + In this talk, the speaker will demystify python types from their theory to practice along with Python type systems. The theory includes the type theory by [Per Martin-Löf](https://en.wikipedia.org/wiki/Per_Martin-L%C3%B6f)'s and [gradual typing by Jeremy Siek](http://scheme2006.cs.uchicago.edu/13-siek.pdf), all theories will be explained with the Python code in the real world. The type systems targets all major type checkers and CPython. The comparison will be based on the research: [Python 3 Types in the Wild: A Tale of Two Type Systems](https://www.cs.rpi.edu/~milanova/docs/dls2020.pdf). The practice covers how a new specifications is done in type systems. In addition, the speaker will share their thoughts about the challenges behind the implementation, and connect the answer to the reason of the PEP 729. diff --git a/src/content/sessions/GGWUNA.mdx b/src/content/sessions/GGWUNA.mdx new file mode 100644 index 000000000..8278ef111 --- /dev/null +++ b/src/content/sessions/GGWUNA.mdx @@ -0,0 +1,33 @@ +--- +code: GGWUNA +delivery: in-person +duration: '30' +end: null +level: beginner +next_talk: null +prev_talk: null +resources: null +room: null +slug: its-happening-tuf-joins-pypi-warehouse +speakers: +- kairo-de-araujo +- lukas-puhringer +start: null +state: confirmed +submission_type: Talk +talks_after: null +talks_before: null +talks_in_parallel: null +title: "It\u2019s happening: TUF joins PyPI (Warehouse)" +track: Security +tweet: '' +website_url: https://ep2024.europython.eu/session/its-happening-tuf-joins-pypi-warehouse +--- + +The Update Framework (TUF) has been a prime reference for secure package delivery and updates for many years. Despite its popularity, integrating with existing package managers remains challenging. + +PEP 458 is a very good example of some of the related challenges. Authored a decade ago, it aims to protect the freshness, consistency, and integrity of packages in the Python Packaging Index (PyPI) and provide compromise resilience. Even though these goals remain largely unaddressed, PEP 458 has not made its way into production yet! + +With Repository Service For TUF (RSTUF), a new tool has emerged, which makes implementing and maintaining a TUF-powered package repository a black box to the repository maintainers and which has become mature enough to kick off an incremental integration in Warehouse and RubyGems. + +In this talk, Kairo, RSTUF's tech lead, and Lukas, TUF project maintainer, will show how RSTUF has evolved and allowed us to take a big leap towards adopting TUF in Warehouse and elsewhere. Primers on TUF, PEP 458, and Warehouse will be included. diff --git a/src/content/sessions/GHYHAE.mdx b/src/content/sessions/GHYHAE.mdx index 14760800a..248f2cc15 100644 --- a/src/content/sessions/GHYHAE.mdx +++ b/src/content/sessions/GHYHAE.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: from-text-to-context-how-we-introduced-a-modern-hybrid-search speakers: @@ -15,6 +16,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: 'From Text to Context: How We Introduced a Modern Hybrid Search' track: 'PyData: Deep Learning, NLP, CV' @@ -22,15 +24,15 @@ tweet: '' website_url: https://ep2024.europython.eu/session/from-text-to-context-how-we-introduced-a-modern-hybrid-search --- -Customers only buy the products they are able to find. Improving the search functions on the website is crucial for user-friendliness. - -In our talk we present the lessons learnt from improving the search of our global online marketplace, which sells 20 million products per year. We moved from a traditional word-match based approach (BM25) to a modern hybrid solution that combines BM25 with a semantic vector model, an open-source language model that we fine-tuned to our domain. - -With numerous references to current literature, we will explain how we designed our new system and solved the multiple challenges we encountered on both the ML and engineering side (data pipeline encoding documents, live service encoding queries, integration with search engine). Our system is based on OpenSearch, the lessons can be applied to other search engines as well. - -In particular the presentation will cover: -- Status and Short-Comings of our old Search -- Introduction of Hybrid Search -- Our Machine Learning Solution -- Architecture and Implementation (with special consideration of latency) +Customers only buy the products they are able to find. Improving the search functions on the website is crucial for user-friendliness. + +In our talk we present the lessons learnt from improving the search of our global online marketplace, which sells 20 million products per year. We moved from a traditional word-match based approach (BM25) to a modern hybrid solution that combines BM25 with a semantic vector model, an open-source language model that we fine-tuned to our domain. + +With numerous references to current literature, we will explain how we designed our new system and solved the multiple challenges we encountered on both the ML and engineering side (data pipeline encoding documents, live service encoding queries, integration with search engine). Our system is based on OpenSearch, the lessons can be applied to other search engines as well. + +In particular the presentation will cover: +- Status and Short-Comings of our old Search +- Introduction of Hybrid Search +- Our Machine Learning Solution +- Architecture and Implementation (with special consideration of latency) - Learnings and Next Steps diff --git a/src/content/sessions/GVKEAK.mdx b/src/content/sessions/GVKEAK.mdx index 411a5ea37..3874ad060 100644 --- a/src/content/sessions/GVKEAK.mdx +++ b/src/content/sessions/GVKEAK.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: dfd-documentation-first-development-with-fastapi speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: DFD(Documentation-First Development) with FastAPI track: Web technologies @@ -22,8 +24,8 @@ tweet: DFD(Documentation-first development) with FastAPI based on source codes t website_url: https://ep2024.europython.eu/session/dfd-documentation-first-development-with-fastapi --- -Many software engineers, particularly web developers, recognize the critical importance of documentation for efficient collaboration. Yet, the challenge of maintaining up-to-date documentation remains a pervasive issue, often due to human errors such as failing to update documentation after changes in the codebase. - -This presentation introduces the philosophy of Documentation-First Development (DFD), a methodology I advocate for that leverages the code-based OpenAPI documentation generation capabilities of the FastAPI framework. I will discuss methods to embody this philosophy, including the use of a sub-application pattern to segregate API documents and the application of generic types for crafting reusable custom response models. Additionally, I will address the limitations of traditional approaches to API documentation and demonstrate how FastAPI, in conjunction with Pydantic, offers a more effective solution by automatically keeping documentation synchronized with the code. - +Many software engineers, particularly web developers, recognize the critical importance of documentation for efficient collaboration. Yet, the challenge of maintaining up-to-date documentation remains a pervasive issue, often due to human errors such as failing to update documentation after changes in the codebase. + +This presentation introduces the philosophy of Documentation-First Development (DFD), a methodology I advocate for that leverages the code-based OpenAPI documentation generation capabilities of the FastAPI framework. I will discuss methods to embody this philosophy, including the use of a sub-application pattern to segregate API documents and the application of generic types for crafting reusable custom response models. Additionally, I will address the limitations of traditional approaches to API documentation and demonstrate how FastAPI, in conjunction with Pydantic, offers a more effective solution by automatically keeping documentation synchronized with the code. + This presentation aims to enlighten attendees on the benefits of the FastAPI framework and provide practical insights into creating precise and well-maintained API documentation. It is designed for audiences interested in enhancing their documentation practices and those curious about the advantages of employing FastAPI for web development projects. diff --git a/src/content/sessions/HAEWRZ.mdx b/src/content/sessions/HAEWRZ.mdx new file mode 100644 index 000000000..798535bb0 --- /dev/null +++ b/src/content/sessions/HAEWRZ.mdx @@ -0,0 +1,25 @@ +--- +code: HAEWRZ +delivery: in-person +duration: '45' +end: null +level: beginner +next_talk: null +prev_talk: null +resources: null +room: null +slug: lightening-talks-wednesday +speakers: [] +start: null +state: confirmed +submission_type: Talk +talks_after: null +talks_before: null +talks_in_parallel: null +title: Lightening talks Wednesday +track: null +tweet: '' +website_url: https://ep2024.europython.eu/session/lightening-talks-wednesday +--- + +Enjoy Wednesday's lightning talks. Short talks about everything by everyone. Hosted by your friendly EuroPython volunteer. diff --git a/src/content/sessions/HBDW93.mdx b/src/content/sessions/HBDW93.mdx index c27690624..0d20cdadf 100644 --- a/src/content/sessions/HBDW93.mdx +++ b/src/content/sessions/HBDW93.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: pytest-design-patterns speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Pytest Design Patterns track: Testing and QA @@ -21,12 +23,12 @@ tweet: '' website_url: https://ep2024.europython.eu/session/pytest-design-patterns --- -Proper testing of your Python application doesn't require a rewrite into hexagonal architecture (whatever it means 🤷). In this session, we'll explore battle-tested techniques to enhance the maintainability of your test suite. - -- **Embracing Well-Known Patterns**: The test client or transaction-bound tests are well-established patterns originating from Django. We will explore how to extend these foundational practices within pytest. -- **Employing Fixture Factories**: How to ensure that our test data clearly cover the intended scenarios? Unpack the utility of fixture factories, streamlining the setup process. -- **Mocking without Monkey Patching**: Learn effective mocking, steering clear of the problematic practice of monkey patching. We'll explore strategies to achieve accurate testing using favorite frameworks and libraries. -- **Covering More with Parametrized Fixtures**: Many developers are familiar with pytest fixtures and parametrized tests, but may not be aware of the power of their combination: parametrized fixtures. Discover how to easily build more comprehensive tests. -- **Rethinking Test Categorization**: The traditional division into unit and integration tests often falls short in practical application. We'll check an alternative approach that can better align with real-world scenarios. - +Proper testing of your Python application doesn't require a rewrite into hexagonal architecture (whatever it means 🤷). In this session, we'll explore battle-tested techniques to enhance the maintainability of your test suite. + +- **Embracing Well-Known Patterns**: The test client or transaction-bound tests are well-established patterns originating from Django. We will explore how to extend these foundational practices within pytest. +- **Employing Fixture Factories**: How to ensure that our test data clearly cover the intended scenarios? Unpack the utility of fixture factories, streamlining the setup process. +- **Mocking without Monkey Patching**: Learn effective mocking, steering clear of the problematic practice of monkey patching. We'll explore strategies to achieve accurate testing using favorite frameworks and libraries. +- **Covering More with Parametrized Fixtures**: Many developers are familiar with pytest fixtures and parametrized tests, but may not be aware of the power of their combination: parametrized fixtures. Discover how to easily build more comprehensive tests. +- **Rethinking Test Categorization**: The traditional division into unit and integration tests often falls short in practical application. We'll check an alternative approach that can better align with real-world scenarios. + The goal is not merely to report higher coverage but to have tests that can be trusted. By incorporating established patterns, you'll be empowered to focus on what truly matters. diff --git a/src/content/sessions/HBM9ZK.mdx b/src/content/sessions/HBM9ZK.mdx index b5eef4512..2e2b99b0f 100644 --- a/src/content/sessions/HBM9ZK.mdx +++ b/src/content/sessions/HBM9ZK.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: advanced -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: animations-from-first-principles speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: Animations from first principles track: Arts, Crafts Culture & Demos @@ -22,22 +24,22 @@ tweet: "Join Rodrigo \U0001F40D\U0001F680 and learn how to create colourful anim website_url: https://ep2024.europython.eu/session/animations-from-first-principles --- -How do you create an animation? - -What if you want to morph a circle into a figure eight? - -As it turns out, all you need is two or three functions and a loop! - -In this live-coded talk, we'll go over the basic concepts and code needed to create an animation _from first principles_. - -Because the talk presents the ideas and the code from first principles, you will be able to take the key concepts and build your own animations after! - -We'll start simple and build from there: - - - How can you draw a circle if all you can do is colour single pixels? - - How can you animate the process of drawing a circle? - - How can you animate the process of drawing something other than a circle? - - How can you animate the process of morphing two figures? - - How do you add colour to your animations? - +How do you create an animation? + +What if you want to morph a circle into a figure eight? + +As it turns out, all you need is two or three functions and a loop! + +In this live-coded talk, we'll go over the basic concepts and code needed to create an animation _from first principles_. + +Because the talk presents the ideas and the code from first principles, you will be able to take the key concepts and build your own animations after! + +We'll start simple and build from there: + + - How can you draw a circle if all you can do is colour single pixels? + - How can you animate the process of drawing a circle? + - How can you animate the process of drawing something other than a circle? + - How can you animate the process of morphing two figures? + - How do you add colour to your animations? + This visually appealing talk will show you all of the code without skipping a single line and by the time we're done you'll be jumping in your seat to create your own animations! diff --git a/src/content/sessions/HFKHBF.mdx b/src/content/sessions/HFKHBF.mdx new file mode 100644 index 000000000..1f6c401e1 --- /dev/null +++ b/src/content/sessions/HFKHBF.mdx @@ -0,0 +1,27 @@ +--- +code: HFKHBF +delivery: in-person +duration: '30' +end: null +level: beginner +next_talk: null +prev_talk: null +resources: null +room: null +slug: opening-session +speakers: [] +start: null +state: confirmed +submission_type: Announcements +talks_after: null +talks_before: null +talks_in_parallel: null +title: Opening Session +track: null +tweet: '' +website_url: https://ep2024.europython.eu/session/opening-session +--- + +Welcome to EuroPython 2024. + +Let us welcome you officially and tell you all about what's going to await you in the upcoming days. diff --git a/src/content/sessions/HSZBDG.mdx b/src/content/sessions/HSZBDG.mdx index d89f23933..1db2661c9 100644 --- a/src/content/sessions/HSZBDG.mdx +++ b/src/content/sessions/HSZBDG.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: insights-and-experiences-of-packaging-python-binary-extensions speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Insights and Experiences of Packaging Python Binary Extensions track: Software Engineering & Architecture diff --git a/src/content/sessions/HUKDBU.mdx b/src/content/sessions/HUKDBU.mdx index 3d7f6d53b..dacf8b24a 100644 --- a/src/content/sessions/HUKDBU.mdx +++ b/src/content/sessions/HUKDBU.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: sun-vs-me-quest-to-outwit-the-blinding-sun-and-snag-some-extra-z-s speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: '"SUN vs Me : Quest to Outwit the Blinding Sun and Snag Some Extra Z''s"' track: Makers, Microcontrollers and IoT @@ -21,16 +23,16 @@ tweet: '' website_url: https://ep2024.europython.eu/session/sun-vs-me-quest-to-outwit-the-blinding-sun-and-snag-some-extra-z-s --- -Join me on the journey of me trying to battle the Sun for a few more precious moments of shut-eye using MQTT and python. As a creature who adores city lights during the night but detests being rudely awakened by the blinding Sun, I embarked on a quest to automate my curtains using Raspberry Pi, stepper motors, light sensors and MQTT. From ingenious ideas to comical mishaps, and eventually stumbling upon a somewhat functional solution, this talk promises laughter, learning, and a peek into the thrillingly world of microprocessor programming with python. - -**Target Audience:** - -- Pythonistas with a penchant for puns and conquering the mundane with code. -- Aspiring IoT alchemists seeking to turn sensor readings into automated gold (or at least, uninterrupted sleep). -- Anyone who enjoys learning through laughter and the occasional "print('facepalm')". - -**Benefits for Attendees:** - -- Gain practical knowledge of **MQTT and its Pythonic potential**. -- Learn to craft **multi-layered solutions** that combine sensors, user control, and API integration. +Join me on the journey of me trying to battle the Sun for a few more precious moments of shut-eye using MQTT and python. As a creature who adores city lights during the night but detests being rudely awakened by the blinding Sun, I embarked on a quest to automate my curtains using Raspberry Pi, stepper motors, light sensors and MQTT. From ingenious ideas to comical mishaps, and eventually stumbling upon a somewhat functional solution, this talk promises laughter, learning, and a peek into the thrillingly world of microprocessor programming with python. + +**Target Audience:** + +- Pythonistas with a penchant for puns and conquering the mundane with code. +- Aspiring IoT alchemists seeking to turn sensor readings into automated gold (or at least, uninterrupted sleep). +- Anyone who enjoys learning through laughter and the occasional "print('facepalm')". + +**Benefits for Attendees:** + +- Gain practical knowledge of **MQTT and its Pythonic potential**. +- Learn to craft **multi-layered solutions** that combine sensors, user control, and API integration. - Embrace the **iterative nature of development** and learn to laugh at your code (trust me, it helps). diff --git a/src/content/sessions/HX9ZWH.mdx b/src/content/sessions/HX9ZWH.mdx index 8d2ca0292..7c32fe4ba 100644 --- a/src/content/sessions/HX9ZWH.mdx +++ b/src/content/sessions/HX9ZWH.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: building-event-driven-python-service-using-faststream-and-asyncapi speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Building Event-Driven Python service using FastStream and AsyncAPI track: Python Libraries & Tooling @@ -23,13 +25,13 @@ tweet: Unlock the power of AsyncAPI and FastStream in revolutionizing event-driv website_url: https://ep2024.europython.eu/session/building-event-driven-python-service-using-faststream-and-asyncapi --- -In this talk, we dive into the world of Event Driven Architecture and Message Streaming, using Python and FastStream. - -You'll learn to integrate FastStream, a python framework, into your projects and leverage AsyncAPI to define contracts for asynchronous communication and event streaming. Through practical examples and insights, you'll discover the art of building scalable, responsive Python applications that thrive in real-time environments. - - -#### About AsyncAPI -AsyncAPI is an open standard/specification and growing set of open-source tools to help developers define, build, and maintain asynchronous APIs and Event-Driven Architectures. It describes message-driven APIs in a machine-readable format, and is protocol-agnostic. - -#### About FastStream +In this talk, we dive into the world of Event Driven Architecture and Message Streaming, using Python and FastStream. + +You'll learn to integrate FastStream, a python framework, into your projects and leverage AsyncAPI to define contracts for asynchronous communication and event streaming. Through practical examples and insights, you'll discover the art of building scalable, responsive Python applications that thrive in real-time environments. + + +#### About AsyncAPI +AsyncAPI is an open standard/specification and growing set of open-source tools to help developers define, build, and maintain asynchronous APIs and Event-Driven Architectures. It describes message-driven APIs in a machine-readable format, and is protocol-agnostic. + +#### About FastStream FastStream is a powerful and easy-to-use Python framework for building asynchronous services interacting with event streams such as Apache Kafka, RabbitMQ, NATS and Redis. FastStream simplifies the process of writing producers and consumers for message queues, handling all the parsing, networking and documentation generation automatically. FastStream provides unified API across multiple brokers, built-in Pydantic validations, automatic AsyncAPI documentation, FastAPI like Dependency Injection System, built-in support for test and extensions. diff --git a/src/content/sessions/HZSGYK.mdx b/src/content/sessions/HZSGYK.mdx index 5b9107faf..1be2ee095 100644 --- a/src/content/sessions/HZSGYK.mdx +++ b/src/content/sessions/HZSGYK.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: the-imposter-staff-engineers-journey-to-leadership speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: "The Imposter Staff Engineer\u2019s Journey to Leadership" track: Career, Life, Health diff --git a/src/content/sessions/JAKMRZ.mdx b/src/content/sessions/JAKMRZ.mdx index 14beb306b..21ca7f04a 100644 --- a/src/content/sessions/JAKMRZ.mdx +++ b/src/content/sessions/JAKMRZ.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: automatic-trusted-publishing-with-pypi speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Automatic trusted publishing with PyPI track: Security @@ -21,5 +23,5 @@ tweet: '' website_url: https://ep2024.europython.eu/session/automatic-trusted-publishing-with-pypi --- -PyPI added support for “Trusted Publishing” last year, allowing package maintainers to create releases directly from their GitHub Actions pipelines without having to worry about token management. Trusted Publishing removes long-lived API tokens from the equation, removing a threat vector for supply chain attacks. +PyPI added support for “Trusted Publishing” last year, allowing package maintainers to create releases directly from their GitHub Actions pipelines without having to worry about token management. Trusted Publishing removes long-lived API tokens from the equation, removing a threat vector for supply chain attacks. In this talk, we’ll go through the details of how this works, how maintainers can easily take advantage of it with minimal changes to their existing setup, and the ongoing effort in the last 12 months to add support for publishers other than GitHub, such as GitLab, Google, and ActiveState. diff --git a/src/content/sessions/JFFDLS.mdx b/src/content/sessions/JFFDLS.mdx index 13b1b97e6..84591774e 100644 --- a/src/content/sessions/JFFDLS.mdx +++ b/src/content/sessions/JFFDLS.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: and-justice-for-ail speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: '... and justice for AIl' track: Ethics, Philosophy & Politics @@ -21,14 +23,14 @@ tweet: '' website_url: https://ep2024.europython.eu/session/and-justice-for-ail --- -„Everything’s science fiction until someone makes it science fact.“ - Marie Lu, Warcross - -We live in times that have quite a lot of those science facts- even if hoverboards sadly are not part of them- and now have to deal with this new world and all it’s changes for better or for worse. -There are unsettling deepfakes, stunning Cap-Set-Problem-solving language models and the question of artificial conscience. Developers might be able to navigate the turbulences of AI evolution, but are you brave enough to take on the quest of untangling the nebulous scriptures of law that are known to the chaotic neutral wordwizards of the council of Europa as the „AI Act“? - -Accompany me on a journey through the valleys of risk-based AI categories, over the sea of subsectional articles and to the top of mount ethic, as we strive to understand the possibilities the AI Act gives our bold heroes to defy the boundaries of innovation, protect the villagers of the EU and construct (legally) safe software. - -The Proposal for the European Artificial Intelligence Act takes 272 Pages of legalese to work through. -This talk will give a short overview of what the European AI Act is and about the purpose and necessity of a globally harmonised legal system. -Hopefully it will give an understanding about the main goals of the act, which are, spoiler alert, ensuring AI safety, the protection of fundamental rights, and legal clarity for businesses and developers (which is probably you). +„Everything’s science fiction until someone makes it science fact.“ - Marie Lu, Warcross + +We live in times that have quite a lot of those science facts- even if hoverboards sadly are not part of them- and now have to deal with this new world and all it’s changes for better or for worse. +There are unsettling deepfakes, stunning Cap-Set-Problem-solving language models and the question of artificial conscience. Developers might be able to navigate the turbulences of AI evolution, but are you brave enough to take on the quest of untangling the nebulous scriptures of law that are known to the chaotic neutral wordwizards of the council of Europa as the „AI Act“? + +Accompany me on a journey through the valleys of risk-based AI categories, over the sea of subsectional articles and to the top of mount ethic, as we strive to understand the possibilities the AI Act gives our bold heroes to defy the boundaries of innovation, protect the villagers of the EU and construct (legally) safe software. + +The Proposal for the European Artificial Intelligence Act takes 272 Pages of legalese to work through. +This talk will give a short overview of what the European AI Act is and about the purpose and necessity of a globally harmonised legal system. +Hopefully it will give an understanding about the main goals of the act, which are, spoiler alert, ensuring AI safety, the protection of fundamental rights, and legal clarity for businesses and developers (which is probably you). Let us discuss, how developers can shield fundamental rights by writing ethical AI Systems whilst navigating the regulatory landscape and staying tuned with legal development as well. diff --git a/src/content/sessions/JJAKNR.mdx b/src/content/sessions/JJAKNR.mdx index 0a39b3779..bcea1daa1 100644 --- a/src/content/sessions/JJAKNR.mdx +++ b/src/content/sessions/JJAKNR.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '60' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: virus-mvp-using-dash-and-plotly-to-visualize-viral-mutations-by-lineage speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Poster talks_after: null +talks_before: null talks_in_parallel: null title: 'VIRUS-MVP: using Dash and Plotly to visualize viral mutations by lineage' track: 'PyData: Research & Applications' @@ -21,8 +23,8 @@ tweet: '' website_url: https://ep2024.europython.eu/session/virus-mvp-using-dash-and-plotly-to-visualize-viral-mutations-by-lineage --- -During the COVID-19 pandemic, public health researchers have tracked viral genomic mutations to better understand changes in disease severity and transmissibility. The mutation data is often inside large textual files, generated by bioinformatics workflows. Our team developed one such workflow in Python: nf-ncov-voc, which outputs large tabular datasets describing mutation frequencies and locations. To aid researchers in processing and analyzing the datasets, we also developed VIRUS-MVP: a web application that visually summarizes multiple nf-ncov-voc datasets in a single heatmap. - -Visually analyzing aggregated mutation data through VIRUS-MVP helps identify links between multiple mutations and distinct virus lineages, including lineages labeled as “variants of concern”. VIRUS-MVP has several interactive features to expedite these analyses, including the ability to jump across genes, search for mutations by name, and toggle mutations by frequency. VIRUS-MVP also annotates mutations with known functions impacting disease severity or transmissibility. - +During the COVID-19 pandemic, public health researchers have tracked viral genomic mutations to better understand changes in disease severity and transmissibility. The mutation data is often inside large textual files, generated by bioinformatics workflows. Our team developed one such workflow in Python: nf-ncov-voc, which outputs large tabular datasets describing mutation frequencies and locations. To aid researchers in processing and analyzing the datasets, we also developed VIRUS-MVP: a web application that visually summarizes multiple nf-ncov-voc datasets in a single heatmap. + +Visually analyzing aggregated mutation data through VIRUS-MVP helps identify links between multiple mutations and distinct virus lineages, including lineages labeled as “variants of concern”. VIRUS-MVP has several interactive features to expedite these analyses, including the ability to jump across genes, search for mutations by name, and toggle mutations by frequency. VIRUS-MVP also annotates mutations with known functions impacting disease severity or transmissibility. + We developed VIRUS-MVP using the Python libraries Plotly and Dash. We selected these libraries to streamline development efforts, as Plotly is a graphing library that draws interactive graphs with minimal code, and Dash is a web framework designed to serve Plotly graphs on a front-end interface. VIRUS-MVP and nf-ncov-voc are both virus-agnostic, but our initial priority was visualizing SARS-CoV-2 data. We deployed this prioritized instance as COVID-MVP at https://virusmvp.org/covid-mvp/, where the application is used by researchers from CoVaRR-Net. We are currently developing instances to also track Mpox and Influenza viruses. diff --git a/src/content/sessions/JLFDLR.mdx b/src/content/sessions/JLFDLR.mdx new file mode 100644 index 000000000..c5fccb166 --- /dev/null +++ b/src/content/sessions/JLFDLR.mdx @@ -0,0 +1,25 @@ +--- +code: JLFDLR +delivery: in-person +duration: '30' +end: null +level: beginner +next_talk: null +prev_talk: null +resources: null +room: null +slug: registration-welcome-forum-hall-foyer-1st-floor +speakers: [] +start: null +state: confirmed +submission_type: Announcements +talks_after: null +talks_before: null +talks_in_parallel: null +title: Registration & Welcome @ Forum Hall Foyer 1st Floor +track: null +tweet: '' +website_url: https://ep2024.europython.eu/session/registration-welcome-forum-hall-foyer-1st-floor +--- + +Welcome to EuroPython 2024! You can pick up your badges at any time during the week as long as we are open! If you want to avoid the morning rush on Wednesday, come on Monday and Tuesday! diff --git a/src/content/sessions/JRGVQM.mdx b/src/content/sessions/JRGVQM.mdx index 7a3af6128..ebe29f10a 100644 --- a/src/content/sessions/JRGVQM.mdx +++ b/src/content/sessions/JRGVQM.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '60' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: social-media-and-sentimental-analysis-cbn-currency-redesign-policy speakers: @@ -15,6 +16,7 @@ start: null state: confirmed submission_type: Poster talks_after: null +talks_before: null talks_in_parallel: null title: 'Social Media and Sentimental Analysis: CBN Currency Redesign Policy' track: 'PyData: Machine Learning, Stats' diff --git a/src/content/sessions/K3CJUX.mdx b/src/content/sessions/K3CJUX.mdx index 98420e485..649629480 100644 --- a/src/content/sessions/K3CJUX.mdx +++ b/src/content/sessions/K3CJUX.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: when-and-how-to-start-coding-with-kids speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: When and how to start coding with kids track: Education, Community & Diversity @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/when-and-how-to-start-coding-with-kids --- -Our world is driven by technology and there are many reasons to teach our kids how to code. For example, coding allows them to develop logical reasoning skills and teaches attention to detail. Allowing children to discover how much fun coding can be supports them in their development and opens many doors for their future. - +Our world is driven by technology and there are many reasons to teach our kids how to code. For example, coding allows them to develop logical reasoning skills and teaches attention to detail. Allowing children to discover how much fun coding can be supports them in their development and opens many doors for their future. + But when and how should we start coding with kids? This talk will approach the question from a scientific perspective, looking into how children's brains develop, how children learn and how to best teach them coding abilities. It will answer important questions like "At what age can a child start coding?" or "What are the benefits of learning to code?". It will also present possible starting points, like learning platforms or tutorials. diff --git a/src/content/sessions/K77Z8V.mdx b/src/content/sessions/K77Z8V.mdx index f365c6e1e..102fbebfb 100644 --- a/src/content/sessions/K77Z8V.mdx +++ b/src/content/sessions/K77Z8V.mdx @@ -4,16 +4,18 @@ delivery: in-person duration: '45' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: a-tour-of-synchronization-primitives-in-python speakers: -- zach +- zach-muncaster start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: A Tour of Synchronization Primitives in Python track: Python Libraries & Tooling @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/a-tour-of-synchronization-primitives-in-python --- -Whether using threads or task-based event loops, running code concurrently is not without its challenges. This talk takes a look at the features provided by the Python programming language to solve problems of synchronization when dealing with concurrently executing code. - +Whether using threads or task-based event loops, running code concurrently is not without its challenges. This talk takes a look at the features provided by the Python programming language to solve problems of synchronization when dealing with concurrently executing code. + Together we will take a look at the synchronization classes and functions provided by the Python threading and asyncio modules, what problems they aim to solve, and how we might use them effectively in our own code. diff --git a/src/content/sessions/K7ZHBG.mdx b/src/content/sessions/K7ZHBG.mdx index 66ec9f9fc..0f105a77d 100644 --- a/src/content/sessions/K7ZHBG.mdx +++ b/src/content/sessions/K7ZHBG.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: behind-the-scenes-of-an-ads-prediction-system speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Behind the Scenes of an Ads Prediction System track: 'PyData: Machine Learning, Stats' @@ -23,5 +25,5 @@ tweet: 'Learn all about ads prediction systems at #EuroPython2024! From key con website_url: https://ep2024.europython.eu/session/behind-the-scenes-of-an-ads-prediction-system --- -In this era of rapid technological advancement and AI, Ad prediction systems stand at the forefront of shaping online advertising, significantly impacting how content reaches its intended audience. In this session, I'll introduce the Ads prediction system from a user and algorithm view. We'll then walk through key concepts like targeting, bidding, ad ranking, click-through rate (CTR), and conversion rate. We'll deeply dive into connecting the dots, designing an ad prediction system, some ethical considerations, models, offline and online metrics, scaling and deployment decisions that enable handling high volumes of data and requests efficiently, and some case studies. +In this era of rapid technological advancement and AI, Ad prediction systems stand at the forefront of shaping online advertising, significantly impacting how content reaches its intended audience. In this session, I'll introduce the Ads prediction system from a user and algorithm view. We'll then walk through key concepts like targeting, bidding, ad ranking, click-through rate (CTR), and conversion rate. We'll deeply dive into connecting the dots, designing an ad prediction system, some ethical considerations, models, offline and online metrics, scaling and deployment decisions that enable handling high volumes of data and requests efficiently, and some case studies. At the end of this session, attendees will comprehensively understand the end-to-end process of developing an ads prediction system. diff --git a/src/content/sessions/K9AHYT.mdx b/src/content/sessions/K9AHYT.mdx index a61eb72e6..49c38e1fb 100644 --- a/src/content/sessions/K9AHYT.mdx +++ b/src/content/sessions/K9AHYT.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: advanced -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: fastapi-internals speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: FastAPI Internals track: Web technologies @@ -21,8 +23,8 @@ tweet: '' website_url: https://ep2024.europython.eu/session/fastapi-internals --- -FastAPI became one of the most web frameworks in Python. It has an amazing documentation, and easy to use API, which made it very popular. It's easy to start, and as a developer you have a lot of power on what you can do. But... How does it work internally? - -In this talk, we will explore the internals of FastAPI. We'll explore the dependency injection system, what are the benefits, and limitations. We'll also see how the routing system works, when the middleware stack runs, how the request and response are handled in detail, how the OpenAPI schema is generated, and the differences between async and non-async endpoints, and how WebSockets fit in the whole picture. Furthermore, we'll also see how the dependencies Pydantic and Starlette help FastAPI on its job. - +FastAPI became one of the most web frameworks in Python. It has an amazing documentation, and easy to use API, which made it very popular. It's easy to start, and as a developer you have a lot of power on what you can do. But... How does it work internally? + +In this talk, we will explore the internals of FastAPI. We'll explore the dependency injection system, what are the benefits, and limitations. We'll also see how the routing system works, when the middleware stack runs, how the request and response are handled in detail, how the OpenAPI schema is generated, and the differences between async and non-async endpoints, and how WebSockets fit in the whole picture. Furthermore, we'll also see how the dependencies Pydantic and Starlette help FastAPI on its job. + At the end of this talk, the attendee will understand what's underneath of this very popular package. diff --git a/src/content/sessions/KBZTFP.mdx b/src/content/sessions/KBZTFP.mdx index b7d4ee6be..b98129fd3 100644 --- a/src/content/sessions/KBZTFP.mdx +++ b/src/content/sessions/KBZTFP.mdx @@ -4,8 +4,9 @@ delivery: remote duration: '30' end: null level: advanced -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: pep-683-immortal-objects-a-new-approach-for-memory-managing speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'PEP 683: Immortal Objects - A new approach for memory managing' track: Python Internals & Ecosystem @@ -21,9 +23,9 @@ tweet: 'PEP 683: Immortal Objects - A new approach for memory managing' website_url: https://ep2024.europython.eu/session/pep-683-immortal-objects-a-new-approach-for-memory-managing --- -For most people that use Python, worrying about memory is not an issue. But that's not the case when you have to handle a lot of requests on a large scale. So how do you reduce memory consumption without affecting the CPU? - -In this presentation I'll discuss about memory management in Python from the basics, where the necessity for PEP 683 came from, and the changes introduced by it. I also intend to discuss why this PEP is so important for the language, and what we'll be able to achieve with it in the future, such as changes to the GIL and true parallelism. - -The talk is targeted for folks who are intermediate/advanced pythonistas. People who are just starting with Python (maybe less than 1.5 years) may feel a bit lost. Even so, curious learners are more than welcome to join, and I'll try my best to make it easy for all audiences on this advanced topic. +For most people that use Python, worrying about memory is not an issue. But that's not the case when you have to handle a lot of requests on a large scale. So how do you reduce memory consumption without affecting the CPU? + +In this presentation I'll discuss about memory management in Python from the basics, where the necessity for PEP 683 came from, and the changes introduced by it. I also intend to discuss why this PEP is so important for the language, and what we'll be able to achieve with it in the future, such as changes to the GIL and true parallelism. + +The talk is targeted for folks who are intermediate/advanced pythonistas. People who are just starting with Python (maybe less than 1.5 years) may feel a bit lost. Even so, curious learners are more than welcome to join, and I'll try my best to make it easy for all audiences on this advanced topic. After this presentation, participants will learn a bit more about how memory management works under the hood in python, and how it may change in the next couple of years. diff --git a/src/content/sessions/KDH3J3.mdx b/src/content/sessions/KDH3J3.mdx index 83daabdff..6aef94310 100644 --- a/src/content/sessions/KDH3J3.mdx +++ b/src/content/sessions/KDH3J3.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: mltraq-track-your-ai-experiments-at-hyperspeed speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'MLtraq: Track your AI experiments at hyperspeed' track: 'PyData: Research & Applications' @@ -21,8 +23,8 @@ tweet: '' website_url: https://ep2024.europython.eu/session/mltraq-track-your-ai-experiments-at-hyperspeed --- -Every second spent waiting for initializations and obscure delays hindering high-frequency logging, further limited by what you can track, an experiment dies. Wouldn't it be nice to load and start tracking in nearly zero time? What if we could track more and faster, even handling arbitrarily large, complex Python objects with ease? - -In this talk, I will present the results of comparative benchmarks covering Weights & Biases, MLflow, FastTrackML, Neptune, Aim, Comet, and MLtraq. You will learn their strengths and weaknesses, what makes them slow and fast, and what sets MLtraq apart, making it 100x faster and capable of handling tens of thousands of experiments. - +Every second spent waiting for initializations and obscure delays hindering high-frequency logging, further limited by what you can track, an experiment dies. Wouldn't it be nice to load and start tracking in nearly zero time? What if we could track more and faster, even handling arbitrarily large, complex Python objects with ease? + +In this talk, I will present the results of comparative benchmarks covering Weights & Biases, MLflow, FastTrackML, Neptune, Aim, Comet, and MLtraq. You will learn their strengths and weaknesses, what makes them slow and fast, and what sets MLtraq apart, making it 100x faster and capable of handling tens of thousands of experiments. + The talk will be inspiring and useful for anyone interested in AI/ML experimentation and portable, safe serialization of Python objects. diff --git a/src/content/sessions/KHTUSV.mdx b/src/content/sessions/KHTUSV.mdx index fc1f9bd52..27c24bed3 100644 --- a/src/content/sessions/KHTUSV.mdx +++ b/src/content/sessions/KHTUSV.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: scikit-llm-beginner-friendly-nlp-using-llms speakers: @@ -15,6 +16,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Scikit-LLM: Beginner Friendly NLP Using LLMs' track: 'PyData: Deep Learning, NLP, CV' diff --git a/src/content/sessions/KLXQAM.mdx b/src/content/sessions/KLXQAM.mdx index 79966e222..f0a90403a 100644 --- a/src/content/sessions/KLXQAM.mdx +++ b/src/content/sessions/KLXQAM.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '60' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: contributing-to-onnx-how-you-can-improve-machine-learning-interoperability speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Poster talks_after: null +talks_before: null talks_in_parallel: null title: 'Contributing to ONNX: How you can improve Machine Learning interoperability' track: 'PyData: Deep Learning, NLP, CV' @@ -21,10 +23,10 @@ tweet: '' website_url: https://ep2024.europython.eu/session/contributing-to-onnx-how-you-can-improve-machine-learning-interoperability --- -As AI continues to integrate into various applications, the ability for different machine learning (ML) models to operate across frameworks is becoming increasingly important. Models are often created and trained using one framework, but must be able to run in different environments, hardware and software engines. The Open Neural Network Exchange (ONNX) is an open standard which addresses this problem. ONNX simplifies the process of moving models between frameworks by offering a common set of operators and a portable file format. - -My poster will provide an overview of ONNX and its role in the exchange and deployment of models. We will briefly discuss the architecture of ONNX files, its operator set, which supports a wide range of deep learning models, and the significance of having a standardized model representation in AI development. - -ONNX is an open-source project and we are always looking for contributors with good ideas. I want to introduce you to the community behind ONNX and let you know how you can become a part of it. Our community includes representatives of large companies such as Microsoft, Nvidia, IBM and Intel, but also many smaller startups and individuals. Contributing to ONNX is straightforward, based on GitHub pull requests and code reviews. I will tell you about interesting areas where your contribution would be very valueable regardless of your previous expertise level in AI. - +As AI continues to integrate into various applications, the ability for different machine learning (ML) models to operate across frameworks is becoming increasingly important. Models are often created and trained using one framework, but must be able to run in different environments, hardware and software engines. The Open Neural Network Exchange (ONNX) is an open standard which addresses this problem. ONNX simplifies the process of moving models between frameworks by offering a common set of operators and a portable file format. + +My poster will provide an overview of ONNX and its role in the exchange and deployment of models. We will briefly discuss the architecture of ONNX files, its operator set, which supports a wide range of deep learning models, and the significance of having a standardized model representation in AI development. + +ONNX is an open-source project and we are always looking for contributors with good ideas. I want to introduce you to the community behind ONNX and let you know how you can become a part of it. Our community includes representatives of large companies such as Microsoft, Nvidia, IBM and Intel, but also many smaller startups and individuals. Contributing to ONNX is straightforward, based on GitHub pull requests and code reviews. I will tell you about interesting areas where your contribution would be very valueable regardless of your previous expertise level in AI. + The ONNX project thrives on community contributions. Whether you're interested in adding new features, refining existing ones, or improving documentation, there's room for your input. This is an invitation to learn about ONNX and explore ways to contribute to its development. diff --git a/src/content/sessions/KUABAE.mdx b/src/content/sessions/KUABAE.mdx index 6e152b040..d3e0123eb 100644 --- a/src/content/sessions/KUABAE.mdx +++ b/src/content/sessions/KUABAE.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: many-ways-to-be-a-python-contributor speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Many ways to be a Python contributor track: Education, Community & Diversity diff --git a/src/content/sessions/KV3DHG.mdx b/src/content/sessions/KV3DHG.mdx index 57caca4b1..d143dd87b 100644 --- a/src/content/sessions/KV3DHG.mdx +++ b/src/content/sessions/KV3DHG.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: the-pyarrow-revolution-in-pandas speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: The PyArrow revolution in Pandas track: 'PyData: Software Packages & Jupyter' diff --git a/src/content/sessions/KVNTFE.mdx b/src/content/sessions/KVNTFE.mdx index 4c4908334..a1cd90e0a 100644 --- a/src/content/sessions/KVNTFE.mdx +++ b/src/content/sessions/KVNTFE.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '60' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: redun-lazy-expressions-for-efficient-reactive-python-workflows speakers: @@ -15,6 +16,7 @@ start: null state: confirmed submission_type: Poster talks_after: null +talks_before: null talks_in_parallel: null title: 'Redun: Lazy Expressions for Efficient Reactive Python Workflows' track: Python Libraries & Tooling @@ -22,15 +24,15 @@ tweet: '' website_url: https://ep2024.europython.eu/session/redun-lazy-expressions-for-efficient-reactive-python-workflows --- -The goal of redun is to provide the benefits of workflow engines for Python code in an easy and unintrusive way. Workflow engines can help run code faster by using parallel distributed execution, they can provide checkpointing for fast resuming of previously halted execution, they can reactively re-execute code based on changes in data or code, and can provide logging for data provenance. - -While there are lots of workflow engines available even for Python, redun differs by avoiding the need to restructure programs in terms of dataflow. In fact, we take the position that writing data flows directly is unnecessarily restrictive, and by doing so we lose abstractions we have come to rely on in most modern high-level languages (control flow, recursion, higher order functions, etc). redun’s key insight is that workflows can be expressed as lazy expressions, that are then evaluated by a scheduler that performs automatic parallelization, caching, and data provenance logging. - -redun’s key features are: -- Workflows are defined by lazy expressions that when evaluated emit dynamic directed acyclic graphs (DAGs), enabling complex data flows. -- Incremental computation that is reactive to both data changes as well as code changes. -- Code and data changes are detected using hashing of in memory values, external data sources or source code of individual Python functions. -- Workflow tasks can be executed on a variety of compute backends. (threads, processes, AWS and GCP batch jobs, Spark jobs, etc). -- Past intermediate results are cached centrally and reused across workflows. - +The goal of redun is to provide the benefits of workflow engines for Python code in an easy and unintrusive way. Workflow engines can help run code faster by using parallel distributed execution, they can provide checkpointing for fast resuming of previously halted execution, they can reactively re-execute code based on changes in data or code, and can provide logging for data provenance. + +While there are lots of workflow engines available even for Python, redun differs by avoiding the need to restructure programs in terms of dataflow. In fact, we take the position that writing data flows directly is unnecessarily restrictive, and by doing so we lose abstractions we have come to rely on in most modern high-level languages (control flow, recursion, higher order functions, etc). redun’s key insight is that workflows can be expressed as lazy expressions, that are then evaluated by a scheduler that performs automatic parallelization, caching, and data provenance logging. + +redun’s key features are: +- Workflows are defined by lazy expressions that when evaluated emit dynamic directed acyclic graphs (DAGs), enabling complex data flows. +- Incremental computation that is reactive to both data changes as well as code changes. +- Code and data changes are detected using hashing of in memory values, external data sources or source code of individual Python functions. +- Workflow tasks can be executed on a variety of compute backends. (threads, processes, AWS and GCP batch jobs, Spark jobs, etc). +- Past intermediate results are cached centrally and reused across workflows. + Link to the code: https://github.com/insitro/redun/ diff --git a/src/content/sessions/KXF8JY.mdx b/src/content/sessions/KXF8JY.mdx index 2ae4c763f..43bcd5dee 100644 --- a/src/content/sessions/KXF8JY.mdx +++ b/src/content/sessions/KXF8JY.mdx @@ -4,8 +4,11 @@ delivery: in-person duration: '60' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: +- description: Similarity + resource: https://program.europython.eu/media/europython-2024/submissions/KXF8JY/resources/Screenshot_2024-03-06_at_9.35.37_SuuCsDd.png room: null slug: are-llms-smarter-in-some-languages-than-others speakers: @@ -14,6 +17,7 @@ start: null state: confirmed submission_type: Poster talks_after: null +talks_before: null talks_in_parallel: null title: Are LLMs smarter in some languages than others? track: 'PyData: LLMs' @@ -21,11 +25,11 @@ tweet: '' website_url: https://ep2024.europython.eu/session/are-llms-smarter-in-some-languages-than-others --- -Have you ever asked yourself if Large Language Models (LLMs) perform differently across various languages? I have. - -In this poster session, I will demonstrate how tokens, embeddings, and the LLMs themselves perform when utilized in 30 different languages. I will illustrate how languages influence pricing and various model characteristics. - -Spoiler: -- The Greek language is the most expensive to process by most models. -- Processing Asian languages on Gemini is cheaper. +Have you ever asked yourself if Large Language Models (LLMs) perform differently across various languages? I have. + +In this poster session, I will demonstrate how tokens, embeddings, and the LLMs themselves perform when utilized in 30 different languages. I will illustrate how languages influence pricing and various model characteristics. + +Spoiler: +- The Greek language is the most expensive to process by most models. +- Processing Asian languages on Gemini is cheaper. - You can save up to 15% of tokens by removing diacritics. diff --git a/src/content/sessions/LBYSLP.mdx b/src/content/sessions/LBYSLP.mdx index 916cc9b41..df7ffc162 100644 --- a/src/content/sessions/LBYSLP.mdx +++ b/src/content/sessions/LBYSLP.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: forecasting-the-future-with-earthpt speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Forecasting the future with EarthPT track: 'PyData: LLMs' @@ -23,10 +25,10 @@ tweet: EarthPT is a time series earth observation foundation model trained on TB website_url: https://ep2024.europython.eu/session/forecasting-the-future-with-earthpt --- -We introduce EarthPT -- an open source Earth Observation (EO) pretrained transformer written in Python and PyTorch. EarthPT is a 700 million parameter decoding transformer foundation model trained in an autoregressive self-supervised manner and developed specifically with EO use-cases in mind. - -EarthPT is trained on time series derived from satellite imagery, and can accurately predict future pixel-level surface reflectances across the 400-2300 nm range well into the future. For example, forecasts of the evolution of the Normalised Difference Vegetation Index (NDVI) have a typical error of approximately 0.05 (over a natural range of -1 -> 1) at the pixel level over a five month test set horizon, out-performing simple phase-folded models based on historical averaging. We also demonstrate that embeddings learnt by EarthPT hold semantically meaningful information and could be exploited for downstream tasks such as highly granular, dynamic land use classification, crop yield, and drought prediction. - -Excitingly, we note that the abundance of EO data provides us with -- in theory -- quadrillions of training tokens. Therefore, if we assume that EarthPT follows neural scaling laws akin to those derived for Large Language Models (LLMs), there is currently no data-imposed limit to scaling EarthPT and other similar ‘Large Observation Models.’ - +We introduce EarthPT -- an open source Earth Observation (EO) pretrained transformer written in Python and PyTorch. EarthPT is a 700 million parameter decoding transformer foundation model trained in an autoregressive self-supervised manner and developed specifically with EO use-cases in mind. + +EarthPT is trained on time series derived from satellite imagery, and can accurately predict future pixel-level surface reflectances across the 400-2300 nm range well into the future. For example, forecasts of the evolution of the Normalised Difference Vegetation Index (NDVI) have a typical error of approximately 0.05 (over a natural range of -1 -> 1) at the pixel level over a five month test set horizon, out-performing simple phase-folded models based on historical averaging. We also demonstrate that embeddings learnt by EarthPT hold semantically meaningful information and could be exploited for downstream tasks such as highly granular, dynamic land use classification, crop yield, and drought prediction. + +Excitingly, we note that the abundance of EO data provides us with -- in theory -- quadrillions of training tokens. Therefore, if we assume that EarthPT follows neural scaling laws akin to those derived for Large Language Models (LLMs), there is currently no data-imposed limit to scaling EarthPT and other similar ‘Large Observation Models.’ + EarthPT is released under the MIT licence here: https://github.com/aspiaspace/EarthPT. diff --git a/src/content/sessions/LDUPVK.mdx b/src/content/sessions/LDUPVK.mdx index 843594c39..75db28980 100644 --- a/src/content/sessions/LDUPVK.mdx +++ b/src/content/sessions/LDUPVK.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: accelerating-python-with-rust-the-pyo3-revolution speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Accelerating Python with Rust: The PyO3 Revolution' track: Python Libraries & Tooling @@ -21,8 +23,8 @@ tweet: '' website_url: https://ep2024.europython.eu/session/accelerating-python-with-rust-the-pyo3-revolution --- -Are you curious about integrating the high-performance and memory efficiency of Rust into your Python applications? Rust can significantly enhance the speed and efficiency of Python programs, and this integration is made seamless with PyO3. - -This presentation will delve into the capabilities of PyO3, a tool that allows the creation of native Python modules using Rust. With PyO3, importing Rust code as a Python module is straightforward. It offers seamless type conversion between Python and Rust and includes macros that simplify the process of exposing Rust functions to Python. - +Are you curious about integrating the high-performance and memory efficiency of Rust into your Python applications? Rust can significantly enhance the speed and efficiency of Python programs, and this integration is made seamless with PyO3. + +This presentation will delve into the capabilities of PyO3, a tool that allows the creation of native Python modules using Rust. With PyO3, importing Rust code as a Python module is straightforward. It offers seamless type conversion between Python and Rust and includes macros that simplify the process of exposing Rust functions to Python. + Moreover, with the growing trend towards asynchronous programming, PyO3-asyncio emerges as a vital tool for those working with async functions in Python or looking to generate Python bindings for an async Rust library. It streamlines the task of translating async functions between Python and Rust. Furthermore, PyO3 facilitates easy implementation of parallelism within Rust code, enhancing performance and efficiency. diff --git a/src/content/sessions/LEXULB.mdx b/src/content/sessions/LEXULB.mdx index 2743519e3..20ffaa5ad 100644 --- a/src/content/sessions/LEXULB.mdx +++ b/src/content/sessions/LEXULB.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: intellectual-property-law-101 speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Intellectual Property Law 101 track: ~ None of these topics diff --git a/src/content/sessions/LKJU9G.mdx b/src/content/sessions/LKJU9G.mdx index e9ebbc1d5..ba4a56e51 100644 --- a/src/content/sessions/LKJU9G.mdx +++ b/src/content/sessions/LKJU9G.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: maths-in-motion-python-powered-modelling-for-real-world-phenomena speakers: @@ -15,6 +16,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: 'Maths in Motion: Python-Powered Modelling for Real-World Phenomena' track: ~ None of these topics @@ -22,14 +24,14 @@ tweet: '' website_url: https://ep2024.europython.eu/session/maths-in-motion-python-powered-modelling-for-real-world-phenomena --- -Dive into the realm of mathematical modeling in this hands-on workshop, where numbers unlock insights into disease spread, weather patterns, and financial behaviors. Tom and Gurjot lead a journey spanning Classical Physics, Mathematical Biology, Finance, and Chaos Theory. - -From tweaking Mechanics models for surprising outcomes to tracking infectious diseases like COVID-19, each segment offers engaging examples, and an opportunity to understand the uses and applications of calculus and differential equations through the lens of Python. - -Suitable for beginners and experts alike, Tom and Gurjot are experienced at using Python for mathematical modelling and are ready to give their thoughts and answer questions, however simple or advanced. Gurjot shares firsthand knowledge from the finance world, unveiling the intricate models shaping modern markets. Tom brings his experience from weather, climate and energy, exploring Chaos Theory's role in weather prediction, and demonstrating tools for understanding atmospheric dynamics. - -This interactive session isn't just about learning—it's about empowerment. Armed with Python skills and a deeper understanding of mathematical models, participants gain the confidence to explore further, starting with the notebooks we have refined and expanded for EuroPython 2024. - -Join this journey of discovery, where mathematics meets real-world challenges, and Python becomes your toolkit for exploration. - +Dive into the realm of mathematical modeling in this hands-on workshop, where numbers unlock insights into disease spread, weather patterns, and financial behaviors. Tom and Gurjot lead a journey spanning Classical Physics, Mathematical Biology, Finance, and Chaos Theory. + +From tweaking Mechanics models for surprising outcomes to tracking infectious diseases like COVID-19, each segment offers engaging examples, and an opportunity to understand the uses and applications of calculus and differential equations through the lens of Python. + +Suitable for beginners and experts alike, Tom and Gurjot are experienced at using Python for mathematical modelling and are ready to give their thoughts and answer questions, however simple or advanced. Gurjot shares firsthand knowledge from the finance world, unveiling the intricate models shaping modern markets. Tom brings his experience from weather, climate and energy, exploring Chaos Theory's role in weather prediction, and demonstrating tools for understanding atmospheric dynamics. + +This interactive session isn't just about learning—it's about empowerment. Armed with Python skills and a deeper understanding of mathematical models, participants gain the confidence to explore further, starting with the notebooks we have refined and expanded for EuroPython 2024. + +Join this journey of discovery, where mathematics meets real-world challenges, and Python becomes your toolkit for exploration. + [Link to Jupyter notebooks: https://github.com/ThomasGregory/pycon-maths_in_motion/] diff --git a/src/content/sessions/LWSF9C.mdx b/src/content/sessions/LWSF9C.mdx index 82d8bc1f3..1e1252a97 100644 --- a/src/content/sessions/LWSF9C.mdx +++ b/src/content/sessions/LWSF9C.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: deadcode-a-tool-to-find-and-fix-unused-dead-python-code speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Deadcode - a tool to find and fix unused (dead) Python code track: Python Libraries & Tooling @@ -21,16 +23,16 @@ tweet: '' website_url: https://ep2024.europython.eu/session/deadcode-a-tool-to-find-and-fix-unused-dead-python-code --- -No longer needed code creates technical debt if it is not removed from the code base. Unused code has to be maintained, it complicates code base and increases cognitive load. It might even depend on no longer necessary dependencies with vulnerabilities and might increase attack surface. Therefore, removing dead code saves time, money and reduces security risks. - -Recently, Ruff has became a de facto linter, which provides almost all existing linting rules from other linters. However, it is only capable to detect locally unused Python code, which is only a tiny portion of unused code. - -Vulture is the best known tool for detecting globally unused Python code. However, its configuration is not very flexible and disabling false positives in a larger code base might require a lot of effort. -Also, unused code detection is sometimes inaccurate, because scopes are not taken into account, when detecting unused code. - -This presentation introduces a new Python package called `deadcode`, which tries to move globally unused Python code detection to the next level. First, it provides a large set of options to flexibly disable various types of false positives. Second, deadcode implements more rules for detecting unused code than Vulture. Third, an improved strategy which tracks scopes and namespaces into account is being used to -more accurately identify unused code items. Fourth, a --fix option is provided, which allows to automatically remove detected unused code items. - -In addition, an idea to prune Python code in order to reduce its size will be consider, which might be relevant when serving Python code in a browser. - +No longer needed code creates technical debt if it is not removed from the code base. Unused code has to be maintained, it complicates code base and increases cognitive load. It might even depend on no longer necessary dependencies with vulnerabilities and might increase attack surface. Therefore, removing dead code saves time, money and reduces security risks. + +Recently, Ruff has became a de facto linter, which provides almost all existing linting rules from other linters. However, it is only capable to detect locally unused Python code, which is only a tiny portion of unused code. + +Vulture is the best known tool for detecting globally unused Python code. However, its configuration is not very flexible and disabling false positives in a larger code base might require a lot of effort. +Also, unused code detection is sometimes inaccurate, because scopes are not taken into account, when detecting unused code. + +This presentation introduces a new Python package called `deadcode`, which tries to move globally unused Python code detection to the next level. First, it provides a large set of options to flexibly disable various types of false positives. Second, deadcode implements more rules for detecting unused code than Vulture. Third, an improved strategy which tracks scopes and namespaces into account is being used to +more accurately identify unused code items. Fourth, a --fix option is provided, which allows to automatically remove detected unused code items. + +In addition, an idea to prune Python code in order to reduce its size will be consider, which might be relevant when serving Python code in a browser. + Lets make Python ecosystem even more awesome! diff --git a/src/content/sessions/LXYWXR.mdx b/src/content/sessions/LXYWXR.mdx index 412f4d37f..3f0188385 100644 --- a/src/content/sessions/LXYWXR.mdx +++ b/src/content/sessions/LXYWXR.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: test-java-and-c-applications-with-python speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Test java and C applications with python track: Testing and QA @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/test-java-and-c-applications-with-python --- -Did you know that Python can be used to test foreign code, such as Java and C? -This enables writing tests for legacy code in a very few time, reducing development time and improving code coverage (e.g., using python frameworks to generate testcases for foreign code). +Did you know that Python can be used to test foreign code, such as Java and C? +This enables writing tests for legacy code in a very few time, reducing development time and improving code coverage (e.g., using python frameworks to generate testcases for foreign code). If you have C and Java services that communicates over the network, you can use python as a glue to anticipate some integration tests directly in python. diff --git a/src/content/sessions/LYNADL.mdx b/src/content/sessions/LYNADL.mdx index 68e7d8cd4..761e8559b 100644 --- a/src/content/sessions/LYNADL.mdx +++ b/src/content/sessions/LYNADL.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '60' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: rapid-detection-of-red-cell-membrane-defects-leading-to-hemolytic-anaemias speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Poster talks_after: null +talks_before: null talks_in_parallel: null title: Rapid detection of red cell membrane defects leading to hemolytic anaemias track: 'PyData: Machine Learning, Stats' diff --git a/src/content/sessions/M9TMMQ.mdx b/src/content/sessions/M9TMMQ.mdx index 5d0709a68..12785024d 100644 --- a/src/content/sessions/M9TMMQ.mdx +++ b/src/content/sessions/M9TMMQ.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: one-analysis-a-day-keeps-anomalies-away speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: One analysis a day keeps anomalies away! track: 'PyData: Machine Learning, Stats' @@ -21,10 +23,10 @@ tweet: '' website_url: https://ep2024.europython.eu/session/one-analysis-a-day-keeps-anomalies-away --- -Ever felt like you’re navigating a data jungle, battling to survive the unexpected production problems that throw you off track? Well, you’re not alone. Staying on top of your data's health is not just smart – it's crucial. In this talk, I will share some Python tricks (methods and libraries) that you can use to defend from those wild data problems. Because let's face it, being able to effectively monitor your data, spot sneaky anomalies, and get to the bottom of them is the key to unlocking a buried treasure. - -First, I'll take you through the ins and outs of observability, highlighting its importance for managing both the inputs and outputs of machine learning models, as well as for overall data quality. We'll explore a range of techniques to detect anomalies, with a focus on multivariate time series data. We'll also cover how we can keep this process as computationally efficient as possible. - -But we won't stop at just finding these anomalies: we're on a mission to chase them down to their lair! The second part of the talk will equip you with the detective skills to perform root cause analysis and extract as much insights as possible. These discoveries can be an eye opener and the first step towards new projects and strategies. Next, we will also tackle distinguishing real anomalies from data evolution (or drift) and set up effective monitoring strategies to keep your data clean and insightful. - +Ever felt like you’re navigating a data jungle, battling to survive the unexpected production problems that throw you off track? Well, you’re not alone. Staying on top of your data's health is not just smart – it's crucial. In this talk, I will share some Python tricks (methods and libraries) that you can use to defend from those wild data problems. Because let's face it, being able to effectively monitor your data, spot sneaky anomalies, and get to the bottom of them is the key to unlocking a buried treasure. + +First, I'll take you through the ins and outs of observability, highlighting its importance for managing both the inputs and outputs of machine learning models, as well as for overall data quality. We'll explore a range of techniques to detect anomalies, with a focus on multivariate time series data. We'll also cover how we can keep this process as computationally efficient as possible. + +But we won't stop at just finding these anomalies: we're on a mission to chase them down to their lair! The second part of the talk will equip you with the detective skills to perform root cause analysis and extract as much insights as possible. These discoveries can be an eye opener and the first step towards new projects and strategies. Next, we will also tackle distinguishing real anomalies from data evolution (or drift) and set up effective monitoring strategies to keep your data clean and insightful. + If your interests lie in machine learning or you're simply keen on data quality, join me as we set off to unravel the mysteries of data observability. Let's learn how to keep data problems in check and when life gives you anomalies, turn them into business opportunities! diff --git a/src/content/sessions/MAHYVG.mdx b/src/content/sessions/MAHYVG.mdx index 37b9c6371..da581b884 100644 --- a/src/content/sessions/MAHYVG.mdx +++ b/src/content/sessions/MAHYVG.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: diversity-project-subtle-introduction-of-data-science-using-pyroid speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Diversity Project: Subtle Introduction of Data Science using Pyroid' track: Education, Community & Diversity diff --git a/src/content/sessions/MGMLPS.mdx b/src/content/sessions/MGMLPS.mdx index 69ca51892..4f940f3e5 100644 --- a/src/content/sessions/MGMLPS.mdx +++ b/src/content/sessions/MGMLPS.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: how-we-used-vectorization-for-1000x-python-speedups-no-c-or-spark-needed speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: How we used vectorization for 1000x Python speedups (no C or Spark needed!) track: 'PyData: Machine Learning, Stats' @@ -23,10 +25,10 @@ tweet: Want to make all your code faster? With matrices, library knowledge, and website_url: https://ep2024.europython.eu/session/how-we-used-vectorization-for-1000x-python-speedups-no-c-or-spark-needed --- -Want to make all your code faster? With matrices, library knowledge, and a sprinkle of creativity, you can consistently speed up multivariate Python functions by 1000x! - -Modal optimization requires simple axioms - arithmetic, checking a case, calling the right sklearn function, and so on. When that’s not sufficient, three core tricks - converting conditional logic to set theory, stacking vectors into a matrix, and shaping data to match library expectations - cover the vast majority of real world cases (90% of the ~400 functions we vectorized). - -At Bloomberg, ESG (Environmental, Social, and Governance) Scores require complex computations on large data sets. Time-series computations are fundamental for Governance - one UDF infers board support for a policy from prior cyclical votes and other time offset inputs. By rewriting the pandas backfill as a series of reductions on a 4-tensor, we reduced the runtime from 45 minutes to 10 milliseconds! Analogously, due to real world complexity, finance UDFs can end up with 100+ if/else branches in one function. With a mix of De Morgan’s laws and sparse matrix representations, we simplified the cases and achieved 1000x+ speedups. - +Want to make all your code faster? With matrices, library knowledge, and a sprinkle of creativity, you can consistently speed up multivariate Python functions by 1000x! + +Modal optimization requires simple axioms - arithmetic, checking a case, calling the right sklearn function, and so on. When that’s not sufficient, three core tricks - converting conditional logic to set theory, stacking vectors into a matrix, and shaping data to match library expectations - cover the vast majority of real world cases (90% of the ~400 functions we vectorized). + +At Bloomberg, ESG (Environmental, Social, and Governance) Scores require complex computations on large data sets. Time-series computations are fundamental for Governance - one UDF infers board support for a policy from prior cyclical votes and other time offset inputs. By rewriting the pandas backfill as a series of reductions on a 4-tensor, we reduced the runtime from 45 minutes to 10 milliseconds! Analogously, due to real world complexity, finance UDFs can end up with 100+ if/else branches in one function. With a mix of De Morgan’s laws and sparse matrix representations, we simplified the cases and achieved 1000x+ speedups. + We’ll conclude with a quick overview of cutting-edge tools, and hope you’ll leave with a concrete strategy for vectorizing financial models! diff --git a/src/content/sessions/N3R9HN.mdx b/src/content/sessions/N3R9HN.mdx index 282b5313f..33100383e 100644 --- a/src/content/sessions/N3R9HN.mdx +++ b/src/content/sessions/N3R9HN.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: shipping-ready-to-run-python-apps-without-the-need-to-install-python speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Shipping ready-to-run Python apps without the need to install Python track: Python Libraries & Tooling @@ -22,12 +24,12 @@ tweet: Learn about PyRun, your friendly and lean, open source, single file 5 MB website_url: https://ep2024.europython.eu/session/shipping-ready-to-run-python-apps-without-the-need-to-install-python --- -Have you ever wanted to ship a script or application to a friend or client, without requiring a specific Python installation or providing complex installation instructions ? Or you want to squeeze out that last bit of juice from your Docker Python image to speed up deployment. Then eGenix PyRun is for you. - -PyRun is an open source, Apache-licensed, compressed, single file Python compatible run-time, which fits into merely 5 MB on disk. - -It can be used to ship pure Python products as a single file on Unix platforms, create Python Docker images with very small footprint to speed up deployment, or as a neat venv replacement, truly isolating applications from any OS or other Python installations, giving you a predictable target for Python applications across Unix platforms. - -We have been using PyRun internally at eGenix for many years and open sourced it back in 2012. This year, we are moving the project to Github and relaunching it, in order to present it to the wider open source and Python community. - +Have you ever wanted to ship a script or application to a friend or client, without requiring a specific Python installation or providing complex installation instructions ? Or you want to squeeze out that last bit of juice from your Docker Python image to speed up deployment. Then eGenix PyRun is for you. + +PyRun is an open source, Apache-licensed, compressed, single file Python compatible run-time, which fits into merely 5 MB on disk. + +It can be used to ship pure Python products as a single file on Unix platforms, create Python Docker images with very small footprint to speed up deployment, or as a neat venv replacement, truly isolating applications from any OS or other Python installations, giving you a predictable target for Python applications across Unix platforms. + +We have been using PyRun internally at eGenix for many years and open sourced it back in 2012. This year, we are moving the project to Github and relaunching it, in order to present it to the wider open source and Python community. + The talk will go into details on how PyRun is built from the Python source tree, how to create your own single file Python apps, where it can be put to good use, the roadmap we have for PyRun and what its limitations are. diff --git a/src/content/sessions/N7Z3NF.mdx b/src/content/sessions/N7Z3NF.mdx new file mode 100644 index 000000000..b68694d02 --- /dev/null +++ b/src/content/sessions/N7Z3NF.mdx @@ -0,0 +1,25 @@ +--- +code: N7Z3NF +delivery: in-person +duration: '15' +end: null +level: beginner +next_talk: null +prev_talk: null +resources: null +room: null +slug: morning-announcement +speakers: [] +start: null +state: confirmed +submission_type: Announcements +talks_after: null +talks_before: null +talks_in_parallel: null +title: Morning Announcement +track: null +tweet: '' +website_url: https://ep2024.europython.eu/session/morning-announcement +--- + +The news for the day. What's up and what you should know today. Come by and find out what is going to happen today. diff --git a/src/content/sessions/N7ZC9X.mdx b/src/content/sessions/N7ZC9X.mdx index 147a8fc6e..653fdab92 100644 --- a/src/content/sessions/N7ZC9X.mdx +++ b/src/content/sessions/N7ZC9X.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: from-diamonds-to-mixins-demystifying-multiple-inheritance-in-python speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'From Diamonds to Mixins: Demystifying Multiple Inheritance in Python' track: Python Internals & Ecosystem @@ -21,8 +23,8 @@ tweet: '' website_url: https://ep2024.europython.eu/session/from-diamonds-to-mixins-demystifying-multiple-inheritance-in-python --- -Most Python programmers are probably aware that Python supports multiple inheritance. However, few are likely to be aware of its implications and inner workings. This talk aims to shed light on this commonly overlooked topic. - -In the first part of the talk we will start by reviewing the “diamond problem,” where a class inherits from two classes that have a common ancestor, and contrast how this issue is handled in Python compared to other object oriented languages. Next, we will discuss the Method Resolution Order (MRO) to see how Python determines the sequence in which classes are considered when searching for a method or attribute. We will also review the use of the `super()` function that allows a subclass to call a method from its superclass in a way that adheres to the MRO. - +Most Python programmers are probably aware that Python supports multiple inheritance. However, few are likely to be aware of its implications and inner workings. This talk aims to shed light on this commonly overlooked topic. + +In the first part of the talk we will start by reviewing the “diamond problem,” where a class inherits from two classes that have a common ancestor, and contrast how this issue is handled in Python compared to other object oriented languages. Next, we will discuss the Method Resolution Order (MRO) to see how Python determines the sequence in which classes are considered when searching for a method or attribute. We will also review the use of the `super()` function that allows a subclass to call a method from its superclass in a way that adheres to the MRO. + During the second part of the talk, we will explore real-world scenarios related to the benefits, problems, and alternatives of using multiple inheritance in our programs. We will dedicate some time to examining the concept of a _mixin_ and how to implement it effectively in Python. Finally, we will delve into the _Interface Segregation Principle_ and explore collaboration and composition as mechanisms for avoiding the pitfalls of inheritance in general. diff --git a/src/content/sessions/NAHJEU.mdx b/src/content/sessions/NAHJEU.mdx index f98a187da..f3a027b2e 100644 --- a/src/content/sessions/NAHJEU.mdx +++ b/src/content/sessions/NAHJEU.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: cython-and-the-limited-api speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Cython and the Limited API track: Python Internals & Ecosystem @@ -21,14 +23,14 @@ tweet: '' website_url: https://ep2024.europython.eu/session/cython-and-the-limited-api --- -Cython's Limited API support is finally approaching a usable state. As an example, it is possible to produce a working version of Cython by compiling it in Limited API mode. - -For users the main advantage is to be able to reduce the number of wheels/binaries they have to build in order to be compatible across a range of versions of Python. For Cython itself there is also an advantage in future-proofing: being able to produce simpler code that should continue to work even as the Python interpreter evolves and which is more likely to work with alternative Python implementations, as well as hopefully placating the unease some of the core Python developers have at Cython's use of Python internals (in non-limited API mode). - -This talk will start off by looking at the subject from the users' perspective: -* Why you might want to use the Limited API (from Cython). -* What kind of projects are likely to benefit from it (as far as it's ever possible to predict how people will use a tool...). -* What you actually need to do to build a Cython module with the Limited API. -* What the limitations and disadvantages are: there are some features that don't work, some features that only work in recent versions of Python, some speed costs, and complete forward-compatibility might not be all you hope it would be. - +Cython's Limited API support is finally approaching a usable state. As an example, it is possible to produce a working version of Cython by compiling it in Limited API mode. + +For users the main advantage is to be able to reduce the number of wheels/binaries they have to build in order to be compatible across a range of versions of Python. For Cython itself there is also an advantage in future-proofing: being able to produce simpler code that should continue to work even as the Python interpreter evolves and which is more likely to work with alternative Python implementations, as well as hopefully placating the unease some of the core Python developers have at Cython's use of Python internals (in non-limited API mode). + +This talk will start off by looking at the subject from the users' perspective: +* Why you might want to use the Limited API (from Cython). +* What kind of projects are likely to benefit from it (as far as it's ever possible to predict how people will use a tool...). +* What you actually need to do to build a Cython module with the Limited API. +* What the limitations and disadvantages are: there are some features that don't work, some features that only work in recent versions of Python, some speed costs, and complete forward-compatibility might not be all you hope it would be. + When that "general interest" section is done, I plan to talk about some of the gory implementation details - what "creative" solutions have been employed to work around missing features or things the Limited API was never intended to do. diff --git a/src/content/sessions/NDUKDX.mdx b/src/content/sessions/NDUKDX.mdx index 13feb4c3f..fb8cc290f 100644 --- a/src/content/sessions/NDUKDX.mdx +++ b/src/content/sessions/NDUKDX.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: nlp-application-in-cases-of-violence-against-women speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: NLP Application in Cases of Violence Against Women track: 'PyData: Research & Applications' @@ -22,19 +24,19 @@ tweet: Using ML & NLP to analyze domestic violence against women. Techniques lik website_url: https://ep2024.europython.eu/session/nlp-application-in-cases-of-violence-against-women --- -Domestic violence is a widespread problem, one which demands attention and policy fixes. But available data is largely unstructured, making analysis difficult for both researchers and policy makers. In this talk, I'll show you how Python helped me to retrieve, structure, and classify violence victims' testimony. I'll show which APIs and libraries allowed me to retrieve the woman's testimony from YouTube, turn their speech into text, and then analyze the text itself. You'll come away knowing not just some new Python techniques, but also how those techniques can be used to improve our society. -Outline: --Introduction (1m) -- How to collect data from YouTube? (5m) - o reason for collecting data using YouTube - o keywords to find videos - o YouTube API -- How to transcribe audio to text? (5m) - o Whisper API - o how long it took - o accuracy -- Semantic analysis of testimony (10m) - o BERTopic - o Analysis of relevant words -- How useful it is for analyzing unstructured data (10m) +Domestic violence is a widespread problem, one which demands attention and policy fixes. But available data is largely unstructured, making analysis difficult for both researchers and policy makers. In this talk, I'll show you how Python helped me to retrieve, structure, and classify violence victims' testimony. I'll show which APIs and libraries allowed me to retrieve the woman's testimony from YouTube, turn their speech into text, and then analyze the text itself. You'll come away knowing not just some new Python techniques, but also how those techniques can be used to improve our society. +Outline: +-Introduction (1m) +- How to collect data from YouTube? (5m) + o reason for collecting data using YouTube + o keywords to find videos + o YouTube API +- How to transcribe audio to text? (5m) + o Whisper API + o how long it took + o accuracy +- Semantic analysis of testimony (10m) + o BERTopic + o Analysis of relevant words +- How useful it is for analyzing unstructured data (10m) - Conclusion (2m) diff --git a/src/content/sessions/NFCPVM.mdx b/src/content/sessions/NFCPVM.mdx index a1be13ddf..9e4273e2e 100644 --- a/src/content/sessions/NFCPVM.mdx +++ b/src/content/sessions/NFCPVM.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: why-communication-is-the-best-skill-you-can-develop-as-a-programmer speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Why communication is the best skill you can develop as a programmer track: Career, Life, Health @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/why-communication-is-the-best-skill-you-can-develop-as-a-programmer --- -As engineers, aspiring or experienced, we can become so focused on growing our technical skills that we forget about the basics. The ability to communicate well can be seen as a skill needed by leaders, managers or client-facing colleagues, but in reality it forms the basis of the quality of our work. From understanding client requirements, to code reviews and even naming variables, communication is a fundamental part of our profession and something we could all benefit from being more conscious of. - +As engineers, aspiring or experienced, we can become so focused on growing our technical skills that we forget about the basics. The ability to communicate well can be seen as a skill needed by leaders, managers or client-facing colleagues, but in reality it forms the basis of the quality of our work. From understanding client requirements, to code reviews and even naming variables, communication is a fundamental part of our profession and something we could all benefit from being more conscious of. + In this open-to-all-levels talk we’ll discuss in what situations we should pay closer attention to our style of communication, explore the role of empathy in writing and reviewing code and cover tips and tricks for both making yourself understood and better understanding others. diff --git a/src/content/sessions/NKBKYC.mdx b/src/content/sessions/NKBKYC.mdx index 1ed444ee8..a6cef7a84 100644 --- a/src/content/sessions/NKBKYC.mdx +++ b/src/content/sessions/NKBKYC.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: from-built-in-concurrency-primitives-to-large-scale-distributed-computing speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: From built-in concurrency primitives to large scale distributed computing track: 'PyData: Data Engineering' @@ -21,8 +23,8 @@ tweet: '' website_url: https://ep2024.europython.eu/session/from-built-in-concurrency-primitives-to-large-scale-distributed-computing --- -This talk is specifically designed for Python developers and data practitioners who wish to deepen their skills in asynchronous code execution, from single CPU applications to complex distributed systems with thousands of cores. We'll provide a detailed exploration and explanation of Python's asynchronous execution models and concurrency primitives, focusing on `Future` and `Executor` interfaces within the `concurrent.futures` module, and the event-driven architecture of `asyncio`. Special attention will be given to the processing of large datasets, a common challenge in data science and engineering. - -We will start with the fundamental concepts and then explore how they apply to large scale, distributed execution frameworks like Dask or Ray. On step-by-step examples, we aim to demonstrate simple function executions and map-reduce operations. We will illustrate efficient collaboration between different concurrency models. The session will cover the transition to large-scale, distributed execution frameworks, offering practical guidelines for scaling your computations effectively and addressing common hurdles like data serialization in distributed environments. - +This talk is specifically designed for Python developers and data practitioners who wish to deepen their skills in asynchronous code execution, from single CPU applications to complex distributed systems with thousands of cores. We'll provide a detailed exploration and explanation of Python's asynchronous execution models and concurrency primitives, focusing on `Future` and `Executor` interfaces within the `concurrent.futures` module, and the event-driven architecture of `asyncio`. Special attention will be given to the processing of large datasets, a common challenge in data science and engineering. + +We will start with the fundamental concepts and then explore how they apply to large scale, distributed execution frameworks like Dask or Ray. On step-by-step examples, we aim to demonstrate simple function executions and map-reduce operations. We will illustrate efficient collaboration between different concurrency models. The session will cover the transition to large-scale, distributed execution frameworks, offering practical guidelines for scaling your computations effectively and addressing common hurdles like data serialization in distributed environments. + Attendees will leave with a solid understanding of asynchronous code execution underpinnings. This talk will empower you to make informed practical decisions about applying concurrency in your data processing workflows. You will be able to seamlessly integrate new libraries or frameworks into your projects, ensuring optimal development lifecycle, performance and scalability. diff --git a/src/content/sessions/NMBFTX.mdx b/src/content/sessions/NMBFTX.mdx index d197b0f5c..f6c695c49 100644 --- a/src/content/sessions/NMBFTX.mdx +++ b/src/content/sessions/NMBFTX.mdx @@ -4,16 +4,18 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: designing-config-files-the-conflicting-needs-of-programmers-and-users speakers: -- steven +- steven-pool start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Designing Config Files: The Conflicting Needs of Programmers and Users' track: Software Engineering & Architecture @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/designing-config-files-the-conflicting-needs-of-programmers-and-users --- -When your programs are configuration driven and used by PM/PO/Scientists etc you have to think slightly differently about how configuration files are used in your projects. For example, users may want to change/create configs on the fly and they may want to see all settings in one file without having to go through layers of indirection and library “configs” to see what their experiment/program will do. - +When your programs are configuration driven and used by PM/PO/Scientists etc you have to think slightly differently about how configuration files are used in your projects. For example, users may want to change/create configs on the fly and they may want to see all settings in one file without having to go through layers of indirection and library “configs” to see what their experiment/program will do. + Rather than discussing config file formats (I’ll assume toml but it’s applicable for other formats), this talk will focus more on my ideas/tips on: how to structure config files, how to allow non technical people to contribute to config files, how to minimise potentially explosive number of config files, how to expose more control in config files, tools for testing these configs and checking if values are actually used, hints for good practices to make debugging problems easier. diff --git a/src/content/sessions/NNWTXP.mdx b/src/content/sessions/NNWTXP.mdx index 8d8c8f851..e508c563c 100644 --- a/src/content/sessions/NNWTXP.mdx +++ b/src/content/sessions/NNWTXP.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: i-reverse-engineered-a-work-of-art-and-this-is-what-i-learned speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: I reverse engineered a work of art, and this is what I learned track: Arts, Crafts Culture & Demos @@ -22,6 +24,6 @@ tweet: The story of how I reverse engineered a image processing algorithm that t website_url: https://ep2024.europython.eu/session/i-reverse-engineered-a-work-of-art-and-this-is-what-i-learned --- -This is the story of a weekend project which turned into a months long challenge. After coming across a photorealistic painting made entirely out of strings, I wanted to create one on my own. But how? I decided to reverse engineer the algorithm that computes which strings to stretch and in which order. - +This is the story of a weekend project which turned into a months long challenge. After coming across a photorealistic painting made entirely out of strings, I wanted to create one on my own. But how? I decided to reverse engineer the algorithm that computes which strings to stretch and in which order. + In this talk, I will show how I created a Python algorithm that produces a beautiful work of art. I will cover topics such as greedy algorithms, image processing, color spaces, performance optimization and many other challenges that I encountered while cracking the algorithm. And of course, I'll show the resulting work of art! diff --git a/src/content/sessions/NVWSXS.mdx b/src/content/sessions/NVWSXS.mdx index 637ffb3ca..91c1e5ba8 100644 --- a/src/content/sessions/NVWSXS.mdx +++ b/src/content/sessions/NVWSXS.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: a-journey-from-zero-to-large-language-models-in-python speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: A Journey from Zero to Large Language Models in Python track: 'PyData: LLMs' @@ -21,8 +23,8 @@ tweet: '' website_url: https://ep2024.europython.eu/session/a-journey-from-zero-to-large-language-models-in-python --- -There are many tutorials teaching how to use LLMs, this one focusses on how to build such systems from scratch in Python using all Open Source models and frameworks: - -Large Language Models (LLMs) are still relatively new compared to ""Traditional ML"" techniques and have many new ideas as best practises that differ from training ML models. - +There are many tutorials teaching how to use LLMs, this one focusses on how to build such systems from scratch in Python using all Open Source models and frameworks: + +Large Language Models (LLMs) are still relatively new compared to ""Traditional ML"" techniques and have many new ideas as best practises that differ from training ML models. + In this workshop, you will learn the tips and tricks of creating and fine-tuning LLMs along with implementing cutting edge ideas of building these systems from the best research papers. diff --git a/src/content/sessions/P93P8V.mdx b/src/content/sessions/P93P8V.mdx index 7e622a898..5ad26782b 100644 --- a/src/content/sessions/P93P8V.mdx +++ b/src/content/sessions/P93P8V.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: aggregating-data-in-django-using-database-views speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Aggregating data in Django using database views track: Web technologies @@ -22,8 +24,8 @@ tweet: Tired of cumbersome data aggregations using Django? Utilise all that data website_url: https://ep2024.europython.eu/session/aggregating-data-in-django-using-database-views --- -Aggregating information is a common Django task, but using the aggregate method can be a bit cumbersome and in the case of large database tables, pretty slow as well. I will introduce the library django-pgviews-redux, which adds first-class support for database views (with Postgres), making that task much simpler. - -With that library, database views are wrapped around models, meaning you get many of the features you rely on with models for free, like querysets and filtering on those, admin, and any other feature which works with models. Defining a view is almost as simple as defining a model, by specifying what fields there are for the model and defining the SQL. - +Aggregating information is a common Django task, but using the aggregate method can be a bit cumbersome and in the case of large database tables, pretty slow as well. I will introduce the library django-pgviews-redux, which adds first-class support for database views (with Postgres), making that task much simpler. + +With that library, database views are wrapped around models, meaning you get many of the features you rely on with models for free, like querysets and filtering on those, admin, and any other feature which works with models. Defining a view is almost as simple as defining a model, by specifying what fields there are for the model and defining the SQL. + This talk will walk through examples of aggregation in Django, and then show how one could simplify those examples using the library. Finally, we will get to materialized views as well, which stores the aggregation almost like a table in the database, providing big speed improvements on aggregation on large tables. diff --git a/src/content/sessions/PC3XVJ.mdx b/src/content/sessions/PC3XVJ.mdx index feca15b53..99e96315b 100644 --- a/src/content/sessions/PC3XVJ.mdx +++ b/src/content/sessions/PC3XVJ.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: data-pipelines-with-celery-modular-signal-driven-and-manageable speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Data pipelines with Celery: modular, signal-driven and manageable' track: 'PyData: Data Engineering' @@ -21,8 +23,8 @@ tweet: '' website_url: https://ep2024.europython.eu/session/data-pipelines-with-celery-modular-signal-driven-and-manageable --- -Writing pipelines for processing large datasets has its challenges – processing data within an acceptable time frame, dealing with unreliable and rate-limited APIs, and unexpected failures that can cause data incompleteness. In this talk we’ll discuss how to design & implement modular, efficient, and manageable workflows with Celery, Redis, and signal-based triggering. - -We’ll begin by exploring the motivation behind segmenting pipelines into smaller, more manageable ones. The segmentation simplifies development, enhances fault tolerance, and improves modularity, making it easier to test and debug each component. By leveraging Redis as a data store and Celery’s signals, we introduce self-triggering (or looped) pipelines that efficiently manage data batches within API rate limits and system resource constraints. We will look at an example of how we did things in the past using periodic tasks and how this new approach, instead, simplifies and increases our data throughput and completeness. Additionally, this facilitates triggering pipelines with secondary benefits, such as persisting and reporting results, which allows analysis and insight into the processed data. This can help us tackle inaccuracies and optimise data handling in budget-sensitive environments. - +Writing pipelines for processing large datasets has its challenges – processing data within an acceptable time frame, dealing with unreliable and rate-limited APIs, and unexpected failures that can cause data incompleteness. In this talk we’ll discuss how to design & implement modular, efficient, and manageable workflows with Celery, Redis, and signal-based triggering. + +We’ll begin by exploring the motivation behind segmenting pipelines into smaller, more manageable ones. The segmentation simplifies development, enhances fault tolerance, and improves modularity, making it easier to test and debug each component. By leveraging Redis as a data store and Celery’s signals, we introduce self-triggering (or looped) pipelines that efficiently manage data batches within API rate limits and system resource constraints. We will look at an example of how we did things in the past using periodic tasks and how this new approach, instead, simplifies and increases our data throughput and completeness. Additionally, this facilitates triggering pipelines with secondary benefits, such as persisting and reporting results, which allows analysis and insight into the processed data. This can help us tackle inaccuracies and optimise data handling in budget-sensitive environments. + The talk offers the attendees a perspective on designing data pipelines in Celery that they may have not seen before. We will share the techniques for implementing more effective and maintainable data pipelines in their own projects. diff --git a/src/content/sessions/PKJ38J.mdx b/src/content/sessions/PKJ38J.mdx index 0bb9d5b40..71cd34ebf 100644 --- a/src/content/sessions/PKJ38J.mdx +++ b/src/content/sessions/PKJ38J.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: rpa-tdd-and-embedded-a-world-glued-together-with-python speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'RPA, TDD, and Embedded: A world glued together with Python!' track: Testing and QA @@ -22,10 +24,10 @@ tweet: Are you curious about the embedded world? Have you ever wondered how is a website_url: https://ep2024.europython.eu/session/rpa-tdd-and-embedded-a-world-glued-together-with-python --- -Do you know what *RPA* means? Or *TDD*? Or "embedded"? At least, for sure, you know what **Python** is 😉. - -"RPA" stands for "Robotic Process Automation", whereas "TDD" stands for "Test Driven Development". Those words usually refer to either the testing process or the automation of it. In the embedded world - the microcontroller one - it is usually easy to test features unitarily, but **hard to test them working within a bigger system**. - -Therefore... What is this everything about? In this talk [Robot Framework](https://robotframework.org/) is introduced as the tool to integrate almost everything! Firstly, [Robot Framework](https://robotframework.org/) is introduced: Explain its purpose, semantics, basic writing, etc. Then, we will dig a little into it and how to maximize its potential by tweaking the internal libraries and writing our own ones. Next, we will simulate a real embedded device which we require some integration testing: Exchange some messages, evaluate an external request, etc. And finally, we will glue all this together with [Robot Framework](https://robotframework.org/)! - +Do you know what *RPA* means? Or *TDD*? Or "embedded"? At least, for sure, you know what **Python** is 😉. + +"RPA" stands for "Robotic Process Automation", whereas "TDD" stands for "Test Driven Development". Those words usually refer to either the testing process or the automation of it. In the embedded world - the microcontroller one - it is usually easy to test features unitarily, but **hard to test them working within a bigger system**. + +Therefore... What is this everything about? In this talk [Robot Framework](https://robotframework.org/) is introduced as the tool to integrate almost everything! Firstly, [Robot Framework](https://robotframework.org/) is introduced: Explain its purpose, semantics, basic writing, etc. Then, we will dig a little into it and how to maximize its potential by tweaking the internal libraries and writing our own ones. Next, we will simulate a real embedded device which we require some integration testing: Exchange some messages, evaluate an external request, etc. And finally, we will glue all this together with [Robot Framework](https://robotframework.org/)! + Sounds interesting, right? Jump into this initialization talk for you to get introduced - or acquire more knowledge - into the embedded and testing world. diff --git a/src/content/sessions/PSGLDJ.mdx b/src/content/sessions/PSGLDJ.mdx index 25cc91db8..4f6e2bf04 100644 --- a/src/content/sessions/PSGLDJ.mdx +++ b/src/content/sessions/PSGLDJ.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: how-to-destroy-the-world-using-python-and-a-synthetic-virus speakers: @@ -15,6 +16,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: How to destroy the world using Python and a synthetic virus track: ~ None of these topics diff --git a/src/content/sessions/PSLA9J.mdx b/src/content/sessions/PSLA9J.mdx index e58ecb989..255dcc7ea 100644 --- a/src/content/sessions/PSLA9J.mdx +++ b/src/content/sessions/PSLA9J.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: from-text-to-numbers-exploring-sentence-embeddings-w-sentencetransformers speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'From Text to Numbers: Exploring Sentence Embeddings w/ SentenceTransformers' track: 'PyData: LLMs' @@ -21,10 +23,10 @@ tweet: '' website_url: https://ep2024.europython.eu/session/from-text-to-numbers-exploring-sentence-embeddings-w-sentencetransformers --- -In the realm of natural language processing, the concept of embedding plays a pivotal role in understanding textual data. In this talk, we'll explore how text is turned into numbers for computers to understand, a process known as embedding. Particularly, we’ll focus on sentence embeddings. - -Using easy-to-follow examples, we'll break down the different parts of the SentenceTransformers, which is a Python framework for state-of-the-art sentence, text and image embeddings. - -We'll discuss why making these embeddings accurately is important. We’ll talk about how to measure the quality of embeddings, whether you have (some) labels or not. We’ll specifically concentrate on the application scenario within conversational data. - +In the realm of natural language processing, the concept of embedding plays a pivotal role in understanding textual data. In this talk, we'll explore how text is turned into numbers for computers to understand, a process known as embedding. Particularly, we’ll focus on sentence embeddings. + +Using easy-to-follow examples, we'll break down the different parts of the SentenceTransformers, which is a Python framework for state-of-the-art sentence, text and image embeddings. + +We'll discuss why making these embeddings accurately is important. We’ll talk about how to measure the quality of embeddings, whether you have (some) labels or not. We’ll specifically concentrate on the application scenario within conversational data. + We'll also talk about the best-performing models for making these embeddings and how to fine-tune them with your own data. This talk aims to make these concepts easy to understand, so everyone can use them effectively. diff --git a/src/content/sessions/PZKNPZ.mdx b/src/content/sessions/PZKNPZ.mdx index 0b328d281..b5e2b640c 100644 --- a/src/content/sessions/PZKNPZ.mdx +++ b/src/content/sessions/PZKNPZ.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: unlock-the-power-of-dev-containers-consistent-environments-in-seconds speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: 'Unlock the Power of Dev Containers: Consistent Environments in Seconds!' track: DevOps and Infrastructure (Cloud & Hardware) @@ -23,8 +25,8 @@ tweet: 'Unlock the Power of Dev Containers: Build a Consistent Python Developmen website_url: https://ep2024.europython.eu/session/unlock-the-power-of-dev-containers-consistent-environments-in-seconds --- -In this talk, we will explore the basic concepts of Dev Containers and demonstrate how they can support your everyday development as a Python programmer, data scientist, or machine learning engineer. With Dev Containers, you can build a consistent development environment in seconds, no matter where you are or what tools you use. And you know what? The Development Container Specification is even open source. Say goodbye to the hassle of setting up your development environment from scratch every time you start a new project! - -We will start with a basic example and discuss how to set up a consistent Python development environment, including best practices for package management and GPU support. After this talk, you will be able to leverage the advantages of Dev Containers, allowing you to work from anywhere and be ready in seconds. - +In this talk, we will explore the basic concepts of Dev Containers and demonstrate how they can support your everyday development as a Python programmer, data scientist, or machine learning engineer. With Dev Containers, you can build a consistent development environment in seconds, no matter where you are or what tools you use. And you know what? The Development Container Specification is even open source. Say goodbye to the hassle of setting up your development environment from scratch every time you start a new project! + +We will start with a basic example and discuss how to set up a consistent Python development environment, including best practices for package management and GPU support. After this talk, you will be able to leverage the advantages of Dev Containers, allowing you to work from anywhere and be ready in seconds. + If you're tired of wasting time setting up your development environment and want to unlock the power of Dev Containers, then this talk is a must-attend for you! diff --git a/src/content/sessions/PZPES9.mdx b/src/content/sessions/PZPES9.mdx index a7faddb1e..a8129962f 100644 --- a/src/content/sessions/PZPES9.mdx +++ b/src/content/sessions/PZPES9.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: mutation-testing-in-python-with-cosmic-ray speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: Mutation Testing in Python with Cosmic Ray track: Testing and QA @@ -21,8 +23,8 @@ tweet: Learn how to perform mutation testing in Python with Cosmic Ray. website_url: https://ep2024.europython.eu/session/mutation-testing-in-python-with-cosmic-ray --- -Mutation testing is a technique for systematically mutating source code in order to validate test suites. It operates by making small changes to a program’s source code and then running a test suite; if the test suite ever succeeds on mutated code then a flag is raised. The goal is to check that a system’s test suite is sufficiently powerful to detect a large class of functionality-affecting changes, thereby helping ensure that the system functions as expected. While not in widespread use, mutation testing is a fascinating topic with great potential that has valuable lessons for the broader software development community. - -In this talk we’ll look at Cosmic Ray, an open-source mutation testing tool for Python. Mutation testing presents some difficult and fascinating challenges - both conceptually and from an implementation point of view - so we’ll look at how Cosmic Ray addresses (or plans to address) these complexities. While some of these details will necessarily be Python-specific, there are lessons in Cosmic Ray for the development of mutation in any language. - +Mutation testing is a technique for systematically mutating source code in order to validate test suites. It operates by making small changes to a program’s source code and then running a test suite; if the test suite ever succeeds on mutated code then a flag is raised. The goal is to check that a system’s test suite is sufficiently powerful to detect a large class of functionality-affecting changes, thereby helping ensure that the system functions as expected. While not in widespread use, mutation testing is a fascinating topic with great potential that has valuable lessons for the broader software development community. + +In this talk we’ll look at Cosmic Ray, an open-source mutation testing tool for Python. Mutation testing presents some difficult and fascinating challenges - both conceptually and from an implementation point of view - so we’ll look at how Cosmic Ray addresses (or plans to address) these complexities. While some of these details will necessarily be Python-specific, there are lessons in Cosmic Ray for the development of mutation in any language. + Mutation testing is still a rather exotic testing technique, but it can produce genuinely useful and surprising results. To show this, we’ll look at a number of cases where Cosmic Ray has helped developers improve their test suites and tighten up their implementations. diff --git a/src/content/sessions/Q8GTA3.mdx b/src/content/sessions/Q8GTA3.mdx index fb2fb2466..c7b431572 100644 --- a/src/content/sessions/Q8GTA3.mdx +++ b/src/content/sessions/Q8GTA3.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: advanced -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: descriptors-understanding-and-modifying-python-s-attribute-access speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: Descriptors - Understanding and Modifying Python's Attribute Access track: Python Internals & Ecosystem @@ -22,19 +24,19 @@ tweet: Learn how descriptors work and for what they can be used. Customizing att website_url: https://ep2024.europython.eu/session/descriptors-understanding-and-modifying-python-s-attribute-access --- -Descriptors are advanced Python features. -While it is possible to write Python programs without active knowledge of them, -knowing more about them facilitates a deeper understanding of the language. -With examples, you will learn how they work and how to write your own -descriptors. -Furthermore, you will understand when to use and when better not to use them. - -This tutorial is a systematic introduction to descriptors. -It covers all relevant information with a focus on practical applications for -common tasks. - -In hand-on sessions you will learn how to write your own descriptors that adapt -attribute access to your needs. -Use cases provide working code that can serve as a basis for your own solutions. -You will gain a deeper understanding of more advanced concepts that can help +Descriptors are advanced Python features. +While it is possible to write Python programs without active knowledge of them, +knowing more about them facilitates a deeper understanding of the language. +With examples, you will learn how they work and how to write your own +descriptors. +Furthermore, you will understand when to use and when better not to use them. + +This tutorial is a systematic introduction to descriptors. +It covers all relevant information with a focus on practical applications for +common tasks. + +In hand-on sessions you will learn how to write your own descriptors that adapt +attribute access to your needs. +Use cases provide working code that can serve as a basis for your own solutions. +You will gain a deeper understanding of more advanced concepts that can help to write better programs. diff --git a/src/content/sessions/QLNGZU.mdx b/src/content/sessions/QLNGZU.mdx index 8ba78c793..fb18ebf21 100644 --- a/src/content/sessions/QLNGZU.mdx +++ b/src/content/sessions/QLNGZU.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: what-do-lockfiles-pin-actually-let-s-dig-in-and-get-our-hands-dirty speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: What do lockfiles pin, *actually*? Let's dig in and get our hands dirty! track: Python Libraries & Tooling @@ -23,10 +25,10 @@ tweet: 'Workshop: Reproducible Python dep mgmt across envs (test, docs, prod) S website_url: https://ep2024.europython.eu/session/what-do-lockfiles-pin-actually-let-s-dig-in-and-get-our-hands-dirty --- -Reproducible dependency management across multiple environments is crucial yet often misunderstood. This hands-on workshop demystifies virtual environments, lockfiles, and how to avoid conflicts when a project needs different dependencies for tasks like testing, documentation, and production. - -You'll learn to maintain separate lockfiles per environment using pip's constraint files. Through live coding exercises, you'll set up a full-fledged GitHub project with GitHub Actions CI/CD pipelines that utilize tox/nox to run tests, build docs, and update lockfiles automatically. - -By the end, you'll have practiced implementing robust, reproducible environments tailored to each project context, ensuring seamless collaboration and deployment. - +Reproducible dependency management across multiple environments is crucial yet often misunderstood. This hands-on workshop demystifies virtual environments, lockfiles, and how to avoid conflicts when a project needs different dependencies for tasks like testing, documentation, and production. + +You'll learn to maintain separate lockfiles per environment using pip's constraint files. Through live coding exercises, you'll set up a full-fledged GitHub project with GitHub Actions CI/CD pipelines that utilize tox/nox to run tests, build docs, and update lockfiles automatically. + +By the end, you'll have practiced implementing robust, reproducible environments tailored to each project context, ensuring seamless collaboration and deployment. + Come and join a member of the PyPA and a seasoned contributor to the packaging ecosystem, including [`pip-tools`](https://pip-tools.rtfd.io), walk you through the intricacies of environment reproducibility. diff --git a/src/content/sessions/QPPRQQ.mdx b/src/content/sessions/QPPRQQ.mdx index d0964b5f9..8ca073916 100644 --- a/src/content/sessions/QPPRQQ.mdx +++ b/src/content/sessions/QPPRQQ.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: zero-trust-apis-with-python speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Zero Trust APIs with Python track: Security @@ -21,14 +23,14 @@ tweet: '' website_url: https://ep2024.europython.eu/session/zero-trust-apis-with-python --- -What does it take to deliver a properly secured API? When we think about API security, we first think of authentication and authorization. But there’s more to it. API security also includes protecting against SQL Injection attacks, Mass Assignment, Excessive Data Exposure, Server-Side Request Forgery (SSRS), and more. - -APIs are now the main attack vector on the Internet, and we gotta do something about it. Thankfully, Python boasts excellent libraries for API development, like FastAPI, the Django REST Framework, APIFlask, and more. When used properly, these libraries help us deliver secure APIs. - -In this talk, I’ll present a model of Zero Trust Security for APIs that applies robust data validation and sanitization across all data flows to help us deliver secure APIs. You’ll learn how your API design and implementation choices impact API security and how to discover and tackle vulnerabilities. - -We’ll walk through practical examples of SQL injection, mass assignment, big payload attacks, pagination attacks, and more. We’ll see how URL parameters and request payloads can become attack vectors when they’re not properly configured. - -You’ll also learn how to use tools like schemathesis and Spectral to automate and scale the process of detecting vulnerabilities in your APIs. - +What does it take to deliver a properly secured API? When we think about API security, we first think of authentication and authorization. But there’s more to it. API security also includes protecting against SQL Injection attacks, Mass Assignment, Excessive Data Exposure, Server-Side Request Forgery (SSRS), and more. + +APIs are now the main attack vector on the Internet, and we gotta do something about it. Thankfully, Python boasts excellent libraries for API development, like FastAPI, the Django REST Framework, APIFlask, and more. When used properly, these libraries help us deliver secure APIs. + +In this talk, I’ll present a model of Zero Trust Security for APIs that applies robust data validation and sanitization across all data flows to help us deliver secure APIs. You’ll learn how your API design and implementation choices impact API security and how to discover and tackle vulnerabilities. + +We’ll walk through practical examples of SQL injection, mass assignment, big payload attacks, pagination attacks, and more. We’ll see how URL parameters and request payloads can become attack vectors when they’re not properly configured. + +You’ll also learn how to use tools like schemathesis and Spectral to automate and scale the process of detecting vulnerabilities in your APIs. + By the end of this talk, you’ll be aware of the most important threats to our APIs and you’ll know how to discover and address them effectively. You’ll also get familiar with the concepts of API Security by Design, Shift-Left API Security, and Zero Trust APIs. diff --git a/src/content/sessions/QS8KJY.mdx b/src/content/sessions/QS8KJY.mdx index a658702f6..0e2f0c7d9 100644 --- a/src/content/sessions/QS8KJY.mdx +++ b/src/content/sessions/QS8KJY.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: observability-matters-empowering-python-developers-with-opentelemetry speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Observability Matters: Empowering Python Developers with OpenTelemetry.' track: DevOps and Infrastructure (Cloud & Hardware) @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/observability-matters-empowering-python-developers-with-opentelemetry --- -Have you seen platforms like LinkedIn or Instagram experiencing downtime? We know how frustrating it might have felt for users, don't we? To tackle this challenge, engineering teams utilize a variety of tools and practices to thoroughly understand the unexpected behavior of the system by tracing potential bottlenecks. We are living in an ever-growing distributed world, where applications are often segmented into various microservices to enhance agility and performance. This often increases complexity, leading to inevitable issues such as errors and latency. In this dynamic software landscape, Observability is no longer a mere luxury; it is a necessity. Organizations initially gravitate towards a particular tool for its ease of use. Later, after investing a significant amount of time and finances, if they choose to migrate, vendor lock-in becomes a major concern as each tool adheres to its own standards. - +Have you seen platforms like LinkedIn or Instagram experiencing downtime? We know how frustrating it might have felt for users, don't we? To tackle this challenge, engineering teams utilize a variety of tools and practices to thoroughly understand the unexpected behavior of the system by tracing potential bottlenecks. We are living in an ever-growing distributed world, where applications are often segmented into various microservices to enhance agility and performance. This often increases complexity, leading to inevitable issues such as errors and latency. In this dynamic software landscape, Observability is no longer a mere luxury; it is a necessity. Organizations initially gravitate towards a particular tool for its ease of use. Later, after investing a significant amount of time and finances, if they choose to migrate, vendor lock-in becomes a major concern as each tool adheres to its own standards. + However, when we encounter the term observability, our initial instinct is usually to attribute it solely to SRE concerns. Upon closer examination, one may realize that actually implementing observability is, in essence, more aligned with the developer domain. During this session, we will discuss the importance of observability and related challenges from a developer's perspective. The discussion will cover typical architectures, ranging from the ease of instrumenting our Python code to further data processing and the seamless export of telemetry data for analysis. Attendees will gain a deeper understanding of the significance of observability and how integrating open-source frameworks like OpenTelemetry promotes effective observability in a vendor-neutral way. diff --git a/src/content/sessions/QZAG8P.mdx b/src/content/sessions/QZAG8P.mdx new file mode 100644 index 000000000..1211a3d39 --- /dev/null +++ b/src/content/sessions/QZAG8P.mdx @@ -0,0 +1,27 @@ +--- +code: QZAG8P +delivery: in-person +duration: '30' +end: null +level: intermediate +next_talk: null +prev_talk: null +resources: null +room: null +slug: blender-from-zero-to-addon-in-30-mins +speakers: +- oliver-reischl +start: null +state: confirmed +submission_type: Talk +talks_after: null +talks_before: null +talks_in_parallel: null +title: Blender - From zero to addon in 30 mins +track: ~ None of these topics +tweet: If you hate repeating tasks in Blender, there is nothing more useful than a + proper Addon. I'll show you how one can easily +website_url: https://ep2024.europython.eu/session/blender-from-zero-to-addon-in-30-mins +--- + +Do you hate repeating, boring tasks in Blender? The way from an idea to a base addon is closer than you think! Watch me build a small addon for Blender in 30 mins or less! diff --git a/src/content/sessions/R3P9UX.mdx b/src/content/sessions/R3P9UX.mdx index a4c0b359c..4ca671f26 100644 --- a/src/content/sessions/R3P9UX.mdx +++ b/src/content/sessions/R3P9UX.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: dbt-python-how-to-write-reusable-and-testable-pipelines speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: DBT & Python - How to write reusable and testable pipelines track: 'PyData: Data Engineering' @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/dbt-python-how-to-write-reusable-and-testable-pipelines --- -The "data build tool" (DBT) was designed to unlock software engineering best practices for SQL-based data pipelines: pipelines as version controlled directed acyclic graphs (DAGs) consisting of testable and reusable nodes. With the increasing number of cloud data warehouses and data lakehouses that allow the native execution of Python code, DBT also added support for Python models. -In this talk, I will explain how Flatiron Health uses DBT to improve and extend lives by learning from the experience of every person with cancer. We will discuss an example project setup that uses SQL as well as Python models. I will share our experiences with unit and data testing as well as with writing a reusable variable library. +The "data build tool" (DBT) was designed to unlock software engineering best practices for SQL-based data pipelines: pipelines as version controlled directed acyclic graphs (DAGs) consisting of testable and reusable nodes. With the increasing number of cloud data warehouses and data lakehouses that allow the native execution of Python code, DBT also added support for Python models. +In this talk, I will explain how Flatiron Health uses DBT to improve and extend lives by learning from the experience of every person with cancer. We will discuss an example project setup that uses SQL as well as Python models. I will share our experiences with unit and data testing as well as with writing a reusable variable library. The talk is well-suited for anyone with prior data warehouse or data lakehouse experience who is curious how they can leverage DBT to write test-driven and reusable data piplines. The example project will use SQL, Python and Snowflake. diff --git a/src/content/sessions/R8UZNC.mdx b/src/content/sessions/R8UZNC.mdx index b30adce0e..d9b32135b 100644 --- a/src/content/sessions/R8UZNC.mdx +++ b/src/content/sessions/R8UZNC.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: which-llm-said-that-watermarking-generated-text speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Which LLM said that? - watermarking generated text track: 'PyData: LLMs' @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/which-llm-said-that-watermarking-generated-text --- -With the emergence of large generative language models there comes a problem of assigning the authorship of the AI-generated texts to its original source. This raises many concerns regarding eg. social engineering, fake news generation and cheating in many educational assignments. While there are several black-box methods for detecting if text was written by human or LLM they have significant issues. - +With the emergence of large generative language models there comes a problem of assigning the authorship of the AI-generated texts to its original source. This raises many concerns regarding eg. social engineering, fake news generation and cheating in many educational assignments. While there are several black-box methods for detecting if text was written by human or LLM they have significant issues. + I will discuss how by watermarking you can equip your LLM with a mechanism that undetectable to human eye can give you the means of verifying if it was the true source of a generated text. diff --git a/src/content/sessions/RSRDBM.mdx b/src/content/sessions/RSRDBM.mdx index 69856f7e3..1285e617b 100644 --- a/src/content/sessions/RSRDBM.mdx +++ b/src/content/sessions/RSRDBM.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: lies-damned-lies-and-large-language-models speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Lies, damned lies and large language models track: 'PyData: LLMs' @@ -22,8 +24,8 @@ tweet: Want to use LLMs, but are troubled by their tendency to hallucinate? Find website_url: https://ep2024.europython.eu/session/lies-damned-lies-and-large-language-models --- -Would you like to use large language models (LLMs) in your own project, but are troubled by their tendency to frequently “hallucinate”, or produce incorrect information? Have you ever wondered if there was a way to easily measure an LLM’s hallucination rate, and compare this against other models? And would you like to learn how to help LLMs produce more accurate information? - -In this talk, we’ll have a look at some of the main reasons that hallucinations occur in LLMs, and then focus on how we can measure one specific type of hallucination: the tendency of models to regurgitate misinformation that they have learned from their training data. We’ll explore how we can easily measure this type of hallucination in LLMs using a dataset called TruthfulQA in conjunction with Python tooling including Hugging Face’s `datasets` and `transformers` packages, and the `langchain` package. - +Would you like to use large language models (LLMs) in your own project, but are troubled by their tendency to frequently “hallucinate”, or produce incorrect information? Have you ever wondered if there was a way to easily measure an LLM’s hallucination rate, and compare this against other models? And would you like to learn how to help LLMs produce more accurate information? + +In this talk, we’ll have a look at some of the main reasons that hallucinations occur in LLMs, and then focus on how we can measure one specific type of hallucination: the tendency of models to regurgitate misinformation that they have learned from their training data. We’ll explore how we can easily measure this type of hallucination in LLMs using a dataset called TruthfulQA in conjunction with Python tooling including Hugging Face’s `datasets` and `transformers` packages, and the `langchain` package. + We’ll end by looking at recent initiatives to reduce hallucinations in LLMs, using a technique called retrieval augmented generation (RAG). We’ll look at how and why RAG makes LLMs less likely to hallucinate, and how this can help make these models more reliable and usable in a range of contexts. diff --git a/src/content/sessions/RZCCLV.mdx b/src/content/sessions/RZCCLV.mdx index a5a63ad23..9388b1009 100644 --- a/src/content/sessions/RZCCLV.mdx +++ b/src/content/sessions/RZCCLV.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: from-zero-to-mlops-an-open-source-stack-to-fight-spaghetti-ml speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: 'From zero to MLOps: An open source stack to fight spaghetti ML' track: 'PyData: Data Engineering' @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/from-zero-to-mlops-an-open-source-stack-to-fight-spaghetti-ml --- -The ecosystem of MLOps tools and platforms keeps growing by the year and it's difficult to stay up to date. Luckily our industry is now more mature and certain good practices are already well established, but it's still difficult for newcomers to navigate the complexity of production machine learning systems. - +The ecosystem of MLOps tools and platforms keeps growing by the year and it's difficult to stay up to date. Luckily our industry is now more mature and certain good practices are already well established, but it's still difficult for newcomers to navigate the complexity of production machine learning systems. + What are the minimal pieces that you need to build your MLOps stack? Is there a way to avoid vendor lock-in by stitching open source components together? What are the pros and cons of this approach? What have we learned since 2015, when the seminal Google paper "Hidden Technical Debt in Machine Learning Systems" appeared? diff --git a/src/content/sessions/SAWP3R.mdx b/src/content/sessions/SAWP3R.mdx index 188ae438f..dd3f99484 100644 --- a/src/content/sessions/SAWP3R.mdx +++ b/src/content/sessions/SAWP3R.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: pre-commit-to-better-code speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: (Pre-)Commit to Better Code track: Python Libraries & Tooling @@ -23,6 +25,6 @@ tweet: Want to write cleaner code with less effort? Pre-commit hooks make it eas website_url: https://ep2024.europython.eu/session/pre-commit-to-better-code --- -Maintaining code quality can be challenging, no matter the size of your project or number of contributors. Different team members may have different opinions on code styling and preferences for code structure, while solo contributors might find themselves spending a considerable amount of time making sure the code conforms to accepted conventions. However, manually inspecting and fixing issues in files is both tedious and error-prone. As such, computers are much more suited to this task than humans. Pre-commit hooks are a great way to have a computer handle this for you. - +Maintaining code quality can be challenging, no matter the size of your project or number of contributors. Different team members may have different opinions on code styling and preferences for code structure, while solo contributors might find themselves spending a considerable amount of time making sure the code conforms to accepted conventions. However, manually inspecting and fixing issues in files is both tedious and error-prone. As such, computers are much more suited to this task than humans. Pre-commit hooks are a great way to have a computer handle this for you. + Pre-commit hooks are code checks that run whenever you attempt to commit your changes with `git`. They can detect and, in some cases, automatically correct code-quality issues *before* they make it to your code base. In this tutorial, you will learn how to install and configure pre-commit hooks for your repository to ensure that only code that passes your checks makes it into your code base. We will also explore how to build custom pre-commit hooks for novel use cases. diff --git a/src/content/sessions/SGUYQL.mdx b/src/content/sessions/SGUYQL.mdx index 08164d9cc..f7358e14a 100644 --- a/src/content/sessions/SGUYQL.mdx +++ b/src/content/sessions/SGUYQL.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: tackling-thread-safety-in-python speakers: @@ -15,6 +16,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Tackling Thread Safety in Python track: Python Internals & Ecosystem @@ -22,6 +24,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/tackling-thread-safety-in-python --- -Thread safety is often overlooked when we start with Python for developing simple scripts. But the hidden monster will be unleashed when we try to run non-thread safe code in a multithreaded setup. - +Thread safety is often overlooked when we start with Python for developing simple scripts. But the hidden monster will be unleashed when we try to run non-thread safe code in a multithreaded setup. + We will discuss the problems which can happen when seemingly good code is run in a multithreaded environment. We will walk over the concept of race coditions, how Python’s GIL currently affects multithreading and will cover steps to fix thread unsafe code using synchronization primitives. diff --git a/src/content/sessions/SHUQ9L.mdx b/src/content/sessions/SHUQ9L.mdx index bf7e877d3..85ee5c45f 100644 --- a/src/content/sessions/SHUQ9L.mdx +++ b/src/content/sessions/SHUQ9L.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: best-practices-for-securely-consuming-open-source-in-python speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Best practices for securely consuming open source in Python track: Security @@ -22,15 +24,15 @@ tweet: Learn how to enhance Python OSS security with the Secure Supply Chain Con website_url: https://ep2024.europython.eu/session/best-practices-for-securely-consuming-open-source-in-python --- -The Python development landscape thrives on the extensive use of open-source libraries and frameworks. However, the growing prevalence of attacks targeting OSS underscores the need for robust security measures to consume open source. - -In this talk, we'll examine how the Secure Supply Chain Consumption Framework (S2C2F) can guide organizations in securely consuming Python OSS, utilizing tools such as pip, artifact managment, sboms and Dependabot. - -The S2C2F Framework was developed by Microsoft and later donated to the Open Source Security Foundation (OpenSSF). It provides a structured approach to enhancing the security of OSS consumption. - -We'll provide an overview of its core principles and maturity levels and discuss practical strategies for implementing S2C2F principles within Python projects, including dependency management with pip, artifact management, sboms, signatures, deny rules, forking policies and automated security updates with Dependabot. - -The S2C2F is a pragmatic approach to securing how you consume OSS. - It emphasizes the fundamental principles of knowing your OSS, preventing the introduction of vulnerable packages, and maintaining robust patch management. - +The Python development landscape thrives on the extensive use of open-source libraries and frameworks. However, the growing prevalence of attacks targeting OSS underscores the need for robust security measures to consume open source. + +In this talk, we'll examine how the Secure Supply Chain Consumption Framework (S2C2F) can guide organizations in securely consuming Python OSS, utilizing tools such as pip, artifact managment, sboms and Dependabot. + +The S2C2F Framework was developed by Microsoft and later donated to the Open Source Security Foundation (OpenSSF). It provides a structured approach to enhancing the security of OSS consumption. + +We'll provide an overview of its core principles and maturity levels and discuss practical strategies for implementing S2C2F principles within Python projects, including dependency management with pip, artifact management, sboms, signatures, deny rules, forking policies and automated security updates with Dependabot. + +The S2C2F is a pragmatic approach to securing how you consume OSS. + It emphasizes the fundamental principles of knowing your OSS, preventing the introduction of vulnerable packages, and maintaining robust patch management. + You will come away from this talk with practical tips and best practices on how to securely consume open source in python. diff --git a/src/content/sessions/SNZ9HV.mdx b/src/content/sessions/SNZ9HV.mdx index 982674ea6..19172721d 100644 --- a/src/content/sessions/SNZ9HV.mdx +++ b/src/content/sessions/SNZ9HV.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: how-to-deliver-3x-faster-with-effective-api-design speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: How to deliver 3x faster with effective API design track: Web technologies @@ -21,8 +23,8 @@ tweet: '' website_url: https://ep2024.europython.eu/session/how-to-deliver-3x-faster-with-effective-api-design --- -In today's fast-paced world, the ability to deliver new features quickly is crucial for product-oriented companies. In this talk, we'll dive into architectural patterns that optimize the delivery of multiple client implementations in complex client-server architectures. - -The advent of the mobile age has dramatically altered the landscape of typical client-server models. Delivering a new feature on multiple platforms is complicated and time-consuming because it requires several engineering teams to communicate extensively and separately code and test the same feature in different languages for each platform. Let's see how architectural patterns known as Backend for Frontend (BFF) and Server-driven UI can help with solving these challenges and what the limitations are. We'll explore Python optimizations, caching strategies, and SQLAlchemy preloading techniques, which were crucial to the success of the case study I will share. - +In today's fast-paced world, the ability to deliver new features quickly is crucial for product-oriented companies. In this talk, we'll dive into architectural patterns that optimize the delivery of multiple client implementations in complex client-server architectures. + +The advent of the mobile age has dramatically altered the landscape of typical client-server models. Delivering a new feature on multiple platforms is complicated and time-consuming because it requires several engineering teams to communicate extensively and separately code and test the same feature in different languages for each platform. Let's see how architectural patterns known as Backend for Frontend (BFF) and Server-driven UI can help with solving these challenges and what the limitations are. We'll explore Python optimizations, caching strategies, and SQLAlchemy preloading techniques, which were crucial to the success of the case study I will share. + This talk aims to provide you with an overview of useful architectural patterns, insights on how to implement and optimize them in Python, and strategies to make your product managers happy by shortening your time to production. diff --git a/src/content/sessions/SYKBQB.mdx b/src/content/sessions/SYKBQB.mdx index 6257b847d..c85b9e8a8 100644 --- a/src/content/sessions/SYKBQB.mdx +++ b/src/content/sessions/SYKBQB.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: automate-your-kitchen-with-python-applied-ai speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Automate Your Kitchen with Python & Applied AI track: 'PyData: Deep Learning, NLP, CV' @@ -22,10 +24,10 @@ tweet: Join me in this delicious adventure where we're reflecting on developing website_url: https://ep2024.europython.eu/session/automate-your-kitchen-with-python-applied-ai --- -Ever wished you had a smart fridge that both lists and alerts you with ingredients you have, to waste less food and make the best use of what you have through ingredient-recipe match? - -Bingo then that I'll share the story behind the creation of a Python-powered solution that maximizes ingredient usage, minimizes food waste by keeping track of your ingredients and streamlines the cooking process.😊💪 - -Let's explore together, how snapping a photo of your fridge to generating recipe suggestions based on available ingredients, this project embodies the creativity, problem-solving, and excitement inherent in project development. - +Ever wished you had a smart fridge that both lists and alerts you with ingredients you have, to waste less food and make the best use of what you have through ingredient-recipe match? + +Bingo then that I'll share the story behind the creation of a Python-powered solution that maximizes ingredient usage, minimizes food waste by keeping track of your ingredients and streamlines the cooking process.😊💪 + +Let's explore together, how snapping a photo of your fridge to generating recipe suggestions based on available ingredients, this project embodies the creativity, problem-solving, and excitement inherent in project development. + Join me as I recount the challenges, and lessons learned along the way, highlighting the transformative impact of project development on skill enhancement and contribution to boost the ways we think as developers. Whether you're a seasoned developer or a curious novice, this talk offers valuable insights into the joys and rewards of turning ideas into reality through coding. diff --git a/src/content/sessions/T3KP3H.mdx b/src/content/sessions/T3KP3H.mdx index ad6b4a6e0..30a84fbab 100644 --- a/src/content/sessions/T3KP3H.mdx +++ b/src/content/sessions/T3KP3H.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: earth-observation-through-large-vision-models speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: Earth Observation through Large Vision Models track: 'PyData: Deep Learning, NLP, CV' @@ -21,10 +23,10 @@ tweet: '' website_url: https://ep2024.europython.eu/session/earth-observation-through-large-vision-models --- -Ever wondered how location planning is done to build city infrastructure? Or when there is a disaster, how do we determine the possible affected areas and send reinforcements there? We require overhead imagery for that, which we mainly obtain from satellites. -European Space Agency has sent various satellites however, the dataset from these satellites is huge and may even contain multiple bands from the electromagnetic spectrum. Large AI models have a huge potential in this domain, if they are developed to work well with this dataset. -There are a lot of pre-trained Generative & Large Vision models on platforms like HuggingFace, Kaggle, etc., but these models do not integrate well with a specific domain like satellite datasets, hence the need to train or fine-tune them. In this talk, we are going to have a hands-on mini-tutorial in Python on how we can access open satellite datasets, fine-tune various Vision Models and Multimodals on it, and examine the following applications: - -- Identify what lies below the clouds in satellite imagery using the Generative Vision model. -- Perform Zero-Shot object detection in satellite images with human language input using Multimodals. +Ever wondered how location planning is done to build city infrastructure? Or when there is a disaster, how do we determine the possible affected areas and send reinforcements there? We require overhead imagery for that, which we mainly obtain from satellites. +European Space Agency has sent various satellites however, the dataset from these satellites is huge and may even contain multiple bands from the electromagnetic spectrum. Large AI models have a huge potential in this domain, if they are developed to work well with this dataset. +There are a lot of pre-trained Generative & Large Vision models on platforms like HuggingFace, Kaggle, etc., but these models do not integrate well with a specific domain like satellite datasets, hence the need to train or fine-tune them. In this talk, we are going to have a mini-tutorial in Python on how we can access open satellite datasets, fine-tune various Vision Models and Multimodals on it, and examine the following applications: + +- Perform Zero-Shot classification and object detection in satellite images with human language input using Multimodals. - Obtain high-resolution satellite imagery from lower resolution using the SuperResolution model. +- Identify what lies below the clouds in satellite imagery using the Generative Vision model. diff --git a/src/content/sessions/T3QAPN.mdx b/src/content/sessions/T3QAPN.mdx index 74aac8b1a..5e705cf5b 100644 --- a/src/content/sessions/T3QAPN.mdx +++ b/src/content/sessions/T3QAPN.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: build-the-right-thing-win-a-nobel-prize speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Build the Right Thing, Win a Nobel Prize track: Career, Life, Health @@ -23,8 +25,8 @@ tweet: "Not \u201Cbuilding the right thing\u201D is an issue that crops up all o website_url: https://ep2024.europython.eu/session/build-the-right-thing-win-a-nobel-prize --- -Early in physicist Richard Feynman’s career, he worked on the top-secret Manhattan Project, stepping in for someone who lost sight of the overall goal. The original employee forgot what he should have built, and got fired! By contrast, Feynman’s ability to understand the big picture and create something valuable kept him in the job, and later on helped him to do the valuable research that earned him the 1965 Nobel Prize in Physics. - -Fast-forward to the present, where the issue of not “building the right thing” crops up all over software development. There are a whole host of reasons we may not end up delivering what our user, stakeholder or team actually needs from us. - +Early in physicist Richard Feynman’s career, he worked on the top-secret Manhattan Project, stepping in for someone who lost sight of the overall goal. The original employee forgot what he should have built, and got fired! By contrast, Feynman’s ability to understand the big picture and create something valuable kept him in the job, and later on helped him to do the valuable research that earned him the 1965 Nobel Prize in Physics. + +Fast-forward to the present, where the issue of not “building the right thing” crops up all over software development. There are a whole host of reasons we may not end up delivering what our user, stakeholder or team actually needs from us. + In this talk, I'll help you make sure that whatever you create is valuable - or at the very least, Nobel Prize-winning. diff --git a/src/content/sessions/TAW7PN.mdx b/src/content/sessions/TAW7PN.mdx index f1f3c0cec..8034d327a 100644 --- a/src/content/sessions/TAW7PN.mdx +++ b/src/content/sessions/TAW7PN.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: impersonation-in-data-engineering-no-more-credentials-in-your-code speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Impersonation in Data Engineering: No More Credentials in Your Code!' track: 'PyData: Data Engineering' @@ -21,14 +23,14 @@ tweet: '' website_url: https://ep2024.europython.eu/session/impersonation-in-data-engineering-no-more-credentials-in-your-code --- -Imagine stepping into your dream job as a python data developer, ready to dive into coding and show your talent, only to run into missing database credentials that leave you idle for days due to slow interdepartmental communications and permission issues. Frustrating, right? - -In my talk, I'll showcase how we can make this whole process much easier. I’ll explain how using something called “Identity and Access Management” (IAM) lets everyone in a company, including machines, get to work without these annoying holdups. - -Surprised to hear that a machine like Airflow can have its own identity? I'll explain how we use something known as Workload Identity as a crucial part in this ecosystem integrating Airflow within our infrastructure. - -A central pillar of the discussion will be the role of impersonation in our setup - how it ties together various elements to enable a harmonious, secure, and maintainable infrastructure. The resulting architecture not only fosters an improved developer experience, faster project delivery, increased productivity and transparency, but also serves as a foundation for more advanced concepts such as data mesh implementation. - -Join me in this talk to discover the synergy of IAM, Workload Identity, and impersonation. Let's equip you with a model that promotes easy team onboarding, transparent access management, and a secure, frustration-free workspace focused on delivery. - +Imagine stepping into your dream job as a python data developer, ready to dive into coding and show your talent, only to run into missing database credentials that leave you idle for days due to slow interdepartmental communications and permission issues. Frustrating, right? + +In my talk, I'll showcase how we can make this whole process much easier. I’ll explain how using something called “Identity and Access Management” (IAM) lets everyone in a company, including machines, get to work without these annoying holdups. + +Surprised to hear that a machine like Airflow can have its own identity? I'll explain how we use something known as Workload Identity as a crucial part in this ecosystem integrating Airflow within our infrastructure. + +A central pillar of the discussion will be the role of impersonation in our setup - how it ties together various elements to enable a harmonious, secure, and maintainable infrastructure. The resulting architecture not only fosters an improved developer experience, faster project delivery, increased productivity and transparency, but also serves as a foundation for more advanced concepts such as data mesh implementation. + +Join me in this talk to discover the synergy of IAM, Workload Identity, and impersonation. Let's equip you with a model that promotes easy team onboarding, transparent access management, and a secure, frustration-free workspace focused on delivery. + And for those interested in having their code perform consistently, whether on a local machine or in the cloud, I will share a small but powerful Docker hack to achieve things consistently no matter where your code is running. diff --git a/src/content/sessions/TBBKAM.mdx b/src/content/sessions/TBBKAM.mdx index 7109d63f7..9c2d5cddb 100644 --- a/src/content/sessions/TBBKAM.mdx +++ b/src/content/sessions/TBBKAM.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: advanced -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: encrypted-computing-in-python-using-openfhe speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: "\u200B\u200BEncrypted computing in Python using OpenFHE" track: 'PyData: Research & Applications' @@ -21,11 +23,11 @@ tweet: '' website_url: https://ep2024.europython.eu/session/encrypted-computing-in-python-using-openfhe --- -Fully Homomorphic Encryption (FHE) is a privacy-enhancing technology that enables performing computations over encrypted data. FHE has recently seen a lot of progress, and commercial applications of FHE are now available. One of the main application domains for FHE is privacy-preserving machine learning. We introduce a Python interface for OpenFHE, a popular open-source FHE C++ software library that supports all common FHE schemes. OpenFHE is a NumFocus-sponsored open-source project that has been authored by a community of well-known FHE cryptographers and software engineers.The talk provides a high-level introduction to FHE and its applications, and then provides an overview of the Python API. Several examples are presented to both illustrate FHE concepts and show the practicality of the technology. - -More information about the OpenFHE project: -* Main website: https://www.openfhe.org/ ; -* OpenFHE discourse forum: https://openfhe.discourse.group/ ; -* Main OpenFHE repository: https://github.com/openfheorg/openfhe-development ; -* OpenFHE organization: https://github.com/openfheorg ; +Fully Homomorphic Encryption (FHE) is a privacy-enhancing technology that enables performing computations over encrypted data. FHE has recently seen a lot of progress, and commercial applications of FHE are now available. One of the main application domains for FHE is privacy-preserving machine learning. We introduce a Python interface for OpenFHE, a popular open-source FHE C++ software library that supports all common FHE schemes. OpenFHE is a NumFocus-sponsored open-source project that has been authored by a community of well-known FHE cryptographers and software engineers.The talk provides a high-level introduction to FHE and its applications, and then provides an overview of the Python API. Several examples are presented to both illustrate FHE concepts and show the practicality of the technology. + +More information about the OpenFHE project: +* Main website: https://www.openfhe.org/ ; +* OpenFHE discourse forum: https://openfhe.discourse.group/ ; +* Main OpenFHE repository: https://github.com/openfheorg/openfhe-development ; +* OpenFHE organization: https://github.com/openfheorg ; * Main OpenFHE design paper: https://eprint.iacr.org/2022/915 ; diff --git a/src/content/sessions/TLHPWB.mdx b/src/content/sessions/TLHPWB.mdx index fd6a9abc8..ca4765e05 100644 --- a/src/content/sessions/TLHPWB.mdx +++ b/src/content/sessions/TLHPWB.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '60' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: stop-using-setup-py speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Poster talks_after: null +talks_before: null talks_in_parallel: null title: Stop using setup.py! track: Python Libraries & Tooling @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/stop-using-setup-py --- -The new pyproject.toml file gains in popularity. Together with it, some changed to existing packaging tools are happening, especially to setuptools and distutils. The first one is moving away from setup.py support, and the other one was removed from stdlib and merged into the setuptools itself. - +The new pyproject.toml file gains in popularity. Together with it, some changed to existing packaging tools are happening, especially to setuptools and distutils. The first one is moving away from setup.py support, and the other one was removed from stdlib and merged into the setuptools itself. + But that change isn't scary or bad! Come to my poster and I'll show you how you can migrate away from setup.py while still using setuptools like nothing ever changed! diff --git a/src/content/sessions/TTN3RZ.mdx b/src/content/sessions/TTN3RZ.mdx index 61bc37d30..ab41cccf0 100644 --- a/src/content/sessions/TTN3RZ.mdx +++ b/src/content/sessions/TTN3RZ.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: advanced -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: event-sourcing-in-production speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Event Sourcing in production track: Software Engineering & Architecture @@ -21,26 +23,26 @@ tweet: 'Lessons learnt from running Event Sourcing in production: patterns and p website_url: https://ep2024.europython.eu/session/event-sourcing-in-production --- -Event Sourcing (ES) is a powerful concept that lets you adapt your business logic without losing data and past states. -Whether your domain understanding changes or new requirements land on your lap, there is a path forward. -Join us as we talk about some real-world tactics we relied on to manage Event Sourcing in production. -We will accumulate a handful of patterns throughout the talk that will hopefully help you avoid pitfalls and bottlenecks. - -Our use cases build on the `eventsourcing` library, a mature and well-rounded Python library that deserves more attention. -We will tackle the three key aspects of a successful event-sourced application: evolution, projection, and runtime. - -Software does not run in a vacuum, models need to change and evolve to reflect the world they live in. -ES records the evolution of how we abstract our domain, how we see things. -Eventually these abstractions can become clumsy or simply inappropriate. -We can deal with that without breaking stride (losing data). - -ES also gives us the ability to revisit our perspective and change how we present the application state — by creating new projections and replaying the history. -We will look at how it offers a cheap way to support optimal read-models, which we can can tweak and rebuild in the blink of an eye. - -Finally, we will present how such a system actually runs in a typical web application. -Whether in the request loop (synchronous), or through eventual consistency (asynchronous). -As a single process, or distributed for parallel processing. - ---- - +Event Sourcing (ES) is a powerful concept that lets you adapt your business logic without losing data and past states. +Whether your domain understanding changes or new requirements land on your lap, there is a path forward. +Join us as we talk about some real-world tactics we relied on to manage Event Sourcing in production. +We will accumulate a handful of patterns throughout the talk that will hopefully help you avoid pitfalls and bottlenecks. + +Our use cases build on the `eventsourcing` library, a mature and well-rounded Python library that deserves more attention. +We will tackle the three key aspects of a successful event-sourced application: evolution, projection, and runtime. + +Software does not run in a vacuum, models need to change and evolve to reflect the world they live in. +ES records the evolution of how we abstract our domain, how we see things. +Eventually these abstractions can become clumsy or simply inappropriate. +We can deal with that without breaking stride (losing data). + +ES also gives us the ability to revisit our perspective and change how we present the application state — by creating new projections and replaying the history. +We will look at how it offers a cheap way to support optimal read-models, which we can can tweak and rebuild in the blink of an eye. + +Finally, we will present how such a system actually runs in a typical web application. +Whether in the request loop (synchronous), or through eventual consistency (asynchronous). +As a single process, or distributed for parallel processing. + +--- + This talk assumes some familiarity with _Event Sourcing_ and its friends _Domain Driven Design_ (DDD) and _Command Query Responsibility Seggregation_ (CQRS). diff --git a/src/content/sessions/TWTMKL.mdx b/src/content/sessions/TWTMKL.mdx index 54554521b..0fe83226e 100644 --- a/src/content/sessions/TWTMKL.mdx +++ b/src/content/sessions/TWTMKL.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: beyond-the-trend-authentic-approaches-to-foster-diversity-in-open-source speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: 'Beyond the Trend: Authentic Approaches to Foster Diversity in Open Source' track: Education, Community & Diversity @@ -23,7 +25,7 @@ tweet: Open source is only possibly through open collaboration, and collaboratio website_url: https://ep2024.europython.eu/session/beyond-the-trend-authentic-approaches-to-foster-diversity-in-open-source --- -Open source is only possibly through open collaboration, and collaboration is only successful through open-mindedness to new and different perspectives. Yet, there are still many challenges when it comes to diversity in open source. How do we intentionally diversify while still being genuine? What can we do to make it feel authentic and not just like we are filling quotas? Join this talk to learn how to avoid common pitfalls of Diversity, Equity, and Inclusion (DE&I) efforts with concrete examples that can be implemented right away, and get a new perspective in diversifying open source, as Jessica shares her journey as a blind woman in tech. - - +Open source is only possibly through open collaboration, and collaboration is only successful through open-mindedness to new and different perspectives. Yet, there are still many challenges when it comes to diversity in open source. How do we intentionally diversify while still being genuine? What can we do to make it feel authentic and not just like we are filling quotas? Join this talk to learn how to avoid common pitfalls of Diversity, Equity, and Inclusion (DE&I) efforts with concrete examples that can be implemented right away, and get a new perspective in diversifying open source, as Jessica shares her journey as a blind woman in tech. + + We will dive into how we make our project, team, or workplace more diverse by following a story from someone in multiple minority groups, shedding light on some of the right reasons to diversify with concrete examples that can be efficiently implemented right away. diff --git a/src/content/sessions/U7UMBE.mdx b/src/content/sessions/U7UMBE.mdx index 6dca57d9d..89565dfb8 100644 --- a/src/content/sessions/U7UMBE.mdx +++ b/src/content/sessions/U7UMBE.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: event-sourcing-from-the-ground-up speakers: @@ -15,6 +16,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: Event Sourcing From The Ground Up track: Software Engineering & Architecture @@ -23,25 +25,25 @@ tweet: Interested in Event Sourcing? Join the tutorial "Event Sourcing From The website_url: https://ep2024.europython.eu/session/event-sourcing-from-the-ground-up --- -We often think about data in terms of storing the current state of our models. If a chess player moves a piece, we update the state of the board and persist it. This makes it easy to query the current state of the game, but also poses some challenges: How do we know which moves led up to the current state? And how do we ensure that the state remains consistent, even in a distributed system? - -**Event Sourcing** takes a different approach to storing state. Instead of storing the current state as-is, we store the *sequence of events* that led to the current state. If we need to know the current state, we can replay this immutable record of events to reconstruct it. Not only does this give us an immutable audit log, this also promotes loose coupling and enables optimistic concurrency. - -In this tutorial, we are going to build an “Event Sourcing”-based backend for an in-browser game from the ground up. Rather than using a framework that abstracts away some of the core principles, we are going to implement the mechanisms ourselves to help us understand the core principles. - -### Outline -- Introduction to Event Sourcing and Domain-Driven Design -- Modeling the events in our game -- Implementing our first events and our aggregate -- Reconstructing state from events -- Optimistic concurrency -- Beyond this tutorial + Q&A - -### Audience & Preparation -This tutorial is for you if you’re interested in Event Sourcing but don’t have any real experience with it yet. We do expect you to have at least an intermediate level in Python. - -Do make sure to bring your laptop, **with the following tools installed**: -- Python 3.12 -- A container runtime (preferably Docker) -- Git +We often think about data in terms of storing the current state of our models. If a chess player moves a piece, we update the state of the board and persist it. This makes it easy to query the current state of the game, but also poses some challenges: How do we know which moves led up to the current state? And how do we ensure that the state remains consistent, even in a distributed system? + +**Event Sourcing** takes a different approach to storing state. Instead of storing the current state as-is, we store the *sequence of events* that led to the current state. If we need to know the current state, we can replay this immutable record of events to reconstruct it. Not only does this give us an immutable audit log, this also promotes loose coupling and enables optimistic concurrency. + +In this tutorial, we are going to build an “Event Sourcing”-based backend for an in-browser game from the ground up. Rather than using a framework that abstracts away some of the core principles, we are going to implement the mechanisms ourselves to help us understand the core principles. + +### Outline +- Introduction to Event Sourcing and Domain-Driven Design +- Modeling the events in our game +- Implementing our first events and our aggregate +- Reconstructing state from events +- Optimistic concurrency +- Beyond this tutorial + Q&A + +### Audience & Preparation +This tutorial is for you if you’re interested in Event Sourcing but don’t have any real experience with it yet. We do expect you to have at least an intermediate level in Python. + +Do make sure to bring your laptop, **with the following tools installed**: +- Python 3.12 +- A container runtime (preferably Docker) +- Git - Your favorite editor diff --git a/src/content/sessions/U9MDSV.mdx b/src/content/sessions/U9MDSV.mdx index a0c75ea90..9266861dc 100644 --- a/src/content/sessions/U9MDSV.mdx +++ b/src/content/sessions/U9MDSV.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: advanced -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: how-to-build-a-python-to-c-compiler-out-of-spare-parts-and-why speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: How to Build a Python-to-C++ Compiler out of Spare Parts - and Why track: Python Internals & Ecosystem @@ -21,16 +23,16 @@ tweet: '' website_url: https://ep2024.europython.eu/session/how-to-build-a-python-to-c-compiler-out-of-spare-parts-and-why --- -A frequent topic about Python is performance: its interpreted nature inhibits optimisations, and the famous GIL limits parallelism (for now!). - -Existing Python Compilers - Cython, Numba, Codon - focus mainly on compiling small, critical bits of code to achieve linear execution speedups. As for parallelism: parallel for-loops powered by OpenMP. - -To parallelize highly concurrent programs with concurrent I/O and concurrent tasks, we need more. A key difference is it requires compiling everything: as soon as the Python interpreter comes into play, the GIL will make parallelism collapse. - -We introduce Typon, a Python-to-C++ compiler with powerful concurrency primitives powered by a crazy homemade task scheduler. It can take untyped, idiomatic Python code and output C++ code fully independent of the Python interpreter. It also provides seamless to-and-from Python interoperability, for those cases where you really just need to import numpy. - -In this talk we'll recount our journey so far: why we think it's important, how we're making something new out of existing bits, what we've achieved. Along the way we might delve into fun details like type inference, concurrency primitives, and C++ pretending-to-be-Python. - -You'll come out of this talk with some cool insights into compiler design, concurrency, and the design of Python. - +A frequent topic about Python is performance: its interpreted nature inhibits optimisations, and the famous GIL limits parallelism (for now!). + +Existing Python Compilers - Cython, Numba, Codon - focus mainly on compiling small, critical bits of code to achieve linear execution speedups. As for parallelism: parallel for-loops powered by OpenMP. + +To parallelize highly concurrent programs with concurrent I/O and concurrent tasks, we need more. A key difference is it requires compiling everything: as soon as the Python interpreter comes into play, the GIL will make parallelism collapse. + +We introduce Typon, a Python-to-C++ compiler with powerful concurrency primitives powered by a crazy homemade task scheduler. It can take untyped, idiomatic Python code and output C++ code fully independent of the Python interpreter. It also provides seamless to-and-from Python interoperability, for those cases where you really just need to import numpy. + +In this talk we'll recount our journey so far: why we think it's important, how we're making something new out of existing bits, what we've achieved. Along the way we might delve into fun details like type inference, concurrency primitives, and C++ pretending-to-be-Python. + +You'll come out of this talk with some cool insights into compiler design, concurrency, and the design of Python. + Knowledge of C++ not required. Knowledge of Python language inner workings helpful. diff --git a/src/content/sessions/UFURPH.mdx b/src/content/sessions/UFURPH.mdx index 7721f3a77..23c8c01d4 100644 --- a/src/content/sessions/UFURPH.mdx +++ b/src/content/sessions/UFURPH.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: compiledpoem-py-teaching-about-diversity-and-python-through-poem speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: 'CompiledPoem.py: Teaching about diversity and Python through poem' track: Education, Community & Diversity diff --git a/src/content/sessions/UPWH7Z.mdx b/src/content/sessions/UPWH7Z.mdx index 1bd10d409..6993e9600 100644 --- a/src/content/sessions/UPWH7Z.mdx +++ b/src/content/sessions/UPWH7Z.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: keeping-your-projects-nice-and-clean speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Keeping your projects nice and clean track: Python Libraries & Tooling @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/keeping-your-projects-nice-and-clean --- -Keeping your projects nice and clean helps other to understand your code better and it's crucial when you're working in teams of more than a few people. How do you achieve that? - +Keeping your projects nice and clean helps other to understand your code better and it's crucial when you're working in teams of more than a few people. How do you achieve that? + I'll talk about selected quality control tools, autoformatters, CI, but also about conventions, review process and other details of how we tackle this problem in my workplace. I'll discuss how to introduce changes gradually and keep your repository style and quality checks in sync, even when you have dozens of them. And also about what happens when you overdo it and the tools that should make your life easier actually turn into the torturing machine. diff --git a/src/content/sessions/UR9KUK.mdx b/src/content/sessions/UR9KUK.mdx index c0058517c..d44926877 100644 --- a/src/content/sessions/UR9KUK.mdx +++ b/src/content/sessions/UR9KUK.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: profiling-python-code speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: Profiling Python Code track: Python Libraries & Tooling @@ -22,15 +24,15 @@ tweet: From my survey more then 50% of python developers do not use profiling. I website_url: https://ep2024.europython.eu/session/profiling-python-code --- -During my talk at python users group meetup about using Linux perf profiling in python 3.12 I asked the audience how they find performance issues in their Python code. Out of all respondents: - * More than half simply read the code and find issues with their eyes; - * 10% don't face such problems at all; - * The rest use various profilers. - -In this workshop, I would like to influence this distribution and for this. - -At the beginning, we will consider the application of CPU profiling to find bottlenecks. We will see how convenient it is to read information with a large volume of reports. How we can first localize to problematic functions, and then to specific lines of code. We will be helped by tools such as **pytest-benchmark**, **cProfile** and **line_profiler**. - -Next, it is worth separately considering the problem of memory consumption by our code in Python and looking for places where we do not release it with **memory_profiler** and **py-spy**. - +During my talk at python users group meetup about using Linux perf profiling in python 3.12 I asked the audience how they find performance issues in their Python code. Out of all respondents: + * More than half simply read the code and find issues with their eyes; + * 10% don't face such problems at all; + * The rest use various profilers. + +In this workshop, I would like to influence this distribution and for this. + +At the beginning, we will consider the application of CPU profiling to find bottlenecks. We will see how convenient it is to read information with a large volume of reports. How we can first localize to problematic functions, and then to specific lines of code. We will be helped by tools such as **pytest-benchmark**, **cProfile** and **line_profiler**. + +Next, it is worth separately considering the problem of memory consumption by our code in Python and looking for places where we do not release it with **memory_profiler** and **py-spy**. + Each workshop block will be accompanied by an example and a practical task that you can solve on your laptop. And along the way, ask questions, share results, and discuss the topic of the workshop with other participants and the presenter. diff --git a/src/content/sessions/UY8ZWT.mdx b/src/content/sessions/UY8ZWT.mdx index f82ee140b..1397965e0 100644 --- a/src/content/sessions/UY8ZWT.mdx +++ b/src/content/sessions/UY8ZWT.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: autoinstrumentation-adventures-enhancing-python-apps-with-opentelemetry speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: 'Autoinstrumentation Adventures: enhancing Python apps with OpenTelemetry' track: Python Libraries & Tooling @@ -21,12 +23,12 @@ tweet: '' website_url: https://ep2024.europython.eu/session/autoinstrumentation-adventures-enhancing-python-apps-with-opentelemetry --- -Hey there, fellow Python enthusiasts! Are you ready to dive into the exciting world of application observability without getting your hands too dirty with complex instrumentation? If that sounds like a journey you'd be interested in, then you're in for a treat! - -Observability is that magical window into the inner workings of our applications, allowing us to understand what's happening under the hood, troubleshoot issues, and ensure everything is running smoothly. However, achieving this level of insight can sometimes feel like a daunting task. That's where OpenTelemetry comes into play, simplifying the entire process and making it accessible to everyone, not just the observability wizards. - -In our session, we'll start with the basics: what OpenTelemetry is and the problems it aims to solve (and those it doesn't). We'll demystify the concept of instrumentation—the process of embedding observability into your applications—and show you how OpenTelemetry makes this not only possible but painless. - -The heart of our talk will be focused on autoinstrumentation, a magical feature of OpenTelemetry that automates the task of adding observability to your Python projects. Imagine being able to get detailed insights into your application's performance and behavior without having to manually instrument every nook and cranny. Sounds like a dream, right? - +Hey there, fellow Python enthusiasts! Are you ready to dive into the exciting world of application observability without getting your hands too dirty with complex instrumentation? If that sounds like a journey you'd be interested in, then you're in for a treat! + +Observability is that magical window into the inner workings of our applications, allowing us to understand what's happening under the hood, troubleshoot issues, and ensure everything is running smoothly. However, achieving this level of insight can sometimes feel like a daunting task. That's where OpenTelemetry comes into play, simplifying the entire process and making it accessible to everyone, not just the observability wizards. + +In our session, we'll start with the basics: what OpenTelemetry is and the problems it aims to solve (and those it doesn't). We'll demystify the concept of instrumentation—the process of embedding observability into your applications—and show you how OpenTelemetry makes this not only possible but painless. + +The heart of our talk will be focused on autoinstrumentation, a magical feature of OpenTelemetry that automates the task of adding observability to your Python projects. Imagine being able to get detailed insights into your application's performance and behavior without having to manually instrument every nook and cranny. Sounds like a dream, right? + And because we believe in learning by doing, we'll walk you through a small but mighty demo. You'll see firsthand how effortlessly you can implement OpenTelemetry in your own Python applications, turning the daunting into the doable. diff --git a/src/content/sessions/V3C9ED.mdx b/src/content/sessions/V3C9ED.mdx index bc0ea081b..1e214760d 100644 --- a/src/content/sessions/V3C9ED.mdx +++ b/src/content/sessions/V3C9ED.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: pytest-tips-and-tricks-for-a-better-testsuite speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: pytest tips and tricks for a better testsuite track: Testing and QA @@ -23,8 +25,8 @@ tweet: 'The #pytest tool presents a rapid and simple way to write tests for your website_url: https://ep2024.europython.eu/session/pytest-tips-and-tricks-for-a-better-testsuite --- -pytest lets you write simple tests fast - but also scales to very complex scenarios: Beyond the basics of no-boilerplate test functions, this training will show various intermediate/advanced features, as well as gems and tricks. - -To attend this training, you should already be familiar with the pytest basics (e.g. writing test functions, parametrize, or what a fixture is) and want to learn how to take the next step to improve your test suites. - +pytest lets you write simple tests fast - but also scales to very complex scenarios: Beyond the basics of no-boilerplate test functions, this training will show various intermediate/advanced features, as well as gems and tricks. + +To attend this training, you should already be familiar with the pytest basics (e.g. writing test functions, parametrize, or what a fixture is) and want to learn how to take the next step to improve your test suites. + If you're already familiar with things like fixture caching scopes, autouse, or using the built-in `tmp_path`/`monkeypatch`/... fixtures: There will probably be some slides about concepts you already know, but there are also various little hidden tricks and gems I'll be showing. diff --git a/src/content/sessions/VBHMEL.mdx b/src/content/sessions/VBHMEL.mdx index a2a736a3c..2f74052e3 100644 --- a/src/content/sessions/VBHMEL.mdx +++ b/src/content/sessions/VBHMEL.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: unlocking-mixture-of-experts-from-1-know-it-all-to-group-of-jedi-masters speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Unlocking Mixture of Experts : From 1 Know-it-all to group of Jedi Masters' track: 'PyData: Deep Learning, NLP, CV' @@ -22,10 +24,10 @@ tweet: 'At almost equal expense, who''d you hire : A group of experts OR one fai website_url: https://ep2024.europython.eu/session/unlocking-mixture-of-experts-from-1-know-it-all-to-group-of-jedi-masters --- -Answer this : In critical domains like Healthcare would you prefer a Jack-of-all-trades OR one Yoda, the master? - -Join me on an exhilarating journey as we delve deep into the Mixture of Experts (MoE) technique which is a practical and intuitive next-step to elevate predictive powers of generalised know-it-all models. - -A powerful approach to solve a variety of ML tasks, MoE operates on the principle of Divide and Conquer with some less obvious limitations, pros, and cons. You’ll go through a captivating exploration of insights, intuitive reasoning, solid mathematical underpinnings, and a treasure trove of interesting examples! - +Answer this : In critical domains like Healthcare would you prefer a Jack-of-all-trades OR one Yoda, the master? + +Join me on an exhilarating journey as we delve deep into the Mixture of Experts (MoE) technique which is a practical and intuitive next-step to elevate predictive powers of generalised know-it-all models. + +A powerful approach to solve a variety of ML tasks, MoE operates on the principle of Divide and Conquer with some less obvious limitations, pros, and cons. You’ll go through a captivating exploration of insights, intuitive reasoning, solid mathematical underpinnings, and a treasure trove of interesting examples! + We'll kick off by surveying the landscape, from ensemble models to stacked estimators, gradually ascending towards the pinnacle of MoE. Along the way, we'll explore challenges, alternative routes, and the crucial art of knowing when to wield the MoE magic—AND when to hold back. Brace yourselves for a business-oriented finale, where we discuss metrics around cost, latency, and throughput for MoE models. And fear not! We'll wrap up with an array of resources equipping you to dive headfirst into pre-trained MoE models, fine-tune them, or even forge your own from scratch. May the force of Experts be with you !" diff --git a/src/content/sessions/VDDTBS.mdx b/src/content/sessions/VDDTBS.mdx index 3a18b4068..fe3b401c7 100644 --- a/src/content/sessions/VDDTBS.mdx +++ b/src/content/sessions/VDDTBS.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: advanced -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: is-rag-all-you-need-a-look-at-the-limits-of-retrieval-augmented-generation speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: Is RAG all you need? A look at the limits of retrieval augmented generation track: 'PyData: LLMs' @@ -23,6 +25,6 @@ tweet: "Improving your LLM's output with RAG feels like \u2728 magic \u2728: eff website_url: https://ep2024.europython.eu/session/is-rag-all-you-need-a-look-at-the-limits-of-retrieval-augmented-generation --- -Retrieval-Augmented Generation (RAG) is a widely adopted technique to expand the knowledge of LLMs within a specific domain while mitigating hallucinations. However, it is not a silver bullet that is often claimed to be. A chatbot for developer documentation and one for medical advice may be based on the same architecture, but they have vastly different quality, transparency and consistency requirements. Getting RAG to work well on both can be far from trivial. - +Retrieval-Augmented Generation (RAG) is a widely adopted technique to expand the knowledge of LLMs within a specific domain while mitigating hallucinations. However, it is not a silver bullet that is often claimed to be. A chatbot for developer documentation and one for medical advice may be based on the same architecture, but they have vastly different quality, transparency and consistency requirements. Getting RAG to work well on both can be far from trivial. + In this talk we will first understand what RAG is, where it shines and why it works so well in these applications. Then we are going to see the most common failure modes and walk through a few of them to evaluate whether RAG is a suitable solution at all, how to improve the quality of the output, and when it's better to go for a different approach entirely. diff --git a/src/content/sessions/VFMXAD.mdx b/src/content/sessions/VFMXAD.mdx index f64a0a496..8a80686fc 100644 --- a/src/content/sessions/VFMXAD.mdx +++ b/src/content/sessions/VFMXAD.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: pep-639-towards-licensing-standardization-in-python-packaging speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: PEP 639 - Towards licensing standardization in Python packaging track: Python Libraries & Tooling diff --git a/src/content/sessions/VFV7HU.mdx b/src/content/sessions/VFV7HU.mdx index d2b184617..9a4fd108c 100644 --- a/src/content/sessions/VFV7HU.mdx +++ b/src/content/sessions/VFV7HU.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: tales-from-the-abyss-some-of-the-most-obscure-cpython-bugs speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Tales from the abyss: some of the most obscure CPython bugs' track: Python Internals & Ecosystem diff --git a/src/content/sessions/W97HPJ.mdx b/src/content/sessions/W97HPJ.mdx index 355bad997..2227114b8 100644 --- a/src/content/sessions/W97HPJ.mdx +++ b/src/content/sessions/W97HPJ.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: containerize-your-python-apps-like-it-s-2024 speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Containerize your Python apps like it's 2024 track: DevOps and Infrastructure (Cloud & Hardware) @@ -21,10 +23,10 @@ tweet: '' website_url: https://ep2024.europython.eu/session/containerize-your-python-apps-like-it-s-2024 --- -There are a lot of resources on containerizing Python applications with Docker, but most are basic and outdated. Following them results in slow builds and potentially insecure applications. Let's see how we can build better containers using recent Docker features! - -This talk will show how to speed up your builds and make your images smaller and more secure. We'll use features such as multi-stage builds or cache mounts to build containers with Python apps. We will also discuss how to improve the security of your container. - -Tips from the talk are valid for applications of all sizes and kinds: from hobby projects to enterprises, from CLI tools to web applications and APIs. You will be able to apply them immediately after the talk. - +There are a lot of resources on containerizing Python applications with Docker, but most are basic and outdated. Following them results in slow builds and potentially insecure applications. Let's see how we can build better containers using recent Docker features! + +This talk will show how to speed up your builds and make your images smaller and more secure. We'll use features such as multi-stage builds or cache mounts to build containers with Python apps. We will also discuss how to improve the security of your container. + +Tips from the talk are valid for applications of all sizes and kinds: from hobby projects to enterprises, from CLI tools to web applications and APIs. You will be able to apply them immediately after the talk. + Basic knowledge of Docker and its key concepts (images, layers, Dockerfile commands) is required. You'll learn something new even if you have used Docker for some time. diff --git a/src/content/sessions/WBFDNJ.mdx b/src/content/sessions/WBFDNJ.mdx index ab0a62fb4..b069f3df8 100644 --- a/src/content/sessions/WBFDNJ.mdx +++ b/src/content/sessions/WBFDNJ.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: how-i-used-pgvector-and-postgresql-r-to-find-pictures-of-me-at-a-party speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: "How I used pgvector and PostgreSQL\xAE to find pictures of me at a party" track: Python Libraries & Tooling @@ -21,12 +23,12 @@ tweet: "How I used PostgreSQL\xAE (and pgvector) to find pictures of me at a par website_url: https://ep2024.europython.eu/session/how-i-used-pgvector-and-postgresql-r-to-find-pictures-of-me-at-a-party --- -Nowadays, if you attend an event you're bound to end up with a catalogue of photographs to look at. Formal events are likely to have a professional photographer, and modern smartphones mean that it's easy to make a photographic record of just about any gathering. It can be fun to look through the pictures, to find yourself or your friends and family, but it can also be tedious. - -At our company get-together earlier in the year, the photographers did indeed take a lot of pictures. Afterwards the best of them were put up on our internal network - and like many people, I combed through them looking for those in which I appeared (yes, for vanity, but also with some amusement). - -In this talk, I'll explain how to automate finding the photographs I'm in (or at least, mostly so). I'll walk through Python code that extracts faces using OpenCV, calculates vector embeddings using imgbeddings and OpenAI, and stores them in PostgreSQL® using pgvector. Given all of that, I can then make an SQL query to find which pictures I'm in. - -Python is a good fit for data pipelines like this, as it has good bindings to machine learning packages, and excellent support for talking to PostgreSQL. - +Nowadays, if you attend an event you're bound to end up with a catalogue of photographs to look at. Formal events are likely to have a professional photographer, and modern smartphones mean that it's easy to make a photographic record of just about any gathering. It can be fun to look through the pictures, to find yourself or your friends and family, but it can also be tedious. + +At our company get-together earlier in the year, the photographers did indeed take a lot of pictures. Afterwards the best of them were put up on our internal network - and like many people, I combed through them looking for those in which I appeared (yes, for vanity, but also with some amusement). + +In this talk, I'll explain how to automate finding the photographs I'm in (or at least, mostly so). I'll walk through Python code that extracts faces using OpenCV, calculates vector embeddings using imgbeddings and OpenAI, and stores them in PostgreSQL® using pgvector. Given all of that, I can then make an SQL query to find which pictures I'm in. + +Python is a good fit for data pipelines like this, as it has good bindings to machine learning packages, and excellent support for talking to PostgreSQL. + You may be wondering why that sequence ends with PostgreSQL (and SQL) rather than something more machine learning specific. I'll talk about that as well, and in particular about how PostgreSQL allows us to cope when the amount of data gets too large to be handled locally, and how useful it is to be able to relate the similarity calculations to other columns in the database - in our case, perhaps including the image metadata. diff --git a/src/content/sessions/WKLEEW.mdx b/src/content/sessions/WKLEEW.mdx index b73240e6d..8c838950f 100644 --- a/src/content/sessions/WKLEEW.mdx +++ b/src/content/sessions/WKLEEW.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: logger-info-f-don-t-give-all-your-secrets-away speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: logger.info(f"Don't Give all your {secrets} away") track: Security @@ -21,12 +23,12 @@ tweet: '' website_url: https://ep2024.europython.eu/session/logger-info-f-don-t-give-all-your-secrets-away --- -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. - -My 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. - -This 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. - -I'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. - +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. + +My 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. + +This 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. + +I'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. + By 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. diff --git a/src/content/sessions/WP8MXM.mdx b/src/content/sessions/WP8MXM.mdx index 196996707..3c243cf3c 100644 --- a/src/content/sessions/WP8MXM.mdx +++ b/src/content/sessions/WP8MXM.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: building-scalable-multimodal-search-applications-with-python speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Building Scalable Multimodal Search Applications with Python track: 'PyData: Research & Applications' @@ -23,6 +25,6 @@ tweet: We will discuss how we can use open-source multimodal embedding models in website_url: https://ep2024.europython.eu/session/building-scalable-multimodal-search-applications-with-python --- -Many real-world problems are inherently multimodal, from the communicative modalities humans use such as spoken language and gestures to the force, sensory, and visual sensors used in robotics. For machine learning models to address these problems and interact more naturally and wholistically with the world around them and ultimately be more general and powerful reasoning engines, we need them to understand data across all of its corresponding images, video, text, audio, and tactile representations. - +Many real-world problems are inherently multimodal, from the communicative modalities humans use such as spoken language and gestures to the force, sensory, and visual sensors used in robotics. For machine learning models to address these problems and interact more naturally and wholistically with the world around them and ultimately be more general and powerful reasoning engines, we need them to understand data across all of its corresponding images, video, text, audio, and tactile representations. + In this talk, Zain Hasan will discuss how we can use open-source multimodal embedding models in conjunction with large generative multimodal models that can that can see, hear, read, and feel data(!), to perform cross-modal search(searching audio with images, videos with text etc.) and multimodal retrieval augmented generation (MM-RAG) at the billion-object scale with the help of open source vector databases. I will also demonstrate, with live code demos, how being able to perform this cross-modal retrieval in real-time can enables users to use LLMs that can reason over their enterprise multimodal data. This talk will revolve around how we can scale the usage of multimodal embedding and generative models in production. diff --git a/src/content/sessions/X7GUSW.mdx b/src/content/sessions/X7GUSW.mdx index 397b774b2..73d858628 100644 --- a/src/content/sessions/X7GUSW.mdx +++ b/src/content/sessions/X7GUSW.mdx @@ -4,8 +4,9 @@ delivery: remote duration: '30' end: null level: advanced -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: enterprise-python-software-that-lives-long-and-prosper speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Enterprise Python: Software That Lives Long And Prosper' track: Software Engineering & Architecture @@ -21,10 +23,10 @@ tweet: '' website_url: https://ep2024.europython.eu/session/enterprise-python-software-that-lives-long-and-prosper --- -Every day, as software continues to “eat the world”, applications increasingly grow in complexity. -Nowhere else is this phenomenon more prevalent than in big organizations, which over time have hired more people to develop and maintain more features. There, it is no longer possible to have a complete mental model of what is going on. -Enterprise software, when unchecked, bloats and becomes brittle. -Paradoxically, engineers build software to keep complexity at bay, not to create it. When writing code, the goal is to make processes less labor intensive and more reliable. Yet, enterprise software has become a black hole for man-hours. -Python disrupted Java to become the de facto programming language for enterprises precisely because it tackled this problem in a way that Java, or any other programming language, could not. -How is that so? This talk will dive deep into this exact question. What does Python offer that radically changed how software gets built in organizations, both big and small?. And why is it that newer languages that have come along, such as Go and Rust, haven’t been able to put a dent on its dominions, and have been forced to recede into niche use cases. +Every day, as software continues to “eat the world”, applications increasingly grow in complexity. +Nowhere else is this phenomenon more prevalent than in big organizations, which over time have hired more people to develop and maintain more features. There, it is no longer possible to have a complete mental model of what is going on. +Enterprise software, when unchecked, bloats and becomes brittle. +Paradoxically, engineers build software to keep complexity at bay, not to create it. When writing code, the goal is to make processes less labor intensive and more reliable. Yet, enterprise software has become a black hole for man-hours. +Python disrupted Java to become the de facto programming language for enterprises precisely because it tackled this problem in a way that Java, or any other programming language, could not. +How is that so? This talk will dive deep into this exact question. What does Python offer that radically changed how software gets built in organizations, both big and small?. And why is it that newer languages that have come along, such as Go and Rust, haven’t been able to put a dent on its dominions, and have been forced to recede into niche use cases. This talk is for engineers who want to understand and leverage Python to its maximum maintainability potential. They intuitively understand that Python is a great tool for that, but are unsure as to how to do it. diff --git a/src/content/sessions/X99G8E.mdx b/src/content/sessions/X99G8E.mdx index 9d8e5b14a..7bf91f3c1 100644 --- a/src/content/sessions/X99G8E.mdx +++ b/src/content/sessions/X99G8E.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: writing-python-modules-in-rust speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: Writing Python modules in Rust track: Python Libraries & Tooling diff --git a/src/content/sessions/XLGEHC.mdx b/src/content/sessions/XLGEHC.mdx index 41aed713a..f8a90cfd7 100644 --- a/src/content/sessions/XLGEHC.mdx +++ b/src/content/sessions/XLGEHC.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: effective-strategies-for-disability-inclusion-in-open-source-communities speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Effective Strategies for Disability Inclusion in Open Source Communities track: Education, Community & Diversity diff --git a/src/content/sessions/XLXNGG.mdx b/src/content/sessions/XLXNGG.mdx index 8a7f9394b..c6a0a6827 100644 --- a/src/content/sessions/XLXNGG.mdx +++ b/src/content/sessions/XLXNGG.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '180' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: gpu-development-in-python-101 speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Tutorial talks_after: null +talks_before: null talks_in_parallel: null title: GPU Development in Python 101 track: 'PyData: Software Packages & Jupyter' diff --git a/src/content/sessions/XPXYWD.mdx b/src/content/sessions/XPXYWD.mdx index dfeef7ad1..3ae2e690d 100644 --- a/src/content/sessions/XPXYWD.mdx +++ b/src/content/sessions/XPXYWD.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: python-observability-perfected-advanced-techniques-with-opentelemetry speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Python Observability Perfected: Advanced Techniques with OpenTelemetry' track: Software Engineering & Architecture @@ -22,10 +24,10 @@ tweet: Unlock the power of OpenTelemetry with Python for advanced system observa website_url: https://ep2024.europython.eu/session/python-observability-perfected-advanced-techniques-with-opentelemetry --- -In the evolving landscape of serverless and cloud technologies, Python stands out as a key player for building microservices. Yet, as these systems grow, tracking their performance and catching bugs become increasingly complex. - -This presentation introduces OpenTelemetry, a rising standard that equips us with tools to monitor not just Python code but also vital components like databases and message queues. It's designed to blend seamlessly with Python, offering a unified method to collect, process, and share telemetry data across different parts of a distributed system. - -This talk starts by discussing the importance of observability in modern distributed environments. Then, we'll dive into OpenTelemetry, focusing on its Python SDK's basics. We'll walk through a hands-on example, showing how to integrate OpenTelemetry into a Python project for automated and manual tracking. - +In the evolving landscape of serverless and cloud technologies, Python stands out as a key player for building microservices. Yet, as these systems grow, tracking their performance and catching bugs become increasingly complex. + +This presentation introduces OpenTelemetry, a rising standard that equips us with tools to monitor not just Python code but also vital components like databases and message queues. It's designed to blend seamlessly with Python, offering a unified method to collect, process, and share telemetry data across different parts of a distributed system. + +This talk starts by discussing the importance of observability in modern distributed environments. Then, we'll dive into OpenTelemetry, focusing on its Python SDK's basics. We'll walk through a hands-on example, showing how to integrate OpenTelemetry into a Python project for automated and manual tracking. + Finally, we'll explore how to leverage the insights gained from OpenTelemetry for more effective system monitoring, ensuring smoother operation and easier troubleshooting. diff --git a/src/content/sessions/XYXR3L.mdx b/src/content/sessions/XYXR3L.mdx index 0c8855a98..ea0a22ebd 100644 --- a/src/content/sessions/XYXR3L.mdx +++ b/src/content/sessions/XYXR3L.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: navigating-tech-leadership-challenges-and-strategies speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: 'Navigating Tech Leadership: Challenges and Strategies' track: Career, Life, Health @@ -21,10 +23,10 @@ tweet: '' website_url: https://ep2024.europython.eu/session/navigating-tech-leadership-challenges-and-strategies --- -Join us for a discussion on navigating tech leadership roles in the dynamic world of technology. - -In this talk, we will explore the essence of managerial roles in the tech industry, examining the unique challenges faced by leaders at different levels. We'll discuss the critical decision every developer must make regarding balancing or giving up hands-on expertise with management responsibilities, as well as the challenges of transitioning from a primarily technical role to a managerial position. - -Additionally, we'll explore the challenges that managees may face when led by managers and tech leads who may lack management training or experience. We'll also discuss strategies for fostering a more inclusive and supportive engineering culture overall. - +Join us for a discussion on navigating tech leadership roles in the dynamic world of technology. + +In this talk, we will explore the essence of managerial roles in the tech industry, examining the unique challenges faced by leaders at different levels. We'll discuss the critical decision every developer must make regarding balancing or giving up hands-on expertise with management responsibilities, as well as the challenges of transitioning from a primarily technical role to a managerial position. + +Additionally, we'll explore the challenges that managees may face when led by managers and tech leads who may lack management training or experience. We'll also discuss strategies for fostering a more inclusive and supportive engineering culture overall. + Let's talk about management in tech from the perspective of a tech lead that identifies as a woman. diff --git a/src/content/sessions/Y9QS39.mdx b/src/content/sessions/Y9QS39.mdx index 99bd83676..c4671e8dd 100644 --- a/src/content/sessions/Y9QS39.mdx +++ b/src/content/sessions/Y9QS39.mdx @@ -4,16 +4,18 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: fundamentals-of-retrieval-augmented-generation speakers: -- catalin +- catalin-hanga start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Fundamentals of Retrieval Augmented Generation track: 'PyData: LLMs' diff --git a/src/content/sessions/ZC37JC.mdx b/src/content/sessions/ZC37JC.mdx new file mode 100644 index 000000000..1471f4142 --- /dev/null +++ b/src/content/sessions/ZC37JC.mdx @@ -0,0 +1,25 @@ +--- +code: ZC37JC +delivery: in-person +duration: '30' +end: null +level: beginner +next_talk: null +prev_talk: null +resources: null +room: null +slug: lightening-talks-thursday +speakers: [] +start: null +state: confirmed +submission_type: Talk +talks_after: null +talks_before: null +talks_in_parallel: null +title: Lightening talks Thursday +track: null +tweet: '' +website_url: https://ep2024.europython.eu/session/lightening-talks-thursday +--- + +Enjoy Thursdays lightning talks. Short talks about everything by everyone. Hosted by your friendly EuroPython volunteer. diff --git a/src/content/sessions/ZSBJNR.mdx b/src/content/sessions/ZSBJNR.mdx index 716800c1d..a2b0e208e 100644 --- a/src/content/sessions/ZSBJNR.mdx +++ b/src/content/sessions/ZSBJNR.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: intermediate -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: invent-with-pyscript speakers: @@ -15,6 +16,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Invent with PyScript track: Python Libraries & Tooling @@ -23,10 +25,10 @@ tweet: Get loosey goosey about Python app development in the browser with Invent website_url: https://ep2024.europython.eu/session/invent-with-pyscript --- -_[PyScript](https://pyscript.net/) is a platform for Python in the browser_, enabled by [web-assembly](https://webassembly.org/). It brings the rich ecosystems of [CPython](https://python.org/) and [MicroPython](https://micropython.org) to the web. _[Invent](https://invent-framework.github.io/) is a PyScript based app creation framework with complementary browser based tooling_ and is designed to be easy to learn and use, no matter if you're a beginner or expert. - -This talk introduces Invent, explains how it was built on top of PyScript and describes the design and architecture decisions made to ensure Python and the browser complement each other. Invent apps work anywhere a browser works and by the end of this presentation you'll be armed with all you need to know to build, deploy and extend native Python based applications running atop PyScript on all manner of platforms (mobile, tablet, laptop, desktop, [web-enabled fridge](https://www.standard.co.uk/shopping/esbest/home-garden/kitchen-appliances/best-smart-fridges-b1002542.html), [car](https://www.youtube.com/watch?v=GkhbN9B9bbs), point of sale terminal... you name it, so long as there's a browser!). - -This talk will be fast-paced, technical, creative, full of possibilities, may include geese 🪿, _and will be a lot of geeky fun_. - +_[PyScript](https://pyscript.net/) is a platform for Python in the browser_, enabled by [web-assembly](https://webassembly.org/). It brings the rich ecosystems of [CPython](https://python.org/) and [MicroPython](https://micropython.org) to the web. _[Invent](https://invent-framework.github.io/) is a PyScript based app creation framework with complementary browser based tooling_ and is designed to be easy to learn and use, no matter if you're a beginner or expert. + +This talk introduces Invent, explains how it was built on top of PyScript and describes the design and architecture decisions made to ensure Python and the browser complement each other. Invent apps work anywhere a browser works and by the end of this presentation you'll be armed with all you need to know to build, deploy and extend native Python based applications running atop PyScript on all manner of platforms (mobile, tablet, laptop, desktop, [web-enabled fridge](https://www.standard.co.uk/shopping/esbest/home-garden/kitchen-appliances/best-smart-fridges-b1002542.html), [car](https://www.youtube.com/watch?v=GkhbN9B9bbs), point of sale terminal... you name it, so long as there's a browser!). + +This talk will be fast-paced, technical, creative, full of possibilities, may include geese 🪿, _and will be a lot of geeky fun_. + By the end you'll ask yourself, "I wonder what I can invent?" and go create cool stuff in minutes. diff --git a/src/content/sessions/ZWDDAT.mdx b/src/content/sessions/ZWDDAT.mdx index b9f6600d8..a78b8e7b8 100644 --- a/src/content/sessions/ZWDDAT.mdx +++ b/src/content/sessions/ZWDDAT.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '45' end: null level: advanced -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: spy-static-python-lang-fast-as-c-pythonic-as-python speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk (long session) talks_after: null +talks_before: null talks_in_parallel: null title: 'SPy (Static Python) lang: fast as C, Pythonic as Python' track: Python Internals & Ecosystem @@ -21,22 +23,22 @@ tweet: '' website_url: https://ep2024.europython.eu/session/spy-static-python-lang-fast-as-c-pythonic-as-python --- -SPy is a brand new statically typed variant of Python which aim to get performance comparable to system languages such as C and C++, while preserving the "Pythonic feeling" of the language. - -The main idea behind SPy is that "modern Python" is actually a subset of Python: - - - many of the most dynamic features of the language are considered bad practice and actively discouraged; - - - the alway-increasingly adoption of typing leads to codebases which are largerly statically typed. - -However, these rules are not enforced by the language, and there are cases in which "breaking the rules" is actually useful and make the code easier/better/faster. - -From the point of view of language implementors, the VM cannot easily take advantage of the "mostly static" nature of programs because it has always to be ready for the generic case. - -SPy tries to reconcile these two sides: - - - it uses a static type system which is designed specifically for safety and performance; - - - the vast majority of "dynamic" feature of Python (like decorators, metaclasses, `__special_methods__`, ...) can be used at zero cost, since they are resolved at compile time by using meta-programming and partial evaluation techniques. - +SPy is a brand new statically typed variant of Python which aim to get performance comparable to system languages such as C and C++, while preserving the "Pythonic feeling" of the language. + +The main idea behind SPy is that "modern Python" is actually a subset of Python: + + - many of the most dynamic features of the language are considered bad practice and actively discouraged; + + - the alway-increasingly adoption of typing leads to codebases which are largerly statically typed. + +However, these rules are not enforced by the language, and there are cases in which "breaking the rules" is actually useful and make the code easier/better/faster. + +From the point of view of language implementors, the VM cannot easily take advantage of the "mostly static" nature of programs because it has always to be ready for the generic case. + +SPy tries to reconcile these two sides: + + - it uses a static type system which is designed specifically for safety and performance; + + - the vast majority of "dynamic" feature of Python (like decorators, metaclasses, `__special_methods__`, ...) can be used at zero cost, since they are resolved at compile time by using meta-programming and partial evaluation techniques. + This talk will present in the details the ideas behind SPy and its current status. diff --git a/src/content/sessions/ZXXDBV.mdx b/src/content/sessions/ZXXDBV.mdx index 7f861a8c7..097a904e5 100644 --- a/src/content/sessions/ZXXDBV.mdx +++ b/src/content/sessions/ZXXDBV.mdx @@ -4,8 +4,9 @@ delivery: in-person duration: '30' end: null level: beginner -next_talk_code: null -prev_talk_code: null +next_talk: null +prev_talk: null +resources: null room: null slug: neurodiversity-in-the-it-industry-why-do-you-need-to-know-more-about-it speakers: @@ -14,6 +15,7 @@ start: null state: confirmed submission_type: Talk talks_after: null +talks_before: null talks_in_parallel: null title: Neurodiversity in the IT industry. Why DO you need to know more about it? track: Education, Community & Diversity @@ -21,6 +23,6 @@ tweet: '' website_url: https://ep2024.europython.eu/session/neurodiversity-in-the-it-industry-why-do-you-need-to-know-more-about-it --- -Imagine discovering that your brain is equipped in a niche operation system, a one that occurs only in 10-15% of brains. No wonder the standard software does not suit your hardware and you keep encountering difficult situations… Once you discover it is just software incompatibility and you update the right app versions, the world starts being more comfortable! Unfortunately, few apps only have adapted versions. -It is estimated that neuroatypical people constitute even up to 15-20% of the population. According to “the geek syndrome hypothesis” - autism, but also ADHD are likely to be common in people working in the IT industry. Neurodivergent people have a chance to become wonderful specialists and bring variety to the team thanks to a slightly different perception, special interests or ability to hyperfocus. Their presence can help introduce better practices such as clear communication and transparency. On the other hand, they are at risk of having various troubles in the world adapted to the neurotypical folk. +Imagine discovering that your brain is equipped in a niche operation system, a one that occurs only in 10-15% of brains. No wonder the standard software does not suit your hardware and you keep encountering difficult situations… Once you discover it is just software incompatibility and you update the right app versions, the world starts being more comfortable! Unfortunately, few apps only have adapted versions. +It is estimated that neuroatypical people constitute even up to 15-20% of the population. According to “the geek syndrome hypothesis” - autism, but also ADHD are likely to be common in people working in the IT industry. Neurodivergent people have a chance to become wonderful specialists and bring variety to the team thanks to a slightly different perception, special interests or ability to hyperfocus. Their presence can help introduce better practices such as clear communication and transparency. On the other hand, they are at risk of having various troubles in the world adapted to the neurotypical folk. The author will present the current state of science on neurodiversity, the challenges faced by neurodivergent IT specialists and possible improvements to make the workplace more inclusive for everyone. As a neurodivergent advocate, an IT professional and a biologist with scientific mindset, she will combine her own life and career experience as a neuroatypical person with psychological knowledge which will create a unique perspective. The goal is to prove that neuroatypical people constitute a large part of the IT community and that even small actions can help meet their needs - and not only make their life easier, but also add more creativity to IT teams! diff --git a/src/content/speakers/3HJ8ME.mdx b/src/content/speakers/3HJ8ME.mdx index 97015a7b0..3de88a86c 100644 --- a/src/content/speakers/3HJ8ME.mdx +++ b/src/content/speakers/3HJ8ME.mdx @@ -1,14 +1,16 @@ --- -affiliation: IT4Innovations, National Supercomputing Center -avatar: https://program.europython.eu/media/avatars/9391152264f5d5fe5e7f6db2de7ebdcb_2YsGjpH.jpg +affiliation: Rust Project +avatar: https://program.europython.eu/media/avatars/kuba_NsMw534.png code: 3HJ8ME +gitx: https://github.com/kobzol homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/jakub-beranek +mastodon_url: null name: "Jakub Ber\xE1nek" slug: jakub-beranek submissions: - writing-python-like-it-s-rust-more-robust-code-with-type-hints -twitter: '@beranek1582' +twitter_url: https://x.com/beranek1582 --- I'm currently trying to finish a PhD. in High-Performance Computing at the IT4Innovations National Supercomputing Centre. I also teach various programming subjects at the VSB-TUO university in Ostrava and I'm a passionate open-source contributor, primarily to the Rust compiler and its ecosystem, where I'm a member of several Rust development teams. diff --git a/src/content/speakers/3WVLQA.mdx b/src/content/speakers/3WVLQA.mdx index d72568f40..a1c2cfc46 100644 --- a/src/content/speakers/3WVLQA.mdx +++ b/src/content/speakers/3WVLQA.mdx @@ -2,11 +2,13 @@ affiliation: deepset avatar: '' code: 3WVLQA +gitx: https://github.com/ZanSara/ homepage: https://www.zansara.dev/ -mastodon: mastodon.social/@zansara +linkedin_url: https://www.linkedin.com/in/sarazanzottera +mastodon_url: https://mastodon.social/@zansara name: Sara Zanzottera slug: sara-zanzottera submissions: - is-rag-all-you-need-a-look-at-the-limits-of-retrieval-augmented-generation -twitter: https://twitter.com/zansara_dev +twitter_url: https://twitter.com/zansara_dev --- diff --git a/src/content/speakers/7AP3GR.mdx b/src/content/speakers/7AP3GR.mdx index 53c6d02ad..994769618 100644 --- a/src/content/speakers/7AP3GR.mdx +++ b/src/content/speakers/7AP3GR.mdx @@ -2,13 +2,15 @@ affiliation: Aspia Space avatar: '' code: 7AP3GR +gitx: github.com/smith42 homepage: mjjsmith.com -mastodon: null +linkedin_url: null +mastodon_url: null name: Mike Smith slug: mike-smith submissions: - forecasting-the-future-with-earthpt -twitter: '@smith42mike' +twitter_url: https://x.com/smith42mike --- Mike is a data scientist and semi-lapsed astronomer. He likes applying cool deep learning techniques (in particular foundational, self-supervised, and unsupervised learning methods) to problems in astrophysics, earth observation, medical diagnosis and imagery, and anything in-between. He especially enjoys applying these methods to "out-of-domain" problems where deep learning "shouldn’t work"! diff --git a/src/content/speakers/7DHKEF.mdx b/src/content/speakers/7DHKEF.mdx index fe8c44c51..efb4fa6e4 100644 --- a/src/content/speakers/7DHKEF.mdx +++ b/src/content/speakers/7DHKEF.mdx @@ -2,13 +2,15 @@ affiliation: Ziphq avatar: https://program.europython.eu/media/avatars/profile_picture_202105_HCxWsMb.jpg code: 7DHKEF +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Jimmy Lai slug: jimmy-lai submissions: - streamlining-testing-in-a-large-python-codebase -twitter: null +twitter_url: null --- Jimmy Lai is a Software Engineer at ZipHQ Infrastructure. He loves Python and likes to share his love in tech talks. His recent interest is linters and his prior sharing topics include profiling, optimization, asyncio, type annotations and automated refactoring. diff --git a/src/content/speakers/7FCECA.mdx b/src/content/speakers/7FCECA.mdx index 9409c4fd3..384b97289 100644 --- a/src/content/speakers/7FCECA.mdx +++ b/src/content/speakers/7FCECA.mdx @@ -2,17 +2,19 @@ affiliation: Lynt services s.r.o. avatar: https://program.europython.eu/media/avatars/eb0bff082cda1e26c1d204ab3c0628fc_iBEHKJl.jpg code: 7FCECA +gitx: https://github.com/jsmitka homepage: https://lynt.cz/ -mastodon: https://fosstodon.org/@jansmitka +linkedin_url: https://www.linkedin.com/in/jansmitka/ +mastodon_url: https://fosstodon.org/@jansmitka name: Jan Smitka slug: jan-smitka submissions: - containerize-your-python-apps-like-it-s-2024 -twitter: '@jansmitka' +twitter_url: https://x.com/jansmitka --- -I am a Software engineer from Pilsen, Czech Republic, with more than 20 years of experience. - -I develop web and data applications in Python. However, my area of expertise also includes everything required for their complete delivery and maintenance: frontend, databases, system administration, cloud deployment, containers, networks, development workflows, project management, and many others. - +I am a Software engineer from Pilsen, Czech Republic, with more than 20 years of experience. + +I develop web and data applications in Python. However, my area of expertise also includes everything required for their complete delivery and maintenance: frontend, databases, system administration, cloud deployment, containers, networks, development workflows, project management, and many others. + I am a co-organizer of Pilsen Pyvo, a local meetup for Python enthusiasts and developers. diff --git a/src/content/speakers/7G3T3F.mdx b/src/content/speakers/7G3T3F.mdx index f14a40fbc..a2b1f5bf2 100644 --- a/src/content/speakers/7G3T3F.mdx +++ b/src/content/speakers/7G3T3F.mdx @@ -1,14 +1,16 @@ --- affiliation: Iveco Group -avatar: https://program.europython.eu/media/avatars/catalin-hanga_Peeid0C.jpeg +avatar: https://program.europython.eu/media/avatars/catalin-hanga-2_wHXSUou.jpeg code: 7G3T3F +gitx: null homepage: null -mastodon: null -name: Catalin -slug: catalin +linkedin_url: https://www.linkedin.com/in/catalin-hanga-phd-3046b3198 +mastodon_url: null +name: Catalin Hanga +slug: catalin-hanga submissions: - fundamentals-of-retrieval-augmented-generation -twitter: null +twitter_url: null --- Catalin Hanga (PhD) is a Data Scientist and Machine Learning Engineer, currently working at the Open Innovation AI Lab of Iveco Group in Switzerland. Among his recent projects include developing a documentation management chatbot based on Retrieval Augmented Generation, as well as implementing an autonomous LLM agent using the ReAct framework. Prior to this, he briefly worked in a similar role for a startup in the insurtech industry. He has obtained a PhD in Mathematics from the University of York, UK, and holds a M.Sc. in Physics from the University of Bucharest. During his M.Sc. studies, he also worked as a researcher at CERN in Geneva, Switzerland, analyzing experimental data collected by the detectors of the Large Hadron Collider. He has previously given public presentations at academic events, as well as industry conferences. diff --git a/src/content/speakers/7KXBK3.mdx b/src/content/speakers/7KXBK3.mdx index 160fb585a..ba6bed6a5 100644 --- a/src/content/speakers/7KXBK3.mdx +++ b/src/content/speakers/7KXBK3.mdx @@ -2,18 +2,20 @@ affiliation: Strollby avatar: https://program.europython.eu/media/avatars/overview_image_46514765_618317_VN0Q3iZ.png code: 7KXBK3 +gitx: https://github.com/Roshan-R homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/roshan-r-chandar +mastodon_url: null name: Roshan R Chandar slug: roshan-r-chandar submissions: - accelerating-python-with-rust-the-pyo3-revolution -twitter: null +twitter_url: null --- -Roshan is an enthusiastic Python dev, with a love for exploring the endless possibilities of Python magic! -He is a talented presenter with experience at conferences like PyCon Thailand 2023. - -He has also achieved success in numerous hackathons and have actively led various Python training sessions. An avid FOSS enthusiast, he has contributed to many open source organisations like the GNOME project and maintains several popular applications. - +Roshan is an enthusiastic Python dev, with a love for exploring the endless possibilities of Python magic! +He is a talented presenter with experience at conferences like PyCon Thailand 2023. + +He has also achieved success in numerous hackathons and have actively led various Python training sessions. An avid FOSS enthusiast, he has contributed to many open source organisations like the GNOME project and maintains several popular applications. + Currently, Roshan leverages his Python expertise as a backend developer at Strollby, working with Python microservices and GraphQL. diff --git a/src/content/speakers/8EGVC9.mdx b/src/content/speakers/8EGVC9.mdx index a8b88a20a..0517e91b1 100644 --- a/src/content/speakers/8EGVC9.mdx +++ b/src/content/speakers/8EGVC9.mdx @@ -2,13 +2,15 @@ affiliation: Python Software Foundation avatar: https://program.europython.eu/media/avatars/IMG_1037_vjqZpqv.jpg code: 8EGVC9 +gitx: https://github.com/Cheukting homepage: https://cheuk.dev/ -mastodon: https://fosstodon.org/@cheukting_ho +linkedin_url: https://www.linkedin.com/in/cheukting-ho +mastodon_url: https://fosstodon.org/@cheukting_ho name: Cheuk Ting Ho slug: cheuk-ting-ho submissions: - counting-down-for-cra-updates-and-expectations -twitter: https://twitter.com/cheukting_ho +twitter_url: https://twitter.com/cheukting_ho --- After having a career in Data Scientist and Developer Relations, Cheuk dedicated her work to the open-source community and founded [CMD Limes](https://cmdlimes.com/), a Python consultants cooperation. She has also co-founded [Humble Data](https://humbledata.org/), a beginner Python workshop that has been happening around the world. She has served the EuroPython Society board for two years and is now a fellow and director of the Python Software Foundation. diff --git a/src/content/speakers/8LC3YQ.mdx b/src/content/speakers/8LC3YQ.mdx index e4dd09132..f73c284b9 100644 --- a/src/content/speakers/8LC3YQ.mdx +++ b/src/content/speakers/8LC3YQ.mdx @@ -2,15 +2,17 @@ affiliation: Stay home dad avatar: '' code: 8LC3YQ +gitx: https://git.sr.ht/~docbibi/ homepage: https://steadymonkey.eu/ -mastodon: null +linkedin_url: null +mastodon_url: https://freiburg.social/@docbibi name: Borjan Tchakaloff slug: borjan-tchakaloff submissions: - event-sourcing-in-production -twitter: null +twitter_url: null --- -Borjan has been fully focusing his attention on software engineering with Python for the last six years. -He is having good fun with event sourcing and Django. +Borjan has been fully focusing his attention on software engineering with Python for the last six years. +He is having good fun with event sourcing and Django. Currently busy at home with parental duties. diff --git a/src/content/speakers/8YEPUD.mdx b/src/content/speakers/8YEPUD.mdx index 2cc985307..a87a247b0 100644 --- a/src/content/speakers/8YEPUD.mdx +++ b/src/content/speakers/8YEPUD.mdx @@ -2,14 +2,16 @@ affiliation: Aiven (https://aiven.io) avatar: https://program.europython.eu/media/avatars/Me_with_blue_hair_square_small_4jcogEt.jpg code: 8YEPUD +gitx: https://github.com/tibs homepage: https://www.tonyibbs.co.uk/ -mastodon: https://hachyderm.io/@much_of_a +linkedin_url: https://www.linkedin.com/in/tony-ibbs +mastodon_url: https://hachyderm.io/@much_of_a name: Tibs slug: tibs submissions: - how-i-used-pgvector-and-postgresql-r-to-find-pictures-of-me-at-a-party -twitter: '@much_of_a' +twitter_url: https://x.com/much_of_a --- -After being a programmer for a good few years, I changed career in 2022 to become a Developer Educator at Aiven (https://aiven.io/tibs). My favourite programming language is Python, my favourite markup language is reStructuredText, my favourite storage technologies are SQLite, PostgreSQL and Redis, and I'm rather enthusiastic about Apache Kafka as a messaging system. +After being a programmer for a good few years, I changed career in 2022 to become a Developer Educator at Aiven (https://aiven.io/tibs). My favourite programming language is Python, my favourite markup language is reStructuredText, my favourite storage technologies are SQLite, PostgreSQL and Redis, and I'm rather enthusiastic about Apache Kafka as a messaging system. Find out more about my past at https://www.tonyibbs.co.uk/ diff --git a/src/content/speakers/8YFYD9.mdx b/src/content/speakers/8YFYD9.mdx index 9eaf73e5b..6556f25b4 100644 --- a/src/content/speakers/8YFYD9.mdx +++ b/src/content/speakers/8YFYD9.mdx @@ -2,13 +2,15 @@ affiliation: ActiveState avatar: https://program.europython.eu/media/avatars/FB_IMG_1479148712979_7HSytv7.jpg code: 8YFYD9 +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Jeremiah Paige slug: jeremiah-paige submissions: - you-are-sharing-your-code-wrong-and-what-to-do-about-it -twitter: null +twitter_url: null --- I am a long-time Python developer of over a decade and often focus on static analysis and distribution problems. Python is a diverse and quickly growing community and I love to contribute to it even as I try to keep up. I currently help ActiveState deliver secure, pre-build Python projects to enterprise customers and individual developers. diff --git a/src/content/speakers/9CX9CB.mdx b/src/content/speakers/9CX9CB.mdx index dcd211623..7d099df76 100644 --- a/src/content/speakers/9CX9CB.mdx +++ b/src/content/speakers/9CX9CB.mdx @@ -2,11 +2,13 @@ affiliation: inovex GmbH avatar: https://program.europython.eu/media/avatars/IMG_2806_ILNuZhJ.jpg code: 9CX9CB +gitx: www.github.com/zotroneneis homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Anna-Lena Popkes slug: anna-lena-popkes submissions: - when-and-how-to-start-coding-with-kids -twitter: null +twitter_url: null --- diff --git a/src/content/speakers/9DPWBC.mdx b/src/content/speakers/9DPWBC.mdx index 1112348de..f9bead309 100644 --- a/src/content/speakers/9DPWBC.mdx +++ b/src/content/speakers/9DPWBC.mdx @@ -2,13 +2,15 @@ affiliation: Jit Team avatar: https://program.europython.eu/media/avatars/por_w6xuqa3.png code: 9DPWBC +gitx: https://github.com/ameliawalter homepage: https://amelia.qa/ -mastodon: null +linkedin_url: https://www.linkedin.com/in/ameliawalter/ +mastodon_url: null name: Amelia Walter-Dzikowska slug: amelia-walter-dzikowska submissions: - neurodiversity-in-the-it-industry-why-do-you-need-to-know-more-about-it -twitter: null +twitter_url: null --- QA & test automation engineer, trainer, mentor, speaker & social media content creator. Currently -integration tester in a large banking project at Jit Team. So far she has worked in three human languages (Polish, English, French), with three different programming languages and in approximately ten projects for various industries. A multipotentialite fascinated by numerous topics, a tester of various learning methods loving to share her experiences. A neurodiversity advocate, an aspiring polyglot, a fan of psychology and dance. diff --git a/src/content/speakers/9KSJ3K.mdx b/src/content/speakers/9KSJ3K.mdx index a76b739b2..4790ec08f 100644 --- a/src/content/speakers/9KSJ3K.mdx +++ b/src/content/speakers/9KSJ3K.mdx @@ -2,20 +2,22 @@ affiliation: Python Academy GmbH & Co. KG avatar: https://program.europython.eu/media/avatars/4f3782b004830f622e19029e5f7fc146_PDHIz3h.jpg code: 9KSJ3K +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: "Mike M\xFCller" slug: mike-muller submissions: - descriptors-understanding-and-modifying-python-s-attribute-access -twitter: '@pyacademy' +twitter_url: https://x.com/pyacademy --- -I've been teaching Python courses since 2004. -According to my statistics, -I've taught at least 541 Python courses totaling 1372 teaching days as -of February 2024. -These courses include 27 tutorials at PyCon US as well as numerous tutorials at -EuroPython, EuroSciPy, PyCon DE, PyCon PL, PyCon IE, PyCon AsiaPacific -as well as at PyData London and Berlin. +I've been teaching Python courses since 2004. +According to my statistics, +I've taught at least 541 Python courses totaling 1372 teaching days as +of February 2024. +These courses include 27 tutorials at PyCon US as well as numerous tutorials at +EuroPython, EuroSciPy, PyCon DE, PyCon PL, PyCon IE, PyCon AsiaPacific +as well as at PyData London and Berlin. In total I about 60 tutorials at Python conferences. diff --git a/src/content/speakers/9SYDFX.mdx b/src/content/speakers/9SYDFX.mdx index 6f00784af..d7ab46b76 100644 --- a/src/content/speakers/9SYDFX.mdx +++ b/src/content/speakers/9SYDFX.mdx @@ -2,13 +2,15 @@ affiliation: Lean Poker avatar: https://program.europython.eu/media/avatars/DSC_2275_VN94PyO.jpg code: 9SYDFX +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/ivett-%C3%B6rd%C3%B6g-03aa9035/ +mastodon_url: null name: "Ivett \xD6rd\xF6g" slug: ivett-ordog submissions: - how-to-sell-a-big-refactor-or-rewrite-to-the-business -twitter: null +twitter_url: null --- Ivett Ördög is a public speaker and the creator of Lean Poker, a gamified devops training tool that teaches agile, lean and continuous deployment practices to developers. She is based in Bavaria, Germany and has over 15 years of experience in software development and leadership. She is passionate about innovation, collaboration and learning, and enjoys sharing her knowledge and insights with others. She also runs a YouTube channel called Leaders Workshop, where she helps aspiring engineering leaders to grow their skills and confidence through practical advice and real-life stories. diff --git a/src/content/speakers/9WJJPL.mdx b/src/content/speakers/9WJJPL.mdx index 6d6988dfa..ecb3b035e 100644 --- a/src/content/speakers/9WJJPL.mdx +++ b/src/content/speakers/9WJJPL.mdx @@ -2,13 +2,15 @@ affiliation: Bloomberg avatar: https://program.europython.eu/media/avatars/li_7EgJHSM.jpeg code: 9WJJPL +gitx: https://github.com/stefmolin homepage: https://stefaniemolin.com -mastodon: null +linkedin_url: https://www.linkedin.com/in/stefanie-molin/ +mastodon_url: null name: Stefanie Molin slug: stefanie-molin submissions: - pre-commit-to-better-code -twitter: '@StefanieMolin' +twitter_url: https://x.com/StefanieMolin --- Stefanie Molin is a software engineer at Bloomberg in New York City, where she tackles tough problems in information security, particularly those revolving around data wrangling/visualization, building tools for gathering data, and knowledge sharing. She is also the author of “[Hands-On Data Analysis with Pandas: A Python data science handbook for data collection, wrangling, analysis, and visualization](https://www.amazon.com/Hands-Data-Analysis-Pandas-visualization/dp/1800563450),” which is currently in its second edition and has been translated into Korean and Chinese. She holds a bachelor’s of science degree in operations research from Columbia University's Fu Foundation School of Engineering and Applied Science, as well as a master’s degree in computer science, with a specialization in machine learning, from Georgia Tech. In her free time, she enjoys traveling the world, inventing new recipes, and learning new languages spoken among both people and computers. diff --git a/src/content/speakers/A7Q3CY.mdx b/src/content/speakers/A7Q3CY.mdx index a77581678..83f2c9799 100644 --- a/src/content/speakers/A7Q3CY.mdx +++ b/src/content/speakers/A7Q3CY.mdx @@ -2,13 +2,15 @@ affiliation: SpotOn Poland avatar: https://program.europython.eu/media/avatars/piotr_QRIgPbJ.jpg code: A7Q3CY +gitx: https://github.com/gbdlin homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/piotr-gnus-80763780/ +mastodon_url: null name: Piotr Gnus slug: piotr-gnus submissions: - stop-using-setup-py -twitter: null +twitter_url: null --- I'm a Python developer with a high experience in web frameworks, database ORMs and creating various APIs. Through my career I worked in various interesting industries, including some work for travel agencies, online gambling sites, creating point of sales and cash registers as well as "in person" payment processing. Enjoying various Python conferences across Europe since 2015 and EuroPython since 2022. Outside working hours I'm also interested in security engineering and I'm a (slightly retired) member of a CTF team. diff --git a/src/content/speakers/AFAAPF.mdx b/src/content/speakers/AFAAPF.mdx index 3df6adea3..3ff6847c9 100644 --- a/src/content/speakers/AFAAPF.mdx +++ b/src/content/speakers/AFAAPF.mdx @@ -2,19 +2,21 @@ affiliation: Goldman Sachs avatar: https://program.europython.eu/media/avatars/Screenshot_2023-12-14-16-55-28-806_com.whatsapp2_KA54SNX.jpg code: AFAAPF +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Ria Bhatia slug: ria-bhatia submissions: - python-on-the-rocks-crafting-a-smooth-blend-with-rocksdb -twitter: https://twitter.com/RiaBhatia24 +twitter_url: https://twitter.com/RiaBhatia24 --- -Ria Bhatia is a driven and passionate software engineer. Over the course of her career, she has worked with various database systems, prioritizing performance, data durability, and scalability. Her expertise extends from cloud-based relational databases to embedded persistent key-value stores. - -Ria is passionate about simplifying complex concepts, fostering team learning, and staying at the forefront of technology trends. She's an enthusiastic speaker, having previously presented at prestigious conferences like PyCascades'23 and Women Tech Network Conference. - -Committed to gender diversity in tech, Ria mentors aspiring engineers and has been recognized with the Google Women in Technology Scholarship and the Nutanix Women in Tech Scholarship for her leadership and community contributions. - +Ria Bhatia is a driven and passionate software engineer. Over the course of her career, she has worked with various database systems, prioritizing performance, data durability, and scalability. Her expertise extends from cloud-based relational databases to embedded persistent key-value stores. + +Ria is passionate about simplifying complex concepts, fostering team learning, and staying at the forefront of technology trends. She's an enthusiastic speaker, having previously presented at prestigious conferences like PyCascades'23 and Women Tech Network Conference. + +Committed to gender diversity in tech, Ria mentors aspiring engineers and has been recognized with the Google Women in Technology Scholarship and the Nutanix Women in Tech Scholarship for her leadership and community contributions. + Beyond tech, Ria enjoys screen-free hobbies like reading and embroidery, showcasing her artistic talents. She's also adept at playing multiple instruments, demonstrating her musical talent and diverse interests. diff --git a/src/content/speakers/AJMVF3.mdx b/src/content/speakers/AJMVF3.mdx index 88800bb9f..a192fe79f 100644 --- a/src/content/speakers/AJMVF3.mdx +++ b/src/content/speakers/AJMVF3.mdx @@ -2,13 +2,15 @@ affiliation: Ox Security avatar: https://program.europython.eu/media/avatars/Tamar_vdbbMhX.jpeg code: AJMVF3 +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Tamar Galer slug: tamar-galer submissions: - logger-info-f-don-t-give-all-your-secrets-away -twitter: null +twitter_url: null --- Hello everyone! I'm Tamar, and my passion for coding started when I was just 14. Since then, I've been on an amazing journey with Python, which has become a big part of my life. Right now, I'm leading a fantastic team at Ox Security, and I absolutely love the challenges and teamwork involved. diff --git a/src/content/speakers/AU3L9P.mdx b/src/content/speakers/AU3L9P.mdx index a800673f2..854349284 100644 --- a/src/content/speakers/AU3L9P.mdx +++ b/src/content/speakers/AU3L9P.mdx @@ -2,13 +2,15 @@ affiliation: Ordina/Sopra Steria avatar: https://program.europython.eu/media/avatars/20180605-_H5A3811_1_ZDPrxk2.jpg code: AU3L9P +gitx: https://github.com/raviselker homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/raviselker/ +mastodon_url: null name: Ravi Selker slug: ravi-selker submissions: - event-sourcing-from-the-ground-up -twitter: null +twitter_url: null --- Ravi works as a senior python software developer at Ordina/Sopra Steria, an IT service provider. He also co-founded jamovi, an easy-to-use statistical spreadsheet. diff --git a/src/content/speakers/AWKFRJ.mdx b/src/content/speakers/AWKFRJ.mdx index 0c1cd6a5e..503e29817 100644 --- a/src/content/speakers/AWKFRJ.mdx +++ b/src/content/speakers/AWKFRJ.mdx @@ -2,40 +2,42 @@ affiliation: The PyPA | Ansible Core Team at Red Hat avatar: https://program.europython.eu/media/avatars/3c9fafeb5bbf027e772a9309fe604fe7_zLjzRxr.jpg code: AWKFRJ +gitx: https://github.com/sponsors/webknjaz homepage: https://webknjaz.me -mastodon: null +linkedin_url: https://www.linkedin.com/in/webknjaz +mastodon_url: null name: "Sviatoslav Sydorenko (\u0421\u0432\u044F\u0442\u043E\u0441\u043B\u0430\u0432\ \ \u0421\u0438\u0434\u043E\u0440\u0435\u043D\u043A\u043E)" slug: sviatoslav-sydorenko-sviatoslav-sidorenko submissions: - what-do-lockfiles-pin-actually-let-s-dig-in-and-get-our-hands-dirty -twitter: '@webknjaz' +twitter_url: https://x.com/webknjaz --- -🖥️ Hey, I'm Sviat — a serial maintainer of and contributor to open source software. 👨💻 -🌄 By day, I'm a Principal Software Engineer at [Ansible] Core Team. 🌅 -🌇 By night, I'm involved in maintaining CherryPy and doing CI/CD for aio-libs/aiohttp along with various related contributions mostly to Python projects and its ecosystem. I'm also a [PyPA] member, author of the blessed [`pypi-publish` GitHub Action] and one of the maintainers of the [Python Packaging User Guide]. 🌆 - -My ongoing interest is GitHub Apps, Actions, bots and related things using their shiny new APIs. I'm at the beginning of crafting [a][octomachinery] [framework][octomachinery on GitHub] for that currently. - -I'm proficient with Python Packaging and setting up CI/CD in open source projects at scale. - -[This is me.][GitHub Sponsors] - -[![SWUbanner]][SWUdocs] - -[Ansible]: https://github.com/ansible - -[PyPA]: https://github.com/pypa -[`pypi-publish` GitHub Action]: https://github.com/marketplace/actions/pypi-publish -[Python Packaging User Guide]: https://packaging.python.org - -[octomachinery]: https://octomachinery.dev -[octomachinery on GitHub]: https://github.com/sanitizers/octomachinery - -[GitHub Sponsors]: https://github.com/sponsors/webknjaz - -[SWUbanner]: -https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-personal-page.svg -[SWUdocs]: +🖥️ Hey, I'm Sviat — a serial maintainer of and contributor to open source software. 👨💻 +🌄 By day, I'm a Principal Software Engineer at [Ansible] Core Team. 🌅 +🌇 By night, I'm involved in maintaining CherryPy and doing CI/CD for aio-libs/aiohttp along with various related contributions mostly to Python projects and its ecosystem. I'm also a [PyPA] member, author of the blessed [`pypi-publish` GitHub Action] and one of the maintainers of the [Python Packaging User Guide]. 🌆 + +My ongoing interest is GitHub Apps, Actions, bots and related things using their shiny new APIs. I'm at the beginning of crafting [a][octomachinery] [framework][octomachinery on GitHub] for that currently. + +I'm proficient with Python Packaging and setting up CI/CD in open source projects at scale. + +[This is me.][GitHub Sponsors] + +[![SWUbanner]][SWUdocs] + +[Ansible]: https://github.com/ansible + +[PyPA]: https://github.com/pypa +[`pypi-publish` GitHub Action]: https://github.com/marketplace/actions/pypi-publish +[Python Packaging User Guide]: https://packaging.python.org + +[octomachinery]: https://octomachinery.dev +[octomachinery on GitHub]: https://github.com/sanitizers/octomachinery + +[GitHub Sponsors]: https://github.com/sponsors/webknjaz + +[SWUbanner]: +https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-personal-page.svg +[SWUdocs]: https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md diff --git a/src/content/speakers/BBXVHQ.mdx b/src/content/speakers/BBXVHQ.mdx index e18f00082..e5ce54e50 100644 --- a/src/content/speakers/BBXVHQ.mdx +++ b/src/content/speakers/BBXVHQ.mdx @@ -2,13 +2,15 @@ affiliation: scalable minds GmbH avatar: https://program.europython.eu/media/avatars/ich_jbJLWp2.jpg code: BBXVHQ +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Valentin Nieper slug: valentin-nieper submissions: - profile-optimize-repeat-one-core-is-all-you-needtm -twitter: null +twitter_url: null --- Valentin is a software and machine learning engineer at scalable minds. He works on implementing the newest models for biological image analysis and makes sure the data analysis pipeline scales on the cluster. diff --git a/src/content/speakers/BGLPFA.mdx b/src/content/speakers/BGLPFA.mdx index 7f87a7a2f..8818eaa73 100644 --- a/src/content/speakers/BGLPFA.mdx +++ b/src/content/speakers/BGLPFA.mdx @@ -2,19 +2,21 @@ affiliation: 20tab avatar: https://program.europython.eu/media/avatars/52487760478_283a36a901_o-min_JhQ67nS.jpg code: BGLPFA +gitx: https://github.com/pauloxnet homepage: https://www.paulox.net/ -mastodon: https://fosstodon.org/@paulox +linkedin_url: https://www.linkedin.com/in/paolomelchiorre/ +mastodon_url: https://fosstodon.org/@paulox name: Paolo Melchiorre slug: paolo-melchiorre submissions: - many-ways-to-be-a-python-contributor -twitter: '@pauloxnet' +twitter_url: https://x.com/pauloxnet --- -I’m Paolo Melchiorre, a longtime Python backend developer who contributes to the Django project and gives talks at tech conferences. - -I’ve been a GNU/Linux user for over 20 years and I use and promote Free Software. - -I graduated in Software Engineering, and I’m an alumnus of the University of Bologna, Italy. - +I’m Paolo Melchiorre, a longtime Python backend developer who contributes to the Django project and gives talks at tech conferences. + +I’ve been a GNU/Linux user for over 20 years and I use and promote Free Software. + +I graduated in Software Engineering, and I’m an alumnus of the University of Bologna, Italy. + I’ve been working in the web for 15 years, and now I’m the CTO of 20tab, a pythonic software company, for which I work remotely. diff --git a/src/content/speakers/BGPPXA.mdx b/src/content/speakers/BGPPXA.mdx index c51a6eb2d..52736c352 100644 --- a/src/content/speakers/BGPPXA.mdx +++ b/src/content/speakers/BGPPXA.mdx @@ -2,14 +2,16 @@ affiliation: Pydantic avatar: https://program.europython.eu/media/avatars/gxssyo64_400x400_UWBnBAf.jpg code: BGPPXA +gitx: https://github.com/Kludex homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/marcelotryle/ +mastodon_url: null name: Marcelo Trylesinski slug: marcelo-trylesinski submissions: - fastapi-internals -twitter: '@marcelotryle' +twitter_url: https://x.com/marcelotryle --- -Marcelo is known as The FastAPI Expert. He is Brazilian, and is currently leaving in the Netherlands. +Marcelo is known as The FastAPI Expert. He is Brazilian, and is currently leaving in the Netherlands. He maintains Starlette and Uvicorn, and is working at Pydantic. diff --git a/src/content/speakers/BLNV7P.mdx b/src/content/speakers/BLNV7P.mdx index d48adf0ca..4b3051581 100644 --- a/src/content/speakers/BLNV7P.mdx +++ b/src/content/speakers/BLNV7P.mdx @@ -2,15 +2,17 @@ affiliation: mathspp.com / Textualize avatar: https://program.europython.eu/media/avatars/rgs_square_pMKs1bG.jpg code: BLNV7P +gitx: https://github.com/rodrigogiraoserrao homepage: https://mathspp.com -mastodon: null +linkedin_url: "https://linkedin.com/in/rodrigo-gir\xE3o-serr\xE3o" +mastodon_url: null name: "Rodrigo Gir\xE3o Serr\xE3o" slug: rodrigo-girao-serrao submissions: - animations-from-first-principles -twitter: '@mathsppblog' +twitter_url: https://x.com/mathsppblog --- -Rodrigo has always been fascinated by problem solving and that is why he picked up programming – so that he could solve more problems. He also loves sharing knowledge, and that is why he spends so much time writing articles in his blog [mathspp.com/blog](https://mathspp.com/blog), writing on Twitter [@mathsppblog](https://twitter.com/mathsppblog), and giving workshops and courses. You can also find his past talks on [https://mathspp.com/talks](https://mathspp.com/talks). - +Rodrigo has always been fascinated by problem solving and that is why he picked up programming – so that he could solve more problems. He also loves sharing knowledge, and that is why he spends so much time writing articles in his blog [mathspp.com/blog](https://mathspp.com/blog), writing on Twitter [@mathsppblog](https://twitter.com/mathsppblog), and giving workshops and courses. You can also find his past talks on [https://mathspp.com/talks](https://mathspp.com/talks). + His main areas of scientific interest are mathematics (numerical analysis in particular) and programming in general (with a preference for the Python and APL languages), but Rodrigo also enjoys reading fantasy books, watching silly comedy movies and eating chocolate. diff --git a/src/content/speakers/BLWEQ9.mdx b/src/content/speakers/BLWEQ9.mdx index ada965a5e..1ca66de64 100644 --- a/src/content/speakers/BLWEQ9.mdx +++ b/src/content/speakers/BLWEQ9.mdx @@ -2,13 +2,15 @@ affiliation: Flyr for Hospitality avatar: https://program.europython.eu/media/avatars/profil_ju_IMG_8102_1_ckFI61i.jpeg code: BLWEQ9 +gitx: https://github.com/coobas/ homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/urbanj/ +mastodon_url: null name: Jakub Urban slug: jakub-urban submissions: - from-built-in-concurrency-primitives-to-large-scale-distributed-computing -twitter: null +twitter_url: null --- Jakub is currently leads the data science platform team that enables the Flyr for Hospitality Science department to develop, operate and maintain data science products in a user friendly and sustainable way. He started tinkering with Python for computer simulations and data analysis during his computation physics PhD studies, when NumPy and Matplotlib were brand new projects and Pandas had not met Python yet. Since then, Python and its ecosystem have become Jakub's de facto work and hobby toolset for anything programming and data modelling related. After leading the theory group at the tokamak department of the Institute of Plasma Physics in Prague, Jakub was in different roles in the data science and engineering landscape. He also co-founded PyData Prague meetup, performs an occasional speaker or tutor at meetups or conferences and tutors scientific computing with Python at the Czech Technical University. diff --git a/src/content/speakers/BMMZFS.mdx b/src/content/speakers/BMMZFS.mdx index 14ba4af09..135420d64 100644 --- a/src/content/speakers/BMMZFS.mdx +++ b/src/content/speakers/BMMZFS.mdx @@ -2,15 +2,17 @@ affiliation: Red Hat avatar: https://program.europython.eu/media/avatars/photo_2021-09-16_00-24-05_oyaFtl3_NlPNas4.jpg code: BMMZFS +gitx: https://github.com/iblancasa homepage: https://isra.rocks/ -mastodon: https://mastodon.social/@iblancasa +linkedin_url: https://www.linkedin.com/in/iblancasa/ +mastodon_url: https://mastodon.social/@iblancasa name: Israel Blancas slug: israel-blancas submissions: - autoinstrumentation-adventures-enhancing-python-apps-with-opentelemetry -twitter: https://twitter.com/iblancasa +twitter_url: https://twitter.com/iblancasa --- -Software Engineer @ Red Hat working on observability magics. Google Developer Expert in Google Cloud. Grafana Champion. Google Developer Group Organizer. - +Software Engineer @ Red Hat working on observability magics. Google Developer Expert in Google Cloud. Grafana Champion. Google Developer Group Organizer. + Open Source contributor from Spain! diff --git a/src/content/speakers/BPFJEJ.mdx b/src/content/speakers/BPFJEJ.mdx index a3ae2d06d..5eb7cc264 100644 --- a/src/content/speakers/BPFJEJ.mdx +++ b/src/content/speakers/BPFJEJ.mdx @@ -2,13 +2,15 @@ affiliation: Tractable avatar: https://program.europython.eu/media/avatars/1623257808998_LsMvU8V.jpg code: BPFJEJ +gitx: https://github.com/koxudaxi homepage: null -mastodon: https://fosstodon.org/@koxudaxi +linkedin_url: https://www.linkedin.com/in/koxudaxi/ +mastodon_url: https://fosstodon.org/@koxudaxi name: Koudai Aono slug: koudai-aono submissions: - enhancing-decorators-with-type-annotations-techniques-and-best-practices -twitter: null +twitter_url: null --- I am a software developer based in Tokyo, with a strong focus on Python. I enjoy contributing to Open Source Software (OSS) with a goal to make the development environment friendlier. diff --git a/src/content/speakers/BQVLYL.mdx b/src/content/speakers/BQVLYL.mdx index 001a8f0e8..dbf8cdf82 100644 --- a/src/content/speakers/BQVLYL.mdx +++ b/src/content/speakers/BQVLYL.mdx @@ -2,15 +2,17 @@ affiliation: Anaconda avatar: https://program.europython.eu/media/avatars/avatar_large_FOn6ad4.jpg code: BQVLYL +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Nicholas Tollervey slug: nicholas-tollervey submissions: - invent-with-pyscript -twitter: null +twitter_url: null --- -Recovering former member of the Python community. - +Recovering former member of the Python community. + Music, philosophy, teaching, writing & computing. Just like this bio: concise, honest and full of useful information. Everything I say is false... ;-) diff --git a/src/content/speakers/BYLZXE.mdx b/src/content/speakers/BYLZXE.mdx index 52b61e514..cf2a7dcd8 100644 --- a/src/content/speakers/BYLZXE.mdx +++ b/src/content/speakers/BYLZXE.mdx @@ -2,13 +2,15 @@ affiliation: Flatiron Health avatar: https://program.europython.eu/media/avatars/Profilbild_6ynfZj8.jpg code: BYLZXE +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/florian-stefan-90553a109/ +mastodon_url: null name: Florian Stefan slug: florian-stefan submissions: - dbt-python-how-to-write-reusable-and-testable-pipelines -twitter: null +twitter_url: null --- Florian is based in Berlin and works as Software Engineer for Flatiron Health. Before joining Flatiron Health's mission to improve and extend lives by learning from the experience of every person with cancer, he worked for eBay and Immobilienscout24. Florian loves traveling with his family, uses his little son as excuse to buy toys for himself and is passionate about software engineering, software architecture and punk rock. diff --git a/src/content/speakers/CCZUDR.mdx b/src/content/speakers/CCZUDR.mdx index a27199c0a..8f50c203e 100644 --- a/src/content/speakers/CCZUDR.mdx +++ b/src/content/speakers/CCZUDR.mdx @@ -2,13 +2,15 @@ affiliation: Polymerize avatar: '' code: CCZUDR +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/datagasmic/ +mastodon_url: null name: Pranjal Biyani slug: pranjal-biyani submissions: - unlocking-mixture-of-experts-from-1-know-it-all-to-group-of-jedi-masters -twitter: null +twitter_url: null --- I am on a quest to solve problems with data using ML and AI. Over the years I have built multiple industry first solutions for diverse domains like Marketing, Supply Chain, Polymers and Chemicals etc. I have consulted numerous multi-national companies, helping them build in house capabilities ( via corporate training ), providing Project based support and developing SoA solutions for their customers. I love sharing my experiences and giving back to the community I have learned so much from. This would by my 3rd talk at EuroPython! diff --git a/src/content/speakers/CEWJRR.mdx b/src/content/speakers/CEWJRR.mdx index e87382707..496ed56d3 100644 --- a/src/content/speakers/CEWJRR.mdx +++ b/src/content/speakers/CEWJRR.mdx @@ -2,15 +2,17 @@ affiliation: PFConsult avatar: https://program.europython.eu/media/avatars/PavelFilonov_xSGmZCl.png code: CEWJRR +gitx: https://github.com/sdukshis homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/pavel-filonov/ +mastodon_url: null name: Pavel Filonov slug: pavel-filonov submissions: - profiling-python-code -twitter: null +twitter_url: null --- -Developed MaxPatrol SIEM at Positive Technologies. At Kaspersky: from a project about ML in industrial cybersecurity to the head of the DS department. - +Developed MaxPatrol SIEM at Positive Technologies. At Kaspersky: from a project about ML in industrial cybersecurity to the head of the DS department. + Now he is developing his own Data Science consulting. Speaker at various conferences. Teacher of online courses on the OTUS platform. Author of trainings on soft skills. diff --git a/src/content/speakers/CHHWUG.mdx b/src/content/speakers/CHHWUG.mdx index cb051b582..e6265e95e 100644 --- a/src/content/speakers/CHHWUG.mdx +++ b/src/content/speakers/CHHWUG.mdx @@ -1,14 +1,16 @@ --- affiliation: Vivid Climate -avatar: https://program.europython.eu/media/avatars/profile_pic_MtDXVQ5_hTyMfCa.jpeg +avatar: https://program.europython.eu/media/avatars/Neeraj_YKpd2Um.JPG code: CHHWUG +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Neeraj Pandey slug: neeraj-pandey submissions: - parallelism-concurrency-and-asyncio-a-comprehensive-guide-for-beginners -twitter: '@n4jp4y' +twitter_url: https://x.com/n4jp4y --- Neeraj is a polyglot. Over the years, he has worked on a variety of full-stack software and data-science applications, as well as computational arts and Quantitative finance projects, and likes the challenge of creating new tools and applications. diff --git a/src/content/speakers/CHTAPC.mdx b/src/content/speakers/CHTAPC.mdx index e4f34bc08..2c5b44484 100644 --- a/src/content/speakers/CHTAPC.mdx +++ b/src/content/speakers/CHTAPC.mdx @@ -2,17 +2,19 @@ affiliation: Softerrific avatar: https://program.europython.eu/media/avatars/DSC08196_nzVlxXB.jpg code: CHTAPC +gitx: null homepage: https://www.softerrific.com/ -mastodon: null +linkedin_url: https://www.linkedin.com/in/boyanmiletic/ +mastodon_url: null name: Bojan Miletic slug: bojan-miletic submissions: - async-await-mastering-python-s-time-bending-tricks -twitter: null +twitter_url: null --- -Hi, I help AI/ML companies and their AI/data scientists turn ML models from the data lab into PoCs, MVPs, or fully functional products that convincingly prove their value to investors and other important decision-makers. - -By using #Python and #AWS as superpowers, I help you get real business value from your ML algorithms. - +Hi, I help AI/ML companies and their AI/data scientists turn ML models from the data lab into PoCs, MVPs, or fully functional products that convincingly prove their value to investors and other important decision-makers. + +By using #Python and #AWS as superpowers, I help you get real business value from your ML algorithms. + And I happily consult your AI scientists on how to write clean, reusable code in Python and thus save thousands (or even millions) on ML-based software deployment and development. diff --git a/src/content/speakers/CKX3LQ.mdx b/src/content/speakers/CKX3LQ.mdx index f27d1768e..9d13ddf5c 100644 --- a/src/content/speakers/CKX3LQ.mdx +++ b/src/content/speakers/CKX3LQ.mdx @@ -2,13 +2,15 @@ affiliation: Flyr for Hospitality avatar: https://program.europython.eu/media/avatars/IMG_3812-Edit_xAWUaIr.jpg code: CKX3LQ +gitx: janpipek homepage: null -mastodon: https://mastodonczech.cz/@janpipek +linkedin_url: https://www.linkedin.com/in/janpipek/ +mastodon_url: https://mastodonczech.cz/@janpipek name: Jan Pipek slug: jan-pipek submissions: - data-analysis-the-polars-way -twitter: null +twitter_url: null --- A physicist by education, a data scientist as a current job title. Co-organiser of PyData Prague meet-ups and mentor of PyLadies. diff --git a/src/content/speakers/CNDARF.mdx b/src/content/speakers/CNDARF.mdx index 6e41372b8..32f4d2849 100644 --- a/src/content/speakers/CNDARF.mdx +++ b/src/content/speakers/CNDARF.mdx @@ -2,11 +2,13 @@ affiliation: null avatar: https://program.europython.eu/media/avatars/AnsgarProfilePictureGYG2018MID_AGPP0LB.jpg code: CNDARF +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Ansgar Gruene slug: ansgar-gruene submissions: - from-text-to-context-how-we-introduced-a-modern-hybrid-search -twitter: null +twitter_url: null --- diff --git a/src/content/speakers/CNVAFW.mdx b/src/content/speakers/CNVAFW.mdx index 39a700656..272c2b725 100644 --- a/src/content/speakers/CNVAFW.mdx +++ b/src/content/speakers/CNVAFW.mdx @@ -2,11 +2,13 @@ affiliation: Pure Storage avatar: https://program.europython.eu/media/avatars/Miloslav_Pojman_Qfkhusm.jpg code: CNVAFW +gitx: https://github.com/mila/ homepage: https://pojman.cz -mastodon: https://fosstodon.org/@mila +linkedin_url: https://www.linkedin.com/in/pojman +mastodon_url: https://fosstodon.org/@mila name: Miloslav Pojman slug: miloslav-pojman submissions: - pytest-design-patterns -twitter: '@MiloslavPojman' +twitter_url: https://x.com/MiloslavPojman --- diff --git a/src/content/speakers/CPYQCK.mdx b/src/content/speakers/CPYQCK.mdx index 2649fbfd1..d778eed68 100644 --- a/src/content/speakers/CPYQCK.mdx +++ b/src/content/speakers/CPYQCK.mdx @@ -2,13 +2,15 @@ affiliation: Red Hat avatar: '' code: CPYQCK +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Ashish Gupta slug: ashish-gupta submissions: - learn-python-by-making-a-console-game -twitter: null +twitter_url: null --- Hii there , I am an opensource contributor and python enthusiast currently associated with Red Hat . diff --git a/src/content/speakers/CSLXTY.mdx b/src/content/speakers/CSLXTY.mdx index 1c3d33085..22b73c622 100644 --- a/src/content/speakers/CSLXTY.mdx +++ b/src/content/speakers/CSLXTY.mdx @@ -2,13 +2,15 @@ affiliation: Red Hat avatar: https://program.europython.eu/media/avatars/gogles-big_OCjYWs4.jpg code: CSLXTY +gitx: null homepage: http://dopieralski.pl -mastodon: null +linkedin_url: null +mastodon_url: null name: Radomir Dopieralski slug: radomir-dopieralski submissions: - learn-python-by-making-a-console-game -twitter: null +twitter_url: null --- I work on OpenStack by day, and play with Python on hardware by night. I build walking spider robots, handheld game consoles, mechanical keyboards, impractical instruments, and all sort of weird contraptions. I'm a member of the Swiss Mechatronic Art Society (SGMK). diff --git a/src/content/speakers/CV8T7R.mdx b/src/content/speakers/CV8T7R.mdx index a2d52c62b..9a3119261 100644 --- a/src/content/speakers/CV8T7R.mdx +++ b/src/content/speakers/CV8T7R.mdx @@ -2,11 +2,13 @@ affiliation: ALTEN Spain avatar: https://program.europython.eu/media/avatars/FA1FB7D4-D554-4926-BC9C-57A844913FC1_1_105_c_tblqr5D.jpeg code: CV8T7R +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/helenagomezpozo/ +mastodon_url: null name: "Helena G\xF3mez Pozo" slug: helena-gomez-pozo submissions: - how-to-destroy-the-world-using-python-and-a-synthetic-virus -twitter: '@HelenaGomezPz' +twitter_url: https://x.com/HelenaGomezPz --- diff --git a/src/content/speakers/CWBGXL.mdx b/src/content/speakers/CWBGXL.mdx new file mode 100644 index 000000000..30c8a358e --- /dev/null +++ b/src/content/speakers/CWBGXL.mdx @@ -0,0 +1,16 @@ +--- +affiliation: TestifySec +avatar: '' +code: CWBGXL +gitx: github.com/kairoaraujo +homepage: https://kairo.dev +linkedin_url: https://linkedin.com/in/kairoaraujo +mastodon_url: null +name: Kairo de Araujo +slug: kairo-de-araujo +submissions: +- its-happening-tuf-joins-pypi-warehouse +twitter_url: null +--- + +Kairo is a new Senior Open Source Engineer at TestifySec. He contributed to python-tuf and is the author of Repository Service for TUF (RSTUF). Prior roles include Senior Open Source Software Engineer at VMware Open Source Program Office (OSPO), Senior Software Engineer at IBM, ING, and Forescout. diff --git a/src/content/speakers/CXYAXB.mdx b/src/content/speakers/CXYAXB.mdx index f70dc08e5..a648682b6 100644 --- a/src/content/speakers/CXYAXB.mdx +++ b/src/content/speakers/CXYAXB.mdx @@ -2,13 +2,15 @@ affiliation: Sunet avatar: https://program.europython.eu/media/avatars/9dde1277563badb1105de7f09cf54171_aMTuK8p.jpg code: CXYAXB +gitx: null homepage: https://kushaldas.in -mastodon: https://toots.dpglug.org/@kushal +linkedin_url: null +mastodon_url: https://toots.dpglug.org/@kushal name: Kushal Das slug: kushal-das submissions: - writing-python-modules-in-rust -twitter: null +twitter_url: null --- Kushal Das is a public interest technologist working at Sunet (https://sunet.se) where he helps to build secure and privacy focused tools and services. He is Cpython core developer & a director at the Python Software Foundation. He is also part of the core team of the Tor Project, and a long time contributor to Fedora Project. In 2004 he founded Linux Users' Group of Durgapur. He also helps out journalists/activists with digital security trainings. He regularly blogs at https://kushaldas.in. diff --git a/src/content/speakers/CZLRNY.mdx b/src/content/speakers/CZLRNY.mdx index cdb1a6f54..61323a35c 100644 --- a/src/content/speakers/CZLRNY.mdx +++ b/src/content/speakers/CZLRNY.mdx @@ -2,11 +2,13 @@ affiliation: null avatar: https://program.europython.eu/media/avatars/IMG-20230319-WA0011_FPa3b6Y.jpeg code: CZLRNY +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Ben Lomax slug: ben-lomax submissions: - the-art-of-the-pull-request -twitter: null +twitter_url: null --- diff --git a/src/content/speakers/CZVCVP.mdx b/src/content/speakers/CZVCVP.mdx index beb7fc6a7..b858740c6 100644 --- a/src/content/speakers/CZVCVP.mdx +++ b/src/content/speakers/CZVCVP.mdx @@ -2,13 +2,15 @@ affiliation: Optiver avatar: https://program.europython.eu/media/avatars/PXL_20230820_0646119172_1_smdSdfU.jpg code: CZVCVP +gitx: https://github.com/samety homepage: null -mastodon: null +linkedin_url: https://nl.linkedin.com/in/samet-yaslan-8055613 +mastodon_url: null name: Samet Yaslan slug: samet-yaslan submissions: - python-in-parallel-sub-interpreters-vs-nogil-vs-multiprocessing -twitter: null +twitter_url: null --- Samet has been chairing the Python Standards Group at Optiver since 2021, with the mission of standardizing Python codebases by making best practices known to everyone in the company. He advocates for clean, simple, and well-tested code. He has earned his living using Python for more than 10 years and began participating in the open-source CPython project last year. He continues to contribute with new pull requests occasionally and really enjoys the opportunity to give back! diff --git a/src/content/speakers/DFWKSC.mdx b/src/content/speakers/DFWKSC.mdx index 7789087f6..16995d976 100644 --- a/src/content/speakers/DFWKSC.mdx +++ b/src/content/speakers/DFWKSC.mdx @@ -2,13 +2,15 @@ affiliation: Sixty North AS avatar: https://program.europython.eu/media/avatars/Bingham_Austin_YRLez6W.jpg code: DFWKSC +gitx: https://github.com/abingham homepage: https://sixty-north.com/ -mastodon: null +linkedin_url: https://www.linkedin.com/in/austinbingham +mastodon_url: null name: Austin Bingham slug: austin-bingham submissions: - mutation-testing-in-python-with-cosmic-ray -twitter: '@austin_bingham' +twitter_url: https://x.com/austin_bingham --- Austin is a founding director of Sixty North, a software consulting, training, and application development company. A native of Texas, in 2008 Austin moved to Stavanger, Norway where he helped develop industry-leading oil reservoir modeling software in C++ and Python. Prior to that he worked at National Instruments developing LabVIEW, at Applied Research Labs (Univ. of Texas at Austin) developing sonar systems for the U.S. Navy, and at a number of telecommunications companies. He is an experienced presenter, teacher, and author, as well as an active member of the open source community. Austin holds a Master of Science in Computer Engineering from the University of Texas at Austin. diff --git a/src/content/speakers/DGMZXX.mdx b/src/content/speakers/DGMZXX.mdx index 711321652..2da9aaef8 100644 --- a/src/content/speakers/DGMZXX.mdx +++ b/src/content/speakers/DGMZXX.mdx @@ -2,14 +2,16 @@ affiliation: McPherson University avatar: https://program.europython.eu/media/avatars/0MK_8193_AR0CEc9.JPG code: DGMZXX +gitx: https://github.com/oladapokayodeabiodun homepage: https://github.com/oladapokayodeabiodun/oladapokayodeabiodun.github.io -mastodon: null +linkedin_url: https://www.linkedin.com/in/kayodeabiodunoladapo +mastodon_url: null name: Oladapo Kayode Abiodun slug: oladapo-kayode-abiodun submissions: - social-media-and-sentimental-analysis-cbn-currency-redesign-policy -twitter: '@OladapoKayodeA1' +twitter_url: https://x.com/OladapoKayodeA1 --- -Kayode Abiodun, Oladapo (PhD) is currently a lecturer of Computer Science at McPherson University, Ogun State, Nigeria. He has a Diploma in Computer Data Processing from Ogun State University (2003); a BSc in Computer with Statistics from Olabisi Onabanjo University (2008); a Postgraduate Diploma in Education from Usman Dan Fodio University (2012); an MSc in Business Administration with specialization in Operations Research from University of Lagos (2015); MSc in Information Technology from National Open University (2016) and PhD (2021) from Babcock University, Ilisan-Remo, Ogun State. He also acquired various online certificates to his credit. +Kayode Abiodun, Oladapo (PhD) is currently a lecturer of Computer Science at McPherson University, Ogun State, Nigeria. He has a Diploma in Computer Data Processing from Ogun State University (2003); a BSc in Computer with Statistics from Olabisi Onabanjo University (2008); a Postgraduate Diploma in Education from Usman Dan Fodio University (2012); an MSc in Business Administration with specialization in Operations Research from University of Lagos (2015); MSc in Information Technology from National Open University (2016) and PhD (2021) from Babcock University, Ilisan-Remo, Ogun State. He also acquired various online certificates to his credit. Visit here for more details: https://sites.google.com/view/kayodeabiodunoladapo diff --git a/src/content/speakers/DJUD9D.mdx b/src/content/speakers/DJUD9D.mdx index 027953c4d..f01295582 100644 --- a/src/content/speakers/DJUD9D.mdx +++ b/src/content/speakers/DJUD9D.mdx @@ -2,17 +2,19 @@ affiliation: Deutsche Bank avatar: https://program.europython.eu/media/avatars/GurjotSingh_001_sxMYPRZ.jpg code: DJUD9D +gitx: https://github.com/gsmanu007 homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/gsmanu007/ +mastodon_url: null name: Gurjot Singh slug: gurjot-singh submissions: - maths-in-motion-python-powered-modelling-for-real-world-phenomena -twitter: null +twitter_url: null --- -Gurjot is a Quantitative Developer/ Researcher based in London. He currently works as Quantitative Strat in Deutsche Bank. Gurjot's primary expertise is in Python, Mathematical Modelling and C++ and he has over 9 years of experience in the field having previously worked for JPMorgan and start-ups. - -Gurjot did his undergraduate degree from IIT Jodhpur and has been coding in Python since his college days. - +Gurjot is a Quantitative Developer/ Researcher based in London. He currently works as Quantitative Strat in Deutsche Bank. Gurjot's primary expertise is in Python, Mathematical Modelling and C++ and he has over 9 years of experience in the field having previously worked for JPMorgan and start-ups. + +Gurjot did his undergraduate degree from IIT Jodhpur and has been coding in Python since his college days. + When he is not working, he enjoys playing hockey and is passionate about cooking Indian food and teaching Mathematics. diff --git a/src/content/speakers/DMLAZT.mdx b/src/content/speakers/DMLAZT.mdx index 639633fad..6fd0a9bb9 100644 --- a/src/content/speakers/DMLAZT.mdx +++ b/src/content/speakers/DMLAZT.mdx @@ -2,13 +2,15 @@ affiliation: Speaking in a personal capacity/as a maintainer of Cython avatar: '' code: DMLAZT +gitx: https://github.com/da-woods/ homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: David Woods slug: david-woods submissions: - cython-and-the-limited-api -twitter: null +twitter_url: null --- Originally a Physical Chemist. Professionally, mainly works with C++ the moment. At EuroPython to talk about Cython for which I've been a contributor for a number of year. diff --git a/src/content/speakers/DSKWCM.mdx b/src/content/speakers/DSKWCM.mdx index 184d30ced..4fe863174 100644 --- a/src/content/speakers/DSKWCM.mdx +++ b/src/content/speakers/DSKWCM.mdx @@ -2,13 +2,15 @@ affiliation: LyntCube avatar: https://program.europython.eu/media/avatars/IMG_9525_copy_iBGccR7.JPG code: DSKWCM +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Manoj Pandey slug: manoj-pandey submissions: - parallelism-concurrency-and-asyncio-a-comprehensive-guide-for-beginners -twitter: onlyrealmvp +twitter_url: https://x.com/onlyrealmvp --- Manoj is a Pythonista, builder, polyglot. Founder/Organizer of PyData Delhi. He has been speaking at several conferences including PyCon UK, Finland, Italy, Philippines, and more. diff --git a/src/content/speakers/EACXYX.mdx b/src/content/speakers/EACXYX.mdx index 964056c1f..b647ce95a 100644 --- a/src/content/speakers/EACXYX.mdx +++ b/src/content/speakers/EACXYX.mdx @@ -2,13 +2,15 @@ affiliation: Tractive GmbH avatar: https://program.europython.eu/media/avatars/1690214871456_5rntTSG.jpeg code: EACXYX +gitx: https://github.com/iryna-kondr homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/iryna-kondrashchenko-673800155/ +mastodon_url: null name: Iryna Kondrashchenko slug: iryna-kondrashchenko submissions: - scikit-llm-beginner-friendly-nlp-using-llms -twitter: null +twitter_url: null --- I hold a Masters degree in Artificial Intelligence and work as a Data Scientist. In my spare time, I am focusing on open-source projects and contributing to several libraries designed to streamline and simplify various aspects of data science. diff --git a/src/content/speakers/ECLXGR.mdx b/src/content/speakers/ECLXGR.mdx index 0646be473..d79e95751 100644 --- a/src/content/speakers/ECLXGR.mdx +++ b/src/content/speakers/ECLXGR.mdx @@ -2,18 +2,20 @@ affiliation: "Georg August University G\xF6ttingen" avatar: '' code: ECLXGR +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Martina Guttau-Zielke slug: martina-guttau-zielke submissions: - and-justice-for-ail -twitter: null +twitter_url: null --- -Born in 1987 I grew up in Germany raised by a single, unemployed mother, without any educational background or wealth. -Regardless, my mother put a lot of effort into my education, even as we struggled financially, and I was able to attend university and study law in 2009. -Besides studying I committed to honorary posts at the European Law Students' Association and cared for my mother, who became ill. I even had to take a two-year-break from university to tend to her and go working at a hairdresser's in full employment. -Shortly before I could write my final exams, I gave birth to my first child in 2017 and to the second one in 2020. I stayed home a while and restarted university in September 2023. -My key area of focus is Media Law, which includes the areas of IT, Data Security, Intellectual Property and many more. +Born in 1987 I grew up in Germany raised by a single, unemployed mother, without any educational background or wealth. +Regardless, my mother put a lot of effort into my education, even as we struggled financially, and I was able to attend university and study law in 2009. +Besides studying I committed to honorary posts at the European Law Students' Association and cared for my mother, who became ill. I even had to take a two-year-break from university to tend to her and go working at a hairdresser's in full employment. +Shortly before I could write my final exams, I gave birth to my first child in 2017 and to the second one in 2020. I stayed home a while and restarted university in September 2023. +My key area of focus is Media Law, which includes the areas of IT, Data Security, Intellectual Property and many more. Other than my studies and my little goblin children, my hobbies include reading (mostly science fiction and fantasy), pen and paper rpg, watching Buffy for the umphthousandth time, sewing and the dream of someday exercising martial arts again. diff --git a/src/content/speakers/EE7H7J.mdx b/src/content/speakers/EE7H7J.mdx index 128a715f1..5c45bb3d2 100644 --- a/src/content/speakers/EE7H7J.mdx +++ b/src/content/speakers/EE7H7J.mdx @@ -2,13 +2,15 @@ affiliation: NVIDIA avatar: https://program.europython.eu/media/avatars/profile-2024_x1uY6kh.png code: EE7H7J +gitx: https://github.com/jacobtomlinson homepage: https://jacobtomlinson.dev -mastodon: null +linkedin_url: null +mastodon_url: null name: Jacob Tomlinson slug: jacob-tomlinson submissions: - gpu-development-in-python-101 -twitter: https://twitter.com/_JacobTomlinson +twitter_url: https://twitter.com/_JacobTomlinson --- Jacob Tomlinson is a senior software engineer at NVIDIA. His work involves maintaining open source projects including RAPIDS and Dask. He also tinkers with kr8s in his spare time. He lives in Exeter, UK. diff --git a/src/content/speakers/EL3KUC.mdx b/src/content/speakers/EL3KUC.mdx index c1d234ebb..4a5d981f6 100644 --- a/src/content/speakers/EL3KUC.mdx +++ b/src/content/speakers/EL3KUC.mdx @@ -2,13 +2,15 @@ affiliation: Federal University of Pernambuco - Recife - Brazil avatar: https://program.europython.eu/media/avatars/soraya-foto_FL6oC44.jpeg code: EL3KUC +gitx: https://github.com/sorayaroberta homepage: https://sorayaroberta.com/ -mastodon: null +linkedin_url: https://www.linkedin.com/in/soraya-roberta-msc-13ab1b102 +mastodon_url: null name: Soraya Roberta slug: soraya-roberta submissions: - compiledpoem-py-teaching-about-diversity-and-python-through-poem -twitter: '@soraya_rbrt' +twitter_url: https://x.com/soraya_rbrt --- PhD student in Computer Science, Creator of Compiled Poetry Project, author of the book "print("my first print")", podcaster of Making Art With Code, member of the Brazilian Python Community, and Pyladies Natal. diff --git a/src/content/speakers/EU8HKQ.mdx b/src/content/speakers/EU8HKQ.mdx index 21ddc7bba..bd7a94a8f 100644 --- a/src/content/speakers/EU8HKQ.mdx +++ b/src/content/speakers/EU8HKQ.mdx @@ -2,17 +2,19 @@ affiliation: Kiwi.com avatar: https://program.europython.eu/media/avatars/speaker-pic_KRkwzgM.jpg code: EU8HKQ +gitx: https://github.com/ohduran homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/alvaroduranbarata/ +mastodon_url: null name: Alvaro Duran slug: alvaro-duran submissions: - enterprise-python-software-that-lives-long-and-prosper -twitter: https://twitter.com/thealvaroduran +twitter_url: https://twitter.com/thealvaroduran --- -I started using Python when I was a data scientist, but quickly found that what I like the most is building software for others to use. That’s why most of the stuff I've learned over the years is focused on optimizing software from the point of view of the user. - -I am a developer with a unique blend of expertise in finance, software engineering, and data. When I'm building software, my mind veers towards thorough testing and expressive code. That's why I love Python! - +I started using Python when I was a data scientist, but quickly found that what I like the most is building software for others to use. That’s why most of the stuff I've learned over the years is focused on optimizing software from the point of view of the user. + +I am a developer with a unique blend of expertise in finance, software engineering, and data. When I'm building software, my mind veers towards thorough testing and expressive code. That's why I love Python! + When not in front of a keyboard, I'm often found reading voraciously, near a pizza shop, or traveling. I may sometimes come across as too serious, but if you come bearing funny memes, or cookies, I can't help but smile. diff --git a/src/content/speakers/F8ANLQ.mdx b/src/content/speakers/F8ANLQ.mdx index 982bdaecd..26b5e8e45 100644 --- a/src/content/speakers/F8ANLQ.mdx +++ b/src/content/speakers/F8ANLQ.mdx @@ -2,15 +2,17 @@ affiliation: Smart Cyber Security GmbH avatar: https://program.europython.eu/media/avatars/Logo_tS4YI84.png code: F8ANLQ +gitx: https://github.com/pd-t homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/thomas-fraunholz/ +mastodon_url: null name: Thomas Fraunholz slug: thomas-fraunholz submissions: - unlock-the-power-of-dev-containers-consistent-environments-in-seconds -twitter: null +twitter_url: null --- -Meet Thomas, a passionate advocate for science, particularly in the realm of applied mathematics. Following his doctoral studies, he embarked on a journey into the world of embedded programming, where his affinity for DevOps took root. His enduring passion for crunching numbers ultimately led him to the fascinating field of artificial intelligence, where he's now an acknowledged MLOps expert, seamlessly integrating machine learning into operations. - +Meet Thomas, a passionate advocate for science, particularly in the realm of applied mathematics. Following his doctoral studies, he embarked on a journey into the world of embedded programming, where his affinity for DevOps took root. His enduring passion for crunching numbers ultimately led him to the fascinating field of artificial intelligence, where he's now an acknowledged MLOps expert, seamlessly integrating machine learning into operations. + Thomas has an impressive track record as a leader, having overseen two publicly funded open-source research programs in the field of AI, in collaboration with the German Aerospace Center. Today, he is at the forefront of AI-driven cybersecurity research and working on his low-budget bark beetle detection drone project – a testament to his enduring fascination with embedded systems. diff --git a/src/content/speakers/FNMQXB.mdx b/src/content/speakers/FNMQXB.mdx index e3c2d2ba1..20a2fc401 100644 --- a/src/content/speakers/FNMQXB.mdx +++ b/src/content/speakers/FNMQXB.mdx @@ -2,13 +2,15 @@ affiliation: Sanquin Blood Bank Research Devision / The Netherlands Cancer Institute avatar: https://program.europython.eu/media/avatars/photo_own_croped_5gtMslD.jpg code: FNMQXB +gitx: https://github.com/TessAfanasyeva homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/tess-afanasyeva +mastodon_url: null name: Tess Afanasyeva slug: tess-afanasyeva submissions: - rapid-detection-of-red-cell-membrane-defects-leading-to-hemolytic-anaemias -twitter: null +twitter_url: null --- Postdoc Bioinformatician, escaped from the lab (PhD) into Bioinformatics (Postdoc) via Software development coding bootcamp by Code First Girls and lots of self-study. diff --git a/src/content/speakers/FWGLE3.mdx b/src/content/speakers/FWGLE3.mdx index 3ff558dc7..ef7671132 100644 --- a/src/content/speakers/FWGLE3.mdx +++ b/src/content/speakers/FWGLE3.mdx @@ -2,13 +2,15 @@ affiliation: CZ.NIC avatar: https://program.europython.eu/media/avatars/08a3919d9f7f16d31dc71ade4db10aac_zR5d9bP.jpg code: FWGLE3 +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: "Jan Mus\xEDlek" slug: jan-musilek submissions: - keeping-your-projects-nice-and-clean -twitter: null +twitter_url: null --- I've gained my degree in Theoretical Computer Science on Charles University in Prague, Faculty of Mathematics and Physics. Currently I work as a Senior Python Developer at CZ.NIC, taking care of .cz domain registry and its ecosystem. I've been programming for almost 20 years, 7 of those as a proffesional Python developer. I'm a Linux and FOSS enthusiast and I like to submit PRs to open source projects whenever possible. In my free time, I do enjoy practicing partner acrobatics. diff --git a/src/content/speakers/FYYBAE.mdx b/src/content/speakers/FYYBAE.mdx index 47aeb20f3..51ef109a2 100644 --- a/src/content/speakers/FYYBAE.mdx +++ b/src/content/speakers/FYYBAE.mdx @@ -2,13 +2,15 @@ affiliation: Red Hat Czech s.r.o. avatar: https://program.europython.eu/media/avatars/DSC00168_VxtmhL5.JPG code: FYYBAE +gitx: https://github.com/befeleme/ homepage: https://karolinasurma.eu/ -mastodon: floss.social/@karo +linkedin_url: https://www.linkedin.com/in/karolina-surma-950452b7/ +mastodon_url: https://floss.social/@karo name: Karolina Surma slug: karolina-surma submissions: - pep-639-towards-licensing-standardization-in-python-packaging -twitter: null +twitter_url: null --- It all started with a PyLadies Python course in 2017 and I've been active in the Czech Python community ever since. After the beginner's course I got hooked into programming, learned the basics of Linux, and got impressed with the open-source project development. With that I could kickstart my career in IT: first as QA, now as a software engineer working with open-source software. Outside the world of IT, I like watching herbs grow, going on long hikes, dreaming of a better world and, on unrelated manner, reading fiction. diff --git a/src/content/speakers/G7GCFL.mdx b/src/content/speakers/G7GCFL.mdx index 62d110826..d762d3a85 100644 --- a/src/content/speakers/G7GCFL.mdx +++ b/src/content/speakers/G7GCFL.mdx @@ -2,11 +2,13 @@ affiliation: null avatar: https://program.europython.eu/media/avatars/318e025f2c36f1b25e0720d8055626c5_55n4SL3.jpg code: G7GCFL +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Joshua Lowe slug: joshua-lowe submissions: - invent-with-pyscript -twitter: null +twitter_url: null --- diff --git a/src/content/speakers/GKGSN7.mdx b/src/content/speakers/GKGSN7.mdx index 7894d78ba..04c23e239 100644 --- a/src/content/speakers/GKGSN7.mdx +++ b/src/content/speakers/GKGSN7.mdx @@ -2,15 +2,17 @@ affiliation: IBM avatar: https://program.europython.eu/media/avatars/1516094037699_WeDLyX9.jpeg code: GKGSN7 +gitx: https://github.com/petr-balogh homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/petrbalogh/ +mastodon_url: null name: Petr Balogh slug: petr-balogh submissions: - mastering-design-patterns-crafting-elegant-solutions-with-a-confidence -twitter: null +twitter_url: null --- -Working as an automation/DevOps engineer (Ecosystem technical lead) for OpenShift Data Foundation at IBM. -Previously was working for Red Hat on the same product and also Red Hat Virtualization. +Working as an automation/DevOps engineer (Ecosystem technical lead) for OpenShift Data Foundation at IBM. +Previously was working for Red Hat on the same product and also Red Hat Virtualization. In free time, I like any kind of sport, traveling and spending time with my family. diff --git a/src/content/speakers/GLMZDC.mdx b/src/content/speakers/GLMZDC.mdx index 7c3070563..0616b2048 100644 --- a/src/content/speakers/GLMZDC.mdx +++ b/src/content/speakers/GLMZDC.mdx @@ -2,17 +2,19 @@ affiliation: HackSoft avatar: https://program.europython.eu/media/avatars/rado_I79wz8p.jpg code: GLMZDC +gitx: https://github.com/RadoRado homepage: https://hacksoft.io -mastodon: null +linkedin_url: https://www.linkedin.com/in/radoslav-georgiev-hacksoft +mastodon_url: null name: Radoslav Georgiev slug: radoslav-georgiev submissions: - rapid-prototyping-proof-of-concepts-django-is-all-we-need -twitter: https://twitter.com/Rado_g +twitter_url: https://twitter.com/Rado_g --- -Radoslav Georgiev is a software engineer generalist with more than 15 years of experience. - -Currently, he is the CEO of HackSoft - a Bulgarian-based, software development company, that uses Django as one of their primary tools to build software. - +Radoslav Georgiev is a software engineer generalist with more than 15 years of experience. + +Currently, he is the CEO of HackSoft - a Bulgarian-based, software development company, that uses Django as one of their primary tools to build software. + Alongside the software development business, Radoslav has taught many software engineering & programming classes in HackBulgaria & the Faculty of Mathematics and Informatics in Sofia University. diff --git a/src/content/speakers/GV9BKJ.mdx b/src/content/speakers/GV9BKJ.mdx index f89ef486a..1dcc41fdb 100644 --- a/src/content/speakers/GV9BKJ.mdx +++ b/src/content/speakers/GV9BKJ.mdx @@ -2,16 +2,18 @@ affiliation: MACRO-SYSTEM and Warsaw University of Technology avatar: https://program.europython.eu/media/avatars/prof_lCHNRNw.jpg code: GV9BKJ +gitx: https://github.com/mRokita homepage: null -mastodon: null +linkedin_url: "https://linkedin.com/in/linkedin.com/in/micha\u0142-rokita" +mastodon_url: null name: "Micha\u0142 Rokita" slug: michal-rokita submissions: - multimedia-processing-with-ffmpeg-and-python -twitter: null +twitter_url: null --- -Michał is a proficient Python developer specializing in web development for the last seven years, during which he focused on developing scalable services with Django, Flask, and, more recently - Starlette and FastAPI. - -He is pursuing a Master's in Computer Science at the Warsaw University of Technology. He also explored Distributed Systems Engineering at TU Dresden through a student exchange program. +Michał is a proficient Python developer specializing in web development for the last seven years, during which he focused on developing scalable services with Django, Flask, and, more recently - Starlette and FastAPI. + +He is pursuing a Master's in Computer Science at the Warsaw University of Technology. He also explored Distributed Systems Engineering at TU Dresden through a student exchange program. Michał is one of the organizers of PyCon PL. diff --git a/src/content/speakers/GXFDLW.mdx b/src/content/speakers/GXFDLW.mdx index a33c24582..00723a781 100644 --- a/src/content/speakers/GXFDLW.mdx +++ b/src/content/speakers/GXFDLW.mdx @@ -2,15 +2,17 @@ affiliation: Federal Univerisity of Technology Akure NIgeria avatar: https://program.europython.eu/media/avatars/1Racheal_y02h3uf.jpg code: GXFDLW +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/racheal-akinbo-43378bb3/ +mastodon_url: null name: Akinbo Racheal Shade slug: akinbo-racheal-shade submissions: - social-media-and-sentimental-analysis-cbn-currency-redesign-policy -twitter: '@ShadeAkinbo' +twitter_url: https://x.com/ShadeAkinbo --- -My name is Akinbo Racheal, an author, writer, and researcher. I Possess a Master's Degree in Computer Science and currently pursuing my Ph.D. in Computer Science at the Federal University of Technology Akure Ondo State Nigeria. -My professional goals lie in my ability to become a stand-out female Professor in Computer Science, lecturer, solution developer and research scientist applying problem-solving technologies to make a difference in the lives of students, institutions, communities and my nation at large. +My name is Akinbo Racheal, an author, writer, and researcher. I Possess a Master's Degree in Computer Science and currently pursuing my Ph.D. in Computer Science at the Federal University of Technology Akure Ondo State Nigeria. +My professional goals lie in my ability to become a stand-out female Professor in Computer Science, lecturer, solution developer and research scientist applying problem-solving technologies to make a difference in the lives of students, institutions, communities and my nation at large. I am a high flyer and achiever with strong presentation skills and a responsible person. I also have excellent oral and communication skills with independent and creative working skills. diff --git a/src/content/speakers/GYETSD.mdx b/src/content/speakers/GYETSD.mdx index c838014d7..f8d162d7e 100644 --- a/src/content/speakers/GYETSD.mdx +++ b/src/content/speakers/GYETSD.mdx @@ -1,14 +1,20 @@ --- affiliation: Oxford Nanopore -avatar: '' +avatar: https://program.europython.eu/media/avatars/IMG_20230827_164738_VIbffcI.jpg code: GYETSD +gitx: null homepage: null -mastodon: null -name: Steven -slug: steven +linkedin_url: null +mastodon_url: null +name: Steven Pool +slug: steven-pool submissions: - designing-config-files-the-conflicting-needs-of-programmers-and-users -twitter: null +twitter_url: null --- -Steven is currently a software engineer at Oxford Nanopore. He's worked in and around Python for 8 years, including teaching it. +Hello! I'm Steven. + +I'm currently a software engineer at Oxford Nanopore doing cool DNA things 🧬 I've worked in and around Python for 10 years, including teaching it! I've been to a few EuroPython's now (but this is my first time speaking at a conference 🫣) + +I have a bizarre list of hobbies: Aerial silks, (flying) trapeze, ice skating, pottery, knitting/crochet, climbing, ... diff --git a/src/content/speakers/GZHPTE.mdx b/src/content/speakers/GZHPTE.mdx index 8539a9f66..005f53a2f 100644 --- a/src/content/speakers/GZHPTE.mdx +++ b/src/content/speakers/GZHPTE.mdx @@ -2,15 +2,17 @@ affiliation: Umuzi avatar: https://program.europython.eu/media/avatars/PXL_20220202_063143310_vOk18MH.jpg code: GZHPTE +gitx: https://github.com/sheenarbw homepage: https://sheenaoc.com/ -mastodon: https://fosstodon.org/@sheena +linkedin_url: https://www.linkedin.com/in/sheena-o-connell-0bb72527/ +mastodon_url: https://fosstodon.org/@sheena name: Sheena O'Connell slug: sheena-o-connell submissions: - learning-to-code-in-the-age-of-ai -twitter: '@sheena_oconnell' +twitter_url: https://x.com/sheena_oconnell --- -I’ve been programming in some form since my early teens. After high school, I went on to get an Honors degree in electrical engineering from the University of the Witwatersrand, South Africa. I’ve always been drawn to software development and to teaching. I worked for a string of startups and gained a lot of experience in all aspects of software development, from requirements gathering and UX design to implementation, deployment, and monitoring. - +I’ve been programming in some form since my early teens. After high school, I went on to get an Honors degree in electrical engineering from the University of the Witwatersrand, South Africa. I’ve always been drawn to software development and to teaching. I worked for a string of startups and gained a lot of experience in all aspects of software development, from requirements gathering and UX design to implementation, deployment, and monitoring. + I am currently the CTO of Umuzi. Our purpose is to reduce social inequality in Africa through digital education. Through my work at Umuzi, I have been able to dive into my multiple passions and develop a lot of skills at the intersection of tech and education. diff --git a/src/content/speakers/H3JGWN.mdx b/src/content/speakers/H3JGWN.mdx new file mode 100644 index 000000000..386d1a670 --- /dev/null +++ b/src/content/speakers/H3JGWN.mdx @@ -0,0 +1,16 @@ +--- +affiliation: NYU +avatar: '' +code: H3JGWN +gitx: lukpueh +homepage: null +linkedin_url: null +mastodon_url: null +name: "Lukas P\xFChringer" +slug: lukas-puhringer +submissions: +- its-happening-tuf-joins-pypi-warehouse +twitter_url: null +--- + +Lukas Pühringer is a research engineer at the NYU Center for Cyber Security (CCS), where he leads the development of The Update Framework (TUF), and has been co-maintaining several of Prof. Justin Cappos’ software projects, most notably the supply chain security framework in-toto. Lukas also supervises students and gives talks about TUF and in-toto. diff --git a/src/content/speakers/H3RSTE.mdx b/src/content/speakers/H3RSTE.mdx index ada874fb8..f5d134457 100644 --- a/src/content/speakers/H3RSTE.mdx +++ b/src/content/speakers/H3RSTE.mdx @@ -2,13 +2,15 @@ affiliation: Qdrant avatar: https://program.europython.eu/media/avatars/DSC_1400_300_square_iw3favM.jpg code: H3RSTE +gitx: https://github.com/kacperlukawski/ homepage: https://kacperlukawski.com -mastodon: null +linkedin_url: https://www.linkedin.com/in/kacperlukawski/ +mastodon_url: null name: "Kacper \u0141ukawski" slug: kacper-lukawski submissions: - deconstructing-the-text-embedding-models -twitter: '@LukawskiKacper' +twitter_url: https://x.com/LukawskiKacper --- Software developer and data scientist at heart, with an inclination to teach others. Public speaker, working in DevRel. diff --git a/src/content/speakers/HGKR9V.mdx b/src/content/speakers/HGKR9V.mdx index fe0cd3e16..69e1c7705 100644 --- a/src/content/speakers/HGKR9V.mdx +++ b/src/content/speakers/HGKR9V.mdx @@ -2,14 +2,16 @@ affiliation: Kiwi.com avatar: https://program.europython.eu/media/avatars/avatar_bgYNeZr.png code: HGKR9V +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/marian-%C5%A1pilka-1888a5b2/ +mastodon_url: null name: "Marian \u0160pilka" slug: marian-spilka submissions: - impersonation-in-data-engineering-no-more-credentials-in-your-code -twitter: null +twitter_url: null --- -Marian Spilka, a Senior Data Engineer at Kiwi.com, is an adept in orchestrating data workflows with managed Airflow and helping teams through Data Mesh architecture integration. Marian is passionate about everything around data. He finished his doctoral degree in Computer science with a focus on face recognition processing. +Marian Spilka, a Senior Data Engineer at Kiwi.com, is an adept in orchestrating data workflows with managed Airflow and helping teams through Data Mesh architecture integration. Marian is passionate about everything around data. He finished his doctoral degree in Computer science with a focus on face recognition processing. Beyond professional expertise, Marian is also an enthusiast in smart home technology, merging the worlds of DIY projects with his love for innovation. Marian cherishes everyday moments with his family and loved ones, balancing work with a fulfilling home life. diff --git a/src/content/speakers/HZMBBH.mdx b/src/content/speakers/HZMBBH.mdx index 10f6b8f86..1ae1e29b2 100644 --- a/src/content/speakers/HZMBBH.mdx +++ b/src/content/speakers/HZMBBH.mdx @@ -2,17 +2,19 @@ affiliation: Bruhin Software / Ostschweizer Fachhochschule avatar: https://program.europython.eu/media/avatars/square-1kpx_pfnPej4.jpg code: HZMBBH +gitx: https://github.com/the-compiler homepage: https://bruhin.software -mastodon: mastodon.social/@the_compiler +linkedin_url: null +mastodon_url: https://mastodon.social/@the_compiler name: Florian Bruhin slug: florian-bruhin submissions: - pytest-tips-and-tricks-for-a-better-testsuite -twitter: '@the_compiler' +twitter_url: https://x.com/the_compiler --- -Florian Bruhin ("The Compiler") is a long-time contributor and maintainer of -both the pytest framework and various plugins. He discovered pytest in 2015 - -since then, he has given talks and conducted workshops about pytest at various -conferences and companies. His primary project, qutebrowser (a keyboard-focused +Florian Bruhin ("The Compiler") is a long-time contributor and maintainer of +both the pytest framework and various plugins. He discovered pytest in 2015 - +since then, he has given talks and conducted workshops about pytest at various +conferences and companies. His primary project, qutebrowser (a keyboard-focused web browser), has grown from a hobby to a donation-funded part-time job. diff --git a/src/content/speakers/JGU3GX.mdx b/src/content/speakers/JGU3GX.mdx index e6ab3625e..1b07e5ee6 100644 --- a/src/content/speakers/JGU3GX.mdx +++ b/src/content/speakers/JGU3GX.mdx @@ -2,13 +2,15 @@ affiliation: EPFL Blue Brain Project avatar: '' code: JGU3GX +gitx: https://github.com/JCGoran homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/goran-cizmek/ +mastodon_url: null name: Goran Jelic-Cizmek slug: goran-jelic-cizmek submissions: - insights-and-experiences-of-packaging-python-binary-extensions -twitter: null +twitter_url: null --- After several years of being a researcher in cosmology and using Python for studying the large-scale structure of the Universe, I've since moved to the exciting world of high-performance computing, and am currently working on improving software in the computational neuroscience domain at EPFL's Blue Brain Project. diff --git a/src/content/speakers/JJLYHF.mdx b/src/content/speakers/JJLYHF.mdx index 40d44512a..270eaf4d9 100644 --- a/src/content/speakers/JJLYHF.mdx +++ b/src/content/speakers/JJLYHF.mdx @@ -2,13 +2,15 @@ affiliation: Hugging Face avatar: https://program.europython.eu/media/avatars/e041d9365863d211e7cded4b128fb2c0_0mUNoVg.jpg code: JJLYHF +gitx: https://github.com/sayakpaul/ homepage: https://sayak.dev/ -mastodon: null +linkedin_url: https://www.linkedin.com/in/sayak-paul/ +mastodon_url: null name: Sayak Paul slug: sayak-paul submissions: - state-of-the-art-image-generation-for-the-masses-with-diffusers -twitter: '@RisingSayak' +twitter_url: https://x.com/RisingSayak --- Sayak works as a Machine Learning Engineer at Hugging Face. He is responsible for maintaining the Diffusers library, training and babysitting diffusion models, and contributing to the impactful ideas in the space. Off the work, he can been caught binging Suits for the n-th time. diff --git a/src/content/speakers/JQ3MRZ.mdx b/src/content/speakers/JQ3MRZ.mdx index fc66f2445..419a46ce3 100644 --- a/src/content/speakers/JQ3MRZ.mdx +++ b/src/content/speakers/JQ3MRZ.mdx @@ -2,13 +2,15 @@ affiliation: Vonage avatar: https://program.europython.eu/media/avatars/pycon_uk_profile_pic_under_10mb_IHYslfb.png code: JQ3MRZ +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/maxkahan/ +mastodon_url: null name: Max Kahan slug: max-kahan submissions: - build-the-right-thing-win-a-nobel-prize -twitter: '@max_does_tech' +twitter_url: https://x.com/max_does_tech --- I'm a Python Developer Advocate and Software Engineer at Vonage (ex-IBM). I'm interested in communications APIs, machine learning, open-source, developer experience and dancing! My training is in Physics, and now I use my problem-solving skills daily, working on open-source projects and finding ways to make developers’ lives better. diff --git a/src/content/speakers/K8XYZX.mdx b/src/content/speakers/K8XYZX.mdx index 90e248a87..9a6aa063c 100644 --- a/src/content/speakers/K8XYZX.mdx +++ b/src/content/speakers/K8XYZX.mdx @@ -2,13 +2,15 @@ affiliation: Shift4 avatar: https://program.europython.eu/media/avatars/avatar_smiling_head_yXn1h5n.jpg code: K8XYZX +gitx: https://github.com/albertas/ homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/gimbutas/ +mastodon_url: null name: Albertas Gimbutas slug: albertas-gimbutas submissions: - deadcode-a-tool-to-find-and-fix-unused-dead-python-code -twitter: null +twitter_url: null --- Python enthusiast, who has helped to kick start Python conference in Lithuania ten years ago. He has more than 7 years of professional Python back-end engineering experience mostly using Django; as well as a PhD in Informatics and professional certifications in Python, AWS and Terraform. Currently working as a Tech Lead Python Engineer at Shift4. diff --git a/src/content/speakers/KKEMDU.mdx b/src/content/speakers/KKEMDU.mdx index 84a32cb41..ea7711587 100644 --- a/src/content/speakers/KKEMDU.mdx +++ b/src/content/speakers/KKEMDU.mdx @@ -1,12 +1,16 @@ --- -affiliation: null +affiliation: Bloomberg L.P. avatar: https://program.europython.eu/media/avatars/GoldfarbPyConIsrael2019_4icaND5.jpg code: KKEMDU +gitx: https://github.com/DanielGoldfarb homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Daniel Goldfarb slug: daniel-goldfarb submissions: - creating-your-own-extensions-for-jupyterlab -twitter: null +twitter_url: null --- + +Daniel is an engineer at Bloomberg L.P. with experience developing Trading Systems, Risk Analytics, and applications for Financial Analysis of Equities and Fixed Income securities. He holds a Ph.D. in Molecular Biophysics from the University of Virginia, and was a CFA charter holder and member of the Chartered Financial Analyst Institute for more than 10 years. He is the Open Source maintainer of Matplotlib's MPLFINANCE package (https://pypi.org/project/mplfinance/), and the author of McGraw-Hill's "Biophysics Demystified." diff --git a/src/content/speakers/KVWBAJ.mdx b/src/content/speakers/KVWBAJ.mdx index 549f7ca12..cd41c57ae 100644 --- a/src/content/speakers/KVWBAJ.mdx +++ b/src/content/speakers/KVWBAJ.mdx @@ -2,17 +2,19 @@ affiliation: SAP avatar: https://program.europython.eu/media/avatars/1690376591161_RjWaV73.jpeg code: KVWBAJ +gitx: https://github.com/xenagarage homepage: https://medium.com/@xenagarage -mastodon: null +linkedin_url: https://www.linkedin.com/in/senanursahin +mastodon_url: null name: Sena Sahin slug: sena-sahin submissions: - automate-your-kitchen-with-python-applied-ai -twitter: '@xenagarage' +twitter_url: https://x.com/xenagarage --- -Hello! I'm Sena, a recurring attendee of the EuroPython conference ❤️ -I'm currently working as a Data and Analytics Dev at SAP. -I did my Bachelor's in Electronic Engineering and am currently pursuing my Master's in Data Science. -I'm interested in Edge AI applications and Applied AI projects! +Hello! I'm Sena, a recurring attendee of the EuroPython conference ❤️ +I'm currently working as a Data and Analytics Dev at SAP. +I did my Bachelor's in Electronic Engineering and am currently pursuing my Master's in Data Science. +I'm interested in Edge AI applications and Applied AI projects! Eager to meet and learn from all the exciting Python enthusiasts at EP 2024! diff --git a/src/content/speakers/KYPBD3.mdx b/src/content/speakers/KYPBD3.mdx index 354da0941..76a570476 100644 --- a/src/content/speakers/KYPBD3.mdx +++ b/src/content/speakers/KYPBD3.mdx @@ -2,17 +2,19 @@ affiliation: Kochava avatar: https://program.europython.eu/media/avatars/Bunmi_Akinremi_TOpAUKC.jpg code: KYPBD3 +gitx: github.com/bumie-e homepage: null -mastodon: null +linkedin_url: https://linkedin.com/in/bunmi-akinremi/ +mastodon_url: null name: Bunmi Akinremi slug: bunmi-akinremi submissions: - behind-the-scenes-of-an-ads-prediction-system -twitter: '@bumie_rose' +twitter_url: https://x.com/bumie_rose --- -Bunmi Akinremi is a Microsoft Certified AI Engineer and seasoned Machine Learning Engineer with a thriving career in the advertising industry at Kochava. She has been in the space for 4+ years and has made impactful contributions across agriculture, finance, and journalism domains. - -Currently driving innovation at Kochava, Bunmi's work involves building robust model deployment pipelines and enhancing ML systems to make data-driven choices for clients. Aside from work, she actively participates in hackathons as they are an exciting way to collaborate and learn new tools. - +Bunmi Akinremi is a Microsoft Certified AI Engineer and seasoned Machine Learning Engineer with a thriving career in the advertising industry at Kochava. She has been in the space for 4+ years and has made impactful contributions across agriculture, finance, and journalism domains. + +Currently driving innovation at Kochava, Bunmi's work involves building robust model deployment pipelines and enhancing ML systems to make data-driven choices for clients. Aside from work, she actively participates in hackathons as they are an exciting way to collaborate and learn new tools. + Beyond her professional accomplishments, Bunmi's contributions to the community are equally impressive. As a mentor, tutor, and community leader, Bunmi has fostered a thriving environment for learning and innovation, empowering women professionals and AI enthusiasts. Whether leading groundbreaking projects, sharing knowledge, or contributing to community growth, she always looks for new challenges and opportunities to learn and grow. diff --git a/src/content/speakers/L9HKCJ.mdx b/src/content/speakers/L9HKCJ.mdx index a755e9d58..14b915bca 100644 --- a/src/content/speakers/L9HKCJ.mdx +++ b/src/content/speakers/L9HKCJ.mdx @@ -2,13 +2,15 @@ affiliation: Kiwi.com avatar: '' code: L9HKCJ +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: madalina slug: madalina submissions: - one-analysis-a-day-keeps-anomalies-away -twitter: null +twitter_url: null --- Madalina Ciortan is Head of Data Science at Kiwi.com. Her academic journey includes a degree in engineering, a master's in computer science, a post-master's in bioinformatics and doctorate in data science. With close to two decades of professional experience, she navigated roles in software development, architecture, applied data science, and research. Her expertise spans a wide array of domains, from computer vision and natural language processing to time series analysis, unsupervised analysis, self-supervised learning within the industry. diff --git a/src/content/speakers/LBHYNH.mdx b/src/content/speakers/LBHYNH.mdx index bbfd91a51..3fd5384c8 100644 --- a/src/content/speakers/LBHYNH.mdx +++ b/src/content/speakers/LBHYNH.mdx @@ -2,13 +2,15 @@ affiliation: Red Hat avatar: https://program.europython.eu/media/avatars/2022_profile_hOU4JId.jpg code: LBHYNH +gitx: vstinner homepage: https://vstinner.readthedocs.io/ -mastodon: https://mamot.fr/@vstinner +linkedin_url: null +mastodon_url: https://mamot.fr/@vstinner name: Victor Stinner slug: victor-stinner submissions: - move-the-python-ecosystem-to-the-stable-abi -twitter: VictorStinner +twitter_url: https://x.com/VictorStinner --- I am paid by Red Hat to maintain Python upstream (python.org) and downstream (RHEL and Fedora). Python core developer. diff --git a/src/content/speakers/LUJRLV.mdx b/src/content/speakers/LUJRLV.mdx new file mode 100644 index 000000000..0a5822858 --- /dev/null +++ b/src/content/speakers/LUJRLV.mdx @@ -0,0 +1,22 @@ +--- +affiliation: Vertify GmbH +avatar: https://program.europython.eu/media/avatars/2020OliverReischl_sSfGYao.jpg +code: LUJRLV +gitx: https://github.com/clawjelly +homepage: http://clawjelly.net +linkedin_url: https://www.linkedin.com/in/oliverreischl/ +mastodon_url: https://mastodon.gamedev.place/@clawjelly +name: Oliver Reischl +slug: oliver-reischl +submissions: +- blender-from-zero-to-addon-in-30-mins +twitter_url: null +--- + +Born and raised in Graz, Austria, i grew up playing videogames from the age of 6 years. A C64 somewhere around 1998 was the first computer i could sink my teeth in - First BASIC programs were programmed and the coding bug had stung me! Combined with my love for videogames i could only see one profession which would satisfy me: Making videogames! + +After studying graphics and playing around with early versions of 3D Studio Max, i was hired by Neo Software, one of the most famous videogame developer of Austria in 2000. My dream became true! + +In 2003 i finally stumbled over Python, as it slowly but sure wiggled itself into tool development for game production. It was love on first sight. This helped me greatly to improve all sides of the art and development process within the daily videogame business! + +Now, in 2024, i can look back on a career of over 20 years of professional game development! diff --git a/src/content/speakers/LWECAK.mdx b/src/content/speakers/LWECAK.mdx index 539dfee8f..849e0b9cf 100644 --- a/src/content/speakers/LWECAK.mdx +++ b/src/content/speakers/LWECAK.mdx @@ -2,13 +2,15 @@ affiliation: instiro avatar: https://program.europython.eu/media/avatars/New-MaciejSzymczak_23-05-18_3629_favorite.jpg_z91Yoqa.jpg code: LWECAK +gitx: null homepage: https://www.insitro.com/ -mastodon: null +linkedin_url: https://www.linkedin.com/in/maciej-szymczak/ +mastodon_url: null name: Maciej Szymczak slug: maciej-szymczak submissions: - redun-lazy-expressions-for-efficient-reactive-python-workflows -twitter: null +twitter_url: null --- Software developer interested in machine learning, functional programming and software design. Holds master's degree in Computer Science from the Jagiellonian University in Cracow. diff --git a/src/content/speakers/MGQCUC.mdx b/src/content/speakers/MGQCUC.mdx index 8392a33ff..c76428607 100644 --- a/src/content/speakers/MGQCUC.mdx +++ b/src/content/speakers/MGQCUC.mdx @@ -2,15 +2,17 @@ affiliation: Battery Smart avatar: https://program.europython.eu/media/avatars/dp_ebJUhlq.jpeg code: MGQCUC +gitx: https://github.com/vishrutkohli homepage: https://vishrutkohli.github.io/ -mastodon: null +linkedin_url: https://www.linkedin.com/in/lazycoder07/ +mastodon_url: null name: vishrut kohli slug: vishrut-kohli submissions: - sun-vs-me-quest-to-outwit-the-blinding-sun-and-snag-some-extra-z-s -twitter: '@lazycoder7' +twitter_url: https://x.com/lazycoder7 --- -I'm Vishrut, a 26-year-old Senior Software Engineer at India's biggest sustainable grocery delivery service. My Python journey kicked off back in college, but it really took flight when I dove into building software for real customers at a massive scale. Python's been my go-to tech stack for years, and I love to share my learnings of making systems resilient. - +I'm Vishrut, a 26-year-old Senior Software Engineer at India's biggest sustainable grocery delivery service. My Python journey kicked off back in college, but it really took flight when I dove into building software for real customers at a massive scale. Python's been my go-to tech stack for years, and I love to share my learnings of making systems resilient. + Besides wrangling code, I head up the Learning and Development squad in our company. I love running monthly workshops and tutorials on programming stuff. You'll often catch me hitting up conferences, either speaking or soaking up knowledge as an eager attendee. diff --git a/src/content/speakers/MHPHE3.mdx b/src/content/speakers/MHPHE3.mdx index 7bde58cb5..24e17afb5 100644 --- a/src/content/speakers/MHPHE3.mdx +++ b/src/content/speakers/MHPHE3.mdx @@ -2,13 +2,15 @@ affiliation: H2O.ai avatar: https://program.europython.eu/media/avatars/OzE5gWmZ_400x400-3_zZlciVI.jpg code: MHPHE3 +gitx: null homepage: null -mastodon: null +linkedin_url: https://linkedin.com/in/sanyambhutani/ +mastodon_url: null name: Sanyam Bhutani slug: sanyam-bhutani submissions: - a-journey-from-zero-to-large-language-models-in-python -twitter: https://twitter.com/bhutanisanyam1 +twitter_url: https://twitter.com/bhutanisanyam1 --- Sanyam Bhutani is a Sr Data Scientist and Kaggle Grandmaster at H2O where he drinks chai and makes content for the community. When not drinking chai, he is to be found hiking the Himalayas, often with LLM Research papers. For the past 6 months, he has been writing about Generative AI everyday on the internet. Before that he has been recognised for his #1 Kaggle Podcast: Chai Time Data Science and also widely known on the internet for “maximising compute per cubic inch of an ATX case” by fixing 12 GPUs into his home office. diff --git a/src/content/speakers/MTEUCU.mdx b/src/content/speakers/MTEUCU.mdx index 4017ee2f6..274cd2d0b 100644 --- a/src/content/speakers/MTEUCU.mdx +++ b/src/content/speakers/MTEUCU.mdx @@ -2,14 +2,16 @@ affiliation: Freelance avatar: https://program.europython.eu/media/avatars/1db8269d2442d7241778e8103c67d020_mxoopCD.jpg code: MTEUCU +gitx: https://github.com/pavelkraleu homepage: https://pavelkral.eu -mastodon: null +linkedin_url: https://www.linkedin.com/in/pavkr2 +mastodon_url: null name: "Pavel Kr\xE1l" slug: pavel-kral submissions: - are-llms-smarter-in-some-languages-than-others -twitter: '@MePavelKral' +twitter_url: https://x.com/MePavelKral --- -Pavel is a Python developer specializing in LLM integrations based on Django and Kubernetes, who enjoys their practical use and measurable benefits. +Pavel is a Python developer specializing in LLM integrations based on Django and Kubernetes, who enjoys their practical use and measurable benefits. He presented at **Prague Python Pizza**, where he talked about how LLM work with different languages, and he will also present at **PyConSK**. diff --git a/src/content/speakers/MYQQFB.mdx b/src/content/speakers/MYQQFB.mdx index a5d7e25c2..8d0c2f36c 100644 --- a/src/content/speakers/MYQQFB.mdx +++ b/src/content/speakers/MYQQFB.mdx @@ -2,13 +2,15 @@ affiliation: Jessica Tegner avatar: https://program.europython.eu/media/avatars/jessica_FdDXZMr.jpeg code: MYQQFB +gitx: https://github.com/JessicaTegner homepage: https://jessicategner.com -mastodon: null +linkedin_url: https://www.linkedin.com/in/jessica-tegner-dk/ +mastodon_url: null name: Jessica Tegner slug: jessica-tegner submissions: - beyond-the-trend-authentic-approaches-to-foster-diversity-in-open-source -twitter: '@JessicaTegnerDK' +twitter_url: https://x.com/JessicaTegnerDK --- Jessica Tegner is an open-source software developer and computer science student from Denmark who has been a part of the open source world for over 13 years. She is a maintainer of pypandoc, a thin wrapper for the universal document converter pandoc. Being fully blind has not stopped her from working as a software engineer intern at Uber, being a member of the first GitHub Accelerator program or having the opportunity of being a world-conference public speaker. diff --git a/src/content/speakers/MZUEG3.mdx b/src/content/speakers/MZUEG3.mdx index 952b185f7..c74430755 100644 --- a/src/content/speakers/MZUEG3.mdx +++ b/src/content/speakers/MZUEG3.mdx @@ -2,14 +2,16 @@ affiliation: UST avatar: https://program.europython.eu/media/avatars/photo_xm5Agxd.jpeg code: MZUEG3 +gitx: https://github.com/abhinand-c homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/abhinand-c/ +mastodon_url: null name: Abhinand C slug: abhinand-c submissions: - building-event-driven-python-service-using-faststream-and-asyncapi -twitter: null +twitter_url: null --- -Abhinand C is a Product Engineer at Strollby, UST who loves to experiment with tech and build products for crafting a brighter future. At UST, he works on developing and scaling Python-based GraphQL micro-services. -Beyond the office, Abhinand actively volunteers with Kerala Police Cyberdome & Trivandrum Python Community. He also nurtures personal hobby projects, and contributes to the open-source community. He even had the privilege of delivering talks at renowned conferences like EuroPython 2022, PyCon India, PyCon Thailand. +Abhinand C is a Product Engineer at Strollby, UST who loves to experiment with tech and build products for crafting a brighter future. At UST, he works on developing and scaling Python-based GraphQL micro-services. +Beyond the office, Abhinand actively volunteers with Kerala Police Cyberdome & Trivandrum Python Community. He also nurtures personal hobby projects, and contributes to the open-source community. He even had the privilege of delivering talks at renowned conferences like EuroPython 2023, PyCon India, PyCon Thailand. diff --git a/src/content/speakers/NA8E8D.mdx b/src/content/speakers/NA8E8D.mdx index d99d0c25d..d1ade1c7a 100644 --- a/src/content/speakers/NA8E8D.mdx +++ b/src/content/speakers/NA8E8D.mdx @@ -1,12 +1,16 @@ --- -affiliation: null -avatar: '' +affiliation: Bloomberg +avatar: https://program.europython.eu/media/avatars/profile_XVnASKs.jpg code: NA8E8D +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/gowthami-b-7335427b +mastodon_url: null name: Gowthami Bhogireddy slug: gowthami-bhogireddy submissions: - taming-one-quadrillion-data-points-with-apache-iceberg-and-parquet -twitter: null +twitter_url: null --- + +Gowthami Bhogireddy is a Software Engineer on the Bloomberg’s Enterprise Data Lake team. She is leveraging distributed file systems, cloud table formats, and distributed query engines to build a data lake for historical financial data, which will empower clients to take full advantage of the company’s Enterprise Data products. Her team has ingested, cleaned, and enriched a quadrillion data points into the data lake, which continues growing by at least hundreds of billions of new data points daily. diff --git a/src/content/speakers/NB37WS.mdx b/src/content/speakers/NB37WS.mdx index 58fd1aa1b..9c1b5082c 100644 --- a/src/content/speakers/NB37WS.mdx +++ b/src/content/speakers/NB37WS.mdx @@ -2,13 +2,15 @@ affiliation: Cloudsmith avatar: https://program.europython.eu/media/avatars/Ciara_Rectangle_Background_1_OW89AQG.jpg code: NB37WS +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/ciara-carey-7540173/ +mastodon_url: null name: Ciara Carey slug: ciara-carey submissions: - best-practices-for-securely-consuming-open-source-in-python -twitter: null +twitter_url: null --- I'm a software engineer working in developer relations in Cloudsmith and have a particular interest in software supply chain security. diff --git a/src/content/speakers/NLHSWB.mdx b/src/content/speakers/NLHSWB.mdx index abea6b0f3..19c4321a0 100644 --- a/src/content/speakers/NLHSWB.mdx +++ b/src/content/speakers/NLHSWB.mdx @@ -2,13 +2,15 @@ affiliation: Bloomberg avatar: https://program.europython.eu/media/avatars/77c28d84086eaacc4f606416ea70434d_iz2nSan.jpg code: NLHSWB +gitx: pablogsal homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Pablo Galindo Salgado slug: pablo-galindo-salgado submissions: - tales-from-the-abyss-some-of-the-most-obscure-cpython-bugs -twitter: pyblogsal +twitter_url: https://x.com/pyblogsal --- Pablo Galindo Salgado works in the Python Infrastructure team at the Software Infrastructure department at Bloomberg L.P. He is a CPython core developer and a Theoretical Physicist specializing in general relativity and black hole physics. He is currently serving on the Python Steering Council and he is the release manager for Python 3.10 and 3.11. He has also a cat but he does not code. diff --git a/src/content/speakers/NN8GFM.mdx b/src/content/speakers/NN8GFM.mdx index 90fa59ef6..581584fd3 100644 --- a/src/content/speakers/NN8GFM.mdx +++ b/src/content/speakers/NN8GFM.mdx @@ -2,15 +2,17 @@ affiliation: Charles University avatar: https://program.europython.eu/media/avatars/2019_des_sq_web_small_UNza8hK.jpg code: NN8GFM +gitx: https://github.com/martinfleis homepage: http://martinfleischmann.net/ -mastodon: fosstodon.org/@martinfleis +linkedin_url: null +mastodon_url: https://fosstodon.org/@martinfleis name: Martin Fleischmann slug: martin-fleischmann submissions: - geopandas-1-0-and-beyond -twitter: '@martinfleis' +twitter_url: https://x.com/martinfleis --- -I am a researcher in urban morphology and geographic data science focusing on quantitative analysis and classification of cities, remote sensing, and bits of AI. While not doing the research, I write open source software, promote open science and help others with their data. - +I am a researcher in urban morphology and geographic data science focusing on quantitative analysis and classification of cities, remote sensing, and bits of AI. While not doing the research, I write open source software, promote open science and help others with their data. + I am an author or a maintainer of a range of open scientific software, including GeoPandas, the open source Python package for geographic data handling, momepy, the urban morphology measuring toolkit for Python, Xvec, the tool for vector data cubes, and PySAL, the Python library for spatial analysis. diff --git a/src/content/speakers/NWAQCX.mdx b/src/content/speakers/NWAQCX.mdx index b062c4230..dd4cccf26 100644 --- a/src/content/speakers/NWAQCX.mdx +++ b/src/content/speakers/NWAQCX.mdx @@ -2,13 +2,15 @@ affiliation: scch.at avatar: https://program.europython.eu/media/avatars/Screenshot_from_2024-01-06_14-54-25_EhAyTJE.png code: NWAQCX +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Oleh Kostromin slug: oleh-kostromin submissions: - scikit-llm-beginner-friendly-nlp-using-llms -twitter: null +twitter_url: null --- I am a Data Scientist with a master's degree in Artificial Intelligence. Core contributor of Scikit-LLM. diff --git a/src/content/speakers/PCANRA.mdx b/src/content/speakers/PCANRA.mdx index 5809eaab4..23bfacde7 100644 --- a/src/content/speakers/PCANRA.mdx +++ b/src/content/speakers/PCANRA.mdx @@ -2,15 +2,17 @@ affiliation: Geotab avatar: https://program.europython.eu/media/avatars/me-MkIII_3uUT4Lq.png code: PCANRA +gitx: https://github.com/Javinator9889 homepage: https://javinator9889.com -mastodon: null +linkedin_url: https://linkedin.com/in/javinator9889 +mastodon_url: null name: Javier Alonso slug: javier-alonso submissions: - rpa-tdd-and-embedded-a-world-glued-together-with-python -twitter: '@javinator9889' +twitter_url: https://x.com/javinator9889 --- -I am a passionate Computer Engineer always learning new things! I started in this world almost 7 years ago and I am glad I can work on the thing that I love. - +I am a passionate Computer Engineer always learning new things! I started in this world almost 7 years ago and I am glad I can work on the thing that I love. + I am a Python Supporter, actively working in Python Spain. Organizer of the PyConES 2023/2024 editions, collaborator on the PyConES 2022. diff --git a/src/content/speakers/PK8LSS.mdx b/src/content/speakers/PK8LSS.mdx index 884accff6..fadf8a91b 100644 --- a/src/content/speakers/PK8LSS.mdx +++ b/src/content/speakers/PK8LSS.mdx @@ -2,13 +2,15 @@ affiliation: Azion Technologies avatar: https://program.europython.eu/media/avatars/profile_xKpnCpq.jpeg code: PK8LSS +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/vinicius-gubiani-ferreira/ +mastodon_url: null name: "Vin\xEDcius Gubiani Ferreira" slug: vinicius-gubiani-ferreira submissions: - pep-683-immortal-objects-a-new-approach-for-memory-managing -twitter: null +twitter_url: null --- Love to code, to read other people’s code, and to help others achieve what they want with code. Be it directly or by guiding them to find out for themselves. diff --git a/src/content/speakers/PRFLCZ.mdx b/src/content/speakers/PRFLCZ.mdx index 12f994d50..0bfa86e45 100644 --- a/src/content/speakers/PRFLCZ.mdx +++ b/src/content/speakers/PRFLCZ.mdx @@ -2,13 +2,15 @@ affiliation: Esri R&D avatar: https://program.europython.eu/media/avatars/mayank_photo_uRbqmT3.jpg code: PRFLCZ +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/mayank-khanduja-554607130/ +mastodon_url: null name: Mayank Khanduja slug: mayank-khanduja submissions: - earth-observation-through-large-vision-models -twitter: null +twitter_url: null --- -I'm a data scientist at Esri, where I apply computer vision and AI techniques to develop groundbreaking models for satellite and remote sensing datasets. My work unlocks valuable insights from geospatial imagery, for a deeper understanding of our planet. +Mayank is a data scientist at Esri, where he develops AI models for satellite and remote sensing datasets for a deeper understanding of our planet. diff --git a/src/content/speakers/PVSNUG.mdx b/src/content/speakers/PVSNUG.mdx index b8e708a02..dfa1d117a 100644 --- a/src/content/speakers/PVSNUG.mdx +++ b/src/content/speakers/PVSNUG.mdx @@ -2,13 +2,15 @@ affiliation: deepset avatar: https://program.europython.eu/media/avatars/headshot_EAa6B7u.jpg code: PVSNUG +gitx: https://github.com/bilgeyucel homepage: https://bilgeyucel.github.io/ -mastodon: bilgeyucel@sigmoid.social +linkedin_url: https://www.linkedin.com/in/bilge-yucel/ +mastodon_url: https://bilgeyucel@sigmoid.social name: "Bilge Y\xFCcel" slug: bilge-yucel submissions: - building-end-to-end-reliable-rag-applications -twitter: '@bilgeycl' +twitter_url: https://x.com/bilgeycl --- Bilge is a Developer Relations Engineer at deepset, working with Haystack, an open source LLM framework. With over two years of experience as a Software Engineer, she developed a strong interest in NLP and pursued a master's degree in Artificial Intelligence at KU Leuven with a focus on NLP. Now, she enjoys working with Haystack, writing blog posts and tutorials, and helping the community build LLM applications. ✨ 🥑 diff --git a/src/content/speakers/PXQBU9.mdx b/src/content/speakers/PXQBU9.mdx index facc30bef..f9588a91a 100644 --- a/src/content/speakers/PXQBU9.mdx +++ b/src/content/speakers/PXQBU9.mdx @@ -2,13 +2,15 @@ affiliation: JetBrains avatar: https://program.europython.eu/media/avatars/BK7A9876_korr_sRGB_8_1000x1500px_b_NbNTtra.jpg code: PXQBU9 +gitx: https://github.com/t-redactyl homepage: https://t-redactyl.io/ -mastodon: fosstodon.org/@t_redactyl +linkedin_url: https://www.linkedin.com/in/jodieburchell/ +mastodon_url: https://fosstodon.org/@t_redactyl name: Jodie Burchell slug: jodie-burchell submissions: - lies-damned-lies-and-large-language-models -twitter: '@t_redactyl' +twitter_url: https://x.com/t_redactyl --- Dr. Jodie Burchell is the Developer Advocate in Data Science at JetBrains, and was previously a Lead Data Scientist at Verve Group Europe. After finishing a PhD in Psychology and a postdoc in biostatistics, she has worked in a range of data science and machine learning roles across natural language processing, search improvement, recommendation systems, and programmatic advertising. She is passionate about making Python data science and machine learning accessible for others. She is also a long time content creator in data science, across conference and user group presentations, books, webinars, and blogging. diff --git a/src/content/speakers/QAEYKQ.mdx b/src/content/speakers/QAEYKQ.mdx index 3a804aca8..cafe85e83 100644 --- a/src/content/speakers/QAEYKQ.mdx +++ b/src/content/speakers/QAEYKQ.mdx @@ -2,13 +2,15 @@ affiliation: Trail of Bits avatar: https://program.europython.eu/media/avatars/TF_BHUvrOe.jpeg code: QAEYKQ +gitx: https://github.com/facutuesca homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Facundo Tuesca slug: facundo-tuesca submissions: - automatic-trusted-publishing-with-pypi -twitter: null +twitter_url: null --- I'm a Senior Security Engineer at Trail of Bits, currently focused on improving open-source ecosystem security, mainly through contributions to foundational packages in the Python ecosystem. diff --git a/src/content/speakers/QCRLAF.mdx b/src/content/speakers/QCRLAF.mdx index 017c18810..45562e8b6 100644 --- a/src/content/speakers/QCRLAF.mdx +++ b/src/content/speakers/QCRLAF.mdx @@ -2,17 +2,19 @@ affiliation: Contributor to the OpenFHE project and Machine Learning Lead avatar: https://program.europython.eu/media/avatars/email1709810642622sukanyamandal_3t7fRvP.jpeg code: QCRLAF +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Sukanya Mandal slug: sukanya-mandal submissions: - encrypted-computing-in-python-using-openfhe -twitter: null +twitter_url: null --- -Contributor to the OpenFHE project and Machine Learning Lead - -Sukanya is an experienced Research Engineer and Tech Lead, specializing in driving innovation in the Data and AI field. She has led teams in developing Federated Learning use cases across various domains. Her work involves extensive research and development in Federated Learning and Edge AI, creating prototypes, solutions and architecting and developing data systems for diverse industrial domains. - +Contributor to the OpenFHE project and Machine Learning Lead + +Sukanya is an experienced Research Engineer and Tech Lead, specializing in driving innovation in the Data and AI field. She has led teams in developing Federated Learning use cases across various domains. Her work involves extensive research and development in Federated Learning and Edge AI, creating prototypes, solutions and architecting and developing data systems for diverse industrial domains. + She is also an organizing committee member of PyCon Ireland and led organizer of PyData Ireland. diff --git a/src/content/speakers/QMAPYZ.mdx b/src/content/speakers/QMAPYZ.mdx index 85c62131d..53c320ed6 100644 --- a/src/content/speakers/QMAPYZ.mdx +++ b/src/content/speakers/QMAPYZ.mdx @@ -2,13 +2,15 @@ affiliation: Anaconda avatar: https://program.europython.eu/media/avatars/cdc3cafa377f0e0e93fc69636021ef65_Uf9XcVF.jpg code: QMAPYZ +gitx: null homepage: null -mastodon: https://mastodon.social/@antocuni +linkedin_url: null +mastodon_url: https://mastodon.social/@antocuni name: Antonio Cuni slug: antonio-cuni submissions: - spy-static-python-lang-fast-as-c-pythonic-as-python -twitter: '@antocuni' +twitter_url: https://x.com/antocuni --- Dr. Antonio Cuni is a Principal Software Engineer at Anaconda. He is the author of SPy, a core developer of PyScript and PyPy, and one of the founders of the HPy project, which aims to design a better and more modern C API for Python. He loves to write tools from developers for developers, such as Pdb++, fancycompleter and vmprof and he is creator/maintainer/contributor of numerous other open source projects. He have also been very active in the Python community for years, giving talks at various conferences such as EuroPython, EuroSciPy, PyCon Italia, and many others. He regularly writes on the PyPy blog and on the HPy blog. His main areas of interest are compilers, language implementation, TDD and performance. diff --git a/src/content/speakers/QQSVVM.mdx b/src/content/speakers/QQSVVM.mdx index 931d8c439..131d0b5dc 100644 --- a/src/content/speakers/QQSVVM.mdx +++ b/src/content/speakers/QQSVVM.mdx @@ -2,17 +2,19 @@ affiliation: Kraken Tech avatar: https://program.europython.eu/media/avatars/me-2023_IjHoFqZ.jpg code: QQSVVM +gitx: cgl homepage: null -mastodon: '@cgl@fosstodon.org' +linkedin_url: https://www.linkedin.com/in/cagil/ +mastodon_url: https://fosstodon.org/@cgl name: "\xC7a\u011F\u0131l Ulu\u015Fahin S\xF6nmez" slug: cagil-ulusahin-sonmez submissions: - navigating-tech-leadership-challenges-and-strategies -twitter: '@cagilulusahin' +twitter_url: https://x.com/cagilulusahin --- -Çağıl is a software engineer based in London. She has been working with Python and Django since 2008. - -Currently she is working as a Lead Backend Engineer at Kraken Tech. - +Çağıl is a software engineer based in London. She has been working with Python and Django since 2008. + +Currently she is working as a Lead Backend Engineer at Kraken Tech. + She is vice president in Django Software Foundation, co-organiser of London Django Meetup, Pycon Turkey, DjangoGirls Turkey, and a PSF managing member. diff --git a/src/content/speakers/QRQDV3.mdx b/src/content/speakers/QRQDV3.mdx index a073df4e4..f39b23834 100644 --- a/src/content/speakers/QRQDV3.mdx +++ b/src/content/speakers/QRQDV3.mdx @@ -2,13 +2,15 @@ affiliation: "Tecnol\xF3gico de Monterrey" avatar: https://program.europython.eu/media/avatars/aortiz_2018_NPASUOa.jpg code: QRQDV3 +gitx: https://github.com/ariel-ortiz/ homepage: https://arielortiz.info/ -mastodon: null +linkedin_url: https://www.linkedin.com/in/ariel-ortiz-a0450689/ +mastodon_url: null name: Ariel Ortiz slug: ariel-ortiz submissions: - from-diamonds-to-mixins-demystifying-multiple-inheritance-in-python -twitter: null +twitter_url: null --- Ariel Ortiz is a programming languages geek. Since 1994, he’s been a full time faculty member at the Tecnológico de Monterrey in Mexico, where he has been involved mainly in teaching undergraduate computer science courses. His first encounter with Python was back in 2001, and since then he has used it in several of his classes, including: CS1, Data Structures, Web Development, Design Patterns, Programming Languages, and Compiler Design. He’s an active member of ACM’s special interest group on computer science education (SIGCSE) and the main author of the Spanish language websites [EduPython](https://edupython.blogspot.com/) and [RIP3](https://arielortiz.info/rip3/). diff --git a/src/content/speakers/QYTJB9.mdx b/src/content/speakers/QYTJB9.mdx index 1ead86cd8..943a9caca 100644 --- a/src/content/speakers/QYTJB9.mdx +++ b/src/content/speakers/QYTJB9.mdx @@ -2,19 +2,21 @@ affiliation: eGenix.com avatar: https://program.europython.eu/media/avatars/mal-business-2-170x170_VPXpWrX.jpg code: QYTJB9 +gitx: null homepage: https://malemburg.com/ -mastodon: '@malemburg@mastodon.social' +linkedin_url: https://www.linkedin.com/in/lemburg/ +mastodon_url: https://mastodon.social/@malemburg name: "Marc-Andr\xE9 Lemburg" slug: marc-andre-lemburg submissions: - shipping-ready-to-run-python-apps-without-the-need-to-install-python -twitter: '@malemburg' +twitter_url: https://x.com/malemburg --- -Marc-Andre is the CEO and founder of eGenix.com, a Python-focused boutique project and consulting company based in Germany, specializing in the data, finance and database space. He has a degree in mathematics from the University of Düsseldorf. - -His work with and for Python started in 1994. He is a Python Core Developer, designed and implemented the Unicode support in Python, the editor of the Python DB-API and author of several open source libraries and tools (e.g. the mx Extensions mxDateTime and mxODBC). - -Marc-Andre is a EuroPython Society (EPS) Fellow, a Python Software Foundation (PSF) founding Fellow and co-founded a local Python meeting in Düsseldorf (PyDDF). He served on the board of the PSF and EPS for many years and loves to contribute to the growth of Python wherever he can. - +Marc-Andre is the CEO and founder of eGenix.com, a Python-focused boutique project and consulting company based in Germany, specializing in the data, finance and database space. He has a degree in mathematics from the University of Düsseldorf. + +His work with and for Python started in 1994. He is a Python Core Developer, designed and implemented the Unicode support in Python, the editor of the Python DB-API and author of several open source libraries and tools (e.g. the mx Extensions mxDateTime and mxODBC). + +Marc-Andre is a EuroPython Society (EPS) Fellow, a Python Software Foundation (PSF) founding Fellow and co-founded a local Python meeting in Düsseldorf (PyDDF). He served on the board of the PSF and EPS for many years and loves to contribute to the growth of Python wherever he can. + More information is available on https://malemburg.com/ diff --git a/src/content/speakers/R3AGHS.mdx b/src/content/speakers/R3AGHS.mdx index 28fe93ad7..d812d1a5d 100644 --- a/src/content/speakers/R3AGHS.mdx +++ b/src/content/speakers/R3AGHS.mdx @@ -2,13 +2,15 @@ affiliation: Kiwi.com avatar: https://program.europython.eu/media/avatars/577AA1D3-F361-4F3F-9A9F-C3FA05418688_KbiWs6E.JPG code: R3AGHS +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/michal-cyprian/ +mastodon_url: null name: Michal Cyprian slug: michal-cyprian submissions: - how-to-deliver-3x-faster-with-effective-api-design -twitter: null +twitter_url: null --- I'm Michal, an Engineering Lead at Kiwi.com, a leading global travel tech company headquartered in the Czech Republic. I am passionate about solving challenging business problems using the latest technology and leading engineering teams. The combination of my engineering and leadership skills enables me to do what I enjoy most—learning new technologies and sharing insights with fellow engineers. Additionally, I am involved in organizing 'KEtchUp,' which are regular community meetups for developers in Košice, Slovakia. As one of the organizers responsible for the content, I contribute to enhancing the knowledge-sharing in the engineering community. diff --git a/src/content/speakers/R9XTH7.mdx b/src/content/speakers/R9XTH7.mdx index aaeff6e17..0e04c8513 100644 --- a/src/content/speakers/R9XTH7.mdx +++ b/src/content/speakers/R9XTH7.mdx @@ -2,15 +2,17 @@ affiliation: insitro avatar: https://program.europython.eu/media/avatars/MagdalenaBorecka_23-05-16_0345_favorite_BQnfCr8.jpg code: R9XTH7 +gitx: null homepage: https://www.insitro.com/ -mastodon: null +linkedin_url: https://www.linkedin.com/in/magdalena-holewa/ +mastodon_url: null name: Magdalena Borecka slug: magdalena-borecka submissions: - redun-lazy-expressions-for-efficient-reactive-python-workflows -twitter: null +twitter_url: null --- -Magda is a software engineer with a data scientist past. She received Master's degree in Computer Science at AGH University of Technology in Cracow, Poland. - +Magda is a software engineer with a data scientist past. She received Master's degree in Computer Science at AGH University of Technology in Cracow, Poland. + In her spare time, she enjoys playing games of many kinds (from pen&paper RPGs to newest titles for computers and consoles), cooking and doing good things for the environment. diff --git a/src/content/speakers/RMFBSX.mdx b/src/content/speakers/RMFBSX.mdx index d699ed15d..16b68d2a1 100644 --- a/src/content/speakers/RMFBSX.mdx +++ b/src/content/speakers/RMFBSX.mdx @@ -2,13 +2,15 @@ affiliation: Thoughtworks avatar: https://program.europython.eu/media/avatars/portrait_2_2_MQ08u6U.jpg code: RMFBSX +gitx: https://github.com/laucia homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Lauris Jullien slug: lauris-jullien submissions: - caching-for-jupyter-notebooks -twitter: null +twitter_url: null --- Equipped with a decade of software and data engineering expertise, Lauris empowers teams and organizations to supercharge decision-making with their data. He brings a myriad of battle-tested best-practices and concepts from the software engineering to the data world. His stack includes: machine learning engineering, data engineering, backend engineering, data science, infrastructure engineering, and business intelligence. Previously he led teams working on climate tech at Cervest, logistics at Sennder and tackled ad-tech challenges at Yelp. Currently he is digging deep into the data privacy and compliance area in the LLM paradigm. diff --git a/src/content/speakers/RMHTBJ.mdx b/src/content/speakers/RMHTBJ.mdx index 8cc0b1052..f736bb914 100644 --- a/src/content/speakers/RMHTBJ.mdx +++ b/src/content/speakers/RMHTBJ.mdx @@ -2,13 +2,15 @@ affiliation: Intel avatar: https://program.europython.eu/media/avatars/michal.karzynski_8sqgZB4.jpg code: RMHTBJ +gitx: https://github.com/postrational/ homepage: https://michal.karzynski.pl/ -mastodon: null +linkedin_url: "https://www.linkedin.com/in/micha\u0142-karzy\u0144ski-ba37a79" +mastodon_url: null name: "Micha\u0142 Karzy\u0144ski" slug: michal-karzynski submissions: - contributing-to-onnx-how-you-can-improve-machine-learning-interoperability -twitter: '@postrational' +twitter_url: https://x.com/postrational --- Michal works as a data scientist and software architect for Intel. He is also a chairperson of the Operators group of the open source ONNX (Open Neural Network Exchange) project. diff --git a/src/content/speakers/RVFLYU.mdx b/src/content/speakers/RVFLYU.mdx index 3e05e550a..09a8a53b4 100644 --- a/src/content/speakers/RVFLYU.mdx +++ b/src/content/speakers/RVFLYU.mdx @@ -3,13 +3,15 @@ affiliation: Karrot / Google Developer School Students(GDSC) / Hankuk University Foreign Languages(HUFS) avatar: https://program.europython.eu/media/avatars/Main_Profile_VKtr0RW.jpeg code: RVFLYU +gitx: https://github.com/0417taehyun homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/weekwith-me/ +mastodon_url: null name: Taehyun Lee slug: taehyun-lee submissions: - dfd-documentation-first-development-with-fastapi -twitter: null +twitter_url: null --- Hi, I am Taehyun from South Korea. I am currently working as a software engineer in Karrot, which is a start-up in South Korea, and a senior year majoring in Swedish at the university. diff --git a/src/content/speakers/S3GNBU.mdx b/src/content/speakers/S3GNBU.mdx index 2a88a9c18..5299e1123 100644 --- a/src/content/speakers/S3GNBU.mdx +++ b/src/content/speakers/S3GNBU.mdx @@ -2,13 +2,15 @@ affiliation: Open Mined avatar: https://program.europython.eu/media/avatars/me_QNWdYHe_DcLJyWY.jpg code: S3GNBU +gitx: https://github.com/leriomaggio homepage: null -mastodon: '@leriomaggio@mastodon.social' +linkedin_url: null +mastodon_url: https://mastodon.social/@leriomaggio name: Valerio Maggio slug: valerio-maggio submissions: - syft-data-science-in-python-with-privacy-guarantees -twitter: null +twitter_url: null --- Valerio Maggio is a Researcher, and Education Lead at Open Mined. He is well versed in open science and research software, and he has been recently awarded a fellowship from the Software Sustainability Institute ([profile](https://www.software.ac.uk/about/fellows/valerio-maggio)) focused on developing open teaching modules on Privacy-Preserving Machine Learning. Valerio is also an open-source contributor, and an active member of the Python community, helping with the organisation of many international conferences and community meetups like PyCon Italy, PyData, EuroPython, and EuroSciPy. All his talks, workshop materials and random ramblings are publicly available on his[ Speaker Deck](https://speakerdeck.com/leriomaggio) and[ GitHub](https://github.com/leriomaggio) profiles. In his free time, Valerio is a casual Magic: The Gathering wizard 🧙♂️, of course playing a *community* [magic format](https://premodernmagic.com/). diff --git a/src/content/speakers/SHLWHX.mdx b/src/content/speakers/SHLWHX.mdx index c93f7d0a6..2f0dbab3b 100644 --- a/src/content/speakers/SHLWHX.mdx +++ b/src/content/speakers/SHLWHX.mdx @@ -2,13 +2,15 @@ affiliation: Okta avatar: https://program.europython.eu/media/avatars/profile-jt_1IH04iP.png code: SHLWHX +gitx: https://github.com/jtemporal homepage: https://jtemporal.com -mastodon: https://mastodon.online/@jesstemporal +linkedin_url: https://linkedin.com/in/jessicatemporal/ +mastodon_url: https://mastodon.online/@jesstemporal name: Jessica Temporal slug: jessica-temporal submissions: - migrating-a-web-application-from-flask-to-fastapi-avoiding-pitfalls -twitter: https://twitter.com/jesstemporal +twitter_url: https://twitter.com/jesstemporal --- Jessica Temporal is a Sr Developer Advocate at Okta and co-founder of the [first Brazilian data science podcast, Pizza de Dados](https://pizzadedados.com/en). She’s also a LinkedIn Learning instructor. Creator of [GitFichas, a git study cards collection](https://gitfichas.com), and is a GitHub Star. Jess also authored ["The Big Git Microbook"](https://jtemporal.com/gitmicrobook). She is part of the Pyladies and in her free time, she knits, plays video games, and tries to learn to rollerblade. diff --git a/src/content/speakers/SM8RTE.mdx b/src/content/speakers/SM8RTE.mdx index 4cca640cb..6b3a73bed 100644 --- a/src/content/speakers/SM8RTE.mdx +++ b/src/content/speakers/SM8RTE.mdx @@ -2,16 +2,18 @@ affiliation: Manning Publications & Apress avatar: https://program.europython.eu/media/avatars/7e437d5a287d11b91d2c953a02ff384b_xE1JEBI.jpg code: SM8RTE +gitx: null homepage: null -mastodon: mastodon.art/@naomiceder +linkedin_url: https://www.linkedin.com/in/naomiceder +mastodon_url: https://mastodon.art/@naomiceder name: Naomi Ceder slug: naomi-ceder submissions: - the-truth-about-objects -twitter: null +twitter_url: null --- -Naomi Ceder earned a Ph.D in Classics several decades ago, but switched from ancient human languages to computer languages sometime in the last century. Since 2001, she has been learning, teaching, writing about, and using Python. - -An elected fellow of the Python Software Foundation, Naomi is a past chair of its board of directors, and in 2022 became the seventh person selected to receive the PSF Distinguished Service Award. A founder of Trans*Code, a hackday centered on the trans and non-binary community, she also speaks internationally about the Python community and inclusion and diversity in technology in general. +Naomi Ceder earned a Ph.D in Classics several decades ago, but switched from ancient human languages to computer languages sometime in the last century. Since 2001, she has been learning, teaching, writing about, and using Python. + +An elected fellow of the Python Software Foundation, Naomi is a past chair of its board of directors, and in 2022 became the seventh person selected to receive the PSF Distinguished Service Award. A founder of Trans*Code, a hackday centered on the trans and non-binary community, she also speaks internationally about the Python community and inclusion and diversity in technology in general. In her spare time Naomi enjoys playing classical guitar. diff --git a/src/content/speakers/T7ZJJ8.mdx b/src/content/speakers/T7ZJJ8.mdx index a75daa215..48182698a 100644 --- a/src/content/speakers/T7ZJJ8.mdx +++ b/src/content/speakers/T7ZJJ8.mdx @@ -2,13 +2,15 @@ affiliation: ReasonField Lab avatar: https://program.europython.eu/media/avatars/af94505adbb81b3e2260c0a8250f2f45_WCzPpL2.jpg code: T7ZJJ8 +gitx: https://github.com/adamjankaczmarek homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/adamjankaczmarek/ +mastodon_url: null name: Adam Kaczmarek slug: adam-kaczmarek submissions: - which-llm-said-that-watermarking-generated-text -twitter: null +twitter_url: null --- I am a passionate Deep Learning specialist implementing cutting-edge research ideas in business projects, connecting best practices from research and engineering environments. My primary interest area is Natural Language Processing, but I've also worked in other ML-related domains. With a team from ReasonFIeld Lab I'm developing open-source all-in-one XAI library - FoXAI. diff --git a/src/content/speakers/TDTD3R.mdx b/src/content/speakers/TDTD3R.mdx index 777edfa38..396526803 100644 --- a/src/content/speakers/TDTD3R.mdx +++ b/src/content/speakers/TDTD3R.mdx @@ -2,13 +2,15 @@ affiliation: University of Barcelona avatar: https://program.europython.eu/media/avatars/profilepic_SmZtRQ4.jpg code: TDTD3R +gitx: https://github.com/marinamorolopez homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/marinamorolopez/ +mastodon_url: null name: "Marina Moro L\xF3pez" slug: marina-moro-lopez submissions: - how-to-destroy-the-world-using-python-and-a-synthetic-virus -twitter: https://twitter.com/marinamorolopez +twitter_url: https://twitter.com/marinamorolopez --- Biomedical Engineer from Madrid and current PhD student in Biomedicine at the University of Barcelona. Passionate about biology and programming. I use Python to make my scientific day-to-day life easier. diff --git a/src/content/speakers/TDUUPM.mdx b/src/content/speakers/TDUUPM.mdx index 78d59cc32..d2d73c5fa 100644 --- a/src/content/speakers/TDUUPM.mdx +++ b/src/content/speakers/TDUUPM.mdx @@ -2,15 +2,17 @@ affiliation: Xelix avatar: https://program.europython.eu/media/avatars/120862698_10219640284332728_910766720099219908_n_VFpwzLs.jpg code: TDUUPM +gitx: https://github.com/mikicz homepage: https://www.mikulaspoul.cz/ -mastodon: null +linkedin_url: https://www.linkedin.com/in/mikul%C3%A1%C5%A1-poul-920b6a59/ +mastodon_url: null name: "Mikul\xE1\u0161 Poul" slug: mikulas-poul submissions: - aggregating-data-in-django-using-database-views -twitter: '@miki_cz' +twitter_url: https://x.com/miki_cz --- -I've now been coding more years than not, and have been working with Django professionally for 10 years. Particular areas of interest to me are Django's ways of interacting with the database, testing using pytest, and data processing pipelines. I've written a couple minor public libraries, am maintain a couple more, and have written a lot of tooling internally for the SaaS application my company is developing. - +I've now been coding more years than not, and have been working with Django professionally for 10 years. Particular areas of interest to me are Django's ways of interacting with the database, testing using pytest, and data processing pipelines. I've written a couple minor public libraries, am maintain a couple more, and have written a lot of tooling internally for the SaaS application my company is developing. + Born and raised in Prague, Czech Republic, now I live in London after studying software engineering at FIT CTU and data science at UCL in London. diff --git a/src/content/speakers/TJSMCP.mdx b/src/content/speakers/TJSMCP.mdx index 39af9bf86..11e13ae8c 100644 --- a/src/content/speakers/TJSMCP.mdx +++ b/src/content/speakers/TJSMCP.mdx @@ -2,13 +2,15 @@ affiliation: unemployed avatar: https://program.europython.eu/media/avatars/04_2024_n0zKcnP.jpg code: TJSMCP +gitx: https://github.com/danilovmy homepage: https://bitbucket.org/danilovmy/ -mastodon: null +linkedin_url: https://www.linkedin.com/in/danilovmy/ +mastodon_url: null name: Maxim Danilov slug: maxim-danilov submissions: -- udjango-2-0-an-asynchronous-microservices-technique -twitter: https://twitter.com/danilovmy +- mdjango-2-0-an-asynchronous-microservices-technique +twitter_url: https://twitter.com/danilovmy --- I began my career as a programmer specializing in embedded solutions in 1997, and grow to the role of Chief Technology Officer in 2023. Through many successful projects, I gained a robust understanding of various software development paradigms. After more than 10 years as a code mentor, I earned twice the title 'Super Mentor in Engineering'. diff --git a/src/content/speakers/UBESRJ.mdx b/src/content/speakers/UBESRJ.mdx index a85a8cd64..cd2046c83 100644 --- a/src/content/speakers/UBESRJ.mdx +++ b/src/content/speakers/UBESRJ.mdx @@ -2,17 +2,19 @@ affiliation: QuantumBlack, AI by McKinsey avatar: https://program.europython.eu/media/avatars/me-duck-lowres_Rd8P7hM.png code: UBESRJ +gitx: https://github.com/astrojuanlu/ homepage: https://escritura.social/astrojuanlu/ -mastodon: https://social.juanlu.space/@astrojuanlu +linkedin_url: https://www.linkedin.com/in/juanluiscanor/ +mastodon_url: https://social.juanlu.space/@astrojuanlu name: "Juan Luis Cano Rodr\xEDguez" slug: juan-luis-cano-rodriguez submissions: - from-zero-to-mlops-an-open-source-stack-to-fight-spaghetti-ml -twitter: null +twitter_url: null --- -Juan Luis (he/him/él) is an Aerospace Engineer with a passion for tech communities, outreach, and sustainability. He works at QuantumBlack, AI by McKinsey, as Product Manager for Kedro, an opinionated Python framework for creating reproducible, maintainable and modular data science code. He has worked as Developer Advocate at Read the Docs, as software engineer in the space, consulting, and banking industries, and as a Python trainer for several private and public entities. - -Apart from being a long-time user and contributor to many projects in the scientific Python stack (NumPy, SciPy, Astropy) he has published several open-source packages, the most important one being poliastro, an open-source Python library for interactive astrodynamics used in academia and industry. - +Juan Luis (he/him/él) is an Aerospace Engineer with a passion for tech communities, outreach, and sustainability. He works at QuantumBlack, AI by McKinsey, as Product Manager for Kedro, an opinionated Python framework for creating reproducible, maintainable and modular data science code. He has worked as Developer Advocate at Read the Docs, as software engineer in the space, consulting, and banking industries, and as a Python trainer for several private and public entities. + +Apart from being a long-time user and contributor to many projects in the scientific Python stack (NumPy, SciPy, Astropy) he has published several open-source packages, the most important one being poliastro, an open-source Python library for interactive astrodynamics used in academia and industry. + Finally, Juan Luis is the founder and former chair of the Python España association, the point of contact for the Spanish Python community, former organizer of PyCon Spain, which attracted 800 attendees in its last in-person edition in 2022, and current organizer of the PyData Madrid monthly meetups. diff --git a/src/content/speakers/UF9YY9.mdx b/src/content/speakers/UF9YY9.mdx index 538404833..9949d84a5 100644 --- a/src/content/speakers/UF9YY9.mdx +++ b/src/content/speakers/UF9YY9.mdx @@ -2,19 +2,21 @@ affiliation: CodSpeed avatar: https://program.europython.eu/media/avatars/ppTwitter_7jRDDGe.png code: UF9YY9 +gitx: https://github.com/art049/ homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/arthurpastel/ +mastodon_url: null name: Arthur Pastel slug: arthur-pastel submissions: - demystifying-asyncio-building-your-own-event-loop-in-python -twitter: '@art049' +twitter_url: https://x.com/art049 --- -Hi, I'm Arthur, a software engineer based in Paris 🇫🇷🥖 - -I worked as an engineer in a few tech companies over the past years, mostly building software with Python, but I'm also passionate about (too ??) many other software fields. - -I'm an Open source enthusiast and love to contribute when possible. 2 years ago, I built ODMantic, an ODM for MongoDB & Python. It's a kind of ORM but built on top of Pydantic to provide a seamless model definition and integration with FastAPI. - +Hi, I'm Arthur, a software engineer based in Paris 🇫🇷🥖 + +I worked as an engineer in a few tech companies over the past years, mostly building software with Python, but I'm also passionate about (too ??) many other software fields. + +I'm an Open source enthusiast and love to contribute when possible. 2 years ago, I built ODMantic, an ODM for MongoDB & Python. It's a kind of ORM but built on top of Pydantic to provide a seamless model definition and integration with FastAPI. + Last year, I founded CodSpeed, a Continuous Performance Analysis solution helping tech companies and Open-Source projects prevent performance issues directly in their CI pipelines. diff --git a/src/content/speakers/ULG79T.mdx b/src/content/speakers/ULG79T.mdx index 99a738e04..856938dc1 100644 --- a/src/content/speakers/ULG79T.mdx +++ b/src/content/speakers/ULG79T.mdx @@ -2,13 +2,15 @@ affiliation: Independent avatar: https://program.europython.eu/media/avatars/dp_1k_K5TYbFf.jpg code: ULG79T +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/yashrv/ +mastodon_url: null name: Yash Raj Verma slug: yash-raj-verma submissions: - observability-matters-empowering-python-developers-with-opentelemetry -twitter: https://twitter.com/alwayshuds +twitter_url: https://x.com/yashdotrss --- -Yash is a student the University of Calgary, specializing in Distributed Systems and passionate about Cloud Native technologies. An observability activist and contributor to OpenTelemetry project. +Yash is a student the University of Calgary, specializing in Distributed Systems and passionate about Cloud Native technologies. Yash is a performance nerd and likes to talk about Observability and OpenTelemetry project. diff --git a/src/content/speakers/UPWXFZ.mdx b/src/content/speakers/UPWXFZ.mdx index 2872848fd..fc79fcf95 100644 --- a/src/content/speakers/UPWXFZ.mdx +++ b/src/content/speakers/UPWXFZ.mdx @@ -2,13 +2,15 @@ affiliation: Sopra Steria Pythoneers avatar: https://program.europython.eu/media/avatars/photo_square_cropped_1000_1000_fRtHpCV.jpg code: UPWXFZ +gitx: https://github.com/SebastiaanZ/ homepage: https://sebastiaanzeeff.nl -mastodon: null +linkedin_url: null +mastodon_url: null name: Sebastiaan Zeeff slug: sebastiaan-zeeff submissions: - event-sourcing-from-the-ground-up -twitter: twitter.com/sebastiaanz +twitter_url: https://x.com/twitter.com/sebastiaanz --- Sebastiaan is a Python enthusiast who likes to think about good software design and engineering. He is a fellow of the EuroPython Society and the Python Software Foundation, works for the Pythoneers at Sopra Steria Netherlands, and frequently speaks at conferences around the world. Sebastiaan is also a board member of the EuroPython Society. diff --git a/src/content/speakers/UXJ3ZR.mdx b/src/content/speakers/UXJ3ZR.mdx index 814ffb37e..98c84cb91 100644 --- a/src/content/speakers/UXJ3ZR.mdx +++ b/src/content/speakers/UXJ3ZR.mdx @@ -2,19 +2,21 @@ affiliation: Oxford Nanopore Technologies avatar: https://program.europython.eu/media/avatars/wheat_fields_ZViZhn3.jpg code: UXJ3ZR +gitx: null homepage: null -mastodon: null -name: Zach -slug: zach +linkedin_url: https://uk.linkedin.com/in/zach-m-45a11b141 +mastodon_url: null +name: Zach Muncaster +slug: zach-muncaster submissions: - a-tour-of-synchronization-primitives-in-python -twitter: null +twitter_url: null --- -Hi, I'm Zach. - -I've been working professionally as a software developer for the last few years and have been having an enormous amount of fun while doing it! Whether its working on larger systems, network or IoT based systems or simple utility scripts, there's always something new one can learn. - -Like many, I enjoy getting into the details of systems, really trying to understand what makes them tick. - +Hi, I'm Zach. + +I've been working professionally as a software developer for the last few years and have been having an enormous amount of fun while doing it! Whether its working on larger systems, network or IoT based systems or simple utility scripts, there's always something new one can learn. + +Like many, I enjoy getting into the details of systems, really trying to understand what makes them tick. + Looking forward to EuroPythin2024! diff --git a/src/content/speakers/VAZHQJ.mdx b/src/content/speakers/VAZHQJ.mdx index 37041d532..ae7f695dc 100644 --- a/src/content/speakers/VAZHQJ.mdx +++ b/src/content/speakers/VAZHQJ.mdx @@ -2,13 +2,15 @@ affiliation: Kiwi.com avatar: https://program.europython.eu/media/avatars/profil_foto_v4ODfYr.jpg code: VAZHQJ +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/martina-ivanicova/ +mastodon_url: null name: Martina Ivanicova slug: martina-ivanicova submissions: - don-t-fix-bad-data-do-this-instead -twitter: null +twitter_url: null --- Martina serves as the Head of Data Engineering at Kiwi.com, where she oversees teams of analytics engineers and the data platform team. Her current focus lies in the adoption of the Data Mesh paradigm, driving the development of a self-service data platform for both batch and real-time data analytics, and setting up an ML platform to optimize data scientist workflows. Despite graduating with a degree in theoretical physics, Martina's career has consistently been linked to data engineering. Her experience spans creating data solutions for smart buildings to developing data warehouse solutions for major agencies. diff --git a/src/content/speakers/VBJYJQ.mdx b/src/content/speakers/VBJYJQ.mdx index 1e64953c0..3ecedb3b7 100644 --- a/src/content/speakers/VBJYJQ.mdx +++ b/src/content/speakers/VBJYJQ.mdx @@ -2,13 +2,15 @@ affiliation: unemployed avatar: https://program.europython.eu/media/avatars/IMG_20230818_205116_PFN5Cmx.jpg code: VBJYJQ +gitx: https://github.com/dforoni homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/deborah-foroni/ +mastodon_url: null name: Deborah Foroni slug: deborah-foroni submissions: - nlp-application-in-cases-of-violence-against-women -twitter: null +twitter_url: null --- I am a master in Technology and a Data Scientist. I am part of technology communities such as Pyladies São Paulo and 'Todas as Letras' (LGBTQIAP+). Additionally, I am a popular educator at the Technology Center of MTST. diff --git a/src/content/speakers/VCGHPN.mdx b/src/content/speakers/VCGHPN.mdx index b83245bcb..0d4616859 100644 --- a/src/content/speakers/VCGHPN.mdx +++ b/src/content/speakers/VCGHPN.mdx @@ -2,15 +2,17 @@ affiliation: Next Insurance avatar: https://program.europython.eu/media/avatars/Headshot_qTUo1Bv.png code: VCGHPN +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/yairgaller/ +mastodon_url: null name: Yair Galler slug: yair-galler submissions: - i-reverse-engineered-a-work-of-art-and-this-is-what-i-learned -twitter: https://twitter.com/ygaller +twitter_url: https://twitter.com/ygaller --- -Yair is a tech lead at Next Insurance, an insurtech startup. At Next, he translates the complex world of insurance into reliable, elegant code. He also has a passion for developer productivity, constantly working on improving methods and tooling. - +Yair is a tech lead at Next Insurance, an insurtech startup. At Next, he translates the complex world of insurance into reliable, elegant code. He also has a passion for developer productivity, constantly working on improving methods and tooling. + In his previous roles he was an engineering team lead and software architect at several early and mid-stage startups. He has development experience in a wide range of field including devops, data engineering, backend as well as frontend systems. diff --git a/src/content/speakers/VLWVB9.mdx b/src/content/speakers/VLWVB9.mdx index 05f977c37..2b0d37aaf 100644 --- a/src/content/speakers/VLWVB9.mdx +++ b/src/content/speakers/VLWVB9.mdx @@ -2,11 +2,13 @@ affiliation: null avatar: '' code: VLWVB9 +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Manivannan Selvaraj slug: manivannan-selvaraj submissions: - the-imposter-staff-engineers-journey-to-leadership -twitter: null +twitter_url: null --- diff --git a/src/content/speakers/VNSDAU.mdx b/src/content/speakers/VNSDAU.mdx index 4af4db345..00779ae2e 100644 --- a/src/content/speakers/VNSDAU.mdx +++ b/src/content/speakers/VNSDAU.mdx @@ -2,15 +2,17 @@ affiliation: Centre for Infectious Disease Genomics and One Health avatar: https://program.europython.eu/media/avatars/profile_pic_IhXLLGx.jpg code: VNSDAU +gitx: https://github.com/ivansg44 homepage: https://cidgoh.ca/ -mastodon: null +linkedin_url: null +mastodon_url: null name: Ivan Gill slug: ivan-gill submissions: - virus-mvp-using-dash-and-plotly-to-visualize-viral-mutations-by-lineage -twitter: null +twitter_url: null --- -Software developer for the Centre for Infectious Disease Genomics and One Health, located at Simon Fraser University in Vancouver, Canada. I develop applications for public health research. - +Software developer for the Centre for Infectious Disease Genomics and One Health, located at Simon Fraser University in Vancouver, Canada. I develop applications for public health research. + Attended the University of British Columbia. MSc in Bioinformatics, BSc in Computer Science, and BSc in Animal Biology. diff --git a/src/content/speakers/VST3SV.mdx b/src/content/speakers/VST3SV.mdx index c0db11547..9abe55219 100644 --- a/src/content/speakers/VST3SV.mdx +++ b/src/content/speakers/VST3SV.mdx @@ -2,11 +2,13 @@ affiliation: null avatar: https://program.europython.eu/media/avatars/c6c5e33601dc00f6dc863f768e8e5687_buJezj1.jpg code: VST3SV +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Roberto Polli slug: roberto-polli submissions: - test-java-and-c-applications-with-python -twitter: null +twitter_url: null --- diff --git a/src/content/speakers/VULLQE.mdx b/src/content/speakers/VULLQE.mdx index 159544c7c..1fb8798c4 100644 --- a/src/content/speakers/VULLQE.mdx +++ b/src/content/speakers/VULLQE.mdx @@ -2,15 +2,17 @@ affiliation: OSCA Nairobi Lead avatar: https://program.europython.eu/media/avatars/BrayanKaiMwanyumba_2_8yYUqlz.jpg code: VULLQE +gitx: https://github.com/mwanyumba7 homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Brayan Kai Mwanyumba slug: brayan-kai-mwanyumba submissions: - effective-strategies-for-disability-inclusion-in-open-source-communities -twitter: https://x.com/Kai_mwanyumba?t=3HDkWCk9gH74p4DvQ86raw&s=09 +twitter_url: https://x.com/Kai_mwanyumba --- -Brayan Kai is a Data Scientist Passionate about Communities, Technical Writing and Open-Source Advocacy. -He currently volunteers at different developer communities across Africa including Google Crowdsource, Open-Source Community Africa, She Code Africa, PyLadies Ghana and Dev Careers. All this owing to his strong passion for supporting fellow upcoming technologists, women in tech and advocating for inclusion and diversity. He calls this his personal mission. +Brayan Kai is a Data Scientist Passionate about Communities, Technical Writing and Open-Source Advocacy. +He currently volunteers at different developer communities across Africa including Google Crowdsource, Open-Source Community Africa, She Code Africa, PyLadies Ghana and Dev Careers. All this owing to his strong passion for supporting fellow upcoming technologists, women in tech and advocating for inclusion and diversity. He calls this his personal mission. It makes him happier, more balanced, and gives him a stronger sense of purpose to innovate, share, and teach in and with the community rather than just for it. diff --git a/src/content/speakers/VUZ9LU.mdx b/src/content/speakers/VUZ9LU.mdx index af9b0c71d..10d82c1ca 100644 --- a/src/content/speakers/VUZ9LU.mdx +++ b/src/content/speakers/VUZ9LU.mdx @@ -2,14 +2,16 @@ affiliation: SeekandHit avatar: '' code: VUZ9LU +gitx: https://github.com/mrn-aglic homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/marin-aglic-cuvic/ +mastodon_url: null name: "Marin Agli\u0107 \u010Cuvi\u0107" slug: marin-aglic-cuvic submissions: - data-pipelines-with-celery-modular-signal-driven-and-manageable -twitter: null +twitter_url: null --- -Marin Aglić Čuvić is a software engineer adept in building data pipelines using Python Celery and Apache Airflow. He aims to improve the scalability, maintainability, and developer experience on the projects he works on. He is also passionate about data engineering. +Marin Aglić Čuvić is a software engineer adept in building data pipelines using Python Celery and Apache Airflow. He aims to improve the scalability, maintainability, and developer experience on the projects he works on. He is also passionate about data engineering. Other than work, Marin likes writing articles in which he takes a deep dive into the technologies he uses or is passionate about. diff --git a/src/content/speakers/VZM8L3.mdx b/src/content/speakers/VZM8L3.mdx index 2f68d0ba5..ca1efbf03 100644 --- a/src/content/speakers/VZM8L3.mdx +++ b/src/content/speakers/VZM8L3.mdx @@ -2,13 +2,15 @@ affiliation: Lerner Consulting avatar: https://program.europython.eu/media/avatars/reuven-new-headshot_srjlhGN.jpg code: VZM8L3 +gitx: https://github.com/reuven homepage: https://LernerPython.com/ -mastodon: https://fosstodon.org/@Reuven +linkedin_url: https://www.linkedin.com/in/reuven/ +mastodon_url: https://fosstodon.org/@Reuven name: Reuven M. Lerner slug: reuven-m-lerner submissions: - the-pyarrow-revolution-in-pandas -twitter: https://twitter.com/reuvenmlerner +twitter_url: https://twitter.com/reuvenmlerner --- Reuven is a full-time instructor in Python and Pandas, in business since 1995. He teaches at companies around the world, offers video courses, and writes books — most recently, Python Workout and Pandas Workout, both published by Manning. He writes about Python for his "Better Developers" newsletter, and poses Pandas puzzles based on current events in "Bamboo Weekly." diff --git a/src/content/speakers/WAVEWK.mdx b/src/content/speakers/WAVEWK.mdx index 515d7b0e4..a8cca0c0f 100644 --- a/src/content/speakers/WAVEWK.mdx +++ b/src/content/speakers/WAVEWK.mdx @@ -2,15 +2,17 @@ affiliation: NEXEDI avatar: https://program.europython.eu/media/avatars/xavier_portrait_t2glHMd.jpg code: WAVEWK +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Xavier Thompson slug: xavier-thompson submissions: - how-to-build-a-python-to-c-compiler-out-of-spare-parts-and-why -twitter: null +twitter_url: null --- -Xavier embarked on what would become the Typon project as an intern at Nexedi and hasn't looked back since. -When he's not thinking about compiler design and type systems, he enjoys swing dancing and singing in a choir. +Xavier embarked on what would become the Typon project as an intern at Nexedi and hasn't looked back since. +When he's not thinking about compiler design and type systems, he enjoys swing dancing and singing in a choir. This will be his second time talking at a conference. diff --git a/src/content/speakers/WDWSNW.mdx b/src/content/speakers/WDWSNW.mdx index 35bbb6e1a..6969553d8 100644 --- a/src/content/speakers/WDWSNW.mdx +++ b/src/content/speakers/WDWSNW.mdx @@ -2,15 +2,17 @@ affiliation: Bloomberg avatar: https://program.europython.eu/media/avatars/Portrait_KFnkOSo.jpg code: WDWSNW +gitx: https://github.com/Ciemaar homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/andyfundinger/ +mastodon_url: null name: Andy Fundinger slug: andy-fundinger submissions: - adventures-in-not-writing-tests -twitter: null +twitter_url: null --- -Andy Fundinger is a senior engineer at Bloomberg, where he develops Python applications in the Data Gateway Platform team and supports Python developers throughout the firm through the company's Python Guild. Andy has spoken several times at PyGotham, as well as other conferences such as QCon, PyCaribbean, and EuroPython. - +Andy Fundinger is a senior engineer at Bloomberg, where he develops Python applications in the Data Gateway Platform team and supports Python developers throughout the firm through the company's Python Guild. Andy has spoken several times at PyGotham, as well as other conferences such as QCon, PyCaribbean, and EuroPython. + In the past, Andy has worked on private equity and credit risk applications, web services, and virtual worlds. Andy holds a master's degree in engineering from Stevens Institute of Technology. diff --git a/src/content/speakers/WEWNJK.mdx b/src/content/speakers/WEWNJK.mdx index c243bf8d5..5e8f8a573 100644 --- a/src/content/speakers/WEWNJK.mdx +++ b/src/content/speakers/WEWNJK.mdx @@ -2,11 +2,13 @@ affiliation: null avatar: https://program.europython.eu/media/avatars/1000031486_Hy1Eo0N.jpg code: WEWNJK +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Dharin shah slug: dharin-shah submissions: - from-text-to-context-how-we-introduced-a-modern-hybrid-search -twitter: null +twitter_url: null --- diff --git a/src/content/speakers/WHLSXE.mdx b/src/content/speakers/WHLSXE.mdx index 1a702d6f3..2e5190a9f 100644 --- a/src/content/speakers/WHLSXE.mdx +++ b/src/content/speakers/WHLSXE.mdx @@ -2,11 +2,13 @@ affiliation: null avatar: https://program.europython.eu/media/avatars/prof_TYIkGY9.jpg code: WHLSXE +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Jothir Adithyan slug: jothir-adithyan submissions: - tackling-thread-safety-in-python -twitter: null +twitter_url: null --- diff --git a/src/content/speakers/WPUWNJ.mdx b/src/content/speakers/WPUWNJ.mdx index f072db07d..f0815189c 100644 --- a/src/content/speakers/WPUWNJ.mdx +++ b/src/content/speakers/WPUWNJ.mdx @@ -2,13 +2,15 @@ affiliation: Kraken Technologies (Octopus Energy Group) avatar: https://program.europython.eu/media/avatars/Profile_pic_AkoVCDE.jpg code: WPUWNJ +gitx: https://github.com/mforner13 homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Miriam Forner slug: miriam-forner submissions: - why-communication-is-the-best-skill-you-can-develop-as-a-programmer -twitter: null +twitter_url: null --- I am a self-taught, full-stack software engineer with five years professional experience building web applications and APIs using Python. I live in London and currently work at Kraken Technologies, building APIs to improve the experience of utility customers around the world. diff --git a/src/content/speakers/WSSS9L.mdx b/src/content/speakers/WSSS9L.mdx index 8c985e393..5dd35780e 100644 --- a/src/content/speakers/WSSS9L.mdx +++ b/src/content/speakers/WSSS9L.mdx @@ -2,14 +2,16 @@ affiliation: Delta State University, Abraka avatar: https://program.europython.eu/media/avatars/f10760171352672fa48c6534b17e46d8_4aYHWZC.jpg code: WSSS9L +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Godfrey Akpojotor slug: godfrey-akpojotor submissions: - diversity-project-subtle-introduction-of-data-science-using-pyroid -twitter: null +twitter_url: null --- -I am a Professor of Theoretical Physics and current Director of Research and International Programmes at the Delta State University, Abraka, Nigeria. I have been teaching Computational Physics as well as organizing workshops on Python in Nigeria. I have attended and made presentations at PYCONs including PyCon US (2012 and 2019) and PyCoN Za (2019) and the videos are online. As the need to extend the capability of the QPython and currently Pyroid in the teaching/learning of various fields of science and engineering, I have been engaging collaborators usually eager beginners and students to explore these fields with me. +I am a Professor of Theoretical Physics and current Director of Research and International Programmes at the Delta State University, Abraka, Nigeria. I have been teaching Computational Physics as well as organizing workshops on Python in Nigeria. I have attended and made presentations at PYCONs including PyCon US (2012 and 2019) and PyCoN Za (2019) and the videos are online. As the need to extend the capability of the QPython and currently Pyroid in the teaching/learning of various fields of science and engineering, I have been engaging collaborators usually eager beginners and students to explore these fields with me. I am current leading a project on the teaching/learning of data science using Pyroid in order to introduce data science to all those who cannot have access to a computer lab or afford their own laptops. These are low income earners in low income economies and therefore our so called crazy project will help to achieve Python accessibility, inclusivity, diversity and education diff --git a/src/content/speakers/XCKH3F.mdx b/src/content/speakers/XCKH3F.mdx index 31ad1468b..2ae7937cf 100644 --- a/src/content/speakers/XCKH3F.mdx +++ b/src/content/speakers/XCKH3F.mdx @@ -2,13 +2,15 @@ affiliation: Python Software Foundation avatar: https://program.europython.eu/media/avatars/20190601_DebatMeowWolf_0aCwZC4.jpg code: XCKH3F +gitx: eximious homepage: null -mastodon: freeradical.zone/@baconandcoconut +linkedin_url: null +mastodon_url: https://freeradical.zone/@baconandcoconut name: Deb Nicholson slug: deb-nicholson submissions: - counting-down-for-cra-updates-and-expectations -twitter: '@baconandcoconut' +twitter_url: https://x.com/baconandcoconut --- Deb Nicholson is an open source software policy expert and a passionate community advocate. She is the Executive Director at the Python Software Foundation which serves as the non-profit steward of the Python programming language. She’s won the O’Reilly Open Source Award and the Award for the Advancement of Free Software for her efforts to broaden the free and open source software movement. She serves on the Board of Directors for the Spritely Institute and on the Advisory Board for Open@RIT. She lives with her husband and her lucky black cat in Cambridge, Massachusetts. diff --git a/src/content/speakers/XDWZ8P.mdx b/src/content/speakers/XDWZ8P.mdx index afcf9f5bd..a4f07202f 100644 --- a/src/content/speakers/XDWZ8P.mdx +++ b/src/content/speakers/XDWZ8P.mdx @@ -2,13 +2,15 @@ affiliation: Weaviate avatar: https://program.europython.eu/media/avatars/Zain_Hasan_headshot_1dWWkI1.jpg code: XDWZ8P +gitx: null homepage: null -mastodon: null +linkedin_url: https://linkedin.com/in/linkedin.com/in/zainhas +mastodon_url: null name: Zain Hasan slug: zain-hasan submissions: - building-scalable-multimodal-search-applications-with-python -twitter: '@zainhasan6' +twitter_url: https://x.com/zainhasan6 --- Zain Hasan is a senior ML developer advocate at Weaviate. An engineer and data scientist by training, he pursued his undergraduate and graduate work at the University of Toronto building artificially intelligent assistive technologies, then founded his company, VinciLabs in the digital health-tech space. More recently he practiced as a consultant senior data scientist in Toronto. Zain is passionate about the fields of machine learning, education, and public speaking. diff --git a/src/content/speakers/XKDR9U.mdx b/src/content/speakers/XKDR9U.mdx index 59c376572..8c977545c 100644 --- a/src/content/speakers/XKDR9U.mdx +++ b/src/content/speakers/XKDR9U.mdx @@ -2,19 +2,21 @@ affiliation: Google avatar: https://program.europython.eu/media/avatars/PyCon_US_selfie_sGzgapq.jpeg code: XKDR9U +gitx: https://github.com/note35 homepage: https://note35.github.io/about -mastodon: null +linkedin_url: null +mastodon_url: null name: Kir Chou slug: kir-chou submissions: - demystify-python-types-for-pep-729 -twitter: null +twitter_url: null --- -Kir is a Pythonista from the PyCon Taiwan community and lives in Tokyo. - -💼Kir's works: Geo and Search systems to solve i18n and l10n user experience. - -💕Kir's hobby: 🍷🍶🍺🏂🧗⛰️🧑🌾🏃 - +Kir is a Pythonista from the PyCon Taiwan community and lives in Tokyo. + +💼Kir's works: Geo and Search systems to solve i18n and l10n user experience. + +💕Kir's hobby: 🍷🍶🍺🏂🧗⛰️🧑🌾🏃 + See Kir's past PyCon talks in https://note35.github.io/about/talks diff --git a/src/content/speakers/XNNGCH.mdx b/src/content/speakers/XNNGCH.mdx index 6172a300b..42321d6d6 100644 --- a/src/content/speakers/XNNGCH.mdx +++ b/src/content/speakers/XNNGCH.mdx @@ -2,15 +2,17 @@ affiliation: Imperial College London avatar: https://program.europython.eu/media/avatars/WhatsApp_Image_2023-04-17_at_08.46.21_NCv6Tmx.jpeg code: XNNGCH +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Thomas Gregory slug: thomas-gregory submissions: - maths-in-motion-python-powered-modelling-for-real-world-phenomena -twitter: null +twitter_url: null --- -Late-stage PhD student at Imperial. I specialise in designing and solving mathematical models efficiently. Feel free to ask me about how high-performance computing and open source code are being used in meteorology (weather/climate) and magnetohydrodynamics (plasma/fusion)! Passionate about bridging the gap between abstract math and practical coding. - +Late-stage PhD student at Imperial. I specialise in designing and solving mathematical models efficiently. Feel free to ask me about how high-performance computing and open source code are being used in meteorology (weather/climate) and magnetohydrodynamics (plasma/fusion)! Passionate about bridging the gap between abstract math and practical coding. + Connect with me on LinkedIn! https://www.linkedin.com/in/thomasjgregory0/ diff --git a/src/content/speakers/XRZT3B.mdx b/src/content/speakers/XRZT3B.mdx index 52ca3815a..a33f4f787 100644 --- a/src/content/speakers/XRZT3B.mdx +++ b/src/content/speakers/XRZT3B.mdx @@ -2,11 +2,13 @@ affiliation: Bloomberg avatar: '' code: XRZT3B +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/justine-wezenaar-62357857/ +mastodon_url: null name: Justine Wezenaar slug: justine-wezenaar submissions: - how-we-used-vectorization-for-1000x-python-speedups-no-c-or-spark-needed -twitter: null +twitter_url: null --- diff --git a/src/content/speakers/XU3THC.mdx b/src/content/speakers/XU3THC.mdx index 3caea9cfc..664890f3a 100644 --- a/src/content/speakers/XU3THC.mdx +++ b/src/content/speakers/XU3THC.mdx @@ -2,17 +2,19 @@ affiliation: Hugging Face avatar: '' code: XU3THC +gitx: https://github.com/BenjaminBossan homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Benjamin Bossan slug: benjamin-bossan submissions: - fine-tuning-large-models-on-local-hardware -twitter: '@BenjaminBossan' +twitter_url: https://x.com/BenjaminBossan --- -Machine Learning Engineer at Hugging Face - -Mainly working on parameter-efficient fine-tuning techniques. - +Machine Learning Engineer at Hugging Face + +Mainly working on parameter-efficient fine-tuning techniques. + https://github.com/BenjaminBossan diff --git a/src/content/speakers/XXDZKP.mdx b/src/content/speakers/XXDZKP.mdx index 1eaccd449..a017683e1 100644 --- a/src/content/speakers/XXDZKP.mdx +++ b/src/content/speakers/XXDZKP.mdx @@ -1,14 +1,16 @@ --- affiliation: Red Hat -avatar: https://program.europython.eu/media/avatars/4948674_A1tkDO7.jpg +avatar: https://program.europython.eu/media/avatars/d3da8160dd1848c1194e15df4fb1051c_bFs9Mv0.jpg code: XXDZKP +gitx: null homepage: null -mastodon: https://toots.dpglug.org@anwesha +linkedin_url: https://www.linkedin.com/in/anwesha-das-1247121a2/ +mastodon_url: https://toots.dpglug.org@anwesha name: Anwesha Das slug: anwesha-das submissions: - intellectual-property-law-101 -twitter: null +twitter_url: null --- Anwesha is a Master of Laws by education and a technologist by passion.She is a fellow at the Python Software Foundation and the Release Manager of Ansible. She works as a Software Engineer with the Ansible Engineering team at Red Hat. She led PyLadies efforts in India and now is an organizer at PyLadies Stockholm. You can follow her blog at https://anweshadas.in. diff --git a/src/content/speakers/XZ9GLY.mdx b/src/content/speakers/XZ9GLY.mdx index b87ed4972..6e3c78644 100644 --- a/src/content/speakers/XZ9GLY.mdx +++ b/src/content/speakers/XZ9GLY.mdx @@ -2,15 +2,17 @@ affiliation: Code Warriors avatar: https://program.europython.eu/media/avatars/IMG-20220514-WA0040_1_tHP9ax7.jpg code: XZ9GLY +gitx: https://github.com/chemicoPy homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/victor-ogunjobi-a761561a5/ +mastodon_url: null name: Victor Ogunjobi slug: victor-ogunjobi submissions: - nothing-for-us-without-us-breaking-unconscious-bias-in-building-products -twitter: '@chemicopy_' +twitter_url: https://x.com/chemicopy_ --- -Victor Ogunjobi is a Data Scientist and Inclusivity Advocate. He currently serves as a Student Ambassador at Code Warriors, a renowned organization that provides comprehensive training and mentorship to aspiring coders. - +Victor Ogunjobi is a Data Scientist and Inclusivity Advocate. He currently serves as a Student Ambassador at Code Warriors, a renowned organization that provides comprehensive training and mentorship to aspiring coders. + In addition to his work, Victor actively contributes to the open-source community on GitHub and participates in initiatives that aim to improve the sustainability of open-source software, contributions, and communities. He is passionate about promoting diversity and equity in the tech industry and believes that open-source technology can play a critical role in driving innovation and progress. diff --git a/src/content/speakers/YJQTQN.mdx b/src/content/speakers/YJQTQN.mdx index c7223ec9a..62d4248aa 100644 --- a/src/content/speakers/YJQTQN.mdx +++ b/src/content/speakers/YJQTQN.mdx @@ -2,13 +2,15 @@ affiliation: Salted CX avatar: https://program.europython.eu/media/avatars/1516954614343_g7xwRep.jpeg code: YJQTQN +gitx: https://github.com/azikoss homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/zikaadam/ +mastodon_url: null name: "Adam Z\xEDka" slug: adam-zika submissions: - from-text-to-numbers-exploring-sentence-embeddings-w-sentencetransformers -twitter: '@AdamZikaCZ' +twitter_url: https://x.com/AdamZikaCZ --- At Salted CX, my role as a Machine Learning engineer revolves around specializing in Natural Language Processing. Specifically, I utilize Transformer models to gain insights into the operations of contact centers, enhancing visibility and understanding. I hold an Engineering Doctoral (EngD) degree in Data Science from the Technical University of Eindhoven. diff --git a/src/content/speakers/YRPTZY.mdx b/src/content/speakers/YRPTZY.mdx index 237d7eada..0085f0f6b 100644 --- a/src/content/speakers/YRPTZY.mdx +++ b/src/content/speakers/YRPTZY.mdx @@ -2,13 +2,15 @@ affiliation: microapis.io avatar: https://program.europython.eu/media/avatars/8c7cbcbb2300732700ae07c355bea321_KNq5p02.jpg code: YRPTZY +gitx: https://github.com/abunuwas homepage: https://microapis.io -mastodon: null +linkedin_url: https://www.linkedin.com/in/jose-haro-peralta/ +mastodon_url: null name: Jose Haro Peralta slug: jose-haro-peralta submissions: - zero-trust-apis-with-python -twitter: '@JoseHaroPeralta' +twitter_url: https://x.com/JoseHaroPeralta --- Jose is an API strategy and security advisor. He's the author of [Microservice APIs](https://www.manning.com/books/microservice-apis) and the creator of [fencer](https://github.com/abunuwas/fencer), an open-source API security testing tool. He's a regular speaker at international conferences and has taught hundreds of students to build and deliver reliable and secure APIs. diff --git a/src/content/speakers/YWKXWU.mdx b/src/content/speakers/YWKXWU.mdx index 6ed1a3a13..b1289b0a0 100644 --- a/src/content/speakers/YWKXWU.mdx +++ b/src/content/speakers/YWKXWU.mdx @@ -2,13 +2,15 @@ affiliation: Aignostics avatar: https://program.europython.eu/media/avatars/profile_cropped_bw_97GMX9a.jpg code: YWKXWU +gitx: https://github.com/jstriebel homepage: https://codical.org -mastodon: null +linkedin_url: https://www.linkedin.com/in/jonathan-striebel +mastodon_url: null name: Jonathan Striebel slug: jonathan-striebel submissions: - profile-optimize-repeat-one-core-is-all-you-needtm -twitter: https://twitter.com/jostriebel +twitter_url: https://twitter.com/jostriebel --- Jonathan is a senior ML software engineer at Aignostics in Berlin, Germany. He works on machine-learning pipelines for medical image analysis, ensuring scalability and maintainability. diff --git a/src/content/speakers/Z7K9TP.mdx b/src/content/speakers/Z7K9TP.mdx index b81086fa8..1ac887980 100644 --- a/src/content/speakers/Z7K9TP.mdx +++ b/src/content/speakers/Z7K9TP.mdx @@ -2,13 +2,15 @@ affiliation: TECH-5.de avatar: https://program.europython.eu/media/avatars/FrontConf_2019_332_mE4uO83.jpg code: Z7K9TP +gitx: https://github.com/MA3STR0 homepage: tech-5.de -mastodon: null +linkedin_url: https://www.linkedin.com/in/antoncaceres +mastodon_url: null name: Anton Caceres slug: anton-caceres submissions: - python-observability-perfected-advanced-techniques-with-opentelemetry -twitter: https://twitter.com/anton_caceres +twitter_url: https://twitter.com/anton_caceres --- I'm a passionate Python developer and event organizer, running a software agency in Munich. With a history of organizing PyCons and leading the PyMunich meetup, I'm also proud to be a Python Software Foundation fellow. My journey is all about continuous learning and knowledge sharing. diff --git a/src/content/speakers/Z8HXML.mdx b/src/content/speakers/Z8HXML.mdx index 582273225..181fafc4a 100644 --- a/src/content/speakers/Z8HXML.mdx +++ b/src/content/speakers/Z8HXML.mdx @@ -2,13 +2,15 @@ affiliation: Nordcloud, IBM company avatar: https://program.europython.eu/media/avatars/Screenshot_2024-03-04_at_23.34.30_xlVdm5L.png code: Z8HXML +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/yuliia-barabash/ +mastodon_url: null name: Yuliia Barabash slug: yuliia-barabash submissions: - is-it-me-or-python-memory-management -twitter: https://twitter.com/yuliia_barabash https://twitter.com/laysauchoa +twitter_url: https://twitter.com/yuliia_barabash --- Over the past five years living in Germany, I've immersed myself in the tech industry, acquiring a broad spectrum of experiences. My skill set is diverse, covering the development of web applications using Python and the creation of robust AWS cloud solutions. I possess a solid grasp of design patterns and Object-Oriented Programming (OOP), alongside a proficiency in event-driven and microservices architectures. My experience extends to designing REST APIs and working with various database technologies. Committed to continuous learning, I consistently improve my skills to employ tools and technologies following industry best practices. diff --git a/src/content/speakers/ZG8GYN.mdx b/src/content/speakers/ZG8GYN.mdx index c30132ded..81e87f7ab 100644 --- a/src/content/speakers/ZG8GYN.mdx +++ b/src/content/speakers/ZG8GYN.mdx @@ -2,15 +2,17 @@ affiliation: Pydantic avatar: https://program.europython.eu/media/avatars/SamuelColvin-030-Edit-extended_6sJz7qu.jpg code: ZG8GYN +gitx: https://github.com/samuelcolvin homepage: null -mastodon: https://fosstodon.org/@samuelcolvin +linkedin_url: https://www.linkedin.com/in/samuel-colvin/ +mastodon_url: https://fosstodon.org/@samuelcolvin name: Samuel Colvin slug: samuel-colvin submissions: - fastui-panacea-or-pipe-dream -twitter: https://twitter.com/samuel_colvin +twitter_url: https://twitter.com/samuel_colvin --- -Hi, I'm Samuel. I'm a Python, Rust and TypeScript developer from London. - +Hi, I'm Samuel. I'm a Python, Rust and TypeScript developer from London. + I'm best known for creating Pydantic - a Python data validation library that has now morphed into a startup. diff --git a/src/content/speakers/ZKDDFP.mdx b/src/content/speakers/ZKDDFP.mdx index 94d43344b..20aefa0c1 100644 --- a/src/content/speakers/ZKDDFP.mdx +++ b/src/content/speakers/ZKDDFP.mdx @@ -2,11 +2,13 @@ affiliation: Michele Dallachiesa avatar: '' code: ZKDDFP +gitx: https://github.com/elehcimd/mltraq homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/dallachiesa/ +mastodon_url: null name: Michele Dallachiesa slug: michele-dallachiesa submissions: - mltraq-track-your-ai-experiments-at-hyperspeed -twitter: null +twitter_url: null --- diff --git a/src/content/speakers/ZLLVEH.mdx b/src/content/speakers/ZLLVEH.mdx index 446276581..a71437f42 100644 --- a/src/content/speakers/ZLLVEH.mdx +++ b/src/content/speakers/ZLLVEH.mdx @@ -2,13 +2,15 @@ affiliation: Nordcloud avatar: https://program.europython.eu/media/avatars/DSC_0672_1_E78vryU.jpg code: ZLLVEH +gitx: null homepage: null -mastodon: null +linkedin_url: https://www.linkedin.com/in/laysauchoa/ +mastodon_url: null name: Laysa Uchoa slug: laysa-uchoa submissions: - is-it-me-or-python-memory-management -twitter: https://twitter.com/laysauchoa +twitter_url: https://twitter.com/laysauchoa --- I’m a digital architect who constructs scalable structures using the magic of the cloud and Python. I’m a certified cloud engineer and an enthusiastic advocate of the Python language and its environments. In addition to this, I am the leader of the PyLadies Munich chapter — a community where individuals gather to learn, share, and nurture their growth. diff --git a/src/content/speakers/ZP7QSM.mdx b/src/content/speakers/ZP7QSM.mdx index 8071008c0..67722b331 100644 --- a/src/content/speakers/ZP7QSM.mdx +++ b/src/content/speakers/ZP7QSM.mdx @@ -2,17 +2,19 @@ affiliation: Digievo avatar: https://program.europython.eu/media/avatars/Headshot_square_o5qKTuK.JPG code: ZP7QSM +gitx: null homepage: null -mastodon: null +linkedin_url: null +mastodon_url: null name: Adarsh Divakaran slug: adarsh-divakaran submissions: - tackling-thread-safety-in-python -twitter: null +twitter_url: null --- -Adarsh is a Python geek and an experienced Backend Developer with expertise in building APIs using Python. While in college, he co-founded multiple startups, one of which was incubated by Startup Village Collective and seed-funded by Kerala Startup Mission. He got the opportunity to pitch his idea at Facebook HQ in Silicon Valley. - -Adarsh started his Speaker journey by presenting at GraphQL Summit ‘22 and has presented at various Python conferences including Pycascades, Europython, and Flaskcon. - +Adarsh is a Python geek and an experienced Backend Developer with expertise in building APIs using Python. While in college, he co-founded multiple startups, one of which was incubated by Startup Village Collective and seed-funded by Kerala Startup Mission. He got the opportunity to pitch his idea at Facebook HQ in Silicon Valley. + +Adarsh started his Speaker journey by presenting at GraphQL Summit ‘22 and has presented at various Python conferences including Pycascades, Europython, and Flaskcon. + Explore his professional journey and insights on his [personal website](https://adarshd.dev) and [blog](https://blog.adarshd.dev) diff --git a/src/content/speakers/ZTBCWG.mdx b/src/content/speakers/ZTBCWG.mdx deleted file mode 100644 index a0c635419..000000000 --- a/src/content/speakers/ZTBCWG.mdx +++ /dev/null @@ -1,14 +0,0 @@ ---- -affiliation: JSSATEN -avatar: https://program.europython.eu/media/avatars/WhatsApp_Image_2023-10-18_at_4.15.50_PM_1_ZMMhULC.jpeg -code: ZTBCWG -homepage: null -mastodon: null -name: Tushar Jayant -slug: tushar-jayant -submissions: -- automating-kubernetes-with-python-a-symphony-of-simplicity -twitter: null ---- - -I am a highly motivated and skilled software developer. I have a track record of contributing to prominent projects where I have been focused on enhancing services and facilitating Google Cloud Platform awareness among students. My dedication to the Open Source community has been recognized through awards like the 'Dan Kohn Scholar' by The Linux Foundation and winning the 'Google AppSheet Ideathon' in 2022. diff --git a/src/pages/speaker/[slug].astro b/src/pages/speaker/[slug].astro index 10a42d4bf..cc28d63d9 100644 --- a/src/pages/speaker/[slug].astro +++ b/src/pages/speaker/[slug].astro @@ -16,12 +16,48 @@ const { Content } = await entry.render(); const sessions = await getEntries(entry.data.submissions); -function normalizeTwitterHandle(handle: string, { onlyUsername = false } = {}) { - handle = handle.replace(/^https?:\/\/twitter.com\//, ""); +// Get @username from Twitter URL +function getTwitterUsername(url: string): string | undefined { + const username = url.split("/").pop(); + return (username ?? url).startsWith("@") ? username : `@${username}`; +} + +// Get @username@instance.tld from Mastodon URL +function getMastodonUsername(url: string): string | null { + const match = url.match(/https?:\/\/([^\/]+)\/@([^\/]+)(\/|\?|$)/); + return match ? `@${match[2]}@${match[1]}` : null; +} + +// Get in/username from LinkedIn URL +function getLinkedInUsername(url: string): string | null { + const match = url.match(/https?:\/\/([^\/]+)\/in\/([^\/]+)(\/|\?|$)/); + return match ? `in/${match[2]}` : null; +} + +// Get Git hosting service from URL +function getGitHosting(url: string): string | undefined { + const urlWithProtocol = ensureHttps(url); + try { + const hostname = new URL(urlWithProtocol).hostname; + if (hostname.includes('github.com')) return 'GitHub'; + if (hostname.includes('gitlab.com')) return 'GitLab'; + } catch { + return undefined; + } + return undefined; +} - const username = handle.replace(/^@/, ""); +function isUrl(str: string): boolean { + str = ensureHttps(str); + const regex = /^(https?:\/\/)?([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,6})([\/\w@.-]*)*(\?.*)?$/; + return regex.test(str); +} - return onlyUsername ? `@${username} ` : `https://twitter.com/${username}`; +function ensureHttps(str: string): string { + if (!/^https?:\/\//i.test(str)) { + return `https://${str}`; + } + return str; } --- @@ -32,6 +68,7 @@ function normalizeTwitterHandle(handle: string, { onlyUsername = false } = {}) { > {entry.data.name} + {entry.data.avatar && (