Talks

  • The program hasn’t been finally approved yet, so there still might be some changes.

  • Talk

    Math, Physics and Music

    Math, physics and harmony in music are closely related. We all know that there are seven notes. That's from a lyricist's point of view. But from the physicist's point of view, there are more. I will talk about this and how music can be explained through numbers, formulas and frequencies.

  • Talk

    Evolution of Memory Models

    Memory models: from hardware origins to modern programming languages. We’ll trace their evolution, compare in Java, C++, Rust, Go, and discuss future innovations — a must-hear for anyone delving into multithreading and concurrency.

  • Talk

    Optimising your Inner Development Loop with Spring Boot 3.1+ and Docker

    In this live coding exercise I will show you how to use the new “Development-time Services” feature of Spring Boot with both Docker Compose and Testcontainers. Firstly how to use it as-is, then I will show how to integrate new container types for by leveraging the ConnectionDetails abstraction that was added to Spring Boot in version 3.1. This will be done using the generic container and custom module support in Testcontainers. 

  • Talk

    OSIV off Cannot Be Turned On

    We'll talk about a Spring setting called open-in-view. It is on by default, according to common opinion it should be turned off. But do you really have to turn it off? Is there any other way to turn it off? Or not?

    OSIV off cannot be turned on. Join the talk, and we'll put the commas together!

  • Talk

    Cassandra: Why Is My Query Slow?

    You are using Apache Cassandra and the unbelievable has happened: some or maybe all of your database queries have started to slow down.... Don't panic, in this talk we will try to understand what to do in such a case and analyze typical cases and examples from life.

  • Talk

    Multithreaded Database Inserts: From Speed to Atomicity. Spring + PostgreSQL

    I will tell you how you can speed up data insertion by parallelizing this process in Spring and how to keep the whole operation atomic. We will touch upon batch update in Spring and PostgreSQL, discuss why update is a heavy operation and how we can speed it up in the current technology stack. In addition, I'll look at other approaches to preserving atomicity and show the differences between them in benchmarks.

  • Talk

    Data Retrieval in Simple Terms

    We will talk about executing read queries in different databases and how to use this knowledge to select a DBMS for a specific task.

  • Talk

    Thoughts in Context

    Another <?>-oriented programming. This time it's contextual. Let's discuss what it is and how it is done in Kotlin.

  • Talk

    Test Validation in Action: Mutation Testing with Pitest

    How do you know if your tests are really catching bugs? Let's see how to use Pitest to customize mutation testing, speed it up, deal with false positives, add custom mutations, and integrate the process into CI/CD so that testing brings real value to the team.

  • Talk

    About Quarkus Extension in Three Acts

    A short speech about your custom Quarkus Extensions development: annotation processing, build-time class indexing, observability and bytecode generation.

  • Talk

    libGDX. Making a Game

    We will talk about game development in Java and libGDX in particular. We'll look at the main concepts, approaches and tools.

  • Talk

    How to Get Rid of Recursion and Fix a Silly Error in Google

    I will talk about researching different approaches to recursion optimization. I will consider and compare them with each other to get clear figures. Besides, I will cover optimization of tail recursion, tree traversal recursion, any recursion via DeepRecursiveFunction. I will tell you how during my research I discovered and fixed a silly bug in Google code related to an attempt to optimize recursion.

  • Talk

    Legacy. Optimizations. Obfuscation. The Heroic Struggle Against Minecraft

    Minecraft is not only a game, but also a powerful platform for learning and professional development. The talk will cover tools for supporting multiple versions of the game on a single server, working with network packages, and modifying the game through byte code patching that help developers hone their Java and networking skills.

  • Talk

    Load Shedding and Client Prioritization in Spring Cloud Gateway

    This talk presents a custom load-shedding mechanism with client prioritization in Spring Cloud Gateway, designed to handle traffic spikes while ensuring priority access for critical clients beyond standard rate limiting. We will explore distributed capacity management using custom a filter, Redis and Lua scripts, dynamic capacity redistribution, and real-time API adjustments.

  • Talk

    How We Offloaded the Camunda DB Without Losing a Line of History

    The Camunda engine can record a detailed history of process traversal, which is very useful for user support. But it is very expensive for the database. The talk is on how to maximize the efficiency of putting the history in a separate database, freeing up the main application for direct customer support.

  • Talk

    ART Memory Management

    ART — Android Runtime — is a virtual machine in Android OS in which user applications are executed. ART can be thought of as a mobile device-centric implementation of the JVM with its inherent limitations, including memory management and garbage collection. In the Android ecosystem, it executes programs in JVM languages such as Java and Kotlin, and has a number of differences from OpenJDK. Unfortunately, this topic is still poorly covered, so in my talk I propose to delve into the peculiarities of this equally interesting world.

     

  • Talk

    Attack Surface Analysis for Java Applications

    To find the attack surface for applications, it is necessary to track the data flows within them. Most existing data flow tracking tools are based on virtual machines. In this talk, we will look at a way to extract the names and parameters of Java functions running in a virtual machine running QEMU.

  • Talk

    Modular Monolith: How to Build a Flexible Java Application with Hot Reload

    Monolithic applications can be difficult to maintain and extend. This talk is about solving this problem by using modular architecture to create flexible and dynamically extensible Java applications. We will consider how to implement hot reloading of plug-ins, providing independent component development and functionality updates on the fly, without downtime.

  • Talk

    How We Doubled the Speed of the Java Compiler (javac)

    Java compilation speed is low for a number of reasons, especially when compared to some other languages. We set and successfully solved the task of compilation acceleration, achieving a twofold increase in speed, as well as a noticeable reduction in memory and CPU consumption during compilation. 

  • Talk

    AI Assistants under the Hood: Redis, Redis, Redis

    The journey of building an AI Assistants service by a small team with the requirement of (almost) no disk access. How to swap SQS and Kafka for Redis, learn a lot of lessons from using Redisson and avoid losing all your efforts due to deployment nuances.

  • Talk

    From Elasticsearch to Cassandra

    I will tell you how we migrated our service from Elasticsearch storage to Cassandra: what you need to know before deciding to migrate, what features and limitations there are, how to move without downtime and without affecting users. I will share the details of our implementation and the problems we faced.

  • Talk

    GigaIDE Symphony: From Idea to Complete Platform

    We'll talk about why Sber decided to create its own IDE when IDEA Community exists, and what differences there are between them. We will look at the plans for further development of the platform, as well as the functionality included in the release version. In addition, we will pay special attention to the technical difficulties and limitations we encounter and how to solve them. It will be equally interesting to discuss how GigaIDE simplifies routine tasks, how the platform's internal architecture and the process of writing plugins.

We will add more talks soon.

We are actively adding to the program. Sign up for our newsletter to stay informed.

Subscribe