Skip to content


ZIO Inception. Journey through layers and intersection types.

02.07.2020 @ FunctionalWorld, Online

This is an entertaining story which starts with a very small PR to ZIO and end up in some really unexpected places. Along the way you’ll discover ZLayer, learn some library design lessons and cool typelevel tricks.

Slides (english, PDF)
Video (english):

Aecor: Purely Functional Eventsourcing In Scala

25.01.2019 @ conf, Minsk, Belarus
05.04.2019 @ Scalar, Warsaw, Poland

In this talk I give a quick overview of Aecor library

Slides (english, PDF)
Video (english):

Leveraging Spire for complex time allocation logic

06.04.2018 @ Scalar conf, Warsaw, Poland

In this talk I show how intervals and interval sets from Typelevel Spire library can help with complex scheduling and time allocation tasks.

Slides (english, PDF)
Video (english):


Scala.js In A Big Web Application

16.05.2017 @ Riga Dev Days, Riga, Latvia.

My first talk ever at a big IT conference was about my production experience with Scala.js. It nicely concluded a full year of extensive Scala.js frontend development, that my team was doing at Evolution Gaming starting from May 2016.

I tried to lay out various pros and cons of using Scala.js in a big browser SPA, based on that real experience. I also tried to go into details and provide examples for most of the points.

Slides (english, Speakerdeck)
Video (48m, english):

Recursive implicit proofs with Shapeless HLists

18.08.2016 @ Riga Scala Meetup

Contents in brief

  • Analogy between Scala implicit resolution and Mathematical proofs.
  • Recursive implicit proofs (why “recursive” is important feature)
  • HList basics
  • Various implicit proofs for HLists with demos. Mathematical induction as a handy tecnique to writing HList proofs.
  • Expanding HList proof to all product-like types with shapeless.Generic
Slides (english, PDF)
Slides (english, Slideshare)

Solid Type System vs Runtime Checks & Unit Tests

01.07.2015 @ QIWI Conf #2

A month ago I made a talk for my colleagues at our private developers meetup called QIWI Conf. It’s about how Scala type system can help you to release safer code.

Talk is mostly for Scala beginners, yet some patterns covered are very powerful and not offered by majority of other languages.

Contents in brief

  • Introduction
    • What are fail-fast options today?
    • Why compile-time checking is the best choice?
  • Patterns that can lift up your code to be checked at compile time
    • Options
    • Either and scalaz.\/
    • Sealed ADT + pattern matching
    • Tagging
    • Phantom types
    • Path dependent types
Slides (english)
Video (russian):

Comments are closed.