Skip to the content.

Devoxx UK 2024

Back to all conferences

Table of Contents

AI & ML

Enabling Cloud to Edge Machine Learning by SAI PRASHANT VAJJA

This presentation discusses the challenges of enabling cloud-to-edge machine learning and how Couchbase's mobile solution can address these challenges. The key focus is on Federated Learning, a method of training machine learning models where the model is controlled centrally but applied and refined on edge devices, allowing for data privacy and security while leveraging the processing power of edge devices.

Java Meets AI: How to Build LLM-Powered Applications with LangChain4j by LIZE RAES

The video showcases LangChain4j, a Java library that makes it easier to build applications powered by large language models (LLMs). The presenter demonstrates various features of LangChain4j, including integrating with different LLM providers, using memory and tools, and leveraging retrieval-augmented generation (RAG) to enhance the quality of responses.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @charlyouki

The video explores the potential of generative AI, particularly in the context of personal projects and real-world use cases. The speaker, Char Philip Berard, discusses how he is using AI models like GPT to create interactive game experiences and how the technology can be leveraged in more conservative industries like banking while respecting data privacy.

Accessibility

Hear! Hear! An accessibility tale from a hearing-impaired Senior Software Engineer by ANTE TOMIĆ

In this talk, the speaker, a senior software engineer with partial hearing loss, shares their personal experiences and insights on the challenges of hearing impairment in the tech industry. The talk emphasizes the importance of accessibility, inclusive design, and empathy in creating a more inclusive workplace and products that cater to the needs of individuals with hearing disabilities.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @antetmc2

This video discusses the importance of accessibility in technology, highlighting the need for empathy and innovation to improve the experience for users with diverse needs. The speaker shares insights on how AI can be leveraged to enhance accessibility, such as improving voice transcripts and amplifying speech for users with impairments.

Architecture

Architecting for Tomorrow: A Pragmatic Perspective by MARCEL SCHUTTE

In this talk, the speaker emphasizes the evolution of software architecture and the qualities required for a modern, pragmatic architect. The key aspects highlighted include being agile, a skilled communicator, having a diverse toolbox, taking responsibility for mistakes, and being aware of assumptions.

Architecture Decision Records - How not to get lost in the past by KRISZTIAN PAPP

This talk discusses the challenges of introducing Architecture Decision Records (ADRs) into an organization. The speaker shares their experiences, obstacles faced, and strategies for overcoming them to successfully implement ADRs and foster a culture of architectural decision-making.

How We Decide by ANDREW HARMEL-LAW

Failed to generate summary.

A design pattern goes to the supermarket by KAYA WEERS

The talk explores how design patterns, commonly used in software development, can be observed in everyday real-world situations, such as a trip to the supermarket. The speaker illustrates several design patterns, including the Command, Observer, Adapter, Factory Method, Template Method, and Facade patterns, through engaging narratives and examples from the supermarket experience.

An Introduction to Residuality Theory by BARRY O’REILLY

The video introduces a new theory called 'Residuality Theory' that combines software engineering and complexity science to address the challenges of designing software architectures that can adapt to unexpected changes in a complex, dynamic environment. The key ideas include using random simulation and network analysis to identify 'residues' or architectural components that can survive in multiple possible future scenarios, and measuring the 'residual index' to quantify the adaptability of the architecture.

The Modular Monolith - a Practical Alternative to Microservices by VICTOR RENTEA

The speaker discusses the concept of a 'modular monolith' as a practical alternative to microservices, highlighting its advantages in terms of deployment, decoupling, and gradual migration. He also covers strategies for transitioning from a monolith to a modular architecture and the potential drawbacks of microservices, emphasizing the importance of considering the context and trade-offs before choosing an architectural approach.

Making Software Architecture Continuous by EOIN WOODS

The talk discusses the need for software architecture to evolve from a top-down, prescriptive approach to a more continuous and collaborative process, where architecture decisions are made across empowered teams to address cross-cutting concerns and ensure the system's quality attributes. The speaker outlines five key practices for 'continuous architecture', including providing technical leadership, focusing on quality attributes, actively managing technical debt, making decisions a first-class concern, and implementing feedback loops.

Modular Monoliths & Microservices - A 4+1 View Continuum by CHRIS SIMON

The talk explores a nuanced framework for discussing software system design, focusing on the 4+1 view model proposed by Philip Kruchten. The speaker highlights the importance of aligning the logical, process, physical, and development views to achieve a balanced and scalable system architecture, and cautions against the overuse of terms like 'monolith' and 'microservices' which can obscure the underlying design principles.

Compute

Enter The Parallel Universe of the Vector API by SIMON RITTER

The presentation explores the Java Vector API, which provides a way to leverage single instruction multiple data (SIMD) processing to improve performance on numerically intensive operations. The speaker discusses the differences between concurrency and parallelism, the history of SIMD in computing, and how the Vector API can be used to take advantage of modern processor capabilities.

SnapStart for AWS Lambda – Under the hood by MARK SAILES & MATTHEW MECKES

The talk discusses the technical architecture and design principles behind AWS Lambda, focusing on the invoke routing, compute fabric, and the SnapStart feature that improves performance by taking snapshots of the execution environment. The presenters demonstrate the performance benefits of SnapStart through a benchmark comparison and explain the various techniques used to optimize the snapshot loading process.

A Record’s ACID trip through Kafka by BEN GAMBLE

The talk discusses the evolution of software architecture from monoliths to microservices, and how Apache Kafka can be used to provide durable, transactional messaging between these distributed services. The speaker also explores design patterns like the Outbox pattern and Complex Event Processing to handle the challenges of building resilient, asynchronous systems.

From Query to Kafka; How does Apache Flink actually work? by DANNY CRANMER

This talk provides an overview of Apache Flink, a distributed processing engine for stateful computations over unbounded and bounded data streams. It covers the key concepts of Flink, including batch and stream processing, parallelism, and fault tolerance, as well as common use cases and a live demo of a simple data processing pipeline.

Revolutionizing Java-based LLMs: Unleashing the Power of GPUs with TornadoVM

This presentation explores the potential of building high-performance language model inference libraries in Java, leveraging the power of GPUs using the TornadoVM framework. The speaker showcases practical examples and discusses the key components required to make Java competitive in the AI domain, including GPU acceleration, standardized tensor types, and seamless integration with existing ML frameworks.

Recipes for migrating Spring Boot apps to Native by DANIEL GARNIER-MOIROUX

This talk explores the challenges of migrating Spring Boot applications to GraalVM Native, a technology that compiles Java code into a standalone executable. It covers the key issues around reflection, proxying, and incompatible libraries, and provides practical strategies for overcoming these obstacles to achieve faster startup times and reduced resource consumption.

Lincheck: A Practical Framework for Testing Concurrent Data Structures on JVM by NIKITA KOVAL

The video presents Lincheck, a framework developed by the speaker for testing concurrent data structures on the JVM. The framework automatically generates and runs concurrent scenarios to detect and analyze issues in concurrent implementations, providing detailed execution traces to help understand and debug the root causes of the problems.

State of WebAssembly outside the browser by ABDEL SGHIOUAR

The talk discusses the current state and potential future of WebAssembly (Wasm) as a runtime environment outside the browser, including its advantages in terms of speed, security, and portability. The speaker explores various use cases, ongoing efforts to standardize Wasm through the WebAssembly System Interface (Wasi), and the integration of Wasm with container technologies like Docker and Kubernetes.

My discovery of Rust: Why is it a Game Changer? by AYOUB ALOUANE

The speaker, a software engineer, shares his personal experience of discovering Rust and the challenges he faced as a beginner. He highlights the performance benefits of Rust, its adoption by major tech companies, and the resources he found useful in learning the language.

Streaming Data Transforms with WebAssembly by TRISTAN STEVENS

This talk discusses how to use WebAssembly to perform streaming data transforms within the Red Panda Kafka-compatible message broker. The speaker highlights the benefits of running these transforms directly within the broker, including reduced operational complexity and the ability to utilize a wide range of programming languages.

Improving Java Application Security with Practical Hardening Strategies by SHAUN SMITH

This talk covers practical strategies for improving Java application security through techniques like reducing software dependencies, leveraging software bill of materials (SBOM), and using tools like GraalVM Native Image to minimize the attack surface. The speaker demonstrates how these hardening approaches can significantly reduce the size and complexity of Java-based applications, making them more secure and resilient.

The Challenges of Concurrent Systems by ZAINAB ALI

The talk explores the challenges of building concurrent systems, focusing on reasoning about concurrency, understanding the underlying systems, and leveraging asynchronous programming models to write scalable and maintainable concurrent applications. The speaker emphasizes the importance of avoiding shared mutable state, identifying side effects, and adopting functional programming techniques to manage the complexity of concurrent systems.

Next Generation Cloud Native Java with Graal by ERIC SEDLAR

The speaker presents a new cloud-native Java platform called Graal, which aims to improve the developer experience and efficiency of cloud-native applications. The platform includes features like ahead-of-time compilation, lightweight isolation, and integration with the Oracle database to provide faster startup times, lower infrastructure costs, and transparent scaling for Java-based cloud services.

The Terrifying Migration of 420 Services to Kubernetes by MEY BEISARON

This talk explores the challenges faced by a senior platform engineer, May Basone, during the migration of 420 services to Kubernetes at Forter, an e-commerce fraud prevention solution. The talk highlights the importance of proactive planning, organizational support, and teamwork in navigating unexpected issues that can arise during complex infrastructure migrations.

Cloud Cost Optimization for Java Developers by PRATIK PATEL

The presentation covers strategies for cloud cost optimization for Java developers, including considerations around application architecture, JVM tuning, and managing variable load. It provides insights into cloud pricing trends, the tradeoffs between monolithic and distributed architectures, and techniques to optimize Java applications for the cloud.

Java 22 and the Foreign Function & Memory API by PER MINBORG

The video discusses the Java 22 Foreign Function and Memory API, which provides safe and efficient access to native memory without the need for JNI. The presenter demonstrates the API's features, including deterministic deallocation, structured access, and the creation of a simple microservice application using memory-mapped files.

Rust 101: Understand the Hype by MATTSI JANSKY

The presentation provides an overview of the Rust programming language, highlighting its key features such as performance, safety, and memory management. It delves into the unique ownership model of Rust, which enables memory safety without the need for garbage collection, and discusses the language's other notable aspects, including its strong type system, concurrency support, and tooling.

What's Looming in Spring? by VENKAT SUBRAMANIAM & JOSH LONG

The video discusses the introduction of virtual threads in Java 21, which provide a more efficient and scalable way to handle asynchronous programming compared to traditional threads. The presenters demonstrate the benefits of virtual threads through examples that show significant performance improvements in terms of reduced latency and better resource utilization.

Delta Storage: a compression that makes the difference by MICHELE COSTANTINO SOCCIO

The video presents a compression technique called Delta Storage, which stores only the differences between document versions instead of full copies. This approach significantly reduces the database size and improves operability, making a substantial difference in the context of a large airline revenue management system.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @speakjava

This video discusses the Azul platform, which provides a commercial support for the OpenJDK distribution, as well as the Zing runtime that focuses on improving Java performance through advanced garbage collection and just-in-time compilation techniques. The video also covers the Vector API, a Java feature that allows developers to leverage SIMD (Single Instruction, Multiple Data) capabilities of modern processors to improve the performance of numerically intensive operations.

Data Structures

Intro to Probabilistic Data Structures by ANDREA IACONO

This presentation provides an introduction to probabilistic data structures, covering three main classes of problems: membership, cardinality, and frequency. The speaker discusses the advantages and trade-offs of using these data structures, which can save significant memory but may return approximate values, and demonstrates implementations of Bloom filters, Count-Min Sketch, and HyperLogLog.

Developer Experience

Enums on steroids - let's look at sealed classes! by MARCIN CHROST

This talk explores the evolution of Java's language features, specifically focusing on sealed classes and pattern matching in switch statements. The presenter demonstrates how these new capabilities can simplify and streamline code, providing a more concise and readable approach to handling complex business scenarios.

IntelliJ IDEA Tips & Tricks by ANTON ARHIPOV

This talk by Anton Arhipov covers various tips and tricks for using the IntelliJ IDEA IDE, including customizing themes, layouts, and navigation, as well as exploring advanced features like code folding, live templates, refactoring, and the AI-powered code assistance capabilities of the IDE.

Productivity is Messing Around and Having Fun by TRISHA GEE & HOLLY CUMMINS

The talk explores how developer productivity and joy are not opposites, but intertwined. It emphasizes the importance of reducing toil and friction, embracing downtime for problem-solving, and incorporating play and happiness into the development process to improve overall productivity and effectiveness.

A Developer's Tale: Migrating an Angular app from version 10 to 17 by LOÏC MAGNETTE

This talk discusses the challenges and strategies involved in migrating an Angular application from version 10 to the latest version 17. The speaker shares their personal experiences, highlighting the importance of taking a step-by-step approach, maintaining comprehensive test coverage, and leveraging automated tools to streamline the upgrade process.

Processing XML with Kafka Connect by DALE LANE

The presentation discusses various use cases for processing XML data using Kafka Connect, including converting XML data to more structured formats like JSON or Avro, and vice versa. The speaker demonstrates how the custom XML plugin they developed can be integrated into Kafka Connect pipelines to handle XML data at different stages of the data flow.

Exploring the power of AI-Enabled APIs by AKSHATA SAWANT

The presentation explores the evolution of APIs and how AI is transforming the API landscape. It discusses three aspects of AI-enabled APIs: AI APIs, using AI to build APIs, and embedding APIs with AI models to create intelligent applications.

Moving Java Forward Together by SHARAT CHANDER

The speaker discusses Oracle's approach to evolving Java, including the move to a 6-month release cycle, introducing preview features, and modernizing the development process. He emphasizes the importance of the Java community's participation and feedback in shaping the future of the language.

Project Leyden: Capturing Lightning in a Bottle by PER MINBORG

The presentation discusses Project Leyden, an effort to improve the startup time, warmup, and footprint of Java applications. It explores techniques like shifting work earlier or later in time, using stable values, and leveraging class data sharing to achieve significant performance improvements.

Devoxx UK Introduces: Aspiring Speakers 2024, Short Talks

This video introduces a series of aspiring speakers at Devoxx UK who share their experiences and insights on topics ranging from serverless computing, the intersection of chemistry and cybersecurity, using generative AI to boost productivity, overcoming imposter syndrome in leadership roles, and fostering mutual engagement between platform teams and engineers. The speakers provide practical advice and personal anecdotes to inspire the audience and highlight the value of embracing new technologies and building collaborative relationships within the tech community.

Game, Set, Match: Transforming Live Sports with AI-Driven Commentary

This presentation explores how AI-driven commentary can transform live sports coverage, combining real-time data from sports events with generative language models to automatically generate engaging and informative commentary. The speakers demonstrate a proof-of-concept system that ingests live tennis data, generates commentary using OpenAI's language models, and publishes the results in real-time, showcasing the potential for AI to enhance the sports viewing experience.

String Templates - Syntactic sugar or useful improvement? by MICHAEL KRIMGEN

The video discusses the introduction of string templates in Java, a feature that aims to simplify string interpolation. The talk covers the proposed syntax, the feedback received, and the ongoing discussions around the implementation details and the evolution of this feature in the Java language.

The Hitchhiker's Guide to Developing Accessible Apps by AKANKSHA SINGH

The talk emphasizes the importance of accessibility in app development, highlighting the moral, legal, and business reasons for creating inclusive products. It provides practical tips and guidelines for making apps and websites accessible to users with various disabilities, including visual, mobility, and cognitive impairments, and encourages an accessibility-first approach throughout the development process.

Apache Flink Connectors 101: Let’s explore the connector ecosystem! by DANNY CRANMER

This talk explores the Apache Flink connector ecosystem, covering the types of connectors, how to use them, and the internal implementation details. The speaker also shares lessons learned from their experience working with Flink connectors, emphasizing the importance of metrics, graceful shutdown, and handling data skew.

Datafaker: the most powerful fake data generator library by ELIAS NOGUEIRA

Datafaker is a powerful fake data generator library that solves common problems in data generation, such as meaningful data, fixed data, and unrealistic data. The presentation showcases Datafaker's features, including base providers, transformation schemas, and real-life usage with design patterns, demonstrating how to create custom data generators to meet specific requirements.

Down the Ivory Tower towards Agile Architecture by MARIO-LEANDER REIMER

The talk discusses the evolution of software architecture from rigid waterfall approaches to more agile and flexible approaches, and the challenges of balancing architectural governance and agility. The speaker provides practical advice on documentation, quality attributes, architectural decision records, and architectural fitness functions to maintain a healthy software architecture in an agile environment.

Get old, go slow, write code! by TOBIAS MODIG

The talk encourages developers to embrace aging, slow down, and continue coding throughout their careers. It highlights the value of experienced developers, the pitfalls of the Peter Principle, and the importance of prioritizing quality over speed in software development.

Automate your workstation installation! by SYLVAIN METAYER

This talk presents a comprehensive approach to automating workstation installation using the Ansible automation tool. The speaker discusses the benefits of managing configuration files, installed software, and secrets through Ansible's roles, playbooks, and vault system, highlighting its flexibility and ease of use across multiple computers.

A little less testing, a little more quality by JOÃO PROENÇA

The talk explores how quality in software development goes beyond just testing, and how quality engineers can influence quality through various means such as managing risk, observability, and release cycles. The speaker shares personal experiences and insights on how to approach quality holistically, beyond the traditional focus on testing.

Supercharge Your Developer Journey with Tiny Atomic Habits by NATAN SILNITSKY

This talk explores how to cultivate 'atomic habits' - small, consistent changes to one's daily routines - to drive long-term personal and professional growth. The speaker shares his own journey of developing habits around learning new technical skills and avoiding distractions, providing a framework for creating cues, cravings, responses, and rewards to build or break habits.

Top 5 Command Line Tools by PRATIK PATEL

The video presents five command-line tools that the speaker, Pratik Patel, finds particularly useful: exa, watch, FFmpeg, pueue, and find. The tools are demonstrated in the context of processing video files, managing tasks, and performing file operations efficiently from the command line.

React Server Components: A New Way to Build Fast and Interactive Web Apps by AURORA WALBERG SCHARFF

This presentation introduces React Server Components (RSC), a new way to build fast and interactive web applications. The speaker discusses the benefits of RSC, such as improved data fetching, security, caching, and bundle size optimization, as well as the challenges and best practices for using RSC in the Next.js framework.

Life after C++ by MICHELE COSTANTINO SOCCIO

The presenter discusses the evolution of programming languages beyond C++, exploring alternatives like Rust and Hilo that aim to address memory safety and performance concerns. The talk also covers initiatives like Google's Carbon project, which aims to provide a seamless transition from C++ while introducing breaking changes and improved memory safety.

The Creative Technologist by COREY LATISLAW

The video presentation by Corey Latislaw explores the concept of creativity, highlighting that it is not limited to artists but is a valuable skill that can be developed and applied in various aspects of life, including technology and problem-solving. The presentation provides practical strategies and exercises to help the audience recognize and nurture their own creative potential, encouraging them to build a sustainable creative practice.

Codespaces, Gitpod, Devpod ... what cloud and container-based IDEs can do for you

The talk discusses cloud-based and container-based IDEs, such as GitHub Codespaces, Gitpod, and Devpod, which allow developers to set up consistent development environments in the cloud, simplifying onboarding and remote collaboration. The speaker demonstrates the features and capabilities of these tools, highlighting their benefits for teaching, training, and managing different development projects.

Developing Intelligent Apps with Semantic Kernel by JOHN OLIVER

This talk introduces Semantic Kernel, a Java library for integrating AI services into applications. It demonstrates how Semantic Kernel can be used to build intelligent apps that leverage natural language processing, rule-based reasoning, and integration with Java code to provide enhanced user experiences and data management capabilities.

🎮🤖 Game On! Playing With an AI companion: The Future of Interactive Gaming with GPT-4

This talk explores the potential of using large language models, such as GPT-4, for interactive gaming experiences. The presenter showcases experiments with various vision APIs and techniques to enhance the accuracy and reliability of these models in tasks like guessing countries on a map and playing a classic text-based adventure game.

Developer productivity for GenAI apps by EDDÚ MELÉNDEZ

This talk explores developer productivity for generative AI (GenAI) applications, highlighting the use of Java and Spring frameworks, along with Docker and TestContainers, to simplify the integration of various GenAI components such as language models, vector stores, and similarity search. The speaker demonstrates how these tools can be leveraged to create a more seamless and efficient development experience for building GenAI-powered applications.

A fun and absurd introduction to Vector Databases by ALEXANDER CHATZIZACHARIAS

The speaker provides a fun and engaging introduction to vector databases, explaining their use in modern AI applications and demonstrating their capabilities through various examples, including semantic search, image retrieval, and lyric transcription. The presentation showcases the speaker's technical expertise and creativity in exploring the potential of vector databases for diverse use cases.

From Silos to DevOps to Platform Engineering: embracing GitOps and going behind the hype

This talk explores the evolution of software development practices over the past 30 years, from silos and industrial models to DevOps and platform engineering. The speakers discuss the complexities that have arisen from these changes and propose platform engineering as a way to reduce cognitive load for developers while empowering them through a streamlined, self-service approach.

Enter the Brave New World of GenAI with Vector Search by MARY GRYGLESKI

The presentation provides an overview of the current state of generative AI, including an introduction to key concepts like GPT, NLP, and large language models. The speaker also discusses the use of vector databases and vector search for building AI applications, and highlights the benefits and challenges of this emerging technology.

Release your creations into the world with JReleaser! 🚀 by MAARTEN MULDERS & TOM COOLS

JReleaser is a powerful release automation tool that simplifies the process of distributing Java projects. The talk covers how JReleaser can automate the creation of distributions, package releases, and announce new versions across various platforms and channels, making it easier for developers to share their creations with the world.

What's up at Adoptium? by GEORGE ADAMS

This talk provides an overview of the Adoptium project, which is the Eclipse Foundation's working group for the production and distribution of OpenJDK binaries. The speaker discusses the project's terminology, the open-source workflow, the recent announcements, the build process, and the migration from the previous Adopt OpenJDK project.

Managing Kubernetes workloads: extend the platform with operators by KATE STANLEY & PAOLO PATIERNO

This talk provides an overview of the Kubernetes operator pattern, which allows extending the Kubernetes platform with custom resources and controllers to automate the management of complex applications. The speakers demonstrate how the operator pattern can be applied to deploy and manage a Kafka cluster on Kubernetes, highlighting the benefits over traditional deployment methods.

Freshly Toasted: How Bun stable version is Heating Up JS & TS Development by DEVLIN DULDULAO

Bun, a comprehensive development toolkit, is showcased as a fast and efficient alternative to traditional JavaScript/TypeScript tooling. The presentation highlights Bun's performance advantages in package management, testing, and bundling, while also exploring its runtime capabilities and integration with the Zig programming language.

From Idea to IDE - How Java Features Are Considered, Designed, And Shipped by SHARAT CHANDER

This talk provides an in-depth look at how new Java features are developed, from idea to implementation. It covers the principles of trust, innovation, and predictability that guide the Java team's approach, as well as the transparency and community involvement that shape the language's evolution.

Quarkus, Langchain4J & Ollama by SÉBASTIEN BLANC

This talk demonstrates how to build a generative AI application using Quarkus, Langchain4J, and Ollama. The speaker showcases the developer experience of Quarkus, the integration of Langchain4J for language model integration, and the use of Ollama for running language models locally, enabling the creation of a fully local, high-performance AI application.

Using WASM to port games to the browser: the BlazorDoom use case by YASSINE BENABBAS

This presentation explores the process of porting the classic game Doom to the web using WebAssembly (Wasm) and the Blazor framework. The speaker, Yassine Benabbas, shares his journey of overcoming technical challenges, leveraging Wasm's interoperability with JavaScript, and ultimately delivering a playable Doom experience in the browser.

Mayday Mark 2! More Software Lessons From Aviation Disasters. by ADELE CARPENTER

This talk explores how lessons from aviation disasters can inform software development practices. The speaker delves into the history of aviation safety, the role of automation and human-machine interaction, and the importance of designing systems that account for the limitations and biases of human users.

How To Not Strangle Your Coworkers: Resolving Conflict with Collaboration by ARTHUR DOLER

This talk explores the different types of conflict that can arise in the workplace, such as task conflict, process conflict, and relationship conflict. The speaker emphasizes the importance of psychological safety, managing emotions, and understanding confrontational styles to navigate conflicts constructively and collaboratively.

The Next Big JVM Language - Java Strikes Back! by STEPHEN COLEBOURNE

The speaker examines the history of Java and the rise of alternative JVM languages, reflecting on his predictions from 2010 about the 'next big JVM language'. He concludes that while Java has evolved and other languages like Kotlin have found their niches, Java remains the dominant JVM language, with productivity being the key factor for mainstream adoption.

Stay in Java… by STEPHAN WALD

The talk discusses the increasing complexity in software development and proposes staying with Java as a solution. The speaker advocates for using Java-based frameworks that allow for a single-stack development approach, providing benefits such as reduced communication issues and simplified team management.

Community hacks to enhance your career by SAM HEPBURN

In this talk, the speaker Sam Hepburn discusses how community involvement can enhance one's career development, covering topics such as public speaking, blogging, open-source contributions, and finding the right way to showcase your skills. The presentation emphasizes the importance of community engagement, providing practical tips and strategies for individuals to elevate their careers through active participation in the developer community.

Shortcuts to Success by NICK PALMER

The presentation discusses the importance of learning keyboard shortcuts in programming and software development, particularly within the context of an Integrated Development Environment (IDE) like IntelliJ. The speaker highlights various productivity-enhancing shortcuts across different text editors, terminals, and IDEs, emphasizing how they can significantly improve efficiency and streamline the development workflow.

Micro Frontends Discovery by LUCA MEZZALIRA

This talk explores the challenges of deploying and managing micro-frontends, and proposes a service discovery pattern to address these issues. It introduces a JSON-based schema for defining and managing micro-frontends, enabling features like blue-green deployments and canary releases, and demonstrates an open-source implementation of this approach on AWS.

Switch Your Internal Platform to Multi-Player Mode by PAULA KENNEDY

This talk explores how organizations can leverage a 'multiplayer' approach to internal platform development, where different teams contribute their specialized expertise to the platform, reducing cognitive load on both the platform team and application teams. The speaker highlights the importance of collaboration, 'X-as-a-Service' models, and a composable platform architecture to enable this approach and unlock the benefits of a shared, customized internal platform.

DIY Server Driven UI: A 4-Year Journey in Mobile App Innovation by HARRIET TAYLOR & JIMMY RAY

This talk presents the journey of building a server-driven UI framework at AutoTrader, a large digital automotive marketplace. The speakers discuss the challenges of managing multiple native app platforms, the benefits of server-driven UI, and the technical details of their custom framework, including versioning, a domain-specific language, and dynamic UI handling.

Empowering Growth: The Art of Harnessing Your Mentor's Expertise as a Senior Developer

This talk explores the transformative impact of mentorship for senior software developers, highlighting the benefits of leveraging a mentor's expertise to overcome career stagnation, foster continuous growth, and achieve personal and professional goals. The speaker shares their personal journey, emphasizing the importance of setting clear objectives, embracing challenges, and actively engaging with both formal and informal mentors to unlock new opportunities and drive lasting impact within the software development community.

Bridging the Platform Empathy Gap: Applying Product Management to Platform Engineering by CAT MORRIS

The talk explores the empathy gap between platform engineers and developers, and how this gap can lead to low platform adoption and ultimately platform failure. The speaker proposes defining a North Star metric focused on platform adoption, understanding the reasons for non-adoption, and bridging the empathy gap as key strategies for building successful platforms.

What if you could just draw what you want? by LU WILSON

This video explores an experiment where a developer, Lou Wilson, demonstrates a tool called 'Make Real' that allows users to draw on a canvas and have an AI generate functional websites and interactive elements from those drawings. The presentation highlights the importance of creating a feedback loop between the user and the AI system, allowing for more direct manipulation and collaboration in the creative process.

Mastering Visual Communication for Software Architecture by JACQUI READ

This talk explores effective visual communication techniques for software architecture, emphasizing the importance of considering audience, avoiding common pitfalls, and using patterns and anti-patterns to enhance the clarity and impact of diagrams. The speaker provides practical advice on leveraging color, symbols, legends, and consistent representation to improve the accessibility and navigability of architectural visualizations.

Mocks vs Testcontainers: Navigating Modern Testing Dilemmas by IVAN PONOMAREV

The talk explores the pros and cons of using mocks versus testcontainers for modern integration testing, highlighting the strengths and limitations of each approach across various scenarios, with the speaker drawing from their personal experience and providing practical insights for developers to make informed decisions in their testing strategies.

Don’t let ephemeral CI kill your developer productivity! by LOUIS JACOMET

The talk explores the impact of ephemeral CI environments on developer productivity, highlighting the performance characteristics of the Gradle build tool and the strategies to mitigate the challenges posed by such environments. The speaker provides practical solutions to optimize the various phases of a Gradle build, including startup, configuration, and execution, to ensure efficient and consistent build performance.

How To Review Someone's Code While Not Being A Jerk! by MAHA ALSAYASNEH

This talk provides a comprehensive guide on how to conduct effective and respectful code reviews. The speaker emphasizes the importance of understanding the purpose of code reviews, establishing a clear review checklist, and providing constructive feedback that focuses on the code rather than the individual.

What's Cooking in Maven? by MAARTEN MULDERS

This talk provides an overview of the latest improvements and innovations in the Maven build tool, including the Maven wrapper, the decoupling of the build and consumer POMs, enhancements to the reactor, and the Maven Demon for faster builds. The speaker encourages attendees to try out the Alpha and Beta versions of Maven 4 and provide feedback to help shape the future of the tool.

Cypress, Playwright or Selenium: choosing the right testing tool by SOUMAYA ERRADI

This presentation provides a comprehensive comparison of three popular end-to-end testing tools: Selenium, Cypress, and Playwright. The speaker highlights the strengths and weaknesses of each tool, discussing their developer experience, language and browser support, community, and suitability for different project complexities, ultimately concluding that the choice depends on the specific needs of the project and the development team's preferences.

ADRs: the lost art of documenting important architectural decisions by MAREK DOMINIAK

The presentation discusses the importance of documenting architectural decisions through the use of Architectural Decision Records (ADRs). It emphasizes the benefits of ADRs, such as improved team collaboration, faster onboarding of new team members, and better decision-making, and provides practical guidance on how to effectively create and manage ADRs within a project.

Bootiful Spring Boot 3 by JOSH LONG

The speaker discusses the evolution of the Spring ecosystem, highlighting the advancements in Java and the benefits of using the latest features like records, pattern matching, and virtual threads. He also showcases the integration of AI technologies, such as the Spring AI project, and the performance improvements offered by GraalVM native images, emphasizing the current state of Java and Spring development.

Software Engineering & the Social Battery by CARLY RICHMOND

The presentation explores the concept of the 'social battery' and its impact on software engineers, highlighting the symptoms of a depleted battery and providing practical tips to manage it, both in the workplace and at events like conferences. The speaker emphasizes the importance of self-care, adjusting work practices, and being mindful of others' needs to maintain a healthy work-life balance.

Debug your native Java by DMITRY CHUYKO

The talk discusses the challenges of debugging native Java applications built using GraalVM's native image feature. It showcases techniques for setting up and using debuggers like GDB and LLDB to inspect and modify the behavior of these native executables, both on the developer's machine and in containerized environments.

Spring Boot vs Quarkus the ultimate battle! by BERWOUT DE VRIES ROBLES & JAGO DE VREEDE

This video presents a head-to-head comparison of Spring Boot and Quarkus, two popular Java frameworks, in building a music-themed enterprise application. The speakers explore the development experience, performance, and feature differences between the two frameworks, providing insights for developers to choose the best fit for their project requirements.

TDD & DDD from the Ground Up (Live Coding) by CHRIS SIMON

The presentation demonstrates a test-driven development (TDD) and domain-driven design (DDD) approach to building a university course enrollment system. The speaker highlights the importance of engaging with domain experts, using collaborative modeling techniques, and refactoring the code to improve its readability and maintainability.

Back to the future - how we integrated a 40 year old software system by LUKAS PRADEL

This talk explores the challenges of integrating a 40-year-old software system into a modern platform, highlighting the importance of understanding legacy systems, managing organizational knowledge, and applying design patterns like the Adapter to future-proof software. The speaker shares valuable lessons on avoiding feature creep, documenting decisions, and treating legacy integration as an opportunity to learn rather than a burden.

Continuous Integration – That’s not what they meant by CLARE SUDBERY

The talk discusses the differences between the original concept of continuous integration and the common understanding of the term today. It emphasizes the importance of trunk-based development, where developers continuously integrate their code into the main branch, and outlines the skills and practices required to successfully implement this approach.

Going AOT: Everything you need to know about GraalVM for Java applications by ALINA YURENKO

This talk provides an overview of GraalVM, a high-performance Java runtime that offers ahead-of-time (AOT) compilation for Java applications. The speaker discusses the benefits of GraalVM, including faster startup times, lower resource usage, and improved security, and demonstrates how to build and deploy applications using GraalVM's native image capabilities.

The smart home you didn’t know you have by CÉSAR TRON-LOZAI & DAVID SHELDON

This talk presents Home Assistant, an open-source home automation platform that allows users to integrate and control various smart devices in their homes. The speakers demonstrate how Home Assistant can be easily set up and configured to automate tasks, such as lighting, heating, and appliances, and provide examples of creative use cases that leverage the platform's capabilities.

Getting up to speed with Kafka Connect by KATE STANLEY

This talk provides an overview of the latest features and improvements in Kafka Connect, a powerful tool for building data pipelines without writing extensive application code. The speaker discusses new APIs for listing connector plugins, first-class offset support, exactly-once support for source connectors, and modernized plugin discovery, highlighting how these features enhance the flexibility and reliability of Kafka-based data integration.

CI/CD Patterns and Antipatterns - Things your Pipeline Should (Not) Do by DANIEL RANIZ RANELAND

The speaker discusses various anti-patterns and patterns for CI/CD pipelines, emphasizing the importance of reducing boredom, frustration, and environmental impact. The presentation covers topics such as avoiding the ritual of running the same pipeline everywhere, using conditional pipeline steps, managing artifact hoarding, and optimizing pipeline performance through caching and parallel execution.

C4 models as code by SIMON BROWN

The video presents the C4 model, a hierarchical set of diagrams for visualizing software architecture, and the Structurizr tooling, which allows for diagrams as code or models as data. The speaker demonstrates how Structurizr can be used to define a model, create multiple views, and render the diagrams in various formats, addressing the challenges of scale and consistency in software architecture documentation.

97 Things Every Java Programmer Should Know by TRISHA GEE & KEVLIN HENNEY

This video discusses the book '97 Things Every Java Programmer Should Know', which was a crowdsourced project to collect wisdom and best practices from Java developers. The speakers cover topics like leveraging IDEs, writing effective tests, managing dependencies, and understanding Java's date and time handling.

Joy and Innovation in Programming Through a Childlike Learning Approach by LIZE RAES

The speaker, Lize Raes, advocates for a childlike learning approach to foster joy and innovation in programming. She highlights the importance of free play, positive emotions, and a safe work culture that encourages experimentation and embraces failure as key elements for creating a thriving and innovative work environment.

Contract Testing: The Key to Unlocking E2E Testing Bottlenecks in CI/CD pipelines

This talk discusses how contract testing can help address the challenges of end-to-end testing in CI/CD pipelines, particularly in the context of microservices architectures. The speaker shares their experience implementing and scaling contract testing across their organization, highlighting the benefits, different strategies, and the workflows involved in integrating contract testing into the CI/CD pipeline.

Setting up data driven tests with Java tools by ANDRES ALMIRAY & OLEG ŠELAJEV

The presentation discusses setting up data-driven tests with Java tools, focusing on using test containers to manage database environments for integration testing. It showcases how to leverage test containers and other tools like DBUnit and database writer to create repeatable, isolated test environments for Java applications.

Effecting Change — The Art of Leading Teams by VENKAT SUBRAMANIAM

This talk by Venkat Subramaniam discusses the art of leading teams and effecting change. The key points include understanding the problem deeply, empowering the team to explore solutions, providing guidance and support, managing energy levels, and using emotional motivators to drive behavioral changes.

Six Impossible Things by KEVLIN HENNEY

The speaker explores various 'impossible things' that challenge our assumptions about computer science and mathematics, including the limitations of floating-point numbers, binary search algorithms, and the concept of infinity. He also discusses the implications of Gödel's incompleteness theorem and the challenges of predicting the future in software development and distributed systems.

On Inheriting Legacy Codebases by BEN DECHRAI

The talk discusses the challenges of inheriting and modernizing legacy codebases, emphasizing the importance of strategic refactoring, automation, and continuous improvement to enhance developer productivity and enable the transition to a modern system. The speaker provides insights and practical approaches to address the complexities of legacy applications and improve the overall codebase quality and maintainability.

Code Play Repeat: How to learn any Programming Language by MEY BEISARON

The speaker shares a personal experience of learning a new programming language, closure, in a short time frame to prepare for a job interview. She presents a three-part method of 'Easy Start', 'Change, Learn, Repeat', and 'Implement' that leverages 2D games to make the learning process more engaging and effective.

Troubleshooting Your Maven and Gradle Builds with Build Scan® by TRISHA GEE

Trisha Gee's talk explores the benefits of using Build Scan, a tool that provides detailed insights into Maven and Gradle builds, enabling developers to troubleshoot issues more effectively. The talk highlights how Build Scan can help developers understand the exact behavior of their builds, identify performance bottlenecks, and easily share build information with team members for collaborative problem-solving.

Fun for Now by KEVLIN HENNEY

The talk explores the importance of finding joy and fun in software development, highlighting the value of exploration, focus, and balance in one's work. The speaker emphasizes the need to rehabilitate the concept of 'work' and embrace the present moment, rather than deferring enjoyment to the future.

11 tricks to improve your productivity and reduce your frustration with Kubernetes

This talk provides 11 practical tips and tricks to improve productivity and reduce frustration when working with Kubernetes. The presenters demonstrate various command-line tools and techniques, including managing multiple clusters and namespaces, using aliases and shortcuts, and leveraging Kubernetes' built-in functionality for resource management and monitoring.

TDD & generative AI - a perfect pairing? by BOUKE NIJHUIS

The speaker explores the potential of combining test-driven development (TDD) and generative AI, proposing a workflow called 'test-driven generation' where the human writes tests and the AI generates the implementation. The speaker demonstrates a tool that automates this process and discusses the challenges, benefits, and future improvements of this approach.

A Deep Dive into Advanced TypeScript: A Live Coding Expedition by CHRISTIAN WÖRZ

This talk provides a deep dive into advanced TypeScript concepts, including mapped types, template literal types, the never type, and recursive type definitions. The speaker demonstrates how these powerful TypeScript features can be used to create type-safe and expressive code, improving both compile-time and runtime safety.

Smooth Sailing in the Cloud-Native Storm: Tools for better confidence in microservices development

This talk explores tools and techniques for improving developer confidence in microservices development, focusing on the use of test containers and microx to create isolated, repeatable testing environments that mimic production setups. The presenter demonstrates how these tools can be used to simplify integration testing, contract testing, and asynchronous event testing, enabling developers to have greater confidence in the quality of their applications.

Mind The Classpath (between the Compiler and Platform Runtime) by SINA MADANI

This talk explores the often overlooked challenges of managing the classpath between the Java compiler and the platform runtime, highlighting the differences between Python's straightforward dependency management and the more nuanced approach required in the Java ecosystem. The speaker delves into the complexities of dependency resolution, the role of build tools, and the importance of understanding the fundamental distinction between compile-time and runtime dependencies.

Six things we learned implementing Rockstar on Quarkus by HOLLY CUMMINS & HANNO EMBREGTS

The presenters discuss their experience implementing the Rockstar programming language on Quarkus, a Java-based framework. They highlight the challenges they faced, such as writing a compiler and integrating live coding, and share the lessons they learned along the way.

Extreme product development by PETER HILTON

The speaker discusses various 'extreme' practices in product development, including working remotely, part-time, asynchronously, and with a short backlog. However, the key takeaway is that the most important factor for enabling these practices is building psychological safety and trust within the team.

Close the (feature) gap: how the web is rivalling native apps by FRANCESCO LEARDINI

The presentation explores how modern web technologies have narrowed the feature gap between web applications and native apps, enabling web apps to rival the capabilities and user experience of their native counterparts. It showcases various web APIs and progressive web app (PWA) features that allow web applications to provide offline functionality, seamless user experiences, and access to device hardware, challenging the traditional dominance of native apps.

Developer Productivity Engineering: What's in it for me? by TRISHA GEE

The talk explores the concept of Developer Productivity Engineering (DPE), which focuses on improving the developer experience and maximizing productivity in software development organizations. The speaker discusses various pain points, such as slow build and test cycles, inefficient troubleshooting, and unreliable environments, and presents solutions like build caching, test distribution, and performance monitoring to address these challenges and enable 10x productivity in software teams.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @tcoolsit

The video discusses the challenge of staying up-to-date with industry trends and the importance of focusing on fundamental concepts rather than just learning the latest technologies. The speaker emphasizes the value of user groups and meetups as a way to engage with the community and stay informed about emerging trends.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @martinfoertsch, @mayerjrrr and @originalOne1984

This video discusses the impact of AI on developer and consultant productivity. The panelists explore how AI can be leveraged as a tool to enhance productivity, such as through code completion, static code analysis, and the use of specialized AI models tailored to specific industries or use cases.

Reproducible OpenJDK builds at Eclipse Adoptium by ANDREW LEONARD

The video discusses the efforts of the Eclipse Adoptium project to ensure reproducible OpenJDK builds, which is crucial for maintaining a secure software supply chain. The speaker highlights the various techniques used, such as standardizing the build environment, leveraging software bill of materials (SBOM), and providing scripts to independently verify the integrity of the builds.

Winning at Continuous Deployment with the Expand/Contract Pattern (Live Demo) by CHRIS SIMON

The talk discusses the 'expand/contract' pattern, a technique for managing contract changes during continuous deployment. It demonstrates how this pattern can be applied to APIs, databases, and message queues to enable zero-downtime deployment of breaking changes.

MisplAIced - AI needs great UX to save us by CHRIS HEILMANN

The talk discusses the importance of great user experience (UX) in the development of AI systems. It highlights the potential pitfalls of AI integration, such as the formulation of interfaces, the loss of human-generated content, and the risks of AI-generated content, and emphasizes the need for AI to be a seamless and helpful assistant rather than a disruptive or distracting element.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @jrosaproenca

This video discusses the concept of quality engineering, which is a more holistic approach to ensuring software quality than traditional quality assurance. The speaker emphasizes the importance of observability, feedback loops, and risk management in quality engineering, highlighting the differences between quality assurance and quality engineering.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @yostane

This talk explores the process of porting the classic game Doom to the web browser using WebAssembly, a binary execution format that enables running compute-intensive tasks more efficiently than JavaScript. The speaker discusses the challenges encountered, including the need to replace the original graphics library with JavaScript APIs, and the evolving interoperability between WebAssembly and .NET code.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @advarave

The video discusses the challenges of data visualization, particularly in cloud-native and observability tools, and the importance of providing users with the right context and flexibility to effectively investigate and troubleshoot issues. The speakers highlight the need for tools that can present complex data in a focused and intuitive manner, allowing developers to efficiently navigate and solve problems.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @madani_sina

The video discusses the concept of Model-Driven Engineering (MDE) and its potential benefits for developer productivity, especially in the context of internal tooling development. The speaker highlights the advantages of MDE, such as raising the level of abstraction and enabling collaboration between developers and domain experts, while also acknowledging its limitations when dealing with highly dynamic and unpredictable requirements.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @inponomarev

This video discusses the use of tools like test containers and mocks to improve developer productivity and testing. The speakers highlight the strengths and limitations of each approach, emphasizing the importance of understanding the business needs and technological constraints to find the right solution for complex integration testing scenarios.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @vincentmayers

The video discusses the upcoming Java conferences in the United States, including the resurrection of JavaOne, the largest Java conference in the world, and the various other Java and front-end conferences organized by the Atlanta Java User Group. The speakers highlight the importance of consistency and community engagement in the success of these conferences.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @sawantakshata02

This video discusses the challenges of designing and evolving public APIs, and how AI-enabled tools can potentially assist in this process. The speaker explores the potential benefits and limitations of using AI to help design APIs that are both effective and reliable for developers.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @codepo8

The video discusses the challenges and opportunities presented by the rise of generative AI, particularly in the context of conference talks and developer communities. The speaker also highlights the importance of fundamental programming skills and problem-solving abilities, and introduces a coding competition called 'Code 100 Death' that aims to promote these skills.

Machine Learning

Is it (F)ake?! Image Classification with TensorFlow.js by CARLY RICHMOND

The speaker, Carly Richmond, discusses her journey in building an image classification model using TensorFlow.js to identify cakes in images. She shares the challenges she faced in gathering and cleaning the data, experimenting with pre-trained models, and ultimately leveraging transfer learning to improve the accuracy of her model.

Music

Highscores: A History of Computer-Programmed Music by ANDERS NORÅS

This talk explores the history of computer-programmed music, from the first compositions generated by mechanical computers in the 1950s to the recent advancements in AI-generated music. It highlights the evolution of computer music technology and its impact on the music industry, while emphasizing the importance of human creativity and emotional connection in the art of music-making.

Observability

Distributed Tracing in Java? OpenTelemetry for the Rescue! by DOTAN HOROVITS

This talk explores the use of distributed tracing in Java applications, highlighting the challenges of debugging and performance issues in microservice architectures. The speaker introduces OpenTelemetry, an open-source framework for generating and capturing telemetry data, and discusses the various instrumentation strategies, including automatic and manual approaches, to integrate tracing into Java applications.

Continuous Profiling, the missing piece in your observability puzzle! by MOHAMMED ABOULLAITE

The presentation covers the importance of continuous profiling as a key component of observability, providing insights beyond the traditional pillars of logging, metrics, and tracing. It demonstrates how continuous profiling can help optimize application performance, detect regressions, and improve troubleshooting, ultimately leading to cost savings and a better user experience.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @ladymeyy

The video discusses a catastrophic incident that occurred during a major infrastructure change in a Kubernetes cluster. The speaker, May, shares the lessons learned, including the importance of having a robust rollback strategy, a collaborative team culture, and thorough testing of the infrastructure itself.

Performance Engineering

Finding Java's Hidden Performance Traps by VICTOR RENTEA

The presentation explores techniques for finding and resolving performance issues in Java applications, including using tracing, profiling, and monitoring tools to identify bottlenecks and optimize code. The speaker demonstrates how to leverage Java Flight Recorder, Prometheus, and other tools to gain visibility into application behavior and address common performance problems such as connection pool starvation and inefficient database queries.

Pushing Java to the Limits: Processing a Billion Rows in under 2 Seconds by ROY VAN RIJN

This talk explores how the speaker optimized a Java program to process a billion rows of data in under 2 seconds, utilizing techniques like parallel processing, memory mapping, and branchless programming to leverage the underlying hardware architecture. The speaker's journey highlights the importance of understanding system-level details and the power of a collaborative community in pushing the boundaries of Java performance.

Garbage Collection in Java: The progress since JDK 8 by STEFAN JOHANSSON

The presentation covers the progress in garbage collection in Java since JDK 8, highlighting the improvements in performance, latency, and memory overhead across different collectors such as Serial, Parallel, G1, and CMS. The speaker discusses the trade-offs between throughput, latency, and footprint, and presents real-world success stories from companies like Netflix and Mercado Libre that have benefited from upgrading to newer Java versions.

Security

Secure, Test, Repeat: A Guide to Spring Security Integration Testing by LAURENTIU SPILCA

The presentation covers the importance of writing integration tests for Spring Security configurations, discussing three approaches: using mock users, using a source for mock users, and handling custom authentication. The speaker demonstrates examples and highlights the considerations for each approach, emphasizing the need to understand the testing context and ensure meaningful tests for authorization.

Breaking AI: Live coding and hacking applications with Generative AI by SIMON MAPLE & BRIAN VERMEER

The talk explores the use of generative AI in software development, highlighting both the benefits and risks. The presenters demonstrate how to build a coffee application using AI-generated code, while also identifying and addressing security vulnerabilities that can arise from blindly trusting AI-generated outputs.

The State of Malicious ML Models Attacks by HAREL AVISSAR

The talk discusses the emerging threat of malicious machine learning (ML) models, highlighting the risks of using pre-trained models from public repositories like Hugging Face. The speaker emphasizes the need for DevSecOps practices to secure the ML model supply chain and protect organizations from potential attacks.

From Java 17 to 21: A Showcase of JDK Security Enhancements by ANA-MARIA MIHALCEANU

This talk provides an overview of the key security enhancements introduced in the Java Development Kit (JDK) from version 17 to 21. It covers topics such as the introduction of post-quantum cryptography algorithms, the deprecation of the Security Manager, and the improvements made to the Java Cryptography Architecture (JCA) and related tools.

Stop giving root access and start securing your Kubernetes clusters instead by TIFFANY JERNIGAN

This talk discusses the importance of securing Kubernetes clusters by focusing on authentication and authorization, rather than simply granting root access. The speaker demonstrates various techniques for managing user access, including the use of certificates, OIDC tokens, and service accounts, as well as the implementation of role-based access control (RBAC) to fine-tune permissions.

More tales from the Dark Side: How AI is the bad guys new friend by STEVE POOLE

The talk explores the growing threat of AI-powered cyber attacks, highlighting how criminals are leveraging AI to create sophisticated scams, deepfakes, and other malicious tools. The speaker emphasizes the need for developers to be more critical and vigilant in their software supply chain management, as well as the potential for formal verification techniques to provide a more rigorous defense against these emerging threats.

DevSecOps in Action: Achieving Continuous Compliance with GitLab by DOMINIQUE TOP

The talk explores how GitLab's DevSecOps platform can help organizations achieve continuous compliance and security throughout the software development lifecycle. The speaker demonstrates GitLab's features for vulnerability management, compliance frameworks, scan execution enforcement, and merge request approvals, highlighting how these capabilities can empower developers to build secure software while maintaining compliance with regulations like the EU's Cyber Resilience Act.

A Passwordless Future! Passkeys for Java Developers by DEEPU SASIDHARAN

The talk discusses the issues with passwords and how passkeys, a passwordless authentication solution based on public-key cryptography, can address these problems. The speaker provides an overview of the technical foundations of passkeys, the different types of passkeys, and the implementation details in the context of Java and Spring Security.

Shield your backend from outside attacks with API Managers by BARBARA TERUGGI

This talk explores the benefits of using API platforms to enhance the security of backend applications. The speaker discusses how API platforms can help mitigate various API security risks, such as broken authentication, broken function-level authorization, and unsafe consumption of APIs, through centralized security policies, authentication, and authorization controls.

🛡️🤖 Private Intelligence: Harnessing AI's Power Without Compromising Privacy

This presentation explores techniques for leveraging the power of AI while preserving data privacy, including data loss prevention, data masking, and data substitution. It also discusses the potential of local inference using open-source language models to perform tasks without relying on third-party APIs, and introduces the concept of confidential computing for further securing data processing.

The AI Elections: How Technology Could Shape Public Sentiment

The talk discusses the potential dangers of AI technology, such as deep fakes and social media bots, and their impact on public sentiment and democracy. The speakers also demonstrate various AI-powered tools they have developed, while emphasizing the need for critical thinking and fact-checking to combat the spread of misinformation.

Spring Security: The Good Parts by DANIEL GARNIER-MOIROUX

This talk provides an in-depth exploration of Spring Security, focusing on its core concepts and implementation details. The presenter demonstrates how to create custom filters, understand the authentication process, and leverage the authentication provider to build secure web applications with Spring Security.

Don't Get Burned! Secure Coding Essentials in Java to protect your application by BRIAN VERMEER

This talk emphasizes the importance of secure coding practices in Java development, particularly in addressing common vulnerabilities such as SQL injection, file uploads, XML parsing, and cross-site scripting. The speaker provides practical solutions and tools to help developers identify and mitigate these security risks, emphasizing the need for a proactive and collaborative approach to ensure the overall security of the application.

Securing the Supply Chain for Your Java Applications by THOMAS VITALE

The talk discusses strategies and tools for securing the software supply chain, including securing source code, managing dependencies, generating software bill of materials (SBOM), and ensuring the integrity of the build process. The speaker emphasizes the importance of considering people, practices, and organizational structure in addition to technological tools for effective supply chain security.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with @deepu105

This video discusses the concept of passkeys, a password-less authentication solution that uses public-private key cryptography for secure login. The speaker explains how passkeys work, their advantages over traditional passwords, and how developers can implement passkey support in their applications.

Serverless

Going serverless with Quarkus, GraalVM native images and AWS Lambda by BERT JAN SCHRIJVER

The talk discusses the speaker's experience in migrating a conference app backend from a traditional Java application running on virtual machines to a serverless architecture using Quarkus, GraalVM native images, and AWS Lambda. The speaker demonstrates the development workflow, deployment process, and cost savings achieved by leveraging serverless technologies.

How to save millions over years using KEDA ? by SOLENE BUTRUILLE

This talk explores how the speaker's company, BlackRock, leveraged the Kubernetes Event-Driven Autoscaling (KEDA) tool to optimize resource utilization and improve the user experience for their Aladin Compute platform. The presentation covers the challenges faced in implementing KEDA within a large enterprise, the technical setup, and the potential cost savings achieved through more efficient resource allocation.

Brick-by-Brick: Exploring the Elements of Apache Kafka® by DANICA FINE

This talk provides a comprehensive introduction to the key elements of Apache Kafka, including topics, partitions, producers, consumers, and the broader Kafka ecosystem. The speaker explores how Kafka can be used for real-time data processing and integration, emphasizing the flexibility and scalability of the platform.

#BuildPropulsionLab at #DevoxxUK: @jbaruch with Mark Sailes

The video discusses the AWS Lambda serverless computing service, particularly its support for Java development. It highlights the new Lambda Snapstart feature, which addresses the cold start issue by taking a snapshot of the running Java application and allowing it to be restarted quickly, improving performance and reducing costs for Java workloads on Lambda.

Streaming

Robust and Scalable Streaming Data Pipelines with Apache Flink by HONG LIANG TEOH

This talk discusses the challenges of building robust and scalable streaming data pipelines, and how Apache Flink can help address these challenges. The speaker demonstrates Flink's capabilities in handling backlog processing, out-of-order data, and late arrivals, using real-time event processing and analytics as a use case.

Sustainability

Decarbonising code by SHIRLEY TARBOTON

This talk discusses strategies for reducing the carbon footprint of software development, including optimizing code, testing practices, and the use of tools and hosting infrastructure. The speaker emphasizes the importance of making sustainable choices at every stage of the software development lifecycle to mitigate the environmental impact of the systems we create.