Kotlin Meetup XL in Hilversum

July 5, 2022

Kotlin Meetup XL in Hilversum with Bruce Eckel

Xebia HQ @ Hilversum
Laapersveld 27

Event info:
July 5th, 16.00 – 21.00
This extended meetup or mini-conference is part of a larger event and has a max capacity of 40 attendees. First come, first serve.

Signing up means that we’re expecting your attendance

Program overview:

15.55 – 16.00 – Short Intro
16.00 – 16.45 – Alejandro Serrano Mena: How context receivers solve the nested configuration problem (and two more!)
16.45 – 17.15 – Bjorn van der Laan: Spring Webflux applications with Kotlin coroutines
17.15 – 18.00 – Urs Peter: Project Loom vs Kotlin Coroutines

18.00 – 19.00 – Walking Dinner, Drinks & Socializing

19.00 – 19.45 – Bruce Eckel: Smarter Types with Data Classes
19.45 – 20.15 – Jeroen Rosenberg: Kotcha!
20.15 – 21.00 – Arne Staphorsius: Looking at Jetpack Compose as a React developer

21.00 – ∞ – Drinks & Socialize / Network

Session Info

How context receivers solve the nested configuration problem (and two more!)
By Alejandro Serrano Mena

Context receivers are one of the newer features in Kotlin, allowing us to declare additional inputs which are gathered and threaded from the context. In this talk we’ll see how context receivers, in combination with other Kotlin features, help us solve several recurrent problems in software development without complex patterns. In particular, we’ll look at threading nested configurations around services, declaring and handling errors in a fine-grained way (with the help of Arrow), and injecting type-based functionality (like type classes or implicits in other languages).

Spring Webflux applications with Kotlin coroutines
By Bjorn van der Laan

Spring Framework is one of the most popular Java frameworks. Since version 5.0, Spring offers official language support for Kotlin. Let’s see how we can use Spring’s support for coroutines and the router dsl to write better understandable code.

Project Loom vs Kotlin Coroutines
By Urs Peter

Finally: Project Loom is announced for Java 19 as preview feature! Loom will be a game-changer for the JVM’s concurrency model, delivering ‘reactive’ characteristics out-of-the-box without the need for complex concurrency abstractions. What project Loom tries to achieve is already available in Kotlin through Coroutines. So the nagging question is: What will be the faith of Coroutines once Loom delivers? Will they become obsolete?
In this talk, I will try to answer this question. We will first recap how Coroutines work and what they offer us, explaining the underlying concepts such as structured concurrency, suspend methods, Continuations, etc. We will then look at how project Loom tries to achieve lightweight concurrency and compare it to Coroutines using many live-coded examples. Disclaimer: Loom is not final yet, and things still can/will change, even though Loom’s central philosophy and approach have been stable so far.

At the end of the talk, you will gain a good understanding of what lays ahead of us and what the impact of Loom on Kotlin’s Coroutines will be. Will their raison d’être still hold? Or might Loom even be a blessing in disguise?

Smarter Types with Data Classes
By Bruce Eckel

A type defines a set of values. Historically we haven’t been very good at using encapsulation to ensure that objects stay within that set of values. This code-focused presentation provides a functional approach to Kotlin type design, using Kotlin’s data class to guarantee that each constructed object is a legal value. Your code improves dramatically because now you validate the object in one place, at construction. When data class fields are vals, an object cannot be morphed into an illegal value. A typed object never needs to be re-checked by any function that receives it as an argument or returns it as a result.

BIO: Bruce Eckel (born July 8, 1957) is a computer programmer, author and consultant. His best known works are Thinking in Java, Thinking in C++, and his latest book Atomic Kotlin, aimed at programmers wanting to learn the Java, C++, or Kotlin programming languages, particularly those with little experience of object-oriented programming.

By Jeroen Rosenberg
After programming in Java and Scala for many years, I found a best-of-both-worlds language in Kotlin. Luckily enough I was able to work with Kotlin quite extensively, during projects and training. While doing that I stumbled upon many gotchas that have led to true facepalm and eye-opening moments!

I’ll happily share these (slightly embarrassing) war stories in this talk. To keep things fair, I’ll put your knowledge to the test: May the best Kotcha spotter win!

The winner gets a Kotlin t-shirt!

Looking at Jetpack Compose as a React developer
By Arne Staphorsius

Jetpack Compose is the (relatively) new way of creating UI’s for Android. In this talk, I’d like to take a look at how it works, what the ideas behind it are, and how those compare to a JS framework like React.