# Blog

## Introduction to CompletableFutures

2016-01-18

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.

## Fat Jars with Excluded Dependencies in Gradle

2014-06-30

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.

2014-06-16

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

## Canvas Trees

2014-02-28

Very old canvas hack of mine.

## Danish Meatballs

2014-02-26

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.

## Running Banished on Linux

2014-02-23

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.

## Proxy Servlet for GWT in devmode

2014-01-28

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.

## Planet Earth on the Desktop

2014-01-24

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.

## Untitled

title: What makes a good programmer (co-worker)? published: false —

• The ability to provide information upfront information about a potential problem in a coherent, complete, yet concise manner.