00:00:38  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
00:11:09  <CIA-99>libuv: Ben Noordhuis master * r1b6df97 / src/unix/linux/inotify.c :
00:11:09  <CIA-99>libuv: linux: try inotify_init if inotify_init1 returns ENOSYS
00:11:09  <CIA-99>libuv: The kernel may be older than the kernel headers that libuv is compiled against. - http://git.io/22l14A
00:11:12  <CIA-99>libuv: Ben Noordhuis v0.6 * r6dcce92 / (test/test-ref.c test/test-tty.c): unix: replace C99/C++ comments, fix build - http://git.io/6OpLnA
00:11:12  <CIA-99>libuv: Ben Noordhuis v0.6 * r66a959c / src/unix/linux.c :
00:11:13  <CIA-99>libuv: linux: try inotify_init if inotify_init1 returns ENOSYS
00:11:13  <CIA-99>libuv: The kernel may be older than the kernel headers that libuv is compiled against. - http://git.io/XdvVBw
00:12:59  * travis-cijoined
00:12:59  <travis-ci>[travis-ci] joyent/libuv#134 (v0.6 - 66a959c : Ben Noordhuis): The build is still failing.
00:12:59  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/5d21056...66a959c
00:12:59  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/868580
00:12:59  * travis-cipart
00:13:14  * travis-cijoined
00:13:14  <travis-ci>[travis-ci] joyent/libuv#133 (master - 1b6df97 : Ben Noordhuis): The build is still failing.
00:13:14  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/db413f3...1b6df97
00:13:14  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/868577
00:13:14  * travis-cipart
00:13:26  * Raynosquit (Ping timeout: 246 seconds)
00:16:46  * piscisaureus_joined
00:16:50  * piscisaureus_quit (Client Quit)
00:19:42  * pietern_joined
00:24:00  * pieternquit (Ping timeout: 265 seconds)
00:24:00  * pietern_changed nick to pietern
00:29:23  * pieternquit (Remote host closed the connection)
00:29:40  * pieternjoined
00:31:41  * mmaleckichanged nick to mmalecki[zzz]
00:38:01  * orlandovftwquit (Ping timeout: 265 seconds)
00:47:47  * Raynosjoined
01:02:23  * Ariajoined
01:24:28  * orlandovftwjoined
01:24:47  <CIA-99>libuv: Ben Noordhuis master * r7a2bd05 / (include/uv-private/ngx-queue.h include/uv-private/tree.h):
01:24:47  <CIA-99>libuv: Fix include guard in tree.h and ngx-queue.h
01:24:47  <CIA-99>libuv: The C99 standard reserves all identifiers (including macros) that start with an
01:24:47  <CIA-99>libuv: underscore and a capital letter.
01:24:47  <CIA-99>libuv: Fixes #260. - http://git.io/sAFDIw
01:26:42  * travis-cijoined
01:26:43  <travis-ci>[travis-ci] joyent/libuv#135 (master - 7a2bd05 : Ben Noordhuis): The build is still failing.
01:26:43  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/1b6df97...7a2bd05
01:26:43  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/869052
01:26:43  * travis-cipart
01:34:58  <TooTallNate>later guys
01:35:09  * TooTallNatequit (Quit: Linkinus - http://linkinus.com)
01:49:22  * orlandovftwquit (Ping timeout: 244 seconds)
01:51:40  * pieternquit (Quit: pietern)
01:53:52  <igorzi>isaacs: [10:19|% 100|+ 355|- 12]: Done <-- win2k8
01:53:57  <igorzi>isaacs: no regressions
01:54:56  * abraxasjoined
01:58:39  <isaacs>igorzi: nice, thanks
01:59:24  <isaacs>bnoordhuis: i'm gonna get that libuv patch in for 0.6.13. if you come up with anything else, lmk.
01:59:51  <bnoordhuis>isaacs: cool, will do
02:00:38  * isaacsquit (Remote host closed the connection)
02:15:16  <creationix>C++ is crazy
02:15:21  <kohai>C has 11 beers
02:29:16  <bnoordhuis>creationix: how so?
02:42:14  * bnoordhuisquit (Ping timeout: 265 seconds)
02:47:24  * bbenviejoined
02:48:16  * benviequit (Ping timeout: 272 seconds)
02:49:59  * Ariaquit (Remote host closed the connection)
03:20:00  <bbenvie>holy libuv spam
03:33:46  <creationix>hi bbenvie
03:47:03  * AvianFluquit (Ping timeout: 244 seconds)
03:48:56  * TooTallNatejoined
03:51:20  * sh1mmerquit (Quit: sh1mmer)
04:00:52  * TooTallNatequit (Quit: Linkinus - http://linkinus.com)
04:03:58  * AvianFlujoined
04:08:25  * sh1mmerjoined
04:09:11  <bbenvie>hey
04:09:31  <bbenvie>how goes monkeyluvin?
04:21:39  * isaacsjoined
04:29:00  * isaacsquit (Remote host closed the connection)
04:30:13  * isaacsjoined
05:04:07  * isaacsquit (Remote host closed the connection)
05:25:17  <creationix>bbenvie, good
05:25:38  <creationix>bnoordius got me a gypified version of smjs and it's a lot easier to build
05:25:53  <bbenvie>oh wow that exists?
05:25:55  <creationix>also working on candor bindings to libuv
05:25:58  <creationix>he made it
05:26:02  <bbenvie>awesome
05:26:34  <creationix>yeah, went from several gigabytes of hg clone + manual build + manual symlink
05:26:47  <bbenvie>I'm going to get back to some ffi soon and do some js style bindings
05:26:53  <creationix>to an automatic git submodule dependency (roughly 20mb) that builds automatically
05:27:04  <bbenvie>now that this data structure handler is coming to a close
05:27:16  <bbenvie>the mozilla build stuff is kind of crap
05:27:22  <bbenvie>I mean it's just a lot of stuff
05:27:40  <bbenvie>feels old
05:27:57  <bbenvie>oh hey
05:28:05  <bbenvie>this might interest you
05:28:16  <bbenvie>have you seen this? https://github.com/Tachyon-Team/Tachyon
05:28:27  <bbenvie>it's a self hosting js environment that boot straps out of v8
05:28:38  <bbenvie>with a minimal amount of external ffi help
05:28:44  <bbenvie>it's crazy, it compiles itself
05:29:28  <creationix>I think I heard of that
05:29:33  <creationix>pretty neat
05:30:15  <bbenvie>you need to create like the power rangers megazord of runtimes
05:30:21  <bbenvie>that combines all of them into one
05:31:37  <creationix>lol
05:31:45  <creationix>yeah, I now work on 4 different runtimes all using libuv
05:31:52  <creationix>it gets confusing some days
05:32:19  <bbenvie>need cross bindings
05:32:30  <bbenvie>and ffi bindings so js can run itself
05:32:42  <bbenvie>or run js in another engine of its choice
06:13:35  * orlandovftwjoined
06:43:16  * toothrquit (Ping timeout: 244 seconds)
06:50:10  * toothrjoined
06:52:46  * dshaw_quit (Quit: Leaving.)
06:56:47  * bbenviequit
06:57:28  * benviejoined
07:22:10  * philipsquit (*.net *.split)
07:23:21  * philipsjoined
07:32:19  * paddybyersjoined
07:41:05  * AvianFluquit (Ping timeout: 250 seconds)
07:48:43  * AvianFlujoined
08:03:41  * rendarjoined
08:18:35  * paddybyersquit (Quit: paddybyers)
08:45:20  * orlandovftwquit (Ping timeout: 246 seconds)
08:52:30  * toothrquit (Ping timeout: 265 seconds)
08:55:53  * paddybyersjoined
08:58:10  * toothrjoined
08:59:31  * AndreasMadsenjoined
09:10:00  * paddybyers_joined
09:12:07  * paddybyersquit (Ping timeout: 246 seconds)
09:12:07  * paddybyers_changed nick to paddybyers
09:27:24  * jcequit (Ping timeout: 252 seconds)
09:43:16  * zz_jcejoined
10:56:53  * abraxasquit
11:32:05  * wankdankerquit (Read error: Connection reset by peer)
11:59:28  * indutny_sleepingchanged nick to indutny
13:08:06  * bnoordhuisjoined
13:29:40  * mmalecki[zzz]changed nick to mmalecki
13:39:51  * philipsquit (Excess Flood)
13:39:57  * philipsjoined
13:40:13  * philipsquit (Changing host)
13:40:13  * philipsjoined
14:06:50  * piscisaureus_joined
14:12:33  * isaacsjoined
14:24:54  <bnoordhuis>piscisaureus_: bertje! what's up?
14:36:15  <isaacs>good morning!
14:36:26  <bnoordhuis>morning isaac
14:46:49  <mmalecki>morning guys!
14:50:34  <piscisaureus_>bnoordhuis: what's up?
14:52:01  <bnoordhuis>piscisaureus_: the opposite of down
14:52:09  <bnoordhuis>are you guys heading off today or tomorrow?
15:03:38  * CoverSlidequit (Read error: Connection reset by peer)
15:03:41  * CoverSli1ejoined
15:04:13  * CoverSli1equit (Read error: Connection reset by peer)
15:06:20  <piscisaureus_>bnoordhuis: tomorrow
15:07:35  * CoverSlidejoined
15:08:07  * pfox___joined
15:34:14  <isaacs>Test, please: http://nodejs.org/dist/v0.6.13/node-v0.6.13-RC1.tar.gz
15:40:08  <isaacs>bnoordhuis: is this the correct changelog entry for your thing? https://github.com/isaacs/node/commit/v0.6.13-release
15:41:51  <bnoordhuis>isaacs: it's not particular to centos, the issue is that some people run node on an older kernel than what it's compiled against
15:42:02  <bnoordhuis>i.e. a mismatch between the kernel headers and the actual kernel
15:42:08  <isaacs>ok
15:42:19  <isaacs>can you give me a better ChangeLog entry line for it?
15:42:47  <isaacs>maybe this? * Fix ENOSYS errors from fs.watch on older Linux kernels (Ben Noordhuis)
15:43:20  * pfox___quit (Ping timeout: 265 seconds)
15:43:33  <isaacs>or * Fix ENOSYS errors from fs.watch Linux kernel version mismatch (Ben Noordhuis)
15:44:13  <isaacs>or, * Fix fs.watch ENOSYS on Linux kernel version mismatch (Ben Noordhuis)
15:44:29  <bnoordhuis>that works for me
15:45:04  <isaacs>ok
15:45:25  <isaacs>i'll change it in RC2. please still test the code, though :)
15:45:44  <bnoordhuis>will do :)
15:48:05  * isaacstopic: test, please: http://nodejs.org/dist/v0.6.13/node-v0.6.13-RC1.tar.gz
15:48:58  * isaacstopic: test, please: http://nodejs.org/dist/v0.6.13/node-v0.6.13-RC2.tar.gz
15:53:08  <isaacs>compiling smartos on 32 cores
15:53:19  * isaacsremembered he works for a hosting company...
15:53:35  <isaacs>oh, wait, no i'm not.
15:53:40  * isaacsshakes fist at waf
15:53:52  <isaacs>there we go
15:53:57  <isaacs>JOBS=32 not make -j32
15:55:55  <creationix>export JOBS=32; (I find that works better sometimes)
15:57:24  <isaacs>creationix: that's just setting it in the env. `JOBS=32 make` is exactly the same
15:58:01  <isaacs>smartos: [01:08|% 100|+ 336|- 2]: Done
15:58:26  * AndreasMadsenquit (Remote host closed the connection)
15:59:00  <creationix>isaacs, right, but I remember once, some child processes of the build process not inheriting the env
15:59:22  <isaacs>creationix: if it doesn't inherit the env, it won't inherit it from export, either
15:59:28  <tjfontaine>indeed
15:59:59  <isaacs>as far as any process knows, its env is just an opaque list of key-value pairs
16:00:05  <isaacs>doesn't know where they came from
16:02:17  <isaacs>os x: [02:05|% 100|+ 335|- 3]: Done
16:02:27  <isaacs>all failures are in debugger
16:02:35  * igorziquit (Ping timeout: 245 seconds)
16:02:47  <isaacs>all smartos failures are in fs.watch names not matching. those just strike me as invalid tests.
16:02:49  <creationix>dunno, if it's working, then skip the export
16:03:16  <bnoordhuis>isaacs: fs.watch doesn't work properly on sunos thanks to an event ports shortcoming
16:03:22  <isaacs>bnoordhuis: sure.
16:03:31  <isaacs>bnoordhuis: we've seen that failure forever. i'm not worried about it
16:03:37  <isaacs>and the cost of fixing it on 0.6 is higher than the value
16:04:50  <AvianFlu>well, they all pass on linux :D
16:04:58  <AvianFlu>gotta love the last release in a stable branch XD
16:05:28  <isaacs>AvianFlu: that's because bnoordhuis uses twitter, and is consistently the node MVP test-fixer.
16:05:28  <mmalecki>it's the last release?
16:05:34  <isaacs>mmalecki: most likely, yes.
16:05:39  <mmalecki>awesome
16:05:40  * isaacshas been saying that for the last few releases...
16:06:00  <isaacs>v0.8 really is right around the corner, too
16:06:04  <mmalecki>time to code all the features I want in the next version
16:06:10  <mmalecki>isaacs: half a month?
16:06:24  <isaacs>mmalecki: MAYBE TODAY!!!
16:06:28  <isaacs>YOU NEVER KNOW!
16:06:31  <mmalecki>isaacs: NO!
16:06:37  <isaacs>lol
16:06:41  <isaacs>no, it'll be a few more weeks
16:06:44  <mmalecki>yay
16:07:07  <mmalecki>wait, bnoordhuis uses twitter?
16:07:12  <bnoordhuis>no
16:07:17  <mmalecki>shame!
16:08:25  <isaacs>AvianFlu: er, bnoordhuis uses linux, i mean
16:08:28  <isaacs>same thing, basically ;)
16:08:44  <isaacs>time-wasting, always broken, talked up by nerds for no real reason, etc, etc
16:08:53  <AvianFlu>hahahahahaha
16:09:02  <mmalecki>ahahaha
16:12:48  <bnoordhuis>why the hell is c-ares talking to my dns server over tcp?
16:13:07  <bnoordhuis>*confused*
16:13:16  <isaacs>bnoordhuis: ?
16:13:16  * pfox___joined
16:13:22  <isaacs>i thought it talked over dns
16:13:39  <bnoordhuis>"over dns", gotta remember that one
16:13:49  <bnoordhuis>i'm debugging a libuv test
16:14:05  <bnoordhuis>where c-ares talks over tcp instead of udp for some reason...
16:14:19  <CoverSlide>craziness
16:15:02  <tjfontaine>under some circumstances it thinks it's appropriate so it can "detect" if the NS is alive
16:16:26  <piscisaureus_>bnoordhuis: it falls back to tcp if udp doesn't work somehow
16:17:17  <bnoordhuis>piscisaureus_: it never even tries to create a udp socket
16:17:21  <bnoordhuis>$ strace -e socket out/Debug/run-benchmarks gethostbyname gethostbyname
16:17:21  <bnoordhuis>socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 5
16:17:47  <bnoordhuis>(and that's all she wrote)
16:18:04  <bnoordhuis>it's not directly fatal but it's kind of baffling
16:19:06  <tjfontaine>ARES_FLAG_USEVC isn't set is it?
16:19:40  <bnoordhuis>i don't think c-ares does anything with venture capital no
16:20:02  <bnoordhuis>(i kid, i kid - we don't set that flag)
16:20:27  <tjfontaine>generally it should only fallback to tcp if it gets enough timeouts, or a truncated packet
16:20:45  <tjfontaine>I don't think there's an /etc/resolv.conf flag for tcp either
16:21:30  <bnoordhuis>i don't think so either and if there is one it's not set
16:21:51  <tjfontaine>is this linux, or something more exotic? :)
16:22:08  <CoverSlide>minix?
16:22:22  <bnoordhuis>plan9
16:22:25  <tjfontaine>heh
16:22:26  <bnoordhuis>no, stock ubuntu 10.04 lts
16:22:27  <CoverSlide>awesome!
16:22:39  <tjfontaine>that's a bit absurd
16:23:31  <bnoordhuis>i know right?
16:23:32  * tjfontaineredeploys a vm with 10.04
16:23:43  <bnoordhuis>i wonder if the test sets up things in a wonky way
16:24:05  <bnoordhuis>oh... found it: ARES_OPT_TCP_PORT
16:24:11  <bnoordhuis>facepalm moment
16:24:32  <bnoordhuis>oh, and even ARES_FLAG_USEVC
16:24:38  <bnoordhuis>sorry, false alarm
16:24:58  <bnoordhuis>tjfontaine: ^
16:24:59  <tjfontaine>ya, ok
16:26:01  <tjfontaine>I've spent more time in dns land than I care to admit
16:26:21  <bnoordhuis>how come?
16:27:06  <tjfontaine>because I wanted a node dns server based on a library that actually had a denoted license
16:27:36  <tjfontaine>so now I have a entire javascript based dns stack
16:27:45  <isaacs>tjfontaine: "denoted license"?
16:27:54  <tjfontaine>isaacs: ndns is "unlicensed"
16:28:08  <tjfontaine>so when I hit a bug I was unclear on how/if I could fix it
16:28:15  <tjfontaine>aside from monkey patching
16:28:48  <isaacs>oh, ok
16:29:07  <isaacs>the c-ares license is kind of weird...
16:29:18  <isaacs>assigns copyright to the massachusetts institute of technology
16:29:26  <isaacs>which i suppose IS the original MIT license, but it's odd.
16:29:28  <isaacs>http://c-ares.haxx.se/license.html
16:29:39  <tjfontaine>it has an interesting history as well
16:29:44  <isaacs>most MIT-licensed software is not copyright MIT
16:30:15  <bnoordhuis>that's what MIT wants you to think
16:30:23  <bnoordhuis>no one ever reads the fine print
16:34:12  * orlandovftwjoined
16:34:36  <tjfontaine>when I benchmark my stack against stock nodejs at work stock ends up 44% better, but at home the situation is reversed, but it's generally fast enough for me right now
16:35:58  <bnoordhuis>i've been wanting to replace c-ares (in node) with something that's 100% js
16:36:33  <bnoordhuis>which is not quite that trivial if you want to support all the platform specific quirks but that aside
16:36:58  <bnoordhuis>is there any code i can steal, tjfontaine?
16:37:11  <isaacs>bnoordhuis: that'd be rad.
16:37:15  <tjfontaine>bnoordhuis: it's designed to be a drop in replacement, github.com/tjfontaine/node-dns/
16:37:18  <isaacs>bnoordhuis: especially if it does server as well as client.
16:37:26  <tjfontaine>isaacs: it does :)
16:37:52  <isaacs>require("dns").createServer(function (req) { ... })
16:37:57  <tjfontaine>including allowing people to build requests to send directly to a specific server, for dnsbl like operation
16:38:12  <tjfontaine>well, (req, res)
16:38:56  <bnoordhuis>tjfontaine: what about things like mdns? that's kind of why we use getaddrinfo() right now
16:39:20  <tjfontaine>I haven't investigated that yet, but I can look at it today
16:39:34  <tjfontaine>you're interested in annoucning as well I presume
16:39:56  <bnoordhuis>yes, but being to participate is the most important thing
16:40:03  <tjfontaine>nod
16:40:08  <bnoordhuis>else we'll have all those mac hipsters complaining
16:40:19  <tjfontaine>indeed
16:40:40  <piscisaureus_>on windows, the thread pool getaddrinfo is actually faster than cares
16:40:45  <piscisaureus_>in benchmarks that is
16:40:55  <bnoordhuis>really? how come?
16:41:00  <piscisaureus_>probably due to the lack of dns caching in cares
16:42:51  <tjfontaine>bnoordhuis: I see no particular reason why it couldn't support mdns
16:43:15  <bnoordhuis>tjfontaine: that would be neat
16:44:02  <tjfontaine>bnoordhuis: I commented on the pure js dns issue in node when I first published the code, I was looking for feedback on the interfaces (and still am) so that it could one day be included in proper
16:44:48  <bnoordhuis>tjfontaine: would it be a lot of work to wrap it up in a pull request?
16:45:15  <tjfontaine>bnoordhuis: probably not, I'll do that (and fill out the CLA)
16:45:35  <bnoordhuis>sweet
16:50:35  * philipsquit (Excess Flood)
16:52:55  * philipsjoined
17:00:41  * pieternjoined
17:04:25  <isaacs>bnoordhuis, piscisaureus_: also, iirc, c-ares insists on using /etc/resolv.conf, and on os x, getaddrinfo is more reliable than that file.
17:04:42  <isaacs>occasionally, resolv.conf will not be updated when the network settings change
17:05:04  <isaacs>so, switching to VPN for example makes dns queries all start failing for several minutes
17:10:27  <isaacs>piscisaureus_, igorzi: wanna test out the x64 build for 0.6.13? Use your windows powers to find problems with it? http://nodejs.org/dist/v0.6.13/x64/
17:20:00  <tjfontaine>isaacs: yes there are better programatic ways on osx and windows for making sure you're using the right nameservers
17:26:36  <mmalecki>isaacs: any eta on the release?
17:27:44  <isaacs>mmalecki: minutes. i can't find any issues with the x64
17:27:55  <isaacs>i'm still a bit hesitant, though. i think i'll just leave it out of the announcemnet.
17:28:14  <mmalecki>isaacs: great, thanks
17:28:21  <mmalecki>isaacs: x64 is windows thing?
17:28:30  <isaacs>mmalecki: yeah
17:28:51  <mmalecki>isaacs: yeah, leave it out. nobody uses windows anyway :)
17:28:53  <isaacs>mmalecki: the osx pkg installer is a fit binary
17:28:57  <isaacs>mmalecki: ha!!
17:29:50  * indutnychanged nick to indutny_sleeping
17:33:16  * pfox___quit (Remote host closed the connection)
17:34:16  <CIA-99>node: isaacs v0.6 * r571a519 / (3 files in 2 dirs): Upgrade libuv to 66a959c4052 - http://git.io/QkKKnw
17:34:16  <CIA-99>node: isaacs v0.6 * r06bf070 / Makefile : makefile: Fix 'make doc' - http://git.io/6wM4WQ
17:34:18  <CIA-99>node: isaacs v0.6 * r9f7f86b / (7 files in 6 dirs): (log message trimmed)
17:34:18  <CIA-99>node: 2012.03.15 Version 0.6.13 (stable)
17:34:18  <CIA-99>node: * Windows: Many libuv test fixes (Bert Belder)
17:34:18  <CIA-99>node: * Windows: avoid uv_guess_handle crash in when fd < 0 (Bert Belder)
17:34:18  <CIA-99>node: * Map EBUSY and ENOTEMPTY errors (Bert Belder)
17:34:18  <CIA-99>node: * Windows: include syscall in fs errors (Bert Belder)
17:34:19  <CIA-99>node: * Fix fs.watch ENOSYS on Linux kernel version mismatch (Ben Noordhuis)
17:34:19  <CIA-99>node: isaacs v0.6 * r9726a25 / (11 files in 8 dirs): Merge branch 'v0.6.13-release' into v0.6 - http://git.io/KznJ3g
17:34:20  <CIA-99>node: isaacs v0.6 * rb9bd2d3 / src/node_version.h : Now working on v0.6.14 - http://git.io/BgnzQg
17:34:22  <mmalecki>win!
17:34:30  <mmalecki>AvianFlu: ^
17:34:39  <isaacs>email in just a sec
17:34:41  * wankdankerjoined
17:35:17  * piscisaureus_quit (Ping timeout: 255 seconds)
17:36:00  <creationix>isaacs, I remember now when I need export JOBS=8; vs JOBS=8, it's when using nvm when a new version of node comes out
17:36:17  <isaacs>creationix: if 'jobs=8' only sets it for that line
17:36:22  * dshaw_joined
17:36:37  <isaacs>creationix: ie, you can do `JOBS=8 make`, but not `JOBS=8; make`
17:36:41  <creationix>since nvm is a function, not a process
17:38:24  <isaacs>creationix: functions still run in a subproc in bash, i thought
17:38:28  <isaacs>so they have their own env
17:38:37  <creationix>no, it's not a subprocess
17:38:45  <creationix>that's why when the function changes PATH, it persists
17:39:31  <creationix>change PATH in a subprocess and the change is lost when the subprocess dies
17:39:34  <isaacs>oh, ok
17:39:35  <isaacs>right
17:40:46  <isaacs>$ fn () { env | grep foo; }
17:40:47  <isaacs>$ foo=bar fn
17:40:47  <isaacs>foo=bar
17:40:48  <isaacs>$ env | grep foo
17:40:50  <isaacs>creationix: ^
17:40:54  <isaacs>seems like it still works, though
17:42:18  * travis-cijoined
17:42:18  <travis-ci>[travis-ci] joyent/node#589 (v0.6 - b9bd2d3 : isaacs): The build was broken.
17:42:18  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/f631c1d...b9bd2d3
17:42:18  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/874017
17:42:18  * travis-cipart
17:45:30  * TooTallNatejoined
17:45:48  * orlandovftwquit (Ping timeout: 260 seconds)
17:51:49  <mmalecki>LAME.
17:55:19  * isaacstopic: Liberty. Unity. Velocity.
17:57:19  <isaacs>mmalecki: whatever.
17:57:25  <isaacs>mmalecki: master is passing mostly now
17:58:49  <mmalecki>isaacs: ++
17:58:51  <kohai>isaacs has 12 beers
18:01:51  * stephankjoined
18:10:39  <TooTallNate>where's the windows guys at?
18:10:45  * brsonjoined
18:36:06  * orlandovftwjoined
19:02:00  * pieternquit (Quit: pietern)
19:03:33  * `3rdEdenjoined
19:08:51  <benvie>haha who came up with that
19:09:19  <benvie>is great
19:09:33  <benvie>give me libuv or give me death
20:04:40  * zz_jcechanged nick to jce
20:14:43  * sh1mmerquit (Quit: sh1mmer)
20:15:18  * igorzijoined
20:15:57  * sh1mmerjoined
20:16:59  <TooTallNate>igorzi: yt?
20:17:43  <isaacs>benvie: /topic says: "isaacs set the topic at: Mar 15, 2012 10:54"
20:19:02  <igorzi>TooTallNate: yeah, whats up?
20:20:47  <TooTallNate>igorzi: hey could you review a patch? https://github.com/tootallnate/node/commit/windows-configure
20:21:42  <TooTallNate>would be cool to get bert to look at it too but he's MIA
20:27:51  <igorzi>TooTallNate: i think we should default to building x86 (even on x64 windows)
20:27:58  * mikealjoined
20:28:51  <TooTallNate>igorzi: well when running vcbuild.bat, that's still the default
20:29:12  <CIA-99>node: Matt Ezell master * r96e3be3 / tools/msvs/msi/product.wxs :
20:29:12  <CIA-99>node: Added trailing backslash to npm path
20:29:12  <CIA-99>node: Fix #2377: $PATH issues reported for MSI installer - http://git.io/GzCauA
20:30:33  * pieternjoined
20:31:05  <igorzi>TooTallNate: ahh right, ok
20:41:02  <igorzi>TooTallNate: what else is host_arch used for?
20:41:31  <TooTallNate>honestly i don't think it's used during the build
20:41:34  <TooTallNate>actually, v8 might use it
20:44:13  * travis-cijoined
20:44:13  <travis-ci>[travis-ci] joyent/node#590 (master - 96e3be3 : Matt Ezell): The build is still failing.
20:44:13  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/d2fba2b...96e3be3
20:44:13  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/875081
20:44:13  * travis-cipart
20:45:17  <igorzi>TooTallNate: i think v8 just figures out the host arch directly from the compiler: https://github.com/joyent/node/blob/master/deps/v8/src/globals.h#L65-L91
20:46:48  <TooTallNate>igorzi: ahh, cool. well looks like it's still used in some places: https://github.com/joyent/node/blob/master/deps/v8/build/common.gypi#L152
20:47:02  <TooTallNate>probably best to be truthful about the value
20:48:41  <igorzi>TooTallNate: that's the thing.. in VS that'll pretty much depend on which toolset you're using to compile
20:49:17  <CIA-99>node: Micheil Smith master * r19fd530 / (lib/child_process.js lib/cluster.js src/node.cc): Expose original argv as process.execArgv for cluster and child_process.fork() - http://git.io/ssCXOQ
20:49:17  <CIA-99>node: Maciej Małecki master * r0113f5a / test/simple/test-process-exec-argv.js : test: test `process.execArgv` - http://git.io/awidIw
20:49:17  <CIA-99>node: Maciej Małecki master * r9a35656 / test/simple/test-child-process-fork-exec-argv.js : test: test if forks are spawned with parent's `process.execArgv` - http://git.io/SmIzYg
20:50:08  <mmalecki>oh?
20:50:18  <mmalecki>ah!
20:54:04  <TooTallNate>igorzi: true, but would you expect `process.config.variables.host_arch` to be different depending on that?
20:54:37  <TooTallNate>all i'm really trying to do is have a config.gypi file present on the windows build
20:54:52  <TooTallNate>whatever the host_arch variable is set to is kinda irrelevant
20:55:06  <TooTallNate>(as long as the build still work that is)
20:55:24  <igorzi>TooTallNate: cool, if the build still works - then lgtm :)
20:55:56  <TooTallNate>igorzi: cool thanks, i'll test on building on x64 just to make sure
21:04:18  * travis-cijoined
21:04:18  <travis-ci>[travis-ci] joyent/node#591 (master - 9a35656 : Maciej Małecki): The build is still failing.
21:04:18  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/96e3be3...9a35656
21:04:18  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/875166
21:04:18  * travis-cipart
21:18:15  <CIA-99>node: Ben Noordhuis master * r7fc835a / (lib/timers.js test/simple/test-timers.js):
21:18:16  <CIA-99>node: timers: handle negative or non-numeric timeout values
21:18:16  <CIA-99>node: Follows browser behaviour by scheduling the callback on the next tick.
21:18:16  <CIA-99>node: Fixes #593. - http://git.io/9X9fyw
21:20:57  <bnoordhuis>ho, old patch is old
21:21:12  <TooTallNate>haha, i was just thinking the same thing
21:21:19  * AvianFluquit (Quit: Leaving)
21:26:07  <isaacs>yep
21:26:17  <isaacs>had to clean up the merge a little bit
21:26:31  <isaacs>but it's only grown more delicious having had some time to age :)
21:26:39  <isaacs>bnoordhuis: https://github.com/bnoordhuis/node/compare/gyp-dtrace still good?
21:27:09  <bnoordhuis>isaacs: no, it only works partially
21:27:14  <isaacs>ok
21:27:21  <bnoordhuis>but i saw the github email, i'll pick it up this or next week :)
21:27:45  <bnoordhuis>btw, /home/bnoordhuis/src/nodejs/master/test/simple/test-timers-zero-timeout.js:42
21:27:45  <bnoordhuis> assert.equal(timer.close(), -1);
21:27:45  <bnoordhuis> ^
21:27:45  <bnoordhuis>TypeError: Object #<Object> has no method 'close'
21:28:17  <isaacs>wait, wtf?
21:28:25  * isaacsinvestigating
21:28:53  <isaacs>whoops
21:29:22  <isaacs>d'oh. fixing.
21:29:45  <bnoordhuis>also, test-debugger-repl is really starting to piss me off
21:30:01  <bnoordhuis>when it fails, its child process makes all the tests after it fail with EADDRINUSE...
21:30:29  <isaacs>yeah.
21:30:58  <bnoordhuis>i kind of "fixed" that in another debugger test by making it listen to common.PORT + 1337 :)
21:31:04  <bnoordhuis>*listen on
21:32:03  * wankdankerquit (Remote host closed the connection)
21:33:07  * travis-cijoined
21:33:07  <travis-ci>[travis-ci] joyent/node#592 (master - 7fc835a : Ben Noordhuis): The build is still failing.
21:33:07  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/9a35656...7fc835a
21:33:07  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/875359
21:33:07  * travis-cipart
21:33:59  <bnoordhuis>isaacs: another thing, something broke simple/test-setproctitle on linux, possibly that process.execArgv patch
21:34:04  <bnoordhuis>i'll investigate
21:34:24  <isaacs>thanks
21:39:49  <isaacs>bnoordhuis: weird... so, it looks like there was some custom logic to handle zero-timeout timers, but since that aged patch makes it never have a timeout less than 1, it never hits that.
21:39:59  <isaacs>there is a bit of oldness that i need to correct, though
21:40:25  <bnoordhuis>yes?
21:41:37  * mikealquit (Quit: Leaving.)
21:44:53  <isaacs>oh, no, nevermind. i was thinking that it needs to be a new Timer() but we weren't doing that unless its after=0
21:52:01  <isaacs>bnoordhuis: [03:06|% 100|+ 374|- 3]
21:52:17  <isaacs>test-dgram-pingpong is very noisy
21:52:56  <bnoordhuis>yes, and race-y / fail-y
21:55:00  <isaacs>bnoordhuis: https://gist.github.com/7b19cb5ed5f01081e457
21:55:04  <isaacs>review, plz ^
21:55:19  <bnoordhuis>isaacs: hah, lgtm
21:56:09  <CIA-99>node: isaacs master * r702b46c / test/simple/test-timers-zero-timeout.js :
21:56:09  <CIA-99>node: Fix invalid timer test
21:56:09  <CIA-99>node: Previously, setTimeout(fn, 0) would create a new Timer() object,
21:56:09  <CIA-99>node: which has a close() method (and is a bit slower). The recent
21:56:09  <CIA-99>node: change to more closely emulate browser setTimeout behavior dodges
21:56:09  <CIA-99>node: this path, so this assertion is no longer valid. - http://git.io/zH6sVA
22:01:03  <isaacs>ok, back to just the usual test-debugger-repl failures.
22:03:19  <TooTallNate>bnoordhuis: isaacs: could you guys review? https://github.com/tootallnate/node/commit/windows-configure
22:03:30  <TooTallNate>igorzi: ^ a couple more changes to the vcbuild.bat file
22:05:51  * mikealjoined
22:10:41  * mikealquit (Read error: Connection reset by peer)
22:10:46  * mikealjoined
22:11:26  * travis-cijoined
22:11:26  <travis-ci>[travis-ci] joyent/node#593 (master - 702b46c : isaacs): The build is still failing.
22:11:26  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/7fc835a...702b46c
22:11:26  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/875562
22:11:26  * travis-cipart
22:13:39  <bnoordhuis>isaacs: https://github.com/bnoordhuis/node/commit/1a97998 - review?
22:13:45  <bnoordhuis>or TooTallNate
22:14:25  <bnoordhuis>TooTallNate: PROCESSOR_ARCHITECTURE?
22:14:30  <bnoordhuis>is that a windows thing?
22:14:43  <isaacs>bnoordhuis: lgtm
22:14:46  <bnoordhuis>oh, apparently it is
22:14:48  <bnoordhuis>isaacs: thanks
22:15:03  <isaacs>TooTallNate: i see nothing objectionable in that patch, but i'd like someone more familiar with vcbuild.bat to +1 it
22:15:07  <CIA-99>node: Ben Noordhuis master * r1a97998 / src/node.cc :
22:15:07  <CIA-99>node: process: fix process.title setter
22:15:07  <CIA-99>node: Commit 19fd530 broke the argv initialization logic that's used on linux and
22:15:07  <CIA-99>node: freebsd to update the process name (as displayed in tools like `top`).
22:15:07  <CIA-99>node: Fixes test/simple/test-setproctitle.js. - http://git.io/Kir7_g
22:15:35  <TooTallNate>bnoordhuis: ya, i was looking for a better way to detect the arch on windows, that seems a little fragile
22:16:09  * mikeal1joined
22:16:09  * mikealquit (Read error: Connection reset by peer)
22:17:09  <bnoordhuis>TooTallNate: looks okay to me but what isaacs said, let one of our windows aficionados look at it too
22:18:12  <TooTallNate>bnoordhuis: ok will do
22:18:14  <TooTallNate>thanks
22:18:21  <bnoordhuis>TooTallNate: that 'drop the parens' quip also applies to line 202
22:18:31  <TooTallNate>bnoordhuis: ya i nailed that one too
22:18:35  <bnoordhuis>cool :)
22:18:53  <TooTallNate>i like how github supports /commit/branch-name
22:18:59  <TooTallNate>and shows the most recent commit, that's nice
22:19:07  <isaacs>yeah, it's handy
22:19:16  <isaacs>then you can keep clobbering it until it's ready to merge in
22:19:30  <TooTallNate>precisely :D
22:21:47  * mikealjoined
22:21:50  * mikeal1quit (Read error: Connection reset by peer)
22:24:51  <tjfontaine>bnoordhuis: currently I have things spread out in my dns stuff, but that won't necessarily work with js2c, I'm worried that a single dns.js will look a little unwieldy what are your thoughts?
22:25:34  <TooTallNate>why wouldn't that work with js2c?
22:26:12  <tjfontaine>well it works if I am willing to introduce more names, right now I have them as dns_<myfile>
22:26:30  <bnoordhuis>tjfontaine: i'd rather have them in a lib/dns/ subdirectory
22:26:49  <tjfontaine>right, as would I, but then I need to teach js2c to do the namespacing
22:26:49  <TooTallNate>i don't really even know the context of what we're talking about so ignore me :p
22:26:49  <bnoordhuis>that probably requires patching the native module loader though
22:27:15  <bnoordhuis>because i don't think it handles subdirectories atm
22:27:21  <tjfontaine>it does not
22:27:27  * mikeal1joined
22:27:27  * mikealquit (Read error: Connection reset by peer)
22:27:45  <tjfontaine>right now I'm just polluting the top level modules as I make sure all the tests work
22:27:47  <isaacs>the single level of native modules is good, i think
22:28:13  <isaacs>namespacing with _ is fine. we've done that in a few places already.
22:28:25  <tjfontaine>leading _?
22:28:37  <isaacs>sure, if it's not intended to be used as-is
22:28:49  <tjfontaine>ok
22:28:58  <bnoordhuis>isaacs: think twice before you say that
22:29:08  <bnoordhuis>tjfontaine's dns lib contains a lot of files
22:29:09  <isaacs>say what? leading _?
22:29:20  <tjfontaine>bnoordhuis: some are unnecessarily split out
22:29:21  <isaacs>if it contains that many files, then it ought to not be in core, i'd say.
22:29:27  * AvianFlujoined
22:29:37  <tjfontaine>it was just where my head was putting things
22:29:38  * travis-cijoined
22:29:38  <travis-ci>[travis-ci] joyent/node#594 (master - 1a97998 : Ben Noordhuis): The build is still failing.
22:29:38  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/702b46c...1a97998
22:29:38  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/875781
22:29:38  * travis-cipart
22:30:18  <isaacs>but if it's possible to clump them into, say, dns_server.js dns_client.js and dns.js or something then that'd be fine.
22:30:42  <tjfontaine>I might say one more, like dns_rrtypes
22:30:44  <isaacs>it'd be nice to do that with http as well, actually. it's unwieldy to handle a single multiple-KLoC module
22:30:53  <bnoordhuis>agreed ^
22:31:20  <isaacs>but at the top level, there should be a single dns.js that exposes everything you need sensibly, and only a small number of dns_*.js files.
22:31:24  <isaacs>like, 2-4 at the max.
22:31:24  <tjfontaine>if js2c could just concat subdirs into a single upper level subdir.js
22:31:32  <TooTallNate>are we considering a dns client/server in core?
22:31:34  <tjfontaine>isaacs: that's precisely how it works right now
22:31:48  <isaacs>tjfontaine: yeah, that's fine, then
22:31:50  <tjfontaine>TooTallNate: depends on how people respond to my pull request
22:31:52  <isaacs>i mean, not 80 files.
22:31:54  <isaacs>:)
22:31:57  <tjfontaine>indeed
22:32:01  <isaacs>TooTallNate: yessir :)
22:32:06  <isaacs>DNS is a core internet technology.
22:32:11  <TooTallNate>my quesion is why dns? what about telnet? or xxxx?
22:32:20  <isaacs>TooTallNate: we have telnet :) net.js
22:32:35  <bnoordhuis>that reminds me, we still need gopher support
22:32:40  <isaacs>hahahaa
22:32:48  * mikealjoined
22:32:56  * mikeal1quit (Read error: Connection reset by peer)
22:33:03  <isaacs>dude, you land gopher support and i'll have to go all caddyshack on that commit.
22:33:15  <bnoordhuis>haha
22:33:21  <TooTallNate>isaacs: i'm talking about the telnet protocol itself, there's a difference
22:33:29  <TooTallNate>and it's one of the oldest RFCs haha :D
22:33:35  <isaacs>TooTallNate: oh, ok
22:33:39  <isaacs>TooTallNate: old != core
22:34:04  <TooTallNate>haha
22:34:07  <TooTallNate>but dns isn't old?
22:34:16  <bnoordhuis>dns is still in active use
22:34:19  <bnoordhuis>telnet not so much
22:34:20  <isaacs>every internet program uses dns.
22:34:27  <bnoordhuis>or so i hope
22:34:37  <isaacs>telnet is strictly geek-niche stuff.
22:34:41  <TooTallNate>ok, starting to see the line now
22:35:00  <isaacs>no one's launching their startup on telnet. and even if they are, you're telnet'ing to a hostname, not an ip address.
22:35:03  <isaacs>(hence, dns)
22:35:35  <TooTallNate>hahaha, ok, i was just playing devils advocate
22:36:48  <isaacs>re gopher support in node-core: http://www.imdb.com/title/tt0080487/quotes?qt=qt0484905
22:37:51  <TooTallNate>this could also use a review (and some docs, doing that now): https://github.com/joyent/node/pull/2922
22:37:54  <TooTallNate>isaacs: bnoordhuis ^
22:38:17  <TooTallNate>(needs some squashing, doing that as well)
22:38:18  * mikealquit (Read error: Connection reset by peer)
22:38:22  * mikeal1joined
22:38:24  * mjr_quit (Quit: mjr_)
22:38:29  <isaacs>TooTallNate: right, so, which of these comes first? the readline eventemitter thing or this one?
22:38:47  <TooTallNate>isaacs: you mean the REPLServer eventemitter?
22:38:53  <TooTallNate>that one already was merged
22:38:55  <isaacs>oh, right
22:38:57  <TooTallNate>but they were independent anyways
22:38:57  <isaacs>oh, ok
22:39:00  <isaacs>kewl
22:39:16  <isaacs>so it's just 2922 remaining for voxer's repl to work as desired
22:39:39  <TooTallNate>ya, it's essentially moving the ansi/vt100 stuff from tty.js to readline.js
22:39:51  <TooTallNate>so that the logic can be reused on regular sockets
22:40:17  <isaacs>right
22:40:27  <TooTallNate>and a little bit of API cleanup that bert thought would be a good idea
22:40:40  <TooTallNate>like process.stdout.rows and process.stdout.columns, instead of getWindowSize()
22:40:51  <TooTallNate>(they get updated automatically)
22:41:05  * rendarquit
22:41:39  <TooTallNate>tty.setRawMode(mode) -> process.stdin.setRawMode(mode)
22:41:51  <TooTallNate>but everything should be backwards compatible too
22:42:16  <isaacs>right
22:45:43  <bnoordhuis>TooTallNate: if (keypressListeners.length) { <- you depend on stream.listeners('keypress') always returning the same array?
22:46:34  <bnoordhuis>from here - https://github.com/joyent/node/pull/2922/files#L1R745
22:46:53  <TooTallNate>bnoordhuis: i didn't really touch that code, that was there before
22:46:56  <TooTallNate>just in tty.js instead
22:47:01  <TooTallNate>so i guess it works fine
22:47:09  <bnoordhuis>if only accidentally
22:47:28  <TooTallNate>is it possible for a different array to be returned?
22:48:14  <TooTallNate>ahh, yes, if they called removeAllListeners() then it would be a problem
22:48:18  <bnoordhuis>yep
22:49:13  * piscisaureus_joined
22:50:17  <TooTallNate>bnoordhuis: fixed https://github.com/TooTallNate/node/commit/a1080e333ec2b9afe68082571da9f9d183dda2dc
22:50:37  <bnoordhuis>cool
22:50:58  <bnoordhuis>otherwise the PR lgtm. i'll let others decide if it's a desirable feature
22:52:10  <isaacs>I think this is a desirable feature.
22:52:22  <isaacs>it's basically not adding any features, but just making it work as one would expect.
22:52:27  <TooTallNate>bnoordhuis: it's addressing this issue https://github.com/joyent/node/issues/2917
22:53:04  <isaacs>one nit, and one additional request:
22:53:25  <isaacs>nit: i notice that you're calling _handle.getWindowSize() on every sigwinch, whereas before we'd call it when requested.
22:53:45  <isaacs>i figure sigwinch might happen less often than getWindowSize(), now that i think about it more, so nevermind.
22:53:50  <isaacs>nit squashed :)
22:54:04  * mikeal1quit (Read error: Connection reset by peer)
22:54:13  * mikealjoined
22:54:15  <TooTallNate>:)
22:54:17  <isaacs>additional request: docs and tests.
22:54:28  <TooTallNate>yup, indeed, will do
22:54:30  <TooTallNate>thanks
22:54:39  <isaacs>there are some repl tests that start node in a child proc right now. add some that run a repl in a net.Server
22:55:13  <isaacs>and an example of changing some stuff in a running program would be really helpful, but you could ask mjr_ to write that ;)
22:57:23  <bnoordhuis>am i the only one who finds the ruby's community obsession with _why a little unsettling?
22:57:33  <bnoordhuis>*ruby community's
22:57:48  <AvianFlu>every disappearance has a little of that
22:57:50  <AvianFlu>look at elvis
22:58:15  <piscisaureus_>bnoordhuis: TooTallNate: given the api docs listeners() should always return the same array. If it doesn't, removeAllListeners is broken. http://nodejs.org/api/events.html#events_emitter_listeners_event
22:58:19  * pieternquit (Quit: pietern)
22:58:31  <TooTallNate>oh nice bert is here :)
22:58:55  <TooTallNate>piscisaureus_: need you to review please :) https://github.com/tootallnate/node/commit/windows-configure
22:59:46  <bnoordhuis>piscisaureus_: you found the bug, you fix it :)
22:59:48  * mikeal1joined
22:59:51  <TooTallNate>piscisaureus_: hmm, the docs are questionable. I don't read "should always return the same array" anywhere
22:59:56  * mikealquit (Read error: Connection reset by peer)
23:00:53  <bnoordhuis>okay, okay - i'm a nice guy, i'll fix it
23:01:32  * mikeal1quit (Client Quit)
23:02:56  <piscisaureus_>TooTallNate: can you explain to me why we now have this configure stuff.
23:03:14  <piscisaureus_>why is that suddenly needed
23:03:28  <piscisaureus_>I missed the discussion, if any
23:03:36  <TooTallNate>piscisaureus_: for the `process.config` object
23:03:52  <TooTallNate>it requires a "config.gypi" file to be generated
23:04:20  <TooTallNate>i'll merge https://github.com/joyent/node/pull/2928 after this windows patch goes in
23:04:29  <TooTallNate>cause otherwise the windows build doesn't work
23:06:00  <piscisaureus_>TooTallNate: why did you remove the sln generation? Or what happened to it?
23:06:45  <piscisaureus_>ah nvm
23:07:05  <TooTallNate>piscisaureus_: i just DRY'd it up a bit, it was a copy & paste of the other one but for nosnapshot
23:07:16  <TooTallNate>so i just used a variable instead
23:07:29  * `3rdEdenquit (Quit: Linkinus - http://linkinus.com)
23:10:07  <isaacs>piscisaureus_: part of the motivation of having the config data exposed to javascript is so that node-gyp can use it when building addons
23:10:20  <isaacs>also, we have the info, so may as well.
23:11:08  <piscisaureus_>right. I see no technical issues, but I hope that you know what you're doing :-)
23:11:29  <piscisaureus_>but since isaacs seems to agree I will question it no more
23:11:35  <TooTallNate>i feel pretty good about this one acutally
23:11:41  <piscisaureus_>ok
23:11:46  <piscisaureus_>+1 then
23:11:54  <TooTallNate>the tty stuff needs docs/tests/cleanup, but this process.config stuff i am confident about
23:11:59  <TooTallNate>ok thanks bert
23:13:04  <CIA-99>node: Nathan Rajlich master * rdc75232 / (configure vcbuild.bat):
23:13:04  <CIA-99>node: vcbuild: run the 'configure' script in vcbuild.bat
23:13:04  <CIA-99>node: So that a 'config.gypi' file gets generated, which is
23:13:04  <CIA-99>node: required for the `process.config` object (see #2928). - http://git.io/qk42Sw
23:14:45  <TooTallNate>gonna land the `process.config` too, any objections?
23:15:05  <isaacs>TooTallNate: needs a test.
23:15:15  <TooTallNate>ok, what should it test for?
23:15:50  <isaacs>TooTallNate: doesn't have to be much. maybe just do the JSON.parse(fs.readFileSync(config.gypi).replace(...)) trick and deepEqual the result?
23:16:06  <isaacs>since tests will always run in a place where you've just configured
23:16:07  <TooTallNate>ahh, i like it
23:16:15  <TooTallNate>i'm on it
23:16:18  * elijah-awayquit (Remote host closed the connection)
23:16:49  * elijah-awayjoined
23:16:56  <piscisaureus_>TooTallNate: wrt listeners() -> the docs say the array is mutable, so you can add/remove listeners with it. It doesn't say that removeAllListeners() breaks it.
23:17:20  <bnoordhuis>https://github.com/bnoordhuis/node/commit/master - anyone object to this?
23:17:42  <piscisaureus_>doesn't hurt
23:17:51  <bnoordhuis>good, pushing
23:17:55  <isaacs>bnoordhuis: no objection.
23:18:08  <isaacs>bnoordhuis: but i think the other debugger test already listens on that port, so they might break one another :)
23:18:10  <isaacs>but that's fine
23:18:33  * elijah-awayquit (Read error: Connection reset by peer)
23:20:57  <bnoordhuis>piscisaureus_: https://github.com/bnoordhuis/node/commit/78dc13f - review
23:21:27  <TooTallNate>piscisaureus_: ya good point
23:21:42  <TooTallNate>bnoordhuis: lgtm
23:21:49  <bnoordhuis>cool, merging
23:22:03  <CIA-99>node: Ben Noordhuis master * rf9aa01d / test/simple/test-debugger-repl.js :
23:22:03  <CIA-99>node: test: don't let debugger listen on common.PORT
23:22:03  <CIA-99>node: simple/test-debugger-repl has a tendency to fail and leave behind a stray
23:22:03  <CIA-99>node: process that listens on common.PORT, making later tests fail with EADDRINUSE. - http://git.io/empoaA
23:22:03  <CIA-99>node: Ben Noordhuis master * r78dc13f / (2 files in 2 dirs):
23:22:03  <CIA-99>node: events: don't delete the listeners array
23:22:04  <CIA-99>node: The documentation implies that .removeAllListeners() leaves the listeners array
23:22:04  <CIA-99>node: untouched. Make it so. - http://git.io/GTgSmQ
23:22:05  <TooTallNate>bnoordhuis: nice, i thought you meant a doc patch, this is better :)
23:22:59  <TooTallNate>bnoordhuis: it looks like .removeListener() does a could "delete this._events[type]"
23:23:10  <TooTallNate>s/could/couple
23:23:46  <TooTallNate>ya, definitely same possibility could happen
23:24:30  <bnoordhuis>where?
23:24:43  <bnoordhuis>or rather, what do you mean? :)
23:25:10  <bnoordhuis>oh right, i see it now
23:25:17  <TooTallNate>i'm fixing
23:27:34  <CIA-99>node: Ben Noordhuis master * r761a82b / test/simple/test-event-emitter-remove-all-listeners.js :
23:27:34  <CIA-99>node: test: make .removeAllListeners() test more exhaustive
23:27:34  <CIA-99>node: Also test removal of multiple listeners, it's a separate code path. - http://git.io/cSkEng
23:27:55  * travis-cijoined
23:27:55  <travis-ci>[travis-ci] joyent/node#595 (master - dc75232 : Nathan Rajlich): The build is still failing.
23:27:55  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/1a97998...dc75232
23:27:55  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/876260
23:27:55  * travis-cipart
23:32:51  * mikealjoined
23:36:01  <TooTallNate>bnoordhuis: review? https://github.com/TooTallNate/node/compare/ee
23:36:41  * travis-cijoined
23:36:41  <travis-ci>[travis-ci] joyent/node#596 (master - 78dc13f : Ben Noordhuis): The build is still failing.
23:36:41  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/dc75232...78dc13f
23:36:41  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/876308
23:36:41  * travis-cipart
23:37:41  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
23:39:09  <bnoordhuis>TooTallNate: https://github.com/TooTallNate/node/commit/9d6fc26bbf1fa149d3bd683cf5e2444e46d1c31c#commitcomment-1091678
23:41:07  <TooTallNate>bnoordhuis good catch
23:41:09  <TooTallNate>one more time: https://github.com/TooTallNate/node/commit/2a11f9db3315fa373a0488bbe044c3b0e0e74228
23:41:55  <bnoordhuis>TooTallNate: add tests for the single and the multiple listeners cases
23:42:09  * travis-cijoined
23:42:10  <travis-ci>[travis-ci] joyent/node#597 (master - 761a82b : Ben Noordhuis): The build is still failing.
23:42:10  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/78dc13f...761a82b
23:42:10  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/876332
23:42:10  * travis-cipart
23:42:13  <bnoordhuis>you can steal the concept from my last commit
23:42:23  <bnoordhuis>otherwise, lgtm
23:43:21  <TooTallNate>ok will do
23:52:24  <TooTallNate>bnoordhuis: removeAllListeners() (with no args) will still destroy the arrays
23:53:17  <isaacs>why don't we want the EE listeners array to be lost?
23:53:25  <isaacs>what's that actually breaking?
23:54:11  <isaacs>oh, i guess it does look that way in the docs...
23:54:14  <TooTallNate>isaacs: it's rather minor; could have been a doc change instead. the problem is that the docs imply that you always get the same array
23:54:29  <isaacs>let's "fix" this by changing the docs, then
23:54:39  <isaacs>deleting an array is faster than emptying it
23:54:51  <isaacs>and we have some optimizations in there for a single listener, right?
23:54:54  <bnoordhuis>TooTallNate: i think the no-args of .removeAllListeners() was a mistake
23:55:00  <bnoordhuis>*no-args version
23:55:06  <TooTallNate>ya i agree :p
23:55:13  <TooTallNate>i've never used it at least
23:55:31  <bnoordhuis>maybe we should remove it altogether...
23:55:32  <TooTallNate>isaacs: ya there's optimizations for a single listener, to only be a string
23:55:40  <TooTallNate>instead of an array
23:55:49  <isaacs>function, you mean?
23:56:01  <TooTallNate>ya, that
23:56:03  <TooTallNate>:p
23:56:04  <isaacs>k
23:56:12  <bnoordhuis>isaacs: there's at least one place in node where we rely on that behavior
23:56:24  <isaacs>bnoordhuis: rely on it returning the same array?
23:56:26  <bnoordhuis>yes
23:56:33  <TooTallNate>isaacs: also, these changes only touch .removeListener() and removeAllListeners()
23:56:57  <TooTallNate>bnoordhuis: you mean the "keypress" thing?
23:57:06  <bnoordhuis>TooTallNate: yes
23:58:07  <bnoordhuis>any c or libuv gurus feel like reviewing this? https://github.com/bnoordhuis/libuv/compare/joyent:master...master
23:59:21  <TooTallNate>i think this is ready now: https://github.com/TooTallNate/node/commit/4e25172b57471c3ee8ef1d6a560ffaa47de6d7ef
23:59:39  <TooTallNate>(unless we're just gonna go with a doc change)
23:59:55  <bnoordhuis>mikeal: re euro nodeconf, i'm sure cloud9 would be happy to chip in