

airhacks.fm podcast with adam bien
Adam Bien
Java, Serverless, Clouds, Architecture and Web conversations with Adam Bien
Episodes
Mentioned books

May 15, 2022 • 1h 7min
Real World Enterprise Serverless Java on AWS Cloud
An airhacks.fm conversation with Goran Opacic (@goranopacic) about:
sales force automation at ehsteh,
Palm Pilot syncing,
starting a SaS company,
hetzner, Azure, then AWS,
running EC2 machines,
going serverless,
kubernetes and the clouds,
running MicroProfile applications on Quarkus and AWS Lambda,
one code base - multiple lambdas,
Lambda runs on Firecracker VM,
OkHTTP on Lambdas,
tree shaking with GraalVM,
AWS CodeArtifact to cache Maven repositories,
Amazon ECR, AWS CodeCommit,
databases are hard to split,
AWS CodeDeploy with scheduler,
code hot swap,
managed services is serverless,
running AWS Fargate on spot intances,
using Eclipse BIRT on AWS Lambda,
Goran is AWS Data Hero,
Goran Opacic on twitter: @goranopacic, Goran's blog: madabout.cloud

May 6, 2022 • 1h 25min
How Pulumi for Java Happened
An airhacks.fm conversation with Joe Duffy (@funcofjoe) about:
HP 386,
LILO - the linux loader,
MBR and dual boot,
first programming language - C,
GNU Compiler Collection (gcc), g++, C++,
circle mud,
fascination with 3d,
starting with Windows 95,
running BBS,
CGI, ASP and Java servlets,
ATG (Art Technology Group) dynamo and jhtml,
servlets are inverse JSP,
airhacks.fm episode with Marc Fleury "#98 Walk the Path--How JBoss Happened",
starting with .net,
Borland Paradox - the form
project longhorn, indigo and avalon,
starting Pulumi,
Pulumi for Java,
Infrastructure as Code and terraform,
Pulumi is written in Go,
python + c = go,
projects are stacks,
pulumi is opensource,
Mercedes-Benz and snowflake are using Pulumi,
the AWS Cloud Control API,
pulumi supports terraform providers,
jsii CDK project,
pulumi crosswalk,
go runtime handles the state management,
Java communicates with GO via grpc,
a component resource in Pulumi is similar to custom construct in CDK,
AWS Cloud Control API metadata for new AWS services is published immediately,
Pulumi supports the most recent AWS resource API,
ARM templates can be converted to Pulumi,
a state of AWS account can be imported to Pulumi, then the IaC source can be generated,
"#143 How Hudson and Jenkins happened",
kubernetes in public clouds,
ECS fargate before kubernetes,
simultaneous deployments to azure and aws,
conference talk: Hey Enterprise EJB Developers Now Is The Time To Go Serverless
Joe Duffy on twitter: @funcofjoe, Joe's blog: joeduffyblog.com and company: pulumi.com

Apr 29, 2022 • 1h 8min
Finding Some Sense in a Nonsensical Technology World
An airhacks.fm conversation with Bruno Borges (@brunoborges) about:
previous episodes with Bruno "#29 Jakarta EE / MicroProfile in the Clouds: Runtimes not Servers",
"#90 Bruno Hates YAML-Microsoft Loves Java"
servers vs. runtimes recap,
languages vs. runtimes,
blogpost: Why are you not using [the language of the year] instead of Java?
polyglot programming with dapr,
polyglot programming - the engineer’s excitement,
what is “the” standard?,
addressing the complexities now, or later,
fashion driven development,
technology changes, complexity remains the same,
Bruno Borges on twitter: @brunoborges and LinkedIn

Apr 24, 2022 • 1h 14min
Our Favourite Java 9, Java 11, Java 17 and Java 18 Features
An airhacks.fm conversation with Nicolai Parlog (@nipafx) about:
use cases for Java 17 Text Blocks,
JSON with Text Blocks,
String formatted vs. replaceAll,
string templates could ship with Java 19,
the draft JEP for string template,
draft JEPs don’t have a number,
100k subscribers for the Java channel and the silver youtube plate,
Silver Creator Award youtube,
factory collection methods in Java 9,
Map.of and List.of,
Java Records for code reduction,
Java records vs. classes,
getters and setters are not necessary,
polymorphic classes vs. procedural record,
nicer Pairs with Java records,
Sun Coding Java Conventions / Code Conventions for the Java Programming Language,
a code formatter JEP,
JEP 413: Code Snippets in Java API Documentation,
the new switch without a name,
no fall-through with arrow switches,
sealed types and pattern matching with switch statements,
JEP 380: Unix-Domain Socket Channels,
RandomGeneratorFactory in Java 17,
Nicolai Parlog on twitter: @nipafx, Nicolai's website: nipafx.dev

Apr 17, 2022 • 1h 1min
Structuring Applications With Or Without OSGi
An airhacks.fm conversation with Jürgen Albert (@JrgenAlbert6) about:
Checkout last episode with Jürgen Albert: "#175 Pragmatic Modularity and OSGi",
Why do we need a module?,
related episodes: "#151 Modularization, Monoliths, Micro Services, Clouds, Functions and Kubernetes",
"#160 Modules Are Needed, But Not Easy",
Physical vs. Logical modules.
How to pick a perfect module,
picocli for building Java CLI applications,
module as to to divide and conquer,
how to cut the modules,
in OSGi the smallest module is the package,
OSGi core specification already understands modules,
build time vs. runtime dependency and manifest assembly,
JAX-RS and Vaadin OSGi "whiteboard",
Peter Kriens started with the OSGi idea,
the OSGi phone,
OSGi services and service registry,
service registry listener,
OSGi Declarative Services provide lifecycle,
OSGi vs. kubernetes,
Kubernetes solved the port collision problem,
OSGi remote services,
the Eclipse OSGi project,
Jürgen Albert on twitter: @JrgenAlbert6, Jürgen's company: Data In Motion

Apr 8, 2022 • 1h 11min
A Cloud Migration Story: From J2EE to Serverless Java
An airhacks.fm conversation with Goran Opacic (@goranopacic) about:
ZX Spectrum with 9 years,
fortran listings as a present,
Basic programming on Atari,
Manic Miner and Jet Set Willy on Amstrad CPC 64,
Defender of the Crown,
printing with C 64,
desktop publishing with Atari 520 ST and Calamus,
testing the first website in 1993,
using UUCP to split files into emails,
drawing maps with Java Applets in browser,
17 years old code as Java AWS Lambda,
Cloud Development Kit - applying the Java knowledge to the clouds,
Jakarta EE and MicroProfile in the clouds,
in the clouds there are different possibilities,
mobile sales application with esteh,
the serverless Tomcat,
hetzner provides hosting services,
no vacuuming on databases,
how to become an AWS Data Hero,
attending airhacks.com at MUC airport,
serverless quarkus in the clouds,
OpenLiberty for Java EE,
building AWS Lambdas with Quarkus,
Infrastructure as Code and CDK with Java,
the cloud has limits,
self-mutating CodePipelines,
every AWS service has well-documented limits,
EC 2 spot instances for GraalVM compilations,
plain Java SE for asynchronous Lambdas,
Goran Opacic on twitter: @goranopacic, Goran's blog: madabout.cloud

Apr 3, 2022 • 1h 6min
Piranha: Headless Applets Loaded with Maven
An airhacks.fm conversation with Arjan Tijms (@arjan_tijms) about:
Payara vs. GlassFish Github contributions,
refactoring introduces technical debt,
GlassFish relies on JDK dependencies,
piranha.cloud contributes to GlassFish,
Payara and Glassfish communities are working together,
contributing to opensource to save time,
piranha is MicroProfile 5.0 compatible for JWT,
piranha passes the majority of TCK servlet tests,
the various piranha editions,
You don’t need an application server to run Jakarta EE applications article,
AWS Serverless Java Container with Jersey integration,
piranha nano is suitable for embedding,
the Jakarta EE steering committee,
Jakarta EE 10 is about new features,
CDI-lite and back to code generation like in early EJB days,
removing deprecated APIs from Jakarta EE,
the SingleThreadedModel in Servlets,
using Java as templating language in JSF,
Wicket has a concept for programmatic few creation,
JSF will add Swing-like view constructions features,
OIDC authentication mechanism was contributed by Payara,
piranha micro uses isolated classloaders,
Maven dependencies as classpath,
Arjan Tijms on twitter: @arjan_tijms, Arjan's blog omnifaces
and piranha.cloud

Mar 27, 2022 • 1h 9min
The JavaSpecialist(s)
An airhacks.fm conversation with Heinz Kabutz (@heinzkabutz) about:
a quarter of overheated ZX Spectrum,
programming to make life easier,
going to school in Cape Town,
you will never fill up a 10 MB hard drive,
a PC with 20 MB hard drive,
GW Basic on AEG,
the language of Nelson Mandela,
learning Pascal, Scheme, prolog,
the University of Cape Town is the best,
playing snooker,
context switchting and programming,
Java Swing's Napkin Look & Feel ,
perception is important,
writing an ERP system,
login dialog as an intelligent progress bar,
the South African masters,
Bruce Eckel's Thinking in Java book,
curses - text bases user interfaces,
starting with Java 1.0,
Jini, JavaSpaces and Jiro,
eating recursion for breakfast,
measuring the performance of the ForkJoinPool,
the java specialists newsletter,
jcrete conference,
Heinz Kabutz on twitter: @heinzkabutz, Heinz's website: www.javaspecialists.eu

Mar 20, 2022 • 1h 31min
Dr. Deprecator
An airhacks.fm conversation with Stuart Marks (@stuartmarks) about:
Wang 2200 Laboratories computer with 10 years,
David Ahl 101 Basic Computer Games,
Basic without "else",
GOTO and GOSUB,
Pascal Records and Java,
conditional evaluation in Pascal,
the criticism on Pascal,
Bill Joy added the socket interface to BSD 4.2,
replacing VMS with BSD,
the Bill Joy long weekend,
starting at Sun Microsystems,
working with James Gosling on the NeWS windows system,
Postcript based windows system,
NeWS ran on SunOS,
SunOS 5 became Solaris,
the unpleasant UNIX wars with AT&T, HP and IBM,
X-Window vs. NeWS,
shared state and NeWS,
display postscript became the NeXT system,
the X-NeWS merge OS,
Open Look and Motif,
OSF-opensource foundation,
Motif became the dominant OS,
creating a eCommerce system with Java at Sun,
working with James Gosling at NeWS,
project Oak and Project Green,
Star Seven, licensing WebLogic and Tengah,
personal Java and the Java Ring,
Java on Sharp Zaurus and on Palm,
working on J2ME,
working with JavaFX,
Chris Oliver started JavaFX,
F3 and Forms Follow Function,
Java FX Script was an own language,
Richard Bair was the JavaFX architect,
Jasper Potts was was the Java FX UI designer,
JavaFX is based on final classes,
the fragile base class / brittle base class problem,
the general subclassing problem,
implementing a 2d traversial algorithm for Java FX,
Sun was shrinking, Java FX was growing,
Brian Goetz worked to improve the Java FX internals,
RIAs - Rich Internet Applications,
Silverlight, Flash, Flex and JavaFX,
JavaFX supported CSS,
the compiler bug war story,
binding propagates side effects,
Robert Field is working on jshell,
Stuart Marks on twitter: @stuartmarks, Stuart Marks blog: stuartmarks.wordpress.com

Mar 12, 2022 • 1h 1min
Java Authentication and Authorization with Apache Shiro
An airhacks.fm conversation with Benjamin Marwell (@bmarwell) about:
Recent airhacks.fm episode with Ben: "#180 Trombones, Java, Large Scale WebSphere Liberty Deployments and 50.000 JVMs in Production"
security library and authentication and authorization framework,
using Apache Shiro for CLI applications,
the Apache Shiro security manager,
the Shiro realm is the source of information for login credentials validation,
the "hello, world" Shiro application requires a single dependency,
WebListener is used for authentication,
the killer use cases of Apache Shiro are permissions,
a role comprises multiple permissions,
wildcard permissions are a colon-separated list,
comparing Shiro to AWS permissions,
Sonatype Nexus is using Shiro,
using multiple realms at the same time with Apache Shiro and realm chaining,
Shiro means Castle in Japanese,
realms in Shiro and Jakarta EE,
Apache Shiro Jakarta EE integration,
Shiro is easier to use than JAAS or jaspic,
Stormpath was started by Apache Shiro committers,
MicroProfile secret injection with Apache Shiro,
Jakarta Security Compatible Implementation: Soteria,
Benjamin Marwell on twitter: @bmarwell, Benjamin's blog: https://blog.bmarwell.de


