By default Kafka can only acknowledge all messages up to an offset; with kmq, it’s possible to acknowledge individual messages. How does this impact performance & latency? Read more on … Continue Reading →
Category Archives: Scala
Add a “dependencies” badge & tree to your project using UpdateImpact
Most Java/Scala/Groovy project depend on a number of libraries, these libraries depend on other libraries, and so on for many levels deep. When creating the final project bundle we end … Continue Reading →
Event sourcing + free monads = free sourcing?
I recently wrote about Event Sourcing and Free Monads. The natural next step is combining the two! How would a free monad adjusted for event sourcing look like? Please bear … Continue Reading →
MacWire 2.0: composing modules & cleanup
Recently we released MacWire 2.0, with a number of new features and general code cleanup. The majority of the work was done by Bruno Bieth – thanks! If you don’t … Continue Reading →
When & why to use Supler for web forms?
If you haven’t yet heard about Supler, it’s a Rapid Form Development library, working with your favorite Javascript frontend and Scala backend frameworks. It keeps the form definition centralized, taking … Continue Reading →
akka-stream vs scalaz-stream
I recently published a comparison of akka-stream and scalaz-stream, with code examples (same problems implemented using both libraries) on SoftwareMill’s blog.
MacWire 1.0 is here!
A couple of days ago MacWire 1.0 was released! If you don’t yet know what MacWire is: a light-weight and non-intrusive Scala Dependency Injection library. In fact, it’s more of … Continue Reading →
Quicklens: traversing options and lists
Quicklens is a small library which allows to modify deeply nested fields in case classes e.g.: modify(person)(_.address.street.name).using(_.toUpperCase), without the need to create dedicated lens objects. I got some very good … Continue Reading →
Quicklens: modify deeply nested case class fields
TL;DR: Quicklens: modify deeply nested fields in case classes, e.g.: modify(person)(_.address.street.name).using(_.toUpperCase). Similar to lenses, but without the actual lens creation. Lenses are very useful when you have to update a … Continue Reading →
In today’s post-OO world, is dependency injection still relevant?
It’s 2015. Most of the new popular languages are more or less functional. The old ones, like Java, gain functional programming elements. In Scala, people are increasingly leaning towards the … Continue Reading →