
airhacks.fm podcast with adam bien
Java, Serverless, Clouds, Architecture and Web conversations with Adam Bien
Episodes
Reading the feed…

Java, Serverless, Clouds, Architecture and Web conversations with Adam Bien
Reading the feed…
An 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
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 HipHo
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 e
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 sc
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 uni
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 prunin
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 s
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 reso
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
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, an
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 rep
An 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 t
An 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
An 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 an
An 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 influ
An 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 trans
An 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 Vi
An airhacks.fm conversation with Christofer Dutz (@christofer-dutz) about: discussion about Apache PLC4X as the JDBC of industrial automation, the API and SPI architecture with Java service loader for driver discovery, Modbus protocol for HVAC systems and heating devices, PLC4X core API operations including discovery and browsing and reading and writing and subscribing and publishing, multi-language support with PLC4J for Java and PLC4Go for Go and PLC4Py for python and C#, code generation from protocol definitions using language-specific templates, XML-based cross-language unit tests, OPC UA
An airhacks.fm conversation with Thorsten Hoeger (@hoegertn) about: discussion about migrating a German bank to AWS in 2012, early EC2 instances and the launch of AWS VPC for private networking, clicking the AWS console before discovering CloudFormation, CloudFormation released in 2011 with JSON-only templates, Hazelcast cluster synchronization bugs on single-core EC2 instances, multicast limitations in VPC and the transit gateway workaround, CFEngine from 1993 as a predecessor to declarative infrastructure management, Puppet and Chef and Ansible as configuration management tools, CloudFormati
An airhacks.fm conversation with Holly Cummins (@holly_cummins) about: discussion about Quarkus energy efficiency and performance benchmarks, comparing Quarkus throughput and energy consumption to Spring Boot, the Quarkus Benchmarks repository and Spring-Quarkus performance comparison repository on GitHub, three times throughput and half the energy consumption with Quarkus, Quarkus build-time optimization and tree shaking, monomorphic vs megamorphic dispatching in the JVM, removing reflection at build time, the reactive core built on Vert.x enabling blocking APIs with reactive scalability, Qua
An airhacks.fm conversation with Brian Vermeer (@BrianVerm) about: growing up with a Commodore 64 and gaming, inheriting a 486 DX2 with Windows 3.1, first "enterprise" migration from Windows 3.1 to 3.11, early experiments with Turbo Pascal and Basic, curiosity-driven programming and disassembling electronics, building computers from parts in the early PC era, high school informatics classes and the transition from hobby to career, bachelor's degree in software engineering, master's degree at Utrecht University focusing on Formal methods and compiler construction, mathematical proofs of program
An airhacks.fm conversation with Marvin P. Warble Jr. (@marvinwarble) about: growing up with the Atari 400 and learning BASIC from a cartridge, saving programs on cassette tapes and upgrading to floppy drives, writing maze games and running out of RAM, the Atari 800XL and Atari ST with graphical user interfaces, studying aerospace engineering and working at NASA on mission planning software, converting Fortran to C and C++ at NASA, the transition from mission-specific software to reusable applications, learning Java in the early 2000s through applets, comparing C++ header files to Java class o
An airhacks.fm conversation with Stuart Marks (@stuartmarks) about: the history of the Teletype Model 33 and punched paper tape, Telex service and long-distance communication costs, the connection between TTY and the teletype company name, 110 baud modems and 10 characters per second transmission, Wang Laboratories field offices connected via Telex, the evolution from Java Enumeration to Iterator to Iterable, Vector.elements() and the absence of an Enumerable interface, the introduction of Iterator and Iterable in JDK 1.2 and 1.5 respectively, the legacy collections Vector and Hashtable and th
An airhacks.fm conversation with Daniel Terhorst-North (@tastapod.com) about: first computer experience with the ZX81 and its 1K memory, the 1K chess game on ZX81, the ZX Spectrum with 16K and later 48K memory, the Amstrad 128K, typing in game listings from computer magazines, Dan's brother John hacking ZX spectrum games using a hardware freeze device and memory peeking/poking, cracking game encryption and copy protection on 8-bit tape cassette games, the arms race between game publishers and hackers, cracking the Star Wars game security before its release, ZX Spectrum fan sites and retro gami
An airhacks.fm conversation with Thorsten Hoeger (@hoegertn) about: first computer experience with an IBM 8086 and learning programming by modifying the QBasic Gorilla game, early programming journey from QBasic to Visual Basic and the discovery of event-driven programming, building a password security script for autoexec.bat as a childhood project, transition from Visual Basic to Java around 2005 starting with Java 1.4.2, working at a small bank in Stuttgart building a core banking system, experience with Eclipse RCP rich client platform and the overhead of plugin architecture in business sof