FOSDEM 2023 Kotlin day
I visit nearby conferences or interesting events often. And usually, I share high-level summaries about the event, talks and other notable things. This is the experiment to share with the bigger group. Let’s see how it goes.
You can find the official event page here with videos.
The travelling from Amsterdam to Brussels is fine. One day trip is a bit challenging since early wakeup and late going to bed. But if you are lucky to have a direct train, then it is not so stressful.
I enjoyed walking at night in Brussels and extensive reading on the train. However, next time I will make a multiday trip to enjoy evening beers and a more relaxed schedule. My relationship with Belgium is love and hate but this is the topic of another post.
I read the book “Engineering reliable mobile applications”. And I will bring some key points discussion to our current approaches to SRE at the company and to the Android chapter meeting later. On the way back I started reading a book about the history of Ukraine “Gates to Europe”.
The networking could have been improved due to small breaks and non-stop talks. Still, I could talk/shake hands with everyone I planned to meet Simon Vergauwen, Martin Bonnin and Paolo Rotolo. There was also a huge Kotlin community — Nicola Corti, Sergei Rybalkin, Russell Wolf, Arnaud Giuliani, Louis CAD and many others.
Talks and bullets (not every talk landed on my list):
- The state of the Kotlin — nice summary for the state of compiler, tooling and nearest plans. This was talk from community people so more insights and definite plans will be at the Kotlinconf. The main things: 1) K2 compiler is maturing and promising nice improvements, IDE experience should also improve from this; 2) KMM should go to stable release with some improvements; 3) Surprise but in Kotlin code came line with the notion of the v2 of the language.
- KMP talk from TouchLabs — some practical things shared when you write production project with KMM and not just toy example. The Kotlin Native iOS part is still painful because of the tooling and Swift interop. Some tooling/projects to review: 1) KamPKit (the tutorial for KMM on the production scale); 2) KMMBridge — a tool to publish iOS frameworks, part of KMM library.
- Reflection functionality on KMP project — a charismatic speaker and exciting talk about the attempt to write mocking Kotlin library for multiplatform. Nice introduction to the Kotlin compiler plugin and Kotlin Symbol processing approaches. And some insights into how the team decided to tackle the problem and its outcome. Check MocKMP. I also marked to see what is available at Kodein Open Source initiative.
- Rust and KMP — nice talk about trying to use Rust in Kotlin multiplatform project. The goals and benefits of this approach. And the pain of tooling with implementation. Nice detail — the speaker said that Rust community is more pleasant than Kotlin one. The gradle plugin was announced that would make the Rust in KMP easier on the tooling level.
- KMM experience talk — I was more interested in this talk since one of the presenters is Paolo, with whom we worked a long time ago on the open source project, and finally, we met in offline. The talk summarised the pains of using KMM in iOS and different approaches to how the team made things nicer. However, it didn’t look like something production ready and immediate to use in your project. The library name is Koru.
- Functional Kotlin — talk from Arrow core maintainer. Interesting ideas to treat `suspend` as a function with side effects that will enforce compiler check that it is used in proper context. Also presentation about `Raise` sounds like checked exceptions in Java with less verbosity.
- Be pushy about Kotlin — Kotlin expansion talk that we should all advocate and spread language if we want it to succeed.
- Vonage SDK talk about library rewrite in KMM — mostly was interested since we are users of that library. We have difficulties with it in production. Hopefully, their rewrite will make some things stable and lower the rate of the crashes we had before.
- Koin talk — a nice short extra about recent Koin changes and roadmap. You can use annotations and also remove multiple `get` in your code with the new version.
- Shrink Kotlin code — nice tech talk about the bytecode produced by Kotlin compiler. The metadata information and how you can manipulate it. However, the code of the Proguard core looks super OOP and painful to read. Nice flashback from old times.
- Tock chat — entertaining talk about creating a chatbot. If I knew about this project, I would use it instead of some solution when I was helping with the chatbot for Ukrainian refugees. Unfortunately, it doesn’t have support for the telegram yet.
- Data oriented programming — The talk I saw at Kotlin Day in Amsterdam. Comparison of the OOP, Functional and Data-oriented programming.
- Vitamin — the talk about the project to implement/maintain the design system from Figma to KMP. Some ideas rang the bell with what we are doing and I want to come back to check if we can improve things at Doktor with them.
- How to test Compose — An introduction talk on how to write UI tests for Compose and the current state of it.
The next important gathering will be Kotlinconf 2023. Nice to notice that some talks from FOSDEM were prepared for it, and I already have a grasp of their content.
Sorry people, I tagged in this article. I thought you would be happy to be mentioned on one more internet page.
The writing on Medium is a skill that I lost or never achieved.
And let me know if you like such format that would motivate me to continue.