Re: [zeromq-dev] SPLASH 2020 keynote talk about ZeroMQ

2020-11-24 Thread Gregg Irwin
Thanks Arnaud!

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] restms.org

2019-08-07 Thread Gregg Irwin
I thought RestMS was a nice idea, but never did any real work with it,
so am not dependent on it sticking around.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] If we compile ZeroMQ sources without modifying them, and link the resulting DLL to an executable that is part of our commercial product , does this make our whole product become a sof

2017-11-13 Thread Gregg Irwin
The 0MQ license makes this pretty easy, but there is also the option
for the company to sponsor an FOSS build which is separate. Since
Windows has come up a few times recently, this may encourage others to
join the effort, so there's a standard, up-to-date Windows build
available, and everyone who uses it can work together.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] zeromq-dev Digest, Vol 15, Issue 10

2017-06-22 Thread Gregg Irwin
p2wd> So whats the best solution if so to combine those two worlds,
p2wd> docker swarm and zeromq?

Load balancing and persistent connections may be at odds with each
other, so it really depends on the design.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

Re: [zeromq-dev] Canonical language for the Guide

2015-04-07 Thread Gregg Irwin
Hi Pieter,

PH> What's the best canonical language?

PH> My personal preference is C/CZMQ, which is high level and clean.

PH> My second choice would be a high level modeling language.

+1

While my only daily C is the vitamin, I think C is the best choice. As
you say, you will never please everyone. Of course, I'm also a huge
fan of DSLs and code generators. The issue I see in this context is
that the bindings, and 0MQ itself, are moving targets. The upside is
that the old generators are still valid even as you create new
templates when change comes.

If you can keep the DSL/MOP simple enough, it could be a win even if
only used for the C examples. The more general it needs to be, the
more gratification may be delayed. Do you have thoughts or examples on
the language or output side already gestating?

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] REST over ZeroMQ

2015-02-09 Thread Gregg Irwin
DS> When something is a pure resource I try to design a RESTful
DS> service but with something like position I prefer to have commands
DS> like ClosePositionCommand, UpdateStopLossCommand, etc...

AFAIK, nobody has solved the REST+actions dilemma. There is no
consensus. REST is about pure resources. You can add path elements
that are actions, have a generic /action segment and use the body
to pass data, or use query strings. To be truly RESTful, clients need
to manipulate resources.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Fwd: Inverted PUB-SUB doesn't work

2015-02-05 Thread Gregg Irwin
Hi Rajalakshmi,

RI> I have only just subscribed to the zeromq-dev mailing list.

:) I mean in your code. You need to set the socket option with a
filter for what messages you want it to subscribe to. From
http://api.zeromq.org/4-1:zmq-socket:

> Initially a ZMQ_SUB socket is not subscribed to any messages, use
> the ZMQ_SUBSCRIBE option of zmq_setsockopt(3) to specify which
> messages to subscribe to.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Fwd: Inverted PUB-SUB doesn't work

2015-02-05 Thread Gregg Irwin
Hi Rajalakshmi,

I don't see where you're subscribing to any messages. 

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Notes from a hackathon

2015-02-04 Thread Gregg Irwin
Hi Ed,

EG> 1) language independance...

This was another thing that made 0MQ very attractive to me when I
found it. Multipart framing aids in this, as your point #4 makes.
Zproto as a replacement will define protocols more exactly, which is a
good thing, but it's also something new to add to your mix.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Notes from a hackathon

2015-02-03 Thread Gregg Irwin
M> Perhaps it is because I spend my days in a higher level language
M> like Python, but zproto is not an attractive option.

Same here. I will read in detail about it shortly, but it may not make
it into my toolbox as a multipart replacement. Multipart looked very
cool when I found 0MQ, but I've ended up not using it much. I'm not
doing high performance stuff though. Simplicity and ease of use are
tops on my list.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Notes from a hackathon

2015-02-03 Thread Gregg Irwin
AK> So *maybe* a documentation effort is what is needed to better
AK> explain those thing.

The guide explains things in great detail, and an engaging manner. How
do you improve on it, aside from removing the things that need
explaining?

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] zmq_msg_recv flags

2014-12-07 Thread Gregg Irwin
BC> It looks like the documentation for the flags has been left out
BC> of the documentation at api.zeromq.org, for 3.2 and newer. All I
BC> see is "The flags argument is a combination of the flags defined
BC> below:", followed by blank space.

Same for zmq_recv. Good catch.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] ZeroMQ multiple sockets connection in Java

2014-11-15 Thread Gregg Irwin
CP> Yes I have read the guide and in my case I have multiple ports
CP> opened on a socket and I need send the data on all those four ports.

CP> Can we not  do this? If not then why we cannot do this? sorry for
CP> my ignorance

I don't use Jero, but you should just be able to call connect multiple
times for your socket, once for each endpoint.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] ZeroMQ multiple sockets connection in Java

2014-11-15 Thread Gregg Irwin
CP> But how do I send to multiple socket ports? I need to connect to
CP> below multiple ports and send the data as well - 

Question 1: Have you read The Guide? If not, that's a great place to
start. It may be that your need to write to multiple ports would map
well to the socket being a publisher and having the others subscribe
to it. 

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] socket buffer overflow when sending large data?

2014-11-05 Thread Gregg Irwin
Hi Li Ma,

LM> What I don't understand is that in the application I use
LM> send_multipart and recv_multipart. AFAIK, these two function will
LM> split the data into frames and then reconstruct the data and don't
LM> care much about the original data size.

I don't use Python, but it looks like you have to split the message up
into frames yourself. send_multipart doesn't do that for you. If you
need to transfer really large messages, there are examples you can
learn from, like filemq.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Persistence with ZeroMQ

2014-10-01 Thread Gregg Irwin
Hi Mohit,

MA> Are there any standard projects that users of ZeroMQ use today
MA> that provides persistence functionality as well? I am looking for
MA> a scalable ZeroMQ persistence layer that is able to provide
MA> pub/sub and is tunable to be non-persistent for async request/response.

https://github.com/miniway/zper was mentioned on the list recently.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] zero-mq: socket.recv() call is blocking

2014-09-24 Thread Gregg Irwin
Hi Karthik,

KS> `string = socket.recv()`

KS> blocks till I recieve a message.I don't want this to happen.I
KS> want the messages to be queued up on the recieve side so that I
KS> can get it out of the queue (or something similar to this)

KS> Is there some model in zero-mq that allows this?

Yes. You can tell a socket not to wait (the ZMQ_DONTWAIT flag) or use
the zmq_poll function.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] not binging to all LISTEN port

2014-09-23 Thread Gregg Irwin
RS> Is there anyone putting this kind of reusable performance testing
RS> system into ZeroMQ or maybe into czmq?

I was going to ask the same thing. Or if CR has suggestions and
guidelines for others who think it's a good idea.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] not binging to all LISTEN port

2014-09-23 Thread Gregg Irwin
Hi Mohit,

MA> I was more of referring to debugging overload issues in prod.
MA> that we might not have been able to catch in performance
MA> environment. How can I tell that router/dealer is overloaded and
MA> need more router/dealers?

While it's always good to test, if you provide a rough hardware
outline, and the number and size of messages you need to support, you
may get one of three answers borne of experience by users here.

1) No problem. You are well within a single socket's capabilities.

2) One socket will not support that load. You might need N sockets.

3) It could be close. You should test in your environment.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] newbie question about zeromq use for a peer to peer messaging program

2014-03-19 Thread Gregg Irwin
Hi Johnny,

JL> This is a general and broad question. I am not a developer but
JL> know enough to be dangerous.

It would be worth your time to look at The Guide. It's well written
and you can just skip the code and read the concepts and patterns.

  http://zeromq.org/intro:read-the-manual

0MQ can do a lot. Way more than you need, but it is also very easy to
use.

JL> Can it send to multiple  receivers (how many, >100 receivers)?

Yes. You can do fan-in and fan-out connections easily. Pub-sub is a
common pattern here.

JL> Would it be asynchronous or multi-threaded?

That's up to you. Keep it simple to start. Async is easy, so no
worries there.

JL> And how quickly? Would that depend on the capacity/horsepower of
JL> the sending machine?

Very. The machine matters, but 0MQ is very fast.

  http://zeromq.org/area:faq#toc6


JL> Could the receiver send a simple message back (pre-configured)?

Yes. Very easy.

JL> Can a signal be sent to a server in the cloud?

Yes.


Reading the guide should get you very excited about the possibilities.


Good luck!

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] why do czmq methods take a char* parameter and not const char*?

2014-03-08 Thread Gregg Irwin
Hi Laurent,

LA> Software is not about what's one likes or not, but about standards, 
LA> state of the art, rigorousness, and quality.

Some software may be, and standards and conventions are an important
aspect of communication, but software, until it's all written by
robots, *is* about what one likes or not. You even use the term "state
of the ART". :)

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Reading queued messages after disconnect

2014-01-01 Thread Gregg Irwin
PH> The behavior should be fixed at the libzmq level IMO, and documented.
PH> I'd suggest that reading from a socket that was neither bound nor
PH> connected is an error, and should perhaps even assert. Or at least
PH> return an ENOTCONN error.

Including the case where there are unreceived messages pending?

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Can we customize a behaviour for in-mem queued messages after reconnect?

2013-12-20 Thread Gregg Irwin
az> As for
>>> This sounds like an application problem, not a 0MQ problem

az> [0MQ] It's more designed to support some
az> kind of historical data flow, where you don't want to lose even one
az> message. What it can be?  E.g. wheather data from sensors, e.g.  quotes
az> from stock exchange.But it is not very much suitable  when  you deal
az> with something like: "place a bet" , "create a purchase order", "book hotel
az> room".Agree?

0MQ has different sockets, with different semantics, so you can decide
whether it's important not to lose messages, when to block, etc. There
are also (an ever-growing set of) socket options and features like
zmq_socket_monitor to track and control things.

Is 0MQ suitable for your examples? Yes, I think it absolutely is.

In your case, when you hit your timeout, why not close the socket
(setting LINGER to 0) and connect again?

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Can we customize a behaviour for in-mem queued messages after reconnect?

2013-12-20 Thread Gregg Irwin
Hi Artem,

az> Real example from gambling.

az> We have thousands users betting from their phones.  For end user a bet is
az> just a click in UI, but for backend it's  a bunch of remote calls to
az> services. If  service is not available, then bet message  will stuck
az> in 0mq in-mem message queue  (up to hwm).   The game UI can wait up to
az> certain timeout  and then render something akin to  "We have communication
az> problem with our backend. Try again later."  So at this point user believes
az> that bet wasn't succeeded (.. this is important).What happens then --
az> ITOps get their pager rings, and then during 1hr they do their best to
az>  restart a failed service.  Ok?

az> After 1hr or so service restarts  and now what? Now queued bet will be
az> delivered to restarted service. And this is not goood, because 1hr earlier
az>  we ensured user that "we had a backend issue"  and his bet wasn't suceeded.

az> So  the  question arised --  how to not redeliver messages upon reconnect?

This sounds like an application problem, not a 0MQ problem. A request
to place the bet can be received, which doesn't guarantee that the bet
has been placed (if other work needs to be done). To know that the bet
was place, you need an ack. You can also ack that the *request* was
received. In your scenario above, timestamping the messages and giving
them a TTL lets you handle cases where requests could not be processed
in a timely manner, and possibly ask the user what they want to do.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Poll on sockets OR child process

2013-12-18 Thread Gregg Irwin
GW>   http://gerg.ca/blog/post/2013/zmq-child-process/

Nice article Greg. I'm not sure about "the main mechanism for blocking
until stuff is ready is zmq_poll()" though. Maybe steal directly from
the zmq-poll docs? e.g., "the main mechanism for multiplexing
input/output events is zmq_poll()".

Thanks for writing up your R&D work.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] What exact networking problems ZMQ does solve?

2013-12-10 Thread Gregg Irwin
az> Can you please itemize what exact networking issues ZMQ does solve?
az> I have count 1 -- reconnection. Ok. But can you please provide more?

Have you read the bullet points at http://zeromq.org/, or skimmed
http://zeromq.org/intro:read-the-manual or the preface in the guide
(http://zguide.zeromq.org/page:all)?


-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] How to open zero mq

2013-07-25 Thread Gregg Irwin
Hi vikas,

vr> I installed zeromq, in ubuntu command prompt but i don't know "how to open
vr> zero mq"

vr> what commands i have to type for open zermq or is there any local host
vr> address is there to open zero mq.

Start by reading the guide. There is no 0MQ server daemon that you
just open. You need to write a program or script that opens sockets
yourself.


-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Zero mq

2013-07-25 Thread Gregg Irwin
Hi vikas,

vr> Can you please provide me the some information about Zero mq.

Start at http://www.zeromq.org/ and read the guide.

vr> 1.Is there any plugin for connecting Zero mq to NoSql databases like
vr> couchbase, mongo DB.

I don't know of any generic tools, but it would be a good, simple
thing to do yourself, once you work through some of the examples in
the guide.

vr> 2.Which programming libraries , Zero MQ ll support..?...

http://www.zeromq.org/bindings:_start has a list of language bindings.



-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Statistics protocol v0.1

2012-06-06 Thread Gregg Irwin
Hi Paul,

PC> I don't know what you mean by "model". For rrd "counter" type is
PC> basically a growing counter sent each time (e.g. messages passed
PC> through a gateway). rrdtool subtracts previous value from the current
PC> value to know rate (messages per second), and stores that rate. Its
PC> very convenient way to count several kinds of statistics.

Right, that's what I meant by coupling and model, rather than having
the protocol simply define the exchange format, it also covers
semantics.

PC> No, segments can't contain spaces. The colon is there to have a way to
PC> subscribe to whole value. E.g. subscribing to "example.org:cpu" will
PC> also hit "example.org:cpu0", which isn't what intended.

Your comments on the fields would be great to include in the docs.

PC> Having to subscribe to space-terminated topic is ugly. And there
PC> is a tab that is also a whitespace.

Allow any whitespace separator then.

>>  HOST is there for ...

PC> It's nice to know what host this statistics is for. Having monotonic
PC> sequence of dot-separated items, like in graphite/carbon
PC> "example.org.cpu" means we don't know where hostname ends. The host
PC> name is essential parameter to group data in a GUI.

OK. So this is another coupling, but could also be handled by
convention. I understand the reason, though, in your target context.

PC> I want to be able to have a path as a component in the name. e.g.:

PC> ESTP:example.org:disk:system/root:bytes_written:

PC> Where the "system/root" is lvm partition (/dev/system/root aka
PC> /dev/mapper/system-root).
PC> This is also the reason I've not used dot, like in graphite, as dot is
PC> used in hostnames.

Would a URI syntax work?

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Statistics protocol v0.1

2012-06-01 Thread Gregg Irwin
How tightly do you want to couple sources and sinks? e.g., do you need
type1 and type2 as part of the protocol? I haven't used RRD, but
that's the model, correct?

Starting from a minimum spec, I sometimes write a statement answering
the WHY question for things included beyond the minimum. For example:

  Given a minimum of [name timestamp value]:

  NAME has a trailing delimiter (colon) because name segments can
  contain spaces.

  HOST is there for ...

  TYPE1 is needed because ... and values must be one of ...

  TYPE2 is used to ... must be ... and indicates ...


I like ISO8601 timestamps, and path syntax (slash as separator) for
names.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Statistics reporting using zeromq/crossroads

2012-05-27 Thread Gregg Irwin
Hi Paul,

PC> I think the community would benefit from having common format for
PC> reporting statistics...

Sounds great. From a non-zmq perspective, are you thinking along the
lines of something very simple, like Graphite or RRD, and [name value
timestamp] tuples?

I favor simple, text-oriented solutions.

The only thing I've done roughly along these lines was small.
Subscribers containing DTrace-like aggregator funcs parsed messages
for keys (e.g. location, device, timestamp) and, in turn, published
aggregated values like the tuples above. It wasn't designed to be
generic, though, as it was an early foray into zmq for me.

Not sure how much help I would be, but I'd like to at least listen in
on the conversation.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] 0mq conference idea, Feb 2012, Portland, Oregon?

2011-09-06 Thread Gregg Irwin
Michel,

I'm in Southwest Idaho, and a relative noob to zmq. Not sure I can
make a trip in Feb, as I have a commitment that may conflict depending
on the exact dates.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Long-term plan for ZeroMQ

2011-07-29 Thread Gregg Irwin
PH> http://www.zeromq.org/topics:planning

Great summary Pieter. Thanks for that, it is most helpful.


-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Question: release policies and v3.x

2011-07-18 Thread Gregg Irwin
PH> Does people (and especially binding authors) prefer:

PH> (a) starting a 4.0 version for this work (which means that 3.x will
PH> stop when 3.0.x is mature)
PH> (b) doing this work in 3.1, and changing the release policies to allow this.

I don't have a strong investment in IDENTITY, but this has been
planned and input solicited for some time. Policy is helpful for
planning but, ignorant of the exact policy, I wouldn't have a problem
with bending the rules here and putting the change in 3.1. 

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Theoretical whitepaper on 0MQ

2011-07-05 Thread Gregg Irwin
MS> For those interested in theoretical foundation of 0MQ, I've put down my
MS> thoughts here:

Great stuff Martin!

§ Subscription Aggregation

"...the server would *spent* all its time processing subscriptions..."

§ Plugging into the Subscription Mechanism

"...(The?) Other way *round* it can read the subscriptions from the
socket and *send send* them as queue.bind commands..."

"...(The?) Same way, bridges can be *build* to interface with other
messaging systems..."

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Thinking out loud ...

2011-06-28 Thread Gregg Irwin
MS> I would say the usage of term "queue" originates from the olden days
MS> when 0MQ was still thought to be some kind of equivalent to enterprise
MS> queueing products. The "queues" are more like network buffers today.

Buff Sockets? SoS (Sockets on Steroids)? SSS (Simply Smarter Sockets)?
:)

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] MOPED - a Message-Oriented Pattern for Elastic Design

2011-06-16 Thread Gregg Irwin
Great stuff Pieter. How much I like 0MQ is directly affected by how
much I like the supporting docs, advice, and sharing of hard-won
experience.

Typo: "Wort with a few people"

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Ten minute talk on #zeromq - tips

2011-06-08 Thread Gregg Irwin
Hi Pieter,

Thanks for the 10-minute-talk notes.

Third paragraph, odd phrase: "you can say exactly thing"

When explaining any tech product in summary, I tend to split my
comments into facts and opinions; facts being bullet points, not
always provable, and targeted at techs. I lump those together either
at the beginning or end, depending on the audience. For example:

* It's free and open source. The license is LGPL.

* It grew out of lessons learned from AMQP and OpenAMQ; the brains at
  iMatix being at the core of both.

* There are language bindings for about 20 languages, including C/C++,
  Java, Python, Ruby, .NET, Javascript, and more. (include languages
  you know they may care about in this list)

* It's a library not a daemon. If AMQP is Oracle, 0MQ is SQLite.

* It's small (one 150K DLL on Windows), simple (only about 20 API
  calls), and designed for robustness and performance.

* Imagine smart sockets that support pub-sub, pipeline, and
  request-reply messaging patterns, and atomic multipart message
  delivery.

That part generally takes about 30 seconds. Then I do the narrative
part, explaining the operations and business case, and how it compares
to alternatives. If I'm talking just to techs, we stick with the
details and I show examples.

So far, I've only had to explain 0MQ once and my demos were pretty
much right out of the guide, with pub-sub+proxy, req-rep+broker, and
parallel pipeline, showing what happens when one component stops or
restarts. 

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Guide now in PDF

2011-06-01 Thread Gregg Irwin
PH> I've finally managed to produce a nice version of the Guide (with
PH> index, page headers/footers etc.) as PDF, for those with e-readers and
PH> others who want this text to go.

Very nice! If the chapter names were larger in the TOC, they would
stand out more; I think that would be nice.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Trademark policy for 0MQ

2011-05-12 Thread Gregg Irwin
MS> 3. Naming bindings using "zmq" postfix is for consistency's sake
MS> and has nothing to do with trademarks.

Trademark protection is for product/marketing names, correct? It
doesn't mean you have to use zmq for the name used to reference
the binding programmatically.

Is "There can be only one" the goal for each language with a binding?

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev



Re: [zeromq-dev] Broadcasting Requests

2011-05-05 Thread Gregg Irwin
FN> CARRIER or a DISTRIBUTOR may be ?

DISTRIBUTOR came to my mind as well, as did HUB.

--Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


[zeromq-dev] Broken link to issue tracker

2011-04-19 Thread Gregg Irwin

http://www.zeromq.org/intro:ask-for-help has a link to "public issue
tracker" which goes to https://github.com/zeromq/zeromq2/issues, but
404s.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Renaming ZMQ_RECONNECT_IVL_MAX in 3.0

2011-04-12 Thread Gregg Irwin
>> Hmm, industry practice is short option names ("SNDBUF"), so
>> ZMQ_RECONNECT and ZMQ_RECONNECT_MAX would work better.

MS> What do others think? Is shortening the option names worth of it? There
MS> are couple of other long names out there, e.g. ZMQ_RECOVERY_IVL. Or even
MS> ZMQ_SUBSCRIBE and ZMQ_UNSUBSCRIBE...

If it's not used often, longer and more descriptive is better. I don't
think adding a few letters makes it too long, and they do add some
meaning. I think TIME might be more meaningful than IVL. I know what
IVL means now, but it didn't have instant meaning to me when I first
saw it. 

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Removal of zmq_device[3] from 3.0

2011-04-12 Thread Gregg Irwin
PH> So my vote is to continue this process of breaking into layers, but
PH> with the condition that the packaging makes it all look like one
PH> deliverable again.

Good points Pieter, and making a single deliverable is my preference
in most cases. I also like having a minimum reference standard, so you
know what you can depend on as always being available.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Assertion failed: msg_->flags & ZMQ_MSG_MORE

2011-04-11 Thread Gregg Irwin
>> Assertion failed: msg_->flags&  ZMQ_MSG_MORE (..\..\..\src\req.cpp:87)

MS> Can you create an issue in the bug tracker for the problem?

Done.

On a lighter note, after finding the silly, subtle, and stupid
mistakes in my peering2 port, I have it working and I am even more
enamored of 0MQ than before. Yes, I have a lot of details yet to
learn, and language/binding mappings to clean up and normalize, but
this is really fun stuff. 0MQ is a breath of fresh air and has me
energized and motivated to see what I can make it do.

Thanks so much, to you, Peiter, and everyone who has gotten 0MQ to
this point.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Assertion failed: msg_->flags & ZMQ_MSG_MORE

2011-04-11 Thread Gregg Irwin
I just saw this as well. under 2.1.3

  Assertion failed: msg_->flags & ZMQ_MSG_MORE (..\..\..\src\req.cpp:87)

Coming from a REQ socket doing a recv, when I break out differently
after a POLL in the process with the ROUTER socket connected to it.
Not sure what info will help, but will check with the REBOL extension
author once I know it's not something stupid on my part.

--Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Moving to 0MQ/3.0, yes or no?

2011-04-11 Thread Gregg Irwin
Thanks for all your thoughts Martin. I agree that breaking things
hard, one time, is better than small breaks between every version. And
these are really design breaks you're talking about, with good reasons
for making those breaks, correct?

It's not arbitrary, building some level of consensus seems possible,
and it seems much better to break things now, making life better for
everyone (you included) in the long term. I don't know how many people
use 0MQ in production today, or how many will be adversely affected by
the breaks, but the number is probably small compared to when 0MQ
reaches critical mass and change is *really* painful, and for a *lot*
of people.

-- Gregg (whose pain will be small right now)

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] devices

2011-04-11 Thread Gregg Irwin
MS> However, they are _applications_ as opposed to 0MQ core which is a
MS> _network stack_. Thus I believe the two should not be mixed in a single
MS> project.

My question, when I face issues like this, is whether the benefit
outweighs the design purity, or if including the outside elements
starts me on a slippery slope that I can see derailing a clean design.
The functionality is useful, so it will appear somewhere.

MS> Packaging devices with core library kind of suggest that those are some
MS> kind of "official" devices and discourages the innovation in the area.

That certainly can happen, but if you make it clear that they are
minimal, intended as a starting point, and provide ideas for how other
devices could add value, you can "solve it with language" to some
extent. Where people get discouraged is if your devices are built with
special knowledge they don't have easy access to, or if yours are so
good, and provide enough functionality, that others don't see a need
to do more.

If devices are removed from the core, where do we begin on the device
ecosystem to replace them?

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Moving to 0MQ/3.0, yes or no?

2011-04-10 Thread Gregg Irwin
What is the migration model for 0MQ apps? If users can continue to use
the 2.x branch, use 3.x side-by-side, and still get critical fixes for
2.x, how painful will breaking changes be in 3.x?

I'm too new to 0MQ to offer any useful advice on specific changes,
but, for me, knowing what changes are coming, giving me the option
of moving forward or sticking with what works, and cleaning house are
all important. I don't expect things to be perfect in early designs,
and learning from the past will make things better in the future. I
greatly value stability, but gladly accept change if it's not
arbitrary.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Peering2 port - no threads, no IPC

2011-04-09 Thread Gregg Irwin
PH> Then, you want to make sure the address matches the worker's
PH> address, hasn't been mangled in some form.

Aha! That, indeed, appears to be the case. My multipart message
receiver was being called in from my zmsg helper in string mode.

Onward!

Thanks so much Pieter. Hints help.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Peering2 port - no threads, no IPC

2011-04-09 Thread Gregg Irwin
Hi Pieter,

>> ...I've made the client and worker threads into processes

PH> Nice. Is there a way to start the multiple processes from a single
PH> source file? That will make the REBOL examples compatible with the
PH> Guide.

Yes. I have a launcher script that does that.

PH> When I get frustrated at router sockets silently dropping messages I
PH> go into the 0MQ code and add a printf. That is around xrep.cpp:197.

The comments about when it silently ignores messages are helpful.
Getting ahead of myself, I'm thinking about how I'll debug things like
this for real, where I very likely won't want to add probes to zmq.

PH> This will at least tell you whether or not there's a problem with the
PH> identity/address frame.

I imagine that's what it is. I just wasn't sure if there was a good
way to trace things outside of zmq itself (i.e. not adding probes in
the source). In the broker I can see that the address in the worker
queue matches the worker its sending to, but there's no way to know
the uuid of the worker in the worker itself, correct? That is, a
socket can't get its own dynamic identity via getsockopt.

PH> Then, you want to make sure the address matches the worker's address,
PH> hasn't been mangled in some form, and that you're using a router
PH> socket and not a dealer by mistake.

Checked that it's a router, but I've done that before. I need to start
a checklist for myself. :)

PH> If all that fails, do a sanity check with a minimal case just to prove
PH> router sockets work for you.

Since I'm updating helpers and things as I go, I did go back and check
that the msgqueue+taskwork2+tasksink2 and rrbroker examples still
worked, which they do, multipart and all.

Thanks!

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


[zeromq-dev] Peering2 port - no threads, no IPC

2011-04-08 Thread Gregg Irwin
I'm still working through the guide, and have peering2 almost working.
My language (REBOL) doesn't support threads, and I'm on Windows so no
0MQ IPC scheme either; hence I've made the client and worker threads
into processes, and am using tcp instead of ipc. I've successfully
done lruqueue and peering1 this way already.

Being new to 0MQ, I don't know if I just have a simple bug or if it's
something I don't know about 0MQ that's confusing me.

What happens is that the brokers get the READY messages from workers,
and the IDs look like they're correct in the worker-queue. The client
HELLO messages also come into the broker fine. The broker then sends
the message to a worker, but the worker never seems to get it. i.e.
the worker sends READY, then blocks on recv. If I dump the message
that's going to the worker, the correct worker ID is there, then an
empty string, then the client ID, an empty string, and finally the
body. 

Using 0MQ 2.1.3.

Working through the examples is very helpful, but it will be a while
before I start thinking fluently in messaging patterns. :) For those
in the know, how do you approach debugging on 0MQ, e.g., in situations
like this?

Cheers,

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] 0MQ protocol stack

2011-04-06 Thread Gregg Irwin
MS> 1. Identity. I believe identity is an hack, but one we cannot get
MS> rid of because of backward compatibility.

Identities will always be around then, but for new applications they
should be avoided?

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Messaging patterns background

2011-04-05 Thread Gregg Irwin
Great post Martin. Very helpful, at least from a newcomers
perspective. It should definitely go in a doc somewhere. This
sentence, in particular, is a very nice summary for how to think about
socket types; though the X- names are being deprecated, aren't they?

MS> In 0MQ the layer equivalent to IP is represented by X- sockets
MS> while end-to-end layer is represented by non-X sockets.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Introducing Caravan: Simple, Faithful ZMQ-Bindings for Objective Caml (Pedro Borges)

2011-04-03 Thread Gregg Irwin
PH> * It's profitable to map libzmq's API closely (including to keep
PH> zero-copy functionality) but it's also profitable to build
PH> abstractions on top.

This is what I'm doing. My first pass has been to normalize two
divergent REBOL bindings for discussion in the REBOL community, with
the goal of keeping the bindings close to the API. Then we'll add
layers (protocol scheme and dialect) over that. I'm glad to hear
that's in line with your thinking. 

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Zero-copy message API

2011-04-03 Thread Gregg Irwin
MS> As for renaming zmq_msg_data to zmq_msg_zerocopy, I would say that the
MS> actual semantics of the command is not "zero copy" but "user defined 
MS> allocator". This has to do with the custom allocation on recv() side (as
MS> discussed recently on the list) as well. Let's see where the discussion
MS> will head.

"User defined allocator" seems much more meaningful to me.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


Re: [zeromq-dev] Data and clients distribution among multiple servers.

2011-04-02 Thread Gregg Irwin
S> So, must I read the whole zmq's documentation (it's pretty big...)
S> or it will be enaugh to obsorve just some pieces?

I'm new to 0MQ as well, and I'm going through the entire guide. Yes,
it's big, but there is a lot of hard-won information in it, gained
from actual experience. Learning from their mistakes, and taking their
advice may save you a lot of time and aggravation later. They also did
a really nice job with it, so it's not painful; and you can certainly
skip sections that don't apply. I suggest skimming it at the very
least.

-- Gregg

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev


[zeromq-dev] Should durasub.c in guide close sync socket?

2011-03-28 Thread Gregg Irwin
I'm new to 0MQ, working through the guide porting examples to a REBOL
binding. I noticed the durasub.c example in the guide doesn't close
the sync socket at the end. As thorough as the rest of the notes are,
I expect it would have been explained if done intentionally. Still,
I'm new and may have missed an obvious reason.

Loving 0MQ so far.

-- Gregg Irwin

___
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev