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

Aug 29, 2020 • 48min
Unit Testing Considered Harmful
An airhacks.fm conversation with Alexey Golub (@Tyrrrz) about:
playing doom on the 200 mHz Pentium 2 PC,
watching the "Social Network" movie with 16 years,
learning with 10 years QBasic, Pascal and Delphi at school,
starting with C# and the free Visual Studio Express,
starting to learn C# with Jetbrains Rider and .net core,
.net core is the lightweight, cross platform alternative,
.net core replaced .net,
rebranding .net core back to .net in 2020,
Java from Oracle vs. openJDK,
commercially supported openJDK,
programming a chat bot in C# and MS Access,
.net core ships with Entity Framework core,
MS SQL server runs on Linux,
NHibernate and Dapper ORM,
java.net was before dot.net,
starting with .net dot.net,
using Visual Studio Code for C# development,
Resharper is an extension to Visual Studio,
Rider is going to replace Visual Studio with Resharper,
building applications as freelancer for social networks,
building an enterprise-oriented monzo,
learning Java after C#,
strange C# coding and naming conventions,
react over angular,
.net vs. Java popularity,
.net is getting more popularity,
ASP.net core is one of the most popular frameworks,
ASP.net is a consolidated project,
razor comes with a templating engine,
blazor is based on WebAssembly,
the 80 percent coverage rule,
pointless unit tests for accessors, enums and constructors,
high coupling with JAX-RS tests,
test pyramid is problematic for the majority of backend projects,
free code coverage for unit tests,
integration- and system- tests ship ofter without code coverage,
mutation testing and pitest,
mutation testing uncovers pointless asserts,
definition of unit testing, integration testing, system testing,
test coverage with sonar,
the most useful tests are blackbox tests,
identifying forgotten code with test coverage,
codecov.io visualizes code coverage results,
coverlet is a library - a "private" .net library,
jacoco agent in Java,
writing stress tests for robustness,
identifying memory leaks with stress tests,
"Unit Testing is Overrated" article,
Alexey Golub's website: https://tyrrrz.me, Alexey on twitter: @Tyrrrz

Aug 22, 2020 • 1h 2min
25 Years of Java: JDK 1.0 to JDK 1.1
An airhacks.fm conversation with Wolfgang Weigend (@wolflook) about:
JDK 1.0 and applets,
the great "hello, world" main,
the fake portability,
the Mosaic browser was the break through,
the HP-UX workstations,
applets and the grey rectangle,
the duke artist
Java's AppletViewer,
AWT event model in JDK 1.0,
JDK 1.1 with JDBC, RMI was the baseline for application servers,
the great JDBC debate,
ODBC-JDBC bridge,
JDBC type-2 driver,
building chats with Java's Remote Method Invocation (RMI),
rmic for stub and skeleton generation,
rmic vs. grpc,
don't forget your history,
the history reset,
JDK 1.1 introduced inner classes,
RMI was not optimized,
T3 RMI came with 10 times higher performance,
building logistics enterprise applications with JDK 1.1,
refactoring of AWT event model in JDK 1.1,
JavaBeans and Sun's BeanBox,
getters / setters - the reminder of "visual programming",
Sun Java Studio,
Sun Microsystems trainings,
the disappointed student--Enterprise Java Beans are not Java Beans,
the unfortunate Enterprise Java Beans and Java Beans naming,
Java's introspection vs. reflection,
AWT was crucial for Java's success,
JDK 1.1 was tiny,
the size of Java,
using serialized JavaBeans for configuration purposes,
unexpected business case with connection pooling,
from client server and dedicated connections to middleware and connection pooling,
form dedicated to technical user,
watching Java from C-perspective,
the Systems Conference with huge Java interests,
you could use JDK 1.1 for a lot of projects,
Java was a game changer,
"Karl Klammer" is "Clippy",
problematic, distributed garbage collection with RMI,
the CORBA vs. RMI battle,
the NetDynamics application server,
the application servers took over CORBA,
parallelisation with Java Collection,
pass by value vs. pass by reference with CORBA,
RMI over IIOP,
IONA's ORBIX vs. Visigenics Visibroker battles,
Visual Age For Java and IBM's San Francisco Framework,
Symantec Visual Cafe for Java,
JBuilder Professional and Enterprise,
Java Studio Workshop and Java Studio Creator,
Metrowerks Code Warrior for Java,
Eclipse and NetBeans,
Programmers Paradise,
Eclipse killed JBuilder,
the JGoodies library,
JBCL foundation classes,
Wolfgang Weigend on twitter: @wolflook

Aug 16, 2020 • 1h 4min
MicroProfile 4.0 Features and Ideas
An airhacks.fm conversation with Emily Jiang (@emilyfhjiang) about:
MicroProfile passion,
usability as a goal,
learn once, use it everywhere,
MicroProfile: the freedom of choice,
Payara, OpenLiberty, WildFly, Apache TomEE,
Helidon, KumuluzEE, Quarkus, Meecrowave,
Fujitsu Launcher, Piranha Cloud are implementing MicroProfile,
developer vs. vendor role,
nice interactions with MicroProfile community,
MicroProfile ships with an umbrella spec,
MicroProfile allows backward incompatible changes,
MicroProfile TCKs are exercised against multiple vendors continuously,
the lack of CORS spec,
Quarkus support for CORS,
MicroProfile Reactive Messaging and
MicroProfile GraphQL,
MicroProfile Long Running Transactions,
MicroProfile Context Propagation,
are MicroProfile Profiles viable solution for spec packaging,
a monolithic API is more convenient for developers,
multiple scopes / types in MicroProfile Metrics registry proposal,
MicroProfile specs play nice together,
MicroProfile Fault Tolerance and MicroProfile Context Propagation integration,
MicroProfile Context Propagation propagates transactions, CDI scoped and security scopes,
MicroProfile 4.0 is going to be aligned with Jakarta EE 8,
MicroProfile Config staging profiles (dev, int, prod),
DeltaSpike motivated configuration bean injection,
MicroProfile Config variable substitution,
Smallrye implemented a prototype for the DI into MicroProfile ConfigSources,
MicroProfile Fault Tolerance with MicroProfile Context Propagation integration by getting the access to the context,
integrations with Server Sent Events SSE,
MicroProfile OpenAPI / Jakarta Bean Validation integration,
MicroProfile JWT encryption and cookie support,
optional group claim in MicroProfile 4.0 JWT,
the MicroProfile style,
MicroProfile and Semantic Versioning,
wad.sh "Watch and Deploy",
Reactive Messaging emitter annotation on JAX-RS resources,
backpressure and overflow support in Reactive Messaging,
possible mutiny adoption in MicroProfile,
MicroProfile Long Running Actions is on the horizon,
Real World Jakarta EE and MicroProfile mix,
MicroProfile Reactive Messaging is an abstract layer with JMS support,
MicroProfile data access idea is in discussion,
Quarkus Panache,
should Jakarta EE and MicroProfile be merged?,
Jakarta EE and MicroProfile are driven by the same team,
MicroProfile moves faster than Jakarta EE,
Emily Jiang on twitter: @emilyfhjiang, and microprofile

Aug 8, 2020 • 1h 3min
C, Java, Distributed Computing, Hazelcast and Apache Kafka
An airhacks.fm conversation with Viktor Gamov (@gAmUssA) about:
Russian, pirate 286 intel knock-off,
starting with BASIC,
typing programs from magazines,
fun with computer graphics primitive in BASIC,
Flash animations with ActionScript,
drawing buttons with Visual Basic,
learning C/C++ at the university,
implementing a log scraper in Pearl to get an aggregated view,
Unreal Tournament was the secret goal,
enjoying the lack of no compilation in excel macros,
Java and Flex development,
creating GUIs with Borland C++ builder at university,
the size of statically compiled libraries matters,
optimising the size with MS Visual C++,
exploring DirectX SDK,
OpenGL vs. DirectX,
enjoying MSDN with Visual Studio .net and C#,
the Russian Development Software Network rsdn.org,
Thinking in C++ over Thinking in Java,
nice looking and opensource Eclipse IDE,
writing web servers in Java,
JRE vs. JDK,
Moscow State University for Railway Engineering,
writing backends with WebSphere and RAD,
WebSphere Community Edition 5.0 vs. Geronimo vs. Tomcat,
Borland JBuilder with JBCL,
great DeveloperWorks from IBM,
Scott Davis' articles about Groovy,
smart and motivated kids,
nice Ruby and Rails,
Scott Davis and Grails,
working on Russian Google -> Yandex,
working with Yakov Vain in Flex and Java,
writing the Enterprise Web Development book,
working for Hazelcast and Talip Ozturk,
speaking at JavaOne,
working as solution architect,
meeting Cay Horstmann - author of Core Java book,
the CAP theorem,
from Hazelcast to Conluent and Apache Kafka,
building kafka-tutorials.confluent.io,
Kafka and JMS are following opposite principles,
from JMS persistent topics to Kafka,
from Hadoop and Big Data to Kafka,
BigData and lambda architecture,
from batch to real time processing,
data is an immutable set of events,
no replay in JMS,
the outbox pattern,
Change Data Capture (CDC), debezium,
Viktor Gamov on twitter: @gAmUssA, Victor's website: gamov.io

Aug 1, 2020 • 57min
VB, WebSphere, JBoss, GlassFish and Vaadin Flow
An airhacks.fm conversation with Simon Martinelli (@simas_ch) about:
gaming and BASIC programming with C64,
reading a Markt and Technik book about C64 programming,
building a volleyball tournament application with C64,
writing a Visual Basic application for track and field competition,
MS Access applications were maintained by business people,
maintaining an application for 30 years,
no love for Eclipse RCP,
Swiss Railways implemented the train disposition system with Eclipse RCP,
a disruptive keynote for Swiss Railways,
starting with COBOL on mainframe and IMS,
mixing COBOL and assembler for performance,
serverless programming with COBOL,
COBOL security mechanism is nice,
mainframe is virtualized and similar to docker,
mainframe jobs are like docker containers,
database and business logic are not distributed on AS 400,
running as much as possible on a single machine could become a best practice,
helping to solve the "year 2000 problem",
WebSphere with TopLink, Oracle, MQ Series and Swing,
the transition from mainframes to WebSphere,
replacing MQ Series with Apache Kafka,
from "in-memory" remoting to EJB-remoting,
using Eclipse SWT for performance reasons,
Swing Application Framework was never released,
the SWT's problem was OSGi,
GlassFish was introduced as a lightweight alternative to WebSphere,
Java EE 5 was an lightweight alternative,
working together on QLB,
the forgotten NetBeans contribution,
teaching at the University of Bern,
Eclipse's maven integration is still mediocre,
heavy IntelliJ,
focussing on JBoss performance and OR-mapping,
JBoss vs. GlassFish at the University,
killer use cases for Camel,
transforming EDI into XML,
pointless ESBs,
shared deployments on JBoss were problematic,
Vaadin flow with web components,
generating Vaadin frontend on-the-fly,
vaadin generates Web Components / Custom Elements for the frontend,
exposing metadata via REST,
Simon Martinelli on twitter: @simas_ch, Simon's website: 72.services and blog.

Jul 27, 2020 • 1h 5min
Walk the Path--How JBoss Happened
An airhacks.fm conversation with Marc Fleury (@docfleury) about:
ZX 81 with the rubber keys and 14 years,
writing the Death Mission game,
sneaking out at night to develop games,
the great Apple 2,
rediscovering computers during the physics study,
simulating lasers on Vax and C,
internet over physics at MIT,
in the 1990s studying software engineering was waste of time,
interest in quantum entanglement,
working with Java, SUN and SAP,
JBoss was architected by Rickard Öberg,
learning Java in 4 years after physics study,
working as support engineer at Sun Microsystems,
becoming Java evangelist at Sun Microsystems as an accident,
nobody wanted to hire a PhD,
the birth of JBoss,
spending time at SAP research with Hasso Plattner,
trying to apply WebLogic to SAP,
Sun Microsystems and WebLogic rejected Marc,
Marc started an opensource project called: EJBOSS,
a letter from Sun lawyers,
AOP and EJB were invented at the same time,
meta programming and aspect oriented approaches are older than Aspect Oriented Programming (AOP),
JBoss is implementation of the AOP architectural ideas,
AOP happens also in nature,
viruses can program the system without inheritance,
EJB 1 was a piece of sh*t,
Sun's standards efforts is what industry needed,
crazy Rickard Öberg was an alien,
opensource internet is the remedy,
internet is from the planet to the planet,
entering the École Polytechnique - a "special forces" time,
opensource had to be free,
JBoss was professional opensource,
between IBM, SUN and the opensource fanboys,
professional opensource: POS -> Piece of Sh*t,
AWS in 1997 - 10 years too early,
Scott Stark made a distributable product,
"walk the path" mantra,
Sascha Labourey wrote the JBoss clustering
JBoss was developed in the first year by 10 people,
great software started with small teams,
increasing the team size can decrease the motivation and fun,
why JBoss was sold,
WildFly version 20 came out,
studying system biology,
learning about finance,
how to keep money as investor,
studying music and enjoying techno,
working with professor of percussion who worked with Karlheinz Stockhausen,
writing Monte Carlo simulations with Java 8 for fun,
Java 15 fibers and project Loom,
Robert G. Pickel worked for Gemstone,
founding: twoprime.io
Two Prime FF1 Token - the product was launched at the worst possible day,
working with Alexander S. Blum
coding keeps you young,
writing physics simulations with Java,
JBoss vs. WildFly,
JBoss vs. Quarkus,
shared deployments in microservice and cloud era,
invoking the angels an linux diamonds,
Marc Fleury on twitter: @docfleury and Marc's company: twoprime.io / @Two_Prime

Jul 19, 2020 • 1h 9min
The Lightguard and the Quarkus Cookbook
An airhacks.fm conversation with Jason Porter (@lightguardjp) about:
From old 8086 in the late 80-ties, to a Pentium,
old GW-BASIC games like snake and gorillas,
finding game source by accident,
learning Java in 21 days - with a book,
fascination with Java Applets,
learning C++ at middle school,
writing C code with Metrowerks CodeWarrior,
learning pointers with 14,
building OCR in C at high school,
Pearl and PHP before Neumont University,
contributing to FlySpray the bugtracker,
building inventory application with C# and WinForms,
building a scrapbook with full-text search in 10 weeks,
accessing lucene from C#,
first Java project for the State of Utah with JBoss Portal,
a JDBC wrapper around LDAP,
building a client library to wrap SOAP,
curiosity about Java EE 5,
creating student portfolios with Java EE 5, EJB 3, JSF and GlassFish,
commercial support was available from Sun Microsystems for Glassfish,
there was a lag between JBoss and WildFly versions,
working with ATG dynamo for oc tanner,
accelerating ETL and data validation with Java EE 5 and JMS,
increasing performance with JBoss from a day to one and half hour,
joining the Seam Team at RedHat,
Seam Solder became Apache Delta Spike,
DeltaSpike became the groundwork for e.g. MicroProfile Config,
Injection, Outjection and Bijection,
from Java to Ruby,
from Ruby to Drupal,
form Drupal back to Java and Quarkus,
asciidoc is like markdown, but better,
contributing to Quarkus,
joining forces with Alex Soto for Quarkus Cookbook,
Kubernetes operators with Quarkus,
why lightguard (@lightguardjp)?,
Jason Porter on twitter: @lightguardjp and linkedin

Jul 10, 2020 • 1h 11min
Long Coding Nights, ShrinkWrap, Arquillian and Testing
An airhacks.fm conversation with Andrew Lee Rubinger (@alrubinger) about:
GW-BASIC to reprogram a classic piece of music with the sound command,
playing games in a spreadsheet of lotus 1-2-3,
CDs or MP3s,
the undeclared student,
studying music production in New York,
excited about the the intentionally difficult programming class in Massachusetts,
learning Java in early 2000's,
discovering Java servers,
JBoss 2x and Java EE is the coolest thing,
programming Monte Carlo simulations to pay for a flight,
becoming a global publisher with the web,
chatting over speaking,
self-study addiction,
long coding nights,
a music streaming client with Java EE backend,
building an educational, grade online tracking system,
JBoss was free and it didn't suck,
contributing patches to EJB container,
a hard job interview at JBoss,
creating the ShrinkWrap library,
creating Arquillian,
Arquillian's strength are integration and system tests with the ease of unit tests,
with ShrinkWrap you can provide multiple deployments,
the use cases for grey box tests,
testing transactions is tricky,
starting the DevNation conference,
from application servers to kubernetes, containers and clouds,
reasonable Java EE 6 applications should work in the clouds without any major modifications,
5mins from nothing to the first DB access,
the time to "hello, world",
from configuring everything to convention over configuration
Andrew Lee Rubinger on twitter: @alrubinger, linkedin and
github

Jul 8, 2020 • 1h 8min
Getting Good Ideas From .net
An airhacks.fm conversation with Ronald Dehuysser (@rdehuyss) about:
Pentium, stepper motors and 3d scanner,
starting with C++,
Java enjoyment after C++ experiences,
deletion over refactoring,
programming in Java and SVG a Brussels Railway station,
SVG a Batik,
defining UI in XML,
windsurfing instead of programming in leisure,
starting at a Content Management Company,
combination of Java and VB Script,
Visual Basic and Java with Sun Microsystems: Project Semplice
Visual Basic on JVM,
tinder-like platform for flemish government,
mouseless, xtreme programming,
mvn clean install -DskipTests=true,
test obelisk over test pyramid,
unit tests can negatively impact the productivity,
from 60k to 30k lines of code,
opensource maturity of .net ecosystem,
the great .net mediatr library,
.net mediatr vs. Jakarta EE's and MicroProfiles JAX-RS with CDI,
the .net mediatr replaces the boundary,
JobRunner for long running Java lambdas,
asm for lambda serialization,
Ronald Dehuysser on twitter: @rdehuyss, Linkedin, JobRunner on twitter: @JobRunner

Jun 28, 2020 • 54min
Jakarta EE, MicroProfile and the iPhone Problem
An airhacks.fm conversation with Kevin Sutter (@kwsutter) about:
working on Jakarta EE 9 and MicroProfile,
IBM is supporting the Jakarta EE programming model,
Oracle participates productively in Jakarta EE development,
the developer and vendor view on Jakarta EE and MicroProfile,
Jakarta EE and MicroProfile separation,
one release of Jakarta EE per year is likely,
Jakarta MVC and NoSQL could become part of Jakarta EE 9,
should MicroProfile Configuration move to Jakarta EE?,
thinking about MicroProfile working group,
MicroProfile focusses on cloud specs,
Jakarta EE is provides the stable infrastructure,
"political is legal",
successful opensource projects are like big companies,
the Eclipse Foundation specification process will work fine for MicroProfile,
Jakarta EE 9 big features,
the Eclipse Transformer,
Eclipse Transformer was used to transform the Jakarta EE TCK,
Eclipse Transformer is used on application servers, but could also be used for applications,
after 20 years of compatibility a breaking change is o.k.,
cleanup happens in Jakarta EE 9,
XML-related services in Jakarta EE 9 are going to be listed as "optional",
microservices and the trend towards monoliths,
micro is not that micro any more,
smallrye becomes the common implementation repository for MicroProfile,
MicroProfile reactive messaging and MicroProfile GraphQL are not a part of MicroProfile platform yet,
Kevin Sutter on twitter: @kwsutter
Remember Everything You Learn from Podcasts
Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.