Tuesday April 19, 2011

[Time] NameMessage
[08:42] djc pieter_hintjens: you have "probabably" in the guide
[08:47] djc I was wondering, are subscription filters applied on the publisher, on the subscriber, or is that behavior undefined?
[08:50] pieter_hintjens djc: hi
[08:50] pieter_hintjens they're applied on the subscriber at present
[08:51] djc that's what I thought, perhaps it should be in the docs somewhere (possibly with caveat about future changes)
[08:51] pieterh where does the guide say 'probably'? I can't find that
[08:51] djc
[08:53] pieterh that points to a section on zero copy... ??
[08:53] djc yeah, and in the second line it has "probabably"
[08:53] pieterh heh
[08:54] pieterh djc: thanks for catching that, fixing it now
[09:14] djc pieterh: so can you add something about the filtering behavior, too?
[09:14] djc either to the guide or to the reference
[09:15] pieterh I don't have write access to the reference
[09:15] pieterh but I'll add this to the guide, yes
[09:15] djc nice
[09:16] guido_g pieterh: and while you're at it: :)
[09:16] djc final question for the day: is there any intended ETA for 2.1.5? as the gentoo maintainer, I'm kind of looking forward to 2.1.5 :)
[09:16] guido_g howdy all, btw
[09:16] pieterh hi guido_g
[09:16] pieterh djc: there are no real issues with 2.1.4 in fact
[09:16] drbobbeaty pieterh: I need to talk to David still about the support contract. I'm sorry it's taking so long, but I'm in the middle of a near-impossible time-frame.
[09:17] pieterh drbobbeaty: np
[09:17] drbobbeaty pieterh: the only issue I know of with 2.1.4 is the one Martin patched just today with the message bit flags.
[09:17] djc pieterh: sure, I just want --with-system-pgm
[09:17] drbobbeaty I'm going to try it today
[09:17] pieterh djc, ah, ok
[09:17] pieterh drbobbeaty: that was message validation afaik
[09:17] pieterh i.e. runtime validation that message objects are sane
[09:17] drbobbeaty yes indeed.
[09:18] pieterh djc: I'll push the 2.1.5 release up for you then
[09:18] djc awesome
[09:20] pieterh guido_g: would a link to the git repository & explanation be OK?
[09:20] guido_g pieterh: i think so
[09:20] pieterh ok, making that now
[09:21] guido_g the issue came up yesterday where one looked for something but wasn't aware of the Guides repo and the examples
[09:22] djc pieterh: also, in the "Getting the Message Out" section, it would be nice if "In Chapter Two I'll explain how to" came with a more concrete reference to a section in chapter 2
[09:23] pieterh djc: I don't like making concrete references because they're a pain to maintain
[09:23] pieterh lacking tools to do it properly, for now
[09:23] pieterh will think about improving this...
[09:24] djc what tech are you using for the guide?
[09:25] pieterh djc: well, it's in the repo bin directory, a perl script that mangles text into wikidot format
[09:25] djc it feels kind of silly that you only have a kind of abstract reference and I have to go hunting for the section if I want it, particularly for html docs
[09:25] pieterh yeah, I know
[09:25] djc perhaps you should learn sphinx?
[09:25] djc it's pretty easy and very powerful
[09:25] pieterh djc: won't help
[09:26] pieterh the tool chain is very specific
[09:26] djc what's very specific about it?
[09:26] pieterh well, it turns text diagrams into images, extracts code blocks and colorizes them
[09:26] pieterh builds all the links in the text
[09:26] djc sphinx comes with a graphviz extension, so you can still do the graphs
[09:26] djc and it also has code blocks and syntax highlighting
[09:27] djc all built in
[09:27] pieterh djc: forget it :-) srsly
[09:27] djc mkay
[09:27] pieterh unless you're willing to rewrite the whole guide to fit...
[09:28] djc I could take a stab at it, if you're willing to use sphinx after that :)
[09:28] pieterh however, if you want to collect any weak references in the text, I'll turn them into hyperlinks
[09:28] pieterh djc: you're welcome to play with it, the text is all open source
[09:28] pieterh but seriously, it's not going to work, there's a reason I made this from scratch
[11:04] drbobbeaty pieterh: Are you planning on a 2.1.5? And if so, will the patch Martin sent this morning about the Seg Fault on zmq_msg_size() make it in? And when would you be cutting that 2.1.5 release?
[11:10] sustrik drbobbeaty: hi
[11:10] sustrik what version are you using today?
[11:11] drbobbeaty 2.1.4, and I can patch it with your patch, but I wondered if Pieter was going to cut another release sometime soon. I thought I saw him say something about it earlier this morning
[11:11] sustrik not sure whether the patch would apply cleanly
[11:12] sustrik i guess, i should commit it to the master
[11:12] sustrik and move it to pieter for backporting
[11:12] drbobbeaty That would be great.
[11:12] sustrik ok
[11:13] sustrik done
[11:13] drbobbeaty Wow... exceptionally fast. Thanks.
[12:18] NikolaVeber mikko, I can't find the php-zmq package in PECL
[12:18] NikolaVeber is that a feature or a bug? :)
[12:24] mikko NikolaVeber: feature
[12:24] mikko
[12:24] NikolaVeber then there is a bug in the installation docs ;)
[12:25] mikko php docgen autogenerates those
[12:25] NikolaVeber but pear works even better :)
[12:25] mikko i'll update them at some point
[12:25] NikolaVeber great, thanks!
[12:25] NikolaVeber maybe just update README
[12:26] NikolaVeber thats the first place I looked
[12:27] mikko updated
[12:50] NikolaVeber thanks!
[14:01] NikolaVeber mikko, I'm getting 'Failed to bind the ZMQ: Address already in use'
[14:01] NikolaVeber on what I believe should be a persistent socket
[14:02] NikolaVeber I have set $context = new ZMQContext(1, true);
[14:03] NikolaVeber and $queue = new ZMQSocket($context, ZMQ::SOCKET_PUSH, "MySock1");
[14:03] NikolaVeber then bind to tcp://*:5555
[14:03] mikko you bind persistent socket only once
[14:03] mikko you might have socket in the background that's been bound
[14:03] mikko the persistent sockets work a lot better with connecting sockets
[14:04] NikolaVeber so I should check in each call if the persistent socket is up and running
[14:04] NikolaVeber and if not, bind it?
[14:05] guido_g it's not a matter of the ømq socket, it's like that the port is already used
[14:06] guido_g given that you bind to every available interface this is not surprising
[14:07] NikolaVeber I'm testing this isolated, after restarting the apache, I can bind again
[14:07] NikolaVeber but I'll try with connecting, not binding
[14:08] NikolaVeber that I need to change anyhow.. :)
[14:30] mikko NikolaVeber: with connecting use the on_new callback
[14:30] mikko that is called only when new underlying socket is created
[14:38] neale1 My introduction to 0MQ article was published in the April/May z/Journal (a web/paper magazine for IBM mainframe users).
[14:52] mikko neale1: have you had any follow-ups / reactions?
[14:54] neale1 It only came out a few days ago. It looks like I'll be presenting on it in Orlando in August at the IBM user group meeting "SHARE"
[15:09] NikolaVeber mikko, I followed this example
[15:09] NikolaVeber
[15:10] NikolaVeber can you point me to the on_new references in the docs?
[15:10] NikolaVeber sorry
[15:10] NikolaVeber got it
[15:22] ianbarber neale1: very nice article!
[15:25] neale1 Tks
[15:43] jfs anybody know if any problems building pyzmq (via easy_install pyzmq) on osx against zeromq 2.1.4? I'm getting the error "zmq/core/constants.c:2574: fatal error: error writing to -: Broken pipe"
[17:39] ketralnis How does setsockopt(ZMQ_SUBSCRIBE, filter) behave with multipart messages? Does it match only the first body?
[18:16] cremes ketralnis: it matches the bytes in the first message part only
[18:16] cremes so you should always prepend your topic to the first thing you send
[18:21] ketralnis cremes: thanks :)
[18:21] cremes you are welcome
[18:49] CudaDeveloper How do I get push/pull not to do fair sheduling? When one worker is much slower than the rest, fair scheduling means it holds everything up.
[19:42] cremes CudaDeveloper: fair scheduling is the only kind available for those sockets; if you need a different algo, you will need to roll
[19:42] cremes your own and (likely) build it on top of xreq/xrep
[19:56] crodas hi guys, I have little doubt about pubsub
[19:56] crodas is this the right place to ask?
[19:56] crodas or mailing list is better?
[20:01] crodas I'm building a chat server using pubsub. I'm wondering which is better, subscribe my peers to many channels, or if they listen to their account ID and I send one message to each one (message goes to channel)
[20:05] cremes crodas: i would start with one pub socket for all channels
[20:06] cremes then each chat user would subscribe to the channels they care about
[20:06] crodas cremes: so the peers are subscribing to their channel ?
[20:06] crodas great
[20:06] crodas thanks
[20:06] cremes all chat messages go to a single pub socket
[20:06] cremes so, yes
[20:06] crodas btw, I'm going to give a talk about ZeroMQ in Jun :-)
[20:07] crodas it is so awesome that I have to tell the people about it
[20:07] cremes great enws
[20:07] crodas (I'm using it with PHP and NodeJS)
[20:07] cremes nodejs scales nicely so it will pair up with 0mq quite well
[20:07] crodas indeed
[20:08] crodas but mongrel2 with any other language (such as PHP) is awesome
[20:12] mikko crodas: where is the talk?
[20:12] crodas Rio de Janeiro, Brazil
[20:12] crodas it is 100% confirmed yet
[20:12] crodas but almost
[20:13] mikko which conference is that?
[20:17] crodas I don't recall, looking no
[20:17] crodas *now*
[20:17] crodas FSLDC (Fórum de Software Livre de Duque de Caxias)
[20:18] crodas
[20:18] crodas perhaps someone could record the talk
[20:18] sustrik nice
[20:18] crodas (It'd be in English, I don't speak Portuguese, just Spanish and English)
[20:19] sustrik once you have the talk confirmed, place a link to page
[20:19] crodas how do I do that?
[20:19] sustrik it's wiki
[20:19] crodas cool, I'll do it
[20:20] sustrik great
[20:21] crodas I'll upload my slides next week
[20:21] crodas so I can have feedback
[20:21] crodas I'm kinda new with ZeroMQ (~2 months) but I'm using it already on various projects
[20:25] ianbarber to be honest, i think with 0mq you spend a few weeks learning everything the library can do, and then months understanding good messaging architectures :) that's part of the fun
[20:27] crodas ianbarber: actually Derick Rethans (I don't know how to spell it) showed me your video
[20:27] crodas I became a fun since then :-)
[20:27] crodas *fanatic*
[20:27] ianbarber :)
[20:27] crodas kudos, I owe lots of beers
[20:28] ianbarber giving further talks is the best payback :) i'll have to thank derick next time i see him
[20:28] crodas I'll spread the word here in South America