== Whiteboard ==
This is a place for Apache Blur committers to explore a bit around
Blur related technologies without the burden of gathering 
consensus.  A nice place to explore some ideas with the 
opportunity for the community to give feedback but without
the burden of release-ready code.

