Notice I never said "He should never be allowed to state his opinion." He's free to do so, and did. And in doing so made a public statement about his views. If you believe basic human rights should be denied to a group of individuals, I have an issue with that.
Regardless of the merits of taking a public stand against this kind of thing, you, and the other people speaking out against Eich are making a Fundamental Attribution Error .
The fact that Eich donated in support of prop 8 does not necessarily make him a homophobe. The only thing we see is the donation and none of the context around what made him decide to do it. He has denied being a homophobe and there have been no reports of any homophobic behaviour. The only thing we actually know is that he made a donation to a political cause that the majority of the voting public also agreed with. Is it fair to say that every single one of the 52% of voters in support of prop 8 are homophobes? Plainly the answer is no.
So what? I know several homosexuals who don't believe homosexuals should be allowed to marry -- people who actually believe this is a regression to BS bourgeois values from gay people losing all perspective of 70's struggles (regarding liberation from antiquated values and institutions).
In general, taking a single issue and making it something people can lose their job over it, just because you have the power to push for it in the media, is very wrong.
At worse, what Brendan voted for would merely not let some gay people perform the same BS marital custom that straight people do. Doesn't compare at all to death penalty in my book --which costs hundrends of lives -- including of kids in places like Texas.
So, Should people who are in favor of the death penatly lose their job and have their CEO positions boycotted? Take you for example. What do you think about animal rights? Or the death penatly? Or gun control? Or drugs?
No, it doesn't, although it might be possible to sort of emulate it by setting ZMQ_HWM to 1 and enabling ZMQ_SWAP, but I wouldn't bet on it.
The best you can hope is to use the Titanic Service Protocol and just throw data into some sort of disk store. I've looked into doing this, but I settled on using RabbitMQ instead for persistence. Unless you're dealing with more than 10k messages a second, it's just as easy as ZeroMQ.
After a few months of experimenting, I've come to the conclusion that some combination of ZeroMQ and RabbitMQ is likely the easiest solution currently for a combination of low-overhead distributed messaging and broker-assisted persistent messaging.
Pickle (or any use of eval) is a security risk only if you're using it in the context of untrusted code. Basically any distributed task queue is going to have that risk if it can execute arbitrary code.