adam bien's blog

Java, LLMs, and Seamless AI Integration with langchain4j, Quarkus and MicroProfile--airhacks.fm podcast 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #318 airhacks.fm episode with Dmytro Liubarsky (@langchain4j) about:
easy RAG with langchain4j, MicroProfile and langchain4j "synergies" and future developments
is available for

Quarkus and LangChain4J - A Match Made in Heaven 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #317 airhacks.fm episode with Georgios Andrianakis (@geoand86) about:
langchain4j, Quarkus and the architecture of LLM integration
is available for

The Best of Java Shorts Show--Is Available on Github 📎

The JDD conference organizers asked me to record a short promotion of my talk, so I recorded the very first short. I've been recording (more than 800 and growing) Java shorts: (youtube.com/bienadam/shorts) daily, "from scratch" usually without any dependencies, build tools, or even compilation.

The talk "The Best of Java Shorts Show: 100 Snippets in 50 Minutes" at Devoxx 2024 Belgium was recorded with a selection of the most interesting or popular shorts:

I have received several requests for the source code and have published a selection (>100) of the snippets here: github.com/AdamBien/best-of-java-shorts

Why JVector 3 Is The Most Advanced Embedded Vector Search Engine--airhacks.fm podcat 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

Live From Devoxx Belgium: Pure Java Enterprise AI/LLM Integration (EAI 2.0) 📎

This session was presented live at Devoxx Belgium:
From REST API and SDKs to langchain4j to fully managed cloud solutions to local integration with jlama and llama3.java of open source foundation models. In this session I will present architectures, ideas, hacks, and workarounds for integrating LLM with Java enterprise applications. I will illustrate the concepts with Java 21, Quarkus / MicroProfile code and integrate the latest Claude, ChatGPT, llama and AWS Bedrock models. Your questions will be given priority and answered interactively.

Live From Devoxx Belgium: The Best of Java Shorts Show: 100 Snippets in 50 Minutes 📎

I picked the most interesting youtube.com/bienadam/shorts and presented them live at Devoxx Belgium.
How to: run Java as a shell script, run a Java app without compiling, print an emoji, run an HTTP dev server, use libraries without compiling, colorful logs, access LLMs,run timer jobs, access the clipboard, implement a file watch, main in interfaces, easy file parsing (...) and ~100 other popular Java snippets from youtube.com/bienadam/shorts. No builds, no Maven, no dependencies, just javac and Visual Studio code.

Abstract Classes vs. Interfaces, Performance Benchmarking, JMH, Lambdas and Databases--127th airhacks.tv 📎

The 2024.10 / 127th edition of airhacks.tv with the following topics:
"String.join() is 30% faster than Collectors.joining(), JMH not always necessary for high-level benchmarking, interfaces slightly faster than abstract classes but the difference is negligible, Quarkus requires no installation - just use the POM file, Quarkus tests are integration tests and should be used sparingly, use shutdown hooks or @PreDestroy for clean connection closure in Lambdas, GraalVM shines in CLI tools and polyglot applications, simple export method for Java version management, JavaFX on mobile is challenging but viable with Gluon, EJBs and some Java EE concepts are outdated, but interceptors and dependency injection are still relevant"

...is ready to watch:

See you every first Monday of the month at https://airhacks.tv 8pm CET (UTC+1:00). Show is also announced at: meetup.com/airhacks.

Any questions left? Ask now: gist.github.com/AdamBien/26939d9a232bd0c3b79fd6149bc0815b

Performance Abstract classes vs. Interfaces, Lambda and DB Connections, JMH--Questions for 127th airhacks.tv 📎

Questions and topics for the 2024.10 / 127th edition of airhacks.tv with the following topics:
  1. performance: abstract class vs. interface Hi, I got an interview question as to which one is faster Abstract class or Interface ? Can you explain please. What is Faster: String.join or Collectors.joining?
  2. DB connections and lambda shutdown
  3. performance measurement with or without JMH: "PLEASE use the microbenchmark harness in future videos. I have the impression, that this suggests that performance measurements with after-minus-before is a good idea." from: What is Faster: String.join or Collectors.joining?
  4. the 100-episodes back time machine. Questions from: 27th airhacks.tv:
    "Interceptors and Dependency Injection Singleton EJBs, CDI and concurrency BCE in Eclipse and can Boundary communicate with Entity? Stateful EJBs vs. SessionScoped"

Any questions left? Ask now: https://gist.github.com/AdamBien/0e1193cd4697658cd226e4c370bec94d and get the answers at the next airhacks.tv. Some questions are also answered with a short video: 60 seconds or less with Java

Ask questions during the show via twitter mentioning me: https://twitter.com/AdamBien (@AdamBien),using the hashtag: #airhacks or built-in chat at: airhacks.tv. You can join the Q&A session live each first Monday of month, 8 P.M at airhacks.tv

The AI Revolution in Java Development and Devoxx Genie--airhacks.fm podcast 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #315 airhacks.fm episode with Stephan Janssen (@Stephan007) about:
the LLM Revolution in software development and building the Devoxx Genie plugin
is available for

From Apache Cassandra to Serverless: Exploring Cloud-Native Databases--airhacks.fm podcast 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #314 airhacks.fm episode with Jake Luciani (@tjake) about:
NoSQL, Cassandra, DynamoDB, cloud-native databases, and LLMs integration with pure Java
is available for

JSON validation, DTOs, Microprofile, Lift and Shift, JSONPath--126th airhacks.tv 📎

The 2024.9 / 126th edition of airhacks.tv with the following topics:
"JSON validation using JSONPath and custom validators, running Jakarta EE apps on OpenShift, comparing JBoss EAP and Quarkus applications, cross-platform GUI development options, constructor injection vs field injection debate, integrating Microprofile with Java 21, rebuilding blog engine with Quarkus and Microprofile, JSON vs DTOs, Lombok vs plain Java Record Classes, Jakarta EE, MicroProfile vs plain Java 21"

...is ready to watch:

See you every first Monday of the month at https://airhacks.tv 8pm CET (UTC+1:00). Show is also announced at: meetup.com/airhacks.

Are you nice? :-) Then checkout: the airhacks discord server

Revolutionizing AI with Java: From LLMs to Vector APIs--airhacks.fm podcast 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #313 airhacks.fm episode with Alfonso Peterssen (@TheMukel) about:
pure Java LLM integration with and without GraalVM
is available for

Late 2024 Conferences, Java User Groups (JUG) and Workshops 📎

  1. #127th airhacks.tv Questions and Answers #slideless[online event]
    live streaming show 7th October 2024
  2. Devoxx Belgium: Pure Java Enterprise AI/LLM Integration (EAI 2.0)
    conference session Devoxx Belgium Antwerpen Kinepolis 10th October 2024
  3. Devoxx Belgium: The Best of Java Shorts Show: 100 Snippets in 50 Minutes
    conference session Devoxx Belgium Antwerpen Kinepolis 10th October 2024
  4. Silesia Java User Group (Silesia JUG): Rethinking Enterprise Java Development
    JUG session Silesia Java User Group (Silesia JUG) Katowice 15th October 2024
  5. OC for Java: Conflicting architectures: Public vs. Private Clouds with Jakarta EE
    OCX Conference session OC for Java Mainz, Halle 45 23rd October 2024
  6. W-JAX Munich: Pure Java Enterprise AI / LLM Integration Patterns, Hacks und Workarounds
    JUG session W-JAX Munich Munich 5th November 2024
  7. W-JAX Munich: Rethinking Enterprise Java Development
    JUG session W-JAX Munich Munich 5th November 2024
  8. W-JAX Munich: The Best of Java Shorts Show: 100 Snippets in 45 Minutes
    JUG session W-JAX Munich Munich 5th November 2024
  9. Single Table Design with Java[online event]
    airhacks.live workshop 17 December 2024
  10. LLM / GenAI Java Bootstrap[online event]
    airhacks.live workshop 19 December 2024

JAX-RS With- and Without Reactive Programming in Quarkus--airhacks.fm podcast 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #312 airhacks.fm episode with Georgios Andrianakis (@geoand86) about:
performance and scalability considerations for JAX-RS and reactive programming in various use cases, JSON-B, Jackson, reactive Hibernate and LangChain4j
is available for

Developer and Database Administrator--airhacks.fm podcast 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

Java 22 and 23 Features--airhacks.fm podcast 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #310 airhacks.fm episode with Nicolai Parlog (@nipafx) about:
Java 22 / 23 Features, Java and LLMs, Java build tools, beginner's experience and "enterprise" Java AI
is available for

Constructor DI, Interface Misuse, JSON validation, Re-Architecting, Lift and Shift, Docker Redeployment--Questions for 126th airhacks.tv 📎

Questions and topics for the 2024.9 / 126th edition of airhacks.tv with the following topics:
  1. Thoughts on constructor injection v2
  2. misusing interfaces
  3. JSON object validation
  4. thoughts on MicroProfile and Jakarta EE
  5. re-architecting, lift and shift and: adambien.blogmigration and vimeo.com/ondemand/microprofile training
  6. private vs. public cloud hosting
  7. > 650 youtube Java shorts youtube.com/bienadam/shorts
  8. the 100-episodes back time machine. Questions from: 26th airhacks.tv:

    Java EE 8 News, the guardians and the background JSF 2, NIO, asynchronous programming, performance and 2k concurrent users Injecting subtypes and delayed execution Character encoding and JAX-RS How to deal with shared business methods (IBAN) Subjective opinions about BPM with objective arguments JPA entity injection and merging best practices Multitenancy in Java EE How to pass tenant information with the request? How to migrate away from RichFaces? Source code analysis for transaction processing Where to put BaseEntity in ECB? Redeployment in Docker Distributed service discovery, distributed transactions, logging and debugging and microservices

Any questions left? Ask now: gist.github.com/AdamBien/95544fc7692e0ce518ffb17573507443and get the answers at the next airhacks.tv. Some questions are also answered with a short video: 60 seconds or less with Java

Ask questions during the show via twitter mentioning me: https://twitter.com/AdamBien(@AdamBien),using the hashtag: #airhacks or built-in chat at: airhacks.tv. You can join the Q&A session live each first Monday of month, 8 P.M at airhacks.tv

From Spring to Quarkus: A Java Developer's Journey--airhacks.fm podcast 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #309 airhacks.fm episode with Georgios Andrianakis (@geoand86) about:
J2EE, NodeJS and Spring development and the transition to Quarkus.
is available for

How Micrometer Happened--airhacks.fm podcast 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

How the Java-Optimized Vega Chip Happened--airhacks.fm podcast 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

How Java HotSpot Compiler Happened--airhacks.fm podcast 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #306 airhacks.fm episode with Cliff Click (@cliff_click) about:
compiler fascination, optimization and the Java HotSpot compiler
is available for

Reporting, Long Running Actions, Constructor Injection, Guava Services--Questions for 125th airhacks.tv 📎

Questions and topics for the 2024.8 / 125th edition of airhacks.tv with the following topics:
  1. Thoughts on constructor injection
  2. Guava Services vs. Quarkus and Micronaut
  3. Thoughts on MicroProfile Long Running Actions (LRA)
  4. Time machine. Questions from: 25th airhacks.tv:

    EJB vs CDI. Or what is the future?, BCE component visibility, When to use @Suspended and ExecutorService?, How to implement a long running task?, JavaScript: ES2015, ES2016 or TypeScript. Angular or Angular2? Or how to start a webproject, Transactions and consistency in Java EE Microservices, Is JMX still useful?, Service call concurrency and parallelization, Partial responses with JAX-RS, Entities: rich or anemic?, CorrelationIds in JAX-RS,Are EARs still available?, MVC: is it too late in Java EE 8?, DI in subresources, Batch checkpoints and persistence, What is the benefit of a thread pool?, PHP to Java EE migration,Sample Java EE projects, Are microservices only interesting for refactoring?

Any questions left? Ask now: gist.github.com/AdamBien/edbfe339f2f1fbc7e5e2b219d51d5735 and get the answers at the next airhacks.tv. Some questions are also answered with a short video: 60 seconds or less with Java

Ask questions during the show via twitter mentioning me: https://twitter.com/AdamBien (@AdamBien),using the hashtag: #airhacks or built-in chat at: airhacks.tv. You can join the Q&A session live each first Monday of month, 8 P.M at airhacks.tv

How Bach - "The Java Shell Builder" Happened --airhacks.fm podcast 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #305 airhacks.fm episode with Christian Stein (@sormuras) about:
Hudson, Jenkins, JUnit, game development in Java and no-dependencies Java build tools
is available for

From J2ME, over Bluetooth and Speech Recognition to AI--airhacks.fm podcast 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

Project Valhalla: Value Types, Nullability and Float16--airhacks.fm podcast 📎

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS

The #303 airhacks.fm episode with Paul Sandoz (@paulsandoz) about:
Project Panama, Vector API, Value Types, machine learning, benefits of nullability in API design and new datatypes like e.g. Float16 in Java
is available for