Webmachine, ErlyDTL and Riak – Part 1

It has been a long time coming, but the first post is finally here! This is the first in a series of post, as promised a while ago, covering off web development using Erlang. This post is the ubiquitous "get up and running" post, which aims to get your environment set up so that you can dive in to development. The next post will detail how to handle a basic end-to-end web request.
First up, a few things we need to be aware of before we begin:
- The information in this post has only been verified on Linux (Mint to be exact). It should work just fine on Mac OSX. I'm almost certain that it won't work on a Windows machine. So if you're a Windows developer, you'll have to wait for another post down the track which covers off how to get your environment ready to rock.
- We'll be downloading, building and installing Erlang, ErlyDTL, Riak and Webmachine.
- Even though it's not yet recommended, I'll be using the latest version of Erlang to power Webmachine and Riak (R14A). If I were to build a production application I would follow the guidelines of the Basho guys and use R13B04. Since this application isn't a production application happy to take the risk
- Rebar is the tool we'll be using to handle builds, but I won't be covering it in any depth.
- You will need the latest versions of both Mercurial and Git so make sure they're downloaded and installed before you follow this article.
- We'll be doing some interaction with Riak via curl, so make sure you have it downloaded and installed as well.
- This is intended to be a step-by-step guide targeted at those who are very new to web development in Erlang. This may not be the most ideal set up, nor the best way of doing certain things. I am hoping that those people who are more experienced than I will be able to provide feedback and guidance in areas where I am lacking.
- Over the course of this series I'll be attempting to build an Erlang version of the Code Smackdown site that I've been working on here and there with a mate of mine. You'll see that the sample application we're working on is called "csd" for obvious reasons.
OK, let's get into it. First up, Erlang.
Katacast: Shopping Checkout in Erlang
I've recently discovered the joys of CodeKatas. If you're a geek looking for a way to sharpen your saw then I highly recommend taking a look at these and trying a few out. They're great fun and they're a good way of getting your feet wet with new languages (especially if you're tired of Project Euler).