airhacks.fm podcast with adam bien

Adam Bien

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

  1. 14 juin

    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

    1 h 1 min
  2. 12 juin

    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

    55 min
  3. 3 juin

    JAZ, Copilot SDK, and Why LLMs Write Better Java

    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 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

    1 h 17 min
  4. 25 mai

    GlassFish, Corretto, Apple openJDK and Why Standards Beat Hype

    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 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

    59 min
  5. 8 mai

    From Manchester to Mountain View: Binary Translators, JVMs, and Android

    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 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

    1 h 5 min
  6. 28 avr.

    Migrating Ruby Monoliths to Java, Agentic AI Foundation and MCP

    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 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

    59 min
  7. 22 avr.

    Apache PLC4X, Industrial Protocol Drivers, and the JDBC of Industrial Automation

    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 as the Esperanto of industrial protocols versus PLC4X speaking native device protocols, OPC UA overhead causing PLC strain and network congestion, comparison of OPC UA to CORBA and grpc, CORBA IIOP protocol on devices, bidirectional communication for reading sensor data and writing control flags, subscription-based event-driven data collection to reduce PLC polling load, founding ToddySoft to provide commercially supported open source industrial products, the gap between open source libraries and industrial consumption, ToddySoft Connect as bubble-wrapped PLC4X drivers for platforms like Inductive Automation Ignition, eliminating edge gateway boxes on shop floors, native protocol communication reducing network load on 100 Mbit industrial networks, unified namespace concept as JMS for industrial automation, Apache IoTDB as time series database with push queries and callback features, Apache TsFile storage format for writing time series data directly on PLCs, shifting from polling to pushing in industrial data collection, ToddySoft File as C libraries compiled for PLCs, ToddySoft DB as embedded stripped-down IoTDB for edge devices, ToddySoft Edge as the combined platform resembling an application server for industrial automation, Industry 4.0 definition and evolution from manual labor through steam power through PLC automation to connected production, compressed air as a service business model, early failure detection in multi-step production lines, OSGi runtime driver loading, Eclipse Tycho build system difficulties, Kafka Connect PLC connectors, SPS fair in Nuremberg as one of the largest industrial automation fairs, signal theory and Nyquist sampling rate in PLC polling Christofer Dutz on twitter: @christofer-dutz

    57 min
5
sur 5
7 notes

À propos

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

Vous aimeriez peut‑être aussi