Andrii Lashchenko — Spray Json and MongoDB Queries: Insights and Simple Tricks

This presentation will cover the history of creation, implementation details and various challenges related to embedded documents fquerying in MongoDB, along with examples of how to properly create and utilize the extension on top of official MongoDB Scala Driver. This newly introduced extension allows to fully utilize Spray JSON and represents bidirectional serialization for case classes in BSON, as well …

Alex Zvolinskiy — Big Step To Functional Programming (20 minutes)

Many Scala developers think that functional programming is something weird from another world. I want to demonstrate on small code samples, how you can use functional programming techniques in order to enhance a code structure, readability and maintenance. This talk is for those Scala devs who think that Scala is just a better Java (beginners level).  

Marco Borst — On denotational and implied semantics (45 minutes)

«Sometimes we discover unpleasant truths. Whenever we do so, we are in difficulties: suppressing them is scientifically dishonest, so we must tell them, but telling them, however, will fire back on us.» thus wrote E.W. Dijkstra in 1975. Seven years earlier, during a conference in 1968, he also coined the phrase Software Crisis, noting that the main challenge of the …

Raam Rosh-Hai — Workshop: Implementing an Assaf Connector (45 minutes)

In this workshop we will implement an illustrative use case to actors and streams: Using akka-streams and akka actors we will create a library that allows deploying applications to the Assaf platform, this will involve crossing the boundaries between asynchronous and concurrent processes using messaging, concepts in parallelism and levergin the type system to guide through all that.  

Roksolana Diachuk — Streaming data processing with Apache Spark (45 minutes)

Many business decisions strive to use real-time data in order to create more accurate results. And there are specified approaches to such data processing. One of the most popular approaches is implemented using Spark Streaming module of the Apache Spark. This talk will help you to learn about legacy streaming data processing as well as structured streaming, possible use cases …

Slava Schmidt — One hundred charts, one schema

Recursion schemas are getting a lot of attention from programming cummunity recently and covered by at least a handful of talks. Most of the talks explain «the what and how» but do not go further about «the why». The first part of this talk builds your intuition of why recursion schemas are useful up from the foundations that recursion is …

George Yarish — Building recommender system with matrix factorization (45 minutes)

Online retailers are always fighting to bring more traffic to their websites, so they have begun to provide more services to make as many sales as possible. With recommendation systems and Big Data techniques, companies will be able to apply users information and behavior so they can provide more efficient targeted services. This talk presents a solution that we in …

Jon Pretty — How I rebuilt the Typelevel Ecosystem with Fury (45 minutes)

Fury is a new build tool and dependency manager for Scala, based on a radical model of source dependencies and distributed builds. The Typelevel ecosystem offers a platform of useful Scala projects which have been converted to use Fury. I will talk about the experience of building them with Fury. This talk will catalog the steps involved with writing Fury …

Kévin Rauscher — Scala Schemas with Shapeless (45 minutes)

Why write code the compiler can generate for us ? Following this motto, we, as scala developers, tend to derive a lot of things from our model definition. But what happen when we have to keep our API backward compatible while upgrading our domain model. While coupling models is inconvenient, decoupling them leads to a lot of boilerplate. In this …