kubuszok.com

My presentations

Actually, more like hall of shame because I cannot watch/listen to myself without cringing, but in this day and age, everyone has to be a salesman. Well, not really, but it kind of helps with self-development and getting confidence, so whatever. Remember, kids! You don’t have to be competent to be a public speaker! (Or write a book. Or blog. Or OSS. Or get a job.)

Presentations/workshops/etc. are listed from the newest to the oldest.

2025

Can we have the Standard Library for Macros? presentation (again)

Scala.io 2025 Paris, at La Grande Crypte, on 2025.10.17
Video soon
Code GitHub.com/MateuszKubuszok/ScalaStandardMacroLibrary
WWW MateuszKubuszok.GitHub.io/ScalaStandardMacroLibrary

It was good to come to Paris again, meet wonderful people and disturb their inner peace by talking about Scala macros.

Can we have the Standard Library for Macros? presentation

Scala Days 2025

Scala Days 2025 Lausanne, at SwissTech Convention Center, on 2025.08.21
Video soon
Code GitHub.com/MateuszKubuszok/ScalaStandardMacroLibrary
WWW MateuszKubuszok.GitHub.io/ScalaStandardMacroLibrary

I had a blast with fellow beer Scala aficionados, finally saw the legendary stairs and collected a whole case of swag. Oh, and also talked about some macros.

Automating data transformation - harder than it sounds presentation

Lambda Days Meetup 2025

Lambda Days 2025 Meetup Kraków, at Hevre, on 2025.06.11
Video YouTube
Code GitHub.com/MateuszKubuszok/AutomatingDataTransformation
WWW MateuszKubuszok.GitHub.io/AutomatingDataTransformation

This meant that I had to skip Lambda Days, but I made it to the meetup a day before. It was a great opportunity to speak about code generation and meet some nice people. :)

Slow Auto, Inconvenient Semi - escaping false dichotomy with sanely-automatic derivation presentation (yet again)

Scalar 2025

Scalar 2025 Warsaw, at POLIN Conference Centre, on 2025.03.27
Video YouTube
Code GitHub.com/MateuszKubuszok/derivation-benchmarks
WWW MateuszKubuszok.GitHub.io/SlowAutoInconvenientSemiUpdated

As always, I felt very welcome at Scalar with awesome people from the Warsaw Scala community.

Yet again, I didn’t fit into the time slot for the presentation, but only by a bit.

2024

Guest at Scala Space podcast discussing Derive and conquer (the compile times)

Scala Space 2024

Scala Space streamed on 2024.11.15
Video YouTube

We had a blast with Łukasz Biały, discussing all the stuff about derivation, type classes, Chimney, how we got here and what we can do better.

Slow Auto, Inconvenient Semi - escaping false dichotomy with sanely-automatic derivation presentation (again)

Scala.io 2024

Scala.io 2024 Paris, at EPITA (Kremlin-Bicêtre) on 2024.11.07
Video YouTube
Code GitHub.com/MateuszKubuszok/derivation-benchmarks
WWW MateuszKubuszok.GitHub.io/SlowAutoInconvenientSemi

It was a wonderful conference where I met a lot of friendly people who shared their knowledge with everyone.

I went a bit too long with my talk, but I was the last one on Thursday (the first day of the conference) so it was not a problem.

Slow Auto, Inconvenient Semi - escaping false dichotomy with sanely-automatic derivation presentation

Art Of Scala 2024

The Art of Scala Warsaw, at Multikino (Złote Tarasy) on 2024.10.10
Video YouTube
Code GitHub.com/MateuszKubuszok/derivation-benchmarks
WWW MateuszKubuszok.GitHub.io/SlowAutoInconvenientSemi

I woke up early; it was a beautiful sunny day. The bus arrived on time. The train arrived only a little late. I had a relaxing trip to Warsaw to tell everyone that they are doing it wrong ™. I gave the talk, and it was splendid.

I kept avoiding assassins sent by all Scala libraries’ maintainers until the afterparty.

Domain, API, DTO - translating between layers with Chimney presentation

ScalaWAW #32

ScalaWAW #32 streamed on 2024.04.18
Video YouTube
Code GitHub.com/MateuszKubuszok/DomainApiDtoChimneyExample
WWW MateuszKubuszok.GitHub.io/DomainApiDtoChimney

Warsaw was as hospitable as always. It was a really nice meetup with pizzas, non-alcoholic beers and an extremely professional recording setup.

2023

Type Classes - more than just a strategy pattern presentation

Ya!vaConf 2023

Ya!vaConf streamed at 2023.12.08
Video Available for 3 months on the conference page (VoD).
Code GitHub.com/MateuszKubuszok/TypeClassPresentation
WWW MateuszKubuszok.GitHub.io/TypeClassPresentation

My first remote presentation since covid. It went pretty nicely; the first day of the conference, when all the remote things happened, was well organised.

Scala 2 vs Scala 3 macros presentation

Art of Scala 2023 (again)

The Art of Scala Warsaw, at Multikino (Złote Tarasy) at 2023.11.17
Video YouTube
Code GitHub.com/MateuszKubuszok/Scala2vsScala3Macros
WWW MateuszKubuszok.GitHub.io/Scala2vsScala3Macros

I went slightly overtime, but in general it was an overall nice experience, and staying late a few times that week paid off.

Unveiling the Magic: Chimney’s Internals, Macros & Scala 3 Transition presentation

Art of Scala 2023

The Art of Scala Warsaw, at KinoGram Cinema (Fabryka Norblina) on 2023.05.25
Video Unfortunately, not recorded :(
Code GitHub.com/MateuszKubuszok/ChimneyInternalsPresentation
WWW MateuszKubuszok.GitHub.io/ChimneyInternalsPresentation

Many people were curious about the state of transition to Scala 3 in Chimney and kept on asking me about it. Additionally, I was happy to see everyone from the wonderful Warsaw’s community again. I couldn’t overlook such an opportunity so I killed 2 birds with 1 stone.

The Original Sin of Scala Ecosystems presentation (again)

KSUG 2018

Kraków Scala Users Group Kraków, at Klub Re on 2023.02.16
Video Unfortunately, not recorded :(
Code GitHub.com/MateuszKubuszok/OriginalSinOfScalaEcosystems
WWW MateuszKubuszok.GitHub.io/OriginalSinOfScalaEcosystems

After a warm welcome to my presentation at The Art of Scala, I was asked to show it again in Kraków at KSUG. I agreed, as this was a very nice opportunity to meet all the wonderful people from Virtus Lab, including smart developers working on the compiler and tooling.

2022

The Original Sin of Scala Ecosystems presentation

Art of Scala 2022

The Art of Scala Warsaw, at Magic Mind Museum (Centrum Praskie Koneser) on 2022.11.16
Video Unfortunately, no video - it was recorded, but the video hasn’t been released yet
Code GitHub.com/MateuszKubuszok/OriginalSinOfScalaEcosystems
WWW MateuszKubuszok.GitHub.io/OriginalSinOfScalaEcosystems

After missing out on the first edition, I wanted to be at the second event. The event had a nice intimate vibe, and the talks were held in a cosy, vividly lit hall. There were a lot of interesting discussions, and nobody threw a tomato during my talk! It was nice to see everyone again.

Why Event Sourcing Is hard presentation

Lambda Days 2022

Lambda Days 2022 Kraków, at Auditorium Maximum of UJ + streamed on 2022.07.29
Video YouTube
Code GitHub.com/MateuszKubuszok/WhyEventSourcingIsHard
WWW MateuszKubuszok.GitHub.io/WhyEventSourcingIsHard

Lambda Days 2022 was a great and refreshing experience after a long break from presenting in front of a live audience. I loved how I met many people in person and the discussions we had. It made it easy to go on stage and present what I believed was hardly ever mentioned by many introductions to event sourcing: that once you start dealing with a real project and the real world there are challenges. They are not impossible to overcome (after all we use ES on prod and it works!), but it helps to be aware of certain things upfront.

2021

A Few Tips on Modelling Things in Scala presentation

Scala Love

Scala Love conference streamed on 2021.02.13
Video YouTube
Code GitHub.com/MateuszKubuszok/AFewTipsOnModellingThingsInScala
WWW MateuszKubuszok.GitHub.io/AFewTipsOnModellingThingsInScala

Scala Love set up a high bar for other on-line conferences. It was a pleasure to be there. I presented the topic that became dear to me - how to define your models so maintenance of code would be easier, intentions more self-evident and dealing with the edges of your world (API, DBs) a little less hacky. The topic is huge and I could only cover a small portion of it, so I picked what I believe is both quite important, and hardly ever discussed (= no conflicts with other speakers) - breaking away from omnipresence of flat models, often full of options.

2020

Why You Should Care About the JVM presentation

Scala in the City

Scala in the City streamed on 2020.11.25
Video YouTube
Code GitHub.com/MateuszKubuszok/WhyYouShouldCareAboutJVM
WWW MateuszKubuszok.GitHub.io/WhyYouShouldCareAboutJVM

My first public presentation after a long break. To my surprise, I didn’t go overtime. While preparing it I decided to experiment a bit with drawing and handwriting as something to illustrate what is happening. Kinda worked? I was invited, I had no better idea, so I used this as an opportunity to do some shameless self-promotion and sell millions of copies of my book. It didn’t work, I still have to be employed.

Guest at Scala Love podcast discussing Things You Need to Know about the JVM

Scala Love

Scala Love podcast published on 2020.09.24
Podcast Scala.Love/things-you-need-to-know-about-jvm-with-mateusz-kubuszok/

Dear Scala Lover organisers invited me to talk a bit about my book about Scala and the JVM. :) It was a really nice experience after which a lot of my friends complained to me about the quality of my mic. So I had to buy a better one.

2019

Explain FP Like Richard Feynman presentation (again but in EN)

Scalar 2019

Scalar 2019 Warsaw, at POLIN Conference Centre, on 2019.05.05
Video YouTube
Code GitHub.com/MateuszKubuszok/ExplainFPLikeRichardFeynman
WWW MateuszKubuszok.GitHub.io/ExplainFPLikeRichardFeynman

I got this talk right after John De Goes and Wiem Zine, and I knew I would look bad in comparison. But since I had already decided that I would just speak about a few things that are interesting to me, and the heavy, mind-boggling stuff would be taken care of by other speakers, the disappointment in lowering the bar wouldn’t be much of an issue, so I went with it and it was OK. It would be much worse if I had to present after many more presentations of higher quality.

Explain FP Like Richard Feynman presentation (in PL)

ScalaWAW #14

ScalaWAW #14 Warsaw, on 2019.03.27
Video YouTube
Code GitHub.com/MateuszKubuszok/ExplainFPLikeRichardFeynman
WWW MateuszKubuszok.GitHub.io/ExplainFPLikeRichardFeynman

When I was encouraged to apply to Scalar, I saw all these technical stuff that was already spoken, and I thought: “Oh, go to hell! Let’s do a light speech that will set the lower bound of quality!”. But in the meantime, ScalaWAW organisers suggested that I could present it before Scalar. So I did. It was really fun.

2018

From Type to Kind Projector presentation

KSUG 2018

Kraków Scala User Group Kraków, on 2018.10.16
Video Medium.com/krakow-scala/journey-in-the-world-of-types-e5ba89973f95
Code GitHub.com/MateuszKubuszok/FromTypeToKindProjector
WWW MateuszKubuszok.GitHub.io/FromTypeToKindProjector

They wanted a presentation about types, they got everything I have. I presented the first half completely sober, and after some break from presenting I was a bit nervous. I delivered the second part after one beer, and I admit it helped. At least it helped me; the content was of the same quality as always (low). But this was the first time I used the Asciidoctor generator for Reveal.js, so I was able to create the slides faster than ever before!

2017

Lambda Days 2017

Nice Scalaz (and Cats) monads you want to use: State, Free, Task, as well as Validation workshop again

Lambda Days 2017 workshops Kraków, on 2017.02.11
Code GitHub.com/MateuszKubuszok/TaskStateFreeValidationWorkshop
WWW Check out the repo and open the slides directory

I did my ScalaWave workshop again to get a free ticket to Lambda Days conf. This time I had the presentation done, and ScalaC hired some public speaking coach, so for the first time I was actually prepared to make a speech! One of the improvements I made was changing the time of workshops from 4h to 6h. Today I would probably suggest 8h. Except today, I would redo almost everything, but why should I if some other competent people already prepare such courses and keep them up to date?

Scala Is Not Java presentation

Functional Tricity #5

Functional Tricity #5 Gdańsk, at Olivia Business Center, on 2017.01.19
Video YouTube
Code GitHub.com/MateuszKubuszok/ScalaIsNotJava
WWW MateuszKubuszok.GitHub.io/ScalaIsNotJava

I didn’t have any dry run with this one, so I was waaaay overtime and organiser wanted to kill me afterwards. But I wasn’t super stressed, so I guess I slowly got used to making a fool of myself publicly.

2016

Nice Scalaz (and Cats) monads you want to use: State, Free, Task, as well as Validation workshop

Scalawave 2016

ScalaWave 2016 Gdańsk, on 2016.11.25
Code GitHub.com/MateuszKubuszok/TaskStateFreeValidationWorkshop
WWW Check out the repo and open the slides directory

This workshop was crazy. Even though I started working on it quite early, even during the weekend before the conference I saw a lot of flaws to address (which were not fast to fix, as I still wrote all HTML tags for Reveal.js manually at the time) and I was running out of time. Workshops were on Wednesday, and I was driving from Wrocław to Gdańsk on Tuesday. It was something like 5h of driving after 4h of sleeping, because there was so much to do and no day off (I took half of the Tuesday off, and the whole of Wednesday and Thursday because of the conference). Never again. I thought I was going to die on the highway. Tuesday evening was a test run, internally at ScalaC, so later that night and the next morning before the workshops, I was still committing fixes based on feedback. But at least, a few good people became interested in the Cats ecosystem and became contributors, so it was worth it, I guess?

Scala On Android presentation (in PL)

Scalapolis

Scalapolis Wrocław, at Silver Tower Center, 2016.09.03
Video Unfortunately, no videos - it was recorded but videos got lost on the organisers’ hard drive
Code GitHub.com/MateuszKubuszok/ScalaOnAndroid
WWW MateuszKubuszok.GitHub.io/ScalaOnAndroid

This was a small, local conference organised by Wrocław Scala community members. Talks were in Polish, and no video was uploaded to this day; still, it was fun. I talked about my findings when I tried to develop some small project on Android (for the first time) and for that I used Scala, Scalaz and Free monads. Well, it ran.

High Quality with Scala from Day One presentation (again)

ScaLAB

ScaLAB conference Wrocław, at Afrykarium conference hall, on 2016.06.25
Video Unfortunately, not recorded :(
Code GitHub.com/MateuszKubuszok/HighQualityWithScalaFromDayOne
WWW MateuszKubuszok.GitHub.io/HighQualityWithScalaFromDayOne

I was a bit anxious about this one, so when it was my turn I decided to start ASAP before the stress could kick in. As a result it was the first presentation I gave with relative ease. Probably because I was presenting it for the second time.

High Quality with Scala from Day One presentation

Scalawave 2016

LDN Functionals #6 London, on 2016.04.12
Video YouTube
Code GitHub.com/MateuszKubuszok/HighQualityWithScalaFromDayOne
WWW MateuszKubuszok.GitHub.io/HighQualityWithScalaFromDayOne

This one was even scarier to me than the first one. It was my first time in London, and everyone there was someone new to me. I felt really nervous throughout the presentation. :D The presentation was about basically using linters and conventions to move away from all that crap that the “better Java” approach produces, though today I would have 10x more to say about the topic.

Optimizing a Heavy Web Service presentation

X Tricity Scala User Group

X Tricity Scala User Group Gdańsk, at Olivia Business Center, on 2016.01.28
Video YouTube
Code GitHub.com/MateuszKubuszok/OptimizingHeavyWebServicePresentation
WWW MateuszKubuszok.GitHub.io/OptimizingHeavyWebServicePresentation

My first public presentation. I made a test run of it internally, in ScalaC, but speaking in front of a lot of unfamiliar faces for the first time was super scary. :) I talked about what I learnt when I was working with my first, big Scala project, about the tools that were used to instrument application and a few techniques that we used when we discovered bottlenecks. And none of these techniques involved tuning JVM. :D