airhacks.fm podcast with adam bien cover image

airhacks.fm podcast with adam bien

Latest episodes

undefined
Mar 18, 2021 • 45min

Shakespeare, Satellites, Java and foojay.io

learning programming with PDP-8, the landscape with sinus and cosinus curves, C 64 for navy work, early PC for 35k, translating fortran to Basic, math is great to describe universe as a machine, saving soldiers with equations, mathematics can analyze patterns from the past to predict the future, Java Virtual Machine constantly optimises itself, recognising patterns from the msx satellite's data, MSX was constantly scanning for missiles, algorithms for speed, translating math to programs, enjoying William Shakespeare, James Joyce and Dante, editing books for oreilly and wrox, java.net podcasts at JavaOne, blogging for BEA, Sun, Intel, AOL, JVM is genius, GraalVM is amazing, foojay.io becomes the new java.net 2.0, Geertjan Wielenga was hired to create foojay.io,
undefined
Mar 11, 2021 • 1h 7min

I don't hate your DTOs

An airhacks.fm conversation with Christian Beikov (@c_beikov) about: Nintendo, then Pentium 3, the rpg maker, blockly - the visual programming language from google, switching to C programming at highschool, starting with Java 1.5 and Swing, Java was really appealing, using NetBeans for development, developing a RPG game in Java, learning programming at HTL, studying software engineering at Vienna University, trying to implement an Operating System in Java, trying to start with Java Maxine, jos the free Java Based Operating System, jnode -"Java New Operating System Design Effort", starting with PHP, trying to port Java "standard" library to PHP, Java Server Faces (JSF) offers a nice programming model, starting the blazebit company at highschool, architecting Java EE software at supply-chain management, initiating the opensource Blaze Persistence project, running JSF on WebSphere classic was painful, SaS based JSF business, great primefaces experience, Blaze-Persistence on 80th airhacks.tv switching from WebSphere to Wildfly 10, migrating from WildFly to openshift and PostgreSQL, starting another startup: Sweazer - the tinder for shopping with Java EE and Apache Cordova, working on Hibernate at RedHat, Adobe PhoneGap is EoL, optimizing costs for RDS on AWS, clouds can be too expensive, WildFly worked perfectly in the clouds, WildFly ran on EC2, reducing the amount of data with blaze persistence entity views, using JSON aggregation functions to reduce network traffic by folding collections, using multi-set strategy to aggregate results into a JSON document, reducing the selected columns for performance, Markus Winand - the SQL ambassador, "Blaze-Persistence: Use Modern SQL like native JPA", indices over caching, the JPA "dot" operator produces inner joins, Blaze-Persistence query builder supports CTEs, Common Table Expressions (CTE), Java Persistence API is productive enough for startups, Blaze-Persistence generates implementation for interfaces, Blaze-Persistence maps deep query result hierarchies into DTOs, Open Session in View concept was bad for performance, Blaze-Persistence supports Java Records, article: Blaze-Persistence: Use Modern SQL like native JPA commercial support is available for Blaze-Persistence, Christian Beikov on twitter: @c_beikov, and Christian's company: blazebit.com
undefined
Mar 3, 2021 • 1h 50min

Helidon CLI, Builds, Docker and Kubernetes

An airhacks.fm conversation with Romain Grecourt (@rgrecourt) about: introduction of clean Java EE 6 API guidelines by Bill Shannon, the guidelines were implemented by Romain, the Maven Versioning Rules by Bill Shannon, predictable groupids, artifactids and package names in Java EE 6, helidon comes with a flat classloader, in helidon there is no distinction between helidon's and third party libraries, Java EE 7 fixed the uncompilable API issue, API jar is the implementation of the API, Java EE APIs from different vendors may vary, javax API was not meant to be universal, Bill Shannon was one of Solaris architects, the "Oracle Native Developer", GlassFish v2 and v3 was "bleeding edge", early GlassFIsh versions were built with Apache Ant, WebLogic multi-tenancy and vertical scaling, WebLogic build system modernization, migration from Jira and Mercurial to GitHub, migration from svn to git, GlassFish started with cvs then transition to svn, KDE's svn to git, during the transition from Java EE GlassFish to Jakarta EE GlassFish some history got lost, the "Java For Cloud" project, "Java For Cloud" is the ancestor of Helidon, weblogic 8 was very fast, GlassFish v3 was internally modularized, Helidon was inspired by Java 8 functional programming capabilities and expressjs, Java For Cloud was "Functional First and Reactive First", Java For Cloud became the Helidon Web Server, Helidon SE would compete with Vert.x, Reactive Programming is Helidon's implementation detail, Helidon supports Java Loom, Helidon SE is faster, than Helidon MicroProfile, CQRS might help with database scalability, Helidon CLI is written in Java and translated with GraalVM to a native executable, vuejs CLI developer experience inspired Helidon CLI, GraalVM: goodness of Go and greatness of Java, Helidon CLI will support pluggable extensions, Helidon comes with home-made templating framework, wad.sh - the "Watch and Deploy" tool, jib - demon-less docker image builds, incremental Docker re-builds, Helidon and direct support for Kubernetes, the minimilastic, beatiful YAML, xdoclet and Attribute Oriented Programming, maven has no knowledge about plugins, maven vs. gradle, the Thirsty Bear GlassFish party, Romain Grecourt on twitter: @rgrecourt, helidon's slack channel
undefined
Feb 25, 2021 • 1h 20min

How Caffeine Cache Happened

An airhacks.fm conversation with Ben Manes (@benmanes) about: TRS 80, Tandy RadioShack 80 computer, never push the red button, playing Reader Rabbit on 287, the fascination with hardware, the experimentation with water cooling and thermopads, learning C++ and Java at the University in Chicago, starting with Java 1.4 at school, building corporate travel systems with Java 5, the six hour interview at Google with a binary search tree, working on CRM tool at Google, building an enterprise version of iGoogle in Java and GWT, using Guice and GWT GIN to implement iGoogle.next, using a perforce monorepo, perforce was replaced by internal system called "paper", using blaze and bezel build system, bezel is more distributed, one build file per package, starting at a logistics company with Java 15, the jetty, JAX-RS, keycloak,RESTEasy, jooq and google's guice, starting to write a cache in 2008, using memcached and Java Message System (JMS) for synchronization, Java 5 and the Concurrent Linked HashMap / LRU, building Google Guava cache, Concurrent HashMap was used by Apache Cassandra, Google's MapMaker is predecessor to Guava Cache, Caffeine work started in 2008, EHCache was not concurrent back then, Java 5 concurrent HashMap didn't scale well, Java 5 regions in HashMap were too big, there were too many entries per segment, Java 8 uses small hash bins and scales better, Caffeine builds on top of Java 8 ConcurrentHashMap, LRU and every reads is a write, cache policy can be lossy, using dynamically growing data structures, Caffeine uses Java Collections, Caffeine looks like a HashMap, Caffeine adapts automatically to the read-, write-, or mixed workload, Caffeine's configuration is descriptive, refresh policies, cache loader, expiration, asynchronous behavior, listeners, soft- and weak references were supposed to be the solution to everything, hit rates monitoring, micrometer, dropwizard, prometheus monitoring adapters are available, reasearch papers tend to lie, working with cockroachDB committers, Infinispan uses Caffeine, the bias against pre-made stack Ben Manes on twitter: @benmanes, Ben's GitHub account: github.com/ben-manes
undefined
Feb 18, 2021 • 1h 19min

From Competitive Gaming to Java EE API Mavenization

An airhacks.fm conversation with Romain Grecourt (@rgrecourt) about: started with Apple 2 Computer at the age of 8, starting games from command line, writing HTML on Pentium 90, the blink and marquee tags, creating a website with JavaScript and HTML and Netscape Composer, icefaces and icebrowser written in Java, from animated GIFs to Macromedia Flash, creating a website for a hockey club in Flash, computer parts for website creation, creating computers from parts, sports with Counter-Strike, blocking the telephone line with a modem, finding opponents on QuakeNet IRC, becoming an admin on a channel with a bot, starting with IRC scripting, winning Counter-Strike tournaments, writing a "bouncer" bot, installing a dedicated Half-Life server on mandriva linux, redoing the Counter-Strike menu in Flash for the team website, Programmable logic controller (PLC) based automation assignment, the desire for 100 FPS, creating a selective cat trap door with magnets and using SolidWorks, C programming to control a disk drive motor, starting at the wrong college, switching to software engineering college, starting with "french" C++ then switching to the real thing, working with wireshark and assembler, C, C++, Linux, Emacs over Java, reading stack traces is great, starting a web services projects with Java and Axis 2, starting with Maven 1, scripting a tree shaking functionality for JAR creation with make, starting at Serli to implement the Java EE security spec at Jonas Application Server, working with GlassFish to support application versioning, working with NetBeans, Maven 2 and Subversion, becoming a Maven and NetBeans fanboy, Serli worked with Alexis MP (#23 From GlassFish to Java in Google Cloud) GlassFish application versioning was announced at JavaONE, starting at Oracle at GlassFish team in Prague, implementing OSGi and HK2, specialising at GlassFish Maven 3 builds, packaging the Java EE API jars, Java EE 6 API without the implementation, introducing conventions for Java EE packaging, Romain Grecourt on twitter: @rgrecourt
undefined
Feb 15, 2021 • 1h 7min

How KumuluzEE Happened

An airhacks.fm conversation with Jan Meznaric (jmezna) about: Windows 98 on Pentium 1, recording a Windows 98 screen with an old VHS camera, enjoying MS Paint and educational games, starting programming with Visual Basic and "Happy New Year", the Linux fascination, creating PHP based websites, making a barcode scanner working during vacations in .net, the superstar programmer at high school, starting with Java 2, enjoying Java EE and GlassFish, joining the Java Enterprise research program at the university, JBoss, input validation with Java Server Pages (JSP), Drools and JBPM, business rules are too hard for business users, Drools debugging is a challenge, the University of Ljubljana, the microservice framework for Java Enterprise solutions, optimising Java EE for cloud native architecture, Glassfish, Payara, WildFly vs. KumuluzEE, "java -jar glassfish.jar", KumuluzEE committers at airhacks.com MUC workshops, KumuluzEE ships with the smallest jar, KumuluzEE JPA / CRUD app starts in a few seconds, exploded JARs, FAT jars and layered JARs are coming, KumuluzEE supports MicroProfile, KumuluzEE supports etcd and consul, KumuluzEE discovers kubernetes services, KumuluzEE comes with useful extensions, ethereum integration, feature flags support, the version export, subscribing to blockchain events, KumuluzEE comes with commercial support, KumuluzEE uses smallrye to implement some MicroProfile APIs, tree vs. flat metrics, configuration change events, peer to peer microservice update strategies, Java project JXTA, wild pigs, peer to peer and octoberfest, creating a Kubernetes ingest controllers Jan Meznaric on github: jmezna
undefined
Feb 4, 2021 • 1h 22min

JavaFX Everywhere ...also in App Stores

An airhacks.fm conversation with Johan Vos (@johanvos) about: Gluon Mobile, JavaFX was supposed to replace Swing, Swing and AWS were created in a hurry, JavaFX is a significant improvement, Java started on Star7, JavaFX ran on an iPad during JavaOne, the source of JavaFX was already in a good shape, creating native apps with GraalVM and JavaFX, JavaFX does not require to install Java on mobile device, SubstrateVM helps with cross-compiling Java to native code, Apache Cordova, shipping JavaFX applications to AppStores, SpaceFX, JavaFX on RaspberryPI, JavaFX on an iPhone emulator, JavaFX provides similar experience to flutter, the TooManyLanguagesExceptions, the Google Cemetery, Gluon Attach framework helps with sensor integration, JavaFX's WebView uses WebKit on iOS, building a hybrid app with WebComponents and JavaFX, using CustomEvents to communication between Web Components and JavaFX, on desktop JavaFX uses recent WebKit builds, native vs. cross platform look and feel, JavaFX ships with material design based look and feel, JavaFX is GPU accelerated on mobile, JavaFX uses OpenGL, EGL, JEP 382: New macOS Rendering Pipeline, Apple's M1 Chip simplifies JavaFX development, JavaFX can run as Java application, or as native executable, JavaFX transpiles with GraalVM to native application, JavaFX transpiles to native C iOS code, the microprofile.training covering a blog engine, Gluon provides commercial support and roadmap priority shifting, openJFX vs. JavaFX is like openJDK vs Java, Gluon Mobile is a commercial product, Gluon CloudLink integrates with serverless runtimes, fnproject is used as serverless platform, Gluon Cloudlink could use MicroProfile GraphQL as backend, ODATA is useful to integrate frontend with data-rich backends, Apache Olingo, Oracle is a great steward of Java, Johan Vos on twitter: @johanvos, Johan's company: Gluon
undefined
Jan 28, 2021 • 1h 19min

How Struts 2 Happened

An airhacks.fm conversation with Lukasz Lenart (@lukaszlenart) about: Playing platform games on Commodore VIC-20, the desire to write a game, starting to program on Commodore C 64 in Basic, the airhacks.fm podcast episode about magic: #106 The Open-Closed Principle and Lots of Magic, a series of if-else statements, learning Pascal then Delphi on a PC, writing network tools in Delphi, starting at ZUS and Delphi Automotive Poland automotive, working as network engineer with Novell Netware, running Java on Novell Netware, Java, Netware Directory Services (NDS) and LDAP, Eric Schmidt was CEO at Novell, the Java San Francisco Framework from IBM, using JBuilder for NDS Java development, learning PHP for production monitoring, using PHP with Common Gateway Interface CGI, migrating from PHP to Java, JSP and Struts, discovering robotics as automative engineer, the kuka robots company, combining Struts 1 with Enterprise Java Beans (EJB) for pragmatic reasons, using Struts and Tiles, building production forecasts with Struts 1 for a Manufacturing Execution System (MES), NetBeans Days in Warsaw, Gdansk and Posen, JBoss project for dial tone discovery, starting at SoftwareMill, SoftwareMill created Hibernate Envers, the first contribute to Struts 2 and NetBeans, WebWork was the beginning of Struts 2, WebWork is used by Jira - a special version of Struts, Sony Europe is using Struts, a basic Struts 2 application, Struts 2 and MVC implementation, Struts 2 support CDI Dependency Injection, vuejs vs. struts 2 contributions comparison, using Java backend web frameworks as SSR / Server Side Rendering, disconnecting JSPs from Struts, MicroProfile Training workshop - rewriting the blog engine in a workshop: https://microprofile.training, it doesn't make any sense to run wikipedia as a SPA, the equifax remote code execution and the patch, the OGNL was used to open a port, is there a reason to learn Scala if you Java 16? quarkus as the next generation runtime, Lukasz Lenart on twitter: @lukaszlenart, Lukasz' blog
undefined
Jan 25, 2021 • 55min

Databases and Business Analysts

An airhacks.fm conversation with Ben Brumm (@databasestar) about: a macintosh with a color monitor, playing games like time crisis, sim city, on Pentium, pixel perfect vs responsive design, starting "programming" with Microsoft Frontpage, writing simple programs with Visual Basic, starting Java in 2001, writing a Java app to search for file on CDs writing Java CLI with GraalVM, starting with Oracle Database and SQL Server, starting as a business analyst, using toad, datagrip, postico, and SQLplus for database development, using SQL developer and PL/SQL developer, using Visual Studio Code for database development, skipping business analysts and talking directly to users, writing code forces you to think harder, nice Java objects vs. highly normalized database, denormalizing database for performance, structural changes to database take too long, using FlywayDB and liquibase for automated database deployments, when DDLs take too long, dealing with structural rollbacks in DB and the red gate tools, Oracle Editions and Flashbacks, increasing PostgreSQL popularity, using PostgreSQL JSONB functionality as extensions column, using Oracle XStream, using Change Data Capture (CDC) and Debezium, Ben's blog: www.databasestar.com and book: Beginning Oracle SQL for Oracle Database 18c: From Novice to Professional Ben Brumm on twitter: @databasestar
undefined
Jan 14, 2021 • 41min

Plasma is the new "Hello,World"

An airhacks.fm conversation with Bert Jan Schrijver (@bjschrijver) about: C64, playing Paper Boy, winter games - the joystick destroyer, BASIC, print, sprites peek and poke, resilience patterns and fault tolerance motivated by a stronger brother, writing text based adventures in BASIC, programming Turbo Pascal on a 486, smoking computers, joining the demo scene and the 28k modem, generating samples - the SVG for music, staring with Java at the university, experimentation with Java Applets, enjoying static imports with Java 5, plasma with an Java Applet, flood prevention simulation in Java, building a text classification system in Java, the beginning of AI with Java, using Java Server Pages and Servlets at an insurance company, combining Groovy with EJB 3, starting OpenValue with 25 people, migration from Java EE servers to quarkus, Quarkus--the comeback of Java EE, WildFly Swarm and "I don't want your Thorntail" podcast episode, Guild42 Serverless Java #slideless presentation, GraalVM made Java appealing again in the server space, EJB pooling could solve lambda cold start problems, from developer the manager - and the end of plasmas, Bert's plasma in JavaScript: github.com/bertjan/html5-canvas-js-plasma, OpenValue is hiring, Bert Jan Schrijver on twitter: @bjschrijver and github.com/bertjan

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