00:00:04  * hzjoined
00:05:12  * c4milojoined
00:06:27  <piscisaureus_>oh hmm
00:06:57  <piscisaureus_>bnoordhuis: do you know if ngx_queue_empty works with queue entries (as it does with queue heads) ?
00:07:11  <piscisaureus_>bnoordhuis: so I can ask an ngx_queue_t whether it is the element of another queue
00:07:18  <bnoordhuis>piscisaureus_: yes, provided they've been initialized
00:07:25  <piscisaureus_>nice
00:08:28  <bnoordhuis>piscisaureus_: don't forget to reinit the entry when you remove it
00:08:48  <piscisaureus_>bnoordhuis: reinit?
00:08:55  <bnoordhuis>piscisaureus_: ngx_queue_init(q)
00:09:08  <piscisaureus_>ah, like that
00:09:12  <piscisaureus_>hmm, that could be it...
00:09:30  * c4miloquit (Ping timeout: 245 seconds)
00:09:58  <piscisaureus_>bnoordhuis: hmm, but you never seem to do this..
00:10:15  <bnoordhuis>piscisaureus_: no. because i never check if they're part of a queue :)
00:17:39  <piscisaureus_>I wonder if ngx_queue_foreach could have a bug
00:17:52  <piscisaureus_>there's always a hair in my soup at the end...
00:24:09  <piscisaureus_>signal_loop_queues = malloc(num_queues + sizeof(ngx_queue_t));
00:24:13  <piscisaureus_>^-- spot the bug
00:24:21  <piscisaureus_>:--(((
00:26:20  <TooTallNate>piscisaureus_: needs a +1?
00:26:26  <TooTallNate>or -1 :p
00:26:59  <piscisaureus_>TooTallNate: it's more subtle than that
00:27:14  <TooTallNate>*
00:27:19  <piscisaureus_>yay
00:27:23  <piscisaureus_>you win a new fridge
00:27:29  <TooTallNate>hahah
00:27:37  <TooTallNate>yaayyy
00:39:02  * EhevuTov_joined
00:40:27  * EhevuTov_quit (Remote host closed the connection)
00:41:57  * EhevuTov_joined
00:42:01  * EhevuTovquit (Ping timeout: 245 seconds)
00:42:16  * EhevuTov_changed nick to EhevuTov
00:42:46  * bentkusquit (Quit: Lost terminal)
00:54:01  * kazuponjoined
01:03:16  * TooTallNatequit (Ping timeout: 246 seconds)
01:07:06  * TooTallNatejoined
01:12:19  * EhevuTov_joined
01:15:42  * EhevuTovquit (Ping timeout: 260 seconds)
01:15:54  * EhevuTov_changed nick to EhevuTov
01:17:26  <piscisaureus_>crap, i did it all wrong
01:19:33  <piscisaureus_>CRAP
01:19:38  <piscisaureus_>i cant handle this
01:19:39  <piscisaureus_>later
01:19:47  <piscisaureus_>goodbye all, going to bed
01:19:49  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:20:44  <bnoordhuis>i guess i'll follow suit
01:26:55  * bnoordhuisquit (Ping timeout: 272 seconds)
01:29:55  * hzquit
01:36:30  * EhevuTov_joined
01:39:37  * EhevuTovquit (Ping timeout: 240 seconds)
01:40:25  * dapquit (Quit: Leaving.)
01:45:07  <ryah>i love lars bak
01:45:15  <ryah>dude's hilarious
01:46:15  * EhevuTov_changed nick to EhevuTov
01:48:10  * Benviequit
01:59:52  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
02:01:05  * Benviejoined
02:15:24  * EhevuTovquit (Quit: This computer has gone to sleep)
02:21:17  * ericktquit (Quit: erickt)
02:35:08  * kazuponquit (Remote host closed the connection)
02:36:01  * brsonquit (Ping timeout: 246 seconds)
03:00:20  * Ariaquit (Remote host closed the connection)
03:00:32  * Ariajoined
03:39:49  * brsonjoined
04:04:15  * abraxasjoined
04:16:24  * Ariaquit (Remote host closed the connection)
04:16:35  * Ariajoined
04:42:53  <indutny>ryah: indeed he is
05:14:15  * Ariaquit (Remote host closed the connection)
05:14:43  * Ariajoined
05:28:07  * tommybergeronquit (Quit: Leaving...)
05:45:27  * stagasjoined
06:01:35  * stagasquit (Quit: ChatZilla 0.9.89-rdmsoft [XULRunner 1.9.0.17/2009122204])
06:14:35  * AvianFluquit (Remote host closed the connection)
06:26:24  * felixgejoined
06:31:14  <mmalecki>ircretary: tell bnoordhuis hey, you had some cluster load balancing fix in libuv's or node's master? I can't seem to find it. I'm seeing weird performance degradation when running with cluster. ping me when you're awake, please.
06:31:14  <ircretary>mmalecki: I'll be sure to tell bnoordhuis
06:31:50  <mmalecki>ircretary: thank you :)
06:31:50  <ircretary>mmalecki: You're welcome :)
06:38:42  * paddybyersjoined
06:42:14  * brsonquit (Quit: leaving)
06:57:36  * Raltjoined
07:00:08  * stagasjoined
07:02:20  * rendarjoined
07:20:32  * joshthecoderquit (Quit: Linkinus - http://linkinus.com)
07:58:02  * stephankquit (Quit: *Poof!*)
08:04:40  * stephankjoined
08:39:09  * philips_quit (Excess Flood)
08:39:56  * philips_joined
08:44:19  * V1joined
08:44:43  * V1changed nick to `3rdEden
09:14:43  * bentkusjoined
09:14:51  <bentkus>when is drain being emitted?
09:32:19  <indutny>bentkus: when write queue is empty
10:13:59  * stagasquit (Ping timeout: 245 seconds)
10:16:57  * `3rdEdenquit (Remote host closed the connection)
10:17:59  * `3rdEdenjoined
10:22:51  * `3rdEdenquit (Ping timeout: 245 seconds)
10:42:16  * rendarquit (*.net *.split)
10:42:16  * Ariaquit (*.net *.split)
10:42:16  * creationixquit (*.net *.split)
10:42:16  * MI6quit (*.net *.split)
10:42:17  * toothrquit (*.net *.split)
10:42:18  * felixgequit (*.net *.split)
10:42:18  * Benviequit (*.net *.split)
10:42:19  * indutnyquit (*.net *.split)
10:42:19  * russell_hquit (*.net *.split)
10:42:20  * voodootikigodquit (*.net *.split)
10:42:20  * chrisdickinsonquit (*.net *.split)
10:42:20  * Raltquit (*.net *.split)
10:46:00  * `3rdEdenjoined
10:46:00  * rendarjoined
10:46:00  * Raltjoined
10:46:00  * felixgejoined
10:46:00  * Ariajoined
10:46:00  * Benviejoined
10:46:00  * toothrjoined
10:46:00  * MI6joined
10:46:00  * creationixjoined
10:46:00  * indutnyjoined
10:46:00  * russell_hjoined
10:46:00  * chrisdickinsonjoined
10:46:00  * voodootikigodjoined
10:46:24  * Ariaquit (Remote host closed the connection)
10:46:25  * Ariajoined
10:57:42  * mmaleckiquit (Ping timeout: 265 seconds)
11:07:34  * abraxasquit (Remote host closed the connection)
12:11:35  * kazuponjoined
12:12:43  * AvianFlujoined
12:35:31  * rphillipsquit (Ping timeout: 246 seconds)
12:36:22  * rphillipsjoined
12:50:57  * stagasjoined
12:51:02  * txdvjoined
12:53:13  * bnoordhuisjoined
13:03:53  * Raltquit (Read error: Connection reset by peer)
13:32:06  * tomshredsjoined
13:34:46  * felixgequit (Remote host closed the connection)
13:34:58  * felixgejoined
13:34:58  * felixgequit (Changing host)
13:34:58  * felixgejoined
13:48:22  * felixge_joined
13:48:22  * felixge_quit (Changing host)
13:48:22  * felixge_joined
13:49:31  * felixgequit (Read error: Connection reset by peer)
13:49:31  * felixge_changed nick to felixge
13:57:18  * hzjoined
14:04:00  * Ariaquit (Remote host closed the connection)
14:04:28  * Ariajoined
14:04:53  * kazuponquit (Remote host closed the connection)
14:20:30  * piscisaureus_joined
14:23:25  <piscisaureus_>bnoordhuis: ola
14:23:42  * TheJHjoined
14:23:46  <piscisaureus_>bnoordhuis: I discovered yesterday that there was something fundamentally wrong with my multiloop signal approach
14:23:52  <bnoordhuis>piscisaureus_: oh dear
14:24:05  <piscisaureus_>bnoordhuis: do you mind if I change it to use a tree like structure instead of a linked list
14:24:06  <piscisaureus_>?
14:24:24  <bnoordhuis>if you explain why that fixes it :)
14:24:40  <piscisaureus_>bnoordhuis: also, is it bad to make libuv coalesce signals on a per-watcher basis?
14:24:49  <piscisaureus_>(like uv_async)
14:25:05  <bnoordhuis>piscisaureus_: yes, i think. you don't want that for RT signals, for example
14:25:17  <piscisaureus_>bnoordhuis: what if the signal pipe fills up?
14:25:33  <bnoordhuis>piscisaureus_: then you're out of luck
14:25:35  <piscisaureus_>(that's unrelated to the conceptual problem btw)
14:25:44  <piscisaureus_>bnoordhuis: Me? or the user?
14:25:48  <bnoordhuis>the user
14:26:06  <piscisaureus_>bnoordhuis: I am considering to not write signos to the pipe
14:26:16  <piscisaureus_>bnoordhuis: but uv_signal_t pointers
14:26:22  <piscisaureus_>this makes it all a whole lot easier
14:26:51  <bnoordhuis>piscisaureus_: what if there are several watches for the same signal?
14:26:54  <bnoordhuis>*watchers
14:27:00  <piscisaureus_>bnoordhuis: then I write multiple pointers
14:27:06  <piscisaureus_>although I suspect this will almost never happen
14:27:52  <bnoordhuis>but, but... i want to have a 1,000 SIGINT watchers
14:28:21  <piscisaureus_>bnoordhuis: fuck ya
14:29:38  <piscisaureus_>bnoordhuis: but seriously, you mind?
14:30:27  <bnoordhuis>piscisaureus_: i can't think of a good reason to say no...
14:30:31  <piscisaureus_>good
14:30:42  <piscisaureus_>it will also let us get rid of this dreaded signal_ctx crap
14:30:53  <bnoordhuis>i don't dread it
14:31:21  <piscisaureus_>I do
14:31:40  <piscisaureus_>bnoordhuis: the fact that someone dreads it makes it dreaded, doesn't it
14:32:04  <bnoordhuis>piscisaureus_: only for that particular person, not in general
14:42:58  * bentkusquit (Read error: Connection reset by peer)
14:44:48  * lohkeyjoined
14:46:21  * philips_quit (Excess Flood)
14:46:46  <piscisaureus_>bnoordhuis: another one
14:46:52  <piscisaureus_>bnoordhuis: can signal handlers be interrupted?
14:47:26  * philips_joined
14:48:29  <bnoordhuis>piscisaureus_: yes unless you specify a flag when installing the handler
14:49:12  <bnoordhuis>piscisaureus_: wait, i said that wrong - it's the other way around
14:49:33  <bnoordhuis>it's the SA_NODEFER flag in any case
14:49:33  <piscisaureus_>bnoordhuis: "SA_NODEFER Do not prevent the signal from being received from within its own signal handler."
14:49:50  <piscisaureus_>bnoordhuis: so if I read that correctly, it only deals with receiving the same signal twice
14:49:58  <bnoordhuis>yes
14:50:06  <piscisaureus_>could the signal handler for SIGINT be interrupted by the arrival of a SIGCHLD ?
14:50:07  <bnoordhuis>it doesn't block other signals if that is what you mean
14:50:10  <piscisaureus_>aha
14:50:30  <bnoordhuis>but you can pass in a sigset mask
14:50:43  <bnoordhuis>the sa_mask field in struct sigaction
14:51:28  <piscisaureus_>bnoordhuis: I suppose the sigmask will be restored after that?
14:51:48  <bnoordhuis>piscisaureus_: yes
14:52:02  <piscisaureus_>kewl
14:52:43  <piscisaureus_>ah
14:52:50  <piscisaureus_>so this code will be properly bertified
14:52:51  <piscisaureus_>:D
14:56:19  <bnoordhuis>you mean we'll be patching it up for years to come?
14:56:26  <piscisaureus_>bnoordhuis: boooo
14:56:27  * bnoordhuisducks
14:58:36  <piscisaureus_>comany meeting time
14:59:45  * txdv_joined
15:00:36  * kazuponjoined
15:33:31  <indutny>hoya
15:40:15  * `3rdEdenchanged nick to `3E|FOODING
15:51:45  * `3E|FOODINGquit (Remote host closed the connection)
15:52:53  * dapjoined
15:53:42  <isaacs>o/
15:53:47  <isaacs>about to push v0.8.12 out
15:53:49  <isaacs>any objections?
15:53:53  <isaacs>any issues anyone found?
15:54:01  <isaacs>last minute etc?
15:55:29  * kazuponquit (Remote host closed the connection)
15:56:10  <MI6>joyent/node: isaacs created tag v0.8.12 - http://git.io/7PNPDA
15:57:00  <isaacs>ok, here we go
15:58:41  <MI6>joyent/node: isaacs v0.8 * 58db21e : Now working on 0.8.13 (+3 more commits) - http://git.io/YXQNQA
16:03:26  <piscisaureus_>isaacs: it's not on the website yet?
16:03:36  <isaacs>piscisaureus_: just pushed
16:03:45  <isaacs>piscisaureus_: i had a /etc/hosts still pointing at the old site
16:03:54  <isaacs>(for the blog, only)
16:03:56  <isaacs>but it should be there now.
16:03:59  <piscisaureus_>it still shows Current version: 0.8.11 for mew
16:04:10  <isaacs>piscisaureus_: hmmm...
16:04:16  <creationix>I see 0.8.12
16:04:23  <isaacs>piscisaureus_: dig nodejs.org
16:04:34  <isaacs>piscisaureus_: should be 165.225.133.150
16:04:49  <piscisaureus_>;; ANSWER SECTION:
16:04:49  <piscisaureus_>nodejs.org. 2400 IN A 165.225.133.150
16:04:50  <piscisaureus_>yes
16:04:53  <isaacs>ok...
16:04:58  <isaacs>clear cache? refresh?
16:04:59  <isaacs>i dunno.
16:05:16  <piscisaureus_>weird
16:05:25  <isaacs>$ curl -s 165.225.133.150 -H host:nodejs.org | grep Version
16:05:25  <piscisaureus_>i see it on my linux box
16:05:26  <isaacs> <p>Current Version: v0.8.12</p>
16:05:31  <piscisaureus_>but not on windows
16:05:34  <piscisaureus_>let's just wait a little
16:05:38  <isaacs>kk
16:06:07  <creationix>btw, nvm now supports the pre-built binaries on linux
16:06:15  <creationix>`npm install 0.8` grabbed 0.8.12 :)
16:06:20  <creationix>err nvm install 0.8
16:06:34  <piscisaureus_>aat some point node 0.8 got smaller again
16:06:40  <piscisaureus_>after 0.8.9
16:06:48  <piscisaureus_>nice :-)
16:07:07  <isaacs>piscisaureus_: interesting. i think i was including a lot of test garbage in npm.
16:07:07  <creationix>piscisaureus_, though the binaries don't work on our openshift last I checked
16:07:14  <isaacs>btw..
16:07:17  <isaacs>this release.
16:07:28  <isaacs>this is the first time it's worked with no issues.
16:07:29  <piscisaureus_>creationix: what happens?
16:07:35  <piscisaureus_>isaacs: kewl
16:07:38  <isaacs>first `make tarball` is the one that got released.
16:07:40  <creationix>bad libc or something
16:07:45  <isaacs>everything built properly, no last-minute bugs, nothing.
16:07:55  <piscisaureus_>creationix: it should be fairly libc independent now
16:07:57  <creationix>isaacs, nice
16:08:12  <piscisaureus_>creationix: will look into that some time later. Now is socializing time with your company
16:10:03  <creationix>piscisaureus_, you're right. It seems to work fine on one of my gears
16:10:19  <creationix>net.listen isn't patched, but I prefer it that way
16:10:40  <piscisaureus_>creationix: for normal users patched is better
16:10:46  <piscisaureus_>because of the 0.0.0.0 problem
16:10:54  <piscisaureus_>creationix: also the debugger won't work with your version
16:11:06  <piscisaureus_>creationix: because v8 tries to bind to 127.0.0.1 but can't
16:11:15  <piscisaureus_>hopefully we'll be able to get rid of that some day
16:11:18  <piscisaureus_>anyway
16:11:24  * piscisaureus_is afk now
16:11:25  <creationix>enjoy the party
16:17:14  * ericktjoined
16:25:11  * lohkeyquit (Quit: lohkey)
16:28:36  * c4milojoined
16:28:51  * Raltjoined
16:39:12  * lohkeyjoined
16:40:02  * EhevuTovjoined
16:47:50  * mmaleckijoined
16:52:46  * AndreasMadsenjoined
16:56:48  * TooTallNatejoined
16:58:56  * EhevuTovquit (Quit: This computer has gone to sleep)
16:59:24  * EhevuTovjoined
17:05:57  * kazuponjoined
17:10:18  * tomshredsquit (Quit: Leaving...)
17:11:29  * kazuponquit (Ping timeout: 260 seconds)
17:14:35  * tomshredsjoined
17:16:13  * joshthecoderjoined
17:17:22  * AndreasMadsenquit (Remote host closed the connection)
17:17:54  * Raynosquit (Read error: Connection reset by peer)
17:17:56  * dscapequit (Write error: Broken pipe)
17:17:56  * indutnyquit (Remote host closed the connection)
17:25:12  * ericktquit (Quit: erickt)
17:34:40  <TooTallNate>isaacs: you wrote the original patch for this, so you wanna review? https://github.com/TooTallNate/node/commit/d98a729fa81bd4fe439d23d4824e6419c80ce1a4
17:34:56  <TooTallNate>by original patch I mean https://github.com/joyent/node/commit/2cfe7b847d986de3ca7b7191102b489913a7639e
17:49:31  * `3E|FOODINGjoined
17:50:47  * `3E|FOODINGchanged nick to `3rdEden
17:51:10  * felixgequit (Read error: Connection reset by peer)
17:51:37  * felixgejoined
17:51:37  * felixgequit (Changing host)
17:51:37  * felixgejoined
17:58:53  * brsonjoined
17:59:27  * ericktjoined
17:59:31  * mralephjoined
18:13:06  * brsonquit (Quit: leaving)
18:13:41  <isaacs>TooTallNate: did you merge that yet?
18:13:50  <TooTallNate>isaacs: negative
18:14:15  <isaacs>TooTallNate: ok... maybe this is one of those things that should be off by default, but ./node should turn on.
18:14:38  <TooTallNate>isaacs: that's reasonable
18:15:11  <TooTallNate>isaacs: you have a preferred name for the option? "clearsCache"?
18:18:15  * c4miloquit (Remote host closed the connection)
18:19:21  * c4milo_joined
18:19:52  <isaacs>TooTallNate: i dunno. it's the kind of thing that you sort of hope no one actually ever uses :)
18:19:58  * dscapejoined
18:20:21  <isaacs>TooTallNate: maybe the repl object could emit a 'clear' event
18:20:30  <isaacs>TooTallNate: and the node repl setup code could delete require.cache when that happens.
18:20:59  <TooTallNate>isaacs: that sounds good
18:21:02  <TooTallNate>isaacs: related: https://github.com/joyent/node/pull/1183
18:21:24  * indutnyjoined
18:23:38  <isaacs>oh, interesting.
18:24:26  <isaacs>so, the event name... 'reset' or 'clear'?
18:25:03  * Raynosjoined
18:25:09  * brsonjoined
18:25:26  * felixgequit (Quit: felixge)
18:27:14  <indutny>piscisaureus_: hey
18:27:23  <indutny>piscisaureus_: any luck with cpuid stuff for openssl?
18:27:37  <isaacs>TooTallNate: oh, since the node repl uses global, it doesn't reset the require cache on .clear anyway.
18:27:40  <isaacs> if (repl.useGlobal) {
18:27:43  <isaacs> clearMessage = 'Alias for .break';
18:27:45  <isaacs> } else {
18:27:48  <isaacs> clearMessage = 'Break, and also clear the local context';
18:27:51  <isaacs> }
18:27:53  <isaacs>TooTallNate: ^
18:27:54  <indutny>piscisaureus_: it seems that it can improve things much
18:28:08  <TooTallNate>isaacs: oh ya, haha
18:28:12  <TooTallNate>good catch
18:28:43  <isaacs>$ echo '.help' | ./node -i | grep .clear
18:28:44  <isaacs>.clear Alias for .break
18:29:37  <TooTallNate>isaacs: well it still happens when a REPLServer is created, regardless of global
18:29:49  <TooTallNate>isaacs: because of the first time resetContext() is called
18:30:12  <isaacs>oh, right.
18:30:14  <isaacs>well, that's odd :)
18:30:26  <TooTallNate>but maybe that means the patch is good as-in then :p
18:30:27  <isaacs>but at least you should probably create the repl early on
18:30:34  <TooTallNate>since people weren't using that before anyways
18:30:52  <TooTallNate>isaacs: when do you create the repl in npm-www?
18:31:07  <isaacs>TooTallNate: so... this is actually *only* resetting require.cache in servers and such :)
18:31:10  <isaacs>ClusterMaster 97444 1> .help
18:31:12  <isaacs>.break Sometimes you get stuck, this gets you out
18:31:15  <isaacs>.clear Break, and also clear the local context
18:31:20  <TooTallNate>isaacs: right, hahaha
18:31:23  <TooTallNate>wtf
18:31:44  <isaacs>so that's wrong.
18:31:51  <isaacs>should probably be the other way around.
18:32:18  <TooTallNate>agree'd
18:32:22  <isaacs>i'd probably poll the mailing list just to find out what a few people *think* it should do.
18:32:32  <isaacs>if i'm in the minority, i'm happy to manually set the flags approrpaitely.
18:32:32  <TooTallNate>ok, that sounds good
18:32:36  <isaacs>but i enver use .clear anyway
18:32:46  * felixgejoined
18:32:46  * felixgequit (Changing host)
18:32:46  * felixgejoined
18:32:52  <TooTallNate>a "reset" event seems like a good idea in any case
18:33:09  <TooTallNate>isaacs: ya i never use it either, hahah
18:40:09  * mmaleckichanged nick to mmalecki[bar]
18:45:33  * Raynosquit (Remote host closed the connection)
18:46:54  <MI6>joyent/node: isaacs master * 39fa392 : lint - http://git.io/UpvUkA
18:47:23  <isaacs>whoops, force push coming. one sec
18:48:08  <MI6>joyent/node: isaacs master * 8509073 : lint - http://git.io/iZv7Kw
18:48:09  <isaacs>done
18:52:45  <MI6>joyent/node: isaacs streams2 * 0fb0382 : streams2: Use StringDecoder.end (+36 more commits) - http://git.io/8krg5g
18:57:27  <isaacs>TooTallNate: I <3 seeing comments in node like "TODO: Remove after 0.3.x"
18:57:30  <isaacs>TooTallNate: ;lol
18:57:51  <TooTallNate>isaacs: hahaha
18:57:58  <TooTallNate>isaacs: there's on in repl.js I think?
18:58:02  <TooTallNate>on/one
18:58:13  <txdv_>abort kills the entire process, right?
18:58:34  <txdv_>i was browsing the node code and saw an abort somewhere
18:58:37  <isaacs>TooTallNate: yeah
18:58:40  <isaacs>txdv_: yes.
18:58:47  <isaacs>txdv_: it dumps a core, too, i believe
18:58:53  * indutnyquit (Remote host closed the connection)
18:58:53  * dscapequit (Remote host closed the connection)
18:59:00  <TooTallNate>isaacs: we should fix that :po
18:59:02  <TooTallNate>:p
18:59:04  <txdv_>not the best solution
18:59:14  <txdv_>it was in the zlib module
18:59:18  * c4milo_quit (Remote host closed the connection)
18:59:21  <isaacs>oh, no, it doesn't dump core
18:59:25  <isaacs>just blows an assert
19:00:22  <txdv_>stream_wrap.cc:224: if (uv_accept(handle, pending_wrap->GetStream())) abort();
19:00:28  <txdv_>o just an assertion
19:01:24  * c4milojoined
19:01:28  <isaacs>static Handle<Value> Abort(const Arguments& args) { abort(); return Undefined();
19:01:28  <isaacs>}
19:01:35  <isaacs>txdv_: ^
19:01:43  <isaacs>process.abort() just calls abort() in C
19:02:16  <txdv_>there just 10 plain calls in node
19:02:20  <txdv_>there are
19:02:28  <txdv_>process.abort is ok, it exports the method
19:03:55  <isaacs>TooTallNate, bnoordhuis, piscisaureus_: How important is it to be able to switch encodings mid-stream?
19:04:17  <isaacs>ie, are you ever going to do stream.setEncoding('utf8') and then later, perhaps in the middle of a character, do stream.setEncoding('hex')?
19:04:41  <TooTallNate>isaacs: i'd say not at all
19:04:53  <TooTallNate>i.e. I've never needed to do that
19:05:11  <isaacs>the thing that's a bit weird here is that stuff like: hash.update(data, inEncoding, outEncoding)
19:05:18  <isaacs>there's no requirement that outEncoding is the same each time.
19:05:24  <isaacs>currently, you get some really weird stuff happening.
19:05:27  <isaacs>if it changes.
19:05:45  <txdv>isaacs: you are doing a lot of work on streaming ... i wondered what apropriate tools are there to parse out structs out of streams
19:06:29  <isaacs>it's not hard to make it work here, it's just a lot of duplication, and i'm tempted to think that it's probably unnecessary complexity.
19:07:55  * indutnyjoined
19:09:18  * indutnyquit (Remote host closed the connection)
19:15:48  <isaacs>txdv: i'm doing stream stuff at the JS level.
19:22:47  * `3rdEdenquit (Quit: ò_ó)
19:23:52  * dscapejoined
19:25:55  * Raynosjoined
19:27:44  * c4miloquit (Remote host closed the connection)
19:29:05  * c4milojoined
19:31:52  * V1joined
19:33:55  * V1changed nick to `3rdEden
19:40:11  * TheJHquit (Ping timeout: 265 seconds)
19:41:36  * EhevuTov_joined
19:44:25  * EhevuTovquit (Ping timeout: 255 seconds)
19:46:18  * EhevuTov_changed nick to EhevuTov
19:46:24  * Raltquit (Remote host closed the connection)
19:46:59  * Raltjoined
19:51:30  * Raltquit (Ping timeout: 260 seconds)
19:53:04  * erickt_joined
19:53:25  * ericktquit (Ping timeout: 246 seconds)
19:53:26  * erickt_changed nick to erickt
20:00:15  * indutnyjoined
20:03:23  * jmar777joined
20:08:40  <TooTallNate>txdv: check out ref-struct https://github.com/TooTallNate/ref-struct
20:09:27  <txdv>thanks nate!
20:10:38  * `3rdEdenquit (Quit: i'm a quitter)
20:11:46  * EhevuTov_joined
20:14:50  * EhevuTovquit (Ping timeout: 260 seconds)
20:18:26  <TooTallNate>this serial port thing is making me upset
20:18:46  <TooTallNate>in the end, native modules aren't good enough apparently :\
20:22:17  * c4miloquit (Remote host closed the connection)
20:33:01  * `3rdEdenjoined
20:33:10  * `3rdEdenquit (Remote host closed the connection)
20:34:20  <isaacs>TooTallNate: ?
20:34:43  <TooTallNate>isaacs: yo
20:34:47  <TooTallNate>sup?
20:34:59  <isaacs>TooTallNate: serial port thing making you upset?
20:35:24  <TooTallNate>well ya. i mean there's a great native module out there, yet that's still inadequate apparently
20:35:25  <TooTallNate>to some people
20:35:57  <TooTallNate>Mithgol is right though, they wouldn't want it in core if native modules were easier
20:39:28  <isaacs>true
20:39:33  <isaacs>but that doesn't mean that we put it in core :)
20:40:07  <isaacs>the thing people dont' realize -- or at least, don't come right out and say -- is that asking for something to be in node core is asking for us to maintain their project.
20:40:34  * felixgequit (Quit: felixge)
20:41:40  * jmar777quit (Remote host closed the connection)
20:44:12  <indutny>TooTallNate: how can I add static dependency to my binding.gyp?
20:44:34  <indutny>suppose I've another gyp project that I would like to staticly compile with native addon
20:44:38  <indutny>is it possible right now?
20:44:51  <TooTallNate>indutny: you mean other than "dependencies"?
20:44:56  <indutny>no
20:45:00  <indutny>dependencies are good
20:45:16  <indutny>but I think they're compiled to .node files too
20:45:25  <TooTallNate>indutny: ya, just add a "dependencies" section https://github.com/TooTallNate/node-lame/blob/gyp/binding.gyp#L9-11
20:45:26  <TooTallNate>indutny: so?
20:45:28  <indutny>ah
20:45:37  <indutny>oh
20:45:39  <TooTallNate>indutny: and actually, the .node extension is fixed in node-gyp v0.7.1
20:45:43  <indutny>ah
20:45:46  <TooTallNate>:p
20:45:50  <indutny>ok
20:45:51  <indutny>:)
20:46:16  <indutny>isaacs: are you printing warning when user is trying to publish big npm package?
20:46:36  <TooTallNate>indutny: i don't think so. I once published a module with a leftover .wav file that was 90mb
20:46:38  <indutny>isaacs: I'm asking, because one has published 198mb package
20:46:41  <indutny>yeah
20:46:42  <indutny>:)
20:46:43  <indutny>that's it
20:46:59  <TooTallNate>indutny: how do you know the sizes?
20:47:04  <indutny>Ilya Grigorik has published spdyproxy
20:47:07  * Raltjoined
20:47:07  <indutny>well
20:47:12  <indutny>I did curl -I ....tar.gx
20:47:15  <indutny>s/gx/gz
20:47:18  <indutny>;)
20:47:21  <indutny>HEAD requests ftw
20:47:29  <TooTallNate>indutny: hahaa, nice
20:47:49  <indutny>the thing is that it's impossible for both developer and user to detect such things
20:47:53  <indutny>without digging into
20:48:06  <TooTallNate>isaacs: i think the better solution overall is a build farm, but that's the kinda thing that takes hardware and stuff
20:48:06  <indutny>because for me npm install was just hanging
20:48:17  <indutny>TooTallNate: and money
20:48:22  <TooTallNate>yupp
20:48:39  <indutny>and doesn't really guarantee that stuff will work everywhere
20:48:48  <indutny>also
20:48:53  <indutny>buildfarm for osx
20:49:03  <indutny>doesn't seem to be very "cloud-scale"
20:53:15  <indutny>bnoordhuis: hoya
20:53:23  <indutny>bnoordhuis: have you seen reply from Andy?
20:56:47  * EhevuTovjoined
20:57:50  <TooTallNate>isaacs: nice post
20:57:57  <indutny>piscisaureus_: can we export OPENSSL_atomic_add symbol?
20:58:11  <TooTallNate>isaacs: i thought libuv (already) added the poll API which is supposed to make this easier though
20:59:16  * Raltquit (Remote host closed the connection)
20:59:27  <isaacs>TooTallNate: yeah, maybe.
20:59:27  <ryah>man where is bert when i need him
20:59:38  <isaacs>ryah: i think piscisaureus_ is at some party.
20:59:46  * EhevuTov_quit (Ping timeout: 252 seconds)
20:59:53  * Raltjoined
20:59:54  <isaacs>ircretary: where's piscisaureus_?
20:59:55  <ircretary>isaacs: I'm not sure what to do with that command. Ask for help in PM.
20:59:59  <isaacs>ircretary: where is piscisaureus_?
20:59:59  <ryah>on friday night? unacceptable
20:59:59  <ircretary>isaacs: piscisaureus_ was last seen at 2012-10-12T16:10:22.143Z, in #libuv being afk now
21:00:13  <isaacs>ryah: INORITE!?
21:00:42  <isaacs>indutny: no, i don't print any kind of warning. but i do have a view i check out every so often to see what's what.
21:00:45  <isaacs>indutny: what package?
21:00:51  <indutny>spdyproxy
21:01:02  <indutny>it's fixed in latest version, look at previous one
21:01:08  <indutny>0.2.1 I suppose
21:01:31  <indutny>ok, it's time for shower and sleeping
21:01:42  <indutny>see ya tomorrow or after tomorrow, or after after tomorrow
21:01:43  <indutny>anyway
21:01:44  <indutny>ttyl
21:01:48  * kazuponjoined
21:03:39  <isaacs>indutny: take care :)
21:04:02  * kazuponquit (Remote host closed the connection)
21:04:30  * kazuponjoined
21:04:31  * Raltquit (Ping timeout: 255 seconds)
21:06:32  * rendarquit
21:07:06  * TooTallNatequit (Ping timeout: 252 seconds)
21:08:29  * TooTallNatejoined
21:08:40  * kazuponquit (Ping timeout: 246 seconds)
21:10:21  * c4milojoined
21:17:47  * tommybergeronjoined
21:18:14  * TooTallNatequit (Ping timeout: 256 seconds)
21:18:25  * tommybergeronquit (Client Quit)
21:20:47  * TooTallNatejoined
21:21:35  * tomshredsquit (Ping timeout: 245 seconds)
21:22:35  * felixgejoined
21:22:35  * felixgequit (Changing host)
21:22:35  * felixgejoined
21:24:13  * c4miloquit (Remote host closed the connection)
21:26:10  * c4milojoined
21:27:00  * felixgequit (Ping timeout: 245 seconds)
21:27:40  <bnoordhuis>indutny: yep, seen it. promising
21:29:49  <bnoordhuis>i didn't know about OPENSSL_atomic_add either btw :)
21:29:50  * EhevuTovquit (Quit: This computer has gone to sleep)
21:31:05  * EhevuTovjoined
21:42:58  <ryah>libuv's read and write interface is wrong
21:43:11  <ryah>we should be doing non-blocking writes on windows
21:44:01  <ryah>WSASend is fucking bullshit
21:44:24  <ryah>it should only be used with a zero buffer to get notification of write readiness
21:44:31  <ryah>like we do with WSARecv
21:50:17  * kazuponjoined
21:52:30  * EhevuTovquit (Quit: This computer has gone to sleep)
21:55:51  * EhevuTovjoined
22:00:01  * kazuponquit (Ping timeout: 272 seconds)
22:01:41  * lohkeyquit (Quit: lohkey)
22:06:16  * c4miloquit (Remote host closed the connection)
22:12:42  * lohkeyjoined
22:12:51  * ericktquit (Quit: erickt)
22:14:57  * c4milojoined
22:18:04  <bnoordhuis>ryah: we have a bug tracker :)
22:26:09  * c4miloquit (Remote host closed the connection)
22:30:45  * perezdjoined
22:46:12  * hzquit (Disconnected by services)
22:46:18  * hzjoined
22:47:52  * isufyjoined
22:56:04  <MI6>joyent/node: Max Ogden v0.8 * 323bbdb : doc: set default background color to white - http://git.io/ahtNlg
22:56:19  * kazuponjoined
23:01:08  * kazuponquit (Ping timeout: 244 seconds)
23:05:15  <isaacs>bnoordhuis: is there a way to programmatically get a list of all the hash encodings, ciphers, etc, that we support in node?
23:05:46  <bnoordhuis>isaacs: you mean through openssl?
23:06:08  <isaacs>bnoordhuis: well, people frequently ask for stuf like var hash = cryto.sha256(input)
23:06:40  <isaacs>i usually end up writing that sort of function myself, just because it's a pita to do new Hash(algo).update(input).digest() all the time
23:07:03  <isaacs>so i'd like to put those methods on teh crypto export, but i dont' want to duplicate them all in code if we have a list somewhere that ic an just iterate over.
23:07:20  <bnoordhuis>isaacs: there's no such list now but it's possible to add it
23:07:35  <isaacs>bnoordhuis: is there a list anywhere? even in the code somewhere?
23:07:44  <bnoordhuis>at least for ciphers
23:09:10  <bnoordhuis>isaacs: no, it's not anywhere in node itself right now, it's buried deep in openssl
23:09:14  <isaacs>kk
23:09:17  <isaacs>we can wait on it.
23:09:48  <isaacs>or maybe we cna add crypto.hash(algo, input) or something
23:09:51  <isaacs>to do it as one function call
23:10:13  <MI6>joyent/node: isaacs created branch crypto-buffers - http://git.io/Ash8dw
23:10:20  <isaacs>so, still as yet up in teh air whether or not we should make crypto default to buffers.
23:10:29  <isaacs>but i moved the encoding logic all into JS
23:10:42  <isaacs>so the next step is to remove the duplicated encoding logic out of src/node_crypto.cc
23:11:18  <isaacs>and even if we hold off on making it default to buffers, it's a huge step in the right direction.
23:11:37  <isaacs>probably gonna cut a few thousand lines of C++ out of that file.
23:12:18  <isaacs>gotta run to catch the last train before bikes aren't allowed on bart. bbiab.
23:14:57  * perezdquit (Quit: perezd)
23:15:58  * hzquit
23:24:41  * jmar777joined
23:25:59  * isufyquit
23:27:12  * paddybyers_joined
23:27:32  * paddybyersquit (Read error: Connection reset by peer)
23:27:33  * paddybyers_changed nick to paddybyers
23:32:00  * paddybyersquit (Ping timeout: 245 seconds)
23:34:12  * TooTallNatequit (Ping timeout: 244 seconds)
23:34:24  * perezdjoined
23:34:42  <MI6>joyent/node: Ben Noordhuis master * 61978f5 : dgram: remove stale code - http://git.io/TxIGpg
23:35:00  <bnoordhuis>aww, accidental push
23:35:31  <bnoordhuis>the commit is okay but i wanted to spruce up the commit log
23:35:33  <bnoordhuis>oh well
23:35:53  * perezdquit (Client Quit)
23:37:19  * TooTallNatejoined
23:38:30  <MI6>joyent/node: Nathan Rajlich v0.8 * b1e78ce : repl: ensure each REPL instance gets its own "context" Before there was - http://git.io/V-N6yw
23:40:33  <bnoordhuis>isaacs: for when you're back: https://github.com/joyent/node/pull/4127
23:41:57  <TooTallNate>bnoordhuis: what's STACK_OF?
23:42:14  * lohkeyquit (Quit: lohkey)
23:42:26  <bnoordhuis>TooTallNate: a kind of struct macro that openssl uses to return variable-length lists
23:42:55  * isufyjoined
23:49:59  <isaacs>bnoordhuis: +1, lgtm
23:50:26  <bnoordhuis>thanks. it's only ciphers though, i'll see if i can get a list of hash algos as well
23:50:40  <isaacs>bnoordhuis: cool. that'd probably be even more useful.
23:51:45  <MI6>joyent/node: Ben Noordhuis master * f53441a : crypto: add crypto.getCiphers() Returns a list of, unsurprisingly, the a - http://git.io/Hlcjew
23:53:17  * mmalecki[bar]quit (Ping timeout: 260 seconds)
23:57:06  * kazuponjoined