Java 8: Writing asynchronous code with CompletableFuture

Java 8 introduced a lot of cool features, whereas lambdas and streams caught much of the attention. What you may have missed is the CompletableFuture. You probably already know about Futures A Future represents the pending result of an asynchronous computation. It offers a method — get — that returns the result…


Java 8: Removing null checks with Optional

If-statements are all around us and a big amount of them are simply checking if a value is there or not. If we now for a minute move away from this imperative way of thinking - why should we have to explicitly explain how to do a null check? Why…


Concurrency made easy with Clojure and Pulsar

In the last couple of months I've been playing around with different solutions for actor based programming. To recap - actors are lightweight processes that communicate asynchronously by sending messages between each other. You can read more about the actor model here. Earlier I've covered how to do this using…




Java 8: Composing functions using compose and andThen

In this post we're going to take a look at function composition using two compose functions provided in the Function interface - compose and andThen. What is function composition? It all has to do with creating small reusable functions that you can combine to compose new functions. Now, how can…



Start your Jenkins builds from terminal

I've earlier written about a little script I created that allows you to monitor Jenkins from the terminal. Now, the script has been extended with an interactive mode that allows you to start Jenkins jobs. Entering the interactive mode When starting the script, you'll end up on the monitor. To…