18 March 2012
Riak Leveldb: Take One

Just a few notes to share on benchmarking Riak + Leveldb

If you want to see the current configs, just head on over here. After days of tweaking I finally got Riak + Leveldb doing more than 3000 PUT/s and well over 8000 GET/s. I then moved on to longer running tests to see how Leveldb handled a growing key space. I modified my basho_bench test to create uuid4 IDs like so:

{key_generator, uuid_v4}.

then on 3/16 I did 60 minutes of PUTs:


Then on 3/17 I did 240 minutes of PUTs:


I followed it up on 3/18 but another 60 minute run:


This post is a work in progress … 

27 April 2011

Another nice example (using .mapred instead of .mapreduce), but I like these tests better

19 April 2011


Werner Herzog Reads Where’s Waldo [may not be safe for work…]

"Is that a scroll or merely a rolled up towel?"

15 April 2011

Burning trees in the middle of the night on our land in Albemarle County. 

15 April 2011

The tool is included within the latest test release of Lion, a version of Apple’s Mac OS X operating system that is currently available only to developers. The final version of the operating system…

14 April 2011
Hipster Message Queues


zapi is pretty nice.

14 April 2011
node.js testing with nodeunit httputil and sinon

If your application router is tightly coupled with your controllers, like with choreographer, you may want to give httputil (part of nodeunit) a try. The pasted example falls confusingly somewhere between a unit and an integration test. A side benefit is being able to mock network services easily.

14 April 2011


For those that thought C had been delegated to the internals of your mobile devices or favorite database engine, Daniel Waterworth wants to string you up by the Raphters.

Raphters is a web framework written in C. Yes you heard that right, a shiny new framework for the web written in everybody’s favorite close-to-the-metal programming language. The project gets its name from RAPHT, a pattern that extends MVC that aims for greater security and flexibility:

  • Resources include things served up to clients like a database or API.
  • Actions provide ways to interact with a Resource.
  • Processors transform data.
  • Handlers provide the entry point for a request.
  • Templates render data.

A simple Hello World example to demostrate the patter might look something like:

#include "raphters.h"

START_HANDLER (simple, GET, "simple", res, 0, matches) {
    response_add_header(res, "content-type", "text/html");
    response_write(res, "hello world");

START_HANDLER (default_handler, GET, "", res, 0, matches) {
    response_add_header(res, "content-type", "text/html");
    response_write(res, "default page");

int main() {
    return 0;

If you’re a C developer looking for speed (and security) you might give Raphters a look for your next web project.

[Source on GitHub]

(Source: thechangelog)

8 April 2011

Hipster C + ZeroMQ + Redis MQ

7 April 2011

Node + ZeroMQ + Redis

6 April 2011

Eventmachine + ZMQ + Redis Server

25 March 2011

23 March 2011

Dynamically populated friendly iframes … or, how to load external resources in parallel

18 March 2011

  • bcg committed 4dd622d

    Do not queue up messages in a buffer if :no_send_buffers option is passed.

17 March 2011

  • bcg committed 2fb5007

    Add :no_send_buffers to keep EM from queueing up commands