Hands On Review of the Dynamo Paper

November 30, 2009 Instead of just listing off the myriad interesting ideas in the Amazon Dynamo paper, I decided it would be more interesting for both myself and readers to actually walk through implementing a distributed key-value store and incrementally evolve it using the ideas introduced in the Amazon Dynamo paper.

Filed under erlangdistributed-systems

Load Balancing Across Erlang Process Groups

September 13, 2009 A quick look at a slightly novel solution for balancing load across process groups when building Erlang systems.

Filed under erlang

Replicating receive-after in an Erlang gen_server

December 13, 2009 Very brief post on how to reproduce the behavior of receive-after in an Erlang gen_server. Useful for recurring tasks.

Filed under erlang

BeepBeep, CouchDB and a Trivial Blog

July 9, 2009 This next installment in the Introduction to BeepBeep series takes a look at pairing CouchDB with BeepBeep to begin consolidating the necessary toolkit to construct plausible web applications.

Filed under erlangcouchdbbeepbeep

Formatting Multipart Formdata in Erlang

January 10, 2010 I couldn't find a way to format multipart formdata in Erlang while including post fields and file data, so I went about copying a Python example into Erlang. It certainly isn't pretty, but is working well enough for me thus far.

Filed under erlang

Recurring Events and Message Passing

November 25, 2009 This article looks at a couple of approaches for implementing systems with recurring events using message-passing based concurrency (Erlang and Clojure are used in code snippets). In particular it looks at the ping-pong, circle, coordinator and gossip approaches to distributed communication.

Filed under actorserlangclojureagentsconcurrency

The Day I Broke Production

February 15, 2010 A reflection on a day when I accidentally broke a production environment by trying to fix a failed deployment. Definitely one of my learning experiences from the past year.

Filed under erlang

Nagios Monitoring for Erlang

December 30, 2009 A few notes about a short project to support active Nagios checks for Erlang nodes, applications and process groups.

Filed under erlang

Durable Writes & Consistent Reads

December 1, 2009 In this second part in the "Hands On Review of the Dynamo Paper" we take a look at only acknowledging update to user after it has been written to multiple stores, and comparing read values from multiple sources to ensure consistent reads.

Filed under erlangdistributed-systems

A Failed Stack-based Markdown Interpreter

September 27, 2009 Spent a bit too much time this weekend trying to implement a stack-based Markdown interpreter in Erlang, and not quite enough time in the planning process. That said, it was a nice initial sketch, and in a few days I'll have time to rework it accordingly.

Filed under markdownerlang

Getting Started With BeepBeep

July 5, 2009 BeepBeep is an intuitive web framework (or micro-framework in the words of its creators) along the lines of Django or Merb. For someone looking to get started with Erlang webapps with a minimum of hassle, it's a great option to investigate.

Filed under erlangbeepbeep