
airhacks.fm podcast with adam bien
398 episodes — Page 3 of 8

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

Ep 265Java, Microsoft and Software Development with AI
An airhacks.fm conversation with Brian Benz (@bbenz) about: the autumn conferences: Oracle Cloud World, IBM Tech Exchange, the Oracle operator for WebLogic, Jakarta EE, and MicroProfile on Azure, Oracle Cloud World vs. JavaOne, Java EE, Jakarta EE, and MicroProfile on Azure, WebLogic on Azure, JavaOne and Oracle Cloud World, the beginnings of open source at Microsoft, Microsoft Open Tech, the first JUG meeting in Seattle by Microsoft in 2013, the program manager for Java …and Node, program managers vs. evangelists, GitHub Copilot and GitHub Copilot Chat, the slash commands and Copilot Chat, the effectiveness of AI in software development, Semantic Kernel and data indexing, Ampere CPU and 30% power reduction, the hoover dam and solar power Brian Benz on twitter: @bbenz

Ep 264How JProfiler Happened
An airhacks.fm conversation with Ingo Kegel (@IngoKegel) about: Epson HX-20 in 1983, transition to IBM PC, writing games in Basic, fast calculations in C, using Java in ecommerce projects, starting to build jprofiler, JVMPI and JVMTI, jprobe and OptimizeIT, freshmeat.net, theserverside.com, jprofiler is written in Swing, podcast about btrace, inter JVM profiling in two windows, async sampling vs. jvmti sampling, Project Loom challenges, a nice looking Swing UIs with flatlaf, how to deal with millions of threads, creating Java installer and launcher, the ugly Napkin LaF, the 2-pizza team Ingo Kegel on twitter: @IngoKegel

Ep 263Profilers, Probing, Sampling and Instrumentation
An airhacks.fm conversation with Jaroslav Bachorik (@yardus) about: starlink trouble, sampling profiles are trending, sitraka jprobe, jprofiler, hppc - the high performance collections, JCTools and concurrent queues, millions of messages per second, LMAX Disruptor, bytecode generation with asm, ASM DOM - Domain Object Model, jps, NetBeans and anagram, btrace quick start, byteman is similar to asm, Glassfish with btrace, HdrHistogram the histogram “plotter”, instrumentation of JDK classes Jaroslav Bachorik on twitter: @yardus

Ep 262How JAX-RS Happened
An airhacks.fm conversation with Paul Sandoz (@paulsandoz) about: bbc micro, Archimedes was the start of ARM, the Elite game, writing a painting application, graphics protocol emulation, studying cybernetics, remote control of production factories, developing a VR headset, using Silicon Graphics machines, building a 3D engine, working on Sun Microsystems on the CDE environment, switching to XML technology group at Sun Microsystems, Apache Jelly, SOAP was the past of least resistance, the WS-* specifications, Roy Fielding and Representational State Transfer (REST) architecture style, starting to work on JAX-RS, the Convention over Configuration trade-offs, joining CloudBees to work Kohsuke Kawaguchi "#143 How Hudson and Jenkins happened", starting at Oracle’s Java team to work on project Jigsaw and Streams Paul Sandoz on twitter: @paulsandoz

Ep 261The IBM Certified Presenter and XML Evangelist
An airhacks.fm conversation with Brian Benz (@bbenz) about: C64, writing an inspirational notes app in Basic, writing software on paper cards for Apple, exploring gas fields in the see with Lotus 123 and dBASE, working on System 38, travelling Europe with train and bicycle, writing replication engine in Clipper-llrp, floppy disc replication, Lotus Notes and CouchDB, Lotus Notes by Iris Associates, The Lotus Notes and Domino 6 Programming Bible book, The XML Programming Bible, writing a XML replication engine, LexisNexis, using Apache Xerces and Apache Xalan, Append-only storage, job interview at Microsoft in XML area, Apache POI, Microsoft Open Tech, using AWS as XML search API, joining the first JavaOne Brian Benz on twitter: @bbenz

Ep 260JAX-RS, OAuth, OpenID Connect (OIDC), Authentication, Authorization and Quarkus
An airhacks.fm conversation with Sergey Beryozkin (@sberyozkin) about: RPC vs. REST, Paul Sandoz was driving the JAX-RS specification, the scalability of REST, the Tolerant Reader pattern, HATEOAS, Jersey was the reference implementation of JAX-RS, JAX-RS without servlets, the problems with OAuth 1, OAuth 2 fixed OAuth 1 problems, the session fixation problem, OIDC builds on OAuth 2, in OAuth 2 there are no sessions, Confidential OIDC client, OIDC extension, Elytron Security OAuth 2.0, ID tokens vs. access tokens, Opaque access tokens vs. JWT access tokens, the implicit flow, SmallRye JWT extension vs. OIDC extension, the importance of standards, the value of standards, passkeys the NeXT big thing, verifiable credentiats, JSON web proof, mutual TLS support in Quarkus, automatic certificate renewal Sergey Beryozkin on twitter: @sberyozkin

Ep 259How BTrace Happened
An airhacks.fm conversation with Jaroslav Bachorik (@yardus) about: programming a paper computer, Atari 130, building a drum machine for Atari, the Programming Pearls book, building a sound sampler, building a game for Atari, getting Amiga 1200, inspired by Paint Shop Pro, building software in Norway in Visual Basic, the most famous castle in Slovakia - Bojnice Castle, starting a software company, building cluster software in Manchester with Java Applets, using the jahia content server, enjoying Apache Tapestry, joining Sun MIcrosystems NetBeans team, working on the NetBeans profiler, jvisualvm and NetBeans profiler, dtrace and btrace, how btrace started, btrace is used by Alibaba, joining the serviceability JDK team, joining Marcus Hirt at Datadog, building a continuous profiler Jaroslav Bachorik on twitter: @yardus

Ep 258How Boundary Control Entity, UML and Components Happened
An airhacks.fm conversation with Ivar Jacobson (@ivarjacobson) about: Apple 2c at ericsson.com, building software with components, writing about science of component based development, devops in 1976, function and logic programming in 1983, imperative, logic and functional programming, leaving Ericsson, the Rational Objectory Process, Objectory stands for Software Factory, objectory and Rational unified process, intelligent agents supported RUP, intelligent agents are copilots, building an intelligent agent in .net, Boundary Control Entity or Entity Control Boundary, the Object Oriented Software Engineering: A Use Case Driven Approach book, Structured Method vs. Essence, the road to agile RUP, Ivar Jacobson on LinkedIn Ivar Jacobson on twitter: @ivarjacobson

Ep 257How FlywayDB Happened
An airhacks.fm conversation with Axel Fontaine (@axelfontaine) about: starting with 8086 and 640 kB, starting with GW Basic, enjoying Alley Cat and Monkey Island on Sega Master, switching to QBasic, protecting the lemmings, the cyber cafe Cyberia in London, learning Turbo Pascal, impressed by Java Applets, starting in 1998 at IBM Global Services, using Visual Age for Java, travelling the world, the envy version control for Visual Age for java, attending JavaPolis, qcon, first talk at JUG Augsburg about Continuous Delivery, the Continous Delivery Book, Ruby DSL migrations, “data will outlive the code”, database outlives the code, the travel report website, Flyway - the migration path for birds, using JDBC metadata for schema migrations, promoting FlywayDB, paid features and support contracts, running migrations on application startup, the Java EE simplicity Axel Fontaine on twitter: @axelfontaine

Ep 256Why MicroStream is Faster
An airhacks.fm conversation with Florian Habermann (@FHHabermann) about: CPC Schneider / Amstrad, playing with Basic and sound, building an 3d engine in BASIC, from BASIC to Java, the private school: BSZ Wiesau, ObjectStore, Versant, Poet, Object database, moving the IDE to Eclipse, using Vaadin as frontend framework, RapidClipse, Markus Kett on airhacks.fm: "#36 Java Native Database", "#116 MicroStream: When a Java Application Becomes a DB", the object-relation impedance mismatch, Object-Relational Mapping is the Vietnam of Computer Science, JetStream became microstream, Java Serializer only supports a complete snapshot, MicroStream supports partial serialization, FileMaker - productivity for non-programmers, using sun.mics.Unsafe, id to object mapping with SwissLink, cloud-native storage with S3, DynamoDB and MicroStream, Universally Unique Lexicographically Sortable Identifier: ulid, managing object versions with microstream.one Florian Habermann on twitter: @FHHabermann

Ep 255Virtual Threads, Parallel Streams, Concurrency and Parallelism
An airhacks.fm conversation with Heinz Kabutz (@heinzkabutz) about: the click consonant, the number of parallel stream threads, the resource deadlock, the deadly embrace deadlock, the thread dump of millions threads, pinning vs mounting, Helidon Nima, jetty and quarkus are using parallel threads, virtual threads are mounted to carrier threads, the carrier thread pool, the common ForkJoinPool, concurrency vs parallelism, concurrency with structured concurrency, the size of the common thread pool can be zero, Reactive Java at Netflix, "GC Overhead Limit Exceeded", the remaining use cases for reactive programming, virtual threads for timers, the CompletableFuture Heinz Kabutz on twitter: @heinzkabutz

Ep 254A Deeper Dive Into Debugging
An airhacks.fm conversation with Shai Almog (@debugagent) about: method breakpoints on exit and tracepoints, method breakpoints on pattern, tracepoints and logpoints, field watch points, a watchpoints steps on a different location, stop on exception and filtering, suspending threads on a breakpoint, jdb ships with Java, RR the time travelling debugger created by Mozilla, render library by IntelliJ, logging is a major cost factor, using patterns in logs, writing tests for log statements, btrace - the dtrace for java, JaCoCo agent, kubernetes is not for startups, vendor neutral is lost in the clouds, Mozilla rr project, Shai Almog (Debugagent) on Youtube Shai Almog on twitter: @debugagent

Ep 253How JavaPolis and Devoxx Happened
An airhacks.fm conversation with Stephan Janssen (@Stephan007) about: C 64 and Basic, studying assembly, the 1001 Crew, commado frontier, Amiga 500 and Pascal, SNA vs. TCP/IP, the Java in a Nutshell book, starting the Belgium Java User Group, starting the JCS consulting company, starting JavaPolis, Adaptive Server Enterprise, integrating SonicMQ in CERN, Java and kinepolis became JavaPolis, JavaPolis, Javoxx then Devoxx, starting Parleys, the innovative Python’s LangChain, langchain for J, the python mojo project, Python dependencies are problematic, Python Conda, agenda planning with ChatGPT, the Devoxx blues, the fake boiling frog, with ChatGPT source code becomes less important, Model Driven Architecture (MDA), 33rd Degree Conference vs. Devoxx Stephan Janssen on twitter: @Stephan007

Ep 252Java on Azure and a Nailless Java Champion
An airhacks.fm conversation with Antonio Goncalves (@agoncal) about: Microsoft loves Linux and Java, Brian Benz is a Java Champion, Microsoft Build of OpenJDK, Eclipse Adoptium, Julian Dubois nubesgen, Neal Gafter worked on Java and switched to Microsoft, Azure Container Instances, Azure Container Apps, Azure App Service, Azure VM, Web App for Containers, Azure Bicep, modular Glassfish, Microsoft Build of openJDK, Maven plugins for Azure, Quarkus Azure Extensions, ARM Templates, from javax. to jakartaee. migration, Azure Functions Premium plan, Lambda SnapStart, GraalVM native image, GraalVM tree shaking and closed world assumption, quarkus tree shaking and build time optimizations, "the gralifier", GitHub Copilot, Semantic Kernel for Java, conversation scope and AI Antonio Goncalves on twitter: @agoncal

Ep 251BDD: Bug Driven Development vs. Continuous Observability
An airhacks.fm conversation with Roni Dover (@doppleware) about: enjoying Sword of Aragon game, writing text games then graphics games, learning .net then Java, managing complexity, the problem solving skills over programming language, learning Ruby and python, writing J2ME applications, writing purpose driven and simple code, Domain Driven, CQRS and Event Sourcing, the challenges of polyglot programming, BDD Bug Driven Development and continuous feedback, the wrong focus on unit tests, pretty, but not useful dashboards, EMF the Embedded Metric Format, The Director of Enterprise Architecture, there was no google analytics for code, improving your code with observability, the impact of code changes to traces, starting digma.ai and “Java First”, the airhacks discord server, OpenTelemetry instrumentation, automatic analysis of opentelemetry data, "#49 KISS Java EE, MicroProfile, AI, (Deep) Machine Learning" with Pavel Pscheidl, Digma Beta Program, Continuous Feedback Slack Group, Continuous Feedback In Java Roni Dover on twitter: @doppleware

Ep 250From CORBA, over RPC to REST ...and Back?
An airhacks.fm conversation with Sergey Beryozkin (@sberyozkin) about: Mainframe at the university, learning C on paper, switching from C to C++, programming Rexx on COBOL, from C++ to Java, starting at Iona in Ireland, Apache CXF was founded by Iona, CORBA, grpc, SOAP and REST, joining talend and RedHat, working on WildFly Swarm, Wildfly Swarm became Thorntail, Thorntail ideas were reused in quarkus, Quarkus deploys on build time, committing to Apache Tika, Apache Tika extracts metadata from documents, Quarkus Tika extension, becoming the Quarkus Security Coordinator, reactive vs. classic programming with JAX-RS on Quarkus, Tika is often used for Machine Learning, Quarkus Security Overview, using Keycloak as IDP, Quarkus and OIDC Sergey Beryozkin on twitter: @sberyozkin

Ep 249FPGAs, GPUs or Data Science with Java
An airhacks.fm conversation with Juan Fumero (@snatverk) about: 8088 an IBM clone, joining a cross country running team at school, Zoran previously at "#169 Deep Learning with Modern Java Code", leaning Turbo Pascal, C and C++, working on particle detection at CERN , working on GraalVM to GPU compilation and optimization, using direct memory access to communicate with the GPU, vector types in Java, Apache Flink acceleration on FPGA and GPUs, working on FPGAs, using RTL for FPGA programming, transparent acceleration for Java, astrophysics analytics with Java, DeepNetts on tornadovm, the relation between TornadoVM and GraalVM, using Panama to access native memory GPU-less TornadoVM, contributing to TornadoVM Juan Fumero on twitter: @snatverk