airhacks.fm podcast with adam bien cover image

airhacks.fm podcast with adam bien

Latest episodes

undefined
Apr 11, 2020 • 1h 5min

From JMS Unit Tests to OpenLiberty

An airhacks.fm conversation with Alasdair Nottingham (@nottycode) about: bbc micro, basic programming with archimedes computers by acorn, playing simcity 2000 on 286, brother as valorant creative director at riot games, enjoying programming - except prolog, functional C, starting with Java and JDK 1.1.8 in 1999, Java is great because it is lacking pointers, built-in data structures in Java, forgetting about public static void main, writing Unit Tests without JUnit, deleting "red" tests, writing unit tests for the IBM MQ JMS client, joining the IBM WebSphere team, writing product samples, extending a pearl wiki, running MQ series as a sidecar, developing a Java based JMS solution in WebSphere v6, writing "mediation" for websphere MQ, almost serverless mediators, rebuilding WebSphere on top of OSGi, no worries about code ownership, isolating app server libraries with OSGi, OpenLiberty started in 2010, just enough application server concept, the costs of memory, optimizations vs. developer experience, responsiveness over memory consumption, fashion trends in IT industry, Scala's XML support, coding architects are valuable, OpenLiberty was opensourced in 2017, not at IBM, Alasdair Nottingham on twitter: @nottycode
undefined
Apr 7, 2020 • 59min

Just Write Code and Keep It Forever

An airhacks.fm conversation with Markus Karg (@mkarg) about: Sinclair ZX Spectrum 48k, the colourful rubber keys, hacking while parents where sleeping, saving code with sequences, the king of go-sub, the 8h day of 12 year old, starting a business with 14, writing business applications with XT pc, going to German Air Force, data transfer from radar stations to nuclear rockets, working as waiter with ministers, ZDV, studying computer science over repairing cars, state certified programmer, passing the exams with distinction, starting with Java in 1997, submitting a PowerBuilder conference talk, learning about EJB 1.0, deployment descriptors, Java and XML - the evil book, converting a DB into XML, Borland Enterprise Server, friendly Jonas Application Server team, even friendlier GlassFish application server team, EclipseLink contributions, writing extensions for Jersey, the user vs. vendor perspective, gathering production data, the problem with IIOP and firewalls, CIFS evaluation, writing WebDAV extension for Jersey, Wolfgang Weigend, Aurora at Oracle DB, Oracle IFS, APIs over SPIs, Markus Karg on twitter: @mkarg, and Markus' blog: https://headcrashing.wordpress.com/
undefined
Mar 29, 2020 • 1h 19min

Strip The Cow To The Skeleton

An airhacks.fm conversation with Arjan Tijms (@arjan_tijms) about: loosing touch to application development, runtime vendor vs. application developer perspective, micro optimisations are pointless, moving in cycles, NoSQL, not only SQL, New SQL, developer productivity vs. runtime efficiency, the essential set of dependencies, virus scanners and deployment productivity, reimagined Jakarta EE runtime, real embedded servers without the overhead, stripping a cow to its skeleton, mojarra as testing runtime, developing a servlet containers "from scratch", running TCK tests against a servlet container, piranha eleos, Jakarta EE compatibility, Java Server Faces without servlets, JSR-77 management, JSR-88 - deployment become optional, what happens to EJBs, Piranha and MicroProfile SmallRye, the relation between Piranha and OmniFaces, the power of wording, marketing and slides, the episode #29 with Bruno Borges, runtimes vs. servers, One War, One Application Server, One Runtime blogpost, the economics of shared deployments, the lightweight runtimes, WARs larger than runtimes, using piranha nano as command line tool, piranha micro comes with servlet runtime, piranha micro runs a single WAR file, piranha micro runs the deployment from memory, monitoring the deployment process, replacing a file system with maven, piranha micro uses piranha nano APIs, piranha nano is the runtime, piranha micro understands MicroProfile and Jakarta EE, Manfred Riem also works on piranha, soteria, the Java EE 8 security implementation, is used by tmaxsoft, soteria was one of the major contribution to Java EE 8, soteria was used before GA in several projects to get feedback, piranha server supports multiple deployments, piranha nano boots in 0.5 second, Servlet, JAAC and JASPIC are implemented by piranha, other services are integrated, piranha server relies on shrinkwrap, piranha server is the only runtime which uses Java EE 8 security directly, using piranha server as oauth 2 gateway, Java EE 8 unifies and simplifies all the security APIs, Azure functions with piranha, consuming cloud events with piranha nano, cold startup of piranha nano is less than 1 second, piranha nano uses flat classloader, piranha micro is using an isolated classloader, Arjan Tijms on twitter: @arjan_tijms, Arjan's blog omnifaces and piranha.cloud
undefined
Mar 22, 2020 • 1h 37min

500 kB ThinWARs on AWS

An airhacks.fm conversation with Bastian Sperrhacke (@deratzmann) about: 80286, qbasic,CLI, Turbo Pascal, if-thens and "Who Wants to Be a Millionaire?", inhouse outsourcing with sister, playing Prince of Persia, MS DOS games, memory management with autoexec.bat and config.sys, taking a Macromedia Flash class ...at army, programming a beer shop in a JavaScript course by mistake, "JavaScript is dead" - in 2001, programming Java for Windows PDAs, Sharp Zaurus ran Linux, searching stuff in adventure parks with PDAs, chats and XMPP, chasing hidden boxes, Java ME is not MicroProfile, developing digital TV on Nokia phones with ads over DVB-T, developing WAP applications, mobile portals, ringtones and games, Nokia Communicator, WAP - "Wait And Pay", developing web sites with Struts and JSPs, using JDBC from Struts actions to access the database, Java EE best practices training by OOSE, refactoring with GlassFish 2.1 and 3.1 and EJB 3, working since 2013 for Otto - the German amazon, home made persistence layers before Hibernate, selling insurances instead of ORM mappers, starting with microservices in cross-functional teams, using Payara for e-commerce, running Payara, Jakarta EE on AWS, seamless migration to AWS, implementing additional services with Payara, Java EE and AWS, buying a barista, the largest ThinWARs are 500kB, swagger UI is larger than the business logic, 3-5 seconds boot times, layered docker deployments, 700MB base layer, 5-10 cloud deployments a day, using AWS Fargate, business driven MicroProfile metrics, experimenting with OpenLiberty, WildFly 19 comes with MicroProfile support, Quarkus is the nextgen application server, migrating Boundary Control Entity applications to Quarkus, the push gateway blogpost / application, replacing Stateless EJBs with CDI Stereotypes, Quarkus vs. WildFly performance comparison, Quarkus saves 50% of RAM in JVM mode, drinking a coffee together at JavaONE, coding technical lead, casual gaming, building bases with StarCraft, the a+ team Bastian Sperrhacke on twitter: @deratzmann, interview with Bastian
undefined
Mar 15, 2020 • 58min

Back to Shared Deployments

An airhacks.fm conversation with Romain Manni-Bucau (@rmannibucau) about: PaintShop Pro, science fiction matte paintings, scene generation, short movies, 3D tool automation with scripting, starting C programming with GTK, programming PaintShop Pro "clone" as "hello, world", linux over windows, image editing involves math, learning algorithms from the internet, building winamp-like mp3 player with C++ and GTK, switching from C/C++ to Java, no memory management in Java, implementing problem-solvers with Java, developing "BigData" apps with Hazelcast, Talip Ozturk, implementing map-reduce algorithms for a banking sector with Hazelcast, using Apache openEJB, working with Jean-Louis Monteiro the openEJB committer, using openEJB for good start times and for testing, Java EE and standards do not impact your business code, working with friends at Tomitribe, implementing extensions for TomEE - the MicroProfile before MicroProfile, joining talend to implement batch processes, joining yupiik.com startup, Apache Spark, Apache Beam and ReactJS, using Apache Meecrowave, ReactJS vs. Custom Elements, WebComponents and Redux, deploying service on-the-fly with OSGi, integrating CDI with OSGI, working with Apache Aries, using OSGi to load machine learnings models, hot-loading modules for "Fluid Logic", OSGI alliance specs, Karaf OSGi, HTTP/2 with Felix, OSGi ConfigAdmin configuration, OSGi whiteboard pattern, Aries CDI, Romain Manni-Bucau on twitter: @rmannibucau, Romain's blog: rmannibucau.metawerx.net
undefined
Mar 8, 2020 • 1h 13min

From Maxwell over Maxine to Graal VM, SubstrateVM and Truffle

An airhacks.fm conversation with Thomas Wuerthinger (@thomaswue) about: Working on HotSpot, Sun started collaboration with Johannes Kepler University (JKU) in Linz, Java HotSpot is written in C++, "Array Bounds Check Elimination" for Java HotSpot Compiler, increased the performance by approx. 10%, the possibly most impactful student work ever, IdealGraphVisualizer (IGV): the graphical visualisation tool for HotSpot uses NetBeans visual library, IGV is also used for GraalVM, the Maxine Research VM at Sun Microsystems, Project Maxwell was renamed to Maxine, working at Sun's Menlo Park at Maxine, the circular optimization of Java leads to higher performance, the relation between Maxine and GraalVM, replacing the Maxine Compiler with Client HotSpot Compiler "transpiled" from C++ to Java, the C1X compiler, maxine was too ambitious, GraalVM just focusses on the compiler and makes it available for HotSpot, the Java compiler (javac) is written in Java, the quality of the JIT output is the first factor for good performance, HotSpot asks JIT to optimize "hot" methods, Maxine project is stil active, JVMCI, working on crankshaft compiler at Google with a team of 8 people, using Graal as polyglot environment, converting JavaScript to GraalIR was too complex, JavaScript is dynamic and GraalIR is typed, partial evaluation was inspired by PyPy, JavaScript interpreter was written in Java and is optimized by GraalVM, the frozen interpreters, the meta-circularity comes with the native image, a small JavaScript interpreter team implements recent JavaScript features, improving serverside ReactJS rendering performance with GraalVM, R, Ruby and Python are exectly the same integrated as JavaScript, Java is going to be interpreted in the same way as well, method inlining across language boundaries, Truffle is the intepreter API and comes with language-independent tooling, GraalVM is able to output bitcode instead of native code with LLVM, native image was used to compile the Graal compiler itself, the native image contains garbage collector, native image is considered "early adopters" technology, HotSpot mode is still 20% to 50% faster, G1 is going to be available on the native image as well, in future the performance of the AOT could vary +/-10% compared to JIT, polymorphic invocations could become faster on the native image / AOT, profile guided optimizations can be performed also ahead of time, new native images could learn from the past, the stability of AOT and JIT are similar, twitter already uses AOT for years, with Java you have the choice between AOT and JIT, unikernels could be supported by GraalVM in future, the GraalVM is hiring, Thomas Wuerthinger on twitter: @thomaswue
undefined
Mar 1, 2020 • 53min

The Competitive Developer

An airhacks.fm conversation with Thomas Wuerthinger (@thomaswue) about: JavaScript on Pentium 3, snake with turbo pascal, sister as inspiration, the "view source" JavaScript approach, creating a platform "4b" site like FaceBook or studiVZ as first serious application with PHP on the backend and JavaScript on the frontend, using flat files as database, building GameScript with a subset of JavaScript to help colleagues to start programming, creating the first, interpreted, programming language, writing parsers by hand, the natural way to ASTs, creating software for smart homes, first commercial project with 16 - a visual programming language, great QT, how to skip a class, the two type of teachers, attending university classes before university, the best four Austrian programmers attending the competition are part of the GraalVM team now, the programming competition takes two days, five hours each, Pascal, Java or C were the languages of choice, mistakes cost time, programming is super fast and debugging is low, training for programming competition 2-3h a day, training with USA Computing Olympiad was almost like gaming, it's impossible to win a programming competition without training, ACM contest for students, a team of three students shares a computer, learning C with JavaScript background, difficulties with the constructor concept, the president of Austria attending the phd ceremony Thomas Wuerthinger on twitter: @thomaswue, Thomas' website.
undefined
Feb 21, 2020 • 58min

Quarkus Developer Experience

An airhacks.fm conversation with Alex Soto (@alexsotob) about: Director of Developer Experience, Quarkus was secret at the beginning at RedHat, replacing Micronaut with Quarkus, public Quarkus release, Micronaut comes with its own API, Quarkus is more familiar for WildFly / Java EE / Jakarta EE developers, Quarkus separates the business logic from the infrastructure, Quarkus also supports FatJARs / UeberJARs but this feature is pointless for container deployments, Quarkus and FatJARs are interesting for desktop, electron-like deployments, The Quarkus Cookbook, quarkus disabling HTTP cache, kaffein cache, quarkus and batch processing -- building CLIs with quarkus, combining quarkus with picocli, quarkus integrates kafka kstreams without the necessity of including JAX-RS, airhacks.fm episode #23 with alexis about glassfish, the easy loading vs. eager loading trade off, quarkus optimizes hibernate, tree shaking of JDBC-drivers in quarkus, proactively introducing DAOs: "Generic CRUD Service aka DAO - EJB 3.1/0 Code - Only If You Really Needed" then deleting them, the quarkus developer mode mvn compile quarkus:dev, dynamically adding columns with Panache in development mode, adding extensions on-the-fly, mapping kafka streams to websockets with microprofile reactive streams, quarkus should support both: application.properties and mp-config.properties, The Quarkus cookbook is going to be published in summer 2020, writing kubernetes operators with quarkus, the quarkus vault integration, airhacks.tv quarkus / vault questions, the vault sidecar container, Alex Soto on twitter: @alexsotob
undefined
Feb 16, 2020 • 1h 2min

Lord of the Jars

An airhacks.fm conversation with Alex Soto (@alexsotob) about: playing desperado on spectrum, peek, poke and rem with basic, implementing a clock and drawing a line, curiosity and programming, fascination with communication, sending emails to unknown people, Netscape Composer and Microsoft Frontpage, Netscape Mail Client, the "view code" button, Netscape Mail became Mozilla's Thunderbird, adding interactivity to HTML pages with JavaScript, coding number guess game with JavaScript, the friend declaration in C++, starting with Java 1.2 and Swing, Sun Java Workshop and Java Studio Workshop, using Servlets on Orion Application Server as backend for HTML forms, using Wicket web framework, doubled income for experienced developer, building portals with JBoss 3.0, Ant and XDoclet, VoIP and Session Initiation Protocol SIP project with JBoss in 2002, Bean Managed (BMP) and Container Managed Persistence (CMP), nice BMP and CMP - comes for free, installing JDK 1.3.1 (Kestrel), controlling medical robots with Java, IoT in 2005, moving physical machines with Java, loosing focus after 8 years, building electronic voting systems, Java EE 5 came with productivity boost, TomEE booted in 1 second, introducing Java EE as "The New Thing", advocating Java EE on conferences, promoting Java EE as productivity and speed optimisation, Kohsuke Kawaguchi the creator of Hudson, starting at CloudBees with Kohsuke Kawaguchi, Kohsuke started launchable, working with Apache Mesos, starting to work with Arquillian, becoming an Arquililan committer, speaking at Devoxx, ping from Aslak Knutsen, starting at the dream company - RedHat, the Monday message from Aslak, working with fabric8, Alex Soto on twitter: @alexsotob, Alex's blog: www.lordofthejars.com and Alex on GitHub
undefined
Feb 8, 2020 • 56min

Exposure Driven, Natural-Born Programmer

An airhacks.fm conversation with Tanja Obradovic (@TanjaEclipse) about: The amazing rainbow wires, obsessed with tetris, programming: seeing immediate results is great, basic, pascal, fortran, c, c++ and FoxPro, Smalltalk in Canada, exposed to programming, pascal did more than basic, SmallTalk is clean and logical, object oriented programming was hyped, The Object People, programming over electronics, using TopLink to access databases, messaging between object was a challenge for a C++ programmer, objects talk like people, there are no blocks in Java, meta inheritance in SmallTalk and Java, business driven decisions matter, it is easier for C and C++ programmers to learn Java, than SmallTalk, working with TopLink as consultant, the acquisition of the consulting The Object People by BEA, the TopLink product was acquired by WebGain, Oracle acquired WebGain, Oracle acquired BEA, TopLink was migrated to Java by the Object People, enjoying to work as team lead, now its time to start programming again with MicroProfile and Jakarta EE, joining Eclipse Foundation, preparing Jakarta EE for the cloud era, Jakarta EE is a huge amount of work, starting to work on Jakarta EE 9, the big bang move to jakarta.* namespace, identifying the priorities was a major challenge, addressing one problem a time with more frequent Jakarta EE releases is the preferred approach, Jakarta EE and Java EE were synonyms for complexity, the Jakarta ONE livestream, Tanja Obradovic on twitter: @TanjaEclipse, Tanja's blog: https://blogs.eclipse.org/blogs/tanja-obradovic

Remember Everything You Learn from Podcasts

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