Yesterday, during lunch, I read through these blog posts that walk through the redis source code:

http://pauladamsmith.com/articles/redis-under-the-hood.html

http://pauladamsmith.com/blog/2011/03/redis_get_set.html

I won’t go into the details now, but while investigating redis for work I saw a use case where being able to intersect sorted and unsorted sets would be nice. Un-sorted elements would have a 0 score (even better if it were customizable). Redis doesn’t currently support this, so I hope to contribute by adding this feature.

A few hours later I started browsing through the code. It looks like someone started the functionality but it’s obviously incomplete, as attemping the operation causes a segfault on occasion.

I then had to re-acquaint myself with gdb, compiled without optimizations, and started tracing. Once-again I was confronted with how hard it is to jump into a project and learn the internals. There are so many new data structures to keep in mind, and more than a few new algorithms to learn. Plus, it’s hard to debug when keys and values are encoded … not sure whether I’m looking at what I think I should be looking at. Trying not to get discouraged.

Just now joined the mailing list.