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 | 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 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 | 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 | 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 | 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

| 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 | 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 | 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

| 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

| 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)

| 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

| 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 | 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 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 | 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 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 | 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 | 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

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

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 | 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 | 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 | 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 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

| 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 | 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