Find partners
airhacks.fm podcast with adam bien

airhacks.fm podcast with adam bien

Hosted by Adam Bien

TechnologyInterviews guestsExplicit

Episodes

409

Latest episode

Aug 2026

Language

EN-US

About the show

Java, Serverless, Clouds, Architecture and Web conversations with Adam Bien

Listen to episodes

60 recent
August 23, 2026Episode 4091 hr 15 min

From PHP to Java: Building Tools, Frameworks, and AI-Assisted IDEs

An 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

August 9, 2026Episode 4081 hr 12 min

Smalltalk, Blocks, and the Origins of Eclipse Collections

An 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

August 3, 2026Episode 40747 min

From Java Advent to Legionella: Standards, Specs, and LLMs

An 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

July 23, 2026Episode 4061 hr 2 min

From CloudEvents to Domain Events

An 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

July 17, 2026Episode 4051 hr 0 min

Why Coverage Metrics Fail and System Tests Win

An 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

July 9, 2026Episode 4041 hr 14 min

Zero-Dependency Java 25, Event Sourcing, and Stabilizing Legacy Systems

An 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

July 5, 2026Episode 4031 hr 4 min

From CloudFormation to CDK with Java

An 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

June 25, 2026Episode 4021 hr 8 min

Architectural Trade-offs: Pendulum Swings, Outsourcing Cycles and System Design

An 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

June 14, 2026Episode 4011 hr 0 min

From WebSphere to Quarkus: The Evolution of Java Classloading

An 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

June 12, 2026Episode 40055 min

Split-Brain, ContainerD, Quarkus and a Postgres Cloud Control Plane

An 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

Is this your show?

Claim this listing to keep it up to date, reach guests who want to pitch you, and manage bookings with Guestify.

Claim this listing

More Technology podcasts