Archive for January, 2010

Whatcha doin’ this weekend? Sharding the cabinet.

Friday, January 29th, 2010

Sharding the cabinet sounds like best euphemism ever.

Sadly, my life is not that exciting. I’m taking down Serendeputy’s main set of data stores (a series of Tokyo Cabinets) and re-sharding them to make them more memory-efficient and a bit faster. Customer growth is getting a little ahead of the architecture, so I’m doing some tweaking. (A nice problem to have, but still a bit of a problem.)

Things might get a little wonky this weekend as I’m making this transition, but I’ll try to keep the outage short.

Make everything as simple as possible but no simpler

Tuesday, January 26th, 2010

After living with Serendeputy for the past year and a half, I’ve been able to reduce all the massive complexity of the application into just three core concepts: the gesture, the profile and the list. By making all the interactions on the site and through the API go through these three primitives, I’ve been able to solve the scalability issues and most of the performance issues inherent in mass personalization. Now, it’s like Legos. Shiny, geeky Legos.

Thank goodness Ruby and Tokyo Cabinet are so flexible. If I’d been doing this using the tools of five years ago, I would not have been able to pivot this smoothly.

Look for a couple of fun announcements in the next [real soon now] weeks.

(And yes, Tokyo Cabinet is probably one of the geekiest topics I have up on the site, right up there with Machine Learning.)