airhacks.fm podcast with adam bien
Adam Bien
0
A podcast hosted by Adam Bien featuring conversations about Java, serverless computing, cloud platforms, software architecture, and the web. Each episode dives into practical topics relevant to developers and IT professionals. The discussions explore modern practices and approaches for building and deploying applications.
Epizódy
-
From the One Billion Row Challenge to a Multi-Threaded Parquet Library 14.09.2026 58minAn airhacks.fm conversation with Gunnar Morling about: returning guest discussion four years after episode "#174 Kafka Connect CLI, JFR Unit, OSS Archetypes and JPMS", the One Billion Row Challenge (1BRC) as a Java community coding challenge, aggregating a 13 gigabyte semicolon separated file of one billion temperature measurements per weather station, baseline single threaded idiomatic Java at five minutes versus a 1.5 second winning entry, two orders of magnitude speedup, parallel processing scaling near linearly across cores, memory mapped files via the Foreign Function and Memory API for arbitrarily large files, reading eight bytes at once into a long, SIMD parsing via the incubating Vector API, GraalVM native binaries, no third party libraries and single source file rule, results on par with C, Thomas Würthinger and the GraalVM team participation, HTMLDB a Java 25 executable shebang script storing records as semantic HTML pages using the built in XML parser, agents reading XML better than JSON, Hardwood a minimal dependency multi threaded Java library and CLI for reading and writing Apache Parquet files, columnar versus row based formats, efficient encodings including delta encoding and bit packing, trading CPU for disk size, range requests to read specific columns from object storage like S3, the dependency heavy Parquet Java library pulling in the Hadoop stack, zero mandatory dependencies with optional modules, a hand written AWS Signature Version 4 signer using the JDK HTTP client instead of the AWS SDK, verifying the signer against the AWS TCK test suite, owning code with LLMs, optional dependency for IAM instance profiles, Zstandard and Snappy compression as domain specific dependencies, Java LLM code generation quality and import handling, AIRails.dev skills based on Boundary Control Entity, spec driven development storing the spec in package-info Java Doc using EARS notation, the code review pyramid as a review skill, GraalVM WebAssembly web image compiling a Java text user interface to analyze Parquet files in the browser, an agent skill for Parquet analysis in natural language, Apache Iceberg and S3 Tables, Apache Flink integration, the shift in the reuse versus own trade-off with LLMs, Agent zSmith a zero dependency Java agent harness, var over explicit types Gunnar Morling on twitter: @gunnarmorling -
Fast JSON and Furious Runtime 08.09.2026 1h 9minAn airhacks.fm conversation with David Kral about: Helidon JSON and Helidon JSON Binding, compile-time JSON binding with annotation processors generating readable Java source code, no bytecode manipulation and no reflection, debuggable generated converters, comparison with Micronaut compile-time generation, why Helidon avoids the JSON-B API and its reflection overhead, a proposed bridge to the JSON-B API for stable standards-based code, serializing Java Records with the @Json.Entity annotation, a package-info annotation idea for processing an entire package, Boundary Control Entity (BCE) structure for entity records, JSON-P style JsonParser and JsonGenerator entry points, HashMap-like dynamic JSON objects for versioned and evolving APIs, a single centralized entry point for discoverability, grounding LLMs with Jakarta EE and MicroProfile standards to avoid hallucinations, reducing dependencies by letting LLMs generate helper methods, Java 25 source-mode scripting and simplified main replacing python scripts, zero-dependency JSON parsing with a forked org.json, JMH benchmarks showing Helidon JSON around 400% faster than Jackson and faster than yasson, energy and cost savings from faster serialization, object pooling and virtual-thread-friendly design with Scoped Values David Kral on twitter: @VerdentDK -
Pauseless Java: Inside Azul's C4, Falcon and ReadyNow 31.08.2026An airhacks.fm conversation with Simon Ritter about: Azul Zulu as a straight build of openJDK versus Azul Zing/Prime as the commercial high-performance JVM, improving Java performance without changing application code, C4 the Continuously Concurrent Compacting Collector, fully concurrent and compacting pauseless garbage collection, reaching a global safe point and millisecond-level pauses, a loaded-value read barrier intercepting every object read with a two-instruction test-and-jump, using bits in the object header limiting heaps to 20 terabytes, the one and a half day garbage collection pause anecdote on a terabyte-scale heap, latency-sensitive workloads like high-frequency trading and ad brokering, ZGC as a garbage collector heavily based on the published C4 work, Falcon a JIT compiler based on LLVM replacing HotSpot's C2, contributing the JIT wrapper and garbage collector integration back to LLVM, speculative optimizations and deoptimizations, throughput gains around 53 percent for Kafka and 30 percent for Cassandra, doing more with less to reduce cloud costs, ReadyNow capturing a profile of loaded classes, initialized classes, profiling data and compiled methods to reach about 98 percent of steady-state performance at startup, the Cloud Native Compiler offloading JIT compilation to a centralized cloud service, the Optimizer Hub storing profiles locally or centrally, soft real-time versus hard real-time JVMs, the Real-Time Specification for Java and immortal memory, garbage-collector-less programming, tiered compilation with C1 client and C2 server compilers, virtual threads and platform threads in relation to garbage collector threads, Azul Vega hardware history, Log4Shell as a potential security check in the compiler service Simon Ritter on twitter: @speakjava -
Turning Back Time: Strings, Locks and Garbage Collectors in Java 27.08.2026 1hAn airhacks.fm conversation with Ian Rogers about: Java's early API design strengths versus verbose C++/STL manuals, the Java 7 String.substring behavior change from an O(1) view over the character array to an O(n) copy, substring performance regressions at Google, implementing a custom substring as a workaround, designing APIs without knowing future customers, the SPEC JVM98 jack parser generator throwing an exception per matched token, exceptions used for control flow violating the exceptions-are-exceptional principle, JVM benchmarks skewed toward fast exception throwing, ANTLR and JavaCC as later parser tools, class loaders pairing a type with a runtime notion, ClassNotFoundException thrown from nested jar files, the DaCapo benchmark as a test of exception-throwing speed, Effective Java advice to return interfaces such as Map instead of HashMap, why substring should have returned CharSequence, the argument that String should be an interface and CharSequence the concrete type, CharSequence length limited to int and capped at 2GB, Guava Rope as a collection of CharSequences unable to implement CharSequence because of the int length limit, signed versus unsigned sizing of arrays and strings, byte signed and char unsigned inconsistencies, StringBuilder versus StringBuffer, the race condition avoided by StringBuilder cloning its array in toString, StringBuffer passing array ownership under a lock, biased locking making uncontended locks cheap, the Attack of the Clones problem of defensive cloning, optimizing clones away in the JVM, transactional memory as an alternative to locking, copy-on-write and CopyOnWriteArrayList, Swift copy-on-write, Linux kernel read-copy-update and epochs, writing the Azul C4 garbage collector, the C4 read barrier now used in ZGC and Shenandoah, moving Azul from custom hardware read-barrier instructions to x86, the two-space invariant in concurrent copying collectors, IBM Metronome fixups versus two-space invariants, detecting same-page references by XOR of two pointers, trading computation for memory accesses in read barriers, the Transitive Corporation binary translator, Rosetta for Apple and a Sparc-to-Power translator behind IBM's planned Sun acquisition, writing Android Runtime ART, ahead-of-time compilation of Dex replacing Dalvik, disk-size constraints of AOT compilation, Hans Boehm and sticky mark bits for generational marking without moving objects, ART generational concurrent garbage collection in Android KitKat, HashMap interface dispatch replacing LinkedList iteration from JikesRVM, alphabetically sorted interfaces putting AbstractCollection first, Google Maps interface dispatch consuming half the frame time, frame-rate and pause-time gains from ART, WhatsApp broken by an unbalanced-lock bytecode obfuscator, balanced locks required for biased locking, thread safety annotations in Clang/LLVM guarding the Java heap, the mutator lock and stale pointer risks, a reader-writer lock model of the Java heap, managing risk when replacing an operating system runtime, CyanogenMod as a delivery path for ART, Project Valhalla value types, current work on the Linux perf tool and observability, OProfile origins, GPU versus CPU visibility in system tools Ian Rogers on linkedin: irogers -
From PHP to Java: Building Tools, Frameworks, and AI-Assisted IDEs 23.08.2026 1h 15minAn airhacks.fm conversation with Steve Hannah about: meeting Steve Hannah at JavaOne years ago via Codename One, the Apple IIGS as a first computer, floppy disk games and Bob Whitehead's Hardball!, starting web development in 1997 with Perl and CGI, the O'Reilly Perl camel book, CGI security issues and the parallel to LLM tools, choosing Java Servlets over CGI for startup-time performance, moving to PHP for quick and dirty web development, PHP evolving toward enterprise patterns with Zend, Symfony and Laravel, PHP at Cloudbeds as a serious enterprise language, Facebook compiling PHP with HipHop, connection pooling and data sources impressing PHP developers, convergence of ideas across Java, JavaScript classes and React moving from object orientation to hooks, web components as JavaScript classes with properties, TypeScript versus JavaScript with JSDoc types in VS Code, LLMs reducing the importance of web frameworks that follow standards, porting React to Java on TeaVM using Claude, Flash and ActionScript for rich interfaces before HTML5, key frames hiding the full code base in Flash, VisualAge for Java showing only methods and printing source to understand it, the Xataface open-source PHP/MySQL CRUD framework started in 2005, the Dataface to Xataface rename, FileMaker as a low-code database tool and its licensing constraints, joining Codename One as the first hire in 2012, front-end Java versus back-end Java culture at JavaOne, the extreme GUI makeover Swing session, coding with LLMs in 2026 using Claude Code and Codex, building a personal Swing-based IDE for multi-repo multi-branch agentic workflows, work trees and terminal-organized agent sessions, a possible Swing and JavaFX revival because they ship with Java and LLMs know them, Java 25 source-mode shebang scripting replacing Python scripts, Java shipping more built-in functionality than Python for regular expressions and dependencies, Ruby versus Python popularity, LLMs understanding Java (~87%) better than JavaScript (~60-70%), type safety enabling LLM self-correction, grounding LLMs with MicroProfile and Jakarta EE normative specifications, the JSR normative language read by LLMs, business annotations and rich JavaDoc and package-info improving LLM output, reducing external dependencies so LLMs avoid decompiling JARs, token savings from standards-based Java, AWS Bedrock for stable and private Claude access with Claude Code, Quarkus on AWS Lambda with cold starts and Provisioned Concurrency, pinging a AWS Lambda every minute within the free tier to avoid cold starts, cost calculation for Quarkus on Lambda with 2 GB RAM, constructions.cloud Quarkus serverless CDK examples, Google Cloud Run versus AWS App Runner, AWS Lambda and Azure Functions, AWS CDK as infrastructure as code in Java, JDeploy for packaging and distributing desktop apps, the AIRails.dev skills site and the microprofile-server skill, zero-dependency Java scripts and agents, migrating a WordPress blog to a Jekyll static site with Claude Steve Hannah on twitter: @shannah78 -
Smalltalk, Blocks, and the Origins of Eclipse Collections 09.08.2026 1h 12minAn airhacks.fm conversation with Donald Raab about: the Epson HX-20 as the world's first laptop and learning Basic, an acoustic coupler modem, the Atari 2600 and Pitfall, Montezuma's Revenge, Apple II clones and the Franklin Ace, running a bulletin board system, learning BASIC, Pascal, fortran, COBOL, Turbo prolog and Turbo Pascal, dBASE III Plus as language and database management system, DBF file format by Ashton-Tate, Clipper by Nantucket as a dBASE compiler with Blinker linker, T-Browse and cursor-based table access, FoxPro and the x-based language family, NDX/NTX/CDX index formats, SQLJ embedded SQL, Paradox and Delphi, learning Smalltalk at IBM Object Technology University, Alan Kay and pure object orientation, blocks as lambdas in Smalltalk and Clipper (via the Classy library), ENVY version control with method-level editions, VisualAge for Smalltalk and VisualAge for Java, method categories for organizing methods, migrating a Clipper application to Java using interfaces and static methods in a procedural style, transparent persistence with TopLink and EclipseLink, memory constraints in 32-bit Java on Solaris, building a custom caching framework, the origins of Eclipse Collections in 2004, waiting ten years for lambdas, the JSR 335 expert group with Brian Goetz, select/collect/inject versus filter/map/reduce, eager methods on collections versus lazy streams, code folding regions in IntelliJ to simulate method categories, the book "Eclipse Collections Categorically", JRuby and Asciidoctor, meeting Yukihiro Matsumoto at OOPSLA 2002 Donald Raab on twitter: @TheDonRaab -
From Java Advent to Legionella: Standards, Specs, and LLMs 03.08.2026 47minAn airhacks.fm conversation with Olimpiu Pop about: discussion about the Java Advent calendar 2025, running AI inference in the enterprise with Java versus python, why inference needs a mature ecosystem, the confusion between machine learning, inference and LLMs, HTTP clients for remote models, TornadoVM for local model acceleration, avoiding premature optimization for LLM-generated code, grounding LLMs against normative Java and Jakarta EE specifications, the separation between API and SPI to eliminate hallucinations, Boundary Control Entity (BCE) structure with self-contained packages for scalable LLM code generation, maximal cohesion and minimal coupling, standards as an effective technique for LLM code generation, MDN web components and custom elements for dependency-free front-ends, reducing context and inference cost with short prompts, AIRails skills site, agents and skills across Copilot and other tools, Eclipse Collections, WebAssembly for Java with Chicory and TornadoVM, pattern matching, Java in industrial and IoT systems at ASML, Legionella water-temperature monitoring with wireless sensors, Apache IoTDB and Apache NiFi, migrating Java Advent to Roq static site generator Olimpiu Pop on twitter: @olimpiupop -
From CloudEvents to Domain Events 23.07.2026 1h 2minAn airhacks.fm conversation with Johan Haleby about: discussion about the Occurrent event sourcing library for Java, motivation behind building Occurrent as a set of building blocks for event sourced applications, using higher-order functions instead of distinct framework concepts, the library approach for gradually introducing event sourcing into regular projects, CloudEvents as the serialized event format and its evolution into CNCF, real use cases including querying the event store for consistent reads and per-user logs, using the CloudEvents subject attribute to index a user, enforcing unique constraints such as one email per person, dynamic consistency boundary, event sourcing fundamentals of storing a list of events instead of mutable state, basing decisions on prior events, the distinction between event sourcing, CQRS and CQS, materialized views and different read and write models, subscriptions to events after they are persisted, the difference between domain events and integration events for decoupling teams, auditing versus event sourcing and why intent matters, Hibernate Envers, Transaction Script pattern, folding events into state with Java Gatherers fold, modelling domain logic with sealed interfaces and records, static decision methods returning new events, the Redux analogy, snapshotting and closing the books for long streams, Kafka and Kafka Streams for event-driven architecture, cascading enriched events, ksqlDB materializing streams as tables, DynamoDB Streams and on-demand tables, storing state alongside events in one transaction, tractors and fitness trackers as event sources Johan Haleby on twitter: @johanhaleby -
Why Coverage Metrics Fail and System Tests Win 17.07.2026 1hAn airhacks.fm conversation with Stanislav Bashkyrtsev about: discussion about testing terminology and the difference between unit tests, component tests, System Tests, and integration tests, defining component tests as in-process invocations without HTTP, using RestAssured with MockMvc-style direct endpoint calls, avoiding mocks in favor of real system tests, why code coverage is a misused management metric, the anti-pattern of using reflection to inflate coverage, distinguishing line and branch coverage from actual verification, using coverage from system tests to detect dead code for pruning, mutation testing with PIT to measure assertion quality, testing Quarkus applications, the default Guice and Guava dependencies in Quarkus RESTEasy, starting a new microservice with a separate system-test module, calling endpoints over HTTP with the MicroProfile REST Client or the Java HTTP client, deploying Quarkus on AWS Lambda as a production-like environment, backward compatibility testing with multiple production versions, turning system tests into stress and load tests, testing connection pools and metrics under load, introducing a test-only private API to verify state changes in serverless systems, contract-driven work in large consulting projects, generating JSON and JSONB directly in PostgreSQL and returning it over JDBC, mapping database rows to Java records instead of DTOs, running GraalVM inside the Oracle Database for stored procedures and table triggers, the pendulum between database-centric and application-centric logic, the convergence of SQL and NoSQL databases, CI/CD pipelines with Jenkins and manual production deployment steps, avoiding Jenkins access to production via CGI shell scripts behind nginx, AWS CodePipeline and CodeBuild with CDK-defined infrastructure, event-driven pipelines triggered by S3 put-object events, multi-account roles with short-lived STS credentials, the size of the AWS SDK and reducing it by excluding unused HTTP clients, health checks and Kubernetes liveness and readiness probes, why health checks make little sense for short-lived Lambdas, a version endpoint for deployment smoke tests Stanislav Bashkyrtsev on twitter: @sbashkirtsev -
Zero-Dependency Java 25, Event Sourcing, and Stabilizing Legacy Systems 09.07.2026 1h 14minAn airhacks.fm conversation with Tomasz Ptak about: discussion about the guest's path from an Atari and a 486 to professional Java development, loading games from cassette tapes, building a clock with the Logo programming language, making websites with PHP for a community, studying data management and computer science, learning Perl, Bash, Pascal, Python, C, C++, Ruby and Java, Java 1.4 and Java 5 with generics and annotations, an island optimization algorithm switching from Python to Java for memory control, preference for strictly typed languages, first job at motorola Solutions building a server-side Java configuration system with SNMP and SNMP4J, moving from Tomcat to Netty, using Ant and Maven, managing a Jenkins server, rebuilding a buggy no-code Spring CRUD generator, rewriting an application with Apache Wicket for stateful web development, comparing Wicket structure coupling with Jakarta Faces, event sourcing with the Axon Framework and domain objects, bitemporal awareness and Hibernate Envers versioning, the Naked Objects pattern and object-oriented UI generation, third job at Open Market stabilizing a legacy Java SMS gateway, weekly outages and same-day retrospectives, containerizing bare-metal systems with Testcontainers and docker Compose, near zero-downtime deployment with Ansible, migrating from Maven to Gradle and removing the Buck build tool, upgrading legacy systems from Java 1.4 to Java 8, minimalistic Maven usage, a zero-dependency Java builder zb and zero-dependency unit runner zunit using only built-in compiler and jar tools, Java 25 as an automation tool replacing Python scripts, executable JARs without external dependencies, shebang instance-method scripting, reactive or infinite streams and stream gatherers, Git-tag-based versioning for monorepos, the AWS DeepRacer and AWS AI community, the mediocris blog Tomasz Ptak on linkedin: https://www.linkedin.com/in/tomasz-ptak -
From CloudFormation to CDK with Java 05.07.2026 1h 4minAn airhacks.fm conversation with Thorsten Hoeger (@hoegertn) about: discussion about CloudFormation as underlying infrastructure as code using JSON/YAML to define desired state, CDK introduction as tool to define infrastructure using programming languages like Java that synthesizes to CloudFormation, explanation of CDK construct levels L1 (direct CloudFormation mapping), L2 (type-safe with opinionated defaults), L3 (patterns and abstractions), Custom resources for missing CloudFormation implementations or actions like cleaning S3 buckets, CDK resource provider framework simplifying custom resource creation by handling AWS Lambda lifecycle, Self-mutating pipelines concept using CDK to update own pipeline, CDK for Terraform (CDKtf) enabling Terraform synthesis using CDK constructs, jsii facilitating multi-language support for CDK constructs, Mixins feature allowing immediate modification of constructs without full L2/L3 abstraction, Refactoring constructs to move code between construct tree levels, CloudFormation Naming conventions using PascalCase for constructs and kebab-case for CloudFormation resource names Thorsten Hoeger on twitter: @hoegertn -
Architectural Trade-offs: Pendulum Swings, Outsourcing Cycles and System Design 25.06.2026 1h 8minAn airhacks.fm conversation with Daniel Terhorst-North (@tastapod.com) about: discussion about pendulum swings in technology decisions, Kaikaku (radical change) and Kaizen (continuous improvement) cycles, the Purpose Alignment Model for business criticality vs differentiation, historical outsourcing/insourcing patterns in IT, criticism of J2EE as over-engineered with excessive XML and deployment descriptors, evolution of Java from J2EE bloat to modern simplicity, LLMs and AI coding tools like Claude Code and GitHub Copilot, mechanical sympathy concept from Martin Thompson, system architecture trade-offs and understanding hardware/software interactions, the shift from heavyweight frameworks to lightweight alternatives like quarkus and Micronaut, grounding LLMs with normative specifications like Jakarta EE and MicroProfile, the value of understanding computer architecture for better software development, trade-offs between performance and maintainability in software systems Daniel Terhorst-North on twitter: @tastapod.com -
From WebSphere to Quarkus: The Evolution of Java Classloading 14.06.2026 1hAn airhacks.fm conversation with Holly Cummins (@holly_cummins) about: contrasting classic application server classloading with quarkus classloading, classloader hierarchy from Bootstrap and system classloaders to ear, war, and EJB-jar classloaders in WebSphere, Open Liberty, and GlassFish, classloader isolation for multitenancy, internal class bleed-through with SLF4J and ANTLR, OSGi class exposure model and explicit package visibility, impl and API package naming, ClassCastException from the same type loaded by two classloaders, distinguishing NoClassDefFoundError, ClassNotFoundException, and ClassCastException, parent-first vs parent-last delegation, configurable delegation in GlassFish, repackaging libraries in application servers to avoid conflicts, viral propagation of parent-first loading, Quarkus flat classloader and tree shaking in production, removing multitenancy to remove complexity, runner classloader and pre-indexed classes, fast-jar vs legacy jar formats, project leyden AOT and a new AOT jar format, Java 26 AOT startup below 100 milliseconds, requesting JVM hooks for Leyden and fast-jar combination, classloader proliferation and rationalization, Conway's law applied to classloaders, a Base64 classloader experiment, a network classloader with persistent cache predating Java Web Start, Quarkus dev mode with five or six classloaders, separating compile-time deployment classes from runtime classes, base and overlay classloaders for hot reload, multitenancy in time instead of space, bytecode manipulation breaking test classloading, JUnit hooks for class swapping, Java 17 locking down cross-classloader cloning, runtime-dev module for DevUI, three tiers of dev mode reload, config parsing optimization reading right to left, String.intern for fast equality, Dev Services starting containers automatically from extension dependencies, Postgres extension contributing a dev service, compose support for dev services, WebAssembly-based dev services with SQLite, dev services as a way to start another Quarkus microservice for System Tests Holly Cummins on twitter: @holly_cummins -
Split-Brain, ContainerD, Quarkus and a Postgres Cloud Control Plane 12.06.2026 55minAn airhacks.fm conversation with Alvaro Hernandez (@ahachete) about: discussion about the quarkus Insights episode "#337 The Database Cloud" stackgres live demo, StackGres as a Quarkus and GraalVM native kubernetes operator for running Postgres, comparing CloudNativePG (CNPG) by EnterpriseDB to StackGres, Patroni for Postgres high availability, the split-brain risk of relying on Kubernetes and etcd alone, distributed consensus and leader lock election via etcd, why distributed systems and cryptography should not be self-implemented, async, synchronous and quorum (semi-synchronous) Postgres replication trade-offs, cascading and cross-region replication topologies, the false-positive problem and heuristic exceptions in two-phase commit, the ondb ("own your database") project for self-hosted Postgres, losing control with managed cloud services and untestable backups, vanilla unmodified Postgres on StackGres, the "Kubernetes without Kubernetes" (Kubeless) pattern, talking directly to ContainerD through the CRI API, runc and the Docker to ContainerD chain, a self-contained native binary that embeds ContainerD over Unix domain sockets, the slony node-local component named after the Postgres slonik elephant mascot, the Matriarch orchestrator component, reverse gRPC tunnels with Slonies phoning home across NAT and firewalls, a multi-tenant cloud control plane provided as a service, curl-pipe-shell node installation with a token, end-to-end encrypted Postgres protocol tunneling for JDBC from anywhere, psql compiled to wasm in the web console, Tailscale-inspired user experience, unifying nodes, Kubernetes clusters and cloud pools as resources, Slony Kubernetes controller, Java 25 source-mode scripting without dependencies, implementing your own MCP server for Postgres JDBC metadata, the Goose agentic UI donated by Block to the Linux Foundation, AI Rails BCE, Java, Web Components skills Alvaro Hernandez on twitter: @ahachete -
JAZ, Copilot SDK, and Why LLMs Write Better Java 03.06.2026 1h 16minAn airhacks.fm conversation with Bruno Borges (@brunoborges) about: discussion about the JAZ command launcher for Java, JVM tuning and default ergonomics for containers versus dedicated cloud environments, replacing the Java launcher with jaz in container images, supporting Java 8 to 25, maximizing resource utilization on kubernetes to reduce waste, running Java on Azure Functions, Azure App Service deploying a fat JAR without a container image, Azure Container Apps as a platform on AKS without YAML, Azure Kubernetes Service and AKS Automatic, Bicep as infrastructure as code, deploying a JAR to Kubernetes via OCI artifacts and a custom operator, Microsoft Foundry and the Microsoft Agent Framework, Semantic Kernel learnings, the Copilot SDK for Java communicating with headless CLIs, A2A and ACP protocols and MCP, agents as microservices with scoped tasks, guardrails, and sandboxing, per-agent model selection for cost and reasoning trade-offs, observability and traceability between agents with opentelemetry, grounding LLMs against MicroProfile, Jakarta EE, JAX-RS normative RFC 2119 specifications for hallucination-free Java code generation, the Boundary Control Entity pattern and business components as Java packages, package-info.java for semantic context, GitHub Copilot skills and custom instructions in Visual Studio Code, the AI Rails skills site, zero-dependency Java CLI scripting, reducing dependencies by reusing source code instead of JARs, the org.json reference implementation reduced to five classes, StackGres and OnGres running Quarkus and GraalVM to manage Postgres on Kubernetes, the Digg Into Java community Bruno Borges on twitter: @brunoborges -
GlassFish, Corretto, Apple openJDK and Why Standards Beat Hype 25.05.2026 59minAn airhacks.fm conversation with Arun Gupta (@arungupta) about: learning Basic, Pascal, COBOL and C in college, early Java applets connecting to databases via JDBC, joining Sun Microsystems in March 1999 as an RMI/CORBA test engineer, the Portable Object Adapter and IIOP wire protocol, RMI-IIOP for language interoperability, J2EE 1.2 alpha release, JAX-B and JAX-RS testing, J2EE technologies migrating into Java SE, GlassFish as the open-source reference implementation, growing GlassFish downloads from zero to five million in three years, OSGi modularization in GlassFish V3, single-jar Java EE deployment, the Sun Grid early cloud attempt, the Sun Cloud REST API designed by Tim Bray, Red Hat JBoss technical marketing, recording an early docker screencast at Red Hat, Couchbase and the move to Amazon, principal open source technologist role, making Amazon join CNCF, launching Amazon Corretto with James Gosling at Devoxx Belgium 2019, the corretto name meaning coffee with liquor, Apple Open Source Program Office and the internal Apple openJDK fork used across Apple Music and Siri, Intel VP of Open Ecosystem, joining JetBrains as VP of Developer Experience, the book Fostering Open Source Culture, MineCraft Modding with Forge co-authored with his son who keynoted JavaOne at age 10, Devoxx4Kids in the US with over 200 workshops and 5000 kids taught, the not-invented-here syndrome, the conference program committee bias toward new topics, normative JSR specifications using must, shall and must not as a basis for LLM code generation, TCK and reference implementation model, Quarkus modernization of legacy J2EE applications, AGENTS.md and skill files on top of coding agents, running and weight training for mindfulness. Arun Gupta on twitter: @arungupta -
From CDI TCK to Quarkus MCP Server 22.05.2026 46minAn airhacks.fm conversation with Martin Kouba (@martunek) about: ZX Spectrum Didaktik clone, Basic listings from ABC magazine, Laser Squad and Wall Breaker games, writing a Pascal fantasy strategy game called Fury as a teenager, first Java 1.4 contact at university, pushing Java 5 annotations against XML configuration in a first telco job, OC4J as Oracle Application Server with Orion lineage, switching to JBoss, seam framework as glue between backend and frontend, Hibernate, reporting a Seam security issue and being invited to Red Hat, CDI TCK migration from JBoss Test Harness to arquillian and from Subversion to GitHub, writing CDI and Bean Validation TCK with XML-based assertion extraction from the specification text, normative specifications producing high-quality LLM code generation for CDI, JAX-RS and JPA, prototype-first approach to writing API specifications, deprecation annotations needing since-version, removal-version and replacement, asynchronous CDI events and fireAsync, transactional observers, Java SE CDI container standardization and its removal from the MicroProfile Core profile, joining the Quarkus team from day one, building ArC as the build-time CDI implementation, why @Specializes is not supported in Quarkus, Qute templating library, Quarkus WebSocket Next and the limits of the Jakarta WebSocket API, Quarkus scheduler with Duration-based intervals, Quartz integration, Quarkus component test based on Weld JUnit, MCP Java SE STDIO server with zero dependencies using ServiceLoader and Function, building the Quarkiverse MCP server from the first MCP specification version, the missing MCP TCK and the new conformance test suite Martin Kouba on twitter: @martunek -
Finding Patterns: From Middleware to Modern AI 15.05.2026 59minAn airhacks.fm conversation with Prof. Dr. Michael Stal (/in/drstal/) about: writing a Star Trek Basic game from memory after a context reset, the Z80 chip and assembly programming via a disassembly and debugging monitor, buying Turbo Pascal directly from a Munich garage 500 meters from home, studying computer science with C and Turbo Pascal, building a functional interpreter for a compiler generator with visual UI at university, joining Siemens for a research project, working on the C++ standardization proposal for meta-information and reflection through source-code instrumentation, the influence on the C++ ISO standard, the path to writing the POSA (Pattern-Oriented Software Architecture) book in 1996 in parallel with the Gang of Four book, coordinating with Erich Gamma to avoid overlap, finding patterns in middleware platforms like COM, DCOM, CORBA, and RMI rather than inventing them, broker, microkernel, pipes and filters, blackboard, layers, publisher-subscriber, forwarder-receiver, client-dispatcher-server, and whole-part patterns, learning Java from Java in a Nutshell by David Flanagan, skepticism about Java replacing C++ that proved wrong, Java Competence Centers at Siemens and Sun Microsystems, Java mobile edition for handsets and the rise of enterprise Java, Siemens application server limited to stateless EJBs, embedded systems at Siemens written in C++ and rust for ICE trains and medical tomographs, Java for enterprise services and monitoring, LLM disillusionment on the Gartner hype cycle, the plateau in transformer-based models, the brute-force compute investment vs specialized models, AGI skepticism rooted in transformer architecture limits and missing context memory and consciousness, physical AI cooperation between Nvidia and Siemens, the n times square root of n attention scaling, the practical context window limits below the advertised million tokens, errors during code generation with Claude Sonnet 4.5, the keep-it-simple principle and Occam's Razor, simplicity as an art, the role of naming, applying patterns to existing systems rather than coding them as building blocks, over-abstraction of HTTP behind custom adapters as an anti-pattern, Convention over Configuration in Quarkus with JAX-RS and Model Context Protocol annotations, grounding LLMs with publicly available Java and Jakarta EE specifications written in normative RFC 2119 language, the Ivar Jacobson BCE (Boundary Control Entity) structure as a stable scaffolding for code generation, vibe coding limited by specification coverage Prof. Dr. Michael Stal on LinkedIn: /in/drstal/ -
From Manchester to Mountain View: Binary Translators, JVMs, and Android 08.05.2026 1h 5minAn airhacks.fm conversation with Ian Rogers (@Ian Rogers) about: ZX Spectrum 128K with rubber keys and a burning side grill, Basic programming competitions, REM commands as ASCII art, PC versus Amiga and Archimedes era in the UK, fractal landscape generators for Wing Commander 4 cut scenes, Ocean Software in Manchester and the Head Over Heels game, Manchester Baby and Williams tube as the first stored-program computer, Steve Furber and ARM origins at the University of Manchester, Cosworth and Pi Research Formula One telemetry, transputers and embedded PowerPC data loggers, dynamic binary translation with the Dynamite simulator, ICL 2900 emulation for the Israeli tax system, MIPS to Itanium binary translation for SGI machines, Transitive Corporation and the PowerPC to x86 product that became Apple Rosetta, the Steve Jobs era at Apple, Spark to Power binary translation and the IBM acquisition of Transitive, JDBC versus ODBC API design observations, java.util.Vector and java.util.Hashtable synchronization decisions, StringBuilder array copying overhead from removing synchronization, DARPA HPCS languages Fortress, Chapel, X10, just-in-time parallelization from Java bytecode, LCC compiler from Princeton and the iBerg backend, JikesRVM as a metacircular Java VM written in Java, GNU Classpath and Sable VM by Etienne Gagnon, Apache Harmony port of JikesRVM to Windows, Maxwell and Maxine VMS as GraalVM precursors, Bernd Mathiske and the Sun acquisition by Oracle, GNU Classpath impact of the openJDK GPL release at FOSDEM 2006, Mark Wielaard and Rémi Forax FOSDEM stories, trace compilation and de-optimization parallels with JIT, Azul Systems Vega hardware and concurrent garbage collection, C4 collector design influencing ZGC and Shenandoah, Gil Tene's telephone exchange mentality for JVM responsiveness, page unmapping and signal handler memory pressure problems in HotSpot, Cliff Click and Modular, Google Android Runtime (ART) replacing Dalvik, transactional memory for class initializers in ART, ELF files and OAT format for ahead-of-time compilation, WhatsApp bytecode obfuscation breaking the ART verifier, lock balance verification for speculative lock optimizations, D8 and R8 Android compilers, Goit internal Google bytecode optimizer, Jeremy Manson and Google's OpenJDK variant, Linux kernel performance work and perf tooling, JikesRVM stack trace format making exception-heavy DaCapo benchmarks faster than HotSpot, Energy Efficiency across Programming Languages study comparing Java and Go, Ian Rogers on twitter: @Ian Rogers -
Migrating Ruby Monoliths to Java, Agentic AI Foundation and MCP 28.04.2026 59minAn airhacks.fm conversation with Manik Surtani (@maniksurtani) about: programming on the BBC Micro with Basic and writing a Trojan horse, GW BASIC and Turbo Pascal on PC, Space Invaders-style games, C++ neural network simulating bat learning behavior at university, PHP e-commerce startup Silk Road Software competing with Intershop in the late 1990s, multi-tenant web shops for UK customers, the dot-com crash and startup failure, first Java job building Virgin Atlantic online check-in and airport kiosks on WebLogic and Oracle, demonstrating a JBoss and MySQL and Linux open source stack to the Virgin Atlantic CTO, contributing to JGroups at the Financial Times and meeting Bela Ban, JBoss Cache tree structure limitations and concurrency issues, rewriting JBoss Cache into Infinispan as a HashMap-based distributed cache, removing reflection overhead and pluggable serialization with Protocol Buffers support, the Hot Rod client-server protocol, joining Square via Bob Lee to migrate a Ruby on Rails monolith to Java microservices for Starbucks payments, multi-DC high availability architecture with red-green deployments, shutting down the Rails monolith with zero downtime using double writes and gradual traffic migration, Block as a polyglot environment with Java and Kotlin and Ruby and Go and python, the Head of Open Source role at Block and establishing an Open Source Programs Office, inner sourcing practices, co-designing gRPC with Google, building and open-sourcing Goose as a coding agent predating Claude Code and Codex, co-designing MCP with Anthropic, founding the Agentic AI Foundation with Anthropic and OpenAI and AWS and Google and Microsoft and Cloudflare and Bloomberg, Block Open Source projects including OkHttp and OkIO and Retrofit, LLMs generating better code with type-safe compiled languages like Java, grounding LLMs against Jakarta EE APIs to reduce hallucinations, Block business units including Square, Cash App, Afterpay and Tidal Manik Surtani on twitter: @maniksurtani
Obľúbený v
Tento podcast sa objavuje aj v rebríčkoch podcastov týchto krajín.