Ripple Hackathon - Day 3

The Ripple Hackathon has finished! Today felt even more on-focus than
yesterday, but also less frantic/stressed. We were in “the zone” for
sure. Here’s what we accomplished today:

Duff finished off the “stored key”
associations, including incorporating conflict resolution on them!
(I’ll be writing up a discussion of the new conflict resolution API
later.) He also fixed a small inconsistency in an internal API
around associations.

Nathaniel teased apart some specs
that were invoking save or create on Document models but weren’t
in the integration suite, and he also lent me a lot of help on
improving the build on
Travis.

Myron implemented an awesome
decoupled serialization API for Riak::RObject. You can now
register your own serializers for Ruby objects that you assign to
the data on a RObject. So if you want to implement a custom
serialization routine for application/x-my-content-type, you can
do it now.

Kyle continued work on refactoring the
Riak::Client code so that you can specify multiple hosts among
which to multiplex requests at runtime. This will include
configurable load-balancing strategies (starting with a default
round-robin strategy).

I reviewed a number of works-in-progress from the other developers
but spent most of my time bringing our Travis build toward
green. There are still some outstanding runtime/build
environment/worker-related issues on Travis, but in the last few
builds we’ve had at least one Ruby version passing in the build.

Retrospective

This was a phenomenal week; I can tell because we kept a kanban on one
of the whiteboards and the list in the “Done” column grew quite long
in the three days (or you can just look at the
commit list and changes).
More than just the things completed, I believe we developed a rapport
and understanding that can only be done in-person. We also have a
clearer way forward, and some momentum behind key features that have
been waiting to be started.

Thanks to all the committers who attended, and a very special thanks
to the people at Basho who helped make this happen:

Mark wrote the proposal and
finances for the event, handled ordering lunch each day, and took
notes and pictures of the event.

Maureen, our office manager, handled booking hotels and other
necessary logistics on very short notice.