
airhacks.fm podcast with adam bien
415 episodes — Page 3 of 9

Ep 315Why JVector 3 Is The Most Advanced Embedded Vector Search Engine
An airhacks.fm conversation with Jonathan Ellis (@spyced) about: discussion of JVector 3 features and improvements, compression techniques for vector indexes, binary quantization vs product quantization, anisotropic product quantization for improved accuracy, indexing Wikipedia example, Cassandra integration, SIMD acceleration with Fused ADC, optimization with Chronicle Map, E5 embedding models, comparison of CPU vs GPU for vector search, implementation details and low-level optimizations in Java, use of Java Panama API and foreign function interface, JVector's performance advantages, memory footprint reduction, integration with Cassandra and Astra DB, challenges of vector search at scale, trade-offs between RAM usage and CPU performance, Eventual Consistency in distributed vector search, comparison of different embedding models and their accuracy, importance of re-ranking in vector search, advantages of JVector over other vector search implementations Jonathan Ellis on twitter: @spyced

Ep 314The AI Revolution in Java Development and Devoxx Genie
An airhacks.fm conversation with Stephan Janssen (@Stephan007) about: Stephan previously appeared on "#254 How JavaPolis and Devoxx Happened", discussion on the AI revolution in programming, development of an AI-assisted photo sharing application, creation of the Devoxx Genie IntelliJ plugin for AI-augmented programming, advantages of Claude 3.5 from Anthropic, use of local AI models in development environments, integration of AI in Java development, langchain4j and its adoption by Red Hat, development of Java-based AI tools like Lama3.java, jlama and JVector, potential for specialized AI models in software development, challenges and opportunities for junior and senior developers in AI-augmented programming, importance of understanding cloud services and cost structures when using AI, potential future of prompt-based programming and code generation, discussion on maintaining and improving AI-generated code, exciting developments in Java for AI including project valhalla and tornadovm, potential for running AI models directly on Java without external dependencies, considerations for enterprise AI adoption and integration, the need for promoting Java's capabilities in AI development, potential for Visual Studio Code port of Devoxx Genie, the challenge of maintaining AI-generated code versus keeping prompts, the concept of "prompt ops" for software development, the use of AI for code review and improvement, the potential for AI to lower the barrier to entry for new developers, and the exciting future of AI in software development Stephan Janssen on twitter: @Stephan007

Ep 313From Apache Cassandra to Serverless: Exploring Cloud-Native Databases
An airhacks.fm conversation with Jake Luciani (@tjake) about: from Commodore 64 to cloud databases, early programming experiences with Basic and Excel macros, studying cognitive science and its influence on his career, transition to computer science, working at Bell Labs on R language, developing open-source projects like Night Rider MP3 player, creating a NoSQL database that led to involvement with Cassandra, building search API on top of Cassandra, joining datastax as an early employee, working on various aspects of Cassandra including compaction and streaming, challenges of byte buffer implementation, development of CQL (Cassandra Query Language), transition from NoSQL to SQL-like interfaces, separation of compute and storage in cloud databases, using S3 as the source of truth for Astra DB, implementing a Java file system abstraction for S3 integration, using etcd as a transactional cache for metadata, offering multiple APIs including REST and CQL drivers for astra DB, implementing JSON document storage and querying capabilities, cross-AZ cost considerations in cloud deployments, Java as a language for database development, future plans for jlama (Java-based LLM inference engine), the importance of open-source in cloud technologies, cost-driven architectures in cloud deployments, serverless vs. traditional deployments trade-offs, integration of AstraDB with cloud marketplaces and security considerations Jake Luciani on twitter: @tjake

Ep 312Revolutionizing AI with Java: From LLMs to Vector APIs
An airhacks.fm conversation with Alfonso Peterssen (@TheMukel) about: Alfonso previously appeared on "#294 LLama2.java: LLM integration with A 100% Pure Java file", discussion of llama2.java and llama3.java projects for running LLMs in Java, performance comparison between Java and C implementations, use of Vector API in Java for matrix multiplication, challenges and potential improvements in Vector API implementation, integration of various LLM models like Mistral, phi, qwen or gemma, differences in model sizes and capabilities, tokenization and chat format challenges across different models, potential for Java Community Process (JCP) standardization of gguf parsing, quantization techniques and their impact on performance, plans for integrating with langchain4j, advantages of pure Java implementations for AI models, potential for GraalVM and native image optimizations, discussion on the future of specialized AI models for specific tasks, challenges in training models with language capabilities but limited world knowledge, importance of SIMD instructions and vector operations for performance optimization, potential improvements in Java's handling of different float formats like float16 and bfloat16, discussion on the role of smaller, specialized AI models in enterprise applications and development tools Alfonso Peterssen on twitter: @TheMukel

Ep 311JAX-RS With- and Without Reactive Programming in Quarkus
An airhacks.fm conversation with Georgios Andrianakis (@geoand86) about: discussion on JAX-RS and reactive programming in quarkus, comparison of blocking vs non-blocking approaches, performance considerations for different use cases, Quarkus underlying architecture using Vert.x, handling of HTTP requests and responses, thread management in Quarkus, reactive vs traditional programming models, integration with databases using Hibernate and Hibernate Reactive, JSON serialization options (Jackson, JSON-B), balancing act between supporting standards and providing modern features, documentation challenges for a large project like Quarkus, detecting blocked event loop threads, CPU-intensive tasks in reactive programming, non-blocking database drivers for reactive programming, historical perspective on messaging systems and their challenges, use cases for reactive programming, performance characteristics of blocking vs non-blocking systems under high load, brief mention of LangChain for Java and its similarity to JPA for LLMs Georgios Andrianakis on twitter: @geoand86

Ep 310Developer and Database Administrator
An airhacks.fm conversation with Gerald Venzl (@GeraldVenzl) about: from a 386 computer with SimCity to Oracle's database evangelist, early interest in computer hardware and software, apprenticeship as a programmer in Austria, work experience with Oracle database and PLSQL, Steven Feuerstein, PLSQL expert, career moves to New York, London, and San Francisco, role as product manager and team leader at Oracle, efforts to attract developers to Oracle technologies, involvement in Oracle ACE Program, work on docker files for Oracle Database, challenges with ARM port for Mac, popular JavaOne talk on optimizing Java code for database performance, discussion of Oracle's various database technologies including NoSQL and TimesTen, importance of educating developers on database best practices, evolution of database performance techniques, future topics for discussion including Oracle architecture, Java integration, and business logic in databases, Gerald's team of evangelists across Europe, ways to contact Gerald and his team for speaking engagements or information Gerald Venzl on twitter: @GeraldVenzl

Ep 309Java 22 and 23 Features
An airhacks.fm conversation with Nicolai Parlog (@nipafx) about: Java 22 and 23 new features overview, including unnamed variables with underscore, multi-source file launching, G1 region pinning, Foreign Function & Memory API finalization, Markdown Javadoc support, ZGC generational collector by default, discussion on Java installation and beginner-friendliness, debate on proper use of LTS terminology for Java releases, potential for Java in AI/ML space with new vector APIs and native performance, comparison of Java to python for AI workloads, challenges and opportunities for Java adoption in data science and machine learning domains, importance of specialized AI models vs general models for enterprise use cases, trade-offs between developer experience and operational efficiency for different languages and runtimes, potential future directions for Java in high-performance computing and AI acceleration, previously, Nicolai appeared on "#300 Object-Oriented Programming (OOP) vs. Data-Oriented Programming (DOP) in Java" Nicolai Parlog on twitter: @nipafx

Ep 308From Spring to Quarkus: A Java Developer's Journey
An airhacks.fm conversation with Georgios Andrianakis (@geoand86) about: early experiences with computers and programming, transition from Pascal and C to Java in university, early career working with WebLogic and EJB, move to Spring development, joining Red Hat and discovering quarkus, developing Spring compatibility layer for Quarkus, Vodafone Greece case study showing benefits of migrating from Spring to Quarkus, current work on RESTEasy Reactive and langchain4j, exploration of future AI integration in Java with projects like Llama3.java, comparison of Spring, Quarkus, and Micronaut, discussion on the evolution of Spring and its perceived bloat, potential for Quarkus and LangChain4j to revolutionize enterprise AI integration, importance of pure Java solutions for AI inference and integration with existing enterprise applications Georgios Andrianakis on twitter: @geoand86

Ep 307How Micrometer Happened
An airhacks.fm conversation with Jonathan Schneider (@jon_k_schneider) about: Spinnaker's role in continuous delivery and multi-cloud deployments, multi-cloud architectures, Micrometer's origin and design as a vendor-neutral metrics abstraction library, comparison of micrometer to other metrics solutions like opentelemetry and MicroProfile Metrics, exploration of Micrometer's architecture including registries and meter types, debate on static vs dependency-injected registries, explanation of distribution summaries and their use cases, consideration of unit testing metrics, examination of Micrometer's support for multiple monitoring systems simultaneously, discussion of meter filters for customizing metric output, reflection on the trade-offs between language support and monitoring system support in metrics libraries, insights into the separation of application and runtime metrics, Jonathan's experience developing Micrometer at Netflix and Pivotal, current usage of Micrometer and prometheus in Modern's multi-tenant SaaS architecture, comparison of serverless and EC2-based deployments for different use cases, OpenRewrite's growing popularity in Europe Jonathan Schneider on twitter: @jon_k_schneider

Ep 306How the Java-Optimized Vega Chip Happened
An airhacks.fm conversation with Gil Tene (@giltene) about: discussion of Azul Systems' Vega chip, a custom-designed processor optimized for Java workloads, Vega's architecture and features including multiple generations (Vega 1, 2, and 3), high core count (up to 54 cores per chip), custom instruction set, hardware-managed register windows, type-aware pointers for efficient method calls, fully symmetric multiprocessing with up to 16 chips (864 cores total), memory striping across controllers for even distribution, Hardware Transactional Memory support for concurrent Java operations, custom coherency and memory ordering instructions, comparison with contemporary processors from Intel and Sun, challenges in chip design and manufacturing, impact on Java performance and concurrency, evolution of the technology and its influence on modern processor designs, Gil Tene's role in developing the Vega chip and related software technologies at Azul Systems, Gil's blog: Stuff Gil Says Gil Tene on twitter: @giltene

Ep 305How Java HotSpot Compiler Happened
An airhacks.fm conversation with Cliff Click (@cliff_click) about: Cliff Click's early computer experiences with xerox mainframe and punch cards, learning fortran at a young age, programming on TRS-80 and other early microcomputers, developing a passion for compilers and optimization, pursuing a PhD in Computer Science at Rice University, inventing the sea of nodes compiler architecture, working at motorola and discovering Intel's benchmark cheating, joining Sun Microsystems to develop the Java HotSpot compiler, presenting groundbreaking Java performance improvements at JavaOne 2002, frustrations with Sun's management and development processes, moving to Azul Systems for custom Java hardware development, reflections on compiler research, the challenges of being a highly productive programmer in a team environment, analyzing bug rates and productivity metrics, the importance of writing new code for feature development, enjoying Java's "write once, run anywhere" philosophy, current involvement in compiler communities on Discord and Cliff Click on YouTube Cliff Click on twitter: @cliff_click

Ep 304How Bach - "The Java Shell Builder" Happened
An airhacks.fm conversation with Christian Stein (@sormuras) about: early computing experiences with C64, learning Basic and Pascal, transition to Java programming, developing a commercial Java game using lwjgl, involvement with JUnit testing framework as a committer, work on openJDK and Java tools at Oracle, discussion about Java build tools and dependency management, vision for a simpler Java build process using only JDK tools, multi-file source code feature in Java 22, pluggable dependency resolution, tool provider interface introduced in Java 9, potential for a new ecosystem of Java tools, Bach - Java Shell Builder, Adam's YouTube channel with Java programming shorts, misconceptions about Java's verbosity, future plans for Java build tools Christian Stein on twitter: @sormuras

Ep 303From J2ME, over Bluetooth and Speech Recognition to AI
An airhacks.fm conversation with Bruce Hopkins about: transition from Basic to Java, work on Bluetooth technology and writing a book on Bluetooth for Java, involvement with Sun Microsystems and Java ME, becoming a Java Champion, shift to AI and natural language processing research, development of speech recognition and hands-free web navigation systems using pure Java, use of Hugging Face libraries for NLP in 2016, writing for Linux Magazine about mesh VPNs, discovery and exploration of ChatGPT, writing a book on integrating ChatGPT with Java, shared experiences and parallel paths in Java development, discussion about Sun Microsystems vs Oracle's approach to Java, mention of various Java-related technologies like JXTA, Sphinx, FreeTTS, and Dalvik, brief explanation of mesh VPNs and Tailscale, plans for a future podcast episode focused on Bruce's JavaChatGPT book

Ep 302Project Valhalla: Value Types, Nullability and Float16
An airhacks.fm conversation with Paul Sandoz (@paulsandoz) about: Project Valhalla's origins and goals, value types vs reference types, heap and stack flattening optimizations, Value objects and data transfer objects, nullability constraints, enums and values, implicit constructability, potential performance gains, challenges in retrofitting value types into Java, implications for numeric types and operator overloading, connections to Vector API and Project Panama, impact on JVM languages like Scala, timeline and development process for Project Valhalla, potential for improving Java's competitiveness in areas like machine learning, challenges in growing the Java language in an extensible way, considerations around backwards compatibility, Paul Sandoz's role in the project and future directions for Java Paul Sandoz on twitter: @paulsandoz

Ep 301OpenRewrite: Transforming Java Code at Scale
An airhacks.fm conversation with Jonathan Schneider (@jon_k_schneider) about: OpenRewrite as an open-source tool for code transformation using lossless semantic trees (LSTs), recipes as programs that manipulate the LST, YAML configuration for defining recipes, dry run and in-place code modification options, separation of open-source and commercial aspects of the project, Moderne as a SaaS platform for large-scale code analysis and transformation, visualization features in Moderne including dependency usage violin charts, impact analysis capabilities, organizational structure in Moderne for managing large codebases, integration of OpenRewrite in various IDEs and tools including Amazon Q Code Transformer, IntelliJ IDEA, and Visual Studio Code, the business model of open-source and commercial offerings, the genesis of OpenRewrite from Gradle Lint in 2015-2016, recent momentum in adoption, Jonathan's background with micrometer project, discussion about IDEs including Visual Studio Code and IntelliJ IDEA, potential future topics including Micrometer and Spinnaker Jonathan Schneider on twitter: @jon_k_schneider

Ep 300JVector: Cutting-Edge Vector Search in Java
An airhacks.fm conversation with Jonathan Ellis (@spyced) about: discussion of JVector, a Java-based vector search engine, Apache Kudu as an alternative to Cassandra for wide-column databases, FoundationDB - is a NoSQL database, explanation of vectors and embeddings in machine learning, different embedding models and their dimensions, the Hamming distance, binary quantization and product quantization for vector compression, DiskANN algorithm for efficient vector search on disk, optimistic concurrency control in JVector, challenges in implementing academic papers, the Neon database, JVector's performance characteristics and typical database sizes, advantages of astra DB over Cassandra, separation of compute and storage in cloud databases, Vector's use of Panama and SIMD instructions, the potential for contributions to the JVector project, Upstash uses of JVector for their vector search service, the cutting-edge nature of JVector in the Java ecosystem, the logarithmic performance of JVector for index construction and search, typical search latencies in the 30-50 millisecond range, the young and rapidly evolving field of vector search, the self-contained nature of the JVector codebase Jonathan Ellis on twitter: @spyced

Ep 299Object-Oriented Programming (OOP) vs. Data-Oriented Programming (DOP) in Java
An airhacks.fm conversation with Nicolai Parlog (@nipafx) about: the advantages and challenges of Object-oriented programming (OOP) vs data-oriented programming (DOP) in Java, using Java record classes, sealed interfaces, and switch expressions to implement business logic outside of data classes, the advantages of polymorphism and transparent persistence in specific use cases, the pitfalls of deep inheritance hierarchies and instance of checks, modeling data with records and sealed interfaces, validating data at the boundaries and ensuring immutability, using switch expressions and pattern matching for type-based logic, the advantages of data-oriented programming for maintainability and safety, applying data-oriented programming to web services and data pipelines, combining enums with records for complex configurations Nicolai Parlog on twitter: @nipafx

Ep 298From JSP to Rife and From Kotlin to Java
An airhacks.fm conversation with ethauvin (@Erik C. Thauvin) about: Erik previously on: "#298 The bld Power User", running a high-traffic link blog using JSP and Tomcat, challenges with caching and performance, meeting Geert Bevin through discussions about URL encoding, evaluating and migrating his blog to the Rife framework, appreciating Rife's lean architecture and built-in utilities, the appeal and disappointment of Ruby on Rails, using lightweight Java application servers like Glassfish and Payara, avoiding heavy dependencies and XML configuration, generating XML with xdoclet, the advantages of Rife's templating system and code readability, Erik's journey with Kotlin and reasons for returning to Java, building a Kotlin URL encoding library with multiplatform support, the power of Kotlin's multiplatform capabilities, discussing the BLD build tool and its origins in simplifying build processes, the complexities of modern Java builds with dependencies compared to the simplicity of Java EE, considering Ant as an alternative to Maven, the idea of "Build as Code" and integrating build logic into applications, Erik's experience converting over 60 projects to bld, challenges of introducing new build tools in enterprise environments, Erik's automated blog posting system ethauvin on twitter: @Erik C. Thauvin

Ep 297The bld Power User
An airhacks.fm conversation with Erik C. Thauvin (@ethauvin) about: previously Erik on "#287 How Linkblog Happened", from Rife to bld, Gert on "#284 No Dependencies--Or How Rife 2 and Bld Happened", the simplicity and power of bld compared to Gradle and Maven, using Java as the build language without any DSLs or plugins, the advantages of a direct approach to building and running tools, converting projects from Gradle to bld and the resulting simplification, creating extensions for bld to integrate with various tools and libraries, the benefits of using pure Java for build files and the flexibility it provides, the speed of bld and the underlying Java compilers, ideas for future improvements and features in bld, the philosophy behind bld and its focus on simplicity and developer productivity, the potential for using bld as a scripting tool and automation platform, the extension mechanism in bld and how it leverages the builder pattern, the performance gains of using bld over traditional build tools, the aesthetics and user experience of bld, the history of Java compilers and the evolution of Java desktop applications Erik C. Thauvin on twitter: @ethauvin

Ep 296Observability-Driven Development with Digma, Serverless and Java
An airhacks.fm conversation with Roni Dover (@doppleware) about: previously Roni on airhacks.fm "#252 BDD: Bug Driven Development vs. Continuous Observability", discussion about the Java community and its focus on innovation, Digma and Java, Digma's growth and user feedback, observability as a tool for early issue detection and better code design, the importance of continuous observability and reducing mental effort, Digma's elevator pitch and data science approach, the changing testing pyramid and the benefits of test containers, "#103 Unit Testing Considered Harmful", the cost and value of different types of tests, optimizing lambda costs and performance, linking System Tests to traces from quarkus JVMs, Digma's architecture and deployment options, recent features and improvements in Digma, the impact of observability on productivity and shorter feedback loops, AWS Lambda Power Tuning, the limitations and potential of large language models (LLMs) in generating tests and code, the importance of understanding the client and writing maintainable code, the challenges of complex code generated by LLMs, the potential of feeding runtime data to LLMs for code generation and optimization, the Java community's vibrant and innovative nature Roni Dover on twitter: @doppleware

Ep 295Exploring ONNX, Embedding Models, and Retrieval Augmented Generation (RAG) with Langchain4j
An airhacks.fm conversation with Dmytro Liubarskyi (@langchain4j) about: Dmytro previously on "#285 How LangChain4j Happened", discussion about ONNX format and runtime for running neural network models in Java, using langchain4j library for seamless integration and data handling, embedding models for converting text into vector representations, strategies for handling longer text inputs by splitting and averaging embeddings, overview of the retrieval augmented generation (RAG) pipeline and its components, using embeddings for query transformation, routing, and data source selection in RAG, integrating Langchain4j with quarkus and CDI for building AI-powered applications, Langchain4j provides pre-packaged ONNX models as Maven dependencies, embedding models are faster and smaller compared to full language models, possibilities of using embeddings for query expansion, summarization, and data source selection, cross-checking model outputs using embeddings or another language model, decomposing complex AI services into smaller, specialized sub-modules, injecting the right tools and data based on query classification Dmytro Liubarskyi on twitter: @langchain4j

Ep 294High-Performance Java, Or How JVector Happened
An airhacks.fm conversation with Jonathan Ellis (@spyced) about: Jonathan's first computer experiences with IBM PC 8086 and Thinkpad laptop with Red Hat Linux, becoming a key contributor to Apache Cassandra and founding datastax, starting DataStax to provide commercial support for Cassandra, early experiences with Java, C++, and python, discussion about the evolution of Java and its ecosystem, the importance of vector databases for semantic search and retrieval augmented generation, the development of JVector for high-performance vector search in Java, the potential of integrating JVector with LangChain for Java / langchain4j and quarkus for serverless deployment, the advantages of Java's productivity and performance for building concurrent data structures, the shift from locally installed software to cloud-based services, the challenges of being a manager and the benefits of taking a sabbatical to focus on creative pursuits, the importance of separating storage and compute in cloud databases, Cassandra's write-optimized architecture and improvements in read performance, DataStax's investment in Apache Pulsar for stream processing, the llama2java project for high-performance language models in Java Jonathan Ellis on twitter: @spyced

Ep 293LLama2.java: LLM integration with A 100% Pure Java file
An airhacks.fm conversation with Alfonso Peterssen (@TheMukel) about: discussion about Alfonso's early programming experience and participation in the IOI competition, studying computer science and functional programming with Martin Odersky, internships at Google and Oracle Labs working on compilers and the Espresso project implementing a JVM in Java, espresso mentioned in "#208 GraalVM: Meta Circularity on Different Levels", "#194 GraalVM, Apple Silicon (M1) and Clouds", "#167 GraalVM and Java 17, Truffle, Espresso and Native Image" and "#157 The Ingredients of GraalVM", porting LLVM to pure Java in one class, integrating Large Language Models (LLMs) in Java by porting the LLAMA model from C to Java, GPU acceleration with tornadovm, TornadoVM appeared at "#282 TornadoVM, Paravox.ai: Java, AI, LLMs and Hardware Acceleration", performance of the Java port being within 10% of the C versions, potential huge opportunities for integrating AI and LLMs with enterprise Java systems for use cases like fraud detection, the Java port being a 1,000 line self-contained implementation with no external dependencies, the need for more resources and support to further develop the Java LLM integration, the llama2.java project Alfonso Peterssen on twitter: @TheMukel

Ep 292How Kotlin Happened
An airhacks.fm conversation with Anton Arhipov (@antonarhipov) about: Anton appeared previously on "#273 The Long Road to Java and Kotlin", discussion about Anton Arhipov's artwork using circles and a compass, attending the JVM Language Summit in 2011 where Kotlin was introduced by JetBrains, initial skepticism about the need for a new JVM language, JSR-305 Annotations for Software Defect Detection by William Pugh, Kotlin's null safety features and interoperability with Java, Kotlin's growth and adoption by Android developers, Kotlin's multiplatform capabilities for targeting native, JavaScript, and WebAssembly, Kotlin's potential beyond Android development, Kotlin's core libraries for date/time, serialization, and coroutines, the Kotlin compiler being self-hosted and written in Kotlin, benefits of Kotlin Native for serverless and IoT compared to GraalVM, Kotlin Multiplatform support in the upcoming JetBrains Fleet IDE, designers using similar UI principles across IDEs and applications Anton Arhipov on twitter: @antonarhipov

Ep 291How Azul Happened
An airhacks.fm conversation with Gil Tene (@giltene) about: starting with hacking adventure games on a VAX-11/780 as a teenager, building computers and making money in high school, providing access to Usenet, early programming experiences with Pascal and C/C++, moving to Silicon Valley in 1994 and witnessing the rise of Java, working on fault-tolerant computer systems at Stratus Computer, co-founding Azul Systems and developing the Vega appliances to virtualize Java applications, the technical details of how Vega appliances worked by running JVMs on specialized hardware, the evolution of Azul to focus on pure software solutions such as Zing and supporting openJDK, Gil's continued involvement in coding and maintaining open-source libraries Gil Tene on twitter: @giltene

Ep 290Pure 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

Ep 289How OpenRewrite Happened
An airhacks.fm conversation with Jonathan Schneider (@jon_k_schneider) about: from Pentium 2 machine and a rural high school to becoming a Java refactoring entrepreneur, self-taught C++ in high school, officer in the U.S. Army and deployed to Iraq and Afghanistan, worked on Java projects at an insurance company between deployments, joined Netflix to work on engineering tools, challenges of migrating Java versions and libraries in a freedom and responsibility culture, started the OpenRewrite project at Netflix for automated refactoring and code migration, founded the micrometer metrics instrumentation project at Pivotal, challenges of introducing automated pull requests in enterprise environments, rebooted OpenRewrite while working with Gradle's Hans Dockter, founded Moderne to commercialize OpenRewrite for large-scale enterprise refactoring, the origin of the Moderne name and its Art Deco roots, OpenRewrite's Maven and Gradle plugins for refactoring and styling using a visitor pattern on an enriched AST, Moderne's enterprise offering for large-scale refactoring and impact analysis, potential integration with large language models and retrieval-augmented generation for code optimization Jonathan Schneider on twitter: @jon_k_schneider

Ep 288Underscore, 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

Ep 287Integrating 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

Ep 286How 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

Ep 285A 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

Ep 284How 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

Ep 283No 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

Ep 282From Hexagonal Architectures to Data Oriented Programming
An airhacks.fm conversation with Jose Paumard (@JosePaumard) about: discussion about Object-oriented programming vs data-oriented programming in Java, using Java record classes, hexagonal architectures, considerations for decoupling and abstractions, the advantages of polymorphism and transparent persistence, the pitfalls of inheritance and abstraction, the importance of naming and cohesion sealed interfaces and switch expressions to implement business logic outside of data classes, using sealed types and switch statements, advantages of better separation of concerns and ease of removing unused code, data-oriented programming with NoSQL, the Citroen 2CV (Duck) Car Jose Paumard on twitter: @JosePaumard

Ep 281TornadoVM, 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

Ep 280Java and eBPF
An airhacks.fm conversation with Johannes Bechberger (@parttimen3rd) about: previously Johannes on airhacks.fm: "#276 A Compiler Nerd Builds a Tiny Profiler", bcc and libbpf, generating Java code from c-library headers: jextract, using Project Panama as JNI alternative, sapmachine.io - openJDK from SAP, Hello eBPF: Developing eBPF Apps in Java Johannes Bechberger on twitter: @parttimen3rd

Ep 279Virtual Threads and Scoped Values with Jose
An airhacks.fm conversation with Jose Paumard (@JosePaumard) about: Jose previously on "#271 From Image Recognition to CoffeeCast", Joses favourite Java 21 feature: virtual threads, Project Loom, Tomas Langer on airhacks.fm: "#58 Helidon: Never Block The Thread", the advantages of structured concurrency, scope values: immutability and passing, the challenges of debugging reactive code, replacing thread locals, Scala, concurrency and plain Java features, ThreadLocal vs. Scoped Values (JEP-464), AWS Lambda and virtual threads, running same code in serverless or threaded environments with quarkus Jose Paumard on twitter: @JosePaumard

Ep 278Java, Continuations and How Rife Happened
An airhacks.fm conversation with Geert Bevin (@gbevin) about: early days learning to code on a Commodore 64 and writing a painting program, learning Basic, Turbo Pascal, then C++, building custom software for companies in Belgium using Java and owned the IP, Seaside web framework was written in Smalltalk, Rife web framework, Cameron Purdy on "#16 Java, Caching and How the Information Flows", Cedric Beust on "#134 How EJBGen, TestNG and ...Android happened", the lightweight Spark (web framework), Gradle and Apache Maven, Project Loom and Continuations, BLD build tool, Object-oriented programming, Smalltalk, Seaside (software), ASM (Java bytecode manipulation and analysis framework), Rife and continuations, Rife is based on Servlets, Velocity (software), Spark (web framework), jetty (web server),Apache Tomcat, WAR (Sun file format), JSP, Kotlin, Tangosol, TestNG Geert Bevin on twitter: @gbevin

Ep 277Java at Azul: The Interesting Features
An airhacks.fm conversation with Gerrit Grunwald (@hansolo_) about: Gerrit appeared previously at "#268 How Han Solo wrote SteelSeries", Java desktop applications are still widely used in large companies and industries for internal tools, as they are easy to build and deploy. Swing and JavaFX are faster and more native than their reputation suggests. On the server side, Java is very efficient for cloud workloads compared to other languages. The Zulu OpenJDK production-ready build of OpenJDK offers added features like security scanning. Azul Zing, Azul Vulnerability Detection, "#126 JavaFX Everywhere ...also in App Stores" with Johan Vos, now called Azul Platform Prime, includes an enhanced Falcon JIT compiler that can speed up performance significantly on some workloads. Prime also supports fast startups via checkpoints with CraC, and faster warmup with ReadyNow pre-compiled optimizations, IBM InstantOn is similar to CraC, Azul Platform Prime was primarily called Zing, Azul Code Inventory helps with code migrations Gerrit Grunwald on twitter: @hansolo_

Ep 276Project Babylon
An airhacks.fm conversation with Paul Sandoz (@paulsandoz) about: Project Babylon aims to enable Java integration with GPUs and accelerators through Code Reflection, building on Project Panama, Code Model can be used to optimize machine learning models, generate SQL, Java and GPUs, Project Babylon, Project Sumatra, CUDA, OpenCL, MLIR, Edge Computing, WebAssembly, Project Leyden, project valhalla, Code reflection, SQL optimization, edge functions, WebAssembly, WASM, BLIS presentation, Code Reflection presentation Paul Sandoz on twitter: @paulsandoz

Ep 275A Compiler Nerd Builds a Tiny Profiler
An airhacks.fm conversation with Johannes Bechberger (@parttimen3rd) about: c-control, enjoying lejos and NXT, learning HTML, starting at SAP, learning Java in 2010, AMD Windows 98 machine, then a netbook with Intel Atom, fixing segmentation faults, working on real time option parser, building a real Garbage Collector with Lego, the SAP Machine, building a profiler A flame graph is the view of a tree, execution frequency and method performance, Project Panama, Project Loom and Tiny Profiler, writing ebpf.io in Java, https://mostlynerdless.de Johannes Bechberger on twitter: @parttimen3rd

Ep 274A Helidon Conversation
An airhacks.fm conversation with David Kral (@VerdentDK) about: j4c, the developer number 10, the Helidon’s mission statement, programming the reactive way, "#58 Helidon: Never Block The Thread" with Tomas Langer, what does it mean to developer the programming way, episode with Daniel Kec "#217 ACID, Base, XA and Long Running Actions", the relation between Helidon.io and Jersey, Jersey was contributed to Eclipse, the popularity of Helidon SE vs. Helidon MP, the lightweight Helidon SE, open source and quality, the joy of encryption, Helidon and "no dependencies" David Kral on twitter: @VerdentDK

Ep 273Work Smart, Take Responsibility and Xmas in Brazil
An airhacks.fm conversation with Bruno Souza (@brjavaman) about: Bruno previously on airhacks.fm "#222 Xmas with the Brazilian JavaMan", The Talent Code book, no geniuses, only smart work, episode with Gerrit Grunwald "#268 How Han Solo wrote SteelSeries", making projects successful, xmas meal: rabanada, panettone, working to solve problems, outsourcing vs. AI generated code, continuous feedback loop, an episode with Ed Burns: "#171 Java, Jakarta EE and MicroProfile on Azure", growing beyond senior, Java vs. python, java for task automation, the quarkus Club discord channel, the Java User Group tour, Generative AI, ChatGPT and the future of programming, Developer Career Masterplan book Bruno Souza on twitter: @brjavaman

Ep 272The Long Road to Java and Kotlin
An airhacks.fm conversation with Anton Arhipov (@antonarhipov) about: playing sports games on Pentium 233 MHz the 2014 JavaOne Rockstar awards about NetBeans, Eclipse, and IntelliJ., enjoying sports games and destroying joysticks, practicing competitive swimming, swim training, starting to program in Turbo Pascal at Maelardalen University, ship simulation with Java for Vasa Museum, joining a company which maintains RefactorIT, working with Java EE and WebLogic and JRockit, joining ZeroturnAround and working on JRebel, Rebel and LiveRebel, working on a profiler, JetBrain’s MPS, DevRel for TeamCity, AppCode features are appearing in fleet, Fleet is built on common UI principles, the rendering engine Skia, Kotlin and Jetpack Compose, Circles by Anton Anton Arhipov on twitter: @antonarhipov

Ep 271Minecraft Influenced JSON-B Design
An airhacks.fm conversation with David Kral (@VerdentDK) about: enjoying Age of Empires 2, starting with Visual Basic, developing games with Java, using NetBeans, developing for MineCraft, Java vs. VisualBasic, "#112 Java SE, MicroProfile and GraalVM: the Helidon's Way" with Dmitry Kornilov, developing plugins for Minecraft, building protection in Minecraft, creating a Stargate for Minecraft, starting at Oracle to develop JSON-B and yasson, JSON-B vs. JSON-P, jsonator, improving JSON-B performance, Yasson in Helidon, J4C was the origin Helidon’s name David Kral on twitter: @VerdentDK

Ep 270From Image Recognition to CoffeeCast
An airhacks.fm conversation with Jose Paumard (@JosePaumard) about: TI-57 was stateless Oric 1, BigDecimal use cases, the travelling salesman algorithm, the Cray, working with Sun SPARC machines, CM5 and NeXTcube, the conference in generate code, star recognition, working at research Lab in Paris, enjoying emacs, emacs vs. vim, writing documentation in LatEx working on SunOS then Solaris, HPUX and CDE, 512 MB RAM of the price of a flat in Paris, processing large images and recognising building in real time, wavelet and cosine transforms, starting as professor in 1994 , JDBC war leased in 1997 with Java 1.1., working as devrel at Oracle three years again, running AI models, project Panama is the bridge, Java innovation, pattern matching in Java, String Templates, Java 21 LTS, youbube.com/java Jose Paumard on twitter: @JosePaumard

Ep 269Not Injectable Principals, Quarkus, MicroProfile and Smallrye
An airhacks.fm conversation with Martin Stefanko (@xstefank) about: starting with 4th generation i7 in 2013, the kernel hacker look, starting with Java 6, starting at RedHat, joining the JBoss EAP team, starting to maintain MicroProfile.io Health specification, Quarkus in Action book, smallrye.io vs. MicroProfile.io, Glassfish to Quarkus migrations, using Quarkus internal APIs, MicroProfile API compatibility, a composite quarkus-microprofile extension, Quarkus deploys at build time, saving money in the cloud, MicroProfile Metrics vs. micrometer, the burning icon and xstefank, SpringBoot vs. Quarkus startup time Martin Stefanko on twitter: @xstefank

Ep 268Why Kotlin is Better Than Java
An airhacks.fm conversation with Ingo Kegel (@IngoKegel) about: Java and nullability, java's java.util.Optional, typesafe HTML templates in Kotlin, statically vs. dynamic typic, what is going to replace Java?, Kotlin Multiplatform makes the difference, Kotlin IR, the Fuchsia operating system, JetBrains Fleet IDE, Nashorn and Java, Kotlin Serialization, Ktor, kotlin support in JProfiler, JProfiler coupon code: 50% off with "java2023" Ingo Kegel on twitter: @IngoKegel

Ep 267How Han Solo wrote SteelSeries
An airhacks.fm conversation with Gerrit Grunwald (@hansolo_) about: TI-99/4A, the magical REM in Basic, writing assembly on Sharp Z80, Sun Ray thin client, starting with JDK 1.4 writing portable UI code with Java, harmoniccode.blogspot.com, canoo.com became a EV engineering company, migrating JavaFX properties with bindings to Java, SteelSeries-Canvas - Java FX widgets ported to JavaScript Gerrit Grunwald on twitter: @hansolo_

Ep 266Instrumenting, Probing and Asynchronous Profiling
An airhacks.fm conversation with Ingo Kegel (@IngoKegel) about: Ingo previously at: "#265 How JProfiler Happened", JVMTI and JVMPI, Java agents vs. JVMTI profilers with JNI, Project Panama vs. JNI, sampling stacktraces and stop the world, async sampling and instrumentation, asynchronous instrumenting profilers, using jprofiler for JFR event visualisation, JProfiler vs. Java Mission Control, JVMTI and allocation sampling, jvisualvm sampling and instrumentation, counting method calls with instrumentation, filtering method runtime data with probes, exception probe recording, filtering data with thread states, high performance profiling, fast data gathering with project disruptor Ingo Kegel on twitter: @IngoKegel