• Validated Configurations with Ciris

    The need for configuration arises in almost every application, as we want to be able to run in different environments – for example, local, testing, and production environments. Configurations are also used as a way to keep secrets, like passwords and keys, out of source code and version control. By having configurations as untyped structured data in files, we can change and override settings without having to recompile our software.

  • Free vs tagless final with Chris Birchall

    Just a few days ago our very own Chris Birchall gave a talk at CodeNode regarding tagless final and how that compares to Free Monads.

  • Working with Shapeless

    If you are Scala, Java, C# or similar strongly typed language user, there is a high chance that you like types. You like the assurance that the stuff that you pass around meets the contract. If different types hold common traits then you would probably create a common subclass.

    But what happens when those constraints become an overhead?

  • Effective Tests for Spark Streaming

    At OVO we are heavily relying on Spark in both it’s batch and stream processing capability to successfully master the challenge of smart meter and real time energy usage data and provide increasing insights for our customers and business.

    Streaming solutions come with their own challenges, the biggest of them being able to continuously operate them 24/7 and still maintaining the ability continuously update them. While we can (and will) reason about message delivery patterns, failure handling, state recovery and more sophisticated aspects of building a resilient stream based solution, let’s start with the most important one: How can we structure our Spark application in a way, so it’s easily testable?

  • 10 things you should know about Scala.js

    It has been a few years since Scala started its rapid expansion as a mainstream programming language for server-side application development.

    In early 2016, Scala.js, a transpiler that translates your Scala code into (as claimed) highly performant and optimised JavaScript, has been announced to be no longer in experimental.

    Therefore in this blog I will briefly introduce a few reasons why you should consider using Scala.js for your next project and will present some potential concerns you should keep in mind.

  • A Brief Tour of Haskell for Scala Programmers

    Haskell is a purely functional programming language, it’s interesting to draw a comparison between Scala and Haskell to see how Scala’s hybrid functional / OO approach alters the way it expresses problems. Here’s a (very) brief overview of the language and how it compares against Scala.

subscribe via RSS