Talks Joker 2020

Day 4 / 14:00  / Track 3 / EN

Joker 2020 Virtual Afterparty

Zoom session where we will gather all the attendees, speakers, and program committee members and experts. We will sum up the highlights of the conference and chat with each other in an informal setting of a merry crowd, like in good old non-COVID times. The only difference is that it will be in Zoom, because now it’s time of COVID, unfortunately.

Join the link below the player!

Day 4 / 14:00  / Track 1 / RU

Joker 2020 Virtual Afterparty

Zoom session where we will gather all the attendees, speakers, and program committee members and experts. We will sum up the highlights of the conference and chat with each other in an informal setting of a merry crowd, like in good old non-COVID times. The only difference is that it will be in Zoom, because now it’s time of COVID, unfortunately.

Join the link below the player!

Alexey Kuzin Tarantool
Alexey Kuzin
Tarantool 
Day 2 / 12:30  / Track 2 / RU

Working with in-memory data sharding with a flavor of Spring Data

Using the example of the Tarantool connector Alexey will show how to develop his implementation of a connector for a distributed in-memory data storage, what performance issues could arise, and how to solve them.

Peter Lawrey Chronicle Software Ltd
Peter Lawrey
Chronicle Software Ltd 
Day 3 / 19:00  / Track 1 / EN

Novel but practical uses of Java

Peter reviews some rarely used features of Java that his team use with practical examples.

Monica Beckwith Microsoft
Monica Beckwith
Microsoft 
Day 3 / 19:00  / Track 3 / EN

Have you really taken the time to know me: A G1 GC saga

Since JDK 9, G1 GC is the default garbage collector (JEP 248). Up until 2017, Monica have shared some G1 GC details, performance tips, optimizations that help G1's adaptiveness and provided advice on manual tuning. In this session the speaker will cover most of the important optimizations that are delivered from JDK9+ and how they can help your application's responsiveness, its throughput and help with footprint reduction.

Jason Tatton Amazon Web Services
Jason Tatton
Amazon Web Services 
Day 4 / 12:30  / Track 4 / EN

Back from the 70s — the Concurnas concurrency model!

In this talk we explore the language, compiler and runtime implementation of the core concurrency and GPU computing model of Concurnas, a JVM programming language for concurrent and parallel computing.

Otavio Santana Platform.sh/SouJava
Otavio Santana
Platform.sh/SouJava 
Karina Varela Red Hat
Karina Varela
Red Hat 
Day 1 / 17:15  / Track 3 / EN

Architecting and delivering Java applications in the cloud era

Join this session to understand how the Java language, standards, culture, and ecosystem around it evolved to keep the pace of cloud deployment. Learn how you can maintain your developers' productivity by architecting your Java application aligned with the most recent best practices and recommendations, besides, defining a good integration and delivery scenario for your application lifecycle.

Mark Heckler VMware
Mark Heckler
VMware 
Oleh Dokuka
Oleh Dokuka
 
Day 1 / 19:00  / Track 1 / EN

RSocket + Spring: A full throttle introduction

Come to this session for a full-throttle, live-coding adventure introducing Spring Boot RSocket mechanisms & models and showing how to put them to work for you. All examples will be coded live & in real-time!

Yuriy Milyutin Sber
Yuriy Milyutin
Sber 
Day 2 / 10:30  / Track 1 / RU

Java Licensing Tips

Oracle JDK is now paid for commercial use. What has changed for developers? How many licenses does your company need? What do the legal terms "commercial use" and "processor" actually mean?

Yuriy asked these questions to the best lawyers of service providers, conducted an internal audit, and now he will share his experience! The world has changed and you will be ready for it.

Simon Ogorodnik JetBrains
Simon Ogorodnik
JetBrains 
Day 3 / 17:15  / Track 2 / RU

Kotlin Compiler in past, 1.4 and beyond

How Kotlin Compiler works at all? This talk will cover Kotlin Compiler architecture in the past, now, and future.

Vladimir Plizga СFT
Vladimir Plizga
СFT 
Day 2 / 10:45  / Track 2 / RU

Spring Boot "fat" JAR: Thin parts of a thick artifact

During this session, we will understand the fine points of the "fat" JAR. We will also look at its design and understand in which cases it's a good solution and when it's better to avoid using it (and what to choose instead). We will pay special attention to deployment in containers.

Evgeny Borisov EPAM
Evgeny Borisov
EPAM 
Day 4 / 10:45  / Track 1 / RU

Spring Patterns for adults

In this talk, Eugene will show how Spring can be used to easily implement to most popular patterns that we encounter in everyday life.

Ilya Ermolin RT Labs
Ilya Ermolin
RT Labs 
Day 1 / 18:30  / Track 1 / RU

Pitfalls of Java classloaders and how they can affect work performance with XML

A short story about the well-known classloaders' features and how they impact the work performance with XML (and what are the solutions available).

Alan Bateman Oracle
Alan Bateman
Oracle 
Day 3 / 17:15  / Track 1 / EN

Project loom: Modern scalable concurrency for the Java platform

If you care about thread in Java, then come to hear about Project Loom.

Alexey Fyodorov JUG Ru Group
Alexey Fyodorov
JUG Ru Group 
Gleb Smirnov
Gleb Smirnov
 
Day 4 / 13:45  / Track 1 / RU

Conference closing

Join the Joker wrap-up with the Program committee: we will discuss the most interesting talks and chatters as well as talks that should be returned after the conference.

Thomas Wuerthinger Oracle
Thomas Wuerthinger
Oracle 
Oleg Šelajev Oracle
Oleg Šelajev
Oracle 
Day 1 / 19:00  / Track 4 / EN

Workshop: GraalVM (part 2)

In this workshop, the founder and the current lead of the GraalVM project will show you the capabilities of GraalVM. Learn the best practices and the most effective way to get started using GraalVM with your JVM applications. This is also a perfect opportunity to ask technical questions and learn the details of the project from them!

David Denton
David Denton
 
Ivan Sanchez
Ivan Sanchez
 
Day 2 / 12:30  / Track 3 / EN

Writing test driven apps with http4k

A mix of theory and live-coding to demonstrate how to test-drive HTTP service development using the Kotlin http4k library.

Gunnar Morling Red Hat
Gunnar Morling
Red Hat 
Day 2 / 10:45  / Track 3 / EN

Change data capture pipelines with Debezium and Kafka Streams

In this talk, we're taking change data capture to the next level by exploring the benefits of integrating Debezium with streaming queries via Kafka Streams.

Aleksandr Belokrilov BellSoft
Aleksandr Belokrilov
BellSoft 
Day 4 / 12:15  / Track 1 / RU

Hell's kitchen: How to prepare a new version of Java and not poison the users of LTS releases?

Alexander will tell in detail about his work in the Java Community Process (JCP) project and why BellSoft was chosen by the JCP Executive Committee.

Artem Seleznev Sber
Artem Seleznev
Sber 
Day 2 / 12:00  / Track 1 / RU

It's time to try machine learning in Java

When we talk about Data Science, Java as a tool for this work is the last thought. But! The time has come and it's time to make the distinction in DS. Separate experimentation from development. However, you'll say there are not many DS tools in Java! No longer! Artem will tell you how and what to use to work with data and build machine learning models.

Artem Seleznev Sber
Artem Seleznev
Sber 
Day 2 / 12:15  / Track 1 / RU

Interview: It's time to try machine learning in Java

Artem will tell you how and what to use to work with data and build machine learning models.

Roman Elizarov JetBrains
Roman Elizarov
JetBrains 
Day 1 / 17:15  / Track 1 / RU

Interview and Q&A: Java and Kotlin evolution. What awaits us?

During this interview, Roman plans to look at the differences between Java and Kotlin, what each language has yet to improve, and how they plan to overtake each other.

Andrey Damintcev Deutsche Telekom IT Solutions
Andrey Damintcev
Deutsche Telekom IT Solutions 
Day 1 / 18:45  / Track 1 / RU

How to tell "no" to an architect? Tips for sizing a microservice

Andrey will present a short version of his "Microservices. An adventure for 60 minutes" presentation and will tell about the main principles of choosing the size of microservices and provides reasons you can use in discussion with an architect.

Tagir Valeev JetBrains
Tagir Valeev
JetBrains 
Day 4 / 12:30  / Track 1 / RU

Will robots replace programmers?

Rise of the machines is coming or do we still have time to confront it? Tagir will speak out the burning question "will the program replace the programmer" and try to answer it.

Kirill Timofeev JetBrains
Kirill Timofeev
JetBrains 
Day 1 / 19:00  / Track 3 / RU

To make JVM profiler win_able

IntelliJ IDEA added support for async-profiler for Mac and Linux a couple of years ago. They started using it and realized that they needed an async-profiler on Windows. During this session Kirill will tell you what difficulties had to be overcome in the process of porting async-profiler to Windows. The talk will be interesting for people who like native and low-level development and all sorts of OS-level stuff.

Mario Fusco Red Hat
Mario Fusco
Red Hat 
Edoardo Vacchi Red Hat
Edoardo Vacchi
Red Hat 
Day 4 / 12:00  / Track 1 / EN

Kogito: Cloud-native business automation

After a quick introduction to Kogito speakers will show with practical examples of how to build cloud-native event-driven business applications; to the point where applications can be even deployed in a serverless environment, through Knative. They will also show what challenges a distributed environment poses, and how we can deal with them.

Alexey Nesterov VMware
Alexey Nesterov
VMware 
Day 3 / 17:15  / Track 4 / RU

Workshop: Stop writing tests, write specs instead! (part 1)

During this workshop, Alexey will show how to work with the Red-Green-Refactor cycle and launch it for a new project, how to apply TDD in the real world, and using the example of Spring Boot and JUnit, with the opportunity to ask questions and try everything yourself.

Anton Kozlov Azul
Anton Kozlov
Azul 
Day 4 / 12:30  / Track 3 / RU

Coordinated Restore at Checkpoint: Quick start for the OpenJDK

A new project for OpenJDK.

Heinz Kabutz JavaSpecialists.eu
Heinz Kabutz
JavaSpecialists.eu 
John Green JavaSpecialists.eu
John Green
JavaSpecialists.eu 
Day 2 / 12:30  / Track 1 / EN

Thread Safety with Phaser, StampedLock and VarHandle

Every major Java version introduces a new and better way of managing state. In this talk, Heinz and John will show Phaser, StampedLock, and VarHandle concepts and explain when each should be used.

Yuriy Babak Mir Plat.Form
Yuriy Babak
Mir Plat.Form 
Evgeny Trifonov JUG Ru Group
Evgeny Trifonov
JUG Ru Group 
Day 3 / 18:30  / Track 1 / RU

Why do you need knowledge of concurrent development in an enterprise

During the interview, Yuri and Eugeniy will discuss why concurrency is requested at job interviews, while the workflow itself may not be directly related to it. And what happens if concurrency does come up.

Ivan Zemlyansky PulsePoint
Ivan Zemlyansky
PulsePoint 
Day 2 / 10:45  / Track 4 / RU

Aeron. High performance transport for low latency microservices

Aeron is a new transport from Real Logic. In the talk, Ivan wants to reveal the boundaries of the application of this technology, the main points of use.

Vladimir Ozerov Hazelcast
Vladimir Ozerov
Hazelcast 
Day 1 / 19:00  / Track 2 / RU

How we did SQL in Hazelcast

During this session, Vladimir will share how he and his team created the Hazelcast Mustang, a new distributed SQL engine that appeared in the latest version of Hazelcast IMDG.

Idel Pivnitskiy ServiceTalk
Idel Pivnitskiy
ServiceTalk 
Day 3 / 19:00  / Track 2 / RU

Microservices design philosophy with ServiceTalk.io

This talk is targeting a wide range of Software Engineers and describes how they can design and implement reactive microservices safely and productively with ServiceTalk.io.

Alexey Fyodorov JUG Ru Group
Alexey Fyodorov
JUG Ru Group 
Gleb Smirnov
Gleb Smirnov
 
Day 1 / 16:45  / Track 1 / RU

Conference opening

Find out what awaits you in the next 4 days. The program committee will talk about schedule, interesting talks, and in what format they will be held. The team of organizers in turn will tell you how our platform works, where discussion zones will be held, how to connect to chat rooms, and where to ask questions.

Alexey Nesterov VMware
Alexey Nesterov
VMware 
Day 3 / 19:00  / Track 4 / RU

Workshop: Stop writing tests, write specs instead! (part 2)

During this workshop, Alexey will show how to work with the Red-Green-Refactor cycle and launch it for a new project, how to apply TDD in the real world, and using the example of Spring Boot and JUnit, with the opportunity to ask questions and try everything yourself.

Emil Ibragimov Yandex.Cloud
Emil Ibragimov
Yandex.Cloud 
Day 2 / 12:30  / Track 4 / RU

Java in Serverless — to be or not to be?

The talk will be about process of creating Java runtime for serverless functions, problems we met during development stage, ways to solve them, and future perspectives of this runtime.

Sébastien Deleuze VMware
Sébastien Deleuze
VMware 
Day 4 / 12:30  / Track 2 / EN

The path towards Spring Boot native applications

In this talk, Sébastien is going to share the latest status of Spring teamwork on Spring GraalVM Native, the incubating project that allows Spring Boot applications to run as native images.

Ivan Ponomarev KURS
Ivan Ponomarev
KURS 
John Roesler Confluent, Inc.
John Roesler
Confluent, Inc. 
Day 4 / 10:45  / Track 2 / EN

Kafka streams testing: A deep dive

A Kafka Streams user (Ivan) and core developer (John) are exploring a number of approaches to Kafka Streams applications testing, and pointing out some limitations, pitfalls and workarounds.

Sven Ruppert JFrog
Sven Ruppert
JFrog 
Day 3 / 17:15  / Track 3 / EN

Hidden pearls for high-performance-persistence in Java

In this talk, Sven will show a few tech stacks that are helping to deal with persistent data without dealing with the classic horizontal scaling tech monsters like Kubernetes, Hadoop, and many more.

Aleksey Shipilev Red Hat
Aleksey Shipilev
Red Hat 
Sergey Kuksenko Oracle
Sergey Kuksenko
Oracle 
Pavel Petroshenko Azul Systems
Pavel Petroshenko
Azul Systems 
Dmitry Chuyko BellSoft
Dmitry Chuyko
BellSoft 
Day 2 / 10:45  / Track 1 / RU

Panel discussion: Present and future of Java

In this session, Alexey Shipilev, Dmitry Chuiko, Pavel Petroshenko, and Sergey Kuksenko will discuss the present and future of Java from the point of view of different companies.

Dmitry Chuyko BellSoft
Dmitry Chuyko
BellSoft 
Day 4 / 10:45  / Track 3 / RU

Docker Who: Small containers through time and space

During this session, you will learn how small containers help deployments what Alpine and musl are from a JDK perspective, what could potentially go wrong, and what other uses for the new JDK port are.

Alexey Nesterov VMware
Alexey Nesterov
VMware 
Day 1 / 17:15  / Track 2 / RU

Spring: Your next Java microframework

In this talk, Alexey will show that you don't have to abandon your favorite Spring Boot to a new and shiny thing to achieve the same result.

Jendrik Johannes Gradle Inc.
Jendrik Johannes
Gradle Inc. 
Day 4 / 10:45  / Track 4 / EN

Keeping growing software projects under control with Gradle

This talk will show, on a practical example, how Gradle helps you to deal with challenges you typically encounter in growing software projects.

Thomas Wuerthinger Oracle
Thomas Wuerthinger
Oracle 
Oleg Šelajev Oracle
Oleg Šelajev
Oracle 
Day 1 / 17:15  / Track 4 / EN

Workshop: GraalVM (part 1)

In this workshop, the founder and the current lead of the GraalVM project will show you the capabilities of GraalVM. Learn the best practices and the most effective way to get started using GraalVM with your JVM applications. This is also a perfect opportunity to ask technical questions and learn the details of the project from them!

Maximilian Novikov Deutsche Bank Technology Center
Maximilian Novikov
Deutsche Bank Technology Center 
Day 3 / 18:45  / Track 1 / RU

Rewriting Apache Maven to make it fast as Gradle

Many IT giants follow the mono-repository approach. Maximilian’s team (AutobahnFX) uses project-level mono-repository. Max will tell about the build process scalability challenge and the experiment with Apache Maven. The speaker will make a small demo where listeners will see if the build is made faster than using Gradle.