PLAY PODCASTS
airhacks.fm podcast with adam bien

airhacks.fm podcast with adam bien

398 episodes — Page 5 of 8

Ep 198Modules in the JVM or the Clouds

An airhacks.fm conversation with Juergen Albert (@JrgenAlbert6) about:Java 9 modules, microservices,the attempt to fight the complexity with distributing a monolith,internal isolation inside a monolith,the advantages of modularity,the definition of microservices,OSGi is complex at the beginning but the complexity of OSGi growth linearly,developing a first microservice is easy, coordinating many microservices gets complex,the operational complexity of distributed microservices,OSGi instead of distribution,OSGi modules communicate via services,the Eclipse Communication Framework (ECF),MicroProfile REST client as remoting,an episode with Romain Manni-Bucau: "#79 Back to Shared Deployments",rolling updates with OSGi,getting list of bundles with their versions,CVE detection with OSGi,the desired state monitoring,Infrastructure as Code with Java,treating OSGi as kubernetes with IaC,OSGi fx - desktop ui for OSGi management,JINI invented the Service Oriented Architectures,Java Intelligent Network Infrastructure and Apache River,JINI leasing and self healing,distributed garbage collection with JINI,episode with Joe Duffy: "#189 How Pulumi for Java Happened",conversation with Bruno Borges: "#188 Finding Some Sense in a Nonsensical Technology World",additional complexity of Kubernetes in the clouds,double Kubernetes provisioning,Juergen Albert on twitter: @JrgenAlbert6, Juergen's company: Data In Motion

Jul 17, 20221h 2m

Ep 197Idempotency, Secrets, Dependency Injection and AWS Lambda

An airhacks.fm conversation with Mark Sailes (@MarkSailes3) about: AWS Lambda Powertools for Java,, fetching and caching secrets, default caching retention period for short lived secrets, the limits of the clouds, the consistency of DynamoDB, DynamoDB connectivity with AWS Lambda, RDS Proxy, "Proprietary Cloud Native Managed Service", SQS, SNS, Kinesis, the fan-out pattern is implemented with SQS and SNS; EventBridge could replace SQS and SNS for the implementation of fan out patterns, AWS Lambda Powertools for Java Idempontency, using request as idempotency key, transactions, network errors and idempotency, idempotency per design, partial batch failures handling, bisect in SQS, SQS Large Message Handling, message offloading to S3, S3 transactional writes, dependency injection of Lambda resources, secret injection with AWS Lambda, JSON-logging and AWS Lambda Powertools for Java Logging, converting json to metrics in CloudWatch, Mark Sailes on twitter: @MarkSailes3, Mark's blog: mark-sailes.medium.com

Jul 8, 202254 min

Ep 196Maven (Next) and Convention over Configuration

An airhacks.fm conversation with Karl Heinz Marbaise (@khmarbaise) about: empty pom.xml and plugin versions, recent Maven, old plugins, release plugins often, default plugin versions are hardcoded, the nice Maven 4 features, removal of deprecated functionality, running concurrent Maven builds against the same cache, concurrent builds make only sense for multi module build, profiling Maven, use the most recent Maven version for speed, Takari build lifecycle by Jason van Zyl, smaller poms, separation of concerns: build plugins vs. dependencies, build pom and consumer pom, mvn wrapper is part of Apache Maven, deriving default configuration from super POMs, offering different POM formats, experiments with hardcoded build chain, Maven and GraalVM, locking down Maven dependencies with GraalVM, how to contribute to Maven, Maven for Xmas, Karl Heinz Marbaise on twitter: @khmarbaise

Jul 2, 20221h 5m

Ep 195Building Chrome DevTools with Vanilla Web Components

An airhacks.fm conversation with Jack Franklin (@Jack_Franklin) about: A thick, chunky Dell Laptop, Playing Tycoon, creating a soccer website with DreamWeaver, learning PHP and CSS, learning python, Java and prolog at the university, writing Rails code, the popularity of Ruby on Rails, Python vs. Ruby, switching from Angular to React, Angular 1 vs. Angular 2, backward compatibility and React, React Hooks, hooks vs. lifecycle methods, starting at Google Chrome Dev Tools Team, working on Chrome Performance Insights, Chrome Dev Tools is a Web Application, from custom framework to Web Components and lit-html, Chrome SDK manages state, Polymer was chatty, lit-html is a tagged template literal, lit-html performs partial updates, the bar for using frameworks gets higher, lit-html optimises the rendering, console.begin and console.end for better developer experience, lit-html is used in Chrome, what happens if FaceBook looses interests on React, what is the worst case scenario for loosing a dependency, using Chrome's ninja and rollup.js for bunding, Chrome supports import maps, chrome -custom-devtools-frontend storybook for WebComponents, adding JS-comments with JSDoc for type annotations for better refactoring in plain ES 6, any and unkonwn in typescript, Performance Insights panel lowers the bar for website optimizations, the Chrome Recorder generates pupeteer script, the Recorder panel is also implemented with Web Components, big UI features are implemented as Web Components, Jack's post: "Why I don't miss React: a story about using the platform", Jack Franklin on twitter: @Jack_Franklin, Jack's blog jackfranklin.co.uk

Jun 26, 20221h 1m

Ep 194Becoming an Apache Maven Committer

An airhacks.fm conversation with Karl Heinz Marbaise (@khmarbaise) about: PET 2001 was the first computer, enjoying programming at school, writing Basic and assembly code on Commodore CBM 4000, writing software for Commodore 1 PCB, finally getting a Commodore 64, programming extruder mesh machines, writing floating point libraries on Intel 8080, the connection between computers and math, starting with Turbo Pascal, C and C++ and Turbo C, studying part time, working full time, tracking cars with GPS in Delphi, implementing a new language in lex, yacc and bison, banks were using the OS/2 Warp operating system, working with Visual Basic, starting with Java 1.4 in 2004, working with PHP and MySQL, SOAP with PHP, developing an internal sourceforge, write simple code and enjoy JVM performance, starting with Ant then migrate to Maven 2, Apache Jelly the executable XML, Convention over Configuration with Maven, Apache Continuum, AnthillPro and CruiseControl, becoming a Maven committer, Apache Axis 2, using Hudson for CI/CD, contributing to open source at Deutsche Boerse, working with Robert Scholte, airhacks.fm episode with Robert: "#28 More Conventions with Maven.next", working as DevOps engineer, Karl Heinz Marbaise on twitter: @khmarbaise

Jun 19, 202254 min

Ep 193GraalVM, Apple Silicon (M1) and Clouds

An airhacks.fm conversation with Shaun Smith (@shaunmsmith) about: Shaun Smith in episode "#167 GraalVM and Java 17, Truffle, Espresso and Native Image", GraalVM has a 3 months release cycle, from Graal 21.3 release to GraalVM 22.1, GraalVM 22.1 supports Apple’s Silicon M1 , M1 and container support, ARM and container, Oracle Database on docker, Intel vs. ARM native compilation on Intel, project kenai.com memories, jreleaser, AWS Graviton, Oracle A1 ARM instances and Ampere, CPU is cheap, RAM is expensive, the economics of FaaS, kubernetes vs. Lamba, failing fast with quick builds and -Ob optimization, JRockit, JMC and Sun JVM merge, continuous monitoring with JFR, 22.0 - improving the output and developer experience, GraalVM web assembly support, python vs. Ruby vs. Java, django vs. Ruby on Rails, JavaGD and R, GraalVM supports LLVM and so C and C++ languages, Java on Truffle, or project espresso, GraalVM Visual Studio Code tooling, Micronaut and reflection-free CDI, Quarkus, Micronaut and build-time deployment, NetBeans language server is used in Visual Studio Code, JetBrains and GitPod partnership, need for speed and Visual Studio Code, awk and icon, why I’m using Java and not, blog post: "Why are you not using [the language of the year] instead of Java?" Shaun Smith on twitter: @shaunmsmith

Jun 13, 20221h 23m

Ep 192Working in the Shadows ...for Quarkus

An airhacks.fm conversation with Guillaume Smet (@gsmet_) about: Amstrad CPC, then Pentium 75, typing long code listings, coding a website with 20, PHP 3 and PostgreSQL, separating code from HTML with PHP, building a CMS system with CVS, studying in Lyon, offer management software for the EU, from PHP to Java 1.4, using RedHat Webapplication Framework, Java 5 introduced annotations, C-JDBC sequoia and ObjectWeb, contributing to GForge the fork of sourceforge, developing PostgreSQL log analyzer, starting at Open Wide, PostgreSQL log analyzer was used by Instagram, 2003 - the first contribution to OpenSource, leaving smile, joining RedHat, using the Wicket Java web framework, Apache Wicket was component based, Apache Wicket was the Java’s Swing UI for the web, episode with Struts committer: "#125 How Struts 2 Happened", Hibernate Search is an annotation-based approach to search, the project lead for Hibernate Validator, frequent calls from Emmanuel Bernard, Emmanuel Bernard was guest at the episode "#52 The First Line of Quarkus", Quarkus-the secret project at RedHat, project protein and Shamrock, Open Wide and smile, connecting Quarkus people, the challenge of growing fast and innovating at the same time, starting quarkiverse, dealing with external ClassLoaders, the monthly airhacks.tv show, the killer use case for quarkus dev mode is serverless, use production for AWS Lambda deployments and dev mode for local development, passionate Quarkus contributors, bytecode generation with gizmo, quarkus’ build-time optimizations, Guillaume Smet on twitter: @gsmet_, on GitHub @gsmet and Guillaume's blog: in.relation.to/guillaume-smet/

Jun 4, 20221h 17m

Ep 191Innovation, Clouds, Kubernetes, Standards and Java

An airhacks.fm conversation with Victor Orozco (@tuxtor) about: focus on Jakarta EE and devops, faster release cycles, Apache Cactus - the test container, daily releases and DevOps challenges, the perfect Sun servers, the deprecated Java EE deployment J2EE API, JSR 88: Java EE Application Deployment, onboarding of new developers is harder today, lean Java EE code is reusable in serverless world, Heroku and openshift started the serverless movement, blog post: How To Push Java EE 6 Applications To The Cloud In 5 Minutes, portability of Java workloads in the clouds, kubernetes vs. docker Compose, the costs of the clouds, or Kubernetes vs. serverless, Kubernetes on linode, Kubernetes is a monolith in the cloud, running private VPCs, the payara cloud and the rethinking of clustering, back to efficient monoliths, the plain Quarkus CDK lambda template, a quarkus AWS Lambda looks like an old Glassfish application, buying CPU with RAM, Java’s dependencies are easy to manage, Java’s serverless comeback, Victor Orozco on twitter: @tuxtor, Victor's company: nabenik

May 27, 20221h 5m

Ep 190From Java/JDK 7+ and Project Coin over Project Amber to Better Java Serialisation

An airhacks.fm conversation with Stuart Marks (@stuartmarks) about: the classic optimization problem in 1950’s at the Western Pacific Railroad, the first computer IBM 1401 - in 1960s, transitioning to the JDK group, the nice thing about Oracle’s Sun acquisition, updating Java’s codebase with new features, the Java Coding Conventions style guide, the Local Variable Type Inference Style Guidelines, Small language enhancements (Project Coin) diamond operator, try-with-resources, refactoring Java’s codebase, JT Harness - the Java Test framework, JT Harness is repurposed jtreg, fixing bugs in Serialization and RMI, Serializable Records, a better Java serialization, Project Amber and pattern matching, Java deconstructor is the opposite of a constructor, construction during deserialization is similar to dependency injection, RMI for unstable code isolation, try-with-resources and suppressed exception, JEP 421: Deprecate Finalization for Removal in Java 18, multi catch, varargs, Strings in switch Statements, SafeVarargs, decoupling from serialization formats, all powertools can kill, Stuart Marks on twitter: @stuartmarks, Stuart Marks blog: stuartmarks.wordpress.com

May 20, 20221h 13m

Ep 189Real 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 15, 20221h 6m

Ep 188How 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

May 6, 20221h 24m

Ep 187Finding 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 29, 20221h 7m

Ep 186Our 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 24, 20221h 14m

Ep 185Structuring 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 17, 20221h 1m

Ep 184A 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 8, 20221h 10m

Ep 183Piranha: 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

Apr 3, 20221h 5m

Ep 182The 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 27, 20221h 9m

Ep 181Dr. 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 20, 20221h 31m

Ep 180Java 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

Mar 12, 20221h 1m

Ep 179Trombones, Java, Large Scale WebSphere Liberty Deployments and 50.000 JVMs in Production

An airhacks.fm conversation with Benjamin Marwell (@bmarwell) about: C64 with 3.5 years, enjoying Pitstop, Pharaoh's Curse and Lady Tut, starting to program in Basic from a manual, modifying the game source, starting with Pascal and Visual Basic, storing the universe into an Excel file, automating a space game with Delphi, implementing a web crawler in Delphi, the "King of Galaxy Wars" and OGame, playing trombone in the army, starting at Finanzinformatik the datacenter for the German saving banks, studying in Hameln business informatics and learning Java 6, programming with 31-bit computing with IBM assembly, starting with 0xCAFEBABE, switching to monitoring department and using BMC Patrol, the web and application servers department, deploying a few hundred applications to WebSphere Liberty, using Apache FreeMarker to generate 'WebSphere Liberty configuration, microservice deployment with WebSphere Liberty, Apache Maven and Apache Shiro Committer, building JavaFX application with jlink, contributing to JLink, creating sprites for Legend of Zelda, podcasts with Robert Scholte "#25 Maven Commitment" and "#28 More Conventions with Maven.next", using Apache Shiro for permission checks, combining security with Bean Validation - a podcast with David Blevins "#156 Bash, Apple and EJB, TomEE, Geronimo and Jakarta EE", Nexus is using Apache Shiro Benjamin Marwell on twitter: @bmarwell, Benjamin's blog: https://blog.bmarwell.de

Mar 6, 202250 min

Ep 178System.logger, JDK Enhancement Proposals (JEP) and knowing about Java's future

An airhacks.fm conversation with Nicolai Parlog (@nipafx) about: previous episode with Nicolai: "#163 The Endless Loop of Frustration and Challenge" JEPs, JEPs draft, what happens on the openJDK Mailing list, spending time with JEPs, knowing about the future, influencing current architecture with future standards, the System.logger was added in JDK 1.9, System.logger was intended for internal JDK user, but works fine for applications as well, JEP 264: Platform Logging API and Service, hystrix deprecation, dozer mapper is deprecated, the Eclipse Maven plugin, the fast NetBeans, great Visual Studio Code, hamcrest vs. assertj, consistency vs. micro-optimizations, why try with resources came in Java 9 first, effectively final in Java 9, where to put the context information, How to comment with JavaDoc, the Java 18 snippet tag and src/demo/java, JEP 413: Code Snippets in Java API Documentation, the cases for package-info.java, JavaDoc and metrics, testing the mocks, pointless unit tests, combining cyclomatic complexity with test coverage, crap4j Nicolai Parlog on twitter: @nipafx, Nicolai's website: nipafx.dev

Feb 26, 202220h 4m

Ep 177Java, Java EE, Jakarta EE, MicroProfile, Clouds and Duke Adventures in Guatemala

An airhacks.fm conversation with Victor Orozco (@tuxtor) about: Cyrix 486 computer, disassembling Prehistorik 2 game, enjoying Dangerous Dave, starting programming in FoxPro, joining programming bootcamps, learning Visual Basic 6, starting to study Computer Science with the age of 16, studying in Guatemala City, starting to learn Java in 2005, from .net to Java, Sun Certified Programmer certification, human rights application with Apache Struts on Sun Java Application Server, getting the NetBeans DVD from Sun Microsystems, starting with NetBeans RCP, gentoo linux was the future, Central America has only three Java Champions, two Java Champions from Guatemala and they joined the bootcamp, writing code for Blackberry in Java and J2ME, enjoying Glassfish and Java EE 6 for backend development, going to Brazil and switching to ML, Scala and Spark, betting on Java EE, Jakarta EE, MicroProfile, JUG in Guatema is the oldest in the country, winning the Duke Choice Award for Duke Adventures, meeting Bruno Souza, checkout episode "#170 Java, OpenSource and the Brazilian Christmas" with Bruno Souza, "knowledge and clouds" - is nabenik in Mayan - victor's company, Java EE, Jakarta EE, MicroProfile are great platforms for building products and consulting, working on-premise openshift, AWS and Azure, working with Payara Micro, Quarkus on OpenShift, packaging old Java EE codes as AWS Lambda, Victor Orozco on twitter: @tuxtor, Victor's company: nabenik

Feb 20, 20221h 19m

Ep 176Kumuluz API Gateway, MicroProfile and Serverless Functions

An airhacks.fm conversation with Prof. dr. Matjaz Juric (@matjazbj) about: checkout past episodes with Prof. dr. Matjaz Juric "#158 Kubernetes, KumuluzEE, MicroProfile and Clouds", "#151 Modularization, Monoliths, Micro Services, Clouds, Functions and Kubernetes", "#136 From ZX Spectrum over Clouds To Winning the Java Duke's Choice Award", the Kumuluz Digital Platform, the omni-channel architecture, the KumuluzCrowdsensing platform, EV charging, battery State of Charge estimation, project edison winci runs on KumuluzEE and MicroProfile, using service discovery for locating microservices, service discovery implements client-side load balancing, KumuluzAPI is an extension of the kubernetes ingress controller, decentralising an API Gateway with "smart proxies", API gateway fault tolerance pattern integration, MicroProfile API gateway integration, canary releases and A/B Deployments, JBoss smart proxies and MicroProfile JAX-RS client, the costs of cloud-agnostic deployments, on-premise Kubernetes is a must, going serverless with Kumuluz Functions, cost-driven development in the clouds, kubernetes is expensive to operate, kubernetes clusters are often over-provisioned, solving problems differently with event-driven approach, Prof. dr. Matjaz Juric on twitter: @matjazbj and at University of Ljubljana

Feb 13, 20221h 4m

Ep 175AWS Lambda Powertools Java

An airhacks.fm conversation with Mark Sailes (@MarkSailes3) about: Checkout episode "#168 Serverless Java on AWS" with Mark, AWS Lambda Powertools for Java was was initiated in 2020, AWS Lambda Powertools for Java started with logging tracing and custom metrics, the major use cases for AWS Lambda Powertools, lambda best practices are implemented as modules, Lambda Powertools Java Logging and structured logging in JSON format with additional context provided with annotation, including the correct amount of data, logging writes to standard out, Lambda, metrics and the AWS CloudWatch Embedded Metrics Format (EMF), AWS Lambda and metrics scraping, Lambda Powertools Java Metrics, providing Lambdas to AWS CloudWatch via EMF, synchronous AWS CloudWatch calls are expensive, secrets and configuration management with parameters, AWS Systems Manager Parameter Store support, parameter caching, Lambda Java-like tracing with AWS X-Ray, Lambda Powertools annotation for X-Ray, adding exceptions to AWS X-Ray, adding correlation id support for cross Lamba logging, AWS Lambda Powertools for Java is an incubator, support for CloudFormation custom resources, the SQS and SNS message offloading to S3, validation support of business objects with JSON-Schema and JMESPath, the killer Use Case for AOP, writing ugly code for performance Mark Sailes on twitter: @MarkSailes3, Mark's blog: mark-sailes.medium.com

Feb 6, 202243 min

Ep 174Pragmatic Modularity and OSGi

An airhacks.fm conversation with Jürgen Albert (@JrgenAlbert6) about: C64 and Logo, 286, 486 then Pentium, starting with PHP, learning Java 1.4 and Java 5, studying in Jena - the optical valley, Intershop and Stephan Schambach, Intershop was written in Perl, writing eBay connectors with Java, Java Server Pages, Tomcat and Java Data Objects (JDO), Java Persistence API JPA, writing a J2ME app store, Using TriActive JDO TJDO, using Geronimo Application Server, working with Java EE, JBoss and Glassfish, starting Data In Motion company in 2010, building a statistics tool for Bundesamt fuer Risikobewertung, creating smartcove the product search and price comparison engine, building video supported therapy software with Java, parsing video streams with Java, Eclipse RCP, code reuse with OSGi and Gyrex, GlassFish and OSGi, modeling Eclipse Modeling Framework (EMF), Eclipse GMF and openArchitectureWare, the IDE wars, the meetup.com/airhacks message, modular system in long term projects, microservices vs. JARs, versioning bundles and plugins, package versioning, the chair of Eclipse OSGi Working Group, Sun started with OSGi, declarative OSGi services, there overlap between OSGI and Eclipse Plugin Development Environment, "#79 Back to Shared Deployments with Romain Manni-Bucau", Jürgen Albert on twitter: @JrgenAlbert6, Juergen's company: Data In Motion

Jan 30, 202257 min

Ep 173Kafka Connect CLI, JFR Unit, OSS Archetypes and JPMS

An airhacks.fm conversation with Gunnar Morling (@gunnarmorling) about: kcctl the CLI for Kafka connect, kcktl comes with auto completion, kcctl uses picocli, quarkus as CLI, the quarkus extension for picocli, great quarkus command mode with picocli extension, using JPMS for command client interfaces, plugins with JPMS, tab completion with kcctl, the great jreleaser project by Andres Almiray, displaying the connector offsets, the great Java Flight Recorder, jfrunit provides assertions for avoidance of performance regressions, event streaming API in Java, JfrUnit annotations, JFR event streaming into Kafka, Keep Your SQL in Check With Flight Recorder, JMC Agent and JfrUnit, layrry - A Launcher and API for Modularized Java, ModiTect plugin, building application images, the Maven OSS quickstart archetype, Gunnar Morling on twitter: @gunnarmorling, Gunnar's blog

Jan 23, 202250 min

Ep 172MicroProfile 5.0

An airhacks.fm conversation with Emily Jiang (@emilyfhjiang) about: the Chinese JavaONE, the MicroProfile book, writing a book in a caravan, the MicroProfile 5 release, MicroProfile 5.0 ships with Jakarta namespace, OpenLiberty supports MicroProfile 5.0, OpenTracing and OpenCensus merged into opentelemetry, MicroProfile OpenTelemetry will deprecate MicroProfile OpenTracing, Traced annotation and Tracer interface are comprising the OpenTracing spec, MicroProfile Metrics and micrometer, a shim layer around Micrometer could become MicroProfile Metrics, Jakarta EE is a shim, the Quarkus with Micrometer screencast, MicroProfile Metrics "application" registry is useful for business metrics and KPIs, MicroProfile standalone vs. platform releases, Jakarta EE 10 Core Profile will be consumed by MicroProfile, Jakarta Concurrency and Core Profile, MicroProfile Context Propagation integration with CDI, the importance of Jakarta EE Concurrency, a MicroProfile logging facade discussion, OpenTelemetry's logging branch, the AWS Lambda logging interface, injecting java.util.logging loggers and Java interface-based log facades, MicroProfile metrics custom scopes, a service mesh does not have any application-level insights, a service mesh performs a fallback based on traffic patters and not application logic, fault tolerance testing with service mesh vs. MicroProfile Fault Tolerance, MicroProfile and data access specification evaluation, Quarkus with MicroProfile as AWS Lambda screencast, Quarkus with MicroProfile as AWS Lambda github project, AWS serverless containers Jersey implementation, explaining AWS Lambdas with EJB talk, Message Driven Beans as email listeners with JCA, serverless and the ROI point of view, the self-explanatory serverless billing, OSGi is great for building runtimes, integrating MicroProfile Config with Jakarta EE, the Practical Cloud-Native Java Development with MicroProfile: Develop and deploy scalable, resilient, and reactive cloud-native applications using MicroProfile 4.1 book Emily Jiang on twitter: @emilyfhjiang

Jan 16, 20221h 14m

Ep 171How jClarity Happened

Commodore 64, programming opening StarWars scene in Basic, playing Jumpman, enjoying math, learning Pascal and Visual Basic, enjoying Java, Bjarne Stroustrup The C++ Programming Language, network discovery with Java, a Java virus taking over an University, Java was too small for a CD, the great BEA WebLogic 8, building large scale financial systems with Java, the high performance Disruptor Pattern, log4j used a ring buffer, Kirks' Pepperdine systematic method for Java performance improvement, using random forest and decision tree for performance tuning, JClarity Illuminate, jClarity root cause analysis was unique in the industry, jClarity was integrated into Azure Monitor, London Java User Group participated in JCP, jClarity is integrated into Azure Monitor, the Principal Software Group Engineering Manager, Microsoft Loves Linux,

Jan 8, 202253 min

Ep 170Java, Jakarta EE and MicroProfile on Azure

An airhacks.fm conversation with Ed Burns (@edburns) about: expisode with Ed's first computer: "#161 SGI, NCSA Mosaic, Sun, Java, JSF, Java EE, Jakarta EE and Clouds" enabling Jakarta EE servers to run well on Azure, working with IBM and Oracle to support OpenLiberty on Azure and WebLogic on Azure, working with payara cloud, Azure Container Instances the cloud way of "docker run", JBoss EAP on Azure App Service, MicroProfile, Jakarta EE and Java EE application servers on Azure, Lift and Shift with kubernetes and Azure Kubernetes Service, Azure Container Apps - the sweet spot of ACI and ACR, cloud portability with Kubernetes, IaC with ARM Template, WebLogic on Kubernetes was using Bicep, "the complexity tax", Microsoft joins Java Community Process (JCP), Microsoft Build of OpenJDK, Azure Event Bus and Azure Service Bus, "#111 Java / Jakarta Messaging Service (JMS) on ...Microsoft Azure", Payara Cloud on Azure - the serverless server, OpenLiberty on AKS, JBoss EAP on Azure App Service, the Azure Service Connector, Azure Services as a Service -- the anti-corruption layer, Azure ExpressRoute and Azure Virtual Network, Event Driven Architectures and Azure Logic Apps, Ed Burns on twitter: @edburns

Dec 28, 202151 min

Ep 169Java, OpenSource and the Brazilian Christmas

An airhacks.fm conversation with Bruno Souza (@brjavaman) about: Bruno's first computer episode, JavaOne, questions and answers airhacks.tv show, A Soldering, Agile, Geek Lawyer using Java and Quarkus -- the 78 years young lawyer, Building Clouds for Data Center Providers with Java -- the great Jelastic cloud, working on Brazilian income tax system, the toolscloud devops company, the overcomplicated kubernetes, openshift is the easy to use kubernetes solution, "OpenSource--the ability to choosing again" by Simon Phipps, standards are the opportunity to be lazy, Sun Microsystems Niagara chips were energy efficient, Sun Microsystems could become an interesting ARM company, running Java on ARM and M1, the ability to "sell", Microsoft's Java efforts, the first appearance of Microsoft at JavaOne, Sun Microsystems was like Xerox Parc, the benefits of open source, the license is the trust, the best license for open source, the Apache license is the gift from Apache, Christmas in Brazil, fruit trees as Christmas trees, European advent calendars, participation at the Java Advent calendar, the best developer year, Developer Career Secrets Bruno Souza on twitter: @brjavaman

Dec 23, 20211h 12m

Ep 168Deep Learning with Modern Java Code

An airhacks.fm conversation with Dr. Zoran Sevarac (@zsevarac) about: DeepNetts is targeting Java developers, nice Java code with DeepNetts, DeepNeetts with two dependencies only, Image Recognition with Duke, the data augmentation for variation generation, DeepNetts supports all formats from java image IO, Convolutional Layer, max Pooling Layer, Fully Connected Layer, max pool layer reduces the dimension of a problem, convolutional layer is about pattern recognition, convolutional layer slides a square shape over an image to recognise a pattern, max pool layer is about downsizing, Fully Connected Layer are classifying the images, the output layers is uses a mathematical soft max function, output layer provides the prediction, the VisRec JSR-381 library, DeepNetts does not rely on the existence of GPU, Dr. Zoran Sevarac on twitter: @zsevarac and Zoran's deepnetts.com

Dec 18, 20211h 0m

Ep 167Serverless Java on AWS

An airhacks.fm conversation with Mark Sailes (@MarkSailes3) about: the BBC micro computer with a cassette, the PRINT 10, 386, 486 and a Pentium with an internet connection, learning Apache, using Mandrake Linux at university, a first web page - a huge experience, PHP, MySQL and "we don't need transactions", the fantastic phpMyAdmin, using Java, C++ and Python at the university, the great JavaDoc, Eclipse and NetBeans, the great Java collection JavaDoc, migrating from java.util.Vector to java.util.List, working as backend junior Java developer, from junior over senior to team lead, 3% improvement with 97% rewrite, working for AWS, "Essentialism: The Disciplined Pursuit of Less" book, the WebLogic build engineer, pre pooling EJBs, Hey Enterprise EJB Developers Now Is The Time To Go Serverless, Lambda with API Gateway is a transition to Event Driven Architectures, Using AWS Lambda with an Application Load Balancer, cloud native, event driven architectures with AWS Lambda and Java, testable, asynchronous AWS Lambda, the serverless Kafka on AWS, archive and replay with Amazon Event Bridge, fast cold starts with AWS Lambda, milliseconds invocations with AWS Lambda, testing asynchronous AWS Lambda with JUnit, the limitations of mocking, AWS Cloud Development Kit (CDK) and AWS SAM CLI, swapping out Lambdas with SAM, describing AWS infrastructure with CDK, no YAML deployments with CDK, shareable infrastructure with compilable Java code, AWS CDK constructs--reusable cloud pieces Mark Sailes on twitter: @MarkSailes3, Mark's blog: mark-sailes.medium.com

Dec 10, 20211h 3m

Ep 166GraalVM and Java 17, Truffle, Espresso and Native Image

An airhacks.fm conversation with Shaun Smith (@shaunmsmith) about: GraalVM is bound to openJDK releases with a few days delay, GraalVM support Java 17 native image, Java Records are DTOs, see airhacks.fm episode: "#131 I don't hate your DTOs", GraalVM 17 21.3.0 improved the performance of the native image, GraalVM native image is as fast as openJDK, optimization of Truffle languages, article: Multi-Tier Compilation in GraalVM, shopify is using Ruby, Ruby on GraalVM outperforms MRI, the use case Nashorn, Java 6 introduced the Scripting API, the Project Avatar at Oracle, G1 Native Image is configurable, trading memory for throughput, conditional code inclusion, quarkus and Micronaut are GraalVM native, reflection is slow and memory intensive, CDI lite will come with build-time optimization, truffle is built as an AST, Espresso is Java on Truffle, Espresso's startup time improved by 40%, running Java 17 on Java 11 with Espresso, Espresso is able to sandbox Java, Oracle Functions is using Java in container, "RAM equals CPU", Oracle Functions never oversubscribe, Micronaut - as concise as Python, but faster, the economic impact of performance, GraalVM 22 comes in January, wasm is maintained by the JavaScript team, JavaScript in the Oracle Database, Shaun Smith on twitter: @shaunmsmith

Dec 3, 20211h 5m

Ep 165Debezium, Server, Engine, UI and the Outbox

An airhacks.fm conversation with Gunnar Morling (@gunnarmorling) about: debezium as analytics enablement, enriching events with quarkus, ksqlDB and PrestoDB and trino, cloud migrations with Debezium, embedded Debezium Engine, debezium server vs. Kafka Connect, Debezium Server with sink connectors, Apache Pulsar, Redis Streams are supporting Debezium Server, Debezium Server follows the microservice architecture, pluggable offset stores, JDBC offset store is Apache Iceberg connector, DB2, MySQL, PostgreSQL, MongoDB change streams, Cassandra, Vitess, Oracle, Microsoft SQL Server scylladb is cassandra compatible and provides external debezium connector, debezium ui is written in React, incremental snapshots, netflix cdc system, DBLog: A Watermark Based Change-Data-Capture Framework, multi-threaded snapshots, internal data leakage and the Outbox pattern, debezium listens to the outbox pattern, OpenTracing integration and the outbox pattern, sending messages directly to transaction log with PostgreSQL, Quarkus outbox pattern extension, the transaction boundary topic Gunnar Morling on twitter: @gunnarmorling and debezium.io

Nov 28, 20211h 7m

Ep 164AI with Java as a Hobby

An airhacks.fm conversation with Dr. Zoran Sevarac (@zsevarac) about: ZX Spectrum with rubber keys in 1987, starting with games, improving the game loading experience, application for transformer calculations, simon's Basic, playing Out Run, improving the software loading experience with screwdrivers, learning Turbo Pascal 5.0, writing an application for medical registry, learning C and C++, building websites, learning Java with Applets, building chatbots and natural language processing, learning lex and yacc, ads automation for local musicians with C-script and Common Gateway Interface (CGI), selling books online, starting an e-commerce framework with PHP, starting an e-commerce company, the German ecommerce company: intershop, neural framework with Java in 2008, openourcing neuroph on sourceforge, neuroph is winning the duke choice award, using NetBeans for building the neuroph UI, speed vs. readability, deep netts comes with commercial support, JSR 381: Visual Recognition (VisRec) Specification, Dr. Zoran Sevarac on twitter: @zsevarac and Zoran's deepnetts.com

Nov 21, 202154 min

Ep 163What are AtomicJar and Testcontainers Cloud?

An airhacks.fm conversation with Kevin Wittek (@kiview) about: from blockchain back to TestContainers, building the Testcontainers Cloud product, spinning containers in the cloud, Docker Java talks remotely to docker demon, connecting to docker via REST, Podman is a docker replacement, rkt as docker alternative, runc, containerd and opensourcing docker, using testcontainers for PoCs, on-premise programmable API are hard to implement, windows support for test containers is improving, WSL 2, the "semi ephemeral lightweight cloud mock", the new Iron Kobra album Kevin Wittek on twitter: @kiview and AtomicJar

Nov 13, 202154 min

Ep 162The Endless Loop of Frustration and Challenge

An airhacks.fm conversation with Nicolai Parlog (@nipafx) about: Amiga 500, booting into blue environment, Settlers, dune game on Amiga, writing the first line of Turbo Pascal at high-school, starting with Java in 2001 with Applets, the dining philosopher's problem with Java, Karel the Robot in Java, studying math is hard, Temporal logic and formal verification, the endless loop of frustration and challenge, mathematicians and formulas, solving an equation is refactoring, learning complexity theory, TLA+ and Lesley Lamport, Amazon S3 formal verification with TLA+, cost estimation in large scale projects, java.awt.List vs. java.util.List Kotlin vs. Java 17 productivity, Java is the lowest possible denominator, working for lichtblick - the renewal energy company, implementing energy model for Fraunhofer in Karlsruhe, linear programming with simplex in C, dependencies come with a cost, dependencies are liability, starting to work for Oracle as Java Developer Advocate, Nicolai Parlog on twitter: @nipafx, Nicolai's website: nipafx.dev

Nov 7, 20211h 31m

Ep 161From Java EE to GlassFish and Back To WildFly

An airhacks.fm conversation with Jason Lee (@jasondlee) about: C-64, assembly and Basic, the talking ghostbusters game, a DOS screen saver, the Run Magazine, buying a 286, installing early version of PostgreSQL, starting with Pascal, C, COBOL and PHP programming, working for WalMart on Decision Support System (DSS), providing support for cable modems, the great US robotics modem, 36 kBs vs. 54 kbS speed, building a FoxPro C++ system for a medical company, starting with JBuilder and Java Swing 1.1 and JBCL, porting C++ to Java, the jbInit method, Eclipse's refactoring was great, Embarcadero and Inprise, writing SOAP with Apache Axis, first opensource contribution, working with Federal Aviation Administration, starting with Glassfish v2 and Java Server Faces, Java EE and MicroProfile - productivity by constraints, the annotation driven Java EE 5, starting at Sun Microsystems to work for Glassfish v3, working on Glassfish admin console, starting at Netsuite and coming back to Oracle, starting at RedHat on Wildfly, working on WildFly MicroProfile integration, adding telemetry support for WildFly 25, Jakarta EE: integration vs. implementation, WildFly runs on Java 17 and supports opentelemetry, micrometer vs. MicroProfile Metrics, airhacks.fm episode 140 with Erin Schnabel about Micometer, Metrics and Quarkus, WildFly 26 will suport Jakarta EE 10, bootable WARs, Jason Lee on twitter: @jasondlee, Jason's blog: jasondl.ee

Oct 28, 20211h 7m

Ep 160SGI, NCSA Mosaic, Sun, Java, JSF, Java EE, Jakarta EE and Clouds

An airhacks.fm conversation with Ed Burns (@edburns) about: Ti 99 4a with speech synthesis, Secrets of the Rockstars Programmer book, Apple 2c with word processing and laser mouse, Superman 2, collecting half cents as rounding errors, War Games and Tron, the Logo programming language with a turtle, enjoying playing trumpet, marching band and a binary trumpet, The Nullpointers Band, Fourier Transforms for music quantification at high school, just intonation and the key changes, equal temperement on piano, retuning the keyboard on the fly, applying at Sun Microsystems, Lighthouse Design and Objectivec-C, working at Silicon Graphics and the nice O2 workstation, working on NCSA Mosaic browser at NCSA, learning Pascal and C++ at the university, working on Common Client Interface on Mosaic Browser, inperson conference system, talent vs. grit, grit over talent, floyd marinescu started the theserverside.com, the Spyglas Browser, the SGI Cosmo and VRML, SGI IRIX operating system, commodity vs. boutique fights at SGI, joining Sun's Lighthouse Design group, building a Java-based productivity suite, building a multi-dimensional spreadsheet: quantrix, NextStep Appkits vs. Swing, the AOL Sun-Netscape alliance, OJI - Open Java VM Interface the SPI for Applets, Project Panama - the new JNI, the popularity of Struts was the motivation for JSF, Craig McLanaham and Amy Fowler started to work on JSF, JSF code name was moonwalk, Hans Muller and the Swing Application Framework (JSR-296), the Java Community Process passion, IETF and W3C are like JCP, "Innovation Happens Elsewhere" book, JSF and Spring XML-based dependency injection, ATG dynamo jhtml, JSF 2.0 composite components, JSF was a hot technology with multiple component implementations RichFaces, icefaces, PrettyFaces, Liferay, PrimeFaces and MyFaces, the initial JSF target was page-based corporate apps, the AJAX experience conference and Ben Galbraith, Martin Marinschek from Irian, Josh Juneau and the famous blog post, building a proprietary Java-based docker orchestration framework on top of Apache Mesos at Oracle, Java EE on Azure, riding the crest, Ed's journey from client to server to cloud Ed Burns on twitter: @edburns

Oct 20, 202158 min

Ep 159Modules Are Needed, But Not Easy

An airhacks.fm conversation with Ondrej Mihályi (@OndroMih) about: last episode with Ondrej: Productive Clouds 2.0 with Serverless Jakarta EE, "Modularization, Monoliths, Micro Services, Clouds, Functions and Kubernetes" #151 episode with Matjaz Juric, modules are useful, but the tooling is not easy, using OSGi for User Interfaces, hybrid Java / JavaScript UI, build time and development time modularity, frontend and backend separation is important, business and presentation separation, Boundary Control Entity (BCE) pattern is permissive, strict modularization with WARs and JARs, logical over physical modules, JPMS for hiding internal implementation, modules are more important in teams as contracts, WARs as simple as AWS Lambdas, kubernetes and readiness probes, Elastic Beanstalk is similar to Payara Cloud, Payara Micro optimizations for Payara Cloud, redeployment without restarting the instances, Payara Micro Arquillian Container, hollow JAR approach and Payara Micro, Payara Micro could support native compilation in the future, Jakarta EE core profile and CDI lite, native compilation for resource reduction, Payara implements MicroProfile as early as soon, Ondrej Mihályi on twitter: @OndroMih

Oct 8, 202148 min

Ep 158Humans over Computers and Serverless JBoss on Azure App Service

An airhacks.fm conversation with Theresa Nguyen (@RockClimberT) about: Apple II ES with blue screen and yellow font, 3h to install an OS on 386 machine, enjoying minesweeper and Tetris, playing frogger on a flashback Atari, learning Pascal at high school, learning how the brain works, ambition, motivation, attitude and dedication, computers had better keyboards, than typewriters, enjoying Word Perfect, humans over computers, joining Caucho, caucho is the home of Resin application server, meeting at theserverside conference, Jakarta EE, TomEE and MicroProfile, Sun's Microsystem spirit at Microsoft, the importance of opensource software, standardization is freedom of choice, Microsoft at JavaOne, joining Microsoft in 2018, enabling JBoss EAP on Azure, the official Maven archetype from Microsoft, quarkus JAX-RS resource as Java function, JBoss EAP runs on Azure App Service, Azure Service Bus is JMS compliant, the episode 111 about Azure and JMS, JBoss vs. Wildfly on Azure, WildFly on virtual machines and scale sets, serverless JBoss on Azure, Java For kubernetes, j4k conference, Theresa Nguyen on twitter: @RockClimberT

Oct 1, 20211h 2m

Ep 157Kubernetes, KumuluzEE, MicroProfile and Clouds

An airhacks.fm conversation with Prof. dr. Matjaz Juric (@matjazbj) about: about KumuluzEE and the Duke Choice award, SOA had its problems, jetty is the core of KumuluzEE, Java EE fans building a lightweight runtime environment, JavaOne rejection, then winning the Duke Choice Award in 2015, KumuluzEE started with exploded deployments, KumuluzEE supported parts of Jakarta EE and fully MicroProfile from the beginning, now KumuluzEE support MicroProfile 3.3, KumuluzEE created an own configuration framework before MicroProfile, KumuluzEE supports etcd and consul, live configuration updates are supported, KumuluzEE listens to etcd changes, layered configuration approach is supported, KumuluzEE implements some MicroProfile APIs, KumuluzEE is one of the fastest runtime, quarkus is the main contender, event streaming and GraphQL are the most interesting KumuluzEE features, JPA-RS: JAX-RS mapping to EclipseLink / JPA, kumuluzee-rest is similar to JPA-RS, Remote Procedure Call (RPC) is supported with kumuluzee-rpc module, RMI over gRPC, sending classes over the wire is no more supported, Apache Johnzon supports Java Record to JSON serialization, MarshalledObject is great for agent implementation, feature flags are a semantic extension of configuration, KumuluzEE support feature flags with the kumuluzee-feature-flags module, flagr provides feature flagging, kubernetes with istio makes dynamic JAX-RS endpoint obsolete, automation of canary release deployments, KumuluzEE translates specific DSL configuration to istio configuration, kumuluzee-fault-tolerance is MicroProfile compatible, kumuluzee-logs sends logs to various logging frameworks and drivers, energy trading with decentralised blockchain approach like ethereum, episode 145 with Kevin Wittek about ethereum, KumuluzEE is opensource, Kumuluz Platform adds additional features, the larger the module, the lower the overhead in the clouds, Java should not compete with Python and Javascript, Prof. dr. Matjaz Juric on twitter: @matjazbj and at University of Ljubljana

Sep 24, 20211h 2m

Ep 156The Ingredients of GraalVM

An airhacks.fm conversation with Oleg Selajev (@shelajev) about: the red glowing mic, GraalVM is the runtime for your applications, GraalVM is high-performance, embeddable and polyglot, GraalVM comes with top tier Just In Time Compiler (JIT), GraalVM ships as community edition and enterprise edition, Twitter gains 10% throughput and performance improvement with GraalVM Community Edition, GraalVM is a drop-in replacement, GraalVM is based on openJDK builds, the Jikes Java compiler was fast, but not always compatible, Jikes was able to compile Java 5, the dcevm project, javac is written in Java, javac can be compiled to native code, Oracle Aurora JVM - early Java in the database, Oracle AuroraVM - Java in the database, GraalVM comes with better performance by maintaining the compatibility, the different tiers of compilers, GraalVM Enterprise Edition is currently part of the Oracle's Java subscription, GraalVM Enterprise Edition compiler is smarter and better, GraalVM supports Ruby, Python, JavaScript, R and WebAssembly, Truffle provides an API for interpreter API for a non-JVM language, with Truffle you can describe the semantics of your language, Truffle specializes the interpreter to execute your program, GraalVM already ships with several languages built-in, GraalVM supports Ruby with its native extensions, GraalVM is able to optimize multiple languages running in a single process, GraalVM ships with Nashorn compatibility mode, GraalVM supports modern Python, WebAssembly can run on GraalVM, GraalVM supports "BigNumber" types for JavaScript, debug support is implemented via Chrome DevTools, with GraalVM Espresso Java runs on Java, GraalVM team at Oracle Labs is the bleeding edge resource of language research, Java is well suited for language research, Java BeanShell was a Java sourcecode interpreter, Java runs on Java which runs on Java, Truffle ships with sandbox-like isolation, Espresso is Java on Truffle, performance is relative, Java on Truffle allows easier code reloading, wasm runs on browsers and backends, running wasm in a database, the GraalVM team blog at medium, Oleg Selajev on twitter: @shelajev, Oleg's youtube channel, the GraalVM team on medium medium.com/graalvm

Sep 18, 20211h 14m

Ep 155Bash, Apple and EJB, TomEE, Geronimo and Jakarta EE

An airhacks.fm conversation with David Blevins (@dblevins) about: Code Generation with bash, bash is your best friend, scripting as documentation, learn first, then automate, an opportunity to work on an EJB container, working on EJBOSS, working with the great Richard Monson-Haefel, co-founding openEJB with Richard, bluestone and gemstone servers, exolab was an incubator, openJMS, openEJB and castor, working with Apple to integrate openEJB with Apple's WebObjects, openEJB on Apple's WebObjects box, from experience to cash, the concept of isolated containers in openEJB, Dain Sundstrom wrote CMP for JBoss, Rickard Öberg started at openEJB for two weeks, creating Geronimo in 2003 as competitor to JBoss, announcing Geronimo at theserverside.com, Geronimo was over engineered, good idea at a bad time is a bad idea, Convention over Configuration vs. explicit configuration, openEJB's Java Serialization was faster than WebLogic's T3, Geronimo's configuration was not portable, joining gluecode, gluecode was sold to IBM, Jason van Zyl was the creator of Maven, Jason van Zyl created Sonatype, jelly - the executable XML, Maven 2 rollout was tested with openEJB, switching from codehouse to Apache, 600 people were working on WebSphere, Dan Allen was working on arquillian, Arquillian used internally openEJB, JBoss 7 became Wildfly, creating TomEE after JavaOne 2010, TomEE stopped consulting, tomitribe provides support for TomEE, Tomcat, ActiveMQ, TomEE 9 starts in 2 seconds, TomEE passes the TCK with 64MB RAM, TomEE lost access to TCK in 2013 before Java EE 7, TomEE got access in December 2019, TomEE is working on MicroProfile 4.0, TomEE uses Apache Johnzon JSON-P, TomEE uses Apache projects to implement Jakarta EE and MicroProfile specification, TomEE uses BeanValidation for JWT validation, using BeanValidation for authorization with custom data in JWT, Tribestream - the API Gateway, David Blevins on twitter: @dblevins and David's company: tomitribe

Sep 9, 20211h 28m

Ep 154Java, Blues and Tomitribe

An airhacks.fm conversation with David Blevins (@dblevins) about: Atari 800, then Atari 2600, playing Pitfall!, enjoying Apple II, enjoying the M.U.L.E. game, the creative art kid, working at Public-access station, making special effects with Amiga 500, the Monday the 13th horror movie, specializing on make-up, halloween was a working day, the amazing B.B. King, learning blues, studying psychology, going to Ecuador, going to Brown College in Minnesotta, hitting a truck with a mini van, a nice truck driver, starting the iWeb company, working with Apple, developing websites with HTML and JavaScript, 80k salary for a Java developer in 1998, learning Java 1.0 in a week, working as Java consultant, working on Visual Basic and Java integration, writing a web server, hotsite, Silverstream, Jigsaw, working with NorthWest Bank with Swing and CORBA backend, using visigenics ORB, the power of source code, using com.sun.swing, the cancellation of a 35 million project, writing JDBC drivers for PostgreSQL, generating code in bash and Pearl, David Blevins on twitter: @dblevins and David's company: tomitribe

Sep 5, 20211h 0m

Ep 153Serverless Kubernetes without YAML

An airhacks.fm conversation with Patrik Dudits (@pdudits) about: Sparc Workstation, then 486 computer, the Camel book at highschool, inspired by Kraftwerk, a Java Demo CD, CGI coldstart project, the XML publishing pipeline--the Apache Cocoon project, Xerces and Xalan with plain Java, the rotating cube applet, the Camel Book is about the Pearl language, from Pearl to Java, the "Write Once, Run Everywhere" cheating, working and learning in Kosice, building websites with Apache Cocoon, developing ABAP at SAP, ABAP and consistency, switching from ABAP to Java, using the Netweaver Application Server, Web Dynpro for web development, code generators rarely work in practice, low code and code generation, building electric vehicle charging station management system, OSGi, ActiveMQ and GlassFish 3, Glassfish ships with monitoring capabilities and admin console, replacing OSGi modules with EARs for faster starts, using JCA for socket communication, Raft and Paxos leader election pattern, blue green deployments with application servers, starting at Payara, attending airhacks.com workshops, starting at Payara, working on profiling, implementing Jakarta EE TCK build, starting to work on a cloud application server, an application server as kubernetes operator, Payara admin server starts Payara Micro instances, payara cloud without YAML, namespaces, projects and stages, applications in the same namespace can easily communicate with each other, Payara Cloud monitoring and metrics, Payara Cloud runs on AKS, exposing business metrics to Payara Cloud, custom DNS name registration, working on Payara Cloud API, Payara ships with openID connector Patrik Dudits on twitter: @pdudits, Patrik's blog: https://pdudits.github.io/

Aug 27, 20211h 3m

Ep 152Java, Serverless, Google App Engine, gVisor, Kubernetes

An airhacks.fm conversation with Ludovic Champenois (@ludoch) about: Amstrad CPC 64 with audio tape, listen to bugs, first project: a family tree in Basic, 8-bit music over gaming, learning APL with Game of Life then fortran, inventing the iPad with Apple II, Pascal and assembler, working with computers on boats with Vax VMS and Fortran, refactoring logistics software from VAX to Unix C++ and DEC Alphas, starting at Sun Microsystems in 1996, from Java 0.9 to 1.0, Javasoft vs. Sun Tools, TeamWare was like git but developed by Sun, interviewing the CEO of NetBeans at Sun, working on Netbeans Enterprise Edition, xdoclet was forbidden by Sun Microsystems, Javasoft was the church, using Netbeans at Google, improving application servers usability, writing deployment descriptors by hand, Java EE 5 was a revolution, it was impossible to write an EJB 2 with vi, starting to work on iPlanet Netscape and Sun Server, Java EE Reference Implementation was the ancestor of Glassfish, using Glassfish as Reference Implementation and commercial offering at the same time, implementing HK2 - the dependency injection for Glassfish, generating JAX-RS resources with asm, starting at the Google AppEngine Team in 2011, Google AppEngine (GAE) is one of the first Platform as a Service (PaaS) offerings, serverless and elastic Google AppEngine, GAE came with JPA-like persistence, GAE ships with a single JAR which communicates to various Google services, GAE supports Java 11, GAE supports Servlets and jetty, kubernetes was created at the GAE team, GAE is a single application running on Google's infrastructure, GAE was not able to secure Java 8 like it secured Java 6 and Java 7, using gVisor as replacement for Java's security model, gVisor is the basis of Cloud Run, gVisor rewrites syscalls, gVisor is the new implementation of the libc library, gVisor is the matrix for JVM, Ludovic's presentation about GAE: Evolution of a Platform as a Service from the inside Ludovic Champenois on twitter: @ludoch

Aug 22, 20211h 14m

Ep 151Code Smell, Chess, Java and Developer Relations

An airhacks.fm conversation with Oleg Selajev (@shelajev) about: the 100 MHz Pentium 1, the turbo button slow down, WinRAR with floppy disks, the technologies progresses but the fiddling remains the same, playing chess with the grandfather, the chess tournaments, code smells and chess strategy, starting with HTML and PHP, starting programming with Java 5 with annotations and generics, wisdom and smartness, drawing a snowman with Java AWT, full time job competes with opensource work, early J2EE and XML deployment descriptors, jrebel and ZeroturnAround, using JMS at hospitals, dealing with HL7, starting at playtech to implement casino games in Java, back to zeroturnaround, liverebel, watchdog and monitoring, monoliths are back, everyone talks about microservices, Stack Overflow Developer Survey 2021, The State of Developer Ecosystem 2021 by Jetbrains, Snyk JVM Ecosystem Report 2021, Virtual JUG, Rogue Wave Java Collection, joining Oracle, being DevRel at GraalVM team Oleg Selajev on twitter: @shelajev, Oleg's youtube channel

Aug 15, 20211h 21m

Ep 150Modularization, Monoliths, Micro Services, Clouds, Functions and Kubernetes

An airhacks.fm conversation with Prof. dr. Matjaz Juric (@matjazbj) about: the larger the system, the more important the modularization, modularization and reuse, modularization and business requirements, cross-cutting logic is a solved problem, a module is a Java package, OSGi introduces additional complexity, packaging vs modularity, modularization and team work, most of the patterns became a part of the platform, isolation with deployment units, a module is a Dockerfile, internal modularization became less important, physical and logical modularization, logical over physical modularization, physical modularization introduces complexity, costs driven development, kubernetes and modularization, cloud complexity vs. Java runtime complexity, wrong cloud expectations, CI/CD in the clouds, internal microservice structure should be simpler, ECS blue green deployment with AWS CodeDeploy, vendor independence vs. cloud specific services in the clouds, Payara Cloud: Payara cluster became Kubernetes operator, functions and microservices, serverless computing with functions, function communication styles, Apache Kafka and functions, the Outbox pattern is too technical, KumuluzEE and Kumuluz Platform, Prof. dr. Matjaz Juric on twitter: @matjazbj, Prof. dr. Matjaz Juric at University of Ljubljana

Aug 8, 202153 min

Ep 149JavaServer Faces, Web Components, PrimeFaces and JavaScript Frameworks

An airhacks.fm conversation with Cagatay Civici (@cagataycivici) about: support for vue 3, components for vue 3, vue 2 to vue 3 upgrade requires a migration, vue 3 is backwards incompatible, JavaServer Faces / Jakarta Server Faces (JSF), PrimeFaces / JSF design was updated, primefaces / JSF keeps being popular, Java Server Pages / JSPs for server side rendering, Angular is the new JSF, styling and functionality separation, primeblocks is CSS only, primeflex CSS utility, components vs. templates, primevue as web component library, BCE design template, the BElement, NPM-free web component template, Microsoft Blazor for server side rendering, accessibility with semantic HTML, wrapping a checkbox for accessibility and design, blocks are comprising components, React Chakra blocks library, code2 and bubble low code platforms, SSE with Java screencast, Cagatay Civici on twitter: @cagataycivici

Aug 1, 20211h 6m