Joker 2023
2023-10-09..2023-10-14
-- online --
Joker ·
[Joker 2016, Joker 2020, Joker 2021, Joker 2022, Joker 2023, Joker 2024]
as the organisers put it
Joker 2023 — an international conference for experienced Java developers and team leads. Several dozens of talks about JVM languages, tools, frameworks, architecture and much more.
| title | author | length |
|---|---|---|
| Opening Remarks for Joker 2023 | Vladimir Sitnikov, Andrey Kogun | 12m |
An opening session for the Joker 2023 Java conference presenting the event schedule, session lineup, and activities. Hosts Vladimir Sitnikov and Andrey Kogun… | ||
| Workshop: Building a Music Recommender System in Java | Andrey Kuznetsov | 45m |
A hands-on workshop showing how to build a music recommender system from scratch in Java using an open dataset, demonstrating which naive approaches fail in… | ||
| Java Code Analysis with Database and Domain Specific Language | Linjie Pan | 44m |
Claim: using a small DSL plus a graph database cuts checker code from ~80 lines of imperative Java to a compact declarative rule. Implementation stores an… | ||
| Leveling from 17 to 21: The Long Journey to the New Java LTS | Oleg Chirukhin | 52m |
Overview of the major features added in Java 21 and the long development journey from Java 17 to the new LTS. Explains how OpenJDK development works, what JEPs… | ||
| ML on the JVM | Aleksandr Nozik, Anton Cheshkov, Nikolay Butakov | 48m |
The talk examines doing machine learning on the JVM: when and why to use JVM-based ML, challenges of porting ML tools from Python, and what tasks are easier or… | ||
| An Introduction to Fuzzers | Maksim Pelevin | 44m |
An introduction to fuzzers that explains how simple fuzzing tools work and what is needed to implement a basic but effective fuzzer that can find bugs. The… | ||
| Thread Wars: Clone Wars on the Wiki Pages | Aleksandr Shakhov, Daniil Lyubaev | 37m |
Shows a comparative study of parallel implementations for a Wikipedia path-finding app, measuring how different concurrency technologies affect readability and… | ||
| Rewriting History: From Database Versioning Tools to Practice | Aleksandr Shustanov | 45m |
Overview and comparison of database versioning tools Liquibase and Flyway, explaining when to create migrations and how to make the migration process safer and… | ||
| ML Pipelines | Dmitriy Bugaychenko, Andrey Kuznetsov, Mikhail Maryufich | 49m |
An overview of machine-learning pipelines focusing on current problems and missing capabilities, plus which emerging technologies could help. The talk examines… | ||
| 50 Shades of Join in Apache Lucene | Mikhail Khludnev | 01h 00m |
The talk examines when and how join operations are necessary in NoSQL-style systems and compares available implementations. It reviews join support… | ||
| Journey from Java to Python: Two Worlds, One JEP | Dmitriy Morozovskiy | 56m |
A talk about running Python code inside the JVM: why one might embed Python, available approaches, and trade-offs including performance. It gives a detailed… | ||
| Java, Make Me Hurt! | Egor Ziborov | 41m |
Examples of surprising production failures in Java services, showing specific non-obvious bugs caught in production, how their root causes were investigated… | ||
| AutoML on Spark: The Myth That Became Reality | Nikolay Butakov, Aleksandr Ryzhkov | 47m |
A team presents LightAutoML, their AutoML system (1.3K GitHub stars, 150K+ PyPI downloads), and explains the challenges they faced when porting it to run on… | ||
| How to Build a Data Streaming Platform on Kafka | Andrey Serebryanskiy | 46m |
Covers building a Kafka-based data streaming platform: how to ingest data into Kafka from any source, handle schema evolution, and other developer pitfalls… | ||
| Debugging Production: No Re-deploys, No Downtime, No Risk | Artem Drozdov | 45m |
Explains challenges of debugging Java applications in production versus local debugging, comparing traditional log-and-reproduce methods and Hot Code… | ||
| When Not to Use ML | Aleksandr Nozik, Leonid Starikov, Kirill Tolkachev, Aleksey Samosyuk | 48m |
The talk examines what machine learning actually is and describes concrete situations where common ML solutions are not justified. It compares ML against… | ||
| Behind the Scenes of Java's Evolution: The Case of Pattern Matching | Oleg Estekhin | 44m |
A talk examines the evolution of Java language design by digging into JEPs and mailing-list discussions about pattern matching features introduced in Java 21… | ||
| Integrating a Spark ML Pipeline into a High-Load Low-Latency Recommendation Service | Ilya Malov | 35m |
The talk explains how to deploy a Spark ML Pipeline trained on large-cluster data into a high-throughput, low-latency online recommendation service. It focuses… | ||
| Observability Beyond the Three Pillars — Continuous Profiling With Alibaba Dragonwell | Sanhong Li | 50m |
Shows a production-grade continuous profiler built on JFR that runs via Java agent collectors and stores sampled profiles for aggregation, query and flame… | ||
| Building an App with ChatGPT | Andrey Kuleshov, Aleksey Stukalov, Andrey Kogun | 53m |
Three senior Java developers use ChatGPT to build a conference ticket-selling application, providing the model with a standard software development workflow… | ||
| Writing in Idiomatic Kotlin | Aleksandr Nozik | 50m |
The talk explains the difference between using Kotlin as a "better Java" versus writing Idiomatic Kotlin once you know the language well. It shows practical… | ||
| Off-heap Instead of Three JEPs | Dmitriy Pogorelov | 56m |
Discussion of using off-heap memory in Java as an alternative to three recent JEPs, presenting implementation recipes and ideas for effective use. Covers… | ||
| Wrapping Up the Online Part of Joker 2023 | Vladimir Krasilshchik, Andrey Dmitriev | 17m |
A wrap-up of the online portion of Joker 2023 that reviews highlights, recaps notable moments, and outlines future plans for the conference series. Hosts… | ||
| Opening of the offline part of Joker 2023 | Kirill Tolkachev, Aleksey Stukalov | 17m |
Announces the reopening of Joker 2023's in-person portion, outlines the conference schedule and sessions, and shares practical information for attendees. Hosts… | ||
| Java in Russia: from the very beginning to the present day | Vladimir Voskresenskiy, Aleksey Fedorov | 57m |
A retrospective on Java development in Russia, describing which parts of the Java platform and which Java technologies were created in Russia and by which… | ||
| Speeding up bulk inserts with Spring + PostgreSQL | Dmitriy Fatov | 44m |
Addresses slow bulk inserts into PostgreSQL when using Spring and shows concrete ways to speed them up, from simple configuration tweaks in Spring to custom… | ||
| Java as a better C | Dmitriy Zavalishin | 46m |
Claim: Java reproduces C code one-to-one and can replace it for real projects. Proof: a 300,000-line game written in assembly/C becomes a working pure Java… | ||
| Lilliput on the horizon | Maksim Degtyarev | 44m |
Lilliput (JEP 450) is presented as a JVM project aimed at reducing memory footprint; the talk explains concrete JVM engineering techniques used to save memory… | ||
| The surprising history of sorting development in the JDK | Vladimir Yaroslavskiy | 44m |
History of JDK sorting: explains how primitive-type sorting used classic single-pivot Quicksort until JDK 7 introduced the speaker-proposed Dual-Pivot… | ||
| Meanwhile in Kotlin: what happened over the last year | Andrey Kuleshov, Anzhelika Pokhodun | 45m |
Overview of recent Kotlin developments over the past year, focusing on the new K2 compiler: why Kotlin is being rewritten with K2 and the motivations for that… | ||
| How to write fast in Apache Ignite | Grigoriy Domozhirov | 45m |
The talk compares three different Apache Ignite APIs for writing data to the cache and shows that the recommended API is not always the fastest. It explains… | ||
| Batch select, coroutines and a million RPS | Aleksandr Matorin | 45m |
The talk examines techniques for performing batch SELECTs against relational databases (PostgreSQL used in examples) to achieve large throughput gains similar… | ||
| Warming up the JVM: CRaC and other tricks | Aleksandr Lantsov | 45m |
Covers JVM startup and warmup delays caused by JIT compilation and profiling, and compares solutions including manual warmup, AOT compilation, reusing JIT… | ||
| How XML processing leads to security issues: unpacking XXE | Sergey Vasilev | 47m |
Explains how XML processing can cause security issues, focusing on XML External Entity (XXE) vulnerabilities in Java contexts. Describes why XML handling leads… | ||
| A fault-tolerant finite-state machine in Java and SQL | Dmitriy Nekrylov | 47m |
A high-performance, mathematically correct finite-state machine implementation using Java and SQL to keep media conferences consistent when media servers fail… | ||
| pg_profile: a strategic PostgreSQL monitoring utility | Andrey Zubkov | 47m |
Presentation introduces the pg_profile (pgpro_pwr) PostgreSQL extensions for strategic monitoring, which collect quantitative data about the database’s most… | ||
| From SQL to Cassandra | Aleksandr Pashchenko | 45m |
VK migrated parts of its data layer from SQL to Apache Cassandra and explains why simply copying tables and swapping SQL for CQL doesn’t work. The talk shows… | ||
| An otherworldly language: non-literary Russian, speech acoustics and rap phonetics | Igor Isaev | 49m |
Examines changes in contemporary Russian through recordings from the 1930s and modern music (including rap) to analyze non-standard, colloquial Russian and… | ||
| Demystifying machine learning – from developer to ML engineer | Dmitriy Bugaychenko | 37m |
Overview of core concepts—data mining, machine learning, artificial intelligence, and big data—and basic ML principles illustrated with examples. Reviews… | ||
| Generating tests for Spring: what tests are made of | Denis Fokin, Egor Kulikov | 45m |
UnitTestBot, an automated test-generation tool for Java, was extended to handle Spring applications by teaching it unit-test and then integration-test… | ||
| Indexing in Ozon's search platform | Denis Gabaydulin | 52m |
Covers the design and implementation of Ozon’s document indexing subsystem for its search engine, explaining architecture choices that provided scalability and… | ||
| Is it true that Dubbo is like gRPC but from China? | Aleksandr Kozlov, Maksim Chudnovskiy | 45m |
Compares the RPC framework Dubbo to gRPC and questions whether alternatives to HTTP/gRPC should be used in production. Explains Dubbo’s architecture and… | ||
| Spring Security: the everyday and the non-obvious | Pavel Kislov | 41m |
A practical look at Spring Security using a home project to explore everyday setups and less-documented aspects. Covers configuring… | ||
| OpenAPI and how it can be applied to Kafka | Aleksandra Volushkova | 46m |
Shows how an API-First workflow can be applied to message-driven systems like Apache Kafka (and other brokers such as RabbitMQ, ActiveMQ) by providing: an… | ||
| IR JIT Framework: the base for the next generation of JIT in PHP | Dmitriy Stogov | 46m |
Describes an IR-based JIT framework being developed for PHP-9: PHP will emit an intermediate representation (IR) and a separate language-agnostic library will… | ||
| Java in a container: operational specifics | Aleksey Ragozin | 46m |
Covers running Java inside Linux containers, focusing on how JVM interacts with OS resource controls, cgroup limits and networking. Explains failure modes to… | ||
| Reactive for CRUD: fantasies and reality | Anton Kotov | 54m |
Comparison of approaches for implementing basic CRUD services in Java/Spring: traditional blocking Spring MVC/JDBC, reactive stack with Spring WebFlux and… | ||
| Maps, schemes and Compose | Aleksandr Nozik | 47m |
The talk examines using Compose Multiplatform (Compose for desktop/JS) to render maps and graphics using the maps-kt project… | ||
| Stream processing with Kafka in Big Data environments | Evgeniy Nenakhov | 50m |
Covers practical issues when running Apache Kafka consumers and producers in production for Big Data systems, naming Java as the implementation language… | ||
| State Machines (The Good, The Bad and The Ugly) | Darya Andreeva | 46m |
A Java-focused talk shows how a team implemented state machines for a Billing360 system using spring-state-machine, explains alternative approaches they could… | ||
| The Show Must Go On: Load and Optimization of an Online Conference | Vladimir Krasilshchik | 47m |
A team from JUG Ru Group built an online conference platform used for JPoint and Joker events and for external meetups, with a hard requirement to support… | ||
| Quantum Computing: Core Ideas and the Current State of the Technology | Stanislav Straupe | 01h 01m |
The talk explains foundational ideas behind quantum computing: computational complexity, which problem classes are hard for classical computers but amenable to… | ||
| Closing Ceremony of Joker 2023 | Aleksey Stukalov, Aleksey Fedorov | 11m |
A wrap-up of the Joker 2023 conference that reviews highlights, summarizes outcomes, and outlines future plans for the Java conference series. The session is… | ||
| nothing matches | ||