Besides writing software, both for fun and for profit, I’m also a conference speaker. Below is a list of talks I have delivered so far. A list of events where each talk was delivered is also included.
Contents and titles vary 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!
React in 45/50 minutes #
You’ve heard about React, the user interface library developed by Facebook? 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.
|JFall||Oct 31, 2019|
|with Hanno Embregts|
Building a DSL with GraalVM #
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 #
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.
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 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 & trics, as well as demo’s.
Attend this session to become “that one colleague”!
How To Stay Responsive With 400 Backends #
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 cross-platform mobile apps with React Native #
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 #
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 #
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.