
airhacks.fm podcast with adam bien
Java, Serverless, Clouds, Architecture and Web conversations with Adam Bien
Latest episodes

Apr 20, 2024 • 51min
Pure Java AI
An airhacks.fm conversation with Dr. Zoran Sevarac (@zsevarac) about:
Zoran previously on airhacks.fm: "#169 Deep Learning with Modern Java Code",
discussion about the latest updates and features in DeepNetts,
a full-stack Java AI platform,
University of Minnesota's drug testing application using DeepNetts,
Jefferson Lab's particle research using DeepNetts Community Edition,
including GPU support for faster inference using jcuda,
TensorFlow compatibility, and simplified AI integration with JSR-381,
real-world applications of DeepNetts in drug testing and particle research,
challenges and considerations for using GPUs in serverless environments,
the potential of Apple's M-series chips for machine learning,
exploring Project Babylon and Code Reflection in Java,
using Panama and jextract for native library bindings,
the importance of having developer tools and an IDE for building AI models,
plans for integrating large language models into DeepNetts,
the advantages of a pure Java solution for AI in enterprise applications,
and the bright future of Java in the AI ecosystem,
Deep Nets 3.1.0 release with GPU support
Dr. Zoran Sevarac on twitter: @zsevarac

Apr 14, 2024 • 1h 2min
How OpenRewrite Happened
Jonathan Schneider, a Java refactoring entrepreneur with a background in self-taught C++ and a U.S. Army officer, discusses challenges in Java version migration and automated refactoring at Netflix. He shares insights on founding OpenRewrite and Moderne for enterprise refactoring, emphasizing the importance of maintaining code formatting and type attribution. The podcast also explores potential integrations with language models for code optimization.

Apr 7, 2024 • 1h 23min
Underscore, Pattern Matching, Java LTS And When Previews Are Stable
An airhacks.fm conversation with Nicolai Parlog (@nipafx) about:
Nicolai previously on "#206 Java 19: Millions of Threads in No Time",
discussion about the underscore feature in Java 22 and its importance in pattern matching,
using the underscore for unused lambda parameters and deconstruction of records,
avoiding default branches when switching over sealed types,
the deprecation and removal of underscore as a regular variable name,
the foresight of the Java community in making underscore unusable,
the simplicity of installing Java compared to other languages,
the need for a minimalistic Java build tool for better developer experience,
SdkMan,
the bld tool as an example of a pure Java build tool,
the process of contributing to OpenJDK and the importance of starting with a problem statement,
the distinction between Java specifications and implementations,
the concept of long-term support (LTS) in Java and its relation to vendors,
the importance of using the right terminology to avoid misunderstandings in the Java ecosystem
Nicolai Parlog on twitter: @nipafx

Mar 31, 2024 • 58min
Integrating AI with Java: Quarkus and Langchain4j
An airhacks.fm conversation with Dimitris Andreadis (@dandreadis) about:
Dimitris appeared previously on "#64 Quarkus 1.0 and SpringBoot",
discussion about integrating AI language models (LLMs) with Java applications using quarkus and langchain4j,
OpenShift AI,
the benefits of using Quarkus for AI integration,
Drools and ML,
the potential of using AI for rule engines and decision making,
the challenges of handling state and context with LLMs,
InfiniSpan and vector databases,
the role of vector stores and embeddings for semantic search,
the advantages of Java for enterprise applications and maintenance,
the potential of using AI models natively with GraalVM,
the importance of tools functionality for LLMs to call Java methods,
the excitement around AI in the Java community,
the future trajectory of tighter integration between Java and AI models,
the potential of using AI for code generation and intelligent developer tooling
Dimitris Andreadis on twitter: @dandreadis

Mar 23, 2024 • 1h 12min
How Linkblog Happened
An airhacks.fm conversation with Erik C. Thauvin (@ethauvin) about:
early computer experiences with Logo and Tandy Model 3,
writing horse race handicapping software as a kid,
working at Apple at 16 writing resource editor for Mac,
starting consulting firm and building custom software,
attending Sun Tech Days to learn about Palm Pilot and Java,
writing linkblog with Tomcat and JSP,
creating popular linkblog with 8 million monthly views,
converting projects to Rife and BLD frameworks,
motivations for writing software he needs,
Erik's blog: erik.thauvin.net
Erik C. Thauvin on twitter: @ethauvin

Mar 17, 2024 • 1h 6min
A Better JNI: Project Panama
An airhacks.fm conversation with Paul Sandoz (@paulsandoz) about:
Paul previously appeared on "#277 Project Babylon",
article about Automatic differentiation of Java code using code reflection,
using Project Babylon for automatic differentiation,
emulating C# LINQ in Java,
writing Triton programs in Java for GPU execution,
using Project Panama for native interoperability with C/C++ libraries,
JExtract tool for generating Java bindings from C headers,
memory management with Panama memory segments and arenas,
advantages of Panama over JNI,
integrating Java with ONNX models,
persistent memory and object storage
Paul Sandoz on twitter: @paulsandoz

Mar 12, 2024 • 1h 7min
How LangChain4j Happened
An airhacks.fm conversation with Dmytro Liubarskyi (@langchain4j) about:
continuous Windows 95 re-installation on Pentium 2 then Pentium 3,
early interest in J2ME development and websites,
transition to Java and enterprise software development,
motivation behind creating langchain4j,
integration with embedding models, vector databases, and ONNX Runtime,
langchain4j core abstracts: language models, chat memory, AI services, tools,
langchain4j,
onnx.ai,
Dynamic tools with GraalVM,
Enterprise use cases and integration with Java stacks,
OpenAI, Anthropic, Cohere, Hugging Face, Bedrock, Olama, Gemini
Dmytro Liubarskyi on twitter: @langchain4j

Mar 3, 2024 • 1h 9min
No Dependencies--Or How Rife 2 and Bld Happened
An airhacks.fm conversation with Geert Bevin (@gbevin) about:
Yamaha DX7 - Geerts first synthesizer,
Classic Minimoog analog synthesizer by Bob Moog,
First synthesizer was a Yamaha DX7 successor,
Early music production using Amiga computer and MIDI,
iOS and macOS development with focus on audio DSP and synthesis,
Returning to Java development after years away,
high productivity with Java,
New Java release cadence and experimental features,
Rife web framework and bidirectional template engine,
BLD build tool and philosophy,
Kotlin Multiplatform capabilities,
SwiftUI DX compared to Java and IntelliJ,
Moog Music website,
Jean Michel Jarre,
Geert personal website,
Rife 2 GitHub project,
Bld GitHub project
Geeert's website:
uwyn.com
Geert Bevin on twitter: @gbevin

Feb 25, 2024 • 1h 12min
From Hexagonal Architectures to Data Oriented Programming
Java expert Jose Paumard discusses object-oriented vs data-oriented programming, Java record classes, hexagonal architectures, decoupling and abstractions. They explore sealed interfaces, switch expressions, and data-oriented programming with NoSQL. Also, an interesting conversation about the classic French car, the Citroen 2CV (Duck)

Feb 18, 2024 • 60min
TornadoVM, Paravox.ai: Java, AI, LLMs and Hardware Acceleration
An airhacks.fm conversation with Juan Fumero (@snatverk) about:
Juan previously appeared in the episode "#250 FPGAs, GPUs or Data Science with Java",
using Tornado to run Java programs on GPUs/accelerators,
integrating AI models with Java applications,
potential of using Tornado and Project Babylon together,
discussion around tensor types in Java,
Paul Sandoz appeared in the episode "#277 Project Babylon",
Heterogeneous Accelerator Toolkit by Gary Frost,
TornadoVM and LLama port,
Hybrid API for Deep Learning acceleration and the new Panama-based types: TornadoVM talk at JVMLS'23,
TornadoVM 1.0 Release notes,
Alfonso Peterssen ported llama to Java,
Initial Java port from the GraalVM team,
Java / AI startup: paravox.ai
Juan Fumero on twitter: @snatverk