Talks

I like to give talks at numerous occasions. More specifically: conferences, user groups and workshops. In this list you'll find talks I gave with the abstract and links to the slides - in general you find most of my slides at Speaker Deck and slideshare.

It’s About the Humans, Stupid (Lighting) (Pivorak 2017)

In the development world most people are striving for technical excellence: better code, faster run times, more convenient interfaces, better databases, faster deployments… But is that really what makes us better at developing software?

In the end software development is done by groups of people creating products together. To do that communication and collaboration between humans is essential – you can be the best programmer ever, if you can’t efficiently work with others what good does it do you?

This talk will give you a primer and food for further thought.

Slides: PDF, Speakerdeck, Slideshare

How fast is it really? Benchmarking in Practice (Ruby) (WRUG 2017, Pivorak 2017)

“What’s the fastest way of doing this?” – you might ask yourself during development. Sure, you can guess what’s fastest or how long something will take, but do you know? How long does it take to sort a list of 1 Million elements? Are tail-recursive functions always the fastest?

Benchmarking is here to answer these questions. However, there are many pitfalls around setting up a good benchmark and interpreting the results. This talk will guide you through, introduce best practices and show you some surprising benchmarking results along the way.

Slides: PDF, Speakerdeck, Slideshare

How fast is it really? Benchmarking in Practice (Elixirlive 2016, Elixir Berlin 2016, hh.ex 2017, Erlang User Confernce 2017)

“What’s the fastest way of doing this?” – you might ask yourself during development. Sure, you can guess what’s fastest or how long something will take, but do you know? How long does it take to sort a list of 1 Million elements? Are tail-recursive functions always the fastest?

Benchmarking is here to answer these questions. However, there are many pitfalls around setting up a good benchmark and interpreting the results. This talk will guide you through, introduce best practices and show you some surprising benchmarking results along the way.

Slides: PDF, Speakerdeck, Slideshare

What did AlphaGo do to beat the strongest human Go player?(Full Stack Fest 2016, Strange Group 2016, Codemotion Berlin 2016)

This year AlphaGo shocked the world by decisively beating the strongest human Go player, Lee Sedol. An accomplishment that wasn’t expected for years to come. How did AlphaGo do this? What algorithms did it use? What advances in AI made it possible? This talk will briefly introduce the game of Go, followed by the techniques and algorithms used by AlphaGo to answer these questions.

Slides: PDF, Speakerdeck, Slideshare

Elixir & Phoenix – fast, concurrent and explicit (Rubyconf.pt 2016, RUG-B 2016, vilnius.rb 2016, Codemotion 2016)

Elixir and Phoenix are all the hype lately – what’s great about them? Is there more to them than “just” fast, concurrent and reliable? This talk will give a short intro into both Elixir and Phoenix, highlighting strengths, differences from Ruby/Rails and weaknesse

Slides: PDF, Speakerdeck, Slideshare

Beating Go Thanks to the Power of Randomness (Rubyconf 2015)

Go is a board game that is more than 2,500 years old (yes, this is not about the programming language!) and it is fascinating from multiple viewpoints. For instance, go bots still can’t beat professional players, unlike in chess.

This talk will show you what is so special about Go that computers still can’t beat humans. We will take a look at the most popular underlying algorithm and show you how the Monte Carlo method, basically random simulation, plays a vital role in conquering Go's complexity and creating the strong Go bots of today.

Slides: PDF, Speakerdeck, Slideshare

Optimizing for readability (Codemotion 2015, Vilnius.rb 2016)

What do software engineers do all day long? Write code? Of course! But what about reading code, about understanding what’s happening? Aren’t we doing that even more? I believe we do. Because of that code should be as readable as possible! But what does that even mean? How do we achieve readable code? This talk will introduce you to coding principles and techniques that will help you write more readable code, be more productive and have more fun!

A remix with added knowledge of "Code is read many more times than written".

Slides: PDF, speakerdeck, slideshare

Building Crystal in Crystal (Ruby user Group 2015)

Crystal is a compiled ruby-like language and the compiler is written in Crystal itself. That means we can build crystal in crystal! The dream of rubinius come true! Explore a live session trying to implement a new feature in crystal!

This is an impromptu talk exploring what happens if you take a Ruby developer with slight crystal knowledge and let him do a live coding session implementing features in the crystal language itself. Exciting!

(impromptu talk as a talk had to be cancelled)

Slides: PDF, Speakerdeck

Code is read many more times than written (Ruby User Group 2013)

This statement changed my view of Software Engineering. Forever. Code is just written once, but read many times. This is why we should put extra effort into writing good code.

In this talk you will learn how to write readable code. Techniques and patterns will be presented to make your code as understandable and easy to work with as possible. Also higher level concepts to keep a code base nice, tidy and clean will be discussed.

The ultimate goal of this session is to make your life as a programmer more enjoyable. Working with good code is just so much more productive and fun that it really makes a difference in your day-to-day job. Writing readable code might be an investment, but it pays its interest rate every day.

Slides: PDF (attention, close to 20MB), speakerdeck, slideshare

Shoes - The Ruby way to GUI applications (JRubyConf 2013, Vilnius.rb 2015)

We build web applications and command line applications with Ruby - but what about graphical desktop application? There used to be this Shoes thing, but isn't that dead?

No it's not! Shoes4 is being developed right now by a dedicated team. Let me tell you all about it and introduce you to this beautiful DSL I fell in love with.

This presentation actually is a shoes application, with the slides described in a nice DSL and interactive samples. As it has no PDF export (yet) the slides are just screenshots :-)

Slides: repository with instructions how to run it, PDF, speakerdeck, slideshare

Web Workers - Heavy Lifting on the Client Side (Berlin.js 2013)

Web Workers are your possibility to do some of the heavy lifting on the client side without blocking the main thread and ever touching the backend! They are ready to use as all major browsers, yes even IE, support them. You can even write a ray tracer purely on the client side of the browser. So it's time to get crazy and creative - this talk can get you started.

Slides: PDF, speakerdeck, slideshare

Introduction into web applications (Rails Girls Berlin 2012-...)

An introduction presentation I gave a lot of times at Rails Girls Berlin work shops and at my Rails course at the Humboldt university Berlin. It covers the basics of what web applications are and how the different parts of a web application play together.

Slides: PDF download, Speakerdeck, Slideshare