"If you are in Marketing or Advertising, kill yourself"
-- Bill Hicks

I lead a globally distributed group of engineers for the display-advertising network, Collective.

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 … 


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


Video reblogged from NPR Fresh Air

nprfreshair:

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

“Is that a scroll or merely a rolled up towel?”


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


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…


Whatever.

zapi is pretty nice.


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.


Link reblogged from The Changelog

thechangelog:

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");
} END_HANDLER

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

int main() {
    add_handler(simple);
    add_handler(default_handler);
    serve_forever();
    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]


Hipster C + ZeroMQ + Redis MQ


Node + ZeroMQ + Redis


Eventmachine + ZMQ + Redis Server



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


  • bcg committed 4dd622d
    Do not queue up messages in a buffer if :no_send_buffers option is passed.


  • bcg committed 2fb5007
    Add :no_send_buffers to keep EM from queueing up commands