Discoverairhacks.fm podcast with adam bien
airhacks.fm podcast with adam bien
Claim Ownership

airhacks.fm podcast with adam bien

Author: Adam Bien

Subscribed: 190Played: 9,565
Share

Description

Java, Serverless, Clouds, Architecture and Web conversations with Adam Bien
383 Episodes
Reverse
An airhacks.fm conversation with Francesco Nigro (@forked_franz) about: break dancing and basketball including meeting Kobe Bryant in Italy during a dunk competition, using AI coding assistants like Claude Opus 4.5 and GitHub bots for infrastructure setup and CI/CD pipeline configuration, limitations of LLMs for novel performance-sensitive algorithmic work where training data is scarce, branchless IPv4 parsing optimization as a Christmas coding challenge, CPU branch misprediction costs when parsing variable-length IP address octets, converting branching logic into mathematical operations using bit tricks for better CPU pipeline utilization, LLMs excelling at generating enterprise code based on well-documented standards and conventions, providing minimal but precise documentation and annotations to improve LLM code generation quality, the Boundary Control Entity BCE architecture pattern and standards-based development, the core problem of thread handoff between event loops and ForkJoinPool worker threads in frameworks like quarkus Vert.x and Micronaut, mechanical sympathy implications of cross-core memory access when serialized data is allocated on one core and read by another, CPU cache coherency costs and last-level cache penalties when event loop and worker pool run on different cores, the custom virtual thread scheduler project (netty-virtual-thread-scheduler) enabling a single platform thread to handle both networking I/O and virtual thread execution, approximately 50% CPU savings demonstrated by Micronaut when using unified Netty-based scheduling, collaboration with Oracle Loom team including Victor Klang and Alan Bateman on minimal scheduler API design, the scheduler API consisting of just two methods onStart and onContinue plus virtual thread task attachments, work stealing algorithms and their complexity including heuristics similar to Linux CFS scheduler, the importance of being declarative about thread affinity rather than automatic magical binding to avoid issues with lazy class loading and background reaper threads, thread factory based approach for creating virtual threads bound to specific platform threads, stream-based run queues with graceful shutdown semantics that fall back to ForkJoinPool for progress guarantees, thread-local Scoped Values as a hybrid between thread locals and scoped values for efficient context propagation, performance problems with ThreadLocal including lazy ThreadLocalMap allocation overhead on virtual threads and scalability issues with ThreadLocal.remove() and soft reference queues, the impact on reactive programming where back pressure and stream composition still require higher-level abstractions beyond Basic Java concurrency primitives, structured concurrency limitations for back pressure scenarios compared to reactive libraries, deterministic testing possibilities enabled by custom schedulers where execution order can be controlled, the poller mechanism for handling blocking I/O in virtual threads in a non-blocking way, observability improvements possible through virtual thread task attachments for monitoring state changes, cloud cost implications of inefficient thread scheduling and unnecessary CPU wake-up cycles, the distinction between framework developers and application developers as different user personas with different abstraction needs Francesco Nigro on twitter: @forked_franz
An airhacks.fm conversation with Kabir Khan (@kabirkhan) about: first computer was a ZX Spectrum 48K with rubber keys, playing Bomb Jack as a memorable early game, growing up in Norway near Oslo with lots of outdoor activities including skiing and swimming in warm fjords, discovering multimedia kiosks at Tower Records in Piccadilly Circus as career inspiration, writing a Java applet dissertation visualizing Motorola 68000 CPU instruction processing with animations, early programming in Basic on the ZX spectrum including a hardcoded cookbook application, learning Pascal and the revelation of understanding what files actually are, first job writing an HTTP server in C++ on Windows NT using Winsock, implementing Real-Time Protocol streaming for multimedia content, working at a consultancy learning multiple programming languages including Active Server Pages ASP and Microsoft Transaction Server MTS, going freelance and building a Java-based exhibition industry booking system, using JBoss with EJB3 for the second version of the exhibition system, getting JBoss support and being impressed by their expertise, contributing to JBoss Mail and JBoss AOP as open source contributions, meeting Sacha Labourey at a JBoss partner event in Norway who advised focusing on AOP, joining JBoss in September 2004 when the company had only about 50 people, meeting Marc Fleury and having pizza at his house in Atlanta, the Red Hat acquisition of JBoss in 2006, leading the JBoss AOP project and standardizing interceptor chains, working on the JBoss microcontainer for JBoss 5 which was over-engineered and slow, joining the team that rethought the server architecture leading to Wildfly, working on WildFly core server management and domain management, the recent move of the runtimes division from Red Hat to IBM, current work on Agent-to-Agent (A2A) protocol, quarkus being the Java reference implementation for the A2A specification published by Google, Agent-to-Agent Protocol as a standardized protocol for agent-to-agent communication using JSON-RPC REST and grpc, agent cards as capability advertisements similar to business cards, benefits of smaller specialized agents over monolithic AI applications including better traceability smaller context windows and flexibility with different LLMs, comparison of agent architecture to microservices where smaller agents are preferable unlike traditional services where monoliths can be better, upcoming episode planned to deep-dive into A2A with Quarkus and opentelemetry for agent traceability Kabir Khan on twitter: @kabirkhan
An airhacks.fm conversation with Simon Ritter (@speakjava) about: first computer experiences with TRS-80 and mainframe ALGOL68 programming via punched cards in the 1970s UK, one-week turnaround times for program execution, writing battleship games on mainframes, bbc micro with color graphics and dual floppy drives, father's influence as a tech enthusiast with a PDP-8 in his chemistry lab, early fascination with robotics and controlling machines through programming, writing card games and Mandelbrot set fractal generators in Basic, transition from BASIC to C programming through sponsored university degree, working at Rocc Computers on Unix device drivers and kernel debugging, the teleputer, memory leak debugging requiring half-inch mag tape transfers and two-week investigation periods, AT&T Unix source code license access and kernel modifications, Unix System V Release 4 and Bell Labs heritage, Motorola 68000 processor's flat memory model versus Intel's near/far pointers, Novell acquisition of Unix from AT&T in 1993, Unixware development and time spent in Utah, SCO's acquisition of Unix IP and subsequent IP trolling, joining Sun Microsystems in 1996 as Solaris sales engineer, transition to Java evangelism in 1997, working under Reggie Hutcherson and Matt Thompson for nearly 10 years, building Lego Mindstorms blackjack-dealing robot with Java speech recognition and computer vision, using Sphinx for voice recognition and FreeTTS for speech synthesis, JMF webcam integration for card recognition, JavaOne 2004 robot demonstration, Glassfish application server evangelism and reference implementation benefits, Sun's technology focus versus business development challenges, CDE desktop environment nostalgia, Oracle acquisition of Sun in 2010, Jonathan Schwartz's acquisition announcement email, Oracle's successful stewardship of Java through openJDK, praise for Brian Goetz Mark Reinhold John Rose and Stuart Marks, six-month release cycle benefits, Project Amber Loom Panama and Valhalla developments, OpenSolaris discontinuation leading to docker adoption for server containerization, Oracle's 2015 pivot to cloud focus, career-defining conversation in Japan about cloud versus Java evangelism, layoff during vacation in September 2015, joining Azul Systems after three-and-a-half-hour interview with Gil Tene, ten years at Azul working on high-performance JVM Platform Prime garbage collection and CRaC technology, comparison of Azul culture to Sun Microsystems innovation environment, commercial Java distribution value propositions and runtime inventory features Simon Ritter on twitter: @speakjava
An airhacks.fm conversation with Holly Cummins (@holly_cummins) about: first computer experience with her dad's Kaypro CPM machine and ASCII platform games, learning Basic programming on an IBM PC clone to build a recipe management system, studying physics at university with a doctorate in quantum computing, self-teaching Java to create 3D visualizations of error correction on spheres during PhD research, joining IBM as a self-taught programmer without formal computer science education, working on Business Event Infrastructure (BDI) at IBM, brief unhappy experience porting JMS to .net with Linux and VNC, moving to IBM's JVM performance team working on garbage collection analysis, creating Health Center visualization tooling for J9 as an alternative to JDK Mission Control, innovative low-overhead always-on profiling by leveraging JIT compiler's existing method hotness data, transitioning to WebSphere Liberty team during its early development, Liberty's architectural advantage of OSGi-based modular core enabling small fast startup while maintaining application compatibility, working on Apache Aries enterprise OSGi project and writing a book about it, discussion of OSGi's strengths in protecting internal APIs versus complexity costs for application developers, the famous OSGi saying about making the impossible possible and the possible hard, microservices solving modularity problems through network barriers versus class loader barriers, five years as IBM consultant helping customers adopt cloud-native technologies, critique of cloud-native terminology becoming meaningless when everything required the native suffix, detailed analysis of 12-factor app principles and how most were already standard Java practices, stateless processes as the main paradigm shift from JavaServer Faces session-based applications, joining Red Hat's quarkus team three and a half years ago through Erin Schnabel's recommendation, working on Quarkiverse community aspects and ecosystem development, leading energy efficiency measurements confirming Quarkus's sustainability advantages, current role as cross-portfolio sustainability architect for Red Hat middleware, writing Pact contract testing extension for Quarkiverse to understand extension author experience, re-architecting Quarkus test framework class loading to enable deeper extension integration, recent work on Dev Services lazy initialization to prevent eager startup of multiple database instances across test profiles, fixing LGTM Dev Services port configuration bugs for multi-microservice observability setups, upcoming JPMS integration work by colleague David Lloyd requiring class loader simplification, the double win of saving money while also reducing environmental impact, comparison of sustainability benefits to accessibility benefits for power users, mystery solved about the blue-haired speaker at European Java User Groups years ago Holly Cummins on twitter: @holly_cummins
An airhacks.fm conversation with Christofer Dutz (christofer-dutz) about: first computer was a Commodore C64 from Hannover Messe, early programming in Basic, playing Wizards of War game on cassette tape, growing up in Melbourne Australia until age ten, visiting Ayers Rock and seeing prehistoric armored fish in puddles, learning C and C++ at Volkshochschule around 1992, memory management challenges with DOS gaming like X-Wing vs TIE Fighter and Wing Commander, starting Java at Technical University of Darmstadt in 1998 with version 1.0.7, appreciating Java's simplicity compared to C++ and no system crashes from memory errors, early involvement with Apache Cocoon for XML and XSL transformations, contributing to eXist-db XML database as committer number two, working with XML XSL and XSLT for data transformation, frustrations with YAML compared to XML, transition from Cocoon to Adobe Flex after Cocoon switched to Spring and Maven, becoming co-maintainer of Flex Mojos Maven plugins, Adobe donating Flex to Apache Software Foundation, attending ApacheCon in Sinsheim and connecting with Apache committers, committer and PMC member of 12 active Apache projects, firefighting role fixing Maven builds for stuck projects, retiring Apache Cocoon project, strong focus on industrial IoT projects, Apache IoTDB as best time series database, Apache StreamPipes for cloud IoT orchestration, Apache Camel and Apache NiFi involvement, founding Apache PLC4X in 2017 at codecentric, Apache PLC4X as JDBC-like interface for industrial equipment communication, spending 80-90 hours per week on PLC4X for nine years, challenges with industrial automation industry not understanding open source, anecdote about steel melting plant operator expecting free enterprise support, Germany being a difficult market for industrial automation consulting, founding ToddySoft company end of last year, building installable products and plugins for industrial solutions, ethical approach to open source by only selling products from projects he contributes to, real-time definitions varying from tens of milliseconds in cloud to nanoseconds in industrial systems, ToddySoft named after PLC4X mascot Toddy the palm civet (toddy cat), plans for future episode discussing IoTDB StreamPipes PLC4X and NiFi use cases Christofer Dutz on LinkedIn: christofer-dutz
An airhacks.fm conversation with Thomas Wuerthinger (@thomaswue) about: clarification of GraalVM release cadence changes and decoupling from openJDK releases, GraalVM focusing on LTS Java releases only (skipping non-LTS like Java 26), GraalVM as a multi-vendor polyglot project with community edition and third-party vendors like Red Hat BellSoft and microdoc, increased focus on python support due to AI popularity, GraalVM team alignment with Oracle Database organization, Oracle Multilingual Engine (MLE) for running JavaScript and Python in Oracle Database, MySQL MLE integration, native image support for stored procedures in Oracle Database, shipping lambda functions from client applications to database for temporary execution, treating Oracle Database as an operating system for running business logic, serverless workloads directly in Oracle Database, application snapshotting similar to CRaC but running in user space without kernel privileges, efficient scale-to-zero capabilities with native images, Oracle REST Data Services service generalization for serverless execution platform, database triggers for workflow systems and application wake-up, durable functions with transactional state storage in Oracle Database, comparison to AS400 architecture with transaction manager database and operating system in same memory, memory price increases making GraalVM native image more attractive, lower memory consumption benefits of native image beyond just startup time, CPU-based inference support with SIMD and Vector API, TornadoVM for GPU-based inference built on Graal compiler, WebAssembly compilation target for native images, edge function deployment with WebAssembly, Intel memory protection keys for sandboxed native image execution, native image layers for shared base libraries similar to docker layers, profile-guided optimizations for size reduction, upx binary compression for 3x size reduction, memory savings from eliminated class metadata and profiling data not garbage collector differences, 32-bit object headers in serial GC smaller than HotSpot, polyglot integration allowing Python and JavaScript embedding in Java applications, Micronaut framework compile-time annotation processing, quarkus framework best alignment with native image for smallest binaries, GraalVM roadmap focused on database synergies and serverless innovation Thomas Wuerthinger on twitter: @thomaswue
An airhacks.fm conversation with Alvaro Hernandez (@ahachete) about: discussion about LLMs generating Java code with BCE patterns and architectural rules, Java being 20-30% better for LLM code generation than python and typescript, embedding business knowledge in Java source code for LLM context, stackgres as a curated opinionated stack for running Postgres on kubernetes, Postgres requiring external tools for connection pooling and high availability and backup and monitoring, StackGres as a Helm package and Kubernetes operator, comparison with oxide hardware for on-premise cloud environments, experimenting with Incus for system containers and VMS, limitations of Ansible for infrastructure automation and code reuse, Kubernetes as an API-driven architecture abstracting compute and storage, Custom Resource Definitions (CRDs) for declarative Postgres cluster management, StackGres supporting sharding with automated multi-cluster deployment, 13 lines of YAML to create 60-node sharded clusters, three interfaces for StackGres including CRDs and web console and REST API, operator written in Java with quarkus unlike typical Go-based operators, Google study showing Java faster than Go, GraalVM native compilation for 80MB container images versus 400-500MB JVM images, fabric8 Kubernetes client for API communication, reconciliation cycle running every 10 seconds to maintain desired state, pod local controller as Quarkus sidecar for local Postgres operations, dynamic extension installation without rebuilding container images, grpc bi-directional communication between control plane and control nodes, inverse connection pattern where nodes initiate connections to control plane, comparison with Jini and JavaSpaces leasing concepts from Sun Microsystems, quarter million lines of Java code in the operator mostly POJOs predating records, PostgreSQL configuration validation with 300+ parameters, automated tuning applied by default in StackGres, potential for LLM-driven optimization with clone clusters for testing, Framework Computer laptop automation with Ubuntu auto-install and Ansible and Nix, five to ten minute full system reinstall including BIOS updates Alvaro Hernandez on twitter: @ahachete
An airhacks.fm conversation with Ales Justin (@alesj) about: Slovenian Christmas traditions, career journey from Bitcoin to Strimzi to quarkus development, Quarkus gRPC implementation using Google's legacy gRPC versus native Vert.x-based gRPC server, plans to make Vert.x gRPC the default in Quarkus with Vert.x 5, gRPC transcoding and gRPC-web browser support coming with new Vert.x version, OpenTelemetry integration in Quarkus with Bruno Baptista leading the effort, LGTM container image from Grafana containing Loki Grafana Tempo and Mimir for observability testing, Quarkus observability dev services providing out-of-the-box Grafana dashboards, custom Grafana dashboard configuration support in Quarkus applications, evolution from MicroProfile Metrics to micrometer to OpenTelemetry as the preferred standard, Protocol Buffers (protobuf) version migration challenges from proto 3 to proto 4 breaking Pulsar integration, WebAssembly-based protoc compiler replacing platform-specific binaries reducing dependency size from 100MB to 2MB, gRPC service development in Quarkus using GRPCService annotation and generated classes, gRPC client injection using GRPCClient annotation similar to REST client pattern, sharing protobuf definitions between projects using Git submodules for source code sharing, gRPC bidirectional streaming support in Quarkus, OpenTelemetry spans attributes and events for business and technical observability, gRPC interceptors for server and client telemetry instrumentation, VictoriaMetrics as Prometheus-compatible alternative with push-based metrics, OpenTelemetry logging support in Quarkus, OpenBlend Slovenia Java conference history from Java Blend to Oracle partnership, conference details with 400-450 attendees at Slovenian Adriatic coast in late May Ales Justin on twitter: @alesj
How PowerMock Happened

How PowerMock Happened

2025-12-2001:06:54

An airhacks.fm conversation with Johan Haleby (@johanhaleby) about: first computer experience with Commodore C64 and typing Basic programs from instruction manuals, early gaming experiences and interest in understanding load commands, transition to Amiga 500 Plus for demo scene scripting and composition, moving to PC era with 486 SX25 and four megabytes of RAM, learning Turbo Pascal and creating 2D Super Mario-inspired games, experimenting with inline assembler in Pascal and reading "The Art of Assembly Programming", reverse engineering games using Win32 disassembler to bypass license checks, studying computer science at Blekinge and Lund University in Sweden, first job at JayWay consultancy firm working on IKEA project in 2005, early adoption of Spring framework and automated testing practices, comparison of old-style EJB with heavy XML configuration versus Spring's lightweight approach, the evolution from XML-based configuration to annotation-based Java EE 5 and 6, creating PowerMock with colleague Jan Kronqvist to mock static methods and final classes, using asm and JavaAssist for bytecode manipulation instead of AspectJ, implementing custom class loaders where each JUnit method executed in different class loader, deep clone module for cloning object graphs between class loaders, tight coupling challenges between PowerMock and Mockito/EasyMock/JUnit versions, transition from EasyMock's record-replay pattern to Mockito's when-then approach, modern preference for avoiding mocks and testing against real cloud environments, optimizing for fast CI/CD pipelines rather than local simulation, structuring code to separate infrastructure concerns from pure business logic, using Java Records as pure data carriers versus adding behavior to records, Clojure-inspired philosophy of decoupling state from behavior and identity, Rich Hickey's "Simple Made Easy" talk and definitions of simple versus easy, multi-methods in functional languages as alternative to polymorphism, domain modeling example with network devices and fiber channel connections, benefits of object-oriented polymorphism for transparent persistence and simple code, avoiding religious adherence to patterns in favor of pragmatic solutions, Maven's stability and opinionated approach versus Gradle's flexibility, reducing external dependencies and Maven plugins in favor of CI/CD automation, the NPM ecosystem's over-modularization compared to Java's more reasonable approach, decline of OSGi hype and return to simpler monolithic architectures, Johan's current work on Occurrent Event Sourcing library and cloud events Johan Haleby on twitter: @johanhaleby
An airhacks.fm conversation with Ales Justin (@alesj) about: Early computing experiences with spectrum 48ZX and game development in Yugoslavia, progression from Basic to Pascal to C/C++ and eventually Java, mathematics education and its application to programming, working on energy consumption analysis applications for Slovenian companies, transitioning from a big IT company to a startup focusing on energy sector software, implementing Spring deployer for JBoss and contributing to open source, joining JBoss/Red Hat after impressing Bill Burke and Mark Fleury with Spring-JBoss integration, working on JBoss microcontainer with Adrian Brock and emphasis on precise testing, development of CapeDwarf as a JBoss implementation of Google App Engine APIs, collaboration with Google on TCK (Technology Compatibility Kit) development, solving concurrency bugs for a billion-dollar kitten app company using Cape Dwarf clustering, transition to cloud technologies with kubernetes and openshift integration, brief departure to work on cryptocurrency exchange using Spring Boot and Kafka, experiencing and solving Kafka / Strimzi issues on Google Cloud Platform, returning to Red Hat to work on Strimzi and eventually quarkus, focus on runtime systems and reactive programming with grpc and observability, importance of open source contribution and community engagement, evolution from monolithic application servers to cloud-native microservices architecture Ales Justin on twitter: @alesj
An airhacks.fm conversation with Stanislav Bashkyrtsev (@sbashkirtsev) about: scientific software for chemists and drug discovery, peaksel flagship software for analyzing mass spectrometer data, parsing binary instrument formats up to gigabytes in size, mass spectrometry measuring molecular weights using electric fields and detectors, daltons as mass units, isotope patterns for molecule identification, storing experimental data in PostgreSQL with potential big data challenges, S3 storage solutions, drug discovery process from hit identification to molecule modifications, molecular libraries and combinatorial chemistry, enumeration of molecular structures in computers, synthesis reactions mixing reactants with solvents and various conditions, liquid handlers and laboratory automation challenges, return on investment issues in early drug discovery automation, lab of the future concepts, Molbrett product combining excalidraw with chemical structure drawing capabilities, SMILES format for representing molecular structures as strings, graph-based molecular formats storing atom connections and bond types, 2D vs 3D molecular visualization preferences, Meve centralized event system for tracking molecular experiments across different software systems, ETL processes for data integration, Crystalline software for documenting protein crystallography experiments, protein structure determination using X-ray crystallography, Synchrotron facilities for high-energy X-ray generation, crystal growing conditions and documentation, fishing crystals with microscope and lasso wands, liquid nitrogen cooling for crystal preservation, Java backend, JavaScript frontend, minimal dependencies approach, six-person team structure, sponsorship business model for open source scientific software development, free updates for sponsors, subscription model for non-sponsors, checkout: https://elsci.io Stanislav Bashkyrtsev on twitter: @sbashkirtsev
How to Kill a Fish

How to Kill a Fish

2025-11-2855:19

An airhacks.fm conversation with Ondrej Mihalyi (@OndroMih) about: OmniFish company founding with former Payara employees, Arjan Tijms as Jakarta EE Security lead and Jakarta EE 10 coordinator, David Matejczyk as Glassfish project lead and main contributor, OmniFish as the main maintainer and driver of GlassFish development, GlassFish optimization and bug fixes, embedded GlassFish improvements for command-line execution, comparison with Payara Micro, Slovak and Czech Christmas traditions including cemetery visits on Christmas Eve, traditional Christmas cookies like medovník (honey cookies) and perník, carp preparation for Christmas dinner with potato salad variations, fish scales tradition for wealth, Jakarta EE stability and backward compatibility over 15 years, migration from Java EE to Jakarta EE namespace changes, comparison between Jakarta EE and Spring regarding XML configuration history, Convention over Configuration in Java EE 5 and 6, WebSphere and WebLogic legacy issues, GlassFish as reference implementation advantages, runtime vs application server distinction, JSON-P usage for serverless lambda events, MicroProfile Health clean room implementation, Piranha experimental framework with new Servlet container implementation, AI and LLMs excellent knowledge of Jakarta EE specifications, no hallucinations when generating Jakarta EE code, separation of runtime and application deployment Ondrej Mihalyi on twitter: @OndroMih
An airhacks.fm conversation with Stanislav Bashkyrtsev (@sbashkirtsev) about: Early programming journey starting with Pascal in school and C# self-study in 2005, transition from C# to Java through local programming courses in 2007, first experiences with Java 6 and EJB2/EJB3, working with Delphi for lawyers' desktop software before finding Java opportunities, first Java project for Madison Square Garden and New York Knicks website, career progression through entertainment and banking sectors including work with Barclays Capital and UBS, transition to CI/CD engineering in 2012 with heavy Jenkins usage and source code patching, challenges of implementing trunk-based development practices, automated QA engineering experiences with selenium testing, problems with separate QA and development teams affecting code testability, self-study of biology and chemistry leading to scientific software development, founding elsci company focused on high-performance enterprise software for chemists and biotech companies, disconnect between software developers and scientists' needs in scientific software, advantages of quarkus framework for serverless deployments on AWS, Quarkus build-time deployment optimization versus traditional application servers, comparison with Spring Boot auto-configuration complexity, migration experiences from Java EE to Quarkus maintaining standards compliance, virtual threads support in modern Quarkus, preference for Java 7 simplicity over modern Java streams, importance of end-to-end testing over unit testing pyramid, challenges of running a software company versus being an independent consultant, Helsinki Java User Group presentation on operating system thread mechanics Stanislav Bashkyrtsev on twitter: @sbashkirtsev
An airhacks.fm conversation with Olimpiu Pop (@olimpiupop) about: Romanian developer's journey from 486 computers to Transylvania Java User Group, early programming with Turbo Pascal at age 9-10, playing games like Jazz Jackrabbit and Prince of Persia, influence of Star Trek and science fiction on career choice, mathematics olympiads participation, computer science high school education, learning C and FoxPro, Java vs .net ecosystem in Romania during 2000s, Microsoft's university infiltration strategy, first Java exposure with version 1.4, Siemens internship on telecommunications servers, neighborhood network building projects, working without home internet until 2005-2006, nearshoring company experience, EJB and Spring framework with XML configuration, master's studies at Johannes Kepler University Linz 2008-2011, working with fabasoft on observability systems, .NET development for two years with C#, attributes vs annotations comparison, Java ME micro edition development, implementing DTOs and service architectures, agile methodology adoption, iterative development practices, data gravity concept from Ruby on Rails, working for Uniqa with WebMethods, brueckner Group spin-off developing industrial software, DevOps implementation with Jenkins and Git, choosing between Mercurial and Git version control, Broadridge financial technology work, stock exchange monitoring systems, low-latency Java implementations, Mechanical Sympathy and Disruptor pattern, taking over Java User Group from Gabi Pop, managing Java Advent Calendar for 15 years, WordPress to Java migration plans using quarkus-roq, transition from coding to management roles, challenging microservices adoption, modular monolith advocacy, Java verbosity improvements and scripting capabilities, young developers returning to Java, typescript developers discovering Java patterns, Romanian tech scene evolution, Cluj coffee culture and steampunk bars Olimpiu Pop on twitter: @olimpiupop
An airhacks.fm conversation with Gabriel Pop (@vwggolf3) about: transition from individual contributor to engineering management since 2011, managing developer tools and AWS code suite services, discussion of AWS CodeCommit entering maintenance mode but maintaining performance and security standards, benefits of AWS CodeBuild as a serverless build service, using CodeBuild for running JARs and automated testing, proper channels for submitting AWS feature requests through documentation and github repos, CodeArtifact as artifact repository for Java JARs and other packages, using S3 for serverless lambda deployment artifacts, multi-account architecture patterns for build systems, CodeDeploy flexibility for various deployment scenarios including ECS rolling updates, lifecycle hooks in CodeDeploy for Lambda deployments, Code Connections for secure third-party repository integration without storing secrets, CodePipeline as orchestrator for CI/CD workflows, CodePipeline V2 features with tag-based triggers for release automation, event-driven architecture using Amazon EventBridge with CodeBuild and CodePipeline events, comparison with GitHub Actions and Jenkins integrations, philosophy of using AWS-native services for consistency and security, Step Functions as alternative orchestration tool, importance of automation and infrastructure as code with CDK, challenges of prioritization and trade-offs in AWS service development, AWS region expansion and service availability, end-to-end testing strategies with Java interfaces and MicroProfile, security best practices with least privilege and dedicated build accounts, developer experience improvements and console UI updates, community engagement through AWS Hero program and user groups Gabriel Pop on twitter: @vwggolf3
An airhacks.fm conversation with Philipp Page (@PagePhilipp) about: Discussion about refactoring AWS Lambda Power Tools to remove AspectJ dependency and introduce functional interfaces, comparison between AspectJ and lombok for code generation, benefits of offloading work to build time for AWS Lambda performance, using quarkus build-time optimizations with Jandex and gizmo utilities, replacing slf4j with Java System Logger to reduce dependencies, implementing log buffering feature that flushes debug logs only on errors for proactive debugging, thread safety considerations in multi-threaded AWS Lambda executions, using Embedded Metrics Format (EMF) for CloudWatch metrics without prometheus, caching Parameter Store values to avoid throttling limits, structured logging benefits for nested JSON queries in CloudWatch Insights, detecting cold starts without reflection using class initialization tricks, future support for Java 25 and modern Java features like Scoped Values, Maven and Gradle plugin development for annotation processing, custom serializers for Kafka and Avro messages, potential java.util.json support for lightweight JSON parsing, middleware chain pattern implementation for Power Tools utilities, differences between reactive and proactive debugging approaches, cost optimization through EMF metrics instead of Prometheus scraping, BCE (Boundary Control Entity) architecture pattern for business metrics, performance benefits of removing reflection from metrics utility, CDK integration considerations for generated classes, request stream handlers as reflection-free alternatives Philipp Page on twitter: @PagePhilipp
Babylon and java.util.json

Babylon and java.util.json

2025-10-2601:03:58

An airhacks.fm conversation with Paul Sandoz (@paulsandoz) about: Devoxx conference experiences and Java's evolution over the past decade, energy efficiency studies comparing Java to C/Rust/Ada from 2017, Java performance improvements from Java 8 to Java 25, Code Reflection as manipulation of method bodies versus traditional reflection, tornadovm optimizations for GPU inference achieving 6-10x speedup over CPU, using pointers to keep data on GPUs avoiding transfer overhead, Metal support development for Apple Silicon, relationship between Project Babylon and TornadoVM, HAT project collaboration opportunities, Python's GPU performance through optimized NVIDIA libraries, enterprise challenges with Python in production versus Java's packaging simplicity, BLISS library for NumPy-like operations in Java, DJL.ai for tensor manipulation and Deep Learning, JTaccuino for Jupyter-style notebooks with JavaFX, MCP protocol implementation challenges with poor specification quality, minimal JSON API design philosophy for OpenJDK, cognitive overhead reduction in API design, pattern matching with JSON values, assertion-style API for fail-fast programming, JSON-P versus JSON-B trade-offs in enterprise applications, versioning challenges with data binding approaches, embedded HTTP server use cases for testing and development, JSON-java library as reference implementation, zero-dependency approach becoming more popular, Java 25 instance main methods with automatic java.base imports, zb zero-dependency builder project, marshalling and serialization rethinking in OpenJDK, trusted builds and dependency management in enterprise Java, comparison of Maven/Gradle complexity for simple projects, GPL licensing for OpenJDK code, the java.util.json experiment Paul Sandoz on twitter: @paulsandoz
An airhacks.fm conversation with Philipp Page (@PagePhilipp) about: early computing experiences with Windows XP and Intel Pentium systems, playing rally car games like Dirt with split-screen multiplayer, transitioning from gaming to server administration through Minecraft, running Minecraft servers at age 13 with memory limitations and out-of-memory exceptions, implementing caching mechanisms with cron jobs and MySQL databases, learning about SQL injection attacks and prepared statements, discovering connection pooling advantages over PHP approaches, appreciating type safety and Object-oriented programming principles in Java, the tendency to over-abstract and create unnecessary abstractions as junior developers, obsession with avoiding dependencies and implementing frameworks from scratch, building custom Model-View-Controller patterns and dependency injection systems, developing e-learning platform for aerospace industry using PHP Symfony framework, implementing time series forecasting in pure Java without external dependencies, internship and employment at AWS Dublin in Frontier Networking team, working on AWS Outposts and Ground Station hybrid cloud offerings, using python and rust for networking control plane development, learning to appreciate Python despite initial resistance to dynamically typed languages, joining AWS Lambda Powertools team as Java tech lead, maintaining open-source serverless development toolkit, providing utilities for observability including structured JSON logging with Lambda-specific information, implementing metrics and tracing for distributed event-driven architectures, mapping utilities to AWS Well-Architected Framework serverless lens recommendations, caching parameters and secrets to improve scalability and reduce costs, debate about AspectJ dependency and alternatives like Micronaut and quarkus approaches, providing both annotation-based and programmatic interfaces for utilities, newer utilities like Kafka consumer avoiding AspectJ dependency, comparing Micronaut's compiler-based approach and Quarkus extensions for bytecode generation, AspectJ losing popularity in enterprise Java projects, preferring Java standards over external dependencies for long-term maintainability, agents in electricity trading simulations for renewable energy scenarios, comparing on-premise Java capabilities versus cloud-native AWS features, default architecture pattern of Lambda with S3 for persistent storage, using AWS Calculator for cost analysis before architecture decisions, event-driven architectures being native to AWS versus artificially created in traditional Java projects, everything in AWS emitting events naturally through services like EventBridge, filtering events rather than creating them artificially, avoiding unnecessary microservices complexity when simple method calls suffice, directly wiring API Gateway to DynamoDB without Lambda for no-code solutions, using Java for CDK infrastructure as code while minimizing runtime dependencies, maximizing cloud-native features when in cloud versus on-premise optimization strategies, starting with simplest possible architecture and justifying complexity, blue-green deployments and load balancing handled automatically by Lambda, internal AWS teams using Lambda for orchestration and event interception, Lambda as foundational zero-level service across AWS infrastructure, preferring highest abstraction level services like Lambda and ECS Fargate, only dropping to EC2 when specific requirements demand lower-level control, contributing to Powertools for AWS Lambda Python repository before joining team, compile-time weaving avoiding Lambda cold start performance impacts, GraalVM compilation considerations for Quarkus and Micronaut approaches, customer references available on Powertools website, contrast between low-level networking and serverless development, LinkedIn as primary social media platform for professional connections, Powertools for AWS Lambda (Java) Philipp Page on twitter: @PagePhilipp
An airhacks.fm conversation with Gabriel Pop (@vwggolf3) about: Romanian communist-era Felix HC91 computer with Z80 processor and 64KB RAM, learning programming through Basic and cassette tape storage, attending specialized informatics high school class in northern Romania, teachers from former communist computing center, learning Pascal and building word-guessing game for graduation project, pressure and competitiveness in academic environment, entering Cluj-Napoca Technical University computer science program as second-ranked student, studying in English-taught program, learning Java through Bruce Eckel's Thinking in Java book, working as Java developer during university using German method names for Frankfurt-based company, using Struts framework with Hibernate and JSPs for web development, joining Betfair.com as early employee in Romanian office, founding Transylvania Java User Group in 2008 with iconic Dracula-themed Duke logo, organizing 60+ meetups with 120-150 regular attendees, receiving support from international JUG leaders like Antonio Gonçalves and Michael Hüttermann, transitioning to engineering leadership roles, working at various companies including Uber Amsterdam managing cash payment systems, health tech startup using PHP, Catawiki marketplace using Ruby on Rails, currently working at AWS on CodeBuild and CodePipeline, discussing need for corretto 25 support in AWS services, importance of Java LTS versions for developers Gabriel Pop on twitter: @vwggolf3
An airhacks.fm conversation with Alvaro Hernandez (@ahachete) about: Framework laptop experience and build process with DIY edition, modular connectors and upgradability, running Ubuntu 25.10 beta with nix package manager, automating installation with YAML and Ansible, comparison with IBM AS/400 feature activation model, docker adoption history for server maintenance and documentation, PostgreSQL extensions, upgradability and security concerns, challenges with packing 1000+ extensions into container images, security concerns with large monolithic images containing unused extensions, dynamic extension injection using sidecar pod local controller in kubernetes, problems with mutating running containers and security tool compliance, traditional Docker build approach requiring users to become image maintainers, challenging assumptions about container image immutability and Merkle tree, container images as JSON manifests pointing to tar file layers, Dynamic OCI Registry concept for composing images on-the-fly, generating manifests dynamically in milliseconds without Docker build, interface-based approach for mapping user preferences to layer digests, PostgreSQL-specific implementation with extension URL patterns, metadata storage in PostgreSQL database for layer digest resolution, potential applications for quarkus and Java microservices, serverless deployment possibilities with AWS Lambda, comparison with Cloudflare's serverless OCI registry, enterprise use cases for automated patching and security updates, integration possibilities with AWS EventBridge for CI/CD pipelines, transparency to Docker clients with only registry change required, stackgres platform using 4 million lines of Java code, ongres company services including PostgreSQL training and Oracle migrations, Alvaro's website: aht.es Alvaro Hernandez on twitter: @ahachete
loading
Comments (1)

alex

An innocent question about someone's first computer suddenly turned into what is probably the funniest episode introduction on this channel :)

Apr 13th
Reply