Speaker details

Jarek Ratajski


I love programming since my first line of code I did on the C64 in Basic. Somewhere in 90ties I've switched from C++ to java and spent then 20 Years developing mostly Java software working for various companies and projects.  Now I work for Engenius in Switzerland being Java/Kotlin developer during the days and Scala/Haskell open source hacker at nights.

Transaction is a monad

Programming Languages

Or maybe it is applicative functor?

In this talk, I will explore the concept of monads for a regular java/kotlin developer.
There will be a short theoretical part but then we will explore typical problems – such as security, transaction handling, dependency injection. I will use practical examples and you will learn that in fact, you were using monads for years even if you don't know what the "m word" means.

Scheduled on Saturday from 11:05 to 11:55 in Stream 1

Functional Programming

from functional programming to assembly - the cost of abstractions revisited

Java & JVM

When it comes to performance a lot of developers take as granted statements (myths) that are not always valid, not anymore valid or were never valid.
Performance and benchmarking were always tough topics and in languages such as Scala or Java there so many layers between code and machine that any analysis seems futile.
We will however try to this and check few interesting code snippets down to the "bare metal".
We will use recent JVM versions including graal and some useful tools such as
jitwatch, javap, gc logs, jmh, performance counters.
The next time someone claims something about performance of immutable objects you can measure and check it.


Scheduled on Saturday from 12:10 to 13:00 in Stream 1

Functional Programming
JIT Compiler