Backend engineer at trivago, open-source maintainer, speaker. Writes about Rust, low-level computing, and microwave clocks. About me.

My Talks

Good talks are fun and educational. Here's a list of previous events where I spoke. I try to make every talk and every workshop as unique as possible. If you would like me to speak at your event, let's get connected!

Everything is Broken (And That's Okay!)

  • Event: localhost conference, October 2019
  • Location: Düsseldorf, Germany
  • Slides
Our world is controlled by software. As with everything that is created by humans, software is error-prone. Everyone got annoyed by bugs and UI/UX issues before, but what exactly does "broken" really mean and are there different kinds of brokenness? Let's explore the fun, enthralling, and quirky state of our (digital) world and see what we can do to make it better.

How Does Async Work?

  • Event: Web Meetup Cologne, September 2019
  • Location: Cologne, Germany
  • Slides
If you work with Node.js or Python you might have heard of asynchronous programming a.k.a. async/await. It lets you do something else while you wait on some work to be done in the background - like reading a file or sending some data over the network. But what is it, really? And are there differences between the programming languages? Let's go on a trip through async-land and discover callbacks, event loops, and state machines. We will look at Node's, Python's, and Rust's async features and how they work under the hood.

What is Rust Doing Behind the Curtains?

  • Event: FOSDEM, February 2019
  • Location: Brussels, Belgium
  • Recording
  • Slides
Rust allows for a lot of syntactic sugar, that makes it a pleasure to write. It is sometimes hard, however, to look behind the curtain and see what the compiler is really doing with our code. "It is good to know what these conveniences are, to avoid being mystified by what's going on under the hood... the less magical thinking we have of the world, the better." (Tshepang Lekhonkhobe). In this hands-on talk, we will go from code with a lot of syntactic sugar to extremely verbose Rust code.

We will use a little tool called cargo-inspect, which was built for teaching Rust internals. The goal is to make the compiler more approachable to mere mortals.

Workshop: Write Your Own Shell in Rust

One of the things developers use every day is a shell. It comes in many flavors, like bash, fish or zsh. Depending on your background, writing your own shell from scratch might either sound intimidating or pointless. We like to believe that it can be a fun way to gain more hands-on Rust experience. If you want to play with concepts like I/O, error handling, and syscalls, we invite you to participate in this workshop. Who knows, it could also be an opportunity to start your first mid-size Rust project!

Hyperjson — The Journey Towards Faster Safer JSON Parsing in Python Using Rust

  • Event: Rust Cologne, August 2018
  • Location: Chaos Computer Club, Cologne, Germany
  • Recording
  • Slides
During a recent Python Hackathon in Düsseldorf, Matthias somehow managed to sneak in some Rust code while writing a fast, safe Python module for encoding and decoding JSON. It passes (most of) the Python test suite for the JSON module and was unreasonably pleasant to write. Listen carefully as he tells the story of a little side-project that got out of hand and how Rust can help speed up even the most boring, highly-optimized tasks like parsing file formats in the future.

Idiomatic Rust — Writing Concise and Elegant Rust Code

  • Event: FOSDEM, February 2018
  • Location: Brussels, Belgium
  • Recording
  • Slides
Rust is a big language and it gets bigger every day. Many beginners ask: "What is idiomatic Rust?". This talk will highlight simple tips to make your Rust code more elegant and concise, and introduce you to my peer-reviewed collection of articles/talks/repos for writing idiomatic Rust code.

Workshop: Live Coding Like No One's Watching!

  • Event: RustBeltRust, October 2017
  • Location: Columbus, OH, USA
So, you’ve heard of this “Rust” last year. Still it feels a bit like self-assembly furniture: you don’t know how all the parts fit together. Watch me make a fool of myself by trying to solve some common programming tasks in Rust. Highlights: Nervous laughter, self-demeaning humor, browsing the Rust documentation for clues. I might explain a little Rust along the way.

My Good Friend Rust - An Introduction

  • Event: Topconf, October 2017
  • Location: Düsseldorf, Germany
  • Slides
Rust is more than a Systems Programming language; it's a new way of thinking about low-level code. It has strong safety and concurrency guarantees without sacrificing performance. It provides powerful abstractions that make Systems Programming both, easier and more fun. Let me show you what's in for you and why you should learn Rust, even though you might be a Web-Developer.

What's So Hard About Writing a Slack Client in Rust?

  • Event: Rust Cologne, March 2017
  • Location: Chaos Computer Club, Cologne, Germany
  • Recording
  • Slides
  • Code
"I'll just write a simple API wrapper for that. Give me two hours." Does that sound oddly familiar? Don't be fooled: writing an easy to use, idiomatic abstraction layer is a lot of work - in any language. I want to tell you my story about writing a Slack client in Rust. From documentation to testing and error handling there's a lot of pitfalls to avoid and laughs to share.

Why Rust?

  • Event: Codemotion, May 2016
  • Location: Amsterdam, Netherlands
  • Recording
  • Slides
Rust is the new kid on the block. It's a system programming language that is blazingly fast and offers powerful high-level abstractions better known from dynamic languages like Ruby or Python. Rust offers memory safety without a Garbage Collector and makes low-level programming easier and more secure. I will give an introductory talk about Rust and show some of its nicest features.

Rust Tooling

  • Event: Rust Cologne, October 2015
  • Location: Chaos Computer Club, Cologne, Germany
  • Slides
What tools are available for Rust development? This talk gives you an overview of ways to help you write better Rust code.

The State of PyPy

  • Event: Python Usergroup, April 2015
  • Location: Düsseldorf, Germany
  • Recording
  • Slides
PyPy is a relatively new implementation of Python with a focus on performance. In this talk I give an overview of PyPy and how it works internally. Also I talk a bit about PyPy STM, a new approach for parallel code execution that can take advantage of modern multi-core hardware.

This is just an excerpt. You can find all my other talks on Speakerdeck.
Page view statistics