Talks Joker 2021

Josh Long VMware
Josh Long
VMware 
Day 2 / 20:00  / Track 1 / EN

Bootiful Spring GraphQL

Josh will look at how to build data gateways for every clients' needs with Spring GraphQL.

Aleksey Shipilev Red Hat
Aleksey Shipilev
Red Hat 
Day 1 / 20:00  / Track 1 / RU

Java objects inside out

In this talk, we'll try to look inside Java objects and see what lies in them. After that many tricks in the objects, footprint should become clear, as well as some features of runtimes, and it will be obvious what can be exploited forlow-lever purposes.

Aleksandr Kozhenkov GridGain
Aleksandr Kozhenkov
GridGain 
Day 1 / 20:00  / Track 2 / RU

Scaling Spring Boot microservices

This talk will cover all the necessary points preventing the horizontal scaling of Spring Boot applications.

Dmitry Chuyko BellSoft
Dmitry Chuyko
BellSoft 
Day 3 / 17:00  / Track 2 / RU

Going beyond the container — compact and fast containers with (and without) native image

Dmitry will talk about minimalistic Alpine Linux, full support for which was recently implemented for both OpenJDK and GraalVM.

Erik Österlund Oracle
Erik Österlund
Oracle 
Day 2 / 20:00  / Track 3 / EN

Concurrent thread-stack processing in the Z Garbage Collector

The Z Garbage Collector (ZGC) goal was to not exceed 10 ms pause times. But after achieving this goal Oracle wanted more. You'll learn more during this session.

Pasha Finkelstein JetBrains
Pasha Finkelstein
JetBrains 
Day 2 / 18:30  / Track 2 / RU

Spark magic: How high-level pipelines become distributed hardcore

Let's get to know the magic of Spark together with Pasha Finkelstein.

Julien Ponge Red Hat
Julien Ponge
Red Hat 
Day 1 / 18:30  / Track 1 / EN

"Simply reactive" with Vert.x, Mutiny, Hibernate Reactive and Quarkus

We will explore the proven reactive toolkit Vert.x and the use of its reactive relational databases drivers. We will then use Hibernate Reactive to leverage the object-relational mapping power offered by Hibernate technologies for more than a decade. After this end-to-end journey in the reactive world, we will finally see how to use all of them in a Quarkus application.

Martinelli Simon 72 Services LLC
Martinelli Simon
72 Services LLC 
Day 2 / 17:00  / Track 3 / EN

Single Page Applications without REST API

This talk is an introduction to Vaadin Fusion. In contrast to the well-known Java-based Vaadin Flow, Vaadin Fusion offers the possibility of developing SPAs with TypeScript and web components in the frontend and Java in the backend.

Franck Pachot Yugabyte
Franck Pachot
Yugabyte 
Day 3 / 17:00  / Track 3 / EN

SQL primary key, surrogate key, composite keys, foreign keys... and JPA

In Java, all objects have an identity from their memory address. When persisting them, a key is required. And this is where religious wars start... Natural key? Composite key? Surrogate key? Sequence or UUID? Let's see what they are.

Andres Almiray Oracle
Andres Almiray
Oracle 
Day 1 / 20:00  / Track 3 / EN

JReleaser — releasing at the speed of light

Come to this session to learn how JReleaser can help you release, publish, and announce binaries with ease, and fast!

Aleksander Nozik JetBrains Research
Aleksander Nozik
JetBrains Research 
Day 1 / 18:30  / Track 2 / RU

Architecture of math calculations on Kotlin

With Aleksandr, we'll consider different approaches to math API and their realization in different programming languages (Python, C++, Julia, Java and Kotlin).

Alexey Nesterov VMware
Alexey Nesterov
VMware 
Oleh Dokuka VMware
Oleh Dokuka
VMware 
Day 4 / 20:00  / Track 1 / RU

What new is coming with Spring 6

The important news this fall in the world of Java is the announcement of a new version of the most popular framework Spring Framework 6. From this talk you will learn what new features have appeared.

Dmitry Konstantinov Netcracker
Dmitry Konstantinov
Netcracker 
Day 1 / 18:30  / Track 3 / RU

Apache Cassandra — threads and memory

The talk is about Apache Cassandra database internals, how does it look like from a Java developer's point of view: how threads are organized, how memory is managing, what data structures are used.

Oleg Nizhnikov Tinkoff
Oleg Nizhnikov
Tinkoff 
Day 3 / 17:00  / Track 1 / RU

Scala. War of Effects. ZIO vs Cats Effect

Modern backend Scala development almost fully submitted to structured concurrency based on the varieties of IO monad. But community looks split into ZIO ecosystem and Cats Effect users. Oleg will answer the questions about them in his talk.

Vladimir Ozerov Querify Labs
Vladimir Ozerov
Querify Labs 
Day 4 / 17:00  / Track 2 / RU

Apache Calcite: A platform for building advanced SQL optimizers in Java

Vladimir will talk about Apache Calcite — a project that allows to quickly create powerful cost-based optimizers that surpass in their capabilities the optimizers of any modern DBMS.

Leonid Startsev JetBrains
Leonid Startsev
JetBrains 
Day 2 / 17:00  / Track 1 / RU

How to evolve your Kotlin library painlessly for clients

The talk about tools and best practices for maintaining compatibility and API evolution.

Fedor Sazonov Sber
Fedor Sazonov
Sber 
Ilya Sazonov Vsegda.Da
Ilya Sazonov
Vsegda.Da 
Day 4 / 18:30  / Track 3 / RU

Antipattern orisnull: the Intrigue of illusory simplicity

We will discuss orisnull antipattern, which, if applied easily puts most of RDBMS on their knees. How Spring Data pushes developers to use the pattern, why it is wrong to use it and how to use code generation to make orisnull harmless.

Evgeny Mandrikov SonarSource
Evgeny Mandrikov
SonarSource 
Day 3 / 18:30  / Track 2 / RU

Decomposing Compose

Internals of Jetpack Compose and Compose for Desktop.

Karin-Aleksandra Monoid
Karin-Aleksandra Monoid
 
Day 4 / 18:30  / Track 2 / RU

Extending kotlinx.serialization functionality with Arrow Meta

In this talk we will talk about the project setup, the Arrow Meta library features, and we'll take a look at the real use-case of adding a global naming strategy to kotlinx.serialization.

Roman Kennke Red Hat
Roman Kennke
Red Hat 
Day 3 / 20:00  / Track 3 / EN

Project Lilliput: Shrinking object headers in the Hotspot JVM

This talk introduces Project Lilliput which aims to reduce Hotspot's header size to 64 bit or even less. A deep dive into JVM technology is guaranteed.

Artem Eroshenko Qameta Software
Artem Eroshenko
Qameta Software 
RU

How (not) to use testers correctly

In this talk Artem will try again to break the ice between development and QA using Java project as the example with both good old and new tools.

Akhtiam Sakaev m2.ru
Akhtiam Sakaev
m2.ru 
Day 3 / 20:00  / Track 2 / RU

DDDamn good!

Akhtiam will explain how to build modern distributed systems using Domain-Driven Design and Unix philosophy in practice.

Geoffrey De Smet Red Hat
Geoffrey De Smet
Red Hat 
Day 3 / 18:30  / Track 1 / EN

AI maintenance scheduling with OptaPlanner on Quarkus

Learn how to solve an NP-hard logistics optimization problem, such as maintenance scheduling, with OptaPlanner and Quarkus in Java.

Evgeny Kalinin Sber
Evgeny Kalinin
Sber 
Aleksandr Lampel Sber
Aleksandr Lampel
Sber 
Day 4 / 17:00  / Track 3 / RU

Backward compatibility, tools and approaches to control dependency hell

Speakers will talk about backward compatibility, tools and approaches to control dependencies.

Evgeny Borisov EPAM
Evgeny Borisov
EPAM 
Day 3 / 20:00  / Track 1 / RU

Technical interview with Evgeny Borisov

You know Evgeny Borisov like Spring expert and its reaper. What if you are invited to a technical interview with Evgeny? Do you think you could pass it?

We set up the experiment, and this time instead of the talk Evgeny will hold an interview on air, where he will check hard skills of Joker program committee members. To make it look real, we decided not to tell the questions to the candidates before the interview.

Nikita Povarov JetBrains
Nikita Povarov
JetBrains 
Roman Poborchy JetBrains
Roman Poborchy
JetBrains 
Day 1 / 17:00  / Track 1 / RU

Self-writing code

What's under the hood for programs that write their code? What are they lacking to do the job of a programmer? How will the development industry change because of these programs, and will it change at all soon? Is it time to be afraid of artificial intelligence, which will enslave us all? Nikita and Roman will try to answer all these questions during the session.

Andrii Rodionov National Technical University of Ukraine
Andrii Rodionov
National Technical University of Ukraine 
Oleh Dokuka VMware
Oleh Dokuka
VMware 
Day 2 / 18:30  / Track 1 / RU

Project Loom — a friend or foe of Reactive?

In that talk, guys are going to bust the myth of Loom killing Reactive and instead discuss how Loom will improve the Reactive ecosystem and make it more robust and simpler to use.

Matt Raible Okta
Matt Raible
Okta 
Brian Demers Okta
Brian Demers
Okta 
Day 4 / 20:00  / Track 3 / EN

Lock That Sh*t Down! Auth Security Patterns for Apps, APIs, and Infra

In this session, you'll learn about recommended patterns for securing your backend APIs, the infrastructure they run on, and your SPAs and mobile apps.

Andrew Dinn Red Hat
Andrew Dinn
Red Hat 
Day 4 / 17:00  / Track 1 / EN

Static Java, GraalVM Native and OpenJDK

This talk will describe the status quo with static (native) Java apps, using GraalVM as an example to highlight both the promise and the potential perils presented by this new model for Java deployment and execution. It will proceed to highlight areas where OpenJDK project Leyden expects to underpin static Java with a precise specification, conformance suite, and reference implementation and detail some of the challenges faced in doing so.

Yuriy Vasyutinskiy FlowTraders
Yuriy Vasyutinskiy
FlowTraders 
Day 2 / 20:00  / Track 2 / RU

Long-lived gRPC streams issues

The problems hidden behind pretty API, and how to solve them.

Andrey Belyaev Haulmont
Andrey Belyaev
Haulmont 
Day 2 / 17:00  / Track 2 / RU

JPA Puzzlers and beyond

In this session, we will have a look at real-life cases that might cause unpredictable results. We'll have a look at Hibernate, Spring, and Lombok and how they work together. There will be magic as well as disclosure. The purpose of the talk is to save a couple of hundreds of men-hours on debugging and search for the root of an issue.

Steve Poole Sonatype
Steve Poole
Sonatype 
Day 2 / 18:30  / Track 3 / EN

Practical steps for creating safer software (Code included)

Now, more than ever before, understanding your role in designing, building, and deploying safer software is critical. In this session, Steve will take you through the basics. Learn the three principles of software design specifically aimed at creating more secure and robust solutions.

Dmitry Bugaychenko Sber
Dmitry Bugaychenko
Sber 
Day 4 / 18:30  / Track 1 / RU

gRPC client-side load balancing — why, what, how and WTF?

We'll talk about the popular technology for organizing interaction — gRPC. Let's talk about its main features and how to use them, focusing on the issue of load balancing.

Mark Paluch VMware
Mark Paluch
VMware 
Day 3 / 18:30  / Track 3 / EN

On the way to Reactive Relational Database Connectivity 1.0

Learn about the evolution of the Reactive Relational Database Connectivity standard, from the idea until reaching 1.0.

Alexey Fyodorov JUG Ru Group
Alexey Fyodorov
JUG Ru Group 
RU

Conference opening

We will talk about the schedule, sessions, and share the information. Join the broadcast to find out what's on the air soon!