PodcastyTechnologiaairhacks.fm podcast with adam bien

airhacks.fm podcast with adam bien

Adam Bien
airhacks.fm podcast with adam bien
Najnowszy odcinek

387 odcinków

  • airhacks.fm podcast with adam bien

    From Java 8 Lambdas, Streams, Spliterators, to Default Methods

    15.03.2026 | 1 godz. 9 min.
    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 their method-level synchronization overhead,
    Java 8 lambdas and streams as the major language feature,
    default methods enabling compatible interface evolution,
    the long-standing problem of not being able to add methods to published interfaces,
    Brian Goetz as the main designer of the Spliterator concept,
    Eclipse Collections and Rich Iterable as an alternative to streams,
    the GS Collections to Eclipse Collections history,
    C# LINQ as a competing influence that pressured Java to add streams,
    the design decision to separate lazy stream operations from eager collection operations,
    intermediate vs terminal operations in stream pipelines,
    why streams cannot be consumed twice and the buffering problem with forking streams,
    primitive specializations of streams (IntStream,
    LongStream,
    DoubleStream) and the original compromise of Java primitives vs objects,
    Spliterator characteristics,
    the subsized optimization that avoids intermediate storage and merge steps for array-based collections,
    how Spliterator splitting works for parallel execution and the fork/join pool,
    Amdahl's law and minimizing single-threaded setup for parallel streams,
    why Spliterator.trySplit mutates in place rather than returning two new spliterators,
    HashSet being sized but not subsized due to bucket distribution,
    ArrayList vs LinkedList performance considerations for streams,
    streams from non-collection sources like BufferedReader.lines() and String.lines(),
    infinite streams with Stream.generate(),
    the limitations of streams for reactive or socket-based processing,
    the for-each approach as an alternative to to-list for live data sources,
    the upcoming topics of fork/join pools and parallel stream configuration,
    the JavaOne conference
    Stuart Marks on twitter: @stuartmarks
  • airhacks.fm podcast with adam bien

    Kaizen and Kaikaku

    09.03.2026 | 1 godz. 11 min.
    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 gaming communities,
    classic games including 3D Monster Maze and Manic Miner and Jet Set Willy,
    sprite graphics innovation on the Z80 chip,
    first internship at Domark publishing Empire Strikes Back on ZX Spectrum and Commodore 64,
    second internship at IBM Hursley Park working on CICS in PL/1 and Rexx,
    the contrast between casual game studio culture and IBM corporate culture in the 1980s,
    IBM's role as a founding partner of J2EE Enterprise Java,
    JMS wrapping MQ Series,
    the reliability of MQ Series compared to later messaging technologies,
    finding and reporting a concurrency bug in MQ Series with JUnit tests and IBM's rapid response with an emergency patch,
    IBM alphaWorks portal and experimental technologies,
    IBM Aglets mobile Java agent framework compared to modern A2A agent protocols,
    Jini and JavaSpaces from Sun Microsystems with leasing and self-healing,
    JXTA peer-to-peer technology,
    IBM Jikes Compiler performance compared to javac,
    IBM's own JVM,
    JVM running on Palm Pilot around 1999,
    VisualAge for Java as a port of VisualAge for SmallTalk with its image-based architecture and no file system exposure,
    Java's coupling of class and package names to files and directories as a design weakness,
    the difficulty of refactoring without IDE support,
    Eclipse as the first IDE with proper refactoring,
    NetBeans IDE performance compared to Visual Studio Code,
    third internship writing X-ray machine control software in Turbo Pascal doing digital image processing,
    the pace of technological innovation slowing from kaikaku (abrupt change) to kaizen (continuous improvement),
    Douglas Adams quote about technology perception by age,
    DEC Alpha 64-bit Unix performance,
    commodity Linux hardware replacing exotic RISC machines,
    Apple M series chips rediscovering RISC Architecture and system-on-chip design,
    innovation fatigue and signal-to-noise ratio in modern tech,
    LLMs and the trillion-dollar bet on the wrong technology,
    electric cars as an example of ongoing innovation,
    Tailwind CSS shutting down due to AI-generated code replacing paid expertise,
    Stack Overflow in trouble due to AI summarization,
    open source innovation continuing with tools like Astral's uv replacing the python toolchain,
    cross-community collaboration between rust and Python and Ruby ecosystems,
    first graduate job at Crossfield (Fuji/DuPont joint venture) doing electronic pre-press and color transformation through 4D CMYK color cubes,
    writing a TIFF decoder from scratch in C,
    Raster Image Processor technology and its connection to Adobe,
    transition from C++ to Java feeling quirky,
    joining ThoughtWorks in 2002 for enterprise Java work
    Daniel Terhorst-North on twitter: @tastapod.com
  • airhacks.fm podcast with adam bien

    From Gorillas to AWS CDK

    04.03.2026 | 53 min.
    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 software,
    migration from Swing to Eclipse RCP frontend with JBoss application server backend,
    building a custom Spring-based microservice framework called Dwallin (Icelandic for dwarf) before Spring Boot existed,
    using Apache CXF for REST and RPC over messaging with ActiveMQ,
    comparison of Java development trajectories between annotation-based and XML-heavy approaches,
    discussion of the infamous Java and XML O'Reilly book that popularized XML configuration,
    xdoclet as a precursor to Java annotations,
    contrasting approaches of JBoss-based thin WAR deployments versus Spring-based embedded server microservices,
    university experience learning Ada programming language and its strict compiler as excellent for learning programming,
    PL/SQL's Ada-based origins,
    brief experience with OSGi and strong criticism of its complexity and poor developer experience,
    comparison of OSGi with Java Platform Module System (JPMS),
    founding Taimos consulting company 10 years ago originally building BlackBerry enterprise software,
    pivoting to AWS migration consulting for regulated industries including banks and insurance companies,
    strong preference for serverless architecture with lambda Step Functions API Gateway and DynamoDB,
    criticism of running kubernetes on AWS versus using native services like ECS Fargate,
    the distinction between running "in the cloud" versus "on the cloud",
    detailed discussion of why GraalVM native images are unnecessary on AWS Lambda due to compliance overhead and memory allocation model,
    quarkus and SnapStart as solutions for Lambda cold start problems,
    Java's cost efficiency on Lambda due to fast execution times,
    involvement with AWS CDK since 2018-2019 including building L2 constructs for EC2 and AppSync,
    shift from code contributions to community organizing and prioritization work with the CDK team,
    launching CDK Terrain as successor to CDK for Terraform,
    nuanced discussion of open source economics when the project primarily benefits a paid cloud provider,
    using GitHub as a personal index and dashboard for reusable project templates,
    consulting perspective on contributing to open source for code reuse across multiple clients,
    teaser for a future deep-dive episode on CDK internals and promoting Java usage with CDK
    Thorsten Hoeger on twitter: @hoegertn
  • airhacks.fm podcast with adam bien

    Agent-to-Agent Protocol (A2A) and the Java SDK

    22.02.2026 | 1 godz.
    An airhacks.fm conversation with Kabir Khan (@kabirkhan) about:
    Discussion about the A2A (Agent-to-Agent) protocol initiated by Google and donated to the Linux Foundation,
    the A2A Java SDK reference implementation using quarkus,
    the Java SDK development accepted by Google,
    comparison of python and Java expressiveness and coding practices,
    the concept of an agent as a stateful process versus a tool as a stateless function call,
    the agent card as a JSON document advertising capabilities including supported protocols and descriptions and input/output modes and examples,
    the three wire protocols supported: JSON RPC and HTTP+JSON (REST) and grpc,
    the proto file becoming the single source of truth for the upcoming 1.0 spec,
    the facade/adapter pattern for the unified client across protocols,
    the agent executor interface with request context and event queue parameters,
    the distinction between simple message interactions and long-running multi-turn tasks,
    tasks as Java Records containing conversation history with messages and artifacts,
    message parts including text parts and data parts and file parts,
    task lifecycle with task IDs and context IDs for stateful conversations,
    the event queue as internal plumbing for propagating task updates,
    the separation between spec package (wire protocol entities) and server package (implementation details),
    the task store as a CRUD interface with in-memory default and database-backed implementations in extras,
    replicated queue manager using microprofile reactive messaging with Kafka for kubernetes environments,
    building A2A agents without any LLM involvement for simple use cases like backup systems,
    the role of LLMs in creating prompts from task messages and context,
    the agentic loop and the challenge of deciding when an agent's work is complete,
    the relationship between MCP (Model Context Protocol) for tool access and A2A for agent-to-agent communication,
    the possibility of wrapping agent calls as MCP tools,
    memory management considerations with short-term and long-term memory and prompt size affecting LLM quality,
    the distinction between the bare reference implementation and Quarkus-specific enhancements like annotations and dependency injection,
    upcoming 1.0 release with standardized Java records for all API classes and improved JavaDoc,
    protocol extensions including the agent payment protocol and GUI snippet extensions using template engines,
    authentication support with OAuth2 tokens and API keys and bearer tokens,
    the authenticated agent card containing more information than the public agent card,
    authorization hooks being discussed for task-level access control,
    the API and SPI segregation suggestion for better clarity between spec and implementation
    Kabir Khan on twitter: @kabirkhan
  • airhacks.fm podcast with adam bien

    Custom Virtual Thread Schedulers, CPU Cache Optimization and Work Stealing

    15.02.2026 | 1 godz. 14 min.
    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

Więcej Technologia podcastów

O airhacks.fm podcast with adam bien

Java, Serverless, Clouds, Architecture and Web conversations with Adam Bien
Strona internetowa podcastu

Słuchaj airhacks.fm podcast with adam bien, Lex Fridman Podcast i wielu innych podcastów z całego świata dzięki aplikacji radio.pl

Uzyskaj bezpłatną aplikację radio.pl

  • Stacje i podcasty do zakładek
  • Strumieniuj przez Wi-Fi lub Bluetooth
  • Obsługuje Carplay & Android Auto
  • Jeszcze więcej funkcjonalności
Media spoecznościowe
v8.8.1 | © 2007-2026 radio.de GmbH
Generated: 3/18/2026 - 8:57:31 PM