Events Interviews News Scala Scala programming

Harmony @ Scala Love conference

Although we won’t have Scala Days this year, the Scala Love conference is all the rage. The technology lets us transcend physical boundaries – we can unite while being far away… well, at least as long as there are tickets left ;)


Owing to high demand, the IntelliJ Scala team has volunteered to extend the conference by hosting a third track called Harmony, in addition to the two existing ones, Joy and Happiness:

Schedule (Google Calendar)

11:45 – 12:00 CEST / 02:45 – 03:00 PDT

Intro, audio & video check

Please setup and configure Zoom as described in the attendee instructions. We will send a link to join the webinar to all the registered attendees. Attendees of the Happiness and Joy tracks may participate in the Harmony track whenever they feel like it.

There will be Twitch live streaming, which is accessible without registration, but is less interactive than Zoom.

If you have any questions, please ask them in the #harmony channel of the Scala Love Slack. Because the extra track wasn’t pre-planned, some glitches are expected, but you know what? The more, the merrier!

12:00 – 12:45 CEST / 03:00 – 03:45 PDT

Wiem Zine Elabidine — ZIO from Home

ZIO provides a variety of features for building synchronous, asynchronous and concurrent applications. In this talk, I will show: how to use functional effects and data types built on ZIO how to manage errors and recover from them, how to manage resources and how to make concurrent tasks.

Wiem is a Scala Backend Engineer at MOIA and she is enthusiastic about functional programming and learning. Outside of her day job, she loves contributing to ZIO projects.

13:00 – 13:30 CEST / 04:00 – 04:30 PDT

Jacek Kunicki — Type Classes: from Zero to Hero

Type classes are basically just another way to achieve polymorphism in your code. Scary as they may seem, it turns out the idea is pretty straightforward, yet very powerful. And there’s a good chance you have already used them. Let me convince you during this live-coding session!

Jacek is a passionate software engineer living in the JVM land – mainly, but not limited to. He also tend to play with electronics and hardware. When sharing his knowlegde, he always keep in mind that a working example is worth a thousand words.

13:45 – 14:30 CEST / 04:45 – 05:30 PDT

Pasha Finkelshteyn — Big Data Tools: Make life of Data Engineers easier

The demonstration covers topics such as Remote file systems, Zeppelin integration, Spark monitoring and Spark inspections.

Pasha is a serial Speaker, Kotlin developer, Data engineer, author and major contributor of Kotlin Spark API. He works @ JetBrains on the Big Data Tools project, He is passionate about opensource and contributing to IT community all over the world. He adores people and loves to talk on any, even non-technical topic.

14:45 – 15:15 CEST / 05:45 – 06:15 PDT

Brian Zeligson — Property Testing with Idempotents

If you like property testing, and you’re looking for an approach to consistently surface meaningful properties without overly specific generators or re-implementing code-under-test, this talk is for you. We’ll cover some theory and a methodical approach to consistently produce good properties.

Brian is a passionate functional programmer, with a love for higher-kinded types. A perpetual student of category theory and topology, he believes that one day he will finish the HoTT book and achieve enlightenment, finally seeing the path to convince programmers everywhere that dynamic typing is a lie, and imperative programming is masochism. He believes that those who say “software is never done” have just never finished any software.

15:30 – 16:15 CEST / 06:30 – 07:15 PDT


16:15 – 16:45 / 07:15 – 07:45 PDT

IntelliJ Scala plugin team — Ask Me Anything

An Ask Me Anything session with the IntelliJ Scala plugin team.

16:45 – 17:15 CEST / 07:45 – 08:15 PDT

Mikhail Mutcianko — Build an IntelliJ plugin in Scala in 15 minutes

How to build an IntelliJ plugin in Scala – a tour from setting up an sbt project to publishing to the plugin repository.

Mikhail is a Scala plugin developer and build engineer @ JetBrains.

17:30 – 18:15 CEST / 08:30 – 09:15 PDT

Fabio Tiriticco — Intro to Deep Learning With Scala

Deep learning is awesome, trendy and… mysterious for many. This talk introduces AI / deep learning from scratch to an audience familiar with Scala and provides a unique case (dataset + code) for attendees to start experimenting!

Fabio is a software engineer and community leader based in Amsterdam – he runs the 2000-member strong Reactive Amsterdam meetup and the annual Kubernetes Community Days conference. When not in front of a screen, he enjoys long distance bike rides and fingerpicking his guitar.

18:30 – 19:00 CEST / 09:30 – 10:00 PDT

Aesa Kamar — Typelevel Tic-Tac-Toe: Propositional Logic in Types

Learn about the fundamentals of “implicits” and gain some intuition about how they can be used to encode propositional logic. We’ll be going through an example of how to play a simple game of tic-tac-toe and typecheck a solution to the 4-color-map property.

Aesa is a software engineer and a self-identified math enthusiast. He enjoys building powerful tooling and clever abstractions to help his team solve interesting problems. He’s worked on lots of projects ranging from open-access government, live video-streaming, and advertising analytics platforms.

19:15 – 20:00 CEST / 10:15 – 11:00 PDT

Leo Benkel — Enhancing Spark’s Power with ZIO

Combining ZIO/Future with Spark can drastically speed up the performance of your ML projects, as data sources can be fetched in parallel without holding up computation. Obviously ZIO is much better than Future, but it can be challenging to set up. Leo will present some benchmark results, then discuss how his open-source library handles all boilerplate issues so you can easily implement Spark and ZIO in your ML projects!

Leo grew up in France and has been living in San Francisco for the last 10 years. He is passionate about functional programming and teaches Scala at Demandbase. He enjoys designing/architecting libraries and software products. Simply, Leo loves exploring where nobody has ever been before and working with teams that want to create the “possible” out of the “improbable”. His draw to exploration and adventure also carry over to life outside of work. When he’s not working, Leo enjoys video games, movies, TV shows, board games, traveling, and eating/cooking good food.

20:15 – 20:45 CEST / 11:15 – 11:45 PDT

Justin Kaeser — Type Touching – Types at your fingertips in IntelliJ Scala

Scala’s powerful type system helps you develop complex programs with less runtime errors. But sometimes understanding the types while programming becomes a challenge onto itself. I will show you how the IntelliJ Scala plugin helps you get a grip on your types to support your development flow.

Justin believes in “Tools before Rules”: automating the development toolchain to remove the friction of dealing with manual processes. He works on this goal as part of the IntelliJ Scala plugin team.