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

Jan 11, 2021 • 1h 8min
Java CLI Apps, Builds and jbang
An airhacks.fm conversation with Max Rydahl Andersen (@maxandersen) about:
JBang,
JEP 330: Launch Single-File Source-Code Programs,
kscript and quarkus releases,
the killer feature of JavaFX,
starting JavaFX app with jbang,
modern Java developers don't like to play with legacy JavaScript,
building Java apps with jbang,
jbang and github actions,
ShrinkWrap,
jitpack,
Java jshell is lacking system properties, arguments and debug support,
running Quarkus CLI with jbang without Java installed,
jbang--the Java launcher for the 2020-ties,
quarkus with Qute as replacement for Java's nashorn,
transitive script dependencies,
jbang with quarkus could become a solution for serverless,
simplified approach to build and test Java agents with jbang,
Java Class Data Sharing with jbang,
Java Flight Recorder support in jbang,
stress testing with Java Micro Harness (JMH),
Dalibor Topic,
dekorate project for generation of kubernetes and openshift resources,
quarkus code starts for project templates
Max Rydahl Andersen on twitter: @maxandersen

Jan 4, 2021 • 1h 14min
Java and The Constructive Approach to Innovation
An airhacks.fm conversation with Sharat Chander (@Sharat_Chander) about:
Commodore VIC 20,
a Hello, World for the sister,
moving to C64 and Ti 99,
learning Basic, Visual Basic
and Pascal,
"the world is your oyster",
AR and VR,
3rd world economics,
episode with Scott McNealy of Sun Microsystems,
Java - and the participation matters,
sherpas and teachers,
airhacks.tv and airhacks.fm podcast episode,
#50 The Jakarta EE / MicroProfile and WebStandards Startup with Matthias Reining,
#73 The "MDN First" Approach with Web Components with Matthias Reining,
People First, Technology Second,
working for Bell Atlantic,
phones as gateways to applications and solutions,
Bell, GTE and Nynex became Verizon,
attending the first JavaOne in 1996,
starting at Sun Microsystems at the NetBeans team,
switching to Java Studio Creator,
episode with #8 JVM Innovation with Graal with Jaroslav Tulach,
Sun's Project Rave,
Java Studio Creator moved back as Matisse to NetBeans,
Roman Strobl - the NetBeans evangelist,
the tasks of the JavaONE program chair,
John Gage and JavaONE keynotes,
the minute of silence for Steve Jobs at JavaONE keynote,
Oracle Developer Live and Java,
growing Java User Groups and Java Champions program,
the Product Manager for Java,
cool vs. constructive,
constructive approaches to innovation
JavaONE and the after dark party,
inside.java podcast,
Sharat Chander on twitter: @Sharat_Chander

Dec 28, 2020 • 1h 3min
Reactive Programming, Helidon, Kafka and Project Loom
An airhacks.fm conversation with Daniel Kec (@DanielKec) about:
Java / Jakarta API for JSON Binding (JSON-B),
Java / Jakarta API for JSON Processing (JSON-P),
yasson,
Java / Jakarta Architecture for XML Binding (JAXB),
Eclipse Jersey,
Jason's Binding (logo),
Sun's spirit and the first day at Oracle,
Oracle Internet File System,
Running Java in the database: Oracle and the Aurora JVM,
Oracle Database Lite on Palm Pilot,
IBM alphaworks,
Java Developer Connection from Sun,
the first day at Oracle,
fixing Metro bugs,
meeting Jaroslav Tulach in the kitchen,
episode with Jaroslav Tulach,
listening to Nanowar,
implementing a Helidon - Apache Kafka integration,
MicroProfile Reactive Messaging,
Incoming and Outgoing,
implementing MicroProfile Reactive Operators for Helidon,
Java 9 reactive flow API,
Reactive programming in Java,
Reactive Streams for JVMs specification,
David Karnok, https://twitter.com/akarnokd,
the reactive manifesto,
helidon implements the reactive messaging for MicroProfile spec,
episode with SAP: How to Deal With Java Dependencies
helidon and Java's Project Loom integration,
MicroProfile emitter,
Java 9 SubmissionPublisher
and MicroProfile PublisherBuilder,
quarkus reactive implementation: mutiny,
mutiny attempts to be more user friendly,
Project Loom and reactive programming,
reactive programming is practical for messaging,
episode #108 about CORBA, gRPC, OSGI, vert.x, mutiny, Reactive Programming and Quarkus with Clement Escoffier,
helidon runs on Netty,
one event loop should be enough,
helidon also supports reactive Java Messaging Service (JMS),
Oracle Cloud Infrastructure Streaming,
Oracle Advanced Queue (AQ),
helidon WebSocket integration,
using WebSockets for reactive communication,
Reactive streams programming over WebSockets with Helidon SE,
helidon integrates conveniently Java API for RESTful Web Services JAX-RS / Jakarta RESTful Web Services Jersey with Server-sent events (SSE),
Daniel Kec on twitter: @DanielKec, helidon's blog: medium.com/helidon

Dec 21, 2020 • 52min
Kamenicky Encoding, Enterprise Java and Helidon
An airhacks.fm conversation with Daniel Kec (@DanielKec) about:
playing games on dell 386dx,
playing Commander Keen,
wolfenstein, golden axe, hexen,
beautiful markup with microsoft frontpage,
On the Internet, nobody knows you're a dog,
Hot Metal Pro, Net Object Fusion, Frontpage, HTML editors,
Adobe Pagemill, NetBeans and IntelliJ IDE,
Turbo Pascal at high school,
enjoying Transistor-transistor logic TTLs and IC,
the problem with CMOS and static charge,
transition from Turbo Pascal to Borland Delphi,
private, university in prague,
Kamenicky Encoding and codepage 895,
starting to love Java after Visual Basic experiences,
starting with JDK 1.6,
xelphi and forte for Java,
episode with Jaroslav Tulach,
x-definition validation language for XML,
the super senior developer,
find a bug: Donald Knuth and TeX,
writing plugins for Netbeans,
inheriting the register of traffic accidents,
using WebSphere with wizards and EJB 2.1,
migrating to Eclipse and xdoclet,
rational developer studio IDE,
MDA as solution for generating superfluous artifacts,
the great dash dispute,
parkinson's law of triviality,
transition from EJB 2.1 to EJB 3.0,
analyzing logfiles with the R programming language,
R runs on GraalVM,
starting at Oracle at the Java Architecture for XML Binding (JAXB), Jersey, Helidon team,
Daniel Kec on twitter: @DanielKec
and on github: github.com/danielkec

Dec 13, 2020 • 1h 9min
How To Deal With Java Dependencies
An airhacks.fm conversation with Michael Bolz (@onemibo) about:
"What was your first computer?" - Michael was introduced in the episode #55
how companies deal open-source,
safe open-source as a service,
fosstars-rating-core a framework for defining ratings for open-source projects sponsored by SAP,
open-source security ratings,
nvd - the vulnearabilities database,
fosstars-rating-core is an Apache Maven project,
the number of committers rating,
dependency management in Java, Jakarta EE and MicroProfile,
the forgotten dependency problem,
the vuejs library committers,
evaluating an open-source project by the commits,
the corejs issue,
Web Components without dependencies (webcomponents-with-redux.training),
semantic versioning for breaking changes indication,
JavaMagazin driven dependencies,
update frequency of libraries,
programming language as a fashion statement,
dealing with JVM languages,
the Apps with MicroProfile workshop,
Michael Bolz on twitter: @onemibo

Dec 6, 2020 • 1h 12min
Java Persistence: From DB over JDBC to Transactions
An airhacks.fm conversation with Vlad Mihalcea (@vlad_mihalcea) about:
accessing database from Java,
the four Java Database Connectivity (JDBC) driver levels,
JDBC-ODBC bridge,
native JDBC driver via Java Native Interface (JNI),
JDBC middleware driver,
the JDBC thin driver,
the CloudscapeDB,
the JDBC Driver initialization sequence,
physical va. logical connections,
connection pools and HikariCP,
p6spy - the JDBC pool decorator,
JDBC made databases more portable,
evaluating project's age by the version of JDBC driven in Apache Maven's POM,
statement caching,
execution plan reuse,
table scanning and index,
execution plan is binding parameter dependent,
PreparedStatements are not always preparing the statement,
keeping connection timeout short,
the JDBC "isValid" method,
client side metadata caching,
JDBC SQL statement compression,
JDBC network data compression with Oracle,
and MySQL,
SSL encryption and fault tolerance,
JDBC and transaction routing,
primary and secondary node selection on the JDBC level,
MySQL fault tolerance and fail over:
Java EE, Jakarta EE, Helidon and quarkus programming models,
GraalVM vs. Java / JVM mode,
the Hibernate Types project,
dependency reduction and ThinWARs,
backward compatibility on NeXT generation runtimes,
JDBC and auto-commit on,
JDBC and Isolation Levels,
disabling transactions and auto-commit mode,
BASE vs. ACID,
the trend to more correctness and consistency,
SAGAs, compensative transactions, and the MiB flashlight,
strict serialiazablity,
read committed isolation level and data drift,
isolation levels anomalies,
serializable vs. snapshot isolation,
the "High-Performance Java Persistence" book,
the Hypersistence Optimizer,
flexy pool,
Vlad Mihalcea on twitter: @vlad_mihalcea

Nov 29, 2020 • 54min
MicroStream: When a Java Application Becomes a DB
An airhacks.fm conversation with Markus Kett (@MarkusKett) about:
"What was your first computer?" - Markus was introduced in the episode #36,
storing graph of Java objects with microstream,
no annotation, not XML required,
lazy subgraph loading,
database support,
coherence and cloud block storage (e.g. S3) are supported,
microstream relies on key-value stores,
using flat files,
microstream relies on custom Java serialization,
Java serialization challenges,
microstream and security,
microstream is not based on Java serialization,
code execution during deserialization of Java objects is not avoidable,
hackathlon with OracleLabs, Helidon and GraalVM,
abstracting JVMs object ids,
working with persistent Java objects directly,
using getters for object traversal,
working with Java object directly in memory,
microstream can be orders of magnitudes faster than Java Persistence API, (JPA),
accessing persistent object in microseconds,
avoiding the JDBC IO- overhead,
using Java's off-heap memory,
persistent RAM and Intel's Optane,
keeping Java object in RAM forever,
thinking as Java developers,
using Java collections as persistent objects,
caffeine - the concurrent cache for Java,
reasons for opensourcing microstream,
long term support comes with commercial support,
running microstream on GraalVM in native mode,
polyglot persistence with GraalVM
helidon is obsessed with performance,
microstream on helidon on GraalVM,
combining microstream and Kafka,
kafka connector for microstream comes in the next release,
microstream - redis integration,
custom serialization formats,
CDC and debezium,
NoSQL database on top of microstream,
object graph in Java is a multi-model database,
the Java application becomes the database system,
authorization on JPA object level,
JPA security,
the MicroStream, Helidon and GraalVM hackathlon,
JAVAPRO magazine - the first free Java magazine,
JCon is organized by JavaPRO,
Markus Kett on twitter: @MarkusKett

Nov 22, 2020 • 1h 15min
jOOQ Loves SQL
An airhacks.fm conversation with Lukas Eder (@lukaseder) about:
a Unisys 8086,
don't break your dad's computer,
playing with "format",
starting with QBasic and 12 years,
serial cable chat programs in QBasic,
Turbo Pascal with 15,
changing the font in the BIOS,
starting CMS with PHP and MySQL,
no transactions, no connection pools in PHP,
the beginning with serverless and CGI,
Java is not a website technology,
Java static pages vs. PHP includes,
enterprise PHP: Zend Framework,
from PHP to Java,
PHP 4 to PHP 5 migration and the assignment operator,
enjoying Java 1.3,
Ant vs. Maven 1,
a reporting project for a telco company with Java and Hibernate,
writing backends in SQL and frontends with XSLT,
stateless, functional programming with XSQL and SQL,
jooq manual was built with XSLT,
apache Cocoon and XSLT,
Servlets and Java Message System (JMS) with WebLogic,
from Hibernate query builder to jooq in 2006,
cascading interfaces which feel like SQL,
everyone built a query builder,
rewriting jooq - jooq2 in 2008,
queryDSL - the abstraction across multiple query language,
jooq only abstracts SQL,
dynamic "where" clauses with criteria query,
jooq stands for: j-object oriented query,
jooq started with stored procedure support,
SQLJ the preprocessor,
PRO-C* -> the C preprocessor for Oracle to generate boring glue code,
jooq 1 was a procedural query builder,
jooq 2 DSL API looks like SQL and uses the query builder layer,
the database first design,
SQL is not composable,
SQL: different syntax on different levels,
1000 lines of jooq code is not unusual,
DSLContext - the starting point,
commercial support for jooq is available,
database migrations with jooq,
opensource vs. commercial edition,
dependency on products,
saving costs with opensource,
focus on Jakarta EE, Java EE, MicroProfile API vs. direct runtime dependencies,
working with dynamic SQL and jooq,
database vs. Java first
Lukas Eder on twitter: @lukaseder

Nov 15, 2020 • 1h 8min
Building Clouds for Data Center Providers with Java
An airhacks.fm conversation with Ruslan Synytsky (@siruslan) about:
Yamaha MS 6 computer at school in Ukraine,
GO SUB vs GO TO,
impatience and competition,
looking forward to programming at weekends,
learning PL/1 on IBM,
learning Delphi,
writing exams software for students,
building triangulation software in Delphi,
earth is a potato,
airhacks.live workshops at MUC airport and Greenland,
Greenland is an autonomous territory withing the Kingdom of Denmark,
a secret place and organization with lots of computers,
a secret organization buys Sun working stations,
starting to learn Java to write software for Sun Solaris on Sparcs,
getting CDs full of Java and C tutorials from Sun Microsystems,
writing Java software to collect and analyze geophysical data from distributed, international data centers,
using GlassFish server for data collection,
using web service on GlassFish and the metro webservice toolkit,
writing rich UI with AJAX and JavaScript,
National Data Center of Ukraine,
the ticket to Antarctica,
working with startups building JavaScript frontends,
starting a development platform to increase the productivity,
building a backend as a service (BaaS),
building serverless Java solutions in 2008,
scaling down from Backend as a Service to a Platform as a Service (PaaS),
the screencast with Payara and Jelastic,
using container runtimes for developers,
serverless Payara on Jelastic,
Google App Engine was the first serverless solution,
building software for Data Center operators,
working with James Gosling as independent director,
supporting stateful workloads,
using openVZ instead of containers,
scaling stateless and stateful workloads,
supporting Java EE and Jakarta EE runtimes in the cloud,
GlassFish, Payara, WildFly and TomEE on Jelastic,
Amazon's Firecracker,
Jelastic uses Java to implement the cloud,
paying for what you use,
rightsizing with Jelastic is easy
Ruslan Synytsky on twitter: @siruslan, jelastic.com and jelastic.cloud

Nov 8, 2020 • 1h 11min
I don't want your Thorntail
An airhacks.fm conversation with Ken Finnigan (@kenfinnigan) about:
Commodore 64 in 1984,
Commodore 128D in 1986,
creating a Star Wars game,
approaching the dark star,
a Gateway XT with 20 MB hard drive and 640kB RAM,
playing with DBase IV, Lotus 1-2-3 and Delphi,
implementing software for baseball statistics in 1989,
surviving a Giants game in San Francisco,
learning C++, Modula 2 and assembly programming at university,
the JavaONE session marathon,
learning Java in 1999,
enjoying Java programming,
starting at IBM Global Services Australian,
introduction to the enterprise world with PL 1, Job Control Language (JCL), AIX,
CICS and CTG,
starting to work with Java 1.2 at an insurance company,
building a quotation engine in Java,
wrapping JNI layer to reuse legacy C++ code,
creating the first web UIs with Java with JSPs and Servlets,
PowerBuilder and Borland JBuilder,
enjoying the look and feel of Visual Age for Java and JBuilder,
Symantec Visual Cafe for Java,
Sun Studio Java Workshop had the worst look and feel,
writing backend integration logic with XSLT and XML in Dublin,
Apache FOP and Apache Cocoon,
XSLT transformations in browser,
enjoying the marquee tag,
using SeeBeyond eWay integration in London,
switching to chordiant Java EE CRM solution,
using XDoclet to generate EJBs,
from XDoclet to annotations,
wrapping, abstracting and Aspect Oriented Programming framework,
it is hard to find business use cases for AOP,
J2EE already ships with built-in aspects,
enterprise architecture and UML,
using IBM Rational Software Modeler for architectures,
driving a truck with tapes as migration,
the Amazon Snowmobile Truck,
never underestimate the bandwidth of a truck full of hard disks,
"Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway", Andrew S. Tanenbaum,
building stock trading platform in Sydney with J2EE,
Complex Event Processing (CEP) with J2EE and JBoss,
attending JBoss World in Florida and meeting Pete Muir,
starting with Seam 2 to write a CRM solution for weddings,
contributing to Seam 3,
creating annotation-based i18n solution,
joining RedHat consulting,
migrating from Oracle Application Server to JBoss EAP 5,
joining RedHat engineering,
leading portlet bridge from JBoss Portal project,
starting project LiveOak,
apache sling,
starting project WildFly Swarm with Bob McWhirter,
WildFly Swarm vs. WildFly,
WildFly Swarm and WildFly - the size perspective,
WildFly Swarm supported hollow jars,
hollow jar allows docker layering,
WildFly Swarm was renamed to Thorntail,
Thorntail 4 was a rewrite of the CDI container,
Thorntail 4 codebase was used in Quarkus,
Quarkus is the evolutionary leap forward,
Quarkus observability and micrometer,
working with OpenTelemetry,
OpenTelemetry and micrometer,
OpenCensus,
Eclipse MicroProfile and Metrics,
micrometer vs. MicroProfile metrics,
GitHub issue regarding custom registry types,
airhacks.fm episode with Romain Manni-Bucau #79 Back to Shared Deployments,
starting with counters and gauges in MicroProfile,
metrics in a Java Message Service (JMS) application,
MicroProfile metrics could re-focus on business metrics,
services meshes vs. MicroProfile Fault Tolerance,
Istio is only able to see the external traffic,
implementing business fallbacks with Istio is hard,
OpenMetrics and OpenTracing are merging in OpenTelemetry,
MicroProfile OpenTracing comes with a single annotation and brings the most added value,
Jakarta EE improvements are incremental,
Java's project leyden,
the MicroProfile online workshop,
Jakarta EE and MicroProfile complement each other,
GraalVM and JavaScript,
pooling with CDI is challenging,
MicroProfile as layer on top of Jakarta EE,
the smallrye first approach
Ken Finnigan on twitter: @kenfinnigan, Ken's blog: kenfinnigan.me
Remember Everything You Learn from Podcasts
Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.