Perhaps you've seen this recent XKCD about password choice? It prompted a spirited debate – even on our very own Security Stack Exchange – about the merits of the argument presented there. Now, to be clear, I'm completely on Randall's side here; I'm all for passphrases over passwords, and I...

Thank you for a thought-provoking post.
I think that only two message queues are necessary for each process/object/actor. One for observing the state, and another for changing it.
This mirrors REST/HTTP. You've got GET for readers, and then you've got the other operations, with different semantics and trade-offs, for writers.
Serialising mutation operations into a single queue is not a problem when the operations are fast, it makes a lot of problems go away, and it is how CouchDB, Git and Clojure do it, to reference the state of the art.

### My Quest for the Holy Grail ### For many years, I have been searching for what I call the "holy grail of concurrent programming." I have been looking for a set of abstractions as powerful as classes and objects which describes activities and their coordination. Just as was the case for th...