• Watch recording

    Talk type: Talk

    Microprofile.io: Not by Spring alone

    We'll tell about even more easy and, more importantly, standardized alternative to Spring Boot, designed precisely for microservices. Implementations of this specification, made by different companies, can work on various hardware from Raspberry Pi to large clusters. This specification proved successful and continues to evolve, offering new very useful features right out of the box.

  • Watch recording

    Talk type: Talk

    Java 11 is here!

    Learn all about the recent Java releases from 9 to 11.

  • Watch recording

    Talk type: Talk

    Micronaut vs Spring Boot, or who's the smallest here?

    In practice, developing and testing, testing and developing, we'll see the compromises in developing on SB2 and Micronaut. We shall see who's the best of the best: the most reactive, the handiest, the "cloudiest" — and is "micro" even good for production?

  • Watch recording

    Talk type: Talk

    Channels in Kotlin coroutines

    Channels algorithms in Kotlin coroutines, comparison with other languages and libraries.

  • Watch recording

    Talk type: Talk

    Walking dead objects, or GC is always right

    We'll talk about implementation details of different GC algorithms that cause some objects to be collected unexpectedly but others to stay on the heap for a long time after they have become unreachable. We'll also discuss whether this can be dangerous for your application and how to reduce the damage.

  • Watch recording

    Talk type: Talk

    Fuzzing for JVM testing: how and why

    We will tell how and why we use generator of random Java programs, how this generator is built and what can be done for generating Scala, Kotlin and other such programs which can be compiled into Java bytecode.

  • Watch recording

    Talk type: Talk

    Kotlin — 2 years in production without breaks

    Pavel will tell about his first meeting with Kotlin, first experiments and production usage. He'll walk you thru all core (in his opinion) aspects of enterprise development, look at difficulties they met and show their solutions of these difficulties. Also he'll talk a bit about interoperability and whether it is as good as described.

  • Watch recording

    Talk type: Talk

    Reactive Spring

    Together we'll explore the wacky, wonderful world of Reactive Spring.

  • Watch recording

    Talk type: Talk

    Jlink and Custom Runtime Image — Frankenstein's workshop

    In this session we'll demonstrate via examples new possibilities of Java 9 for self-contained systems, approach to migration of the applications and how this technology could be implemented for developing command-line tools and deploying of applications in containers.

  • Watch recording

    Talk type: Talk

    Public API infrastructure evolution

    Denis will go through the challenges that were faced in the scaling process and were also driving the evolution of their public API infrastructure. The story is filled with lessons learned and pitfalls, how-tos, and how-not-tos.

  • Watch recording

    Talk type: Talk

    Pattern matching and its imaginary friends

    We'll examine how the authors of Java see pattern matching, which new features are needed for its comfortable use, and is there any light at the end of the tunnel.

  • Watch recording

    Talk type: Talk

    Reactive ok.ru/music streamer

    Serving hundred Gbps from several nodes: architecture, design, gotchas, and solutions.

  • Watch recording

    Talk type: Talk

    Multiagent transportation model for the 2018 FIFA World Cup in Russia on Java in 4 months, with blackjack and evolutionary algorithms

    For the 2018 FIFA World Cup in Russia Jaroslav's team developed multiagent transportation model with decision support enterprise system and rendering husk for the Transport Directorate of FIFA World Cup 2018. Jaroslav will tell about development of this project and its architecture.

  • Watch recording

    Talk type: Talk

    Modern FP using Tagless Final

    There is a new way of app composition gaining popularity in the FP community. It allows to define the accurate description of the components' work without overhead charges and is a perfect realization of Dependency Inversion Principle. We'll discuss the history and the formal, technical and practical aspects of implementing this approach using Scala as an example.

  • Watch recording

    Talk type: Talk

    Sorting out memory of a Java process

    We'll explore which structures of the virtual machine take in virtual memory, how to monitor and manage its consumption. We'll study different strategies of virtual memory management and learn what was changed in the new versions of JDK. We'll examine the real cases of native memory leak and get to know the tools of allocations analysis.

  • Watch recording

    Talk type: Talk

    Don't aim for quality, aim for speed

    Yegor truly believes that quality is not what programmers should care about. They must care only about speed — close tasks as soon as possible — which means making the project move forward.

  • Watch recording

    Talk type: Talk

    Transaction cascades, or how to build a transactional microservice architecture

    At TransferWise they use Kafka and local database transactions to achieve transactional behavior across multiple microservices. In this talk Harald will describe their architecture and design decisions. He'll compare their own solution with other alternatives and show why they chose to build their own. He'll also give a quick recap on database transactions and Kafka.

  • Watch recording

    Talk type: Talk

    Reactive config

    When developing big distributed apps, it is usually considered a good practice to separate the app configuration from its business logic. We've developed our own library for dynamic configuration, and we will tell about its internal design and how you can employ it in your own project.

  • Watch recording

    Talk type: Talk

    Don't walk away from complexity, run

    We'll look at what leads to complexities, the traps developers and organizations fall into, and what we can do to effectively deal with these common, recurring issues we see across domains and products.

  • Watch recording

    Talk type: Talk

    Reactive hardcore: how to implement own Publisher<?>

    Reactive-Streams brought a new, amazing standard for Reactive Libraries users as well as broader horizon of hardcore problems for the standard's adopters. During this talk, we will walk through all the steps of implementing RS Publisher<?> in Java. Finally, we will get an understanding how to build the CORRECT implementation of that interface, test it, and ensure that other popular solutions work similarly.

  • Watch recording

    Talk type: Talk

    Compiling Java ahead-of-time with GraalVM

    We'll talk about configuration of SubstrateVM, special aspects of its approach to code compiling and its limitations. We'll discuss which programs might and should be compiled ahead-of-time, look at applications already working and at their performance.

  • Watch recording

    Talk type: Talk

    New reality of digital civilization

    What can aggressive information environment do to our brain? What are the main problems of the human intellect? How to make our thinking more effective by using latest discoveries of the brain sciences? Andrey Kurpatov will tell what awaits us in the future and how we can prepare for it.

  • Watch recording

    Talk type: Talk

    Lambda compilation and other gimmicks of modern JDKs

    We explore the technical details of compiled lambda expressions and learn about the new JVM capabilities — which come with several performance benefits and could also be used for other JVM languages.

  • Watch recording

    Talk type: Talk

    Apache Maven supports ALL Java

    This session will highlight the most important features developers should know to work with Java 9 and 10, combined with some practical tips and warnings.

  • Watch recording

    Talk type: Talk

    How to tune Spark performance for ML needs

    Artem will tell about a set of methods tried on a "live" project, which helped make execution time of some jobs 5-20 times better. The talk's aimed at engineers working with big data and especially with Spark.