ScalaUA-2019 Abstracts

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 software industry, how to achieve intellectual control over the complexities of our own makings, had not yet been met. We revisit Dijkstra's claim 51 years later in this talk, which is, the audience should be warned, not your typical happy, peppy, look how smart we are, woke, functional cheerleading babble. The intent of this talk is to leave you confoundedly humble, dazed and confused. Only thereafter ... perhaps ... we can start cleaning up the mess of our own makings.  
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 and challenges. A set of short visual examples will guide you through the features of both streaming data processing types.  
Duncan DeVore — Managing Consistency, State and Identity in Distributed Systems (45 minutes)
In the world of distributed systems, we face many challenges: parallelism, asynchronous boundaries, state management, identity management and consistency deficiencies, to name a few. Of all these problems, consistency, state management, and identity management can be particularly challenging. In this session, we will discuss the ins and outs of dealing with distributed system consistency, state, and identity coherency with techniques like idempotency, eventual and casual consistency, dealing with CAP theorem, single source of truth and distributed domain design.  
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 defined upon. In the second part we'll demonstrate in detail a real-life example of how recursion schemas allowed to significantly improve data backend for an analytics application.