
airhacks.fm podcast with adam bien
Java, Serverless, Clouds, Architecture and Web conversations with Adam Bien
Latest episodes

Oct 25, 2022 • 1h 11min
Captain Primak Meets Clustered Singletons
An airhacks.fm conversation with Lenny Primak (@lprimak) about:
previous appearance of lenny on airhacks: "#137 (fake) reactive programming, project loom, chunked IO",
the airhacks.tv show,
captains and first officers,
Payara’s Clustered Singleton
EJB singletons and clusters,
JBoss HA-Singleton,
Paxos algorithm,
JSR-223,
Hazelcast partitioning,
hazelcast metrics,
hazelcast’s DataSerializable,
Apache Shiro commitment,
Benjamin Marwell as guest on "#181 Java Authentication and Authorization with Apache Shiro",
Apache Tapestry ships with own dependency injection framework,
Securing Web Applications with Apache Shiro,
Cesna Citation CJ4,
Lenny Primak on twitter: @lprimak

Oct 16, 2022 • 55min
From a NetBeans Champion to a Friend of the openJDK
An airhacks.fm conversation with Geertjan Wielenga (@GeertjanW) about:
ZX Spectrum 48k,
Pascal and Basic programming at high school,
studying law in South Africa,
writing documentation at Sun Microsystems for netbeans,
Ludovic Champenois on "#153 Java, Serverless, Google App Engine, gVisor, Kubernetes",
working for Sun Microsystems in Prague,
mike’s blog,
GlassFish Grizzly,
NetBeans RCP,
monitoring oil platforms with NetBeans RCP,
Victor Orozco on: "#192 Innovation, Clouds, Kubernetes, Standards and Java",
NetBeans certification and knowledge sharing,
the great performance of NetBeans 15,
the Swing Application Framework and JSR-296 and JSR-295,
JSR 296: Swing Application Framework,
JDeveloper used NetBeans as platform,
from Oracle to Apache NetBeans,
the challenges of opensourcing code,
Geertjan Wielenga on twitter: @GeertjanW

Oct 9, 2022 • 1h 8min
How Liberica JDK Happened
An airhacks.fm conversation with Dmitry Chuyko (@dchuyko) about:
Logo on BK, and Basic on Nemiga,
Pentium 1,
AltaVista and Lycos,
starting with Pascal, C, then Borland’s Kylix,
controlling the CD tray,
managing toy production with MS Access,
writing drivers for Windows at high school,
math over programming,
joining Borland,
Visual Basic, C++, XSLT then Java,
from C++ to Java,
using Apache Xalan,
using Apache FOP for transformations,
fancy XML in 2003,
Java on desktop,
using Java on cellular phones,
simplifying Java EE with visual modelling,
working in a 4G startup,
using JXTA for car to car communication,
starting at QuickOffice,
writing backend for Deutsche Bank,
starting at Oracle performance team,
if you want to go to Oracle, you go to Delphi,
improving Java performance,
joining BellSoft,
Liberica JDK,
BellSoft is top openJDK and JCP contributor,
Liberica’s native image Kit,
Dmitry Chuyko on twitter: @dchuyko

Oct 3, 2022 • 1h 9min
The Cloud is Slower Than Your Local Machine
An airhacks.fm conversation with Goran Opacic (@goranopacic) about:
what is a database,
everything is a database,
S3 queries with Athena,
glue crawler on S3,
Cloudflare Quiche,
Kafka vs. Kinesis,
proprietary managed AWS services,
different writing and reading paths,
openJDK CRaC (Coordinated Restore at Checkpoint),
Oracle’s Aurora JVM,
Amazon Aurora Serverless,
the cloud is slower than your local machine,
scaling is about limits,
AQUA (Advanced Query Accelerator),
CQRS is a cloud-native pattern,
CDC on premise and in the cloud
Goran Opacic on twitter: @goranopacic

Sep 18, 2022 • 1h 3min
GraalVM: Meta Circularity on Different Levels
An airhacks.fm conversation with Fabio Niephaus (@fniephaus) about:
enjoying lego mindstorms,
learning python, then Java,
pencils and mice,
using bluej,
lejos - Java for lego,
building extension for PHP fusion,
enjoying SmallTalk,
PyPy and GraalVM,
rpyhton (restricted python) toolchain,
AOT compilation,
Java BeanShell,
bringing SmallTalk to other languages with PyPy,
Java on Truffle - espresso,
combining multiple interpreters in one JVM,
Hasso-Plattner-Institut in Potsdam,
self-sustaining programming system,
Truffle Native Function Interface,
TruffleSqueak,
RSqueak/VM,
GraalVM Dashboard,
Paper on Polyglot VM built with RPython,
RPython Toolchain,
GraalVM Reachability Metadata Repository,
using GraalVM with Github Actions.
GitHub Action for GraalVM,
GraalVM 22.2 release blog post,
New GraalVM reachability metadata repository,
source level debugging with native images,
continuous native image build tracking,
Embedding Truffle Languages by Kevin Menard
Fabio Niephaus on twitter: @fniephaus

Sep 18, 2022 • 59min
From Punched Cards to Java 11
An airhacks.fm conversation with Glenn Holmer (@gholmer) about:
astrology, TRS-80, Radio Shack,
learning Basic, RPG and COBOL in 8 month,
working for weyco group incorporated,
learning assembly with core dumps,
blanks instead of zeros,
enjoying modern Cobol,
running warehouse software on Novell Netware,
starting with Java 1.1 in 1997,
anonymous inner classes and JDBC were introduced with Java 1.1,
AS 400 support for Java was excellent,
Java and NDS,
running Applets in a browser,
HotJava the browser in Java,
icefaces and ICEBrowser,
creating a web app with Java servlets,
starting with Tomcat, switching to Glassfish,
starting with plain editors, then NetBeans,
Programmers Paradise,
CodeWarrior metrowerks,
forte for java IDE,
becoming the very first Java programmer,
the ultrasonic box scanner,
migrating from GlassFish to Payara,
writing millions lines of code with a team of five,
remembering jEdit
Glenn Holmer on twitter: @gholmer

Sep 11, 2022 • 1h 6min
Mission Critical Transactions
An airhacks.fm conversation with Alejandro Pablo Revilla (@apr) about:
checkout episode with Alejandro: "#201 Write, Finish, Improve-jPOS",
JPOS vision,
handling large loads and making changes on the fly,
connections to thousands ofr networking,
circuit breaking 20 years ago,
jPOS EE - the extendible edition,
The Payment Platformn,
"#72 KISS and No Dependencies in JGroups" with Bela Ban,
jdom - the XML parser,
dependencies require care,
Java becomes better and better,
being lazy and avoiding dependencies,
rejecting unnecessary dependencies,
Java 1:1 mapping between a file and a class is great,
class injection without interfaces,
quarkus / Micronaut as lambda and dependency injection for free,
interfaces as defect,
logging and realms,
logging a context of a transation,
self-configurable logger with CDI,
what happens inside a Point of Sale (POS),
the latency requirements,
Transaction Manager uses continuations,
jPOS Transaction Manager on Project Loom evaluation,
jPOS is 100k LoC,
jPOS Transaction Manager is 1k LoC,
jPOS implements two-phase commit protocol,
jPOS uses BerkeleyDB for checkpoint storage,
the opinionated 2PC,
continuations and reactive programming,
Project Loom and structured concurrency,
virtual threads and database connection pooling,
the Hardware Security Module (HSM) and Transaction Manager,
cloud are more secure,
hybrid clouds,
buying support for opensource software
Alejandro Pablo Revilla on twitter: @apr

Sep 4, 2022 • 1h 18min
Java 19: Millions of Threads in No Time
An airhacks.fm conversation with Nicolai Parlog (@nipafx) about:
JavaOne is back,
virtual threads and Java 19,
the old Java’s green threads,
mapping between OS threads and green threads cannot be changed after assignment,
Project’s Loom virtual threads are not assigned to a core,
virtual threads could become the default,
the artificial use of reactive programming,
Project Loom performs as good as reactive, but may consume more memory,
operational costs vs. developer costs,
structured concurrency in looom,
millions of threads in no time,
the memory overhead depends on the call stack,
structured programming is as powerful as go to,
structured programming and structograms,
structured concurrency,
a structured task scope in try with resources,
creating all tasks in one scope,
StructuredTaskScope has to be a part of Java,
StructuredTaskScope maintains the virtual thread hierarchy - the parent,
structured concurrency and EJBs,
structured concurrency and transactions,
CompletableFuture and StructuredTaskScope,
StructuredTaskScope and shutdown on success or shutdown on failure,
Boundary Control Entity and structured concurrency,
Project Loom Brings Structured Concurrency video on java inside,
project Helidon and virtual threads,
the premature optimisation of Loom,,
the sun misc Unsafe,
the great inside.java portal,
Nicolai Parlog on twitter: @nipafx

Aug 27, 2022 • 0sec
Mr. Omni
An airhacks.fm conversation with Ken Fogel (@omniprof) about:
Digi-Comp I 3bit computer by Admin Scientific,
programming with small pieces of plastic,
a course in fortran,
a service person in a mail room working 20mins a day,
borrowing 5000 dollars and buying Apple II for 2000 dollars in 1980,
buying a floppy disk drive for 700 dollars,
starting with AppleSoft Basic by Microsoft,
learning assembly language to improve performance,
presentation at the university to introduce Apple computer,
controlling a water filtration system with Apple II,
writing conversion for word processors in PL 1,
WordPerfect, IBM MultiMate, WordStar,
starting at the University to teach COBOL,
teaching project courses,
good bye Cobol in 2000,
starting with Java in 1999,
replacing the mainframe with Java,
Java 1.4 was the most amazing thing,
developer works and alpha works websites,
IBM’s Jikes compiler,
a short history of .net,
$10k for Cobol,
Oracles JDeveloper,
Borland JBuilder,
Sun Java Workshop and Sun Java Studio,
From JDeveloper to Eclipse,
From Eclipse to NetBeans,
Netbeans just works,
a message from Geertjan Wielenga,
the invitation to JavaOne,
JavaOne - the geeks heaven,
NetBeans Days and DOScon in Montreal,
the jChampions conference,
Visual Studio Code is written in typescript,
Visual Basic had the most amazing switch case,
Java 17 and the new switch case,
the executive JCP member,
learn to program Java by Springer,
writing all the code in main method,
writing a Java book,
Ken Fogel on twitter: @omniprof

Aug 21, 2022 • 1h 13min
About Java 18
An airhacks.fm conversation with Nicolai Parlog (@nipafx) about:
Vacations without conferences,
dangerous vacations on the beach,
JEP-413 Code Snippets in Java API Documentation,
from System Tests to code snippets,
System Tests and Java clients,
search and replace in code snippets,
hybrid snippets,
asciidoc and Markdown,
Dan Allen @mojavelinux and asciidoc,
Java 18’s Simple Web Server,
JEP 408: Simple Web Server,
JEP 421: Deprecate Finalization for Removal,
custom host resolving with JEP 418: Internet-Address Resolution SPI,
type pattern check in Java 17,
Java 18 introduces pattern matching for switch,
JEP 420: Pattern Matching for switch (Second Preview),
non-sealed is the first hyphenated keyword,
Java’s contextual keywords,
system property file.encoding,
JEP 400: UTF-8 by Default
Nicolai Parlog on twitter: @nipafx, Nicolai's website: nipafx.dev
Remember Everything You Learn from Podcasts
Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.