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

Jun 22, 2020 • 56min
Choose Things That Work And Solve The Problem
An airhacks.fm conversation with Erik Costlow (@costlow) about:
the superold 486,
DOS bootdisks,
the difference between information systems and computer science,
writing webapps and dining ordering scheduling with PHP,
the trouble to start with Java 1.5 in 2004,
type annotations in Java - JSR-308 annotations on Java types,
writing servlets on Apache Tomcat at formsite.com,
starting at fortify,
joining Oracle Java Platform Group,
2 years of Java without a zero day exploit,
starting at contrastsecurity.com,
Contrast Security is the Duke Choice Awards winner,
no secret plans at Oracle,
deleting code with Quarkus migration,
well spending security efforts by focusing on relevant APIs,
using the Java instrumentation API to observe what is actually used,
security scanners are similar to profilers,
simplifying code with Panache and Quarkus,
integrating a security framework as Quarkus extension,
the battle of Thermopylae,
the difference between MicroProfile and Jakarta EE,
MicroProfile Platform is great for conserving developer skills,
Quarkus is an optimized version of Java EE,
pushing Quarkus to AWS lambda,
Erik Costlow on twitter: @costlow and contrastsecurity.com

Jun 13, 2020 • 1h 22min
Programming Wallpaper over Violin
An airhacks.fm conversation with Lenny Primak (@lprimak) about:
fortran as wallpaper: 2 x 6m,
violin lessons are the price,
commodore vic 20,
assembler love,
C++ is the best,
financial backends with sybase,
SQLJ,
Sun C++ compiler with painful templates,
C++ is actually a terrible language,
the killer Java feature,
binary C++ libraries are a nightmare,
designing stock indices on paper for complexity reduction,
building mortgage calculators,
flying as a hobby,
building market makers,
truck scheduling system,
Java EE just works,
starting with JBoss 4,
Java EE productivity for small business apps,
JBoss 4 to JBoss 5 migration didn't work,
switching from JBoss 4 to GlassFish 3,
PrimeFaces and OmniFaces on GlassFish,
GlassFish admin console,
switching from GlassFish to Payara,
embraer 145 regional jet,
Payara people are amazing,
hazelcast and grizzly contributions,
the specialisation on difficult problems,
what is Boundary Control Entity (BCE)?,
duplication vs. overengineering,
ultra fast proxy server,
blocking vs. non-blocking system,
tuning the thread stack size,
high scalability with blocking Java EE server,
building Comet communication with GlassFish,
single GlassFish handled multiple thousand connections,
Java Fibers may be the solution to scalability problems,
thoughts on project lombok
Lenny Primak on twitter: @lprimak

Jun 6, 2020 • 1h
Visual Studio Code: Java, XML and Quarkus
An airhacks.fm conversation with Fred Bricon (@fbricon) about:
Amstrad CPC X1120 for gaming,
a material science degree,
web programming over C,
finite element simulations,
the solid under stress,
sorting blankets at the army,
COBOL training,
buildings portals with JSP templates,
Visual Basic,
WebSphere frontend with COBOL backend,
CI/CD with Cruise Control,
Apache Ant for automation,
the Eclipse-based WSAD,
terrible Eclipse support for Apache Maven 2,
deploying WARs to JBoss,
support for Maven and Java EE didn't exist,
working on m2e eclipse project,
starting to work on JBoss Tools,
Eclipse Q4E,
WAR overlays in Eclipse,
OpenShift IDEs tooling,
starting to work with Visual Studio Code for Java,
VSC language server protocol (lsp),
Gorkem Ercan started the exploration for VSC for Java,
building language server with headless Eclipse process in 2016,
Microsoft wanted to make Visual Studio Code a great Java experience,
JDTLS Java Development Tools Language Server,
working on XML extension for VSC,
Quarkus Tools for Visual Studio Code,
VSC Quarkus Extension will come with MicroProfile and Quarkus specific support,
IBM contributes to Quarkus / MicroProfile language server,
VSC MicroProfile support is going to be independently installable,
Eclipse plugin installation process is painfully slow,
two releases of VSC a month,
Fred Bricon on twitter: @fbricon and @VSCodeJava

May 30, 2020 • 1h 17min
Bruno Hates YAML-Microsoft Loves Java
An airhacks.fm conversation with Bruno Borges (@brunoborges) about:
YAML is a great technology to see whitespaces,
JSON to YAML conversion,
merging YAML is painful,
CSV is also great for reading,
servers vs runtimes,
Microsoft acquired JClarity,
Microsoft sponsors adoptopenjdk.net project since 2018,
a new Java Engineering Group was formed at Microsoft,
Microsoft contributed patches to openJDK project,
Microsoft has thousands of Java develoepers,
Minecraft Java Edition allows modifications,
Microsoft releases GPU optimized Java,
linked-in's and Yammer's backends are implemented in Java,
Azure Synapse is similar to Google's Big Query,
Microsoft is going to release a double screen Android phone - Surface Duo,
now you can deploy Java FX applications to Microsoft's hardware,
Microsoft Azure Application Hosting Service with Azul JDK based on Zulu Community Edition,
App Service comes with predefined Java images,
App Service might be a use case to deploy uber JARs,
App Service supports the separation of infrastructure and application code,
Quarkus and Helidon are separating the runtime from the application code out-of-the-box,
serverless deployment of Java code as Azure Functions is also supported,
Java 11 is going to be supported on Azure Functions,
Azure Container Instances is Docker without Orchestration,
Azure Kubernetes Service - full experience with YAML included,
JVM is monitored in Azure Kubernetes and Azure Container Instances out-of-the-box,
a Java agent is injected which enables monitoring,
MicroProfile on Azure,
MicroProfile Config with Azure Key Vault,
secret injection and JWT authentication are important use cases,
opentelemetry merges integrates tracing and metrics: opentelemetry.io,
JAX-RS monitoring,
business monitoring with MicroProfile metrics,
pulling metrics from database instead of pulling from the service,
avoiding wasteful metrics,
Quarkus saves RAM,
garbage collection and metrics,
Microsoft employs the most Java Champions?,
Visual Studio Live Share,
managing multiple JDKs: article on medium,
azure.com/free,
Bruno Borges on twitter: @brunoborges and LinkedIn

May 23, 2020 • 1h 2min
What is the Direction of Quarkus?
An airhacks.fm conversation with John Clingan (@jclingan) about:
Redhat Summit Virtual Experience,
Redhat Runtimes Quarkus Support,
Senior Principal Manager of Next Generation Platforms, like Quarkus,
MicroProfile is a major task,
the MicroProfile IP flow,
the formal stuff for a working group at Eclipse Foundation,
tracking the MicroProfile progress: https://github.com/eclipse/microprofile/issues,
the working group draft - what does it mean to be a MicroProfile working group,
the MicroProfile politics,
the goal of MicroProfile was to build specifications for development of microservices,
MicroProfile began as crippled Jakarta EE,
MicroProfile extends right now Jakarta EE with added value,
fixing potential MicroProfile incompatibilities is less problematic and takes less energy to fix,
Jakarta EE is a collection of specifications with a platform spec on top,
helidon and quarkus are moving faster, because they are new,
quarkus and helidon follow opposite philosophies,
Quarkus Panache is proprietary but useful,
Quarkus comes with 220 extensions, a half is camel related,
Quarkus Vodafone Greece session at Red Hat Summit,
Quarkus extension enable the integration of external configuration to configuration subsystem of quarkus,
parsing XML at build time to save resources at runtime,
Quarkus supports YAML - but keep it secret,
Bruno Borges loves yaml,
MicroProfile config is fully supported by Quarkus,
Quarkus configuration is more than MicroProfile config,
Quarkus Summit sessions,
RedHat is a bottom-up organization,
Quarkus is an integration point of various teams like e.g. Jakarta EE, MicroProfile, Vert.x, Camel,
all Quarkus extensions have to run in dev mode and be compilable into GraalVM native mode,
Quarkus is also driven by community feedback,
with Quarkus you can get the niceness of Jakarta EE again,
from 12 replicas to 2-4 replicas to serve the same traffic,
startup time and memory utilization matter a lot in the context of kubernetes,
the costs of running microservices in the clouds,
for every microservice in production you get seven instances in staging environments,
with quarkus you can build the perfect monolith,
most of customers are building microliths,
the microprofile hangouts,
John Clingan on twitter: @jclingan, John's blog

May 16, 2020 • 1h 4min
In-Process Polyglot with GraalVM
An airhacks.fm conversation with Wolfgang Weigend (@wolflook) about:
GraalVM Sales Consultant and GraalVM Java SE System Engineer,
Sun Tech Days in Frankfurt,
"When C becomes too slow, the JVM has to be written in Java... project Maxwell",
Maxine and GraalVM,
running NodeJS on GraalVM,
creating native CLI utilities,
combining multiple languages on a single JVM,
polyglot programming is hard to manage,
GraalVM ships with compatible ES 6+ JavaScript,
GraalVM re-imagines the Fluid Logic pattern,
tiobe programming language index,
combining HotSpot and JRocket VMs,
jbake static page generator,
combining Handlebars, Mustache with Java and Nashorn: spg.
GraalVM allows debugging of all languages in a single process,
Goldman Sachs making Slang to run on GraalVM with Truffle,
GraalVM and web assembly,
JavaFX is not a competitor of Web Components and Web Standards,
JavaFX competes with React Native or Ionic,
the JFX days,
Gluon Mobile uses SubstrateVM to deploy applications to mobile devices,
JDK 8 is commercially supported until 2030,
JavaFX is bundled with JDK 8,
with support, you don't have to wait for bug fixes,
branches are expensive,
JavaScript runtimes are not problematic -- but the build process can become a problem
Wolfgang Weigend on twitter: @wolflook

May 9, 2020 • 1h 19min
If You Get A Book, You Have To Start Reading
An airhacks.fm conversation with Max Rydahl Andersen (@maxandersen) about:
C 64, green screens, Basic, GoTo,
Rallye, animated sprites,
peek and pokes, snake game's source code,
Summer Olympics was a joystick destroyer,
Word Perfect on Commodore,
assembler and protective demo scene on Commodore Amiga,
access to information was a battle,
the Turbo Pascal Book about object oriented programming,
fascination with databases,
building an artwork management for a gallery app in MS Access,
building a WYSIWYG tool in Visual Basic,
working as tutor at school,
installing SmallTalk VisualAge,
great visual Delphi,
Java was more open than Delphi was,
medfork and the trifork application server,
writing an electronic medical journal,
Trifork supported hot reload,
JAOO became GOTO,
writing dependency management system with Python on a Dell Laptop,
emacs was the main IDE,
writing a Swing application which talks to trifork backend,
using Apache OJB,
session sharing with Apache OJB,
hibernate always understood transactions,
working with Christian Bauer and Gavin King,
writing the first version of hbm2ddl tool,
extending hibernate to support native queries,
getting fixes for enterprise software without paying,
Gavin was hired by Marc Fleury,
moving to Switzerland and working for Sascha Labourey,
RichFaces Exadel acquisition,
JBoss IDE became JBoss Tools, what became JBoss Studio,
which became RedHat Studio, which became Code Ready,
frustration with Java 9,
Go has some power, but doesn't have Java's ecosystem,
Go legalized formatting,
Swing over SWT,
Swing API is awesome,
SWT had nice native integration,
JFace is more like Swing,
a successful opensource project has to accept patches fast,
Eclipse JDT is an amazing piece of technologies,
Eclipse is great for browsing big code bases,
the memory is not a problem, the perceived performance is,
NetBeans and Eclipse have difference strategies,
Eclipse tries to understand everything, NetBeans don't,
overuse of OSGi, microservices and modules,
start with a monolith first,
quarkus takes the good parts of Jakarta EE and MicroProfile and further improves them,
GraalVM native compilation is not the main feature,
tree-shaking with Quarkus,
JBang - Java for scripting,
quarkus is hard to kill,
Max Rydahl Andersen on twitter: @maxandersen

May 2, 2020 • 59min
The Remedy against Bike Shedding
An airhacks.fm conversation with Wolfgang Weigend (@wolflook) about:
Atari 520 ST over XT 286,
Motorola 68000 and C-Compilers for Atari 520 ST,
first software company in 1987,
Systems Engineer for Java and GraalVM,
electronic engineer at Dupont,
GSI in Darmstadt,
writing networking software and an ERP system from scratch,
controlling laser light shows,
how to create noise with electronic devices,
modis was succeeded by KHK / sage,
learning enterprises by joining Oracle,
analysing network stacks,
optimising databases on Texas Instruments,
joining Sun Microsystems in 1997,
evangelising Java at Sun Microsystems,
the challenge of buying a Sun Sparc Station,
learning Java at Sun Microsystems,
Java case study for German Railways,
no one wanted to use Java on the server side,
NetDynamics vs. Java Web Server,
joining BEA after WebLogic acquisition,
Andy Piper wrote clustering for WebLogic,
BEA was the fastest growing company,
Oracle bought BEA in October 2008,
Deutsche Bank online banking system, and several hundreds projects at Deutsche Bahn were Java / WebLogic based,
DHL and Deutsche Post were also heavy Java / BEA users,
J2EE and Java EE allow developers focus on real problems,
Java EE is a remedy against bike shedding,
Wolfgang Weigend on twitter: @wolflook

Apr 25, 2020 • 59min
Jakarta EE and MicroProfile--Siblings, Cousins or Twins
An airhacks.fm conversation with Alasdair Nottingham (@nottycode) about:
Jakarta EE, MicroProfile,
package name changes,
OpenLiberty implements MicroProfile API,
uses SmallRye for reactive messaging,
migration to smallrye is not trivial,
reactive messaging comes with netty and vert.x assumptions,
Jakarta EE and MicroProfile - merging or separating,
a single dependency would be nice,
three camps: Jakarta EE, MicroProfile vendors and the developers,
Jakarta EE is more stable, MicroProfile is more innovative,
MicroProfile is not an incubator,
passionated discussions about SOAP,
JAX-RPC is more popular, than JAX-WS,
deprecation is not about removal,
ConfigSource implementation does not support CDI,
MicroProfile brings added value to Jakarta EE,
MicroProfile and Jakarta EE can co-exist together,
monoliths on kubernetes are valid use cases,
poor vs. rich and thin vs. fat,
xdoclet - the annotation predecessor,
EJB 2 were not that bad,
Alasdair Nottingham on twitter: @nottycode

Apr 18, 2020 • 1h 29min
Microscopic Services and The Jakarta EE 9 Earth Quake
An airhacks.fm conversation with Markus Karg (@mkarg) about:
What is HeadCrashing?
JavaMagazin, IX and Java Aktuell,
the first JAX-RS contributions,
extending JAX-RS via official API,
you are not a spec lead,
an airhacks.fm episode about Eclipse Foundation: From Java EE over EE4j to Jakarta EE,
no political powers,
APIs and SPIs are decoupled at Jakarta EE,
Jersey is only "an" implementation of the spec, not "the'" implementation,
Eclipse Foundation runs their own infrastructure,
make JAX-RS more usable,
Java SE bootstrap API for JAX-RS,
it is impossible to write a spec without code,
in future there is no room for coders,
contract first is problematic,
it will take more time to design the spec than to write the implementation,
hundreds of microscopic services,
with helidon there is less coupling to the proprietary implementation,
building dependencies from source,
relaxing drones,
use cases for JAX-RS client-side caching,
modular JAX-RS,
new features in Jakarta EE 9,
Jakarta EE 9 earth quake is enough,
the JAX-RS roadmap,
aligning JAX-RS with CDI,
support for Java Platform Module System, JPMS modules in JAX-RS,Jersey is a framework,
not a product,
JPMS modules could provide new JAX-RS features,
using JAX-RS client for testing,
testing on kubernetes level,
functional probes,
project vs. product business,
thoughts on odata,
select * and everything stops,
being more generic for CRUD and stuff which does not matter,
accessing a database via excel,
prepared interviews are not fun,
Markus Karg on twitter: @mkarg, and Markus' blog: https://headcrashing.wordpress.com/
Remember Everything You Learn from Podcasts
Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.