Episódios

  • Building AI-Native Code Platform With Java for Java
    Jul 3 2025
    An airhacks.fm conversation with Jonathan Ellis (@spyced) about: Brokk AI tool for code generation named after Norse god of the forge, AI as complement to experienced programmers' skillsets, age and productivity in programming, transition from JVector to working on Cassandra codebase, challenges with AI in large codebases with extensive context, building tools for historical Java codebases, comparison of productivity between younger and older programmers, brute force coding vs experienced approach, reading code quickly as a senior skill, AI generating nested if-else statements vs better structures, context sculpting in Brokk, open source nature of Brokk, no black boxes philosophy, surfacing AI context to users, automatic context pulling with manual override options, importing dependencies and decompiling JARs for context, syntax tree based summarization, Maven and Gradle dependency handling, unique Java-specific features, multiple AI model support simultaneously, Claude vs Gemini Pro performance differences, Git history as context source, capturing commits and diffs for regression analysis, migration analysis between commits, AI code review and technical debt cleanup, style.md for code style guidelines, using modern Java features like var and Streams, Error Prone and NullAway integration for code quality, comparison with Cursor's primitive features, branching conversation history, 80% time in Brokk vs 20% in IntelliJ workflow, sketching package structures for AI guidance, data structures guiding algorithms, Git browser by file and commit, unified diff as context, reflection moving away from due to tooling opacity, Jackson serialization refactoring with DTOs, enterprise features like session sync and sharing, unified API key management, rate limit advantages, parallel file processing with upgrade agent, LiteLLM integration for custom models, pricing model based on credits not requests, $20/month subscription with credits, free tier models like Grok 3 Mini and DeepSeek V3, architect mode for autonomous code generation, code button for smaller problems with compile-test loop, ask button for planning complex implementations, senior vs junior programmer AI effectiveness, self-editing capability achieved early in development, no vector search usage despite JVector background

    Jonathan Ellis on twitter: @spyced

    Exibir mais Exibir menos
    1 hora e 2 minutos
  • Not Your Java Package Handler
    Jun 21 2025
    An airhacks.fm conversation with Billy Korando (@BillyKorando) about: Apple IIe and Packard Bell in the late 80s/early 90s, playing games like Three Stooges and Wolfenstein 3D, taking a year off after high school to work at FedEx as a package handler which motivated him to pursue higher education, his first professional job working on insurance regulation software using Java 1.4 with Apache Struts and custom frameworks, transitioning to Spring 2.5 and experiencing the XML configuration challenges, experience with the microservices hype around 2015 and learning that organizations that couldn't build good monoliths wouldn't succeed with microservices either, automated testing and JUnit 5, meeting Pratik Patel at DevNexus which led to his first devrel position at IBM, traveling extensively for conferences including J-Fall in the Netherlands, being laid off from IBM in 2021 and joining Oracle's Java team, focusing on JDK technologies like JFR, garbage collection, and project leyden, helping organize the Kansas City Developers Conference, involvement in reviving JavaOne as a standalone conference, the importance of automated testing with tools like Test Containers versus older approaches with H2 databases, the challenges of maintaining code coverage as a metric, the evolution of Java, focus on Java observability tools and performance optimization

    Billy Korando on twitter: @BillyKorando

    Exibir mais Exibir menos
    1 hora e 12 minutos
  • From Punch Cards (and Tapes) to Java
    Jun 17 2025
    An airhacks.fm conversation with Maurice Naftalin (@mauricenaftalin) about: Shelton Signet CP/M machine costing £3000 in the 1980s, discussion about the CP/M operating system which started in 1972, Maurice's early career teaching programming at Wolverhampton Polytechnic (now University), teaching Pascal programming language, creating a membership system for a political campaign using his first computer, Maurice's background as a chemist studying nuclear magnetic resonance (which later became MRI), learning fortran to process data using Fast Fourier Transforms, discussion about the NAG Library and challenges with array indices between C and Fortran, programming in the early days using punch cards and waiting hours for compilation results, the evolution from punch cards to paper tape which was more fragile, the role of punch operators who would type programs onto cards, Maurice's experience programming in assembler after learning Fortran, working at British Steel on an eccentric project to create a new programming language, moving to ICL (International Computers Limited) to work on the VMEB operating system with 15-16 protection rings, using traffic lights mounted on walls to indicate system status (red for down, amber for booting, green for operational), Maurice's interest in formal methods and the Vienna Development Method (VDM), working at Sterling University on formal specification and stepwise refinement, programming in HyperTalk for HyperCard in the 1990s, the Post Office Horizon scandal where a flawed computer system led to false fraud accusations against hundreds of sub-postmasters, Maurice's early Java programming creating a local information service distributed on CDs in the mid-1990s, discussion about offline-first principles and caching data that are still relevant today, Maurice being a "singleton" as the only Maurice Naftalin on the internet

    Maurice Naftalin on twitter: @mauricenaftalin

    Exibir mais Exibir menos
    1 hora e 6 minutos
  • Injection Without Reflection
    Jun 7 2025
    An airhacks.fm conversation with David Kral (@VerdentDK) about: Helidon Declarative as a new feature set for Helidon SE, build-time dependency injection with zero reflection capability, code generation approach that creates actual Java source files instead of bytecode manipulation, Service Registry as an enhanced Java service loader with ordering capabilities, compatibility with GraalVM for native image compilation, JPMS (Java Platform Module System) compatibility, the Maven plugin that eliminates reflection completely, HTTP module for declarative REST endpoints, REST client generation, metrics and fault tolerance support, interceptors for modifying service creation behavior, annotation mapping to support standard JSR-330 annotations like @Inject, comparison of performance between Helidon SE and MP flavors, use cases for serverless and CLI applications, the incubating status of Helidon Declarative with full release planned for Helidon 5, the ability to see and modify generated code for better debugging and transparency, the possibility to copy generated code to take ownership and remove dependencies, the value of using standard annotations for better portability between frameworks

    David Kral on twitter: @VerdentDK

    Exibir mais Exibir menos
    57 minutos
  • About Amazon Corretto
    Jun 1 2025
    An airhacks.fm conversation with Volker Simonis (@volker_simonis) about: explanation of corretto as an openJDK distribution with support for multiple platforms and Java versions, insights into the build and certification process for Corretto releases including TCK testing, discussion of the security vulnerability group and embargo process for Java security fixes, explanation of how Amazon contributes features back to OpenJDK, detailed overview of Amazon's contributions including async logging for improved performance, Project Lilliput for compact object headers reducing memory usage by 10-50%, Generational Shenandoah garbage collector achieving sub-millisecond pause times, comparison between ZGC and Shenandoah garbage collectors, discussion about the Graal compiler and Project Galahad to reintroduce it into OpenJDK, mention of Amazon being the second largest contributor to OpenJDK after Oracle, information about the Amazon Corretto Crypto Provider for improved encryption performance, introduction of arctic GUI testing tool for Java, insights into the collaborative nature of the OpenJDK ecosystem despite competition between vendors

    Volker Simonis on twitter: @volker_simonis

    Exibir mais Exibir menos
    1 hora e 6 minutos
  • Building Immutable Release Pipelines with Hashgraph
    May 25 2025
    An airhacks.fm conversation with RichardBair (@RichardBair) about: the relaxed nature of JavaOne keynote presentations with James Gosling, the experience of delivering live demos versus pre-recorded content, impressions of the recent JavaOne conference with 70% new attendees, the Hashgraph team including former Sun/Oracle employees like Josh Marinacci and Jasper Potts, explanation of Hedera Hashgraph's consensus service as a message bus system, discussion of a practical enterprise use case for Hashgraph to create immutable release pipelines, storing release stages as messages in a topic, capturing build metadata including dependencies and test results on the blockchain, the ability to run your own mirror node to query data for free, the potential to create a release pipeline listener that triggers actions based on blockchain messages, the advantage of having an immutable audit trail for compliance purposes, the possibility of creating an enterprise gateway that handles payment and provides REST APIs, the difference between consensus nodes and mirror nodes, the benefits of using blockchain for software supply chain verification, the performance capabilities of the system for reading thousands of messages per second

    RichardBair on twitter: @RichardBair

    Exibir mais Exibir menos
    1 hora e 14 minutos
  • Accelerating LLMs with TornadoVM: From GPU Kernels to Model Inference
    May 18 2025
    An airhacks.fm conversation with Juan Fumero (@snatverk) about: tornadovm as a Java parallel framework for accelerating data parallelization on GPUs and other hardware, first GPU experiences with ELSA Winner and Voodoo cards, explanation of TornadoVM as a plugin to existing JDKs that uses Graal as a library, TornadoVM's programming model with @parallel and @reduce annotations for parallelizable code, introduction of kernel API for lower-level GPU programming, TornadoVM's ability to dynamically reconfigure and select the best hardware for workloads, implementation of LLM inference acceleration with TornadoVM, challenges in accelerating Llama models on GPUs, introduction of tensor types in TornadoVM to support FP8 and FP16 operations, shared buffer capabilities for GPU memory management, comparison of Java Vector API performance versus GPU acceleration, discussion of model quantization as a potential use case for TornadoVM, exploration of Deep Java Library (DJL) and its ND array implementation, potential standardization of tensor types in Java, integration possibilities with Project Babylon and its Code Reflection capabilities, TornadoVM's execution plans and task graphs for defining accelerated workloads, ability to run on multiple GPUs with different backends simultaneously, potential enterprise applications for LLMs in Java including model distillation for domain-specific models, discussion of Foreign Function & Memory API integration in TornadoVM, performance comparison between different GPU backends like OpenCL and CUDA, collaboration with Intel Level Zero oneAPI and integrated graphics support, future plans for RISC-V support in TornadoVM

    Juan Fumero on twitter: @snatverk

    Exibir mais Exibir menos
    1 hora e 11 minutos
  • Run Java with Java
    May 11 2025
    An airhacks.fm conversation with Christian Humer (@grashalm_) about: bachelor thesis on a Java bytecode interpreter written in Java, exploration of whether Java could be used as a systems language, benefits of implementing an ecosystem in itself as validation, C1X compiler based on C1 but reimplemented from scratch, concept of sea of nodes for mixing control and data flow, goal to rewrite the entire VM in Java, benefits of using one compiler throughout the stack for compatibility and maintainability, discussion of de-optimization process in JIT compilation, explanation of guards and assumptions in optimized code, three versions of Espresso (Java bytecode interpreter), first version as proof of concept, second version using Truffle with serialized ASTs, third version based on bytecodes with unrolling bytecode loops, explanation of bytecode quickening technique, sandboxing capabilities in GraalVM as replacement for deprecated security manager, isolating untrusted code in separate heaps for security, protection against speculative execution attacks, use case for running AI-generated Java code safely in isolated environments, GraalOS as a minimal operating system for running Java isolates, TRegex as GraalVM's optimized regular expression engine that compiles regex to machine code, bytecode interpreter DSL for generating efficient bytecode interpreters for different languages, memory improvements from using bytecode arrays instead of AST objects, potential future integration of TRegex as a Java API

    Christian Humer on twitter: @grashalm_

    Exibir mais Exibir menos
    1 hora e 2 minutos