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 →
Why I started learning Emacs in 2016
Why learn another editor in the first place? The main role of a good editor is to not get into your way while working, and maybe even help a bit … Continue Reading →
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 →
Supler update: 0.3.0 release
It’s been some time since the last release of Supler. Just as a short reminder: Supler is a Rapid Form Development library, allowing you to use your favorite Javascript frontend, … 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 →