
airhacks.fm podcast with adam bien
398 episodes — Page 6 of 8

Ep 148CDI Lite, MicroProfile, Helidon, Micronaut and Serverless
An airhacks.fm conversation with Graeme Rocher (@graemerocher) about: Graeme became a Jakarta EE committer, Micronaut supports large parts of CDI Lite, the Build Time Extension API, SessionScoped, RequestScoped and ApplicationScoped are going to be part of CDI Lite, splitting the BeanManager interface, the goal of CDI Lite, CDI and immutable infrastructure, using TestContainers to spin out micronaut instances, heavy kubernetes, Google Cloud Run, CDI Lite's main goal is memory efficiency and fast startups, using CDI Lite to write CLI apps, using CDI Lite for IoT, micronaut on IoT devices, Azure functions, AWS Lambda and GraalVM, Micronaut Launch as AWS Lambda, Helidon will use Micronaut Core for CDI Lite injection, Helidon will eliminate reflection with Micronaut contributions, Helidon will be able to use any Micronaut module, the micronaut's pom.xml was simplified, micrometer and MicroProfile, eclipse-ee4j CDI lite, separating business and technology metrics, the battle between standards and de-facto standards, OpenMetrics, OpenCensus and opentelemetry, moving fast and backward compatibility, Graeme Rocher on twitter: @graemerocher

Ep 147A Serial Duke Choice Award Winner
An airhacks.fm conversation with Mohamed Taman (@_tamanm) about: AMD PC in 1997 with 200 MHz hot AMD, exploring the DOS and QuickBasic, drawing sceneries, photography as hobby, assembling PCs from parts, AS-400 and RPG, QBasic and C++ on Windows 3.11 and Windows 95, to shutdown windows you had to push the start, Windows Millenium Edition, equations in QBasic, starting with Java 1.1, the Sun Certified Java Programmer certification was hard to pass, impressed with Java, Java hides the low-level boilerplate for convenience, catching up with J2EE 1.4 and Java EE, building mazes with OpenGL and Java, working for Silicon Experts, staring with Sun Enterprise Server, later BEA WebLogic, recreating Struts from scratch, the problem with early EJB, working on JD Edwards, Oracle and Siebel integration, using ADF at Oracle, Sun Microsystems was acquired by Oracle, starting at eFinance, efinance is private, but founded by the government, started a United Nations (UN) project for donations management, Java EE 7 with Glassfish was used as the stack, finding bugs in GlassFish, working with the latest versions in mission critical projects, presenting at JavaOne keynote, JBoss to quarkus migration on openshift, "Java EE: Future Is Now, But Is Not Evenly Distributed Yet" at JDD, scaling with hardware, Mohamed Taman on twitter: @_tamanm

Ep 146A Soldering, Agile, Geek Lawyer using Java and Quarkus
An airhacks.fm conversation with (Lawrence R. Peterson) about: Tandy TRS-80 with 35 years, practicing law in 1974, terrible IBM typewriters, handling 400 cases per month, increasing the productivity of a law practice with computers, changing the law, soldering computers in leisure, learning Pascal, buying a 12k AT&T computer and learning C, writing a pleading management software with Unix and dumb terminals, writing a file-based database on UNIX, buying a SUN workstation, retooling to C++, networking programming with Sun Station and C++, "write once, run everywhere", Java was solving a lot of problems, transferring to Oracle Application Development Framework ADF, WebLogic and Java, primefaces, RichFaces, icefaces, MyFaces, woodstock and Netbeans, overloading the court with too many perfect cases, practicing Agile without knowing it, migration from WebLogic to quarkus, programming is like a murder mystery, a U.S. missionary in Bavaria, airhacks.live workshops, merging back the microservices into a monolith, From Redux to Redux Toolkit coupon code: redux4free, the bce.design template, Lawrence's software: juristec.com Lawrence's website Lawrence R. Peterson

Ep 145EDI, Java Batch, MicroProfile, JSON-API and OpenAPI
An airhacks.fm conversation with Michael Edgar (@xlateio) about: custom Pentium 100, a telnet based, MUD game, Vallhalla MUD, BBS was used to connect to the network, enjoying Apple 2 at school, enjoying Sonic Sega games, learning C-structures at collage, learning 68000 assembly, from Assembly to Visual Basic and Java, starting at an insurance company and learning EDI, X12 and EDIFACT in EDI universe, the fascination with EDI, the beginners mind and Java Connector Architectures, the EDI "hello, world", starting to understand COBOL, back to Java with WSAD and IBM WebSphere, using JDBC, Servlets and Java Server Pages (JSP), using Java Batch processing (jbatch), using Java Batch DSL features, from WebSphere to Wildfly, misusing WildFly as Tomcat, from WildFly to MicroProfile using smallrye, JWT and OpenAPI committer, reusing Java Bean Validation as openAPI metadata, using jandex index for annotation scanning, smallrye OpenAPI already uses Bean Validation annotations, JSON API is used by Ember, JSON API is similar to odata, JSON-API is generated from JAX-RS, JPA and Bean Validation, JSON-API is used by EmberJs, xlate, RedHat OpenShift Streams for Apache Kafka Michael Edgar on twitter: @xlateio

Ep 144How Java WebSocket Implementation Happened
An airhacks.fm conversation with Justin Lee (@evanchooly) about: C-64, the Run Magazine with source code, summer olympics - the joystick destroyer, coding "triangle with trigonometry" in Basic, computer were like science fiction, random access file in C-64 basic, IBM PCjr BASIC, writing American Football simulator, starting Turbo Pascal, learning Oberon and C, NAG and fortran, loosing a sub tree, the Forth programming language, starting Java on HP-UX machines, starting with JDK 1.0.2, the amazing Sun branding, Software Development Lifecycle - SDLC, writing software costs estimation in Java, 3D modelling in TCL/TK, working with TogetherJ, using vim professionally, starting with Eclipse and JBuilder, building systems for online grocery shopping in 1998, using jhtml with Dynamo ATG, building an own application server with own persistence, using the blaze rules engine, using Java Server Pages with Jasper compiler, JSP was a weekend project, JSPs could be sold SSR, working on Glassfish and Project Grizzly, implementing WebSocket in Java on application servers, using Comet communication style with Atmosphere, using GlassFish with grizzly for long polling, writing unit tests for WebSockets in a Chrome client, Tyrus took the Grizzly implementation as base, Dany Coward wrote a Web Socket book, SPDY and Bosh were the bases of HTTP/2, the sticky session Web Sockeet problem, using WebSockets for Java application servers clustering, starting at Squarespace, Squarespace used Java on the backed any MySQL / MongoDB, fronted was implemented in YUI (Yahoo UI), maintaining Morphia for MongoDB, joining Red Hat and working on quarkus, working on Quarkus MongoDB integration, Quarkus Kotlin integration, eventually and evancholy Justin Lee on twitter: @evanchooly, Justin's blog: https://www.antwerkz.com

Ep 143How Hudson and Jenkins happened
An airhacks.fm conversation with Kohsuke Kawaguchi (@kohsukekawa) about: running Family BASIC on Nintendo, learning C++, building abstractions, growing up in Tokyo, a Japanese keyboard, selling shareware programs in high school, writing a Text file viewer, earning 5k per month as a kid, PCs stores in Tokyo, learning chinese, Japanese vs. Chinese characters, building software at university, building an XML editor for XSL, reverse transformation from XHTML to XML, XML schema was lacking mathematical elegance, starting at Sun Microsystems in California, Sun didn't liked SOAP, starting at J2EE / Java EE team, working with James Clark on RelaxNG at Sun Microsystems, implementing Java Architecture for XML Binding / JAXB, Java Project Adelard, Java and XML the evil book at JavaOne, YAML vs. XML, using JAXB for generating JSON, working long hours in Tokyo, working times at Sun Microsystems were almost vacations, being a build breaker, getting the idea for Hudson, Hudson started as a leisure project, Hudson - an executable WAR, Hudson was based on the winstone servlet engine, winstone is embeddable, Hudson installation and administration was easy, software was like another person in the team, Hudson was like a British buttler, writing args4j, writing hk2, exploring native Java integration capabilities, working partially at Glassfish team, being part of Oracle, the forgotten developer at Oracle, forking Hudson to Jenkins, large corporations are not always rational, leaving Oracle and joining CloudBees, becoming a CEO of launchable, starting launchable, the confidence in code changes, using ML to sort tests, GraalVM can run Python, Ruby is popular in Japan, Kohsuke Kawaguchi on twitter: @kohsukekawa, Kohsuke on Wikipedia, and Kohsuke's website

Ep 142Serverless with Java EE, Jakarta EE, MicroProfile and a Kubernetes Operator
An airhacks.fm conversation with Rudy De Busscher (@rdebusscher) about: plants and genetics, strawberry cross-pollination experiments, playing plant related games, statistic calculation and classification algorithms, tomato quality check automation, fourier transform on tomatoes, learning Pascal, learning Oracle forms, switching to Java Server Faces on WebLogic Server, from WebLogic to Glassfish, wasting time by creating a "unique snowflake", working as Java EE consultant, blood samples analysis with device integration, Java Connector Architecture and Java EE, starting at Payara, Payara implements MicroProfile 4.0, Payara implements MicroProfile "from scratch", Payara comes with deep MicroProfile integration, Payara InSight monitoring dashboard, the "happy case" focus, letsencrypt Payara integration, Payara Grid is the successor of Glassfish Shoal, persistent EJB timers can be synchronized with Hazelcast, Payara Cloud comes with "serverless" experience, Payara Cloud is kubernetes operator, the WAR as cloud deployment unit, a Payara Micro for each WAR in a Pod, Payara Server is the orchestrator, Payara Cloud is currently running on Microsoft Azure Rudy De Busscher on twitter: @rdebusscher

Ep 141FN Java, Java on Java and GraalVM features
An airhacks.fm conversation with Shaun Smith (@shaunmsmith) about: the virtual conference problem, prerecorded talks, pre-recording and cheating, the Drive-In Conf in bulgaria, the state of FN Java, building a scalable platform is harder than building the fn-project, lambdas and functions are starting to be used properly, migrating monolith to lambda functions, deploying a JAX-RS resource as a function, moving from Oracle Clouds to Core Java at Oracle Labs, product manager for GraalVM, Maxwell, Maxine and GraalVM, airhacks.fm episode: From Maxwell over Maxine to Graal VM, SubstrateVM and Truffle, from Java bytecode to machine code, COBOL, WebAssembly, PHP, Python, R, LLVM, WebAssembly on CloudFlare, Java annotations vs. Java annotation processing, mapping Java Persistence API (JPA) is ideas to Micronaut Data, Micronaut data is based on conventions, JPA based on defaults, micronaut data is similar to iBatis, small microservices become too expensive, you can serve a a few millions of customers with a single monolith, netflix monolith architecture, the overhead of kubernetes, Google Cloud Run, heroku-like service becomes popular again, Oracle Application Cloud Service, Google Cloud Run, mult-tier compilation for truffle, booting faster with GraalVM, Java Serialization with GraalVM, Java Espresso or running Java as foreign language on Java, Espresso interprets Java bytecode, GraalVM introduces resource constraints for byte code execution, GraalVM becomes a docker-like environment, GraalVM improves security guarantees, Java SecurityManager APIs on steroids with GraalVM, the gvisor project, WebLogic multi-tenancy features, GraalVM in Oracle Database, stored procedures in Oracle Database with GraalVM or Oracle Multilingual Engine|, GraalVM ships Java VisualVM, GraalVM Community Edition comes with the same license as openJDK, benchmark suite for the JVM, GraalVM CE should perform faster as openJDK, GraalVM EE is a lot faster than GraalVM CE, GraalVM consumes less resources, GraalVM comes with partial escape analysis, GraalVM comes with G1 garbage collector, GraalVM isolates is a nested JVM, GraalVM goes JVM-less, OpenJ9 vs. GraalVM performance, openJDK performance is competitive with openJ9, AuroraJVM on Oracle Database, Oracle Coherence GoldenGate HotCache and TopLink, running JPA backwards, debezium subscribes to XStream, GraalVM advisory board Shaun Smith on twitter: @shaunmsmith

Ep 140MicroProfile Metrics, Micrometer and Quarkus
An airhacks.fm conversation with Erin Schnabel (@ebullientworks) about: switching from IBM to Red Hat, the great ThinkPad 31p, gentoo linux on Dell laptop, Dell vs. Alienware, working on quarkus, the Q quarkus issue, Quarkus, Health, Metrics,OpenAPI: Moved Permanently (301), OpenLiberty, Quarkus and the non-application namespace, Thinkpad with Windows Vista and an Apple sticker, Erin Schnabel-Metrics for the win! j4k.io conference, micrometer comes with support for Datadog metrics and other non-prometheus, prometheus as integration point, the relation between Microprofile Metrics and micrometer, OpenTracing, OpenCensus and OpenTelemetry, Quarkus and MicroProfile Erin Schnabel on twitter: @ebullientworks

Ep 139From Personal Java, over Java EE to Serverless and back to the Java Platform
An airhacks.fm conversation with David Delabassee (@delabassee) about: C-64, Commodore 128, Amiga 500, and Amiga 2000, Basic then assembler, developing a basic horse racing statistics application, saving the state to the tape, understanding Peeks and Pokes, Amiga 500 vs. Atari ST, extending Amiga 2000 with a PC board, starting to program Turbo Pascal on a PC, the 47 MB hard disk, a vectorized walking person in Turbo Pascal, the War Games movie, the acoustic coupler, the U.S Robotics modems, identifying modems by sound, writing a terminal application, learning how to learn, using Vax VMS at the university, a pigeon-based failsafe system, creating a word processor in C to write Safety Data Sheets, writing backend application for Motorola Unix running on Motorola Hardware, discovering Java applets in 1995, teletext and minitel, developing a web phone in 1997 in Personal Java, booting a phone in 15 minutes, building a TV set top box for Navio, starting at Sun Microsystems and Javasoft as pre-sales and a Java Ambassador, Java Developer Connection (JDC) and Duke Dollars, Java EE evangelist at Oracle, inspiring JavaOne conferences, spending time with Glassfish in the "field", working on EE4J and Java EE to Jakarta EE transition, the trigger of open sourcing the Java EE platform, moving to serverless organization at Oracle, FN project is used under the hood of Oracle Functions, joining the Java platform group, launching the Java Inside podcast, launching the inside.java website focussing on Java SE platform David Delabassee on twitter: @delabassee

Ep 138How Grails and Micronaut happened
An airhacks.fm conversation with Graeme Rocher (@graemerocher) about: Playing games with 286, playing digger, starting programming with quakec, programming custom explosions for rocket launcher with "shockman", working for a Apache Cocoon company, JavaScript and Java as second languages, programming learning management SYSTEMS with Java, publishing motivated by learning, programming over gaming, using JBoss on the backend, extracting content from Word with Apache POI and Groovy into XML, using XSLT to convert XML into HTML, data driven templates with XSLT, data-driven stylesheets is the way to go, starting with Visual Basic, the raise of Ruby on Rails, starting Groovy on Rails--Grails, groovy and the "method missing", "method missing" was heavily used in gorm, working on SpringData, SpringData and GORM are similar, joining Object Computing, staying small and be successful, with reflection you will use more memory at the runtime, micronaut was started by Graeme Rocher, micronaut is based on annotation processing, there is no "mobile native" development, on Android reflection is not used, better error messages was one of the design goals, micronaut comes with annotation-based introspector, micronaut generates a reflection-like API based on annotation processors, micronaut was announced in March 2018 and opensourced in May 2018, CDI was hard to implement without annotation, micronaut is similar to Spring, micronaut supports JSR-330 and is TCK-compliant, the Bean Validation module, micronaut supports micrometer, micronaut teams grows at Oracle, Visual Studio Code ships with GraalVM Extension Pack and Micronaut support, micronaut and Helidon are developed by multiple teams, Oracle actively supports micronaut, micronaut and GraalVM are great fit, micronaut is complex at compile time, but simple at runtime, helidon will be able to use the Micronaut Data, the JAX-RS with micronaut screencast, Object Computing, Google, Oracle are contributing to micronaut, Graeme Rocher on twitter: @graemerocher

Ep 137(fake) reactive programming, project loom, chunked IO
An airhacks.fm conversation with Lenny Primak (@lprimak) about: no aviation, applying at google and amazon, the online coding assessment at amazon, the lost test at amazon, starting as test engineer at Payara, TestContainers, JUnit 5, project loom impact on reactive programming, the killer use cases for reactive programming, callbacks, promises and async-await in JavaScript, Glassfish grizzly was the origin web server, doubling the work with nonblocking IO, chunking the IO to the size of the buffer, trying to patch the hazelcast, payara enterprise and payara community, hazelcast could be used as zookeeper, payara insight, payara cloud, sun grid engine was the first cloud, ThinWARs vs. Helidon's and quarkus SkimmedJARs, thanks to Bauke Luitsen Scholtz for accepting the JSF contributions, Jakarta EE proxies are serializable, readResolve serializable method, the lombok contributors, the payara contributors, lombok's delombok, apache tapestry, Lenny Primak on twitter: @lprimak

Ep 136From ZX Spectrum over Clouds To Winning the Java Duke's Choice Award
An airhacks.fm conversation with Prof. dr. Matjaz Juric (@matjazbj) about: ZX Spectrum 48k, loading apps from cassettes, playing games, enjoying Space Invaders, switching from Basic to assembly, switching to C-64, implementing application for exams at elementary school, starting to structure programs, getting serious with Schneider PC, creating bookkeeping applications with Borland Turbo Basic, dBASE and clipper were productive, visiting the CEBIT in 1990-ties, daily linear algebra in a bus, C, C++, Pascal, assembly, Vax then Java, studying at the University of Maribor, writing software to assess the value of companies, Ph.D. with ORBIX, Visigenic and RMI in Java, reading JavaReport magazines, writing performance about Java performance, RMI and CORBA, working with IBM Hursley on RMI-IIOP implementation, starting at University of Ljubljana, Java migration projects, Java EE - the enterprise edition was fascinating, Wrox publishing books, contributing performance chapter for Professional EJB book, writing Professional J2EE EAI book for wrox, Service-oriented architecture was a hot topic, orchestration is challenging for non-developers, decomposing application to services is useful, Azure Logic Apps, using JBPM for modelling long-running transactions, BPMN improved BPEL, writing WS-BPEL 2.0 Beginner's Guide about Colaxa, then oracle BPEL suite, the advent of KumuluzEE, attending JavaOne, proposing "the end of application servers" session, applying for Duke Choice Award, KumuluzEE is Java Duke's Choice Award Winner, attending the Java Duke Choice Award ceremony, making KumuluzEE kubernetes-aware, early KumuluzEE started with cloud-native EE extensions before availability of MicroProfile, Prof. dr. Matjaz Juric on twitter: @matjazbj, Prof. dr. Matjaz Juric at University of Ljubljana

Ep 135Writing Boring Software: From WebLogic over GlassFish to Quarkus
An airhacks.fm conversation with Antonio Goncalves (@agoncal) about: C 64 with tapes, writing thousands of Basic lines, the Power Cartridge and assembly, the "10 GOTO 10" trick, line renumbering with Power Cartridge, the arkanoid game, form BASIC to assembly, Peeks and Pokes, Pascal, prolog to modulog transpiler, programming chips in C++ for a telekom company, discovering Java and WebLogic, the amazing minitel, minitel was huge in France, building Java Server Pages on WebLogic in 1999, joining WebLogic in London, digging wholes to find water, Java EE 5 book with Glassfish in 2007, Java EE 7 book in 2013, talking at Devoxx about JUnit 4, moving from WebLogic to GlassFish, Java EE is the Esperanto of runtimes and servers, Marc Fleury at Paris JUG, the unknown student from Iran, paying back by reviewing a book, self-publishing books, the Java EE 8 drama, the politics in Java EE 8 were stronger than technical innovation, the Java Injection spec, JSR-330, CDI drama, the road to quarkus, Grame Rocher mitronaut talk, from Spring over Micronaut to Quarkus, Practicing Quarkus and Understanding Quarkus books, Quarkus hot reload is impressive, GraalVM with Quarkus is just -Pnative, at start everything is already optimized with Quarkus, Helidon is an interesting alternative to Quarkus, Helidon's CLI is useful, WebLogic customers get support for Helidon, Antonio Goncalves on twitter: @agoncal, Antonio's github account https://github.com/agoncal and blog antoniogoncalves.org

Ep 134How EJBGen, TestNG and ...Android happened
An airhacks.fm conversation with Cedric Beust (@cbeust) about: Apple II was the first love, building an Apple II emulator, the C64 domination, starting with Basic, then switching to 6502 assembly, cracking games for fun, learning Pascal, starting to study Math because Computer Science was not available, working as administrator at school, switching to Amiga 1000 then Amiga 2000, joining the demo scene, the impact of remote applications as PhD, working with C++ and CORBA, C++ language involvement, meeting Bjaerne Stroustroup, evolving a language is hard, starting with Java 1996, joining Sun Labs in 1998, implementing "persona" at Sun Labs with Java, Sun was not the right place to work with Java, applying at Imprise to work on Borland Application Server, meeting the WebLogic developers at a party, joining WebLogic, C++ was hard to work with, Java was a fresh air, the EJB container team was 10 developers, writing EJBGen, working on Java annotations, the relation between EJBGen and xdoclet, the Attribute Oriented Programming with XDoclet, the metadata should be in the near of Java code, joining the JCP to create Java Annotations, starting at Google to work with Adwords, motivated by shortcomings of JUnit, TestNG was created in 2004, WebLogic vs. WebSphere, tests should depend on each other, TestNG was an exploration of a modern framework, Google's mobile team were 5 people in 2005, starting a mobile Gmail project at Google on J2ME, Java Mobile, Google Android's acquisition, working with Andy Rubin to develop a Java-based OS, a team of 5 developers started to build Android, Android was strategic for Larry Page, users should be in power-this was the spirit of Android, Android development was "Top Secret", leaving Google to join a startup, building internal tools for supervision at LinkedIn, creating a calendar assistant at a startup, starting as "firefighter" at Yahoo in Java space, starting okta, okta is an "universal" SSO, implementing SSO across companies at okta, okta's backend is written in Java Cedric Beust on twitter: @cbeust, Cedric's blog

Ep 133How lit-html happened
An airhacks.fm conversation with Justin Fagnani (@justinfagnani) about: creating fireworks animations with Apple IIe, games were hard to get for Apple IIe, "hello, world" with Apple Basic, enjoying the un-productivity and making funk music, Basic, Turbo Pascal, Turbo C, Java and Python, starting with Java 0.9 and Applets, Microsoft introduced JScript (Visual J++) with major incompatibilities to Java, staring with Python and Django, Python over Ruby, studying an algorithm book for two weeks to pass the interview at Google, using FileMaker, starting at Google's HR department compensation planning system, creating the AppMaker during the "free" 20% Google time, AppMaker was shutdown in 2020, AppMaker is an low-code application builder, one-click deploy and one-click deploy, GWT and Java were heavily used at Google, using Java's Rhino to run JavaScript on the server, the AppMaker clone with Dart, writing parsers and Polymer Dart, Chrome supported Dart, leaving Dart before flutter, Angular Dart is very popular at the apps group at Google, wiz is the most popular web framework at google, joining the polymer team, html imports vs. JavaScript imports, CSS-modules and JSON-modules proposals, lit-html start to provide better tooling story for Polymer 3.0, lit-html vs. hyper-html, ES 6 template literals enable great performance for lit-html, Microsoft's fast framework was inspired by lit-html, lit-html source code fits on a slide, lit-html source size is close to 3kB, the first lit-html breaking change since 2017, the contractual obligation to support IE, lit-html vs. lit-element, lit-element offers a richer, reactive lifecycle, decreasing lock-in is lit's design philosophy, passing data between component trees, cross-DOM communication with Custom Events, Web Components conventions are micro stacks, less and less needs for a JavaScript framework, chrome is shipping with import maps, web platform - and the tooling is optional, polymer was not the component host, polymer is popular inside google, lit-html is growing fast at google, Chrome OS is using lit-element, Chrome Dev Tools is implemented with lit-html Justin Fagnani @justinfagnani, @polymer and @lit_html on twitter

Ep 132Shakespeare, 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,

Ep 131I 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

Ep 130Helidon 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

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

Ep 128From 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

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

Ep 126JavaFX 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

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

Ep 124Databases 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

Ep 123Plasma 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

Ep 122Java CLI Apps, Builds and jbang
An airhacks.fm conversation with Max Rydahl Andersen (@maxandersen) about: JBang, JEP 330: Launch Single-File Source-Code Programs, kscript and quarkus releases, the killer feature of JavaFX, starting JavaFX app with jbang, modern Java developers don't like to play with legacy JavaScript, building Java apps with jbang, jbang and github actions, ShrinkWrap, jitpack, Java jshell is lacking system properties, arguments and debug support, running Quarkus CLI with jbang without Java installed, jbang--the Java launcher for the 2020-ties, quarkus with Qute as replacement for Java's nashorn, transitive script dependencies, jbang with quarkus could become a solution for serverless, simplified approach to build and test Java agents with jbang, Java Class Data Sharing with jbang, Java Flight Recorder support in jbang, stress testing with Java Micro Harness (JMH), Dalibor Topic, dekorate project for generation of kubernetes and openshift resources, quarkus code starts for project templates Max Rydahl Andersen on twitter: @maxandersen

Ep 121Java and The Constructive Approach to Innovation
An airhacks.fm conversation with Sharat Chander (@Sharat_Chander) about: Commodore VIC 20, a Hello, World for the sister, moving to C64 and Ti 99, learning Basic, Visual Basic and Pascal, "the world is your oyster", AR and VR, 3rd world economics, episode with Scott McNealy of Sun Microsystems, Java - and the participation matters, sherpas and teachers, airhacks.tv and airhacks.fm podcast episode, #50 The Jakarta EE / MicroProfile and WebStandards Startup with Matthias Reining, #73 The "MDN First" Approach with Web Components with Matthias Reining, People First, Technology Second, working for Bell Atlantic, phones as gateways to applications and solutions, Bell, GTE and Nynex became Verizon, attending the first JavaOne in 1996, starting at Sun Microsystems at the NetBeans team, switching to Java Studio Creator, episode with #8 JVM Innovation with Graal with Jaroslav Tulach, Sun's Project Rave, Java Studio Creator moved back as Matisse to NetBeans, Roman Strobl - the NetBeans evangelist, the tasks of the JavaONE program chair, John Gage and JavaONE keynotes, the minute of silence for Steve Jobs at JavaONE keynote, Oracle Developer Live and Java, growing Java User Groups and Java Champions program, the Product Manager for Java, cool vs. constructive, constructive approaches to innovation JavaONE and the after dark party, inside.java podcast, Sharat Chander on twitter: @Sharat_Chander

Ep 120Reactive Programming, Helidon, Kafka and Project Loom
An airhacks.fm conversation with Daniel Kec (@DanielKec) about: Java / Jakarta API for JSON Binding (JSON-B), Java / Jakarta API for JSON Processing (JSON-P), yasson, Java / Jakarta Architecture for XML Binding (JAXB), Eclipse Jersey, Jason's Binding (logo), Sun's spirit and the first day at Oracle, Oracle Internet File System, Running Java in the database: Oracle and the Aurora JVM, Oracle Database Lite on Palm Pilot, IBM alphaworks, Java Developer Connection from Sun, the first day at Oracle, fixing Metro bugs, meeting Jaroslav Tulach in the kitchen, episode with Jaroslav Tulach, listening to Nanowar, implementing a Helidon - Apache Kafka integration, MicroProfile Reactive Messaging, Incoming and Outgoing, implementing MicroProfile Reactive Operators for Helidon, Java 9 reactive flow API, Reactive programming in Java, Reactive Streams for JVMs specification, David Karnok, https://twitter.com/akarnokd, the reactive manifesto, helidon implements the reactive messaging for MicroProfile spec, episode with SAP: How to Deal With Java Dependencies helidon and Java's Project Loom integration, MicroProfile emitter, Java 9 SubmissionPublisher and MicroProfile PublisherBuilder, quarkus reactive implementation: mutiny, mutiny attempts to be more user friendly, Project Loom and reactive programming, reactive programming is practical for messaging, episode #108 about CORBA, gRPC, OSGI, vert.x, mutiny, Reactive Programming and Quarkus with Clement Escoffier, helidon runs on Netty, one event loop should be enough, helidon also supports reactive Java Messaging Service (JMS), Oracle Cloud Infrastructure Streaming, Oracle Advanced Queue (AQ), helidon WebSocket integration, using WebSockets for reactive communication, Reactive streams programming over WebSockets with Helidon SE, helidon integrates conveniently Java API for RESTful Web Services JAX-RS / Jakarta RESTful Web Services Jersey with Server-sent events (SSE), Daniel Kec on twitter: @DanielKec, helidon's blog: medium.com/helidon

Ep 119Kamenicky Encoding, Enterprise Java and Helidon
An airhacks.fm conversation with Daniel Kec (@DanielKec) about: playing games on dell 386dx, playing Commander Keen, wolfenstein, golden axe, hexen, beautiful markup with microsoft frontpage, On the Internet, nobody knows you're a dog, Hot Metal Pro, Net Object Fusion, Frontpage, HTML editors, Adobe Pagemill, NetBeans and IntelliJ IDE, Turbo Pascal at high school, enjoying Transistor-transistor logic TTLs and IC, the problem with CMOS and static charge, transition from Turbo Pascal to Borland Delphi, private, university in prague, Kamenicky Encoding and codepage 895, starting to love Java after Visual Basic experiences, starting with JDK 1.6, xelphi and forte for Java, episode with Jaroslav Tulach, x-definition validation language for XML, the super senior developer, find a bug: Donald Knuth and TeX, writing plugins for Netbeans, inheriting the register of traffic accidents, using WebSphere with wizards and EJB 2.1, migrating to Eclipse and xdoclet, rational developer studio IDE, MDA as solution for generating superfluous artifacts, the great dash dispute, parkinson's law of triviality, transition from EJB 2.1 to EJB 3.0, analyzing logfiles with the R programming language, R runs on GraalVM, starting at Oracle at the Java Architecture for XML Binding (JAXB), Jersey, Helidon team, Daniel Kec on twitter: @DanielKec and on github: github.com/danielkec

Ep 118How To Deal With Java Dependencies
An airhacks.fm conversation with Michael Bolz (@onemibo) about: "What was your first computer?" - Michael was introduced in the episode #55 how companies deal open-source, safe open-source as a service, fosstars-rating-core a framework for defining ratings for open-source projects sponsored by SAP, open-source security ratings, nvd - the vulnearabilities database, fosstars-rating-core is an Apache Maven project, the number of committers rating, dependency management in Java, Jakarta EE and MicroProfile, the forgotten dependency problem, the vuejs library committers, evaluating an open-source project by the commits, the corejs issue, Web Components without dependencies (webcomponents-with-redux.training), semantic versioning for breaking changes indication, JavaMagazin driven dependencies, update frequency of libraries, programming language as a fashion statement, dealing with JVM languages, the Apps with MicroProfile workshop, Michael Bolz on twitter: @onemibo

Ep 117Java Persistence: From DB over JDBC to Transactions
An airhacks.fm conversation with Vlad Mihalcea (@vlad_mihalcea) about: accessing database from Java, the four Java Database Connectivity (JDBC) driver levels, JDBC-ODBC bridge, native JDBC driver via Java Native Interface (JNI), JDBC middleware driver, the JDBC thin driver, the CloudscapeDB, the JDBC Driver initialization sequence, physical va. logical connections, connection pools and HikariCP, p6spy - the JDBC pool decorator, JDBC made databases more portable, evaluating project's age by the version of JDBC driven in Apache Maven's POM, statement caching, execution plan reuse, table scanning and index, execution plan is binding parameter dependent, PreparedStatements are not always preparing the statement, keeping connection timeout short, the JDBC "isValid" method, client side metadata caching, JDBC SQL statement compression, JDBC network data compression with Oracle, and MySQL, SSL encryption and fault tolerance, JDBC and transaction routing, primary and secondary node selection on the JDBC level, MySQL fault tolerance and fail over: Java EE, Jakarta EE, Helidon and quarkus programming models, GraalVM vs. Java / JVM mode, the Hibernate Types project, dependency reduction and ThinWARs, backward compatibility on NeXT generation runtimes, JDBC and auto-commit on, JDBC and Isolation Levels, disabling transactions and auto-commit mode, BASE vs. ACID, the trend to more correctness and consistency, SAGAs, compensative transactions, and the MiB flashlight, strict serialiazablity, read committed isolation level and data drift, isolation levels anomalies, serializable vs. snapshot isolation, the "High-Performance Java Persistence" book, the Hypersistence Optimizer, flexy pool, Vlad Mihalcea on twitter: @vlad_mihalcea

Ep 116MicroStream: When a Java Application Becomes a DB
An airhacks.fm conversation with Markus Kett (@MarkusKett) about: "What was your first computer?" - Markus was introduced in the episode #36, storing graph of Java objects with microstream, no annotation, not XML required, lazy subgraph loading, database support, coherence and cloud block storage (e.g. S3) are supported, microstream relies on key-value stores, using flat files, microstream relies on custom Java serialization, Java serialization challenges, microstream and security, microstream is not based on Java serialization, code execution during deserialization of Java objects is not avoidable, hackathlon with OracleLabs, Helidon and GraalVM, abstracting JVMs object ids, working with persistent Java objects directly, using getters for object traversal, working with Java object directly in memory, microstream can be orders of magnitudes faster than Java Persistence API, (JPA), accessing persistent object in microseconds, avoiding the JDBC IO- overhead, using Java's off-heap memory, persistent RAM and Intel's Optane, keeping Java object in RAM forever, thinking as Java developers, using Java collections as persistent objects, caffeine - the concurrent cache for Java, reasons for opensourcing microstream, long term support comes with commercial support, running microstream on GraalVM in native mode, polyglot persistence with GraalVM helidon is obsessed with performance, microstream on helidon on GraalVM, combining microstream and Kafka, kafka connector for microstream comes in the next release, microstream - redis integration, custom serialization formats, CDC and debezium, NoSQL database on top of microstream, object graph in Java is a multi-model database, the Java application becomes the database system, authorization on JPA object level, JPA security, the MicroStream, Helidon and GraalVM hackathlon, JAVAPRO magazine - the first free Java magazine, JCon is organized by JavaPRO, Markus Kett on twitter: @MarkusKett

Ep 115jOOQ Loves SQL
An airhacks.fm conversation with Lukas Eder (@lukaseder) about: a Unisys 8086, don't break your dad's computer, playing with "format", starting with QBasic and 12 years, serial cable chat programs in QBasic, Turbo Pascal with 15, changing the font in the BIOS, starting CMS with PHP and MySQL, no transactions, no connection pools in PHP, the beginning with serverless and CGI, Java is not a website technology, Java static pages vs. PHP includes, enterprise PHP: Zend Framework, from PHP to Java, PHP 4 to PHP 5 migration and the assignment operator, enjoying Java 1.3, Ant vs. Maven 1, a reporting project for a telco company with Java and Hibernate, writing backends in SQL and frontends with XSLT, stateless, functional programming with XSQL and SQL, jooq manual was built with XSLT, apache Cocoon and XSLT, Servlets and Java Message System (JMS) with WebLogic, from Hibernate query builder to jooq in 2006, cascading interfaces which feel like SQL, everyone built a query builder, rewriting jooq - jooq2 in 2008, queryDSL - the abstraction across multiple query language, jooq only abstracts SQL, dynamic "where" clauses with criteria query, jooq stands for: j-object oriented query, jooq started with stored procedure support, SQLJ the preprocessor, PRO-C* -> the C preprocessor for Oracle to generate boring glue code, jooq 1 was a procedural query builder, jooq 2 DSL API looks like SQL and uses the query builder layer, the database first design, SQL is not composable, SQL: different syntax on different levels, 1000 lines of jooq code is not unusual, DSLContext - the starting point, commercial support for jooq is available, database migrations with jooq, opensource vs. commercial edition, dependency on products, saving costs with opensource, focus on Jakarta EE, Java EE, MicroProfile API vs. direct runtime dependencies, working with dynamic SQL and jooq, database vs. Java first Lukas Eder on twitter: @lukaseder

Ep 114Building Clouds for Data Center Providers with Java
An airhacks.fm conversation with Ruslan Synytsky (@siruslan) about: Yamaha MS 6 computer at school in Ukraine, GO SUB vs GO TO, impatience and competition, looking forward to programming at weekends, learning PL/1 on IBM, learning Delphi, writing exams software for students, building triangulation software in Delphi, earth is a potato, airhacks.live workshops at MUC airport and Greenland, Greenland is an autonomous territory withing the Kingdom of Denmark, a secret place and organization with lots of computers, a secret organization buys Sun working stations, starting to learn Java to write software for Sun Solaris on Sparcs, getting CDs full of Java and C tutorials from Sun Microsystems, writing Java software to collect and analyze geophysical data from distributed, international data centers, using GlassFish server for data collection, using web service on GlassFish and the metro webservice toolkit, writing rich UI with AJAX and JavaScript, National Data Center of Ukraine, the ticket to Antarctica, working with startups building JavaScript frontends, starting a development platform to increase the productivity, building a backend as a service (BaaS), building serverless Java solutions in 2008, scaling down from Backend as a Service to a Platform as a Service (PaaS), the screencast with Payara and Jelastic, using container runtimes for developers, serverless Payara on Jelastic, Google App Engine was the first serverless solution, building software for Data Center operators, working with James Gosling as independent director, supporting stateful workloads, using openVZ instead of containers, scaling stateless and stateful workloads, supporting Java EE and Jakarta EE runtimes in the cloud, GlassFish, Payara, WildFly and TomEE on Jelastic, Amazon's Firecracker, Jelastic uses Java to implement the cloud, paying for what you use, rightsizing with Jelastic is easy Ruslan Synytsky on twitter: @siruslan, jelastic.com and jelastic.cloud

Ep 113I 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

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

Ep 111Java / 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

Ep 110Java, 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

Ep 109Java, 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

Ep 108CORBA, 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

Ep 107High-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

Ep 106The 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

Ep 105Blogs, 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

Ep 104Trains, 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"

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

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

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

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

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