It's probably a bad idea to use durable sockets for reliable pubsub (I know I documented this in the Guide but that was before it became clear that this functionality is kind of bogus). Explicit identities are dangerous…
These are good points. Let me answer them. 1. The 0MQ devs originally got asserts backwards, using them to validate external input (e.g. on sockets) instead of internal consistency. We've been fixing this for a year or…
Before I opened the 0MQ Pandora box I'd given up coding and was happily writing my autobiography. 0MQ seemed like a pleasant way to spend a weekend. But before I knew it, I'd lost control. Days, weeks, months have…
It is challenging to explain anything subtle, when your viewpoint depends so much on what you already know, your preconceptions, and assumptions. Sorry for the comic book style. It's how my mind works. Feel free to send…
Significantly simpler, faster, and more general. MPI is like one of the patterns ZeroMQ provides (the pipeline pattern) with a lot on top. That makes it great for parallel programming, but not so great for (e.g.) data…
You're right that a message queue is shared state and has to be gotten right but that can be done (and ZeroMQ does it) without locks. It's thus invisible to application developers. You're wrong to say that multiple…
There's a copy of the video here: http://www.youtube.com/watch?v=CCBYzKfmQ4U The FOSDEM streaming server seems to be timing out right now.
Badly designed, anything can become hell. Crazy has no limits. The point of the talk was that message passing is fundamentally not at the same level as mutexes, semaphores, and monitors. Shared state does not scale…
:-) If you hope for enlightenment from watching a 10-minute talk, you're going to be disappointed. I do like your summary of the presentation... "Concurrency is hard... Actors... ZeroMQ... End scene!". Nice.…
It's great to get feedback on the talk. Impossible to even introduce 0MQ properly in 10 minutes, so this presentation was really just to drive discussion. I'd apologise for the polemical title but that's just how I…
0MQ has what is called a high-water mark on (outgoing) queues. You can then decide whether to block if the queue gets full, or poll the socket to know when it's ready for output. This is also how TCP works. 0MQ…
JMS does cover some of the same ground, all messaging does. But it's basically an API wrapper around two ancient technologies, a queue system and a topic system. I think it might have been IBM MQSeries (which became…
If you read the 0MQ Reference Manual at http://api.zeromq.org/zmq.html you'll see that it specifies the abstraction, while the code implements that abstraction.
Lol. Actually I believe 0MQ (or rather, the principles it embodies) is something all serious developers need to learn. How to do concurrency properly, how to get above TCP sockets, how to design simple APIs, how to do…
In most cases 0MQ will recover silently (and usefully) from common networking problems. When a peer crashes, for example, and then comes back, its partners don't see the problem. Messages get queued, and then delivered.…
Zed, whats with all the premature optimization? Surely Mongrel2 should first be able to make coffee, build you an island and f@!in transform into a jet and fly you there, before you start to make it faster! Just…
Nice question. 0MQ has a wire protocol but it's minimalist, just doing framing. As we push 0MQ out into wider use we'll grow the protocol stack upwards. It'll take years. We do have a protocol specification project -…
You're looking at OpenAMQ, not SFL. This is the metaprogramming we used to build OpenAMQ. It was very successful in technology terms (1M lines of real code generated from 20k lines of metacode) but a failure in social…
No misunderstandings... When the AMQP working group was founded, RHAT took a very assertive role over AMQP and created versions that no-one else implemented, and which were pushed through the working group by sheer…
I designed and wrote AMQP versions 0.1 through 0.8 and iMatix founded the AMQP working group. I was editor of the last 0.9.1 spec which fixed almost all of the bugs and inconsistencies of 0.8. It's a great, clean, tight…
Very kind of you. SFL is my work.
Here is a short critique of AMQP, it's dated but still accurate: http://www.imatix.com/articles:necessary-changes-in-amqp We've waited 6 years for AMQP to develop a community and address basic issues such as its…
It's probably a bad idea to use durable sockets for reliable pubsub (I know I documented this in the Guide but that was before it became clear that this functionality is kind of bogus). Explicit identities are dangerous…
These are good points. Let me answer them. 1. The 0MQ devs originally got asserts backwards, using them to validate external input (e.g. on sockets) instead of internal consistency. We've been fixing this for a year or…
Before I opened the 0MQ Pandora box I'd given up coding and was happily writing my autobiography. 0MQ seemed like a pleasant way to spend a weekend. But before I knew it, I'd lost control. Days, weeks, months have…
It is challenging to explain anything subtle, when your viewpoint depends so much on what you already know, your preconceptions, and assumptions. Sorry for the comic book style. It's how my mind works. Feel free to send…
Significantly simpler, faster, and more general. MPI is like one of the patterns ZeroMQ provides (the pipeline pattern) with a lot on top. That makes it great for parallel programming, but not so great for (e.g.) data…
You're right that a message queue is shared state and has to be gotten right but that can be done (and ZeroMQ does it) without locks. It's thus invisible to application developers. You're wrong to say that multiple…
There's a copy of the video here: http://www.youtube.com/watch?v=CCBYzKfmQ4U The FOSDEM streaming server seems to be timing out right now.
Badly designed, anything can become hell. Crazy has no limits. The point of the talk was that message passing is fundamentally not at the same level as mutexes, semaphores, and monitors. Shared state does not scale…
:-) If you hope for enlightenment from watching a 10-minute talk, you're going to be disappointed. I do like your summary of the presentation... "Concurrency is hard... Actors... ZeroMQ... End scene!". Nice.…
It's great to get feedback on the talk. Impossible to even introduce 0MQ properly in 10 minutes, so this presentation was really just to drive discussion. I'd apologise for the polemical title but that's just how I…
0MQ has what is called a high-water mark on (outgoing) queues. You can then decide whether to block if the queue gets full, or poll the socket to know when it's ready for output. This is also how TCP works. 0MQ…
JMS does cover some of the same ground, all messaging does. But it's basically an API wrapper around two ancient technologies, a queue system and a topic system. I think it might have been IBM MQSeries (which became…
If you read the 0MQ Reference Manual at http://api.zeromq.org/zmq.html you'll see that it specifies the abstraction, while the code implements that abstraction.
Lol. Actually I believe 0MQ (or rather, the principles it embodies) is something all serious developers need to learn. How to do concurrency properly, how to get above TCP sockets, how to design simple APIs, how to do…
In most cases 0MQ will recover silently (and usefully) from common networking problems. When a peer crashes, for example, and then comes back, its partners don't see the problem. Messages get queued, and then delivered.…
Zed, whats with all the premature optimization? Surely Mongrel2 should first be able to make coffee, build you an island and f@!in transform into a jet and fly you there, before you start to make it faster! Just…
Nice question. 0MQ has a wire protocol but it's minimalist, just doing framing. As we push 0MQ out into wider use we'll grow the protocol stack upwards. It'll take years. We do have a protocol specification project -…
You're looking at OpenAMQ, not SFL. This is the metaprogramming we used to build OpenAMQ. It was very successful in technology terms (1M lines of real code generated from 20k lines of metacode) but a failure in social…
No misunderstandings... When the AMQP working group was founded, RHAT took a very assertive role over AMQP and created versions that no-one else implemented, and which were pushed through the working group by sheer…
I designed and wrote AMQP versions 0.1 through 0.8 and iMatix founded the AMQP working group. I was editor of the last 0.9.1 spec which fixed almost all of the bugs and inconsistencies of 0.8. It's a great, clean, tight…
Very kind of you. SFL is my work.
Here is a short critique of AMQP, it's dated but still accurate: http://www.imatix.com/articles:necessary-changes-in-amqp We've waited 6 years for AMQP to develop a community and address basic issues such as its…