«Rounding», Karl Brodowsky

Beyond the two obvious well known rounding modes there is a lot more to know about this topic, from a more abstract explanation what rounding means, some issues with regular rounding are discussed and the concept is extended in several ways. Finally the issue of rounding a set of numbers with a defined sum simultaneously is discussed. Whatch Speakers speeches …

«Flawors of streaming», Ruslan Shevchenko

Functional Streaming becomes one of the key techniques, used in data processing, which impacts software architecture on the micro and macro levels. In the first part of the talk, we will outline key ideas and their implementations.  Then we will look into API and internal details of scala-gopher: a CSP-style concurrency framework builds on top of akka and async macro, …

«Property-based testing with ScalaCheck», Slava Schmidt

ScalaCheck is a well known testing framework with about a dozen of talks already dedicated to it. Though detailed most of them present the features of the framework in a rather abstract way, often using undemanding examples. In this live-coding session we will develop a small yet complete game using ScalaCheck to drive the development process. Whatch Speakers speeches at …

«Mastering Optics in Scala with Monocle», Shimi Bandiel

Lenses are an important functional-programming “design pattern” often described as “immutable getters and setters”. In this session, we’ll get familiar with optics-related patterns (e.g.: Lens, Prism, Traverse, Iso) based on the popular Monocle library. The session targets Scala developers who feel at ease with Scala syntax. Whatch Speakers speeches at ScalaUA2017

«Spark for noobs», Paul Lysak

An introduction to Apache Spark for those who might have heard of it but never tried, and for those who mastered some basic tutorials but still unsure how to use it in real project. It covers basic Spark concepts, execution model, overview of approaches for running Spark application with special focus on Amazon EMR, some not-so-complex tricks and performance considerations …

«Implementing CQRS with Akka», Michał Tomański

Command Query Responsibility Segregation is an innovative pattern focusing on the way we interact with our data. The core idea is that we split our data model into two: write model and read model. It’s getting more interesting when we mix CQRS with Event Sourcing. This approach might leave us with two separate databases, namely a storage for events and …

«Saving the stack for fun and profit», Marco Borst

In a life coding session, Marco, saves the stack from overflowing.  From a blank screen to a working library, we’ll encode a 30 line algebraic data type that factors recursion out of recursive algorithms and moves the algorithm from the stack to the heap, a functional programming technique called trampolining.  This session is of interest for every beginning Scala programmer …