Talks
Besides writing software, both for fun and for profit, I also regularly speak at conferences and meetups. Since 2015, I’ve given over 70 talks at more than 40 different events in roughly 20 countries. This ranges from small meetup sized Java User Groups to large international conferences (such as JavaOne, Devnexus, JavaZone, Devoxxes and J-Fall). Besides public events, I’ve also spoken on invitation at closed events at companies and delivered guest lectures at various schools for primary education and professional education.
My full talk portfolio is listed below. Contents and titles vary slighlty over time, as I’m always seeking to improve the contents. If you feel that one of these talks fits in your event theme or schedule, feel free to reach out! I’m particularly passionate to speak about open source, Java and software architecture.
Please note that I’ve marked some talks as “retired”. There can be various reasons for that: the content may be outdated, the topic may no longer be relevant. Or maybe it is just me struggling be enthousiastic about it anymore. I’ve included them for reference, but prefer to no longer deliver those talks.
Wait no more, here comes Maven 4! #
You may feel that Apache Maven is done by now. For many people, Maven 3 is the only version of Maven they have ever used, and it has never seen large breaking changes. Those who have been using Maven 2 before may remember that transitioning to Maven 3 was a fairly painless journey.
Did you know it’s been roughly ten years since the first steps were made on the road to Maven 4? Yet it was only this year that the first beta releases of Maven 4 were published. What a release Maven 4 will be! In the last years, there have been numerous blogs, videos and talks about things that the Maven team has been working on. In this talk, we will bring everything together to give you a thorough review of the things that are ahead.
We will cover both internal changes and external changes, highlighting the impact it will have on you as a user of Maven. Whatever your role, if you use Maven you can’t miss this session.
Conference | Date | |
---|---|---|
Devoxx | Oct 7, 2024 | |
with Robert Scholte |
Accelerating Maven Builds From Snail's Pace š to Rocket Speed š #
Are you tired of watching Maven builds crawl at a snail’s pace, wasting precious development time? Spending too much time at the coffee machine, or fighting battles with wooden swords under the excuse “my code’s compiling”?
Join us to learn how to supercharge your Maven build! We’ll cover three main steps to start speeding up your project build. Learn how each speeds up your build, when they provide the biggest gains, and what pitfalls await.
So take the next step in boosting your developer productivity by learning practical tips to decrease context switching and increase development speed and feedback cycle. Your journey from snail’s pace to rocket speed begins today!
Conference | Date | |
---|---|---|
JSpring | Jun 13, 2024 | |
JCon Europe | May 15, 2024 | |
with Benjamin Marwell |
The State of Server-Side Java Webapps #
So, your application needs a web interface. Looking at today’s trends, you might think JavaScript frameworks are reigning: React, Vue, Angular and many more. On the language axis, JavaScript got company from TypeScript, Web Assembly and even C#.
But it’s not all single-page applications that glitter! Of course, a single-page app delivers highly dynamic and interactive user interfaces, but at what expense? What if we revisited some of the ages past, when the server generated our web pages? Can we satisfy the ever-changing requirements of today’s users for more interaction and dynamic behaviours using these patterns?
Join me on a trip down memory lane so that we can appreciate server-side web applications again. We’ll investigate today’s options for keeping things simple. Of course, we’ll see the contestants in action. This doesn’t have to be boring, after all…
[ This Could've Been Your Spot ] #
Yes, you’ve read that correctly - this talk and this stage could’ve been yours. You’re wondering how to make that happen? I’ll take you to the wonderful world of “call for papers”, “abstracts” and acceptance processes.
You might have reasons why you think you’re not up to this. But let’s see whether those excuses are genuine or if we can eliminate them.
Conference | Date | |
---|---|---|
Not yet scheduled or given. |
What's cooking in Maven? #
It’s been over 10 years since Apache Maven 3 saw the light, bringing initial multi-module support. Later releases brought a lot of improvements, bug fixes, and of course coloured output.
But the Maven community hasn’t been resting on their laurels. A lot of effort has gone into the future of Maven. You may have heard about Maven 4, Maven Wrapper, or Maven Daemon. Why should you care? And how will it change the way you use Maven? I will show you by using the latest snapshot builds of Maven - time will tell if that’s a brave or a stupid ideaā¦
Join me to find out what the future of Maven has for you!
SSL/TLS for Mortals #
Using SSL/TLS the right way is often a big hurdle for developers. We prefer to have that one colleague perform “something with certificates” because he/she knows how that works. But what if “that one colleague” is enjoying their vacation and something goes wrong with the certificates?
In this session, we’ll take a close look at secure communication at the transport level. Starting with what exactly SSL and TLS is, we’ll dive into public/private keys, and signing. We’ll also learn what all this has to do with an unfortunate Dutch notary. Of course, there’ll be plenty of practical tips & tricks, as well as demos.
Attend this session to become “that one colleague”!
Release your creations into the world with JReleaser! š #
As a developer, you’ve been getting dependencies and applications from places like Maven Central, Homebrew and Chocolatey. Have you ever wondered how you can add your own creations to those packagers and repositories? Wouldn’t that be cool?!? Anyone worldwide being able to install your CLI or use your library with the tools they already use?
In this talk, we’ll show you just how fast and easy it can be to do just that! We’ll show you practical examples, like sharing a CLI app through Homebrew or publishing your library on Maven Central while announcing it on social media, all using JReleaser! After this talk, you’ll have learned exactly what this free Open Source tool has to offer and you’ll know why we are so excited to tell you about it!
So strap on your jetpack and join us as we show you how to package, publish, release and announce your creations at the speed of light!
Five ways open source will slow you down #
Software is changing the world - and even other planets. An ever-growing part of software is “open source”. But it hasn’t always been that way! And “doing something open source” is definitely no guarantee for success. There are numerous ways in which you can use open source software and be worse off than if you did not.
Join me in this talk to find out how not to leverage open source software in your organisation and your projects. Find out why reading the documentation may not always be your best bet, or how a workaround may eventually work against you. By investigating 5 ways in which you can fail, we can learn valuable lessons on what to do instead.
Making Maven Marvellous # (retired)
Have you ever used Maven, ran into a bug and thought: “How on earth can a project this old have this bug?”. Then join this session! Maven, although a well-known and well-trusted project, is run by a relatively small bunch of people. There’s simply more work to do than these people can do!
So instead of getting angry, or looking for alternatives, you can contribute to Maven yourself and work on making it even better. Join us on our journey from “how on earth” to “works like heaven”. We’ll discuss how we did it, what we did, and most importantly: how you can start contributing to Maven as well!
As you walk out of the room, better reserve some time in your calendar to start working on that bug ;-).
Conference | Date | |
---|---|---|
Devnexus | Apr 13, 2022 | |
with Giovanni van der Schelde | ||
Java.IL | Dec 22, 2021 | |
with Martin Kanters | ||
JavaZone | Dec 8, 2021 | |
with Martin Kanters | ||
J-Fall | Nov 4, 2020 | |
with Martin Kanters |
Dapr: Dinosaur or Developer's Dream? # (retired)
Dapr is a cloud-native platform that aims to simplify cloud-native application development. It lets you abstract your distributed architecture from the underlying infrastructure that powers it. Forget about Kafka, RabbitMQ or any cloud-specific product: you’re talking with a pub/sub broker. Let Dapr take care of how it works. Want to switch later? Sure, no problem!
This may sound familiar… Wasn’t Jakarta EE supposed to solve these kinds of issues, too? Maybe, Dapr is just the new J2EE application server? Or will it change the way we develop distributed solutions? Join me in this talk to find out if we’re looking at a dinosaur in a fancy suit, or a developer’s dream.
Building distributed applications with Dapr # (retired)
Dapr is an open-source, event-driven, portable runtime for distributed applications. It provides building blocks to make it easy for developers to build resilient microservice applications using a variety of languages and frameworks.
In this workshop, you’ll learn how to turn a sample blocking, REST-based application landscape into a resilient, event-driven architecture. Using step-by-step assignments, we’ll cover a large set of Dapr building blocks, and you’ll learn the benefits and drawbacks of using Dapr.
Conference | Date | |
---|---|---|
DaprCon | Oct 20, 2021 |
React in 40/45/50 minutes #
You’ve heard about React, the JavaScript library for building web applications? And you’re wondering how to use it beyond the “Hello, World” stage? Then this talk is for you! Join me in an action-packed session full of live code examples where we’ll discover how you can use React to build the hottest web applications while keeping your head cool.
When you leave the room, you’ll know enough to build real-world web applications!
Beware of Survivorship Bias! #
Most talks on a typical conference schedule contain success stories of technology. This could lead to survivorship bias. Survivorship bias causes you to draw false conclusions because you mostly heard about successes, but hardly ever about failures. Yet failures provide us with lots of valuable knowledge: when not to apply a certain technique, pattern or process.
So no success stories in this talk! Just some ‘silver bullets’ we tried to use to solve our problems, but turned out to be Very Bad Ideasā¢. We’ll share how survivorship bias can easily influence your ideas and cloud your judgement.
After attending this talk you’ll be more aware of survivorship bias and what you can do to keep your head cool, no matter how many ‘silver bullets’ are fired at you.
Conference | Date | |
---|---|---|
Devnexus | Apr 10, 2024 | |
with Hanno Embregts | ||
JCon Europe | Jun 20, 2023 | |
with Hanno Embregts | ||
J-Fall | Oct 31, 2019 | |
with Hanno Embregts |
Building a DSL with GraalVM # (retired)
GraalVM is a virtual machine that can run many languages on top of the Java Virtual Machine. It comes with support for JavaScript, Ruby, Pythonā¦ But what if you’re building a DSL, or your language is not listed? Fear not!
In this session we’ll discover what it takes to run another language in GraalVM. Using GraalVM, we don’t only get a fast runtime, but we’ll also get great tool support. With Brainfuck as an example, we’ll see how we can run guest languages inside Java applications. It might not bring us profit, but at least it will bring some fun.
Mastering Microservices with Kong # (retired)
When architecting microservice solutions, you’ll often find yourself struggling with cross-cutting concerns. Think security, rate limiting, access control, monitoring, location-aware routingā¦ Things can quickly become a nightmare.
The API Gateway pattern can help you solve such problems in an elegant and uniform way. Using Kong, an open source product, you can get started today. In this session we’ll look at the why and how of this approach.
Disclaimer: This presentation may include live coding. No humans or animals will be hurt during the process.
How To Stay Responsive With 400 Backends # (retired)
In these days of web scale and microservices, gracefully handling faulty or crashing web servicesĀ becomes increasingly important. As long as your application uses just a handful of such external systems, thereās no problem. But what if you have hundreds of them? How will you prevent your application from the negative effects of inevitable incidental crashes or timeouts when contacting other systems?
In this talk, we’ll take a real-world case from a web scale system. This system is targeted at 7 million users and has around 400 heterogeneous external integrations. Akka and Scala power a system that is capable of running smoothly even when some of these services might not be so stable.Ā
Building web applications with React # (retired)
Getting started with React is easy, but building real-world applications can be a bit harder. How do you go beyond the “Hello, World” stage to build applications that are ready for prime time?
In this workshop we’ll cover modern JavaScript, “thinking the React way”, interacting with data sources, error handling and many more topics. We’ll use this to build a web application that is ready to shine. As a bonus, you’ll learn some of the React internals that enable you to write better applications.
Building cross-platform mobile apps with React Native # (retired)
There’s nothing more expensive than building the same thing twice. Yet that is what a lot of companies do when they publish a mobile app: they build one for Android and one for iOS. But wait, you don’t have to! Using React Native, you can build one mobile app for both platforms from one code base using a language you’re probably already familiar with - JavaScript.
In this session, we’ll discuss building a simple word game app for both iOS and Android. First, we’ll dive into how React Native works and how to build a basic application. Then, we’ll dive into the Redux framework, which helps us building predictable state and allows for great testability of our application. Finally, we look at how the two integrate and how the game is built.
Outsmarting the Smart Meter # (retired)
Starting 2014, all Dutch households are receiving a “smart meter” to replace their old meter systems for electricity and gas. They’re called “smart”, but are they really? Most meters just send their data to a central point using GPRS. Using third party services, consumers can get an insight in their energy usage.
But we’re technicians, we can build something better ourselves. All it takes is a prefab cable (or some soldering), code, patience and a beer. Using Scala plus Akka for the backend, TypeScript plus React for the frontend and Websockets for communication you can build your own energy dashboard. En passant, we might even see a little Akka stream dropping by.
Attend this session to discover how to outsmart your Smart Meter!
ELK: BigData for DevOps # (retired)
Big Data is often related to companies like Google, Facebook or Twitter. Indeed, 500 bilion tweets a day, 1,3 billion active Facebook users or 30 billion web pages to search, we’re talking ‘Big Data’. Many smaller companies have Big Data, too, without knowing it: application log files.
This talk discusses how to use Elasticsearch, Logstash and Kibana to gain insight in these data. Apart from the general picture, it covers a detailed walk-through of how to configure Logstash for filtering sensitive data from log files. It also covers a real-world example at a major Dutch bank, including common pit falls, best practices and lessons learned.
After attending this session you will be able to leverage the power of the ELK stack for your own application. Even for smaller companies and applications, a lot of knowledge can be gained from proper insight in your production environment.