Maven 4 is approaching its release, bringing many improvements to the build tool powering millions of Java projects.
In this Foojay Podcast episode, we talk about Apache Maven 4, a significant milestone that has been years in the making. Maven has been the backbone of Java dependency management and build automation since the early 2000s; however, the road to version 4 has been a long and deliberate one. With significant performance improvements, a modernized API for plugin developers, and changes that affect how we think about project structure, Maven 4 represents both an evolution and a revolution. What does this mean for the millions of developers who depend on Maven daily? How should teams prepare for the transition? And what's the story behind the Maven Central Repository changes that have been making headlines? To answer these questions and more, we're joined by a few of the many contributors who are actually building Maven 4 and stewarding its ecosystem.
Guests
Hervé Boutemy
https://www.linkedin.com/in/hboutemy/
Guillaume Nodet
https://www.linkedin.com/in/guillaumenodet/
Maarten Mulders
https://www.linkedin.com/in/mthmulders/
Content
00:00 Introduction of the topic and guests
04:23 Status of Maven 4 release
https://maven.apache.org/whatsnewinmaven4.html
https://maven.apache.org/guides/mini/guide-migration-to-mvn4.html
07:57 Why we needed a new Maven version
https://maarten.mulders.it/2020/11/whats-new-in-maven-4/
https://maarten.mulders.it/2021/03/introduction-to-maven-toolchains/
https://www.javaadvent.com/2021/12/from-maven-3-to-maven-5.html
12:37 You can already start using Maven 4
14:35 Some benefits of switching to Maven 4
18:52 Changes in the pom file, and yes, still XML
20:30 Changes for Maven plugin developers and integrators
22:24 Changes for Maven users, for instance, the need for Java 17
28:34 Maven The Tool versus Maven The Repository
34:51 Reasons for the change in authentication for uploads to Maven Central
36:01 The one and only Maven Central URL to use
https://central.sonatype.com/
38:04 About the very first "server" hosting the Maven repository
40:32 The importance of setting up your own caching repository
https://www.sonatype.com/blog/maven-central-and-the-tragedy-of-the-commons
https://openssf.org/blog/2025/09/23/open-infrastructure-is-not-free-a-joint-statement-on-sustainable-stewardship/
https://www.youtube.com/watch?v=t74ClffSUW0
44:04 The relationship between POM, BOM, BOM-POM , and SBOM
49:43 Gradle versus Maven
57:54 How to contribute to Maven or any other open-source project, and how to get the support of your company to do so
01:05:23 How to upgrade your projects from Maven 3 to 4
https://maven.apache.org/tools/mvnup.html
This is part 2 of the interviews recorded on September 19th, 2025, at the first AI4Devs Conference (https://amsterdam.ai4devs.io/) in Amsterdam. In Part 1, we explored many AI-related topics as libraries, security, infrastructure, use cases, and more. In this second part, we'll dive into data science, tools for better AI development, Java in the cloud, and get a behind-the-scenes look at how the conference came together.
I also asked these guests the same opening question: 'What's your name, and what brings you to this conference?'
00:00 Introduction
00:43 Eileen Kapel
Data Scientist, building an evaluating a model, taking the enduser into account
https://www.linkedin.com/in/eileenkapel/
06:13 Jonathan Ellis and Ryan Svihla
Coding with AI with Brokk, AI-native code platform, Java language improvements while keeping stability
https://www.linkedin.com/in/jbellis/
https://www.linkedin.com/in/ryan-svihla-096752182/
https://brokk.ai/
https://foojay.io/today/indexing-all-of-wikipedia-on-a-laptop/
16:24 David Parry
Qodo, AI developer tools, empowering engineering teams to standardize code quality and move fast with AI
https://www.linkedin.com/in/daviddryparry/
https://www.qodo.ai/
28:46 Alessandro Stefouli-Vozza
Java in the cloud, Impact of our job on the environment and our future, Green Software Foundation, Dutch Cloud Native meetup and conference
https://www.linkedin.com/in/alessandrovozza/
https://cloudnative.amsterdam/
https://greensoftware.foundation/
Article by Miro about energy usage: https://foojay.io/today/research-measuring-energy-consumption-in-programming-languages-for-ai-applications/
35:02 Sushant Shekhar
Using Java and AI, Moved from Java to other languages and back, Building your own models versus tweaking
https://www.linkedin.com/in/sushant-shekhar-2b43ba17/
39:09 Arno Koehler
Organisator, Ai code experiments versus production use, Schiphol POC, Kotlin versus Java versus Scala, The power of the JVM
https://www.linkedin.com/in/arnokoehler/
45:37 Joost Kaan
About organizing the conference, Python and Java driving AI forward
https://www.linkedin.com/in/joost-kaan/
50:45 Coen de Waal, Samantha Burattini, and Luis San Martin
Conference sponsor, Use of AI in a banking environment
https://www.linkedin.com/in/coen-de-waal/
https://www.linkedin.com/in/samantha-burattini/
54:51 Nahir Vila
Student, How the youth is using AI
57:33 Jonathan Vila
AI4Devs Organizer, How the conference started and a lookback at the end of the day, How AI can be used when writing articles
https://www.linkedin.com/in/jonathanvila/
01:05:58 Outro
On September 19th, 2025, the first AI4Devs conference (https://amsterdam.ai4devs.io/) took place in Amsterdam. I grabbed my camera and microphone to talk with speakers and attendees about the revolution in AI-powered coding and application development. In this first part, we'll explore Spring libraries, security, infrastructure and scaling, real-world use cases, event streaming, JetBrains tools, and more...
I asked all my guests the same opening question: 'What's your name, and what brings you to this conference?' Let's get started!
00:00 Introduction
00:44 Christian Tzolov and Josh Long
Spring AI, Spring MCP, Spring Security
https://www.linkedin.com/in/joshlong/
https://www.linkedin.com/in/tzolov/
17:07 Brian Vermeer
AI and security and the responsibility of the developer
https://www.linkedin.com/in/brianvermeer/
27:57 Camille Nigon and Maarten Vandeperre
Quarkus, Scaling AI applications, the cost of using LLMs
https://www.linkedin.com/in/camille-nigon/
https://www.linkedin.com/in/maarten-vandeperre/
36:15 Luca Berton
Infrastructure for AI applications
https://www.linkedin.com/in/lucaberton/
https://www.youtube.com/@BertonLuca
41:15 Soham Dasgupta
Real life AI use cases
https://www.linkedin.com/in/dasguptasoham/
https://github.com/marketplace?type=models
48:03 Mary Grygleski
Event driven agents to handle complex flows
https://www.linkedin.com/in/mary-grygleski/
55:04 Anton Arhipov
Java and Kotlin at JetBrains, Junie AI
https://www.linkedin.com/in/antonarhipov/
01:06:07 Outro
Episode 78 of the Foojay Podcast. All info, show notes, and links are available at https://foojay.io/today/category/podcast/.
We're excited to present the first episode of the Foojay Podcast's fifth season, marking the release of OpenJDK 25!
For the first time, an OpenJDK release is aligned with the year, and we can welcome release 25 in 2025. As usual in the release podcast, I have my regular guest, Simon Ritter. And in this episode, we are joined by Balkrishna Rawool to talk about all the new features in this new OpenJDK version.
Guests
Simon Ritter
https://www.linkedin.com/in/siritter/
Balkrishna Rawool
https://www.linkedin.com/in/balkrishnarawool/
Content
00:00 Introduction of topic and guests
01:21 How important is release 25 and upgrading your runtimes?
https://jdk.java.net/25/
06:00 Process of releasing a new OpenJDK version and looking forward to version 26
08:16 What are JEPs and OpenJDK projects
09:20 Project Leyden
https://openjdk.org/projects/leyden/
JEP 514: Ahead-of-Time Command-Line Ergonomics
https://openjdk.org/jeps/514
JEP 515: Ahead-of-Time Method Profiling
https://openjdk.org/jeps/515
11:28 Leyden compared to other solutions
16:21 Project Valhalla
https://openjdk.org/projects/valhalla/
17:06 JEP 519: Compact Object Headers
https://openjdk.org/jeps/519
17:40 JEP 508: Vector API (Tenth Incubator)
https://openjdk.org/jeps/508
18:58 Why Vector API is taking a long time to get finalized
21:04 JEP 502: Stable (Immutable) Values
https://openjdk.org/jeps/502
23:17 Project Loom
https://openjdk.org/projects/loom/
23:30 JEP 506: Scoped Values
https://openjdk.org/jeps/506
24:13 JEP 505: Structured Concurrency (Fifth Preview)
https://openjdk.org/jeps/505
29:22 How Java evolved over 30 years
33:34 Project Amber
https://openjdk.org/projects/amber/
34:28 JEP 507: Primitive Types in Patterns, instanceof, and switch (Third Preview)
https://openjdk.org/jeps/507
35:59 JEP 512: Compact Source Files and Instance Main Methods
https://openjdk.org/jeps/512
37:36 JEP 511: Module Import Declarations
https://openjdk.org/jeps/511
38:36 JEP 513: Flexible Constructor Bodies
https://openjdk.org/jeps/513
39:12 What's next in Project Amber
43:25 What you can learn from JEPs, OpenJDK projects, and mailing lists
44:21 JEP 521: Generational Shenandoah
https://openjdk.org/jeps/521
Trash Talk by Gerrit Grunwald
https://www.youtube.com/watch?v=xlwDe-hlSdI
48:16 JEP 510: Key Derivation Function API
https://openjdk.org/jeps/510
49:30 JEP 470: PEM Encodings of Cryptographic Objects (Preview)
https://openjdk.org/jeps/470
51:28 About Java Flight Recorder
52:27 JEP 509: JFR CPU-Time Profiling (Experimental)
https://openjdk.org/jeps/509
52:44 JEP 518: JFR Cooperative Sampling
https://openjdk.org/jeps/518
53:15 JEP 520: JFR Method Timing & Tracing
https://openjdk.org/jeps/520
53:38 More about JFR and comparing with GC logs
57:04 JEP 503: Remove the 32-bit x86 Port
https://openjdk.org/jeps/503
58:54 Looking forward to the following versions
01:00:58 Conclusion
This is the first Foojay podcast in Spanish. It's also the shortest one and the final of season 4 ;-) Jonathan Vila "highjacked" the microphone from Geertjan Wielenga (See episode 76, https://foojay.io/today/foojay-podcast-76-devbcn-report-part-1-learn-from-the-community/) during the DevBcn conference in Barcelona and interviewed a few of the participants for this first Spanish-only edition of the podcast.
Stay tuned and subscribe to the podcast in your favorite app or on YouTube. We're taking a short break and will be back in September with the launch of Java 25!
00:00 Introduction
00:39 Marlene Maldonado, DevBcn Organization
https://www.linkedin.com/in/marlene-maldonado-de-s%C3%A1
02:10 Barbara Teruggi, Speaker, Threat Modelling
https://www.linkedin.com/in/barbara-teruggi/
05:04 Santiago Rincon, CFP Member and Attendee
https://www.linkedin.com/in/santiago-rincon-martinez
07:56 Marlene Maldonado, Vicente Soriano, Volunteers
https://www.linkedin.com/in/visomar
https://www.linkedin.com/in/marlene-maldonado-de-s%C3%A1
10:25 Alvaro Navarro, Speaker, API Design
https://www.linkedin.com/in/anavarro
12:37 Vicente Cabanes, Sponsor, Grupo Castilla
https://www.linkedin.com/in/vicente-cabanes/
In early July, the DevBcn conference in Barcelona featured a diverse lineup of speakers, covering topics across multiple technology domains. Geertjan Wielenga took the camera and microphone with him to Spain. Together with Nacho Cougil and Jonathan Vila, two of the organizers, he spoke with many visitors about what they like most in Java, how AI influences their work, and what is important to them in the work they do.
We have more than 20 people who are passionate about the Java community and are eager to share their knowledge with you.
00:00 Introduction
00:45 Nacho Cougil and Jakub Marchwicki talk about the history of the DevBcn conference.
https://www.linkedin.com/in/icougil
https://www.linkedin.com/in/kubamarchwicki
02:45 Bert Jan Schrijver is excited about the people in the Java community.
https://www.linkedin.com/in/bjschrijver/
03:06 Ricardo Romero Benítez has a Spanish YouTube challenge about Java and is surprised by the experience of junior developers.
https://www.linkedin.com/in/ricardo-romero-ben%C3%ADtez-b4a4048a/
https://www.youtube.com/@programando_en_java
05:43 Christoph Neumann discusses closure and a database created using it.
https://www.linkedin.com/in/christoph-neumann-6089438/
08:03 Victor Rentea gives Java workshops about architecture, performance, maintainable code, etc.
https://www.linkedin.com/in/victor-rentea-trainer/
09:46 Justin Reock measures developer productivity and talks about improving the development experience.
https://www.linkedin.com/in/justinreock
17:44 Will Fleury accelerates coding by integrating AI in IDEs and compares different solutions.
https://www.linkedin.com/in/willfleury
23:38 Kamesh Sampath handles big amounts of data for AI and other processing.
https://www.linkedin.com/in/kameshsampath
26:19 Cedric Clyburn shares his experience with Linux and Kubernetes and is fascinated by open-source AI.
https://www.linkedin.com/in/cedricclyburn
28:33 Brian Vermeer helps to make Java applications and AI tools secure.
https://www.linkedin.com/in/brianvermeer
31:53 Andrey Sitnik promotes local-first privacy versus the user-data-selling approach.
https://www.linkedin.com/in/sinik
35:59 Isabel Garrido Cardenas about cognitive load when working with a lot of microservices and the right way of testing with AI.
https://www.linkedin.com/in/isabelgarridocardenas
38:59 Isabella Sohlman is a student, joining the conference to learn how she can grow her career and to meet people from the Java community.
https://www.linkedin.com/in/isabellasohlman
40:13 Ruben Cordeiro shares his experience with volunteering at the conference and what he learned from the talks.
https://www.linkedin.com/in/rubencordeiro
42:36 Horacio Gonzalez about simple to use cloud services by developers for developers.
https://www.linkedin.com/in/horaciogonzalez
44:46 Jonatan Sempere about communication and network APIs to prevent fraud for banking.
https://www.linkedin.com/in/jsempere95
47:36 Luis Majano and Cris Escobar talk about BoxLang, a new dynamic JVM language.
https://www.linkedin.com/in/lmajano
https://www.linkedin.com/in/cristobalescobarh
https://www.boxlang.io
59:42 Miguel Xoel García Balsa about observability and the difference with monitoring.
https://www.linkedin.com/in/miguelxoel
01:03:32 Silvia Bellmunt shares her experience with the Java community, the DevBcn conference, and data science.
https://www.linkedin.com/in/silvia-bellmunt-36220aa3
01:06:15 Rijo Sam talks about framework- agnostic development, using plain Java as much as possible.
https://www.linkedin.com/in/rijosam19
01:09:37 Nacho Cougil and Jonathan Vila invite you to the DevBcn conference next year.
https://www.linkedin.com/in/icougil
https://www.linkedin.com/in/jonathanvila
01:11:33 Outro
This is the final part of the JCON 2025 interviews with a lot of tips and tricks!
In the three previous podcasts, we featured interviews from the JCON conference on "Being a better Java developer," "Evolutions in Java," and "How to use AI with Java." However, we talked to many more people during the conference, so this podcast focuses on tips and tricks. Let's learn from the many other experienced visitors of JCON.
00:00 Introduction
00:34 Merlin Bögershausen - OpenRewrite and Azul Intelligence Cloud
https://www.linkedin.com/in/merlin-boegershausen
07:08 Eberhard Wolff - Measure developer productivity
https://www.linkedin.com/in/eberhardwolff
12:28 Annelore Egger - Dealing with bad code, it's not your fault
https://www.linkedin.com/in/anneloredev
15:21 Michael Vitz - Unexpected things you can do with Java
https://www.linkedin.com/in/michaelvitz
18:40 Michael Simons - Neo4J database models
https://www.linkedin.com/in/michael-simons-196712139
https://motherduck.com/duckdb-book-brief
23:13 Stefan Böhringer - Building a project for education from scratch with Quarkus
https://www.linkedin.com/in/datenschauer
28:14 Johannes Rabauer - Learned from earlier projects
https://www.linkedin.com/in/johannes-rabauer
30:33 Roland Weisleder - ArchUnit, testing architecture with unit tests
https://www.linkedin.com/in/roland-weisleder
34:26 Simon Martinelli - htmx, full stack, Vaadin, JOOQ
https://www.linkedin.com/in/simonmartinelli
37:02 Loïc Magnette - Web development, Angular, React, Java community versus others
https://www.linkedin.com/in/lomagnette
40:41 Tanja Obradovic - Eclipse Foundation, JakartaEE
https://www.linkedin.com/in/tanja-obradovic-095604
49:19 Syed Usman Ahmad - Grafana, Prometheus, monitoring tools, OpenTelemetry
https://www.linkedin.com/in/usmanlinux
55:38 François Martin - Tools, chaos testing, Toxyproxy
https://www.linkedin.com/in/fran%C3%A7oismartin
01:01:31 Conclusion
Let's have an AI Bingo and talk about ChatGPT, LLM, ML, RAG, MCP, GenAI, and more!
This is part 3 of the interviews recorded at the JCON conference in May. In the previous parts, you learned more about how to be a better Java developer and how Java has evolved and continues to evolve. Of course, Artificial Intelligence and large language models were hot topics at the conference.
This episode collects all the interviews on the AI topic. You will learn more about the different technologies we can use in our Java projects. We also checked with our guests to see how they compare Java to Python for AI-related development.
00:00 Introduction
00:46 Pasha Finkelshteyn - RAG, MCP
https://www.linkedin.com/in/asm0dey
06:17 Simone de Gijt - LLM
https://www.linkedin.com/in/simonedegijt
12:30 Steve Poole - AI challenges and dangers
https://www.linkedin.com/in/noregressions
18:01 Sandra Ahlgrimm - LangChain4J and Microsoft tools
https://www.linkedin.com/in/sandraahlgrimm
21:06 Mary Grygleski - Spring AI, Langchain4J, Quarkus
https://www.linkedin.com/in/mary-grygleski
30:25 Jonathan Vila - Sonar, Infrastructure As Code, AI dangers
https://www.linkedin.com/in/jonathanvila
35:56 Simon Martinelli - Influence of chat interfaces on UI development + MCP explanation
https://www.linkedin.com/in/simonmartinelli
42:13 Emily Jiang - LLM
https://www.linkedin.com/in/emilyfhjiang
49:59 Conclusion
In the second part of our JCON interviews, recorded at the conference in May, we focuses on general evolutions within the Java world and how they influence how we write code and develop applications. We take a look back at the history of Java, discuss new features in the latest release, how Java evolves with OpenJDK projects and JEPS, how Java is used in education, and much more...
00:00 Introduction
00:19 Steve Poole – Java APIs in a modern way, History of Java
https://www.linkedin.com/in/noregressions
06:42 Hanno Embregts - Java 24, Java in education
https://www.linkedin.com/in/hannotify/
12:20 Karl Heinz Marbaise - Stream gatherers, Java evolutions, JEPs, Java stability
https://www.linkedin.com/in/khmarbaise/
26:19 Cay Horstmann - Project Valhalla, Project Loom, JEPs, OpenJDK projects
https://www.linkedin.com/in/cay-horstmann-659a4b/
34:20 Miro Wengner - Java modules, Robo4J
https://www.linkedin.com/in/mwengner/
37:52 Dmitry Chuyko – Improve startup and performance of Java applications in containers
https://www.linkedin.com/in/dchuyko/
42:26 Jens Knipper - Receiving emails with Java, Java improvements over time, writing on Foojay
https://www.linkedin.com/in/jens-knipper-87b4a717b/
https://foojay.io/today/receiving-mails-in-java-with-imap-or-pop3/
46:55 Conclusion
On May 13th and 14th, Foojay attended the JCON conference in Köln, Germany, where we did over 30 live-stream interviews. In this episode, we present to you the first set of these interviews, in which we focus on celebrating 30 years of Java, how you can grow your career, become a public speaker and writer, make your code more green, a bit of AI (of course...), and how the connections between open-source contributors can be visualized.
00:00 Introduction
00:37 Richard Fichtner: About JCON
https://www.linkedin.com/in/richardfichtner/
https://jcon.one/
03:27 Bruno Souza: Building your career
https://www.linkedin.com/in/brjavaman/
https://careermasterplan.dev
17:09 Markus Westergren: Mentoring and growing to become a senior engineer
https://www.linkedin.com/in/markuswestergren/
21:56 Brian Vermeer: Public speaking, NLJUG, the importance of writing
https://www.linkedin.com/in/brianvermeer/
30:08 Aicha Laafia: Green coding
https://www.linkedin.com/in/aicha-laafia-0266a6126/
36:33 Baruch Sadogursky: History of Java, job changes because of AI
https://www.linkedin.com/in/jbaruch/
44:40 Dmitry Yanter: Connections in open-source projects
https://www.linkedin.com/in/dmitry-yanter/
53:43 Conclusion
We are celebrating Java's 30th anniversary this May!
This is a very special anniversary episode of the Foojay Podcast! As we approach May 23rd, marking exactly 30 years since Java's first beta release in 1995, we're honored to present our first-ever single-guest format. But we have a very special guest for you: James Gosling, the creator of Java!
Join us for this exclusive conversation as we explore Java's beginnings, its revolutionary impact on the programming world, its continuous evolution over three decades, and James's insights on where the language is heading. From that groundbreaking beta release over "Write Once, Run Anywhere" to powering billions of devices worldwide, this is the story of Java, told by the man who started it all, the father of Java.
Content
00:00 Introduction
01:06 How did it start 35 years ago?
06:21 Java evolved from device controllers to server applications
10:30 How does it feel that so many people use Java?
12:12 Looking back at the Y2K problem and how it triggered more Java adoption
14:58 Does James regret any decisions in Java?
18:44 Comparing early-day Java development versus now
20:55 About the stability of Java
24:14 JavaFX is one of James' favorites of all time
25:20 Frustrations about Android and iOS versus Java Phones
28:16 How "Write Once, Run Anywhere" was needed for Sun
29:23 Windows versus macOS versus Linux for laptops
31:32 The very first Java web service in 1994 turned into a dark story
33:17 Java in Docker and startup challenges
36:59 Garbage Collectors are amazing in many ways
39:18 Java-haters didn't use recent versions of Java ...
41:51 How Java became much more performant but lost embedded
43:08 Developers must be aware of which and how many libraries they use
47:40 James loves Kotlin, Scala, and Closure
49:42 Ethical responsibility for developers in a challenging job market
54:16 AI influence on jobs
01:00:20 Advice for junior developers
01:02:27 A few of the most remarkable moments in Java history
01:07:52 Why James is not a benevolent dictator for life
01:09:17 How Java will keep evolving
01:12:55 How much is James still involved in Java?
01:13:54 Conclusion
On April 25, 2020, Geertjan Wielenga published the first Foojay post. Yes, we are celebrating 5 years since the Friends Of OpenJDK website launch! Today, more than 1,600 posts are on the site, written by over 250 authors. And there is much more to discover within the Foojay world...
In this podcast, we look at how Foojay started with founder Geertjan Wielenga. We'll also hear from Gerrit Grunwald about how Foojay's Disco API has become part of your daily work without you realizing it. We also have several of our regular authors and podcast guests who share how Foojay has influenced them (and vice versa).
Thank you all for being part of the Foojay community, whether as a listener of this podcast, a visitor to the website, a user of the Disco API, or through any other touchpoint!
00:00 Introduction
00:58 Grace Jansen
https://foojay.io/today/author/grace-jansen
02:44 Geertjan Wielenga about the start and evolution of Foojay
https://foojay.io/today/author/geertjan-wielenga/
Foojay on Mastodon:
https://foojay.io/today/foojay-mastodon-service-here-it-is/
Java Quick Start Course on Foojay:
https://foojay.io/java-quick-start/
JDoodle on Foojay:
https://foojay.io/today/integrate-executable-java-code-in-your-blog-posts-part-2-how-to-use-dependencies/
Foojay Slack:
https://foojay.io/today/join-slack-com-t-foojay-signup/
Contribute to Foojay:
https://foojay.io/today/how-to-submit-your-next-article-on-foojay-io/
12:24 Richard Fichtner
https://foojay.io/today/author/r-fichtner
Free JCon tickets:
https://pretix.eu/impuls/europe2025/redeem?voucher=FOOJAY-COMMUNITY
13:19 Mary Grygleski
https://foojay.io/today/author/mgrygles
15:01 Shai Almog
https://foojay.io/today/author/shai-almog
16:59 Gerrit Grunwald about the Disco API
https://foojay.io/today/author/gerrit-grunwald/
Disco API Blog:
https://foojay.io/today/disco-api-helping-you-to-find-any-openjdk-distribution/
Disco API Swagger UI:
https://api.foojay.io/swagger-ui
24:38 Simon Ritter
https://foojay.io/today/author/simonritter
25:10 Marit van Dijk
https://foojay.io/today/author/marit-van-dijk
25:47 Hanno Embregts
https://foojay.io/today/author/hanno-embregts
26:42 Bazlur Rahman
https://foojay.io/today/author/bazlur-rahman
29:10 Artur Skowroński
JVM weekly:
https://www.linkedin.com/newsletters/jvm-weekly-7097859802881540096
30:22 Conclusion and looking forward to 30 years of Java with James Gosling
On April 3rd, the first VoxxedDays event in Amsterdam took place. VoxxedDays are tech events organized by local community groups, with support from the Devoxx team. Geertjan Wielenga brought along a camera and microphone and spoke with many of the attendees.
This is the first Foojay podcast ever to feature more than 20 guests! Geertjan asked the same two questions to many of conference visitors: “Tell us who you are and what excites you about the technology landscape?” and “What are two tips or insights you’d like to share?”
As you might expect, there's a lot of talk about AI and machine learning, but you’ll also hear about new Java features, profiling, open source, security, code reviews, and much more!
00:00 Introduction
00:33 Ko Turk: VoxxedDays organization
https://www.linkedin.com/in/ko-turk-b271b929/
01:34 Stephan Janssen: F ounder of Devoxx and VoxxedDays
https://www.linkedin.com/in/stephanjanssen/
05:27 Lutske de Leeuw: Important new features in Java
https://www.linkedin.com/in/lutske/
06:25 Johannes Bechberger: Profiling and instrumentation
https://www.linkedin.com/in/johannes-bechberger/
07:03 Christian Tzolov: Spring AI and MCP
https://www.linkedin.com/in/tzolov/
09:01 Tom Cools: AI, machine learning, mathematical optimization, and all the opportunities in this field.
https://www.linkedin.com/in/tom-cools-17547548/
11:30 Eric-Wubbo Lameijer: Automated code analysis
https://www.linkedin.com/in/eric-wubbo-lameijer-64303013/
13:02 Abraham van de Vyver: GenAI, impact on job and opensource projects
https://www.linkedin.com/in/a5r/
15:01 Soham Dasgupta: Combining cloud native applications with AI, GenAI
https://www.linkedin.com/in/dasguptasoham/
17:05 Josh Long: AI and its impact, MCP, role of junior developers
https://www.linkedin.com/in/joshlong/
21:33 Susanne Pieterse: RAG and AI, vector search, VoxxedDays community reviewer
https://www.linkedin.com/in/susannepieterse/
23:22 Brian Vermeer: Security on using LLMs and what can possibly go wrong?
https://www.linkedin.com/in/brianvermeer/
24:47 Anton de Ruiter: Migrating the Dutch tax system to microservices and containers
https://www.linkedin.com/in/antonderuiter/
25:32 Rafael de Lio: Redis, real-time databases
https://www.linkedin.com/in/raphaeldelio/
27:55 Jonathan Stronkhorst: Spring AI
https://www.linkedin.com/in/jonathan-stronkhorst/
28:29 Jos Roseboom: Encapsulation with Spring Modulith
https://www.linkedin.com/in/jos-roseboom-75508b11/
29:18 Soroosh Khodami: Software supply chain security
https://www.linkedin.com/in/sorooshkhodami/
30:33 Artem Makarov: Applied AI, real use cases after the hype
https://www.linkedin.com/in/artemy/
31:46 Kaya Weers: Learning thanks to the community
https://www.linkedin.com/in/kayaweers/
35:27 Eddy Vos: Devoxx4Kids Foundation, volunteers learning children to code
https://www.linkedin.com/in/eddyvos/
38:00 Paco van Beckhoven: Improving the code review and pull request process with errorprone and openrewrite
https://www.linkedin.com/in/pacovanbeckhoven/
39:30 Hanno Embregts: Using AI and GenAI in a good way
https://www.linkedin.com/in/hannotify/
41:14 Martijn van Iersel: Learning through gamification, internationalization of code, unicode
https://www.linkedin.com/in/martijn-van-iersel-2314464/
43:54 Charl Fasching: Impact of AI on Dev and DevOps
https://www.linkedin.com/in/charl-fasching-77843288/
47:43 Joris Kuipers: Experimenting with AI to integrate in applications, learning at conferences
https://www.linkedin.com/in/jkuipers/
48:48 Conclusion
We serve you a podcast about the new Java version every six months.
Our regular guest, Simon Ritter, Deputy CTO of Azul, is known on social media as "speakjava." He is part of the OpenJDK vulnerability group, JCP executive committee, and expert group for the Java SE specification request so that he can share a lot of inside information with us.
In this episode, we are joined by Hanno Embregts, a Java Developer by day and musician by night. He publishes a post on Foojay with all the details of every new Java release and prepared a long description of all the new features included in Java 24.
Let's see what this new release brings us...
Guests
Simon Ritter
https://www.linkedin.com/in/siritter/
https://bsky.app/profile/speakjava.bsky.social
Hanno Embregts
https://www.linkedin.com/in/hannotify/
https://bsky.app/profile/hanno.codes
Content
00:00 Introduction of the topic and guests
00:58 Why 24 JEPs in release 24?
02:16 Overview of the changes in Java 24
03:37 The changes in Hotspot and GC
JEP 404: Generational Shenandoah (Experimental)
https://openjdk.org/jeps/404
JEP 450: Compact Object Headers (Experimental)
https://openjdk.org/jeps/450
JEP 475: Late Barrier Expansion for G1
https://openjdk.org/jeps/475
04:46 JEP 483: Ahead-of-Time Class Loading & Linking
https://openjdk.org/jeps/483
07:30 JEP 491: Synchronize Virtual Threads without Pinning
https://openjdk.org/jeps/491
10:27 Security JEPs and Quantum resistance
JEP 478: Key Derivation Function API (Preview)
https://openjdk.org/jeps/478
JEP 496: Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism
https://openjdk.org/jeps/496
JEP 497: Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm
https://openjdk.org/jeps/497
13:00 Tools
JEP 493: Linking Run-Time Images without JMODs
https://openjdk.org/jeps/493
16:47 Repreviews and finalizations
JEP 489: Vector API (Ninth Incubator)
https://openjdk.org/jeps/489
18:27 JEP 484: Class-File API
https://openjdk.org/jeps/484
19:13 JEP 485: Stream Gatherers
https://openjdk.org/jeps/485
21:22 JEP 487: Scoped Values (Fourth Preview)
https://openjdk.org/jeps/487
22:15 JEP 488: Primitive Types in Patterns, instanceof, and switch (Second Preview)
https://openjdk.org/jeps/488
22:30 How JEPs get finalized and included
23:44 JEP 492: Flexible Constructor Bodies (Third Preview)
https://openjdk.org/jeps/492
24:09 JEP 494: Module Import Declarations (Second Preview)
https://openjdk.org/jeps/494
25:07 JEP 495: Simple Source Files and Instance Main Methods (Fourth Preview)
https://openjdk.org/jeps/495
29:24 JEP 499: Structured Concurrency (Fourth Preview)
https://openjdk.org/jeps/499
34:04 Deprecations & Restrictions
34:46 JEP 472: Prepare to Restrict the Use of JNI
https://openjdk.org/jeps/472
37:15 JEP 486: Permanently Disable the Security Manager
https://openjdk.org/jeps/486
38:53 JEP 490: ZGC: Remove the Non-Generational Mode
https://openjdk.org/jeps/490
Trash Talk - Exploring the JVM memory management by Gerrit Grunwald
https://www.youtube.com/watch?v=Jh79ojcror0
42:09 JEP 498: Warn upon Use of Memory-Access Methods in sun.misc.Unsafe
https://openjdk.org/jeps/498
45:43 Removal of 32-bit support
JEP 479: Remove the Windows 32-bit x86 Port
https://openjdk.org/jeps/479
JEP 501: Deprecate the 32-bit x86 Port for Removal
https://openjdk.org/jeps/501
47:37 Should we use Java 24 in production?
51:09 Looking forward to the next LTS in September
54:14 Conclusion
Let me share a personal story. I started experimenting with Java on a Raspberry Pi about five years ago and blogged a few articles about it. But the more I experimented, the more I wrote down, and eventually, I had written a book… I worked on it for six months in a row, every evening and a lot of weekends. But the moment I received the box with my author copies was an incredible feeling. Holding a paper book with your name is a special moment.
Fast forward to now. The 1000 paper copies are sold out. I have the last 10 copies in case you still want one ;-) But as I self-published the ebook, it's still for sale on Leanpub, and I keep updating it. That's one of the first significant differences between publishing a paper book and an ebook…. As an author, I got about 2 euros per paper book from the publisher, and LeanPub pays 80% royalties. Don't forget that I have to pay taxes on what I earn. So, if you do the math, you'll understand that the book didn't make me rich. But yes, it helped me in my career and was one of the reasons I became a Java Champion. So, we can argue about the "becoming famous".
But that's only my story. I invited several guests to share their knowledge about book writing:
Marián Varga is finishing a book and tells about publishing a book with a publisher.
Wim Deblauwe wrote a few books and has much experience with self-publishing.
Len Epp is the co-founder of Leanpub, so he can tell us a lot about ebooks.
And we start with Trisha Gee, who wrote a lot of books!
Guests
Trisha Gee
https://www.linkedin.com/in/trishagee/
https://jvm.social/@trisha_gee
https://bsky.app/profile/trishagee.bsky.social
https://x.com/trisha_gee
Len Epp
https://www.linkedin.com/in/lenepp/
https://bsky.app/profile/lenepp.bsky.social
https://x.com/lenepp
Wim Deblauwe
https://www.linkedin.com/in/wimdeblauwe/
https://bsky.app/profile/wimdeblauwe.com
https://www.youtube.com/@WimDeblauwe
https://www.wimdeblauwe.com/
https://www.widit.be/
Marián Varga
https://www.dastalvi.com/book/
https://www.linkedin.com/in/mari%C3%A1n-varga-4869a042/
https://mastodon.social/@mrvarga
Links
Book by Frank
https://webtechie.be/books/
https://leanpub.com/gettingstartedwithjavaontheraspberrypi/
Books and links by Trisha Gee
https://trishagee.com/books/
https://trishagee.com/2022/12/12/tools-and-processes-for-collaborating-on-a-book-remotely/
https://trishagee.com/2022/12/01/writing-a-book-is-hard/
https://medium.com/97-things
https://youtu.be/RzaNJzz5jW8
https://learning.oreilly.com/search/?q=trisha%20gee&rows=100&language=en&language=es
Books by Wim Deblauwe
https://www.infoq.com/minibooks/spring-boot-api-backend-version2/
https://www.wimdeblauwe.com/books/modern-frontends-with-htmx
https://www.wimdeblauwe.com/books/taming-thymeleaf/
Book by Marián Varga
https://www.dastalvi.com/book/
https://bsky.app/profile/love2integrate.com
Leanpub
https://www.youtube.com/leanpub
https://twitter.com/leanpub
https://mastodon.social/@leanpub
https://www.instagram.com/leanpub
https://bsky.app/profile/leanpub.bsky.social
Lulu
https://www.lulu.com/
Content
00:00 Introduction of the topic and guests
01:53 Books by Trisha Gee
02:24 Trisha's motivation for writing books
04:13 Difference between publisher and self-publishing
09:53 Publishers are looking for authors and course creators
12:55 How long do you work on a book?
17:35 Can we expect a new book by Trisha?
21:00 Automating the writing process
24:50 Len Epp about Leanpub and how it started
27:18 On Leanpub, you can publish a book-in-progress
27:51 Different publishing processes with Leanpub
30:20 You can use LeanPub to generate your book, but you don't need to sell it on Leanpub
32:57 80% of the selling price goes to the author
40:09 How to market your book
45:35 Let an expert handle the payments...
50:55 Books by Wim Deblauwe
51:45 Wim's motivation for writing books
53:15 Earning back the time spent on the writing
54:37 How to sell paper books on Lulu
57:19 Tools used to write a book
58:34 Wim's author-plans for the future
59:42 How the books influenced Wim's career
01:00:02 Marián Varga about the topic of his book
01:03:07 Current status of the book
01:04:03 The book is a teamwork with a publisher
01:07:06 Organizing the work between multiple authors
01:09:17 Time worked on the book
01:10:40 Feedback from the community for the content
01:12:13 What Marián wants to achieve with the book
01:14:38 Conclusion
In this Foojay podcast, we dive into a few articles that were published recently and focus on code. Igor Kulakov of JetBrains gives us his insights into the tool he created to find duplicate content in documentation. Rijo Sam explains how you can generate real random values and how he created a train departure display. Maxillian Arruda explains in a very detailed post the different ways to construct a complex Java object. And we start with Wim De Troye about the code changes he had to do in a project that got upgraded from Spring Boot 2 to 3.
Guests
Wim De Troyer
https://www.linkedin.com/in/wim-de-troyer-40647b130/
Maximillian Arruda
https://www.linkedin.com/in/maxarruda/
Rijo Sam
https://www.linkedin.com/in/rijosam19/
Igor Kulakov
https://www.linkedin.com/in/inspector-patronum/
https://x.com/flounder4130
Links
https://foojay.io/today/the-proper-way-to-define-configuration-properties-in-spring/
https://foojay.io/today/make-the-life-of-your-developer-clients-easier-with-smart-builders/
https://foojay.io/today/pseudorandom-number-generator/
https://foojay.io/today/crafting-your-own-railway-display-with-java/
https://foojay.io/today/duplicate-finder-for-text-requirements/
Content
00:00 Introduction of the topics and guests
00:55 Wim De Troyer
03:27 Pro or contra Lombok?
06:09 BeanValidation as part of the solution
07:40 Generating a config JSON file
08:50 Maxillian Arruda
09:19 What is a complex object?
12:09 Using records to simplify object creation
14:48 Telescoping constructors
16:08 Static factory method
19:09 Builder pattern
21:00 The risks of rewriting a project
23:00 Thread safety in object creation
27:53 Rijo Sam
29:07 java.util.Random is not fully random...
30:20 About SecureRandom, seeds, and blocking algorithms
34:16 Vaadin railway display
37:43 Getting railway data from an open API
38:44 It's a PET project together with Rijo's partner Ancy
40:22 Runs on a Raspberry Pi
41:18 The next project...
41:34 Igor Kulakov
43:02 DRY principle in documentation
43:37 How the tool works an integration in JetBrains products
44:54 Test-first approach in the project
47:10 Not using AI (yet) to avoid extra cost, local systems could be integrated
48:22 Input data the tool can handle
49:14 Highlights of the blog (and following) post(s)
54:35 Outro
With the first Foojay podcast of 2025, we want to help you to boost your career! By now, you've likely had your year-end performance review with your manager and set some goals to advance in the coming year. Are you ready to take your career growth into your own hands? I've invited three fantastic guests who are eager to share their experiences and help you elevate your professional journey.
Guests
Rafael Del Nero
https://www.linkedin.com/in/rafadelnero/
https://www.youtube.com/c/javachallengers
https://javachallengers.com
Bruno Souza
https://www.linkedin.com/in/brjavaman/
https://java.mn
Career project/blog: https://code4.life/blog
Book: https://careermasterplan.dev
Join the newsletter, with daily career tips: https://code4.life
Elder Moraes
https://www.linkedin.com/in/eldermoraes/
https://www.youtube.com/ElderMoraes
https://instagram.com/eldermoraes
SouJava (JUG Brazil)
https://www.meetup.com/SouJava/
http://soujava.org.br/
Content
00:00 Introduction of topic and guests
01:44 Why are the guests mentors for others?
06:25 There are many important skills you need to develop
07:38 How are they handling the mentoring process?
15:58 A mentor needs a mentor himself
16:43 Different growing paths, technical versus managing
21:59 How participating in JUGs can evolve your career
30:50 The impact of being a Java Champion
33:33 What is the value of mentoring?
41:18 How to get a salary increase?
50:18 Just ask for any change you want!
59:44 Book Bruno
01:01:16 Outro
Let's wrap up this year with more interviews from the JFall conference. In this episode you'll learn more about Foojay, JVM internals and writing your own programming language, Project Loom and structured concurrency, learning at conferences, code reviews, creating desktop applications with Java, infrastructure as code, JUG Noord, and much more!
Guests
Geertjan Wielenga
https://www.linkedin.com/in/geertjanwielenga/
Nataliia Dziubenko
https://www.linkedin.com/in/nataliia-dziubenko-341919b8/
Hanno Embregts
https://www.linkedin.com/in/hannotify/
Hinse ter Schuur
https://www.linkedin.com/in/hinseterschuur/
Anthony Goubard
https://www.linkedin.com/in/anthonygoubard/
Steffan Norberhuis
https://www.linkedin.com/in/steffannorberhuis/
Paulien van Alst
https://www.linkedin.com/in/paulienvanalst/
Lutske de Leeuw
https://www.linkedin.com/in/lutske/
Johan Hutting
Content
00:00 Introduction of topics and guests
01:09 Geertjan Wielenga: OpenJDK evolutions
01:47 The goal of Foojay, the website for the Friends Of OpenJDK
https://foojay.io/
03:49 Nataliia Dziubenko: What you can learn at conferences
04:48 Writing your own programming language on top of JVM
07:30 What it learned her about the Java compiler
08:38 How it influenced her career as a Java developer
11:20 Hanno Embregts: Project Loom, structured concurrency and scoped values
14:04 Playing music during conference talks
15:09 Important OpenJDK evolutions
17:07 Hinse ter Schuur: Learning at conferences
17:58 Best practices for code reviews
20:03 Anthony Goubard: Creating desktop apps with Java
https://www.japplis.com
22:45 Steffan Norberhuis: Infrastructure code for AWS
https://www.rocketleap.dev/
23:50 Java as a Cloud language
24:54 How developers look at infrastructure
26:03 Is getting locked into a single cloud vendor a risk?
28:03 Paulien van Alst, Lutske de Leeuw en Johan Hutting: Introducing JUG Noord
https://www.meetup.com/jug-noord
29:20 Introducing VoxxedDays Amsterdam
https://amsterdam.voxxeddays.com/
29:40 NLJUG versus local JUGs
30:06 Starting as a new speaker at JUGs
30:24 How to contribute to opensource
31:24 How to speak at JUG Noord
31:53 Learned at JFall
32:38 Outro
Last month, I published a Foojay blog post about the risks in systems that are stuck on old or outdated Java versions and got a lot of feedback from developers. Most of them want to move on but get stuck on management decisions, outdated production environments, or one of the many other reasons that keep systems stuck on old Java versions and dependencies...
Do you want to bring your system from Java 8 to 23? Did you know that Java 17 already got 13 security releases? And that you can use tools like OpenRewrite to help you update your code?
Related Foojay articles
Why Java 8 is a Ticking Time Bomb Hiding Within Your Organization
https://foojay.io/today/why-java-8-is-a-ticking-time-bomb-hiding-within-your-organization/
How Organizations Became Stuck on Outdated Java Versions
https://foojay.io/today/how-organizations-became-stuck-on-outdated-java-versions/
Guests
Gerrit Grunwald
https://www.linkedin.com/in/gerritgrunwald/
Jonathan Schneider
https://www.linkedin.com/in/jonkschneider/
Martijn Dashorst
https://www.linkedin.com/in/dashorst/
Carl Wanting
https://www.linkedin.com/in/carl-wanting-638943/
Charl Fasching
https://www.linkedin.com/in/charl-fasching-77843288/
Johan Janssen
https://www.linkedin.com/in/johanjanssen2001/
Content
00:00 Introduction of the topic and guests
01:35 Gerrit Grunwald about CVE fixes in Java updates
04:58 LTS (Long Term Support) versus STS (Short Term Support)
9:45 Jonathan Schneider about the goal of OpenRewrite
12:15 Upgrade all at once, or step by step?
14:03 Who creates the recipes?
15:08 What Moderne is offering on top of OpenRewrite
17:29 How to use OpenRewrite in your IDE
18:32 Companies maintaining recipies for their products
20:05 Jonathan's view on the importance of upgrades
26:56 Other use cases for OpenRewrite
29:03 Martijn Dashorst: Updating legacy projects
33:12 Carl Wanting and Charl Fasching: Migrating projects
39:43 Johan Janssen: Java evolutions and upgrading
42:51 Outro
AI, LLMs, ChatGPT—these are just a few of the buzzwords of the massive revolution unfolding right now. These tools are reshaping how we work, but they come with a catch: while they help us work faster and smarter, we need to be careful about placing too much trust in them.
I’ve spoken with several guests at the JFall conference in the Netherlands actively working with these tools to learn more about them. And I had a chat with Grace Jansen about a recent Foojay blog post
Guests
Grace Jansen
https://www.linkedin.com/in/grace-jansen/
Sean Li
https://www.linkedin.com/in/sean-li-568a8414/
John Sterken
https://www.linkedin.com/in/jsterken/
David Vlijmincx
https://www.linkedin.com/in/david-vlijmincx/
Urs Peter
https://www.linkedin.com/in/urs-peter-70a2882/
Joost Kaan
https://www.linkedin.com/in/joost-kaan/
Links
https://foojay.io/today/run-ai-enabled-jakarta-ee-and-microprofile-applications-with-langchain4j-and-open-liberty/
https://marketplace.visualstudio.com/items?itemName=IBM.wca-eja
https://docs.langchain4j.dev/integrations/language-models/
https://foojay.io/today/building-project-panamas-jextract-tool-by-yourself/
https://foojay.io/today/project-panama-for-newbies-part-1/
https://foojay.io/today/writing-c-code-in-java/
Content
00:00 Introduction of topics and guests
01:07 Introduction of Grace and the Foojay blog post
02:31 What is Langchain4J?
03:23 What is JakartaEE?
04:25 What is MicroProfile?
06:33 Compare these tools with Spring
08:30 About the demo application of the blog post
11:32 What is an LLM, and what can it do?
13:41 Short-term evolutions in AI
16:49 Long-term predictions...
18:36 IBM Watson code assistant for VSC
19:45 Sean Li: Java at Microsoft
21:56 AI products provided by Microsoft
25:09 Code upgrades with a VSC extension
26:44 John Sterken: AI as a coding assistant
30:50 David Vlijmincx: Project Panama in relation to AI
34:53 Urs Peter: Generative AI, LLMs, and LangChain4J
40:20 Joost Kaan: Organizing an AI conference