00:14:18  * EhevuTovjoined
00:15:28  * EhevuTovquit (Max SendQ exceeded)
00:16:31  * EhevuTovjoined
00:17:56  * EhevuTovquit (Max SendQ exceeded)
00:19:18  * EhevuTovjoined
00:22:56  * EhevuTovquit (Client Quit)
00:24:47  * lohkeypart
00:25:21  * lohkey_joined
00:25:41  * lohkey_quit (Client Quit)
00:31:11  * EhevuTovjoined
00:33:06  * EhevuTovquit (Client Quit)
00:34:08  * hzjoined
00:34:18  * sblom_joined
00:34:49  * sblomquit (Ping timeout: 240 seconds)
00:44:44  * brsonquit (Ping timeout: 265 seconds)
00:53:19  * hzquit
01:05:30  * tomshredsjoined
01:10:33  * kazuponquit (Remote host closed the connection)
01:13:10  * indexzerojoined
01:20:48  * pooyaquit (Quit: pooya)
01:40:57  * kazuponjoined
01:41:30  * perezdjoined
01:42:03  * TooTallNatequit (Quit: Computer has gone to sleep.)
01:47:35  * pooyajoined
01:48:17  * kazuponquit (Ping timeout: 260 seconds)
01:48:17  * pooya_joined
01:52:07  * pooyaquit (Ping timeout: 252 seconds)
01:52:07  * pooya_changed nick to pooya
01:53:33  * pooyaquit (Quit: pooya)
01:58:16  * pooyajoined
01:58:36  * pooyaquit (Client Quit)
02:01:53  * kazuponjoined
02:08:19  * philips-quit (Excess Flood)
02:10:40  * philips_joined
02:13:03  * mmalecki[party]changed nick to mmalecki
02:13:15  * AvianFlujoined
02:16:25  * kazuponquit (Remote host closed the connection)
02:16:35  * c4milojoined
02:18:43  * AvianFluquit (Remote host closed the connection)
02:19:29  * pooyajoined
02:27:11  * kazuponjoined
02:28:17  * pooyaquit (Quit: pooya)
02:30:10  * avalanche123joined
02:34:10  * seebees1joined
02:38:07  * dapquit (Quit: Leaving.)
02:40:10  <seebees1>Has anyone used SetHiddenValue to set a hidden value on a V8 Object?
02:46:18  * EhevuTovjoined
02:47:35  * pooyajoined
02:49:58  * pooyaquit (Client Quit)
02:51:04  * pooyajoined
02:52:34  * kazuponquit (Remote host closed the connection)
02:56:05  * pooyaquit (Quit: pooya)
03:05:44  <seebees1>anyone?
03:06:40  * avalanche123quit (Quit: Computer has gone to sleep.)
03:10:35  * bradleymeckjoined
03:14:49  * pooyajoined
03:17:14  * pooyaquit (Client Quit)
03:18:28  * pooyajoined
03:21:49  * pooyaquit (Client Quit)
03:25:08  * pooyajoined
03:29:10  * pooyaquit (Client Quit)
03:38:26  * c4miloquit (Remote host closed the connection)
03:42:53  * bradleymeckquit (Quit: bradleymeck)
03:57:24  * EhevuTovquit (Quit: This computer has gone to sleep)
03:59:32  * kazuponjoined
04:17:42  * joshthecoderquit (Quit: Linkinus - http://linkinus.com)
04:18:57  * AvianFlujoined
04:22:49  * indchanged nick to indutny
04:22:50  <indutny>morning
04:23:28  <indutny>seebees: surely we're using
04:23:41  <indutny>seebees: git grep "SetHiddenValue" in node's repo
04:31:24  * stagasquit (Ping timeout: 246 seconds)
04:32:23  * ericktjoined
04:39:51  <seebees1>indutny: thanks. I see it. What I'm wondering is when I use Set/Get on the object it works, when I use SetHiddenValue/GetHiddenValue, I get a fatal error
04:40:02  <indutny>what error?
04:40:15  <seebees1>indutny: I'm trying to store a tick count on the object used in MakeCallback
04:40:24  <seebees1>Fatal error in ../deps/v8/src/api.h, line 297
04:40:32  <seebees1>CHECK(allow_empty_handle || that != __null) failed
04:41:05  <indutny>ok, you're passing empty handle to it, I suppose
04:41:55  <indutny>can you show me your code?
04:42:12  <indutny>btw, are you sure that you're getting hidden property *after* setting it?
04:42:26  <indutny>I suppose GetHiddenValue may return NULL in this case
04:42:31  <seebees1>:) That had occurred to me
04:42:40  <seebees1>so I am getting the value like this:
04:42:41  <seebees1> process->Set(process_tock_symbol
04:42:41  <seebees1> , object->GetHiddenValue(object_tock_symbol));
04:42:42  * xaqjoined
04:42:42  <seebees1>at:
04:42:43  <indutny>well, if result is null - there're no property
04:42:48  <indutny>set is incorrect
04:42:55  <seebees1>https://github.com/joyent/node/blob/master/src/node.cc#L1040
04:42:56  <indutny>how do you know that hidden property is set
04:43:14  <indutny>huh?
04:43:15  <seebees1>That is a great question. I'm not sure how to check
04:43:19  <indutny>link is incorrect
04:43:27  <indutny>you should do .IsEmpty() check
04:43:29  <indutny>on handle
04:43:45  <seebees1>https://github.com/joyent/node/blob/master/src/node.cc#L1015
04:43:46  * TooTallNatejoined
04:43:49  <seebees1>trying again
04:44:26  <seebees1>I'm setting the value here:
04:44:26  <seebees1>https://github.com/joyent/node/blob/master/src/handle_wrap.cc#L116
04:44:42  <seebees1>object_->SetHiddenValue(object_tock_symbol
04:44:42  <seebees1> , Integer::New(current_tick()));
04:45:05  <seebees1>If I change the code to use ->Set and ->Get then everything seems to work
04:45:15  <indutny>ok
04:45:20  <seebees1>I'll compile with .IsEmpty()...
04:45:20  <seebees1>sec
04:50:13  * tomshredsquit (Quit: Linkinus - http://linkinus.com)
04:51:26  <seebees1>indutny: Hum. I get the same error.
04:51:59  <indutny>can you show me the code, please?
04:52:06  <seebees1>yes, working on that
04:52:09  <indutny>all links that you've pasted are incorrect
04:52:10  <indutny>:)
04:53:01  <seebees1>well that is just my natural incompetence shining through!
04:54:22  <seebees1>let me try two links now
04:54:23  <seebees1>https://github.com/seebees/node-1/commit/54ab1cb23bbc1aebfddd6c584e2b3d34b5233cfd
04:54:34  <seebees1>and
04:54:34  <seebees1>https://github.com/seebees/node-1/commit/272d6b2c0d21c5f8fd0f075f01b7a4f557ecbe01
04:54:42  <seebees1>The two commit's I'm working on right now
04:55:49  <seebees1>What I'm trying to do is expose to the JS side a number for every "turn" of the event loop
04:56:02  <seebees1>as well as a number that points back to what turn we came from
04:56:12  * tomshredsjoined
04:56:29  <seebees1>I was doing some work in libuv, but I think I can get the whole job done just in node...
04:58:43  <indutny>ok
04:59:25  <seebees1>so the part that throws me for a loop is that everything works if I just use Get/Set
04:59:39  <indutny>ah
04:59:46  <indutny>you did it wrong
04:59:55  <seebees1>big suprise!
05:00:01  <indutny>you should check .IsEmpty() on value returned by GetHiddenValue
05:01:01  <seebees1>oh, no crap. You're right!
05:01:42  <seebees1>!!!!!!!
05:01:51  <seebees1>SO AWESOME!
05:02:11  <seebees1>Ok, one more question, if you have a sec
05:10:11  <indutny>sure
05:10:45  <seebees1>thanks
05:11:12  <seebees1>I know that creating handles and MakeCallback is a very hot part of the app
05:11:41  <seebees1>is this going to slow things down much more than any value it may add?
05:12:10  <seebees1>so I guess the question is who do I talk to about this?
05:12:41  <seebees1>I had a pull request back in 0.7 but I did not get it ready before 0.8 needed to come out
05:21:25  * xaq_joined
05:21:33  * paddybyersjoined
05:21:49  * stagasjoined
05:22:13  * ericktquit (Quit: erickt)
05:23:22  <indutny>I think isaacs should be a right person, but you can show me your patches if you would like too
05:23:56  * TooTallNatequit (Quit: Computer has gone to sleep.)
05:24:01  <seebees1>they are what I linked. sort of. I need to write tests and such
05:24:07  <seebees1>make sure I'm not missing anything
05:24:39  * TooTallNatejoined
05:24:42  <seebees1>but I just wanted to get an idea as to weather I'm doing something that anyone else even sees as useful if you know what I mean
05:24:57  * xaqquit (Ping timeout: 246 seconds)
05:25:26  <seebees1>I've got to run, but how do I run the benchmark tests?
05:25:38  <seebees1>so that I can make sure I don't grind things to a halt
05:27:18  <seebees1>think I've got it
05:27:23  <seebees1>thanks again man.
05:27:35  <seebees1>I'll be back with something more organized ;)
05:27:59  <indutny>interesting
05:28:18  <seebees1>you think it's cool?
05:28:28  <indutny>I don't know how this could be used
05:28:31  <seebees1>I figure long stack traces are too slow to run in production
05:28:39  <seebees1>for logging is my idea
05:28:48  <seebees1>if you know where you are and where you came from
05:28:55  <indutny>hm....
05:28:58  <seebees1>every line in a log file could be unwound
05:29:11  <indutny>why not timestamps?
05:29:14  <seebees1>if it's fast enugh then it could be run in production
05:29:15  <indutny>oh
05:29:16  <indutny>well, I see
05:29:56  <seebees1>cause the node events get all kind of mixed up order in a log file
05:30:01  <seebees1>or a console
05:30:18  <seebees1>You could use it to order a bunch of asyc test output and such
05:30:28  <seebees1>it could be a wast of time
05:30:41  <seebees1>but it has been fun to work out how I could do it
05:31:58  <indutny>ok, we really need isaacs do discuss it
05:32:03  <indutny>and he's on conference
05:34:05  * tomshredsquit (Read error: Connection reset by peer)
05:34:49  * seebees1quit (Ping timeout: 240 seconds)
05:35:52  * indexzeroquit (Quit: indexzero)
05:42:42  * indexzerojoined
05:53:27  * avalanche123joined
05:57:39  * avalanche123quit (Ping timeout: 256 seconds)
06:07:18  * pooyajoined
06:17:47  * pooyaquit (Quit: pooya)
06:19:18  * TooTallNatequit (Quit: Computer has gone to sleep.)
06:35:19  * xaq_quit (Remote host closed the connection)
07:02:14  * AvianFluquit (Remote host closed the connection)
07:08:17  * perezdquit (Quit: perezd)
07:45:23  * Raltjoined
08:16:15  * V1joined
08:16:44  * V1changed nick to `3rdEden
08:19:41  * rendarjoined
08:23:48  * indexzeroquit (Quit: indexzero)
08:23:52  * paddybyers_joined
08:25:33  * paddybyersquit (Ping timeout: 246 seconds)
08:25:34  * paddybyers_changed nick to paddybyers
08:38:32  * `3rdEden_joined
08:38:59  * `3rdEdenquit (Disconnected by services)
08:39:00  * `3rdEden_changed nick to `3rdEden
08:54:40  * bulatshakirzyanojoined
08:55:34  * hzjoined
08:59:06  * bulatshakirzyanoquit (Ping timeout: 245 seconds)
09:01:14  * ArmyOfBrucequit (Ping timeout: 248 seconds)
09:01:37  * ArmyOfBrucejoined
09:19:28  * benoitcquit (Excess Flood)
09:26:05  * benoitcjoined
09:44:06  * AvianFlujoined
09:52:11  * abraxasquit (Remote host closed the connection)
10:00:01  * Raltquit (Read error: Operation timed out)
10:00:03  * bnoordhuisjoined
10:03:26  * kazuponquit (Remote host closed the connection)
10:04:49  * abraxasjoined
10:08:24  <indutny>bnoordhuis: heya
10:08:32  <indutny>bnoordhuis: how is dublin?
10:09:34  <indutny>bnoordhuis: on side note, have you seen my patch for async handles?
10:14:35  * AvianFluquit (Ping timeout: 265 seconds)
10:18:32  <bnoordhuis>indutny: i was just looking at it
10:18:49  <bnoordhuis>dublin's nice btw
10:18:58  <bnoordhuis>i kind of regret not having time to visit the museums
10:19:03  <bnoordhuis>maybe next time
10:19:17  <rendar>is there some event at dublin?
10:20:59  <bnoordhuis>rendar: nodedublin
10:21:18  <rendar>cool
10:21:25  <bnoordhuis>isaacs is here as well
10:26:36  <bnoordhuis>indutny: you're writing the address of a local variable to the pipe
10:27:10  <indutny>bnoordhuis: local?
10:27:17  <indutny>I don't think so
10:27:41  <indutny>I'm writing **from** address of local variable
10:28:01  <indutny>and this patch works
10:28:02  <indutny>:)
10:28:05  <bnoordhuis>indutny: int uv_async_send(uv_async_t* handle) ... write(fd, &handle, sizeof(&handle))
10:28:26  * abraxasquit (Remote host closed the connection)
10:28:32  <indutny>and &handle is pointer to data
10:28:35  <indutny>to write into pipe
10:28:40  <indutny>which exactly what I do want
10:28:54  <bnoordhuis>handle is a pointer to a uv_async_t
10:29:07  <bnoordhuis>&handle is a pointer to a pointer
10:29:24  <bnoordhuis>one that's local to uv_async_send
10:30:00  <indutny>and
10:30:04  <indutny>write takes pointer to data
10:30:05  <indutny>right?
10:30:11  <indutny>and I'm giving it pointer to pointer
10:30:15  <indutny>so it writes not pointer to pointer
10:30:18  <indutny>but just pointer
10:30:20  <indutny>correct?
10:30:43  <indutny>bnoordhuis: ^
10:30:50  <bnoordhuis>you want to send over the address of the uv_async_t struct, right?
10:30:57  <indutny>yes
10:31:15  <bnoordhuis>you're not doing that right now
10:31:28  <indutny>you think so?
10:31:31  <bnoordhuis>put in a few printf statements if you don't believe me
10:31:48  <indutny>man
10:31:55  <indutny>I was passing (char*) handle before
10:31:59  <indutny>and that was indeed incorrect
10:32:11  <indutny>but passing &handle is exactly why I do need there
10:32:29  <indutny>it doesn't write (void*) &handle
10:32:35  <indutny>but it writes (void*) handle
10:33:13  <bnoordhuis>oh wait, i think you're right
10:33:22  <bnoordhuis>github needs a mechanism to increase the patch context
10:34:14  <bnoordhuis>in that case my comment is that you're doing a superfluous cast :)
10:34:20  <indutny>:)
10:34:23  <indutny>haha
10:34:28  <indutny>where?
10:34:56  <bnoordhuis>you don't need to cast &handle to char*
10:35:05  <bnoordhuis>write() takes a void pointer
10:35:15  <bnoordhuis>so no need to cast at all
10:35:30  <indutny>aah
10:35:31  <indutny>I forgot that
10:36:06  <indutny>force pushed
10:36:34  <indutny>what I'm thinking about
10:37:51  <indutny>is this sweep flag method correct?
10:37:59  <indutny>I mean does it cover all edge cases?
10:39:54  <bnoordhuis>let me check
10:51:07  <bnoordhuis>indutny: your patch is breaking the async{2,4,8} benchmarks
10:52:13  <indutny>huh
10:52:29  <indutny>let me see
10:52:56  <bnoordhuis>Assertion failed in ../test/benchmark-async.c on line 106: ctx->main_sent == (unsigned int) NUM_PINGS
10:53:34  <bnoordhuis>also, the benchmarks that do pass don't seem to get any faster
10:54:37  <bnoordhuis>but the number of async handles in those benchmarks is low
10:55:08  <indutny>indeed
10:55:24  <indutny>it's not critical when you have less than say 1k handles
10:56:37  <bnoordhuis>a benchmark with 100K or 1M async handles would be nice :)
10:56:51  <indutny>haha :)
10:57:10  <bnoordhuis>okay, i guess i should be off to the convention center
10:57:27  <indutny>ok
10:57:32  <indutny>but you're ok with my patch?
10:57:43  <indutny>except failing benchmark
10:58:48  * AvianFlujoined
10:59:41  <bnoordhuis>indutny: in principle yes
10:59:47  <indutny>that's what I wanted to know
10:59:48  <indutny>ok
10:59:51  <indutny>I'll continue working then
11:01:42  <indutny>odd thing
11:01:44  <indutny>it segfaults for me
11:01:56  <indutny>can it be possible that data is interleaved?!
11:02:03  <indutny>it should not be
11:02:05  <indutny>but anyway
11:02:08  <mmalecki>bnoordhuis: you here somewhere?
11:02:44  <indutny>ah
11:02:45  <indutny>nvm
11:02:56  <indutny>that was because I forgot to run ninja -C out/Release
11:04:05  <indutny>bnoordhuis: I think those assertions are incorrect...
11:04:27  <indutny>ah no
11:04:30  <indutny>they can't be
11:04:31  <indutny>hm...
11:05:20  * bnoordhuisquit (Ping timeout: 245 seconds)
11:16:07  * Raltjoined
11:17:03  <isaacs>ircretary: tell TooTallNate multi-pipe is already supported.
11:17:03  <ircretary>isaacs: I'll be sure to tell tootallnate
11:17:32  <indutny>multi-pipe?
11:17:35  <indutny>ooh
11:21:57  <isaacs>yeah
11:23:03  <isaacs>ircretary: tell TooTallNate https://github.com/joyent/node/blob/streams2/lib/_stream_readable.js#L264-307
11:23:03  <ircretary>isaacs: I'll be sure to tell tootallnate
11:23:11  <isaacs>ircre notes
11:23:23  <isaacs>ircretary: notes
11:25:01  * stagasquit (Ping timeout: 260 seconds)
11:26:36  * hzquit (Ping timeout: 272 seconds)
11:27:09  <isaacs>ircretary: tell piscisaureus exposing uv_loop_new() to js as a process.binding +1. exposing to js as a require() builtin module, i'm kind of iffy about. we should be more careful there. process.binding is "private" so it's fine.
11:27:09  <ircretary>isaacs: I'll be sure to tell piscisaureus
11:32:13  * hzjoined
11:42:35  * mikealjoined
11:55:35  * avalanche123joined
11:59:56  * avalanche123quit (Ping timeout: 264 seconds)
12:06:58  * mikealquit (Quit: Leaving.)
12:15:34  * jmar777joined
12:21:55  * jmar777quit (Remote host closed the connection)
12:22:30  * jmar777joined
12:22:43  * AvianFluquit (Remote host closed the connection)
12:26:36  * jmar777quit (Ping timeout: 240 seconds)
13:00:22  * kazuponjoined
13:01:38  * piscisaureus_joined
13:21:12  * seebees1joined
13:40:34  * bnoordhuisjoined
13:44:37  * mikealjoined
13:45:30  * kazuponquit (Remote host closed the connection)
13:47:32  * bnoordhuisquit (Ping timeout: 276 seconds)
13:47:51  * bnoordhuisjoined
13:48:36  * AvianFlujoined
13:48:42  * c4milojoined
13:55:11  * ericktjoined
13:55:44  * bradleymeckjoined
13:57:55  * kazuponjoined
14:00:37  * mikealquit (Quit: Leaving.)
14:20:16  * seebees1quit (Quit: Leaving.)
14:26:06  <indutny>piscisaureus_: hoya
14:29:18  * ericktquit (Quit: erickt)
14:31:09  * ericktjoined
14:31:27  * ericktquit (Client Quit)
14:34:03  <piscisaureus_>indutny: hey
14:34:15  <piscisaureus_>indutny: you could read partial data
14:34:21  <piscisaureus_>indutny: because read()'s are not atmic
14:34:31  <piscisaureus_>they could - theoretically - be interrupted by a signal
14:35:07  <piscisaureus_>indutny: i agree that it is really unlikely tho
14:38:23  <piscisaureus_>looking at the node c++ layer makes me sad
14:39:25  <piscisaureus_>hey bnoordhuis
14:39:30  <piscisaureus_>is your talk finished yet?
14:49:26  <piscisaureus_>crap
14:49:38  <piscisaureus_>my "exposing uv_loop_new" trick doesn't work
14:49:48  <piscisaureus_>because of process.nextTick
14:50:05  * philips_quit (Excess Flood)
14:50:43  * philips_joined
14:52:42  <indutny>piscisaureus_: read is atomic too
14:53:36  <piscisaureus_>indutny: that's not what man 7 pipe says
14:53:48  <piscisaureus_>indutny: where did you get the idea
14:54:47  <indutny>hm...
14:54:49  <indutny>fucking osx
14:55:10  <indutny>no info about PIPE_BUF here
14:55:34  <indutny>http://www.tldp.org/LDP/lpg/node13.html
14:55:40  <piscisaureus_>indutny: posix mandates that PIPE_BUF is at least 512 bytes
14:56:37  <indutny>well, http://www.kernel.org/doc/man-pages/online/pages/man7/pipe.7.html doesn't say anything about atomicity of read
14:56:38  <indutny>I suppose it should be atomic too
14:56:38  <indutny>considering that I'm wriitng word-size buffers
14:57:13  <piscisaureus_>assumptions :-)
14:57:16  <piscisaureus_>it probably is
14:57:30  <piscisaureus_>indutny: if you look in unix/signal.c I also deal with this
14:57:54  <piscisaureus_>maybe we should use the same pipe for signals and asyncs
14:58:10  <piscisaureus_>now every loop takes 5 file descriptors already
14:58:44  <indutny>oh
14:58:44  <indutny>right
14:58:44  <indutny>well, idk
14:59:07  <indutny>pipes may get full
14:59:07  <indutny>and 5 fds is not really much
14:59:13  <indutny>but we should unify code somehow
14:59:15  <piscisaureus_>yeah
14:59:22  <piscisaureus_>full pipes is also slightly worrysome for me
14:59:35  <piscisaureus_>on linux it won't be an issue
14:59:47  <piscisaureus_>since pipes are 64k there
14:59:58  <piscisaureus_>but idk about os x and solaris and bsds
15:00:36  <indutny>it's the same on osx as on linux
15:00:48  <indutny>and i suppose all other bsds have 64kb pipes by default
15:00:52  <indutny>though, I know nothing about solaris
15:03:00  <indutny>looks like reads are atomic too
15:03:03  <indutny>at least on osx
15:03:07  * indutnyis looking at xnu source
15:04:28  <indutny>hm...
15:04:30  <indutny>well
15:04:46  <indutny>yes they're
15:04:46  <indutny>it's a circular buffer
15:04:51  <indutny>and writer and reader positions are updated atomically
15:05:01  <indutny>so no way you can read partial data
15:05:08  <indutny>piscisaureus_: ^^
15:05:20  * indexzerojoined
15:08:23  <indutny>btw
15:08:29  <indutny>are we doing call today?
15:12:12  * Raltquit (Ping timeout: 244 seconds)
15:15:24  * kazuponquit (Remote host closed the connection)
15:15:48  <piscisaureus_>indutny: do you want to?
15:16:00  <piscisaureus_>indutny: it would be me you and nate I think
15:16:25  <piscisaureus_>indutny: the ring buffer thing is an implementation detail. you should not rely on that
15:18:14  <indutny>indeed
15:18:19  <indutny>but it's atomic :)
15:18:35  <indutny>and it's hard to imagine implementation where word-aligned writes would be partially read
15:18:53  <indutny>kernel should use some odd-length buffers
15:18:56  <indutny>like 1023 :)
15:19:13  <indutny>though we can just do following thing
15:19:20  <indutny>if read wasn't atomic - sweep all handles
15:19:24  <indutny>errr
15:19:26  <indutny>read was partial*
15:19:30  <indutny>piscisaureus_: agree?
15:20:43  <piscisaureus_>indutny: why? if the read wasn't atomic, just read more :-)
15:20:49  <indutny>em...
15:20:55  <indutny>it's non-blocking fd
15:21:03  <indutny>this may block and waste a lot of CPU
15:21:13  <indutny>aah
15:21:23  <indutny>you mean I should store temporary data somewhere
15:21:24  <indutny>right?
15:21:38  <indutny>well, it should not be hard
15:22:54  <piscisaureus_>indutny: https://github.com/joyent/libuv/blob/master/src/unix/signal.c#L342-399
15:22:56  * bnoordhuisquit (Ping timeout: 265 seconds)
15:23:00  <piscisaureus_>indutny: that's how i did it
15:23:32  <indutny>so you're just spinning
15:23:37  <indutny>and this is very unlikely to happen
15:23:38  <indutny>ok
15:23:39  <indutny>:)
15:24:51  * seebees1joined
15:26:31  * dapjoined
15:26:43  * seebees1quit (Client Quit)
15:27:26  * xaqjoined
15:27:59  <indutny>what I'm afraid of is following case
15:28:13  <indutny>suppose it read partial data
15:28:17  <indutny>and than error happens
15:28:27  <indutny>ah
15:28:32  <indutny>you're covering it
15:29:32  <piscisaureus_>well if an error happens
15:29:37  <piscisaureus_>that can't happen
15:29:44  <piscisaureus_>you mean like EIO ?
15:29:49  <piscisaureus_>if that happens we're dead
15:29:54  <piscisaureus_>but it doesnt'
15:33:37  <indutny>nvm
15:33:40  <indutny>force pushed
15:34:02  * bnoordhuisjoined
15:34:04  <indutny>https://github.com/joyent/libuv/pull/596
15:34:42  <indutny>piscisaureus_: please review
15:34:52  <indutny>bnoordhuis: you too, if you've spare time on conference
15:34:54  <indutny>:)
15:38:43  * bnoordhuisquit (Ping timeout: 255 seconds)
15:39:10  * `3rdEdenchanged nick to `3E|Cookin
15:44:03  * bnoordhuisjoined
15:48:28  <bradleymeck>indutny: do we have pipe(2) somewhere in node, i want to send a duplex stream to a child with .sendHandle, do you know?
15:50:29  <bradleymeck>meh, ill just send over a server socket
15:51:05  <bradleymeck>just need to find socketpair
15:53:41  <indutny>no, not as API
15:54:26  <indutny>we have uv__make_socketpair
15:54:39  <indutny>err..
15:54:42  <indutny>uv__make_pipe
15:55:00  * TooTallNatejoined
15:58:17  * kazuponjoined
16:00:13  <bnoordhuis>mmalecki: ping
16:00:26  <AvianFlu>he's on stage lol
16:00:46  <bnoordhuis>oh hah
16:02:00  <piscisaureus_>bnoordhuis: are you not at the conference
16:05:32  * `3E|Cookinchanged nick to `3rdEden
16:10:39  <bnoordhuis>i guess there's no call today?
16:10:50  <bnoordhuis>piscisaureus_: no, the wireless was too crappy to get anything done
16:11:03  <piscisaureus_>bnoordhuis: you should be close to isaacs
16:11:06  <piscisaureus_>bnoordhuis: so ask him
16:11:08  <piscisaureus_>bnoordhuis: ah
16:11:11  <bnoordhuis>the wireless at the hotel isn't great either but at least i can git clone
16:11:13  <piscisaureus_>bnoordhuis: so you are at your hotel
16:11:20  <piscisaureus_>bnoordhuis: how did your talk go?
16:11:22  <indutny>:0
16:11:26  <bnoordhuis>it's tomorrow
16:11:31  <bnoordhuis>at 09.00 hours :(
16:11:33  <indutny>bnoordhuis: "get anything down"
16:11:34  <piscisaureus_>isaacs: yt?
16:11:54  <piscisaureus_>indutny is trying to make dutch jokes :-)
16:11:56  <piscisaureus_>cute
16:12:08  <indutny>piscisaureus_: you're good teacher
16:12:27  <bnoordhuis>just wail til you meet the real master
16:12:38  <piscisaureus_>anyway
16:12:42  <piscisaureus_>do you guys want to call?
16:12:47  <piscisaureus_>I'm fine with that
16:12:56  <indutny>well, sure
16:12:57  <bnoordhuis>well, i'm kind of curious what you've been up to
16:12:57  <indutny>but why?
16:13:05  <bnoordhuis>it can't have been working on node :)
16:13:22  <bnoordhuis>but if there's nothing to report, we can skip it
16:13:45  <piscisaureus_>let's do a quickie
16:13:55  <piscisaureus_>let me get my mobile laptop
16:14:17  * indexzeroquit (Quit: indexzero)
16:14:56  <piscisaureus_>TooTallNate: wanna join?
16:16:48  * `3rdEdenchanged nick to `3E|PACKING
16:18:29  * ericktjoined
16:20:04  * AndreasMadsenjoined
16:30:11  <piscisaureus_>I thought that the tick spinner had been removed?
16:30:15  * piscisaureus_is confused
16:30:50  <mmalecki>bnoordhuis: pong
16:31:00  <mmalecki>bnoordhuis: sorry, was speaking at this conference XD
16:31:14  <piscisaureus_>is there a live stream?>
16:31:59  <mmalecki>none that I know of
16:32:05  <AvianFlu>there's a camera, if nothing else
16:32:13  <AvianFlu>so there at least will eventually be video XD
16:32:47  <piscisaureus_>15:35 - 15:50 Sponsor Pitch Slot - Microsoft
16:33:09  <piscisaureus_>that's about as explicit as you can make it
16:33:34  <piscisaureus_>cf
16:33:52  <mmalecki>lol
16:33:56  <piscisaureus_>Max Bruning, Dtrace Talk with Node.js example <-- lol
16:37:48  * bradleymeckquit (Quit: bradleymeck)
16:38:37  * `3E|PACKINGquit (Remote host closed the connection)
16:39:26  <bnoordhuis>mmalecki: hey
16:39:30  <bnoordhuis>still at the conference?
16:39:37  <mmalecki>bnoordhuis: yeah
16:39:47  <mmalecki>bnoordhuis: party: turtle-strapped-to-a-rocket
16:39:52  <mmalecki>er
16:39:54  <mmalecki>https://twitter.com/nodedublin/status/258956712940298240
16:40:32  <bnoordhuis>oh right, that thing
16:42:57  <CoverSlide>turtle-strapped-to-a-rocket would be an awesome club name
16:46:07  <bnoordhuis>mmalecki: at what time does it start?
16:47:39  * xaqquit (Remote host closed the connection)
16:48:25  * ericktquit (Quit: erickt)
16:54:52  * AvianFluquit (Remote host closed the connection)
16:57:10  * ericktjoined
16:57:23  * xaqjoined
16:58:53  * c4miloquit (Remote host closed the connection)
17:01:35  * c4milojoined
17:04:02  * `3E|PACKINGjoined
17:08:31  * paddybyers_joined
17:08:57  * `3E|PACKINGquit (Ping timeout: 260 seconds)
17:09:22  * CoverSlidequit (Quit: leaving)
17:09:26  * CoverSli1ejoined
17:11:08  * CoverSli1echanged nick to CoverSlide
17:11:28  * paddybyersquit (Read error: Operation timed out)
17:11:29  * paddybyers_changed nick to paddybyers
17:11:51  * kazuponquit (Remote host closed the connection)
17:14:15  * bradleymeckjoined
17:14:36  * c4miloquit (Remote host closed the connection)
17:22:27  * paddybyersquit (Ping timeout: 246 seconds)
17:25:30  * paddybyersjoined
17:29:31  * AndreasMadsenquit (Remote host closed the connection)
17:29:48  * paddybyersquit (Ping timeout: 246 seconds)
17:33:45  * paddybyersjoined
17:36:36  * indexzerojoined
17:36:37  * piscisaureus_quit (Ping timeout: 255 seconds)
17:38:11  * pooyajoined
17:38:58  * perezdjoined
17:42:01  * tomshredsjoined
17:42:14  * kazuponjoined
17:43:48  * mjr_joined
17:48:09  <bradleymeck>indutny: can you change thread pool size easily for background processing in libuv?
17:48:56  * lohkeyjoined
17:49:16  * kazuponquit (Ping timeout: 240 seconds)
17:50:19  <bnoordhuis>bradleymeck: no
17:50:28  <indutny>it's compile time option
17:50:34  <indutny>actually, just define in headers :)
17:50:37  <indutny>or even in source
17:50:55  <bradleymeck>indutny: interesting, cool
17:57:54  * AvianFlujoined
18:05:15  * AvianFluquit (Remote host closed the connection)
18:07:37  * efbekajoined
18:08:50  <efbeka>hi everyone
18:09:07  <efbeka>im a noob, and i hav a little question, please
18:09:52  <efbeka>anyone to help me?
18:09:57  <mmalecki>bnoordhuis: not sure
18:10:03  <mmalecki>bnoordhuis: we're going there in an hour
18:10:11  <mmalecki>bnoordhuis: we're at jo burgers, want to join?
18:10:39  <tjfontaine>efbeka: it's easier to ask, than it is to ask to ask
18:12:08  <efbeka>ok lol
18:12:50  <efbeka>i just want to know if there is a way to ajust the thread numbers
18:13:04  <efbeka>or the threadpool size
18:13:15  <tjfontaine>not without recompiling
18:14:02  <efbeka>ok thks, for which usecase u think i can need to do this, please?
18:14:34  <tjfontaine>isn't that a question you need to ask yourself?
18:15:37  * kazuponjoined
18:15:50  <efbeka>yeah but i think if u have hardfixed like this, there isnt a good reason to ajust it
18:16:00  <efbeka>isnt it?
18:17:06  <efbeka>i just want to learn, please (iam 13 :))
18:18:27  * xaqquit (Remote host closed the connection)
18:18:37  <efbeka>tjfontaine: ?
18:18:57  <indutny>there were no good reason for adjusting it
18:19:02  <indutny>but may be it'
18:19:05  <indutny>it's time, who knows :)
18:19:10  * mralephjoined
18:19:23  <indutny>you can open an issue here https://github.com/joyent/libuv/issues
18:19:27  <indutny>mraleph: hey man
18:19:41  <indutny>mraleph: have you ate borscht when you been in Russia?
18:20:12  <tjfontaine>efbeka: there are reasons to adjust it, for now it's at a level that doesn't seem to be causing too many issues, you might want to look at wikipedia articles on threads and pools if you're looking to learn about pros and cons
18:22:51  <mraleph>indutny: indeed I had.
18:22:51  <indutny>indeed
18:22:56  <indutny>mraleph: hahahaha
18:23:03  <mraleph>indutny: but no pelmeni unfortunately.
18:23:12  <mraleph>and no napoleon cake.
18:23:23  <indutny>hahahahahaha
18:23:24  <indutny>omg
18:23:35  <indutny>where have you ate borscht?
18:23:37  * kazuponquit (Ping timeout: 245 seconds)
18:23:38  <indutny>mraleph: ^
18:23:39  * c4milojoined
18:23:44  <indutny>в ресторане?
18:23:46  <mraleph>indutny: in the hotel
18:23:52  <indutny>oh
18:23:54  <efbeka>tjfontaine: my question was about the " to be causing too many issues": i wanted to know what issues i can have if i cant ajust the pool.
18:24:01  <indutny>какой отель?
18:24:08  <mraleph>lets switch to private.
18:24:13  <indutny>hahah
18:24:14  <indutny>ok
18:24:37  <tjfontaine>efbeka: the answer is relatively similar to what happens if I make too many threads
18:25:31  * jmar777joined
18:27:14  <tjfontaine>efbeka: brief review of http://stackoverflow.com/questions/481970/how-many-threads-is-too-many has some points that would apply to having too many threads available in your pool
18:27:48  <mmalecki>bnoordhuis: we're gathering at the ibrary blbar
18:27:53  <mmalecki>*library bar
18:28:01  <mmalecki>me and avian are moving there in 20 mins
18:29:17  <efbeka>tjfontaine: Ok thk u. the basic think for exple i wanted to do is to ajust the max to 6, on a 6core cpu. (because after ps-o thcount -p node_pid, i found that im using just 2/4 nodetrhreads at the moment)
18:29:46  <tjfontaine>efbeka: your keyboard seems broken
18:30:24  <efbeka>tjfontaine: sorry for my english.
18:31:02  <tjfontaine>:)
18:32:54  <efbeka>tjfontaine: so does it make sense to ajust the max threadpool to the cpu's core size to keep good perf, or iam missing something?
18:35:29  <tjfontaine>efbeka: are you asking if you increase threads will you see your application use more than one cpu/core at a given time?
18:36:49  * mikealjoined
18:37:26  <efbeka>tjfontaine: yes
18:37:44  <efbeka>tjfontaine: in case of 6async io for exple
18:38:00  * xaqjoined
18:38:17  * xaqquit (Remote host closed the connection)
18:39:08  <tjfontaine>efbeka: more often than not the answer to that is no, generally the thread you're talking about is a user thread which is only within the process, and most operating systems keep a given process on a given processor
18:40:48  <tjfontaine>efbeka: http://en.wikipedia.org/wiki/Thread_(computing)#Processes.2C_kernel_threads.2C_user_threads.2C_and_fibers
18:41:40  * stagasjoined
18:42:18  <efbeka>tjfontaine: ok, i give up.
18:42:45  <efbeka>tjfontaine: thks btw, beside wikipedia, u have a good book to recomend me?
18:43:27  <tjfontaine>efbeka: I think this is a common book used in classes to discuss this http://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenbaum/dp/0136006639
18:43:51  <indutny>efbeka: I recommend you to read this http://github.com/torvalds/linux
18:43:59  <tjfontaine>heh
18:44:25  <indutny>pretty nice source, actually
18:44:32  <indutny>contains a lot of information about kernel structure
18:45:11  <tjfontaine>efbeka: a lot of the authors books are popular http://www.amazon.com/Andrew-S.-Tanenbaum/e/B000AQ1UBW/ref=ntt_athr_dp_pel_1
18:45:45  <efbeka>tjfontaine, indutny: thks for all
18:45:55  <efbeka>ure very nice :)
18:46:23  <efbeka>see u soon then, thk u both :)
18:47:42  <tjfontaine>efbeka: have fun learning it all
18:48:03  * stagasquit (Quit: ChatZilla 0.9.89-rdmsoft [XULRunner 1.9.0.17/2009122204])
18:49:14  * V1joined
18:50:02  * kazuponjoined
18:54:05  * efbekapart ("Quitte")
18:56:49  * jmar777quit (Remote host closed the connection)
18:57:16  * jmar777joined
18:58:48  * kazuponquit (Ping timeout: 272 seconds)
19:00:42  * AvianFlujoined
19:01:30  * jmar777quit (Ping timeout: 246 seconds)
19:03:14  <bnoordhuis>mmalecki: you're still here?
19:03:24  <bnoordhuis>i kind of fell asleep
19:10:52  * bnoordhuisquit (Ping timeout: 256 seconds)
19:12:47  * V1changed nick to `3rdEden
19:13:32  * joshthecoderjoined
19:14:53  * benoitcquit (Excess Flood)
19:21:38  * benoitcjoined
19:22:57  * indexzeroquit (Quit: indexzero)
19:24:45  * kazuponjoined
19:25:33  * bradleymeckquit (Quit: bradleymeck)
19:33:00  * kazuponquit (Ping timeout: 246 seconds)
19:37:04  * `3rdEdenquit (Remote host closed the connection)
19:59:42  * kazuponjoined
20:03:12  * piscisaureus_joined
20:08:06  * kazuponquit (Ping timeout: 256 seconds)
20:10:41  * xaqjoined
20:17:45  * sblomjoined
20:20:49  * bradleymeckjoined
20:21:18  * sblom_quit (Ping timeout: 246 seconds)
20:33:29  * AvianFluquit (Remote host closed the connection)
20:33:36  * benoitcquit (Ping timeout: 240 seconds)
20:34:45  * kazuponjoined
20:43:08  * benoitcjoined
20:43:10  * kazuponquit (Ping timeout: 255 seconds)
20:56:38  * TooTallNatequit (Quit: Computer has gone to sleep.)
21:06:52  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
21:09:27  * rendarquit
21:09:42  * kazuponjoined
21:10:36  * bradleymeckquit (Quit: bradleymeck)
21:18:01  * kazuponquit (Ping timeout: 244 seconds)
21:22:01  * Gottoxjoined
21:23:27  * joshthecoderquit (Quit: Linkinus - http://linkinus.com)
21:31:38  * ericktquit (Quit: erickt)
21:31:57  * ericktjoined
21:38:34  * c4miloquit (Remote host closed the connection)
21:44:44  * kazuponjoined
21:44:57  * joshthecoderjoined
21:51:57  * xaqquit (Remote host closed the connection)
21:52:56  * kazuponquit (Ping timeout: 255 seconds)
22:01:44  * mjr_quit (Quit: mjr_)
22:05:09  * bnoordhuisjoined
22:06:51  * TooTallNatejoined
22:15:41  * bnoordhuisquit (Ping timeout: 252 seconds)
22:17:35  * jmar777joined
22:19:38  * kazuponjoined
22:20:22  * jmar777quit (Remote host closed the connection)
22:20:53  * jmar777joined
22:21:25  * perezdquit (Quit: perezd)
22:25:31  * jmar777quit (Ping timeout: 260 seconds)
22:25:44  * mralephquit (Quit: Leaving.)
22:27:47  * kazuponquit (Ping timeout: 246 seconds)
22:31:38  * perezdjoined
22:47:00  * hzquit
22:50:44  * benoitcquit (Excess Flood)
22:53:41  * mjr_joined
22:54:11  * benoitcjoined
22:54:35  * kazuponjoined
23:03:13  * kazuponquit (Ping timeout: 260 seconds)
23:19:48  * paddybyersquit (Ping timeout: 246 seconds)
23:29:25  * kazuponjoined
23:38:23  * kazuponquit (Ping timeout: 276 seconds)
23:51:41  * indexzerojoined
23:52:58  * benoitcquit (Excess Flood)
23:56:42  * benoitcjoined