Introducing mcrouter: A memcached protocol router for scaling memcached deployments

“Since any client that wants to talk to memcached can already speak the standard ASCII memcached protocol, we use that as the common API and enter the picture silently. To a client, mcrouter looks like a memcached server. To a server, mcrouter looks like a normal memcached client. But mcrouter’s feature-rich configurability makes it more than a simple proxy…”

Posted in programming | Tagged ,

A POSIX Queue Implementation

“In Unix Network Programming Volume 2, W. Richard Stevens [Stevens 99, Ch. 5] gives an eloquent explanation of the POSIX message queue. He makes the abstraction very accessible, using diagrams and a tight implementation of the API in about five-hundred lines of C. His work inspired me to examine the POSIX Queue implementation of my favorite operating system kernel, Illumos (the continuation of OpenSolaris after Oracle closed it down). The following is what I found…”

Posted in programming | Tagged

Pico Iyer: Where is home?

Posted in thoughts

Tiny-Bayes and Tiny-RedBayes

Perl extension for naive bayesian classification

Perl extension for naive bayesian classification using Redis as a storage backend

Posted in programming | Tagged ,

Packet filtering in Lua

“pflua is a high-performance network packet filtering library written in Lua. It supports filters written in pflang, the filter language of the popular tcpdump tool. It’s really fast: to our knowledge, it’s the fastest pflang implementation out there, by a wide margin…”

Posted in programming | Tagged

Machine Learning Cheat Sheet Map

“Often the hardest part of solving a machine learning problem can be finding the right estimator for the job. Different estimators are better suited for different types of data and different problems. The flowchart below is designed to give users a bit of a rough guide on how to approach problems with regard to which estimators to try on your data…”

Posted in programming | Tagged

How I Start: Go

“Go is a lovely little programming language designed by smart people you can trust and continuously improved by a large and growing open-source community. Go is meant to be simple, but sometimes the conventions can be a little hard to grasp. I’d like to show you how I start all of my Go projects, and how to use Go’s idioms. Let’s build a backend service for a web app…”

Posted in programming | Tagged