Our conference includes small sessions of 30min each (Talk + Q&A), delivered by speakers from all over the world, two panels, and various competitions. The following timetable is based on GMT.
Hour
Speaker
Talk
07:00 GMT
Welcome Talk
Welcome Talk
The conference will start with a short welcome talk. During this talk we will go over the schedule and provide more information about the various activities.
07:05 GMT
Adarsh Divakaran
Tackling Thread Safety in Python
As Python developers, we often overlook thread safety, leading to unpredictable behavior of our code in multithreaded environments. Through this talk, we will explore the common pitfalls and challenges that arise when code not designed for thread safety is executed in a multithreaded environment. We’ll look into common pitfalls and explain how to leverage synchronization primitives for thread safety.
07:35 GMT
Robyn – Asynchronous Python Web Framework with a Rust Runtime
Python web frameworks such as FastAPI, Flask, Quartz, Tornado, and Twisted are essential for developing high-performance web applications. However, they may also present certain bottlenecks, either due to their synchronous nature or the usage of the Python runtime. To overcome these limitations and increase performance, Robyn was created. Robyn is one of the fastest Python web frameworks in the ecosystem, with a runtime written in Rust. This allows for near-native rust performance while still maintaining the ease of writing Python code. In this talk, we will discuss the reasons for creating Robyn, the technical decisions behind it, such as the use of Rust runtime, and how it achieves near-native Rust performance. Additionally, we will explore how to use Robyn to develop web applications, how the community has helped Robyn grow, and the plans for its development. I would also like to hear feedback from the developers to see what they want in Robyn and how it can better cater to their needs.
08:05 GMT
T.B.A.
T.B.A
…
08:35 GMT
Kahoot Quiz
XtremeJ Kahoot Quiz Competition
We are going to have a small Kahoot-based quiz competition. The competition will take place online and it will include quiz questions. The points are given in each quiz question in accordance with the correctness and the speed of answer.
08:55 GMT
Hackaton
XtremeJ Hackaton
Our small hackaton includes a question in which you need to write a small program that answers the question we created. The winner is the first that answers correctly this question. The winner will be announced at the end of the conference.
09:00 GMT
First Break
First Break
09:30 GMT
Maxim Danilov
µDjango, an Asynchronous Microservices Technique with Practical Examples
In this talk, we will work with a Django project containing just one file. This solution automatically transforms Django into a microservice-oriented Async framework with the “batteries included” philosophy. The result of this Talk for the audience will be knowledge about mDjango, a ready-to-use technology for building synchronous and asynchronous microservices.
10:00 GMT
Gil Zilberfeld
Playwright in 1/2 hour. Or less.
Playwright is an exciting new-ish web automation framework. It has a lot of cool features that make it easier to write web tests. And it’s really hard to push all of them into an 1/2 hour.
10:30 GMT
Malicious Needle in a Haystack – PyPi Security Pitfalls
PyPi has 1.5 billion packages downloaded daily. This huge number is the perfect opportunity to disguise a malicious needle in the package haystack. Due to its popularity among Python developers, PyPi is also extremely popular among attackers. Attackers may target masses using techniques like typosquatting or perform targeted campaigns against maintainers of the top projects and even the whole developer communities. One of the crucial skills that a Python developer must have nowadays is the responsible use of open-source dependencies. The talk will focus on the issues that may happen to developers and ways to avoid them.
11:00 GMT
Kahoot True False
XtremeJ Kahoot True Flase
We are going to have a small Kahoot-based True False competition. The competition will take place online and it will include True False questions. The points given in each question is in accordance with the correctness and the speed of answer.
11:25 GMT
Breakout Room
XtremeJ Breakout Room
The Breakout Room game takes place online. The participants in this game will need to find their way out by overcoming a digital lock. The first that succeeds to overcome the digital lock wins the game. In order to overcome the digital lock the participants will need to code various small programs in Java.
11:30 GMT
Second Break
Second Break
12:00 GMT
Reuven Lerner
FastAPI Fundamentals
FastAPI is a new and wildly popular Python framework for creating and exposing APIs. Its popularity stems in no small part from the fact that it’s easy to start with, easy to scale up as your needs grow, and also highly performant. In this talk, I’ll introduce you to the basics of FastAPI, showing you everything from creating a simple application to testing it, and checking the validity of inputs and outputs. By the time you finish this talk, you’ll have a good sense of how and where you can use FastAPI.
12:30 GMT
Timothy Spann
Building Advanced LLM Applications with Python and Milvus: A Scalable Vector Database Solution
In the age of large language models (LLMs), the ability to store, search, and retrieve massive amounts of high-dimensional data efficiently is critical for building responsive, intelligent applications. Milvus, an open-source vector database, is designed to handle exactly this challenge. Leveraging Milvus in conjunction with Python, developers can seamlessly create high-performance applications powered by LLMs, such as semantic search, recommendation systems, and intelligent chatbots. This talk will explore the integration of Milvus with Python to build advanced LLM applications. We will dive into how Milvus manages and indexes vector embeddings generated by LLMs, enabling scalable and real-time similarity searches. The session will cover practical workflows, including setting up a Milvus cluster, generating embeddings using popular Python libraries (e.g., Hugging Face Transformers), and querying the database for fast retrieval of relevant information. Attendees will gain hands-on insights into using Milvus with Python to handle large-scale LLM-powered systems, unlocking the full potential of vector databases for modern AI applications. Whether you’re developing a question-answering system, a recommendation engine, or any application relying on efficient vector similarity search, this talk will provide the tools and knowledge to take your LLM-powered projects to the next level.
13:00 GMT
Design Patterns Unleashed: Building Elegant and Confident Solutions
Join us for a captivating session at XtremePython 2024, where we unravel the power of design patterns and their role in crafting robust Python software. Design patterns aren’t just theoretical; they are the tried-and-true tools that empower developers to build clean, scalable, and maintainable solutions with confidence. We’ll explore a selection of design patterns, from foundational creational patterns to advanced behavioral ones, demonstrating their practical applications in Python development. This session will help bridge the gap between abstract concepts and real-world use, giving developers of all levels the tools to identify common design problems and implement efficient, elegant solutions. Through insightful examples and clear explanations, this talk equips attendees with a deeper understanding of how design patterns can transform codebases. Whether you’re a seasoned expert or a curious learner, you’ll leave with practical knowledge to apply these patterns effectively and elevate your approach to software architecture.
13:30 GMT
Kahoot Simple Answer
XtremeJ Kahoot Simple Answer
We are going to have a small Kahoot-based Simple Answers competition. The competition will take place online and it will include questions with simple short answers. The points given in each question is in accordance with the correctness and the speed of answer.
13:55 GMT
XtremeJ Championship
XtremeJ Championship
We will introduce the XtremeJ championship, which includes a questionnaire with various programming questions about Java. The winner is the first participant to answer all questions correctly.
14:00 GMT
Third Break
Third Break
14:30 GMT
T.B.A.
T.B.A
…
15:00 GMT
Lessons Learned From Maintaining SDK in Python for Three Years
Designing SDKs is much different than designing business applications. Let’s see how to build software that works for years and is used by other developers. We’ll learn how design patterns work in real life, how mistakes made in the early stage affect the software years later, and how to refactor the library without breaking users.
15:30 GMT
Xperts Panel A
Xperts Panel A
The Xperts Panel focuses on a specific question (topic) selected by the conference participants. The conference participants will also be able to suggest additional questions (topics) to select from. The question (topic) that gets the biggest number of votes will be the one that this panel will focus on. This panel includes the following professionals: Andres Sacco, T.B.A.
15:55 GMT
Xperts Panel B
Xperts Panel B
The Xperts Panel focuses on a specific question (topic) selected by the conference participants. The conference participants will also be able to suggest additional questions (topics) to select from. The question (topic) that gets the biggest number of votes will be the one that this panel will focus on.
16:20 GMT
Closure Talk
Closure Talk
This talk concludes the conference. During this 10 minutes talk we will also announce the winners in the various competitions XtremeJ included.