April 5, 2010

memcached client and server source from NorthScale

I guess most people don't know this, but I'm the only member of the technical team in NorthScale located in Europe. I live just outside Trondheim in Norway, so it's pretty far from everything.

So why did I join NorthScale? A lot of my friends in Trondheim have been asking me that question. To them it sounds strange that I want to work from home for a company located 9 timezones away. I've known Dustin Sallings and Steve Yen a couple of years through their work on memcached in the community, and I was excited to hear what they where up to. I've worked closely with Matt Ingenthron and Eric Lambert from my time in Sun, so I knew that they already had a talented team.

 

I've spent most of my career working on closed source, but after working with Open Source at Sun I don't want to go back to closed source again. There is a lot of talent out there, so why on earth should we limit our resources to our co-workers?

The members of the technical staff at NorthScale have a great tradition of contributing to Open Source projects, and our management and investors encourage us to continue to do so.

A week ago I had the pleasure to release a number of enhancements to memcached that we have been working on at NorthScale:

  1. Support for Microsoft Windows; this was a lot of hard work in building and testing, much of the iteration done by NorthScale's own Patrick Galbraith
  2. Support for getting the most popular keys (topkeys)
  3. Simple SASL implementation if you want to use SASL but your platform doesn't support Cyrus SASL
  4. Support for loadable extensions that provides additional functionality
  5. Refactor the fprintf-based logging to use the new logging extensions

Of course all of this was done with the kind of code cleanup and bug fixes which would be needed to become part of the community version of memcached.

When making serious contributions to a project, you can't just toss out a huge hunk of code for the community to pick over. At NorthScale, we're accustomed to working in a larger community. Right now I'm working on cleaning up the code I described in my previous blog post about tap'ing a memcached server. My goal is to release this by the end of the MySQL Users Conference.

I'll be walking around in the hallways at the MySQL Users Conference, and I'll attend the memcached BOF. Please say hi if you're there and want to talk about memcached!

Comments