airhacks.fm podcast with adam bien cover image

airhacks.fm podcast with adam bien

Latest episodes

undefined
Aug 16, 2024 • 43min

How the Java-Optimized Vega Chip Happened

An airhacks.fm conversation with Gil Tene (@giltene) about: discussion of Azul Systems' Vega chip, a custom-designed processor optimized for Java workloads, Vega's architecture and features including multiple generations (Vega 1, 2, and 3), high core count (up to 54 cores per chip), custom instruction set, hardware-managed register windows, type-aware pointers for efficient method calls, fully symmetric multiprocessing with up to 16 chips (864 cores total), memory striping across controllers for even distribution, Hardware Transactional Memory support for concurrent Java operations, custom coherency and memory ordering instructions, comparison with contemporary processors from Intel and Sun, challenges in chip design and manufacturing, impact on Java performance and concurrency, evolution of the technology and its influence on modern processor designs, Gil Tene's role in developing the Vega chip and related software technologies at Azul Systems, Gil's blog: Stuff Gil Says Gil Tene on twitter: @giltene
undefined
Aug 6, 2024 • 1h 11min

How Java HotSpot Compiler Happened

An airhacks.fm conversation with Cliff Click (@cliff_click) about: Cliff Click's early computer experiences with xerox mainframe and punch cards, learning fortran at a young age, programming on TRS-80 and other early microcomputers, developing a passion for compilers and optimization, pursuing a PhD in Computer Science at Rice University, inventing the sea of nodes compiler architecture, working at motorola and discovering Intel's benchmark cheating, joining Sun Microsystems to develop the Java HotSpot compiler, presenting groundbreaking Java performance improvements at JavaOne 2002, frustrations with Sun's management and development processes, moving to Azul Systems for custom Java hardware development, reflections on compiler research, the challenges of being a highly productive programmer in a team environment, analyzing bug rates and productivity metrics, the importance of writing new code for feature development, enjoying Java's "write once, run anywhere" philosophy, current involvement in compiler communities on Discord and Cliff Click on YouTube Cliff Click on twitter: @cliff_click
undefined
Jul 29, 2024 • 58min

How Bach - "The Java Shell Builder" Happened

An airhacks.fm conversation with Christian Stein (@sormuras) about: early computing experiences with C64, learning Basic and Pascal, transition to Java programming, developing a commercial Java game using lwjgl, involvement with JUnit testing framework as a committer, work on openJDK and Java tools at Oracle, discussion about Java build tools and dependency management, vision for a simpler Java build process using only JDK tools, multi-file source code feature in Java 22, pluggable dependency resolution, tool provider interface introduced in Java 9, potential for a new ecosystem of Java tools, Bach - Java Shell Builder, Adam's YouTube channel with Java programming shorts, misconceptions about Java's verbosity, future plans for Java build tools Christian Stein on twitter: @sormuras
undefined
Jul 21, 2024 • 50min

From J2ME, over Bluetooth and Speech Recognition to AI

An airhacks.fm conversation with Bruce Hopkins about: transition from Basic to Java, work on Bluetooth technology and writing a book on Bluetooth for Java, involvement with Sun Microsystems and Java ME, becoming a Java Champion, shift to AI and natural language processing research, development of speech recognition and hands-free web navigation systems using pure Java, use of Hugging Face libraries for NLP in 2016, writing for Linux Magazine about mesh VPNs, discovery and exploration of ChatGPT, writing a book on integrating ChatGPT with Java, shared experiences and parallel paths in Java development, discussion about Sun Microsystems vs Oracle's approach to Java, mention of various Java-related technologies like JXTA, Sphinx, FreeTTS, and Dalvik, brief explanation of mesh VPNs and Tailscale, plans for a future podcast episode focused on Bruce's JavaChatGPT book
undefined
Jul 14, 2024 • 1h 3min

Project Valhalla: Value Types, Nullability and Float16

Java Software Engineer Paul Sandoz discusses Project Valhalla's value types, nullability, and potential performance gains. Topics include heap and stack optimization, challenges in retrofitting value types, implications for numeric types, connections to Vector API, and Java's competitiveness in machine learning. Sandoz also covers backward compatibility, his role in the project, and future directions for Java.
undefined
Jul 7, 2024 • 48min

OpenRewrite: Transforming Java Code at Scale

An airhacks.fm conversation with Jonathan Schneider (@jon_k_schneider) about: OpenRewrite as an open-source tool for code transformation using lossless semantic trees (LSTs), recipes as programs that manipulate the LST, YAML configuration for defining recipes, dry run and in-place code modification options, separation of open-source and commercial aspects of the project, Moderne as a SaaS platform for large-scale code analysis and transformation, visualization features in Moderne including dependency usage violin charts, impact analysis capabilities, organizational structure in Moderne for managing large codebases, integration of OpenRewrite in various IDEs and tools including Amazon Q Code Transformer, IntelliJ IDEA, and Visual Studio Code, the business model of open-source and commercial offerings, the genesis of OpenRewrite from Gradle Lint in 2015-2016, recent momentum in adoption, Jonathan's background with micrometer project, discussion about IDEs including Visual Studio Code and IntelliJ IDEA, potential future topics including Micrometer and Spinnaker Jonathan Schneider on twitter: @jon_k_schneider
undefined
Jun 30, 2024 • 55min

JVector: Cutting-Edge Vector Search in Java

An airhacks.fm conversation with Jonathan Ellis (@spyced) about: discussion of JVector, a Java-based vector search engine, Apache Kudu as an alternative to Cassandra for wide-column databases, FoundationDB - is a NoSQL database, explanation of vectors and embeddings in machine learning, different embedding models and their dimensions, the Hamming distance, binary quantization and product quantization for vector compression, DiskANN algorithm for efficient vector search on disk, optimistic concurrency control in JVector, challenges in implementing academic papers, the Neon database, JVector's performance characteristics and typical database sizes, advantages of astra DB over Cassandra, separation of compute and storage in cloud databases, Vector's use of Panama and SIMD instructions, the potential for contributions to the JVector project, Upstash uses of JVector for their vector search service, the cutting-edge nature of JVector in the Java ecosystem, the logarithmic performance of JVector for index construction and search, typical search latencies in the 30-50 millisecond range, the young and rapidly evolving field of vector search, the self-contained nature of the JVector codebase Jonathan Ellis on twitter: @spyced
undefined
Jun 23, 2024 • 1h 32min

Object-Oriented Programming (OOP) vs. Data-Oriented Programming (DOP) in Java

An airhacks.fm conversation with Nicolai Parlog (@nipafx) about: the advantages and challenges of Object-oriented programming (OOP) vs data-oriented programming (DOP) in Java, using Java record classes, sealed interfaces, and switch expressions to implement business logic outside of data classes, the advantages of polymorphism and transparent persistence in specific use cases, the pitfalls of deep inheritance hierarchies and instance of checks, modeling data with records and sealed interfaces, validating data at the boundaries and ensuring immutability, using switch expressions and pattern matching for type-based logic, the advantages of data-oriented programming for maintainability and safety, applying data-oriented programming to web services and data pipelines, combining enums with records for complex configurations Nicolai Parlog on twitter: @nipafx
undefined
Jun 17, 2024 • 58min

From JSP to Rife and From Kotlin to Java

An airhacks.fm conversation with ethauvin (@Erik C. Thauvin) about: Erik previously on: "#298 The bld Power User", running a high-traffic link blog using JSP and Tomcat, challenges with caching and performance, meeting Geert Bevin through discussions about URL encoding, evaluating and migrating his blog to the Rife framework, appreciating Rife's lean architecture and built-in utilities, the appeal and disappointment of Ruby on Rails, using lightweight Java application servers like Glassfish and Payara, avoiding heavy dependencies and XML configuration, generating XML with xdoclet, the advantages of Rife's templating system and code readability, Erik's journey with Kotlin and reasons for returning to Java, building a Kotlin URL encoding library with multiplatform support, the power of Kotlin's multiplatform capabilities, discussing the BLD build tool and its origins in simplifying build processes, the complexities of modern Java builds with dependencies compared to the simplicity of Java EE, considering Ant as an alternative to Maven, the idea of "Build as Code" and integrating build logic into applications, Erik's experience converting over 60 projects to bld, challenges of introducing new build tools in enterprise environments, Erik's automated blog posting system ethauvin on twitter: @Erik C. Thauvin
undefined
Jun 9, 2024 • 1h 8min

The bld Power User

An airhacks.fm conversation with Erik C. Thauvin (@ethauvin) about: previously Erik on "#287 How Linkblog Happened", from Rife to bld, Gert on "#284 No Dependencies--Or How Rife 2 and Bld Happened", the simplicity and power of bld compared to Gradle and Maven, using Java as the build language without any DSLs or plugins, the advantages of a direct approach to building and running tools, converting projects from Gradle to bld and the resulting simplification, creating extensions for bld to integrate with various tools and libraries, the benefits of using pure Java for build files and the flexibility it provides, the speed of bld and the underlying Java compilers, ideas for future improvements and features in bld, the philosophy behind bld and its focus on simplicity and developer productivity, the potential for using bld as a scripting tool and automation platform, the extension mechanism in bld and how it leverages the builder pattern, the performance gains of using bld over traditional build tools, the aesthetics and user experience of bld, the history of Java compilers and the evolution of Java desktop applications Erik C. Thauvin on twitter: @ethauvin

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode