/images/talkbanner.jpg#center

Talks

Welcome to my page dedicated to my conference talks! As a passionate Java developer, author, and blogger, I am committed to not only sharing my knowledge and insights on Java through my writing but also in person through my engaging and informative talks. I truly enjoy connecting with attendees and sharing my passion for Java with others in the community. Here, you will find a comprehensive list of all the talks I have given at various conferences, covering a range of topics related to Java and its ecosystem. Whether you are an experienced developer or just starting out, I am confident you will find something of value here. So, dive in and discover my passion for Java in action!

If you have any questions after watching one of my talks, feel free to reach out to me and I will do my best to answer any question you have.

Introduction and pitfalls of Java's new concurrency model

Java 21 releases one of the most anticipated features, virtual threads, and previews structured concurrency. It rethinks the way multithreading works in Java. It was born out of the idea that reactive Java is too complicated and blocking threads has to be cheap. Resulting in the new virtual threads that we run thousands of!

The aim of virtual threads and structured concurrency is to have high-throughput lightweight threads and new programming models on the Java platform. In this talk, I will demonstrate virtual threads and how to create and manage them using structured concurrency. Furthermore, I'll provide some practical advice to avoid pitfalls when you start using virtual threads in your application.

You can find the slides here.

ConferenceDateVideo
DEVWorld2024Youtube
W-JAX Munich2023
University of Bergen2023
GeeCon2023Youtube
JAX London2023
WeAreDevelopers Live2023wearedevelopers
Copenhagen Developers Festival2023Youtube
JavaZone2023Vimeo
Voxxed days luxembourg2023YouTube
JCON EUROPE2023Youtube
JCON OpenBlend Slovenia2023
JPrime2023YouTube
Voxxed days Brussel2023YouTube
GeeCON Kraków2023YouTube
JavaLand2023
GeeCON Prague2022YouTube

Workshop: Build a web scraper based on virtual threads

Java 21 releases virtual threads into the wild! During this lab, you are going to build a web scraper that shows you the power of these new threads!

You will be guided through the step-by-step process of developing a web scraper that uses virtual threads, structured concurrency, and scoped values. You will learn how to leverage the advantages of virtual threads to efficiently retrieve and process data from lots of web pages simultaneously.

During the workshop, you may also be led astray so that you can also see when virtual threads don't work and how you can configure and debug them.

ConferenceDate
JNation2024
JPrime2024
JFokus2024
JFall2023

Project Panama in Action: Building a File System

Discover the potential of Project Panama as we explore building custom file systems entirely in Java. This hands-on session will guide you through creating a filesystem from scratch. Learn how to leverage native interoperability to interact with the operating system without sacrificing Java's elegance and productivity. By the end of this session, you'll have a solid understanding of Project Panama's capabilities and be equipped to build your own tailored file system.

ConferenceDate
Devoxx BE2024YouTube
JFall (ignite)2024
JavaLand2025

Virtual Threads: Taming the Wild Multithreading Beast

Virtual threads are a game-changer, but real-world use can be tricky. In this session, I will tell you about my experience of using Virtual threads in real-world applications and the challenges I faced like performance issues, out-of-memory exceptions, and deadlocks. More importantly, you'll learn how Project Loom's features, such as scoped values and structured concurrency, can help you navigate these challenges and build robust, efficient multithreaded applications.

ConferenceDateVideo
JNation2024Youtube

Writing clean tests

How am I ever going to test this method? If you are like me, you probably asked yourself this question far too often. Because a method forces you to create an enormous test case, have lots of setup code, or worse, change production code to facilitate testing.

So, what if we could write loosely coupled tests? What if our tests are clear, show intent and are fun to write? With Junit5 and Mockito you can write those tests. These tools offer many features that help you write tests but are rarely used. In this talk, I will demonstrate how to test an application with zero test coverage, hard-to-test production code, and lots of edge cases. Furthermore, I'll provide some practical advice to improve your tests and make them easier and more fun.

ConferenceDateVideo

Scoped Values in Java 20

My colleague Ron Veen and I co-presented a talk that he created. He is a great java developer with over 20 years of experience.

Together we gave a talk about Scoped values and virtual threads for the Polish Java user group.

ConferenceDateVideo
Polish Java user group2023