Apache Kafka for Fast Data Pipelines

At the Rhein-Main Scala Enthusiasts Group (2016/11/03)

Abstract: Apache Kafka is a highly distributed publish-subscribe messaging system that has been optimized for collecting and delivering high volumes of data with low latency. The designers of Kafka made some interesting design choices which distinguish it from traditional approaches to messaging systems. We are going to see what the tradeoffs are and how Kafka achieves its performance and scalability, making it suitable for implementing fast data pipelines. Simple coding samples in Scala showcase the message exchange between a producer and a consumer. The presentation concludes with some caveats and best practices to work around them.

The code examples are on GitHub.

Introduction to Property-Based Testing

At the Rhein-Main Scala Enthusiasts Group (2016/06/07)

Abstract: Writing unit tests helps a lot in verifying that our code is correct - or does it? Unit-tests are typically written as example-based tests. We will see that this approach to testing falls short in certain situations. Adding property-based tests to our repertoire bridges the gap. A property-based test verifies a statement about the output of your code based on some given input. The same statement - or property - is verified for many different possible inputs to find one that falsifies the property. The talk also gives details on how to find and extract properties to test for using a couple of patterns that can drive the design of your tests. All coding examples are shown in Scala.

The code examples are on GitHub.

At the Heart of for-yield

At the Rhein-Main Scala Enthusiasts Group (2016/02/02)

Abstract: In this short talk we learn a bit about the inner workings of for-comprehensions in Scala. The presentation is accompanied by a couple of code examples.