CompletableFuture is a new addition in Java 1.8. It’s a type of Future object allowing execution of code upon completion. To explain the idea, let’s first recap what a future object is.


In this post I will outline how to build a jar in Gradle that includes all project dependencies, a so-called “fat jar”. However, this implementation will allow you to selectively exclude certain dependencies from the packaged jar. The motivation for this came while using Apache Storm, where any dependencies must be bundled in the jar, but the Storm libraries themselves are provided by the runtime environment and thus must not be bundled.


Resetting a user’s password can be a simple thing to do, providing you avoid certain pitfalls.


Very old canvas hack of mine.


Frikadeller My super simple recipe for Danish meatballs, or “Frikadeller” as they’re called in Danish. Nothing special, but someone asked for it, so I’m leaving it here. According to my dad, who gave me the recipe, this batch makes about 12, though I have never counted. Normally in Denmark we’d serve this with a healthy portion of white potatoes and gravy, but you can have it however you like.


Yeah that’s right, it works! The only thing I was not able to make work immediately was sound, but I can live without that.


One of the problems with using GWT is that when you run in devmode, GWT manages its own instance of a Jetty server (I think it’s a Jetty server anyway). Unless you want to use GWT’s own server implementation, and perhaps even run in on Google AppEngine, you’re going to run into the same origin policy. In order to get around this problem, you have to set up a proxy server of some sort.


Ages ago I created a script to generate a visual representation of the earth from space. Since then it stopped working, but I’m happy to announce that I’ve updated the code and it now works again.

Visual earth render