Multiple Environments with Terraform

In this article we'll go over how to set up multiple environments, such as development and production, in Terraform without duplicating any files.

Encrypted Btrfs Array with LUKS

In this article we'll go over how to set up a drives for encrypted access using Btrfs, dm-crypt, and LUKS. This method is similar to the one used by default in the Ubuntu installer.

Fat Jars with Excluded Dependencies in Gradle

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.

Don't Reset My Password

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

Danish Meatballs

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

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.

Planet Earth on the Desktop

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.

Proxy Servlet for GWT in devmode

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.