JCON EUROPE 2025
2025-05-12..2025-05-15
Cologne, Germany
[JCON Europe 2023, JCON EUROPE 2024, JCON EUROPE 2025, JCON EUROPE 2026]
| title | author | length |
|---|---|---|
| JCON EUROPE 2025 - Recap | 04m | |
Recap stitches together conference moments: short clips of keynotes summarizing Core Java and microservices trends, edited segments of coding magic showing… | ||
| Java's Ignored Potential: Supercharge Database Apps with Java In-Memory Process | Markus Kett | 32m |
Open-source Eclipse Store and Eclipse Serializer provide byte‑level persistence of arbitrary Java object graphs (JDK 11+), an ACID on‑disk binary format, and… | ||
| Happy Birthday, Java! | Sharat Chander | 46m |
Marks Java’s 30-year arc from a 1992 “Project Oak” prototype (an interactive set‑top box that fails with Time Warner) to a web success via Mosaic/Netscape… | ||
| Rethinking Microservice Persistence: Beyond the Database Monolith | Markus Kett, Mark Stoodley | 40m |
Argues that a Java-native persistence layer removes the “database black hole” by storing and querying live object graphs in memory with Eclipse Store and the… | ||
| History of Java UI Development: Live. Die. Repeat. | Lofi Dewanto, Ingo Düppe | 52m |
A concise history traces Java UI from AWT/Swing and SWT to JavaFX and desktop-first tools, then server-side JSP/Servlet, Struts/WebWork/JSF, component… | ||
| The Record: Migrate to Immutability | Johan Hutting | 13m |
Records replace POJOs with a one-line immutable carrier that gives a canonical constructor, getters (no get prefix), toString/hashCode/equals for free, and can… | ||
| On Being A Senior Engineer – Am I Already There? | Konstantin Diener | 49m |
Argues that “senior engineer” is misleading and proposes mature engineer as a measurable role: reduces complexity, makes assumptions explicit, teaches and… | ||
| Infrastructure as Code Done Right: Discovering and Fixing Common Missteps | Jonathan Vila | 36m |
Cloud infrastructure code suffers from real, measurable mistakes: Sonar telemetry finds 1,500,000 hardcoded keys in IaC files, common misconfigurations expose… | ||
| Duke on CRaC with Jakarta EE | Ivar Grimstad, Rustam Mehmandarov | 52m |
Demonstration shows Coordinated Restore at Checkpoint (CRaC) cutting Jakarta EE app cold-starts by roughly 70–75% for the Helidon example, from ~1.4s to… | ||
| Algebraic Data Types + Pattern Matching = Elegant and readable Java code | Balkrishna Rawool | 40m |
Builds a working cryptarithmetic solver for SEND + MORE = MONEY using Java’s Project Amber features, implementing expressions as a sealed Expression hierarchy… | ||
| Platform Engineering 101: Building Developer Platforms | Grace Jansen, Maarten Vandeperre | 43m |
Shows a working Internal Developer Platform built on OpenShift with Red Hat Developer Hub (Backstage downstream), using Tekton, GitLab/Jenkins, Quay, DevSpaces… | ||
| Caching Unleashed: Supercharge Your Database Application | Markus Kett | 45m |
MicroStream’s open-source Eclipse Store and Eclipse Serializer implement a Java in‑memory caching layer that serializes full object graphs to disk with one… | ||
| Java Meets AI: Empowering Developers to Build Intelligent Apps | Timo Salm, Sandra Ahlgrimm | 51m |
Recipe finder implemented three times using LangChain4j, Spring AI and Semantic Kernel connects GPT‑4 / Azure OpenAI / Ollama, ingests PDF recipes, builds… | ||
| Legal JVM Doping in Your Containers | Dmitry Chuyko | 47m |
Uses concrete tweaks and tools to speed Java containers: switch bloated base images and fat jars to layered buildpacks, set heapPercent=80, prefer classpath… | ||
| Securing LLM Applications: Overcoming Security & Privacy Challenges | Lize Raes, Brian Vermeer | 45m |
Demonstrates concrete attacks and fixes: attackers use Burp Suite and path traversal to upload a modified terms document that injects a secret word vroom… | ||
| AI Tools for Jakarta EE | Gaurav Gupta | 46m |
Shows an AI workflow that actually scaffolds Jakarta EE 8.1 apps end-to-end: ParStarter web ER diagram generator creates and expands a conference ER model and… | ||
| Spoiled For Choice: Limit Your Options | Merlin Bögershausen | 19m |
Argues that consolidating libraries cuts security and maintenance pain by applying OpenRewrite migration recipes to real code bases, not slides. Shows… | ||
| Mastering Resilient Java API Design: From Principles to Practice | Steve Poole | 44m |
Claims that Maven Central shows semantic versioning often fails because bugfix, minor and major bumps break consumers at the same rate, demonstrates that… | ||
| Kotlin Multiplatform's Cross-Platform at Norway's 377-Year-Old Postal Service | Anshika Koul | 24m |
Posten Bring extracts hundreds of fragmented business rules from legacy services into a shared Kotlin Multiplatform library that compiles to a JVM artifact for… | ||
| The Simplest Way to Build Resilient Applications | Giselle van Dongen | 44m |
Concrete claim: durable execution removes glue code by persisting an execution log so retries replay deterministically and side effects aren’t repeated. Live… | ||
| Building AI Powered Applications with Java | Andres Almiray | 48m |
Shows how to build RAG pipelines with Spring AI and LangChain4j connecting to OpenAI (GPT‑4o/4‑mini) for chat, but warns about real issues: wrong parser breaks… | ||
| All you need to know about Maven 4! | Matthias Bünger | 46m |
Maven 4 requires Java 17 to run while still compiling older target JDKs, and removes the old Plexus resolver; the plugin API is redesigned so unmaintained… | ||
| Coaching Models for Technical Agile Coaching | Thomas Much | 48m |
Argues that technical agile coaching drives change by emphasizing concrete practices (TDD, refactoring, approval tests for legacy code) and using explicit… | ||
| Validating LLMs – A True Story | Emily Jiang | 47m |
Built an automated validation framework that feeds hundreds of thousands of Java test cases into a code assistant and scores outputs weekly, combining Watson X… | ||
| The Universe, The (Hello) World and Uranus | Edoardo Carlesi | 22m |
Starts in computational cosmology running C/C++ with MPI and OpenMP on HPC to evolve billions of particles, terabytes of output into galaxy-scale structure… | ||
| Lesson learned from Java modules and Robo4j | Miro Wengner | 45m |
Robo4j and Pi4J are fully modularized so the build uses the module path and jlink to produce tiny deterministic JVM images; the project runs on multiple… | ||
| Asynchronous Job Processing in Java with JobRunr | Ko Turk | 46m |
JobRunr is a lightweight Java library that offloads long-running tasks to background workers using Postgres (or MongoDB) persistence and a Spring Boot starter… | ||
| Spring Tools Live - All the Great New Things | Martin Lippert | 47m |
Spring Tools for VS Code and Eclipse shows concrete features: automated OpenRewrite upgrades that edit pom, move javax to jakarta, and bump Java to 17 (works… | ||
| Recalibrate - How AI shakes up software team | Sven Peters | 46m |
AI moves from autocomplete to running targeted agents that actually change workflows: Atlassian measures 51 minutes saved per day with simple copilots vs 105… | ||
| Comparing Java startup performance options with Quarkus | Mark Stoodley | 49m |
Compares concrete options: HotSpot vs OpenJ9, AppCDS and JDK24 AOT class linking, OpenJ9 shared classes cache, CRaC checkpoint/restore, remote JIT (JIT… | ||
| Doctor and Patient in the Fediverse of Madness | Werner Keil | 20m |
Claims mass migration: over 50% migration of scientists from X/Twitter to Mastodon, with a global study saying around 40% of scientists face harassment… | ||
| Develop Domain-Driven based Backends with EclipseStore | Miroslav Grgić | 49m |
A small hotel-booking backend uses EclipseStore to persist the live Java object graph as a file-backed, in-process store; the demo shows domain entities… | ||
| JDK LTS Release Use Cases: When is a Java migration advisable? | Wolfgang Weigend | 49m |
Migration path from JDK 8 up to JDK 21/24 is practical and tool-driven: run the app on the target JDK without recompiling, update third‑party libs, run JDEPS… | ||
| Collaboration Quantified: Lessons from Open Source Developer Networks | Dmitry Yanter | 48m |
Analyzes ~500k Jira artifacts across ~42 open-source projects using Python to build interaction graphs with a gravity layout and finds a persistent core… | ||
| A Guide to the Shell Galaxy | Sandra Parsick | 47m |
Overview of a usable shell setup that actually saves time: picks a fast terminal (ghosty or console/Tedix alternatives), chooses zsh with oh my zsh plus… | ||
| Modernising J-Unit with Test Data Generators | Parichay Banerjee | 24m |
Shows how to replace brittle fixtures with three concrete tools and concrete numbers: DataFaker creates localeed realistic data with 250+ providers and powered… | ||
| Java in the Green Cloud: Eco-Friendly Development with Kubernetes | Aicha Laafia | 23m |
Practical steps for greener Java: upgrade to GDK 21 to get J1 GC by default or try ZGC/Chinandua, enable GC logs and tune G1 GC pause settings to cut a real… | ||
| Setting Up Data Driven Tests with Java Tools | Andres Almiray | 46m |
Shows how to provision a real DB per test with Testcontainers, seed and assert state with DBUnit or Database Rider, and run JUnit 5 tests that insert customers… | ||
| Eating Lettuce with a spoon of Redis: Java apps with Spring at in-memory speed | David Maier | 45m |
Lettuce is a production-ready Java Redis client that targets asynchronous and reactive workloads, built on Netty channels and pipeline and exposing both async… | ||
| Familiar Tools in Unknown Territory: GenAI with SpringAI & Testcontainers | Kevin Wittek | 48m |
Shows how to build a GenAI JVM app using SpringAI for LLM wiring, PostgreSQL + PGVector as a vector store for RAG, and Testcontainers to spin up Postgres, an… | ||
| From Bugs to Brilliance: Testing Toolbox in Action | Francois Martin | 47m |
Demos show concrete, usable tools and working code: fluent assertions with AssertJ produce readable failure output that pinpoints a missing “h”, async polling… | ||
| Java developer-friendly frontends: Build UIs without the JavaScript hassle | Jago de Vreede | 44m |
Builds the same internal "meme" UI three ways and shows which actually speeds delivery: Vaadin Flow: 100% Java full‑stack, wired into Spring/Quarkus with grid… | ||
| Practical AI in Java | Marcus Hellberg | 49m |
Shows concrete Java patterns using Spring AI + Vaadin with Apache Tika for PDF/image parsing and PGVector for embeddings. Demonstrates streaming responses as a… | ||
| Can We Measure Developer Productivity? | Eberhard Wolff | 47m |
Asserts that productivity is measurable but only useful when tied to purpose and owned by teams, not used for performance reviews; recommends the DORA four… | ||
| We Hate Code - The !joy of Maintaining Dead Code | Gerrit Grunwald | 37m |
Claims that large Java codebases contain massive unused logic surface up: one customer measures 70% unused and personal testing finds only 37% used; industry… | ||
| Advanced "Java 101" | Nicolai Parlog | 45m |
A practical path for beginners: start on dev.java/playground (browser-run, no persistence), then move to a local JDK and editor, use JShell for quick… | ||
| From Zero to Secured: Jakarta REST with MicroProfile and JWT Authentication | Hanno Embregts | 49m |
Live-coding builds a full‑stack Jakarta EE REST app with Open Liberty, JAX‑RS, JPA, MicroProfile and an Angular frontend; a public endpoint returns… | ||
| Designing Great Java In-Memory Object Models | Florian Habermann | 41m |
Practical rules for Java object models: prefer composition over inheritance, favor immutable objects where possible, encapsulate invariants, and place behavior… | ||
| Project Valhalla: Flat Value Types in Java | Cay Horstmann | 51m |
Project Valhalla adds a new value modifier so small data classes flatten like primitives, removing per-instance heap headers; a 100M-point Brownian demo shows… | ||
| Value Objects - The Next Big Thing in Java | Falk Sippach | 47m |
Explains that Project Valhalla brings value classes that behave like primitives but support methods and interfaces, showing memory math: a Point object costs… | ||
| Gold-Filling Gaps: How to Create a Thriving Team Through Kintsugi Principles | Polina Patsulda | 19m |
Compares two concrete repair paths: rapid replacement and outsourced hiring that fills seats in days but leaves teams stuck between forming, storming and… | ||
| wAIred! Learn With(out) AI | Simone de Gijt | 22m |
Claims research: AI cuts the performance gap (bottom-half scores rise ~43% vs top ~17%, gap shrinks from ~22% to ~4%) but long‑term retention can suffer if… | ||
| Breaking AI: Live Coding and Hacking Applications with Generative AI | Micah Silverman | 44m |
Live codes a Spring Boot + Spring Security + Thymeleaf app using Copilot and ChatGPT, produces working endpoints that initially contain glaring flaws, and… | ||
| hello-ebpf: Writing eBPF Programs Directly in Java | Johannes Bechberger | 40m |
hello-ebpf Java library lets eBPF programs be written in Java by compiling a restricted Java subset to C with a Maven compiler plugin (~4–5k lines), using… | ||
| Virtual Threads, Structured Concurrency, Extent Locals: When to Use Them & How | Cay Horstmann | 50m |
Virtual threads run on platform carrier threads so blocking calls become cheap and throughput jumps — a 1,000-sleep request demo finishes in ~1s on virtual… | ||
| Slack like a pro: strategies for 10x engineering teams | Nacho Cougil | 45m |
Practical Slack rules and configs that actually reduce interruptions: noise management (tweak notifications, VIP lists, calendar-driven status), workspace… | ||
| From CLIs to LLMs: 5 Cool Applications to Build with GraalVM | Alina Yurenko | 47m |
Five concrete builds: a tiny CLI using Spring Shell (Picocli recommended) that starts in ~58 ms; a full‑stack Vaadin travel recommender using Spring AI and… | ||
| Make Monitoring Easy for your Java Apps | Syed Usman Ahmad | 26m |
Live demo shows a Java Open-Xchange email app instrumented with an OpenTelemetry Java agent and run from a Docker LGTM repo, shipping metrics to Prometheus… | ||
| All in on Java: Web Development with EclipseStore & Vaadin | Matti Tahvonen, Florian Habermann | 51m |
Claims that a full-stack Java stack using EclipseStore for persistence and Vaadin for UI removes the need for SQL, JavaScript, HTML, CSS and XML and keeps… | ||
| Black Friday Brilliance: Managing a Billion Transactions with Tech, Tactics | Jamie Coleman | 46m |
Loqate handles over 1 billion BFCM API requests with >99.99% uptime by combining Kubernetes and VMs, manual pre-scaling, and a caching layer; load tests run in… | ||
| Code, Confidence & Conquering Self-Doubt: Breaking Impostor Syndrome in Tech | Vincent Mayers | 30m |
Claims that impostor syndrome is universal and manageable and ties it to concrete neuroscience: amygdala triggers adrenaline and cortisol producing… | ||
| Migrating From Java EE - to SpringBoot Or Something Else? | Ondro Mihályi | 48m |
Survey shows ~50% of installs still on WebLogic/WebSphere and many projects stuck on Java EE7/8; migrations routinely take far longer than planned (six‑month… | ||
| Build ChatGPT RAG Data Pipeline with RisingWave Stream Processor & Vector Store | Mary Grygleski | 49m |
Builds a real-time RAG pipeline that wires Kafka -> RisingWave stream processor -> Postgres with PGVector, using OpenAI embeddings and PgVector embeddings… | ||
| Technical Enshittification: Why Everything is Horrible and How to Fix It | Baruch Sadogursky | 53m |
Companies ship broken products because of rigid deadlines, huge technical debt, and bad org decisions, not because features are hard. Examples: Sonos new app… | ||
| A design pattern goes to the supermarket | Kaya Weers | 41m |
Groceries become concrete examples: a paper list encapsulates requests as a Command allowing queuing and decoupling; an email signup at an empty shelf… | ||
| Understanding Buildpacks: A Deep Dive Into Their Functionality | Patrick Baumgartner | 47m |
Explains how the Cloud Native Buildpacks lifecycle binary and the pack CLI (or Maven/Gradle plugins) convert source into OCI images by running… | ||
| Eleventh Time's the Charm - From J2EE to Jakarta 11 | Dirk Weil | 43m |
A 1999-era EJB app is packaged unchanged and runs on WildFly 26 and on a modern WildFly/OpenLiberty Jakarta EE 11 server, proving practical backward… | ||
| Why Bad Code Quality Is Not (Only) Your Fault | Annelore Egger | 47m |
A business-logic cleanup uncovers duplicated start/stop rules in a delivery-tracking system so that identical location updates are often sent twice… | ||
| Modern Java - Ask Me Anything | Nicolai Parlog, Ana-Maria Mihalceanu | 48m |
Covers why JEP 468 delayed — record “with” was pushed back because deconstruction/reconstruction must fit object-level designs too — and why EC private key… | ||
| Strengthening Java Apps: Best Practices in Secure Coding for Java Developers | Sven Ruppert | 46m |
Covers concrete risks and defenses: shows how dependency confusion and typosquatting let external jars slip into Maven builds (CI, Jenkins, Docker, SBOMs)… | ||
| How I Solved Production Issues with OpenTelemetry (And How You Can Too) | Cees Bos | 47m |
Uses OpenTelemetry Java agent and the collector plus Grafana/Loki to debug real production failures without changing code: discovers containers growing to ~8… | ||
| Software Developers Changed Everything - We Can Be Proud of Ourselves! | Carola Lilienthal | 43m |
Software developers claim concrete wins: they build JUnit in 1991 to catch bugs early, drive the Agile turn around the 2001 manifesto to shorten feedback… | ||
| Stream Gatherers | Karl Heinz Marbaise | 45m |
Stream gatherers, now in JDK 24 via the JEPs mentioned, let you implement real intermediate operations by supplying an initializer integrator finisher trio so… | ||
| AI-Powered Form Wizards: Chat, Click, Done | Loïc Magnette | 47m |
Prototype shows an AI form helper that converts chat into validated form data, using LangChain4j and Quarkus with a pgvector-backed RAG pipeline, Java bean… | ||
| Distributed EclipseStore Applications and Microservices on Kubernetes | Christian Kuemmel | 48m |
EcliseStore runs as an in-memory Java persistence layer and is converted to a clustered service (MECS) that replaces the embedded storage manager with a… | ||
| Wat? That’s Possible in Java? | Michael Vitz | 21m |
Live demos show concrete surprises: Integer cache via reflection lets code rewrite cached wrapper values (newer JDKs require module opens), a sneaky throw… | ||
| Return of the Full-Stack Developer | Simon Martinelli | 42m |
Argues that full‑stack web work speeds feature delivery by removing front/back handoffs, using concrete examples: Vaadin, Spring Boot with JTE, Quarkus + Qute… | ||
| Take the Polar Plunge: A Fearless Introduction to Apache Iceberg™ | Danica Fine | 46m |
Introduces Apache Iceberg as an open table format that adds a metadata layer (manifest files, manifest lists, metadata file) on object storage to get ACID… | ||
| Tales from the Dev Side: What Went Wrong, What We Fixe & What You Can Steal | Johannes Rabauer | 47m |
Teams standardize on a git host, issue tracker and wiki, adopt a git feature-branch workflow with peer-reviewed PRs, and enforce formatting with an IDE or CI… | ||
| Modern Web Development with Java and Vaadin - From Fundamentals to Pro | Sami Ekblad | 52m |
Shows how to build rich web UIs entirely in Java with Vaadin, starting from a one-class Hello World that uses server-side event handling and boots on Spring or… | ||
| From ChatGPT User to RAG Implementer: A Developer's Journey | Pasha Finkelshteyn | 45m |
A working RAG pipeline that indexes HTML docs into embeddings, stores them in PostgreSQL with pgvector, and answers queries via an LLM is implemented as a… | ||
| Java Made the Impossible Possible! Building Apps for the Education System | Stefan Böhringer | 20m |
A university team of five builds Eddipuls, an open‑source screening and training platform for Bavarian schools using Java with Quarkus + Jakarta EE, Keycloak… | ||
| TDD: Test-Driven Development vs TAB-Driven Development | Marit van Dijk | 43m |
Experiments use JetBrains AI Assistant and the coding agent Juny to follow TDD by writing tests first and asking the agent to implement code; simple exercises… | ||
| Developer Productivity Engineering at CERN | Cristian Schuszter | 46m |
CERN’s business computing group standardizes JVM projects for 80+ developers using templates, GitLab components, Vault for secrets and Argo CD for deployments… | ||
| Automated Accessibility Testing | Anna Maier | 35m |
Automated scanners like axe or Lighthouse catch the easy problems but only cover about 20–30% of WCAG issues (vendors quote 57% by issue count; experts measure… | ||
| Unit Test Your Java Architecture With ArchUnit | Roland Weisleder | 45m |
ArchUnit is used to analyzes Java bytecode and enforce concrete rules: controllers annotated with @Controller must have names ending with Controller, owner and… | ||
| Braving the Change: Recalibrating to New Realities | Tom Cools | 41m |
Students produce more code output when handed LLMs, and quality improves only when models are used as tutors; comprehension falls when code is copy‑pasted… | ||
| SBOMs Are Not Enough | Brian Demers | 46m |
SBOMs list components but often miss the build context that matters: CI plugins, compiler and annotation‑processor versions, test‑scope dependencies, and which… | ||
| Magical Beans and Mystery | Timo Salm | 49m |
Quick, concrete tour of Spring fundamentals: shows an example recipe service implemented three ways (XML, Java config, Spring Boot starter), runs via Gradle… | ||
| public static void main 🎶 | Marit van Dijk, Hanno Embregts | 19m |
Live pop-quiz converts public static void main into lyrics for 15 songs found by scanning the top 2,000 tracks, with live guitar, screencast timing edits and a… | ||
| Escape from Legacy Hell: A Java App Cloud Transformation | Lucas Stramandinoli, Tino Reichardt | 51m |
A monolithic Java enterprise app with 2.5M+ LOC and 600k motor records moves from WebSphere/RMI and an Eclipse RCP rich client to Liberty, Vaadin front end… | ||
| nothing matches | ||