airhacks.fm podcast with adam bien cover image

airhacks.fm podcast with adam bien

Latest episodes

undefined
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
undefined
Oct 31, 2020 • 1h 1min

Java SE, MicroProfile and GraalVM: the Helidon's Way

An airhacks.fm conversation with Dmitry Kornilov (@m0mus) about: "What was your first computer?" - Dmitry's introduction, Helidon 2.0 supports GraalVM native compilation, Helidon CLI used Apache Maven Archetype, Helidon CLI is written in Java and cross-compiled to an executable file, the Helicon CLI source code and repository, watch and deploy: wad.sh - a primitive version of Helidon CLI, with Helidon you can compile MicroProfile applications and compile them to a native image, Helidon supports Weld and has full CDI compatibility, Helidon comes with MicroProfile Reactive Messaging and MicroProfile Reactive Operators, Reactive Operators were contributed by David Karnok, Quarkus is pragmatic and they are choosing the 80% approach, Helidon focuses on CDI and MicroProfile compatibility, Helidon uses Smallrye for OpenAPI, WebLogic license comes with Helidon support, Helidon supports WebSockets, JPA, Helidon is the natural choice for WebLogic customers, migrations from reasonable Java EE / Jakarta EE applications to MicroProfile are easy, Helidon with Oracle JDBC drivers and GraalVM support, next Helidon major release will come with additional cloud support, Oracle Cloud Infrastructure is going to be supported by Helidon, Helidon will support other cloud services as well, all clouds contributions are welcome, Java / Jakarta Messaging Service (JMS) on Microsoft Azure, Eclipse MicroProfile Azure implementation, JSON-B and JSON-P Jakarta EE 10 features, Java API for JSON Binding, Java Record and JSON-B, JEP 384: Records (Second Preview) in Java 15, preliminary support for Project Loom in Helidon, Jersey MVC Templates, Quarkus Templating Qute, performance and scalability is Helidon's focus, Helidon supports MicroProfile 3.3, Helidon tries to support the latest MicroProfile the fastest, possible Micronaut's impact on Helidion, Graeme Rocher works for GraalVM, Micronaut's extensions might be supported in Helidon, Micronaut Data and Bean Validation could be used in Helidon, Java SE vs. MicroProfile API stability, Helidon uses semantic versioning, a possible trend back to monoliths, Java EE, Jakarta EE and MicroProfile, Dmitry Kornilov on twitter: @m0mus, Dmitry's blog: https://dmitrykornilov.net
undefined
Oct 25, 2020 • 1h 1min

Java / Jakarta Messaging Service (JMS) on ...Microsoft Azure

An airhacks.fm conversation with Ashish Chhabria (@ashishc1) about: Compaq Presario, Windows 95 Pentium 1 with MMX, 2 GB harddrive and 16 MB RAM, QBasic and GW-Basic, playing virtual cricket, creating calculator from scratch, fascianation with math, learning C and C++, algorithms as hobby, rewriting SMTP server in C and berkeley sockets, starting with Java 1.6, starting at Morgan Stanley in New York, starting at Microsoft in Seattle, product manager on azure messaging team, Microsoft Azure Service Bus, Microsoft Azure Event Hubs, Microsoft Azure Event Grid, Microsoft Azure Relay, Azure Service Bus supports Java Message Service (JMS), JMS 2.0 is just a set of interfaces, Project Darkstar and JMS debate, AMQP with JMS 2.0, JMS is not a protocol, AMQP is the protocol, Active MQ uses AMQP, Azure Service Bus Java SDK comes as a Maven dependency, Microsoft Azure Logic Apps listens to Azure Service Bus, Microsoft Azure Functions as an integration system, Azure Service Bus passes over 90% JMS 2.0 TCKs (Test Compatibility Kit), QueueBrowsers and Message Selectors are supported by Azure Service Bus, 1k topics and queues combined, 2k subscriptions, 5k concurrent AMQP connections per namespace / instance, a namespace comes with 2,4 or 8 a messaging units, Azure Service Bus SDK comes with built-in retry mechanism, idempotent messages are supported, Azure Service Bus uses Azure Storage for replication, Azure Service Bus vs. Apache Kafka, events vs. messages, kafka is not a queue, Ashish Chhabria on twitter: @ashishc1, and github.com/axisc
undefined
Oct 19, 2020 • 1h 4min

Java, Vaadin, Web and vanilla Web Components

An airhacks.fm conversation with Alejandro Duarte (@alejandro_du) about: IBM PC with DOS and Windows 311, starting windows with "win", playing Wolfenstein 3d, writing anti-virus simulations, enjoying watching others playing, developing pixel-draw, learning C after Q-Basic, fascination with executable files, building the apocalypse game "2040", working with tiles, the Object Oriented programming and gaming, learning Java after C++, Java's portability is a fake, ray tracing vs. ray casting, three.js and a-frame, Struts 1 and Angular 1 were similar, using JQuery, the JQuery spaghetti code, we only can hope, that Google Web Toolkit (GWT) works well, starting with Java EE company in financial sector, Vaadin was the remedy to GWT, writing a "Vaadin 7 UI Design by Example" book for Packt, the desire to learn Java EE, working for Vaadin in Finland, the great city of Turku, publishing the "Data-centric applications with Vaadin 8" book, I know Angular ...should I also learn JavaScript?, Vaadin would extend the components for you, using vanilla Web Components with Vaadin Components, using Bulma CSS for consistency, SAP UI 5 Web Components, ING Lion and Vaadin Web Components, the challenge of keeping the build system operational, typescript in Vaadin, syncing the client-side Data Transfer Objects with the backend, JavaScript prior 2015 was problematic, modern JavaScript looks like Java, JavaScript destructuring is great, object destructuring will come to Java, ES Modules are like Java packages, JavaScript is like HashMap of HashMaps, Alejandro Duarte on twitter: @alejandro_du, Alejandro's alejandrodu.com, and Alejandro on github
undefined
Oct 11, 2020 • 1h 3min

Java, Agents, ODATA, Serverless and Cloud Events

An airhacks.fm conversation with Klaus Deissner (@kdeissner) about: Atari 1040 ST the Amiga competitor, when games become boring, starting with GFA Basic, the Atari Profi Book, moving sprites around the screen, starting with Turbo C and Pure C on Atari, writing assembler routines for performant file system size calculations, Java's JXTA, writing C programs for a local tooling company with 17, starting with Java 1.2, genetic programming and algorithms with Java, the fitness algorithm and survival of the best, building software agents with Java, Java aglets, building load balancer Prometheus-like monitoring with Java agents, teaching ABAP programmers Java, the SAP's Exchange Infrastructure (XI), starting with OSGi to write ODATA tooling on Eclipse, semantic web, Resource Description Framework (RDF) and Web Ontology Language (OWL), ODATA exposes various data sources out-of-the-box, SAP UI 5 uses ODATA, UI 5 Web Components can be used standalone, SAP became a member of CNCF, the serverless working group, the CloudEvents standard, the serverless workflow specification, the structure of a CloudEvent, CloudEvent is the parameter of a serverless function, JAX-RS / JSON-B CloudEvent example, CloudEvents discovery and subscription, CloudEvents schema registry was contributed by Microsoft, CloudEvents filter types, the HTTP binary mode, Klaus Deissner on twitter: @kdeissner and github: github.com/deissnerk
undefined
Oct 4, 2020 • 1h 7min

CORBA, gRPC, OSGI, vert.x, mutiny, Reactive Programming and Quarkus

An airhacks.fm conversation with Clement Escoffier (@clementplop) about: olivetti s663 with 2MB RAM, enjoying nice modem noises, u.s. robotics sportster modem, game launch sequence automation, computer science as fallback strategy, the big O-notation, living in valence, studying at grenoble university, the internet class with CGI, Netscape, JavaScript and Pearl, Java Applets with AWT, the challenge of compiling ADA, starting with Java 1.2, the OSGi interests and machine to machine communication or IoT, build time vs. run time versioning checks, working on dependency injection for Apache Felix, porting OSGi to .net, Java RMI vs. CORBA, the great Sascha Krakowiak, lamport clocks and paxos, the challenges of distributed computing, handling failures with CORBA is problematic, CORBA is gone, WS-* came, the HATEOAS idea of REST, HTTP based RPC vs. REST, CDI in JavaScript exploration, dependency injection in JavaScript is challenging, exploring PhoneGap, project wisdom and hiding the complexity of OSGi, netty became too complicated, moving from netty to vert.x, starting at RedHat to work on vert.x project, vert.x does not try to hide the complexity for distributed programming, using vert.x for microservices, if non blocking matters - vert.x, best place for reactive programming are event driven systems, reactive programming is also interesting for composing asynchronous actions, uni in mutiny, apache kafka is not the new JMS, mutiny vs. vert.x, confusion with flatMap and concatMap, reactive programming requires the understanding of large amount of APIs, mutiny outside quarkus, mutiny on top of reactive APIs, Clement Escoffier on twitter: @clementplop, and github: cescoffier
undefined
Sep 27, 2020 • 56min

High-Performance Java Persistence and Cloud Native QBasic

An airhacks.fm conversation with Vlad Mihalcea (@vlad_mihalcea) about: the romanian HC computer, running QBasic on HC, GOTO 30 and typing programs from a book, designing 8 by 8 images, building the first video game with 11-12 years, the spider is walking, learning turbo pascal at high school, mathematics and physics at high school, studying telecommunications in bucharest and Cluj, Technical University of Cluj-Napoca, the beautiful city of Brasov Palm Pilot, the unstructured Java programming classes, the object oriented programming excitement, "Thinking in Java" book by Bruce Eckel, Chomsky Hierarchy, Information Theory by Shannon, starting with Java 1.3 / 1.4, starting at www.artsoft-consult.ro, full stack Java developer in 2005, developing fourier tranformation in JavaScript, fft.js, participating in math olympics, Sun Certified Java Programmer, starting a blog and becoming freelancer in 2013, the "High-Performance Java Persistence", working as developer advocate for RedHat with focus on Hibernate, using NHIbernate in diploma, JDBC, JPA and jooq, High-Performance SQL, the Hypersistence Optimizer, Hibernate Types, airhacks.tv and the JDBC pool question, flexy pool, the proper size of connection pool is hard to estimate, moving away from consulting - or trading time for money, Vlad Mihalcea on twitter: @vlad_mihalcea
undefined
Sep 20, 2020 • 1h 16min

The Open-Closed Principle and Lots of Magic

An airhacks.fm conversation with Lincoln Baxter III (@lincolnthree) about: the broken Apple Mac Plus, accidental computer repair, Crystal Quest, Spectre, playing MechWarrior, programming logo at school, ACS logo, counting to a million with a shell script, writing a Galaga clone for a TI-92 writing a multiplexing socket chat server in C++ at high school, Bjarne Stroustrup's C++ book, the year 2000 crisis, University of Pennsylvania, writing business applications in Java for vanguard, "shared nothing architecture", project leads had to enjoy xml, Vienna is in Austria :-), the open closed principle, encapsulating the complexity, never write abstractions first, design patterns, writing project management software with Java Server Faces, J2EE / Java EE, SocialPM, the maven project generator: JBoss Forge, routing in Java with Java Server Faces (JSF) PrettyFaces, joining the Java Server Faces expert group, seam framework, code generation covers up a bad design, jboss forge is also an interpreter, starting prettytime as a side project, focussing on the game Magic the Gathering, starting a new startup: topdecked.com, working on windup - the application server migration project, building backend with NodeJS, building a hybrid app for iOS and android, using web components, lit-html without any indirections, GWT is a Java to JavaScript compiler, Apps With MicroProfile online workshop, Isomorphic JavaScript, Quarkus vs. NodeJS, Quarkus relies on familiar MicroProfile and Java EE APIs, Quarkus application is smaller than empty Apache Tomcat, Magic The Gathering by Wizards of the Coast, the MTG rules, topdecked.com discount codes: 50% off any new subscription for 12 months: AwavWXNj 100% off for 6 months (new monthly plans only): xzPVPRwh New members: https://www.topdecked.com/signup Existing members / if you have an account: https://www.topdecked.com/account(detail:account/plans) Lincoln Baxter III on twitter: @lincolnthree, Lincoln's side projects: www.ocpsoft.org and his main project: topdecked.com
undefined
Sep 13, 2020 • 56min

Blogs, Quarkus, Service Meshes, Kubernetes, MicroProfile, Neo4J, openJ9, AsciiDoc

An airhacks.fm conversation with Sebastian Daschner (@daschners: Sebastian was introduced in airhacks.fm episode #2, and also appeared in episodes #31, #47 and #54) about: designing blog engines, pagination strategies, implementing a blog engine with Jakarta EE and MicroProfile, a modified Apache Roller, static page generators, using Quarkus instead of a web server, HTML, emmet and Visual Studio Code, AsciiDoc and Markdown, asciidoctorj on application servers, using git with jgit as storage, misusing Quarkus on GraalVM as a local, native app, file storage vs. databases, the Neo4j involvement, Neo4j on Quarkus, the advantages of a graph database, Object Graph Mapping (OGM) on Quarkus, running Quarkus on JVM in production, Quarkus in native mode as command line application, Graph Database vs. Document Databases, scaling Neo4j challenges, modelling the graph, types and dates as entities, entity relationship model (ERM), attributive relations in ERM, Neo4j cypher scripts, using Neo4j for blog implementation, the Neo4j browser, the remaining use cases for service meshes and istio, traffic management and authentication with istio, linkerd, istio, envoy, service mesh features could merge into kubernetes, observability MicroProfile Metrics vs. Istio metrics, service mesh metrics are a starting point, Neo4j with Quarkus, managing Neo4j transactions with JTA (Java Transaction API), Neo4j comes with great Spring support, Convention over Configuration in Java EE, Jakarta EE and MicroProfile, switching from Spring to Jakarta EE, jaxenter survey results, wad.sh and Java 11, continuous build and deployment, Quarkus startup times, Quarkus on RaspberryPi airhacks.fm podcast episode, reaction to Quarkus startup times on twitter, Java is performant and highly productive, Visual Studio Code comes with good Java experience, the maintainability of running plain kubernetes, IBM comes with IBM Kubernetes Service (IKS), OpenShift on IBM Cloud, IBM container registry, openJ9, Docklands: a collection of docker files, running Quarkus on openJ9 article, the Effective Developer Podcast, Sebastian Daschner on twitter: @daschners, Sebastian's blog: https://blog.sebastian-daschner.com
undefined
Sep 5, 2020 • 56min

Trains, Filmschool, Java on RaspberryPI, Quarkus and MicroProfile

An airhacks.fm conversation with Frank Delporte (@FrankDelporte) about: first experiences in computer club - a retail store, C64 love with 11, enjoying printing a line of text repeatedly, a book by elektor about C64 and hardware, controlling lego trains with soldered relay boards with C64, disco bar with peek and pokes, programming over games, film school in a castle in Vorst, bombastic intros to movies with Amiga 500 at technical film school, editing documentaries and cooking shows, burning 15 seconds of video on 15 MB CD-ROMs business cards, programming with Macromedia Director in Lingo, Lingo became ActionScript with Flex Builder, bringing videos to websites, programming CMS with C# and MS-Access, migrating to MySQL, clean and beautiful HTML markup with MS FrontPage, suspicious web editors, Flex 2 backend with streaming data and charts, writing applications with Flex 3 with C# backend, desktop applications in the browser with Flex, Steve Job's "no flash", building passenger information systems at: www.televic-rail.com, flash on all devices, automation of rail station announcements, replacing flash with browser, adobe donated flex to apache, compiling Flex to HTML and JavaScript, syncing powered-off trains, C# was a moving target, Java is stable, killing a train blocks passengers, challenging kids to program at coderdojo.com and devoxx4kids.org, powerful and underestimated RaspberryPI, the killer use case is the GPIO, the story behind RaspberryPI, the ToC of "Getting Started with Java on RaspberryPI", PI4j by Robert Savage, JavaFX for RaspberryPI, using RaspberryPI as a server / edge device, running Quarkus with Panache on RaspberryPI, Quarkus starts 3 times faster as Apache Spring on RaspberryPI in JVM mode, Quarkus native mode didn't ran on RaspberryPI / ARM, starting with Quarkus and MicroProfile was easy, clusters with turingpi.com, migration from Spring to Quarkus took a few hours, Frank Delporte on twitter: @FrankDelporte, Frank's blog: webtechie.be and Frank's book: "Getting Started with Java on Raspberry Pi"

Remember Everything You Learn from Podcasts

Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.
App store bannerPlay store banner