-
Scala
Playing with futures
During job interviews we often give Scala developers a simple design task: to model a binary tree. The simplest but…
Read More » -
Core Java
instanceof operator and Visitor pattern replacement in Java 8
I had a dream where instanceof operator and downcasting were no longer needed but without clumsiness and verbosity of visitor…
Read More » -
Core Java
Optional in Java 8 cheat sheet
java.util.Optional<T> in Java 8 is a poor cousin of scala.Option[T] and Data.Maybe in Haskell. But this doesn’t mean it’s not…
Read More » -
Core Java
Asynchronous retry pattern
When you have a piece of code that often fails and must be retried, this Java 7/8 library provides rich…
Read More » -
Scala
Managing congested actors in Akka
There comes a time in an Akka application when an actor can longer handle increasing load. Since each actor can…
Read More » -
Scala
Fake system clock pattern in Scala with implicit parameters
Fake system clock is a design pattern addressing testability issues of programs heavily relying on system time. If business logic…
Read More » -
Enterprise Java
su and sudo in Spring Security applications
Long time ago I worked on a project that had a quite powerful feature. There were two roles: user and…
Read More » -
Clojure
Macro lifecycle in Clojure
If you still struggle to understand what are macros in Clojure and why are they so useful, I will guide…
Read More » -
Clojure
Clojure macros for beginners
This article will guide you step-by-step (or even character-by-character) through the process of writing macros in Clojure. I will focus…
Read More »