Posts by Tags

MapReduce

Evaluation of GoMR Against Spark

8 minute read

Published:

I created GoMR to solve a simple problem: make it efficient and painless to deploy MapReduce jobs on a single, moderately powerfull machine. Despite not having as pretty of an interface as today’s competitor, Apache Spark, I believe I was successful in achieving this goal. As well, the system and applications are written in my favorite language, Go.

GoMR: A MapReduce Framework for Golang

11 minute read

Published:

In a world of big data and batch processing, MapReduce is unavoidable. But my recent experience of getting Hadoop up and running for single-node debugging was a nightmare. Here, I present my implementation of the MapReduce framework written in my favorite language, Go, and designed for a single machine.

batch processing

GoMR: A MapReduce Framework for Golang

11 minute read

Published:

In a world of big data and batch processing, MapReduce is unavoidable. But my recent experience of getting Hadoop up and running for single-node debugging was a nightmare. Here, I present my implementation of the MapReduce framework written in my favorite language, Go, and designed for a single machine.

booze

A Blueberry Mead

1 minute read

Published:

After the dishes had been cleared from our Thanksgiving dinner, I began a long planned project I had in the back-log. Several months ago, after trying my hand at beer brewing, I picked up from my local homebrew store the yeast and nutrients necessary to brew mead. Simpler than beer - the barest version made only with honey - it seemed like a natural progression after learning about fermentation and processes of the home brewer. With excess time and energy, I began the therapeutic process of the boil…

coding

Byzantine Fault Tolerant Broadcast

7 minute read

Published:

An essential primitive in distributed systems is broadcast, or the ability to send a group of participants the same message. In the honest case, this problem is straightforward; send everyone the message and acknowledge its receipt. However, this problem becomes complicated under the assumption of byzantine faults. If we apply the honest protocol to the byzantine environment, we may have different peers accept different values! In this article, I give a summary and implementation of an algorithm for overcoming the problem.

coffee

The Fifth Wave of Coffee

3 minute read

Published:

American coffee has progressed through a series of waves. Each wave is defined by common trends in the coffee industry. The consensus is that there have been three waves so far, and we are in the early stages of the fourth wave. The purpose of this article is to give a -very- brief summary of each wave, followed by speculation about what the fifth wave and beyond may be.

cycling

Building a bike

3 minute read

Published:

This is a blog post to log the progress and process of building a bike. My first real bicycle had its frame bent while it was locked in Porter Square, and I’m going to revive it by putting the old parts on a new frame. This is the log of my first ground-up bike build.

distributed systems

Models of Failure in Distributed Systems

7 minute read

Published:

In distributed systems, protocols and algorithms are each designed with regards to a particular set of assumptions. One of these assumptions is the failure model of components of the system. For example, we might make assumptions about how processes fail, and others about how the message-passing system, the network, fails. These assumptions are critical as they provide us with knowledge of the capabilities of protocols as well as a means of comparing them. In this article, I present a survey of the different failure models used in distributed systems.

Byzantine Fault Tolerant Broadcast

7 minute read

Published:

An essential primitive in distributed systems is broadcast, or the ability to send a group of participants the same message. In the honest case, this problem is straightforward; send everyone the message and acknowledge its receipt. However, this problem becomes complicated under the assumption of byzantine faults. If we apply the honest protocol to the byzantine environment, we may have different peers accept different values! In this article, I give a summary and implementation of an algorithm for overcoming the problem.

making

Building a bike

3 minute read

Published:

This is a blog post to log the progress and process of building a bike. My first real bicycle had its frame bent while it was locked in Porter Square, and I’m going to revive it by putting the old parts on a new frame. This is the log of my first ground-up bike build.