Let's Talk About Java Code! Diving into Foojay blog posts... (#66)
Foojay.io, the Friends Of OpenJDK! - A podcast by Foojay.io

Categories:
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/ Content00: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