00:00:08  <bnoordhuis>in this case it worked though :)
00:00:26  <rmustacc>Yup, that's good.
00:08:31  * dmkbotquit (Remote host closed the connection)
00:08:38  * dmkbotjoined
00:34:25  * dmkbotquit (Remote host closed the connection)
00:34:38  * dmkbotjoined
00:34:38  * piscisaureusjoined
00:36:20  * piscisaureus_joined
00:56:50  <piscisaureus_>aha
00:56:53  <piscisaureus_>I'm back
00:58:11  <piscisaureus_>did you guys discuss anything important at the scrum call?
01:00:26  <igorzi>piscisaureus_: ryah -> working on ipc for unix; igorzi -> working on ipc for windows.. that's it :)
01:01:26  <piscisaureus_>ok
01:01:28  <piscisaureus_>thnx
01:02:39  <piscisaureus_>scheiße
01:02:47  <piscisaureus_>can't find my german sim card :-(
01:06:15  <bnoordhuis>sim karte, je doch?
01:10:31  <bnoordhuis>joe cocker in 1980 seriously looked like a klingon...
01:11:48  <piscisaureus_>mein sim karte is weg ja
01:12:02  <piscisaureus_>jetzt muß ich ein neues kaufen
01:12:38  <piscisaureus_>dan saugt mich ganz Affenkugeln
01:12:43  <piscisaureus_>*das
01:14:10  <piscisaureus_>außerdem, das heißt wahrscheinlich "Affeneier", und nicht "Affenkugeln"
01:15:17  <piscisaureus_>schon
01:15:32  <piscisaureus_>Güte nacht, freinde, es ist Zeit für mich zu gehen
01:15:46  <bnoordhuis>und ich!
01:15:54  <bnoordhuis>gruss gott, liebe freunde!
01:17:06  <piscisaureus_>Ja du ach bnoordhuis. Sagt mal hallo von much zu Ihren Mädel
01:17:26  <piscisaureus_>auch
01:17:49  <bnoordhuis>mache ich, herr belder
01:17:54  <bnoordhuis>und ihnen
01:23:59  * bnoordhuisquit (Ping timeout: 248 seconds)
01:45:19  * piscisaureus_quit (Ping timeout: 248 seconds)
01:46:31  * piscisaureusquit (Ping timeout: 255 seconds)
01:46:41  * dmkbotquit (Remote host closed the connection)
01:47:02  * dmkbotjoined
01:50:33  <ryah>igorzi: yes one reads stdin data and fds with uv_read2_start
01:53:19  * dmkbotquit (Remote host closed the connection)
01:53:29  * dmkbotjoined
02:06:59  * indexzeroquit (Ping timeout: 260 seconds)
02:24:00  * dmkbotquit (Remote host closed the connection)
02:24:08  * dmkbotjoined
02:27:51  * Casanquit (Quit: Leaving)
02:42:11  * dmkbotquit (Remote host closed the connection)
02:42:18  * dmkbotjoined
03:10:44  * erickt_joined
03:20:12  <pquerna>jebus
03:51:37  * dmkbotquit (Remote host closed the connection)
03:51:45  * dmkbotjoined
04:08:13  * dmkbotquit (*.net *.split)
04:08:13  * pquernaquit (*.net *.split)
04:08:15  * jmp0quit (*.net *.split)
04:08:16  * DrPizzaquit (*.net *.split)
04:11:57  * pquernajoined
04:11:57  * dmkbotjoined
04:11:57  * jmp0joined
04:11:57  * DrPizzajoined
04:12:01  * DrPizza_joined
04:12:04  * DrPizzaquit (Excess Flood)
04:20:33  * dmkbotquit (Remote host closed the connection)
04:20:42  * dmkbotjoined
04:30:16  * dmkbotquit (Remote host closed the connection)
04:30:21  * dmkbotjoined
04:31:52  * erickt_quit (Quit: erickt_)
04:40:41  * felixgejoined
04:51:39  * bradleymeckjoined
05:02:24  * dmkbotquit (Remote host closed the connection)
05:02:37  * dmkbotjoined
05:03:08  * dmkbotquit (Remote host closed the connection)
05:03:14  * dmkbotjoined
05:09:17  * dmkbotquit (Remote host closed the connection)
05:09:24  * dmkbotjoined
05:13:34  * bradleymeckquit (Ping timeout: 244 seconds)
06:30:24  * felixgequit (Quit: felixge)
06:31:27  * mralephjoined
07:22:22  * mralephquit (Quit: Leaving.)
07:42:38  * felixgejoined
07:42:39  * felixgequit (Changing host)
07:42:39  * felixgejoined
07:43:21  <CIA-53>node: koichik v0.4 * r49ac083 / test/simple/test-tls-pause.js : tls: Add test for #1775 - http://git.io/D_Nkew
07:43:21  <CIA-53>node: koichik v0.4 * r4cdf9d4 / lib/tls.js :
07:43:22  <CIA-53>node: tls: Improve TLS flow control
07:43:22  <CIA-53>node: Fixes #1775. - http://git.io/rn1hTg
08:12:09  <CIA-53>node: koichik master * r5300829 / doc/api/buffers.markdown :
08:12:09  <CIA-53>node: docs: Added missing parenthesis to buffer.readUInt8 example.
08:12:09  <CIA-53>node: Fixes #1790. - http://git.io/gnTOcw
08:21:46  * slurp1joined
08:21:46  * ryahtopic: v0.5.8 https://github.com/joyent/node/issues?milestone=5&state=open
08:29:36  * jmp0quit (*.net *.split)
08:29:37  * pquernaquit (*.net *.split)
08:29:38  * felixgequit (*.net *.split)
08:29:41  * indutnyquit (*.net *.split)
08:29:42  * ircretaryquit (*.net *.split)
08:29:42  * rmustaccquit (*.net *.split)
08:29:42  * ryahquit (*.net *.split)
08:29:43  * raggi_quit (*.net *.split)
08:29:44  * igorziquit (*.net *.split)
08:29:44  * slurpquit (*.net *.split)
08:29:45  * luxigoquit (*.net *.split)
08:29:46  * ericktquit (*.net *.split)
08:29:46  * CIA-53quit (*.net *.split)
08:40:55  * ryahjoined
08:40:55  * ircretaryjoined
08:40:55  * rmustaccjoined
08:40:55  * jmp0joined
08:40:55  * pquernajoined
08:40:55  * indutnyjoined
08:40:55  * felixgejoined
08:40:55  * igorzijoined
08:40:55  * luxigojoined
08:40:55  * ericktjoined
08:40:55  * CIA-53joined
08:41:04  * raggi_joined
08:41:20  * DrPizza_quit (Excess Flood)
08:41:57  * DrPizzajoined
08:42:36  * dmkbotquit (Remote host closed the connection)
08:42:46  * dmkbotjoined
09:46:32  * bnoordhuisjoined
10:23:29  * bnoordhuisquit (Ping timeout: 258 seconds)
10:57:41  * piscisaureusjoined
11:20:47  * piscisaureusquit (Ping timeout: 248 seconds)
12:41:59  * dmkbotquit (Remote host closed the connection)
12:42:12  * dmkbotjoined
14:14:31  * erickt_joined
14:50:14  * piscisaureusjoined
15:18:41  * piscisaureusquit (Ping timeout: 258 seconds)
15:23:16  * erickt_quit (Quit: erickt_)
15:50:12  * felixgequit (Quit: felixge)
15:54:56  * felixgejoined
15:55:07  * felixgequit (Changing host)
15:55:07  * felixgejoined
15:56:06  * felixgequit (Client Quit)
16:07:54  <ryah> /names
16:10:37  <ryah>erickt: nice patch!
16:15:31  * piscisaureusjoined
16:21:53  <indutny>ryah: https://plus.google.com/115094562986465477143/posts/Di6RwCNKCrf
16:21:57  <indutny>you're on Y combinator
16:22:04  <indutny>heh
16:25:53  <ryah>indutny: :P
16:26:04  <indutny>time to work on uv_uptime()
16:26:17  <indutny>sorry, just got a free time to dig into windows support for it
16:26:37  <indutny>ryah: if you've any other priority things that can be assigned to me - feel free to ping me
16:26:39  <indutny>;)
16:27:13  * piscisaureusquit (Read error: Connection reset by peer)
16:27:22  <ryah>indutny: we also need new bindings in node for the platform stuff once you get the libuv patches landed
16:27:37  * piscisaureusjoined
16:27:38  <indutny>ryah: k
16:27:50  <indutny>I'll finish uv_now on windows and start working on next 'os' thing
16:29:37  <DrPizza>indutny: using the perf data crap?
16:29:44  <indutny>DrPizza: yes
16:29:51  <indutny>going to just copy-paste that japaneese code
16:29:55  <indutny>and see how it's working
16:30:10  <indutny>than I'll refactor it
16:30:13  <DrPizza>heh
16:30:15  <indutny>and put comments
16:30:26  <indutny>can't see any license nor copyrights in that file
16:30:36  <DrPizza>that means it's copyright protected and you can't copy it.
16:31:03  <DrPizza>you don't need explicit indication of copyright to protect works in berne convention countries (i.e. most or all of them)
16:31:04  <indutny>DrPizza: where have you seen any copyrights? :)
16:31:06  <DrPizza>it's implicit and automatic.
16:31:10  <indutny>ah
16:31:16  <indutny>ok, so I'll just see how it works
16:31:20  <indutny>and implement same in libuv
16:31:25  <ryah>indutny: :/ you cannot copy code into libuv
16:31:31  <DrPizza>well there's the humdinger
16:31:34  <DrPizza>if you follow it too closely
16:31:39  <DrPizza>you've just written a derived work :)
16:31:39  <indutny>oh crap
16:31:42  <indutny>:D
16:31:47  <indutny>kk
16:31:50  <indutny>I'll write it myself
16:32:05  <indutny>and I swore - I'll damn winapi many many times
16:32:08  <ryah>indutny: the CLA you signed says that too -_-
16:32:27  <indutny>ryah: )
16:44:17  <piscisaureus>indutny: it's not gonna be uv_now I hope?
16:44:24  <piscisaureus>you mean uv_uptime
16:44:27  <indutny>piscisaureus: oh
16:44:28  <indutny>sorry
16:44:30  <indutny>of course
16:44:33  <piscisaureus>I will not let you hack uv_now:-)
16:44:37  <indutny>hahaha :)
16:44:44  <piscisaureus>nvm - just checkin'
16:45:32  <indutny>do you guys know band "Porcupine Tree" ? :)
16:52:45  * piscisaureusquit (Read error: Connection reset by peer)
17:00:13  * piscisaureusjoined
17:04:47  * piscisaureusquit (Ping timeout: 248 seconds)
17:09:32  <igorzi>what do people think about this: https://github.com/koush/node/wiki/%22async%22-support-in-node.js ?
17:10:14  <ryah>igorzi: not javascript
17:10:26  <ryah>igorzi: :)
17:10:54  <igorzi>ryah: yeah, i'm not disputing that :).. just want to know what people think about that pattern
17:11:06  <DrPizza>looks decent
17:11:12  <DrPizza>and it handles exceptions properly it says?
17:11:14  <ryah>igorzi: i think the so called "CPS transform" is a good idea when it doesn't involve multiple call stacks
17:13:07  <DrPizza>I think async/await is almost essential
17:13:20  * ryahshrugs
17:13:32  <ryah>maybe
17:13:35  <DrPizza>or some equivalent mechanism
17:14:58  <ryah>i dont have enough experience with it to have a real opinion. i'm rather worried about such complexities
17:15:15  <indutny>heh
17:15:21  <ryah>i think they tend to get out of hand rather quickly and ultimately complicatating the programming model
17:15:37  <indutny>that's only for high-level
17:15:45  <indutny>no place for it in core, definitely
17:15:49  <indutny>and I don't like it
17:16:02  <indutny>I don't like any AST processors, though
17:16:15  <ryah>this thing - certainly not. I just mean for programming in general
17:16:52  <ryah>node is javascript - and v8 defines what javascript is. so we don't need to worry about this.
17:17:04  <igorzi>ryah: when you say "when it doesn't involve multiple call stacks", you mean - the debugger would include some extra mechanism to preserve stacks?
17:17:42  <ryah>igorzi: like coroutines - so that when you're "blocked" on a call you're actually handling other events
17:18:10  <ryah>(quotes around blocked because this is all done in a single thread)
17:19:24  <ryah>there are multiple ways of providing this "wait" mechanism - some complex - like coroutines where you longjmp into other call stacks
17:20:05  <ryah>and some relatively simple - where you just rewrite the code somehow to put the code following the call into a callback
17:20:22  <DrPizza>right
17:20:35  <DrPizza>the complex part is exceptoin handlers
17:20:45  * isaacsjoined
17:22:06  * erickt_joined
17:26:41  <igorzi>i still don't really have a strong opinion on this (probably because i haven't written a complex project in javascript yet), but it seems like providing some optional syntactic sugar to deal with async pattern could be useful (as long as this sugar just rewrites the code)
17:29:17  <rmustacc>Having written stuff where you need to do this, I don't see much value in it.
17:30:04  <DrPizza>having written clallback heavy code, I hate not being able to write in a straight-through coding style
17:30:19  <rmustacc>I don't like maigc though.
17:30:22  <rmustacc>*magic
17:30:35  <rmustacc>And having code automatically being rewritten feels like that.
17:30:58  <rmustacc>Mostly just beacuse of how it looks being so different from what it turns into.
17:31:59  <CIA-53>node: Ryan Dahl master * r4980686 / test/pummel/test-net-write-callbacks.js :
17:32:00  <CIA-53>node: Add test from v0.4 dea49e3
17:32:00  <CIA-53>node: Note this test completes in 3 seconds on v0.4 and 7 minutes on master. NOT
17:32:00  <CIA-53>node: GOOD. - http://git.io/3D3mIw
17:32:02  <ryah>^-- Not good.
17:32:06  <CIA-53>node: Ryan Dahl v0.4 * r007ddcd / (2 files in 2 dirs):
17:32:07  <CIA-53>node: Move test-net-write-callbacks to pummel
17:32:07  <CIA-53>node: Runs in 3 seconds. - http://git.io/gDKBTQ
17:34:12  <ryah>this is basically exercising a particular hot path optimization we have in v0.4
17:34:18  <ryah>which is not in net_uv.js yet
17:35:10  <indutny>ryah: don't forget about this ;) https://github.com/joyent/node/pull/1800
17:37:56  <ryah>indutny: thanks, i forgot
17:38:03  <indutny>ryah: np
17:38:07  <indutny>that's my job
17:38:08  <indutny>:P
17:38:29  <indutny>http://msdn.microsoft.com/en-us/library/windows/desktop/aa373157(v=vs.85).aspx
17:38:44  <indutny>Y U R so stupid!
17:38:48  <indutny>heh
18:10:21  <indutny>very interesting
18:10:42  <indutny>looks like I need to find localized version of `System Up Time` string
18:10:49  <indutny>and only then I'll be able to lookup it's value
18:10:53  <indutny>http://support.microsoft.com/kb/287159/en
18:11:08  * brsonjoined
18:21:01  <CIA-53>libuv: Ryan Dahl ipc * rdedf51c / (6 files in 4 dirs): wip - http://git.io/pZY7kw
18:21:01  <CIA-53>libuv: Ryan Dahl ipc * r7777833 / (include/uv-private/uv-unix.h src/unix/tty.c test/test-tty.c): unix: allow tty raw mode to be turned off - http://git.io/57JoeA
18:21:16  <ryah>shit.. wrong branch
18:21:42  <ryah>force pushing on ipc
18:21:57  <CIA-53>libuv: Ryan Dahl master * r153d3c7 / (include/uv-private/uv-unix.h src/unix/tty.c test/test-tty.c): unix: allow tty raw mode to be turned off - http://git.io/nWwv4w
18:31:12  * luxigo_joined
18:47:44  <raggi_>why does uv_close (and other functions) take a callback argument, when there's already a callback member in the handle struct?
18:48:56  <ryah>raggi_: to remind you to set it :)
18:49:03  <raggi_>srsly
18:49:12  <raggi_>ryah: so if i supply one, it sets it?
18:49:20  <ryah>yes
18:49:24  <raggi_>i.e. they're the same?
18:49:24  <raggi_>cool
18:49:29  <raggi_>is that the general pattern?
18:49:46  <ryah>https://github.com/joyent/libuv/blob/e53d125d5cdc20fe6ec212e30ea9712250041394/src/unix/core.c#L75
18:49:53  <ryah>mm.. i wouldn't say that
18:50:30  <raggi_>i'd love for there to only be one variable per value
18:50:47  <raggi_>i guess you have a reason
18:51:08  <ryah>what do you mean?
18:51:10  <raggi_>guessing it's convenience for when you re-use handles?
18:51:57  <raggi_>owait, i think i'm being a retard
18:52:17  <ryah>i suppose that parameter could be removed - it's a bit redundant
18:54:32  <raggi_>right
18:54:49  <raggi_>i thought for a moment that maybe i wasn't supposed to be allocating handles, but i should be
18:55:04  <raggi_>(i'm kinda implementing top down through uv.h at the moment, so I don't have any "working" handles yet)
18:56:11  <ryah>yeah, you need to alloc them
18:56:20  * raggi_nods
18:58:01  <raggi_>do I need to "zero" out all fields when I allocate, or will appropriate bits be done by recievers? (for example the write_queue_size member on uv_stream_t)
19:03:13  <ryah>no
19:03:19  <ryah>_init functions will do that
19:13:45  * isaacsquit (Quit: isaacs)
19:30:46  * isaacsjoined
19:32:37  * isaacsquit (Client Quit)
19:32:53  * felixgejoined
19:32:53  * felixgequit (Changing host)
19:32:53  * felixgejoined
19:33:33  * isaacsjoined
19:41:31  * luxigo_quit (Ping timeout: 252 seconds)
19:42:02  * luxigo_joined
19:46:47  <indutny>I'm very close to getting that value
19:50:54  * isaacsquit (Quit: isaacs)
20:15:09  <CIA-53>node: Ryan Dahl master * rd1e6a13 / (94 files in 16 dirs): Upgrade libuv to fe18438 - http://git.io/5l1-pQ
20:15:09  <CIA-53>node: Ryan Dahl master * r4e43afd / src/node.cc : Fixes #1805. Reset TTY mode on exit. - http://git.io/fed-0A
20:17:11  <indutny>ryah: great!
20:17:17  <indutny>no more tty problems on linux
20:17:18  <indutny>?
20:19:30  * felixgequit (Quit: felixge)
20:22:05  * isaacsjoined
20:22:07  <ryah>indutny: that should fix it
20:22:15  <ryah>indutny: let me know if it doesn't
20:22:19  <indutny>k
20:24:52  <CIA-53>node: Fedor Indutny master * r360ce52 / (lib/_debugger.js test/simple/test-debugger-repl.js):
20:24:52  <CIA-53>node: debugger: watch, unwatch, watchers
20:24:52  <CIA-53>node: Fixes #1800. - http://git.io/xHHKQw
20:24:59  <indutny>great
20:26:06  <indutny>ryah: yes! it works, thank you!
20:26:38  <CIA-53>libuv: Ryan Dahl master * rfe18438 / (include/uv.h src/unix/tty.c src/win/tty.c): add uv_tty_reset_mode() - http://git.io/2dz8tw
20:27:00  <ryah>okay - im releasing v0.5.8 now
20:30:28  <indutny>woot
20:42:40  <ryah>igorzi: is this known:
20:42:42  <ryah>[% 0|+ 6|- 1]: tcp_writealot
20:42:42  <ryah>`tcp_writealot` failed: timeout
20:42:42  <ryah>Output from process `tcp_writealot`: (no output)
20:42:42  <ryah>Output from process `tcp_writealot`:
20:42:44  <ryah>Assertion failed in test\test-tcp-writealot.c on line 90: uv_last_error(uv_defau
20:42:47  <ryah>lt_loop()).code == UV_EOF
20:42:49  <ryah>=============================================================
20:43:40  <ryah>oh it just happened that once...
20:45:20  <indutny>oh
20:45:34  <indutny>Looks like I'm completely missing something
20:47:28  <indutny>DrPizza: Do you know what is "Counter 009" ?
20:47:47  <DrPizza>no, but there's a way of getting the counter names from the numbers
20:48:00  <indutny>yes
20:48:05  <indutny>that's what I'm doing
20:48:11  <DrPizza>oh
20:48:12  <DrPizza>huh
20:48:13  <indutny>and I'm getting about 70kb of data
20:48:13  <DrPizza>I dunno
20:48:28  <indutny>but I can read only two first (reserved) strings from it
20:48:31  <indutny>while need more ;)
20:48:38  <indutny>heh :)
20:50:02  <ryah>http://tinyclouds.org/msvs-node.png
20:50:05  <ryah>oh the fun!
20:50:32  <indutny>hahaha
20:50:45  <indutny>ryah: so we're on one circle of hell now
21:06:11  <isaacs>hey, what's the status of fs.symlink and fs.readlink on windows?
21:06:32  <isaacs>are they going to be just not supported, or added later, or added already?
21:07:08  <igorzi>added already. fs.symlink only works when running elevated
21:09:25  <isaacs>ok, great
21:10:09  <isaacs>igorzi: windows doesn't have any kind of #! support for scripts does it?
21:10:26  <isaacs>i suppose it couldn't, or it wouldn't work most of the time anyway, since there's no /usr/bin/env
21:10:40  <ryah>igorzi: no
21:10:42  <ryah>er
21:10:44  <ryah>isaacs: no
21:10:49  <isaacs>ok
21:11:17  <ryah>igorzi: what about XP - how does it do symlinks?
21:13:23  <ryah>http://nodejs.org/dist/v0.5.8/node-v0.5.8-rc1.tar.gz <-- please test this
21:13:28  <DrPizza>it doesn't
21:13:41  <ryah>what does fs.symlink do on XP?
21:13:45  <DrPizza>noop
21:14:13  <ryah>so npm cannot use that
21:15:19  <ryah>igorzi: isaacs: --^
21:15:24  <isaacs>yep
21:15:56  <igorzi>ryah: on xp we could do junction points, but we punted on that (at least for now)
21:16:39  <isaacs>when we get junctions on xp node.exe, i think i'll be able to do the `npm link` command
21:17:02  <igorzi>junction points only support directories..
21:17:15  <isaacs>right
21:17:20  <isaacs>npm link only links directories :)
21:17:44  <igorzi>ok.. so we should do junction points then :)
21:18:02  <isaacs>i'm going to have to shim executable files with a .cmd script anyway, since there's no shebang support on windows
21:19:39  <DrPizza>ugh
21:19:39  <DrPizza>junctions have seriously different semantics to symlinks
21:19:53  <DrPizza>it's really not nice to create them
21:20:10  <isaacs>i'd really rather not have a noop function on fs.
21:20:24  <isaacs>i can test for symlink support by checking if fs.symlink exists or not
21:20:38  <isaacs>imo, it'd be better if fs.symlink and fs.readlink just were missing on x
21:20:39  <isaacs>*xp
21:21:01  <isaacs>DrPizza: what's the different in semantics for junctions?
21:21:06  <isaacs>are they more like a hardlink?
21:21:10  <DrPizza>if you delete a symlink it deletes the symlink
21:21:19  <DrPizza>if you delete a junction it destroys everything referenced by the junction
21:21:22  <isaacs>right
21:21:27  <isaacs>so it's like a hardlinked directory
21:21:31  <DrPizza>this makes for a rather nasty gotcha
21:21:34  <isaacs>if you rm -r it, then it deletes the contents.
21:21:45  <isaacs>can you "un-junction" it?
21:21:47  <DrPizza>well, hardlinking isn't allowed for directories by default, so I don' tkno whow they behave :)
21:21:52  <DrPizza>yes, you can destroy the junction
21:22:00  <DrPizza>it's just a matter of what happens magically
21:22:09  <DrPizza>symlinks do basically the right thing by default
21:22:12  <isaacs>you can hardlink directories at the lower levels, i'm told, but it's beyond stupid.
21:22:15  <igorzi>isaacs: what npm functionality do we lose without using symlink?
21:22:15  <DrPizza>junctions do something basically disastrous by default
21:22:17  <isaacs>there's a reason the ln program won't do it
21:22:22  <isaacs>igorzi: npm link
21:22:42  <igorzi>isaacs: how often is it used?
21:22:50  <isaacs>igorzi: i use it constantly
21:22:54  <isaacs>it's a super handy dev tool
21:23:02  <igorzi>isaacs: k
21:23:03  <isaacs>if you develop a lot of node modules, it's pretty amazingly helpful
21:23:19  <isaacs>i'm ok with saying it's not supported on xp, but then i need some way to detect that.
21:23:20  <ryah>im strongly of the opinion that npm should not use symlinks
21:23:32  <isaacs>ryah: i know, and it doesn't, except for bins and npm link
21:23:49  <isaacs>ryah: you're also of the opinion that people shouldn't use npm to install executables in their PATH.
21:24:01  <indutny>aaaaarrgrhr!
21:24:07  <ryah>yes
21:24:09  <indutny>god damn those msdn writers
21:24:24  <isaacs>ryah: sorry, that horse has left the stable already.
21:24:26  <indutny>why they said that strings will be wchars
21:24:34  <indutny>they was just chars
21:25:36  <isaacs>also, npm link rocks and is awesome and i <3 it so hard.
21:25:51  <indutny>isaacs: +1
21:26:04  <isaacs>dramatically reduces the overhead of developing several node modules.
21:26:09  <isaacs>that all use each other
21:26:19  <ryah>cp -r
21:26:29  <isaacs>ryah: *10*10-
21:26:43  <isaacs>ryah: i have about 15 modules that use node-tap. linking to the folder is way simpler.
21:28:31  <igorzi>ryah: isaacs: so, you will have a solution for bins, right? (by shimming), only "npm link would not work"?
21:28:59  <isaacs>igorzi: yes.
21:30:31  <igorzi>i don't know.. maybe don't support "npm link" initially, and see if people complain. even if you do the detection, fs.symlink on vista+ will only work if people run npm in elevated cmd.exe
21:30:44  <isaacs>igorzi: i'm reading the shebang line, and creating a .cmd file.
21:30:59  <isaacs>you can't symlink as a normal user...?
21:31:03  <isaacs>oh, you said that before
21:32:12  <DrPizza>no, you cannot
21:32:36  <isaacs>k, i'm gonna just have link fail on win32 for now, then
21:33:02  <isaacs>if we remove fs.symlink/readlink on xp, then npm can feature-detect, and it'll just fail with EACCES or whatever if you're not elevated.
21:33:10  <isaacs>but that can be a later thing
21:33:26  <isaacs>ryah: npm tests pass on 0.5.8
21:33:28  <isaacs>os x
21:34:11  <ryah>isaacs: great, thanks
21:44:27  <isaacs>igorzi: http://github.com/isaacs/npm/commit/68441953c74415efa1751ae94dee05b2fd8dfbf5
21:44:38  <isaacs>(enotsup on windows from npm link)
21:45:15  * dmkbotquit (Remote host closed the connection)
21:45:21  * dmkbotjoined
21:45:28  <igorzi>isaacs: lgtm
21:45:53  * dmkbotquit (Remote host closed the connection)
21:45:57  * dmkbotjoined
21:46:17  <DrPizza>oh yeah
21:46:29  * dmkbotquit (Remote host closed the connection)
21:46:33  <DrPizza>isaacs: that reminds me why it's a noop rather than using feature detection
21:46:34  * dmkbotjoined
21:46:42  <DrPizza>so that the callback still fires
21:46:59  <isaacs>DrPizza: yeah, but if it's missing, then you don't even get to that point
21:47:05  <isaacs>calling the cb without an error means that it worked
21:47:06  <isaacs>that's a lie
21:47:06  * dmkbotquit (Remote host closed the connection)
21:47:10  * dmkbotjoined
21:47:15  <isaacs>better to throw when you *try* to make the call
21:47:25  <DrPizza>no, better to call the callback with an error
21:47:42  <isaacs>if it's a function, then it needs to call the cb with an error
21:47:42  <isaacs>yes
21:47:43  * dmkbotquit (Remote host closed the connection)
21:47:49  * dmkbotjoined
21:48:21  * dmkbotquit (Remote host closed the connection)
21:48:30  * dmkbotjoined
21:48:56  <isaacs>i still think it'd be better to just not have the function there, so you can abort earlier. but calling the cb with an ENOTSUP is better than calling it without an error, and telling the user it worked, so that their program expects there to be a symlink there now
21:49:02  * dmkbotquit (Remote host closed the connection)
21:49:08  * dmkbotjoined
21:49:40  * dmkbotquit (Remote host closed the connection)
21:49:45  * dmkbotjoined
21:50:17  * dmkbotquit (Remote host closed the connection)
21:50:26  * dmkbotjoined
21:50:59  * dmkbotquit (Remote host closed the connection)
21:51:03  * dmkbotjoined
21:51:35  * dmkbotquit (Remote host closed the connection)
21:51:39  <isaacs>is there an environ in windows that corresponds to $SHELL?
21:51:40  * dmkbotjoined
21:52:03  <isaacs>ComSpec?
21:52:12  * dmkbotquit (Remote host closed the connection)
21:52:18  * dmkbotjoined
21:52:25  <DrPizza>I'm not sure what sets comspec
21:52:44  <DrPizza>does cmd set it, or is it part of the global environment
21:52:50  * dmkbotquit (Remote host closed the connection)
21:52:55  * dmkbotjoined
21:53:27  * dmkbotquit (Remote host closed the connection)
21:53:34  * dmkbotjoined
21:53:52  <igorzi>it's one of preset system env. variables
21:54:06  * dmkbotquit (Remote host closed the connection)
21:54:10  * dmkbotjoined
21:54:14  <DrPizza>so even if you rnu node.exe from explorer, comspec is set?
21:54:43  * dmkbotquit (Remote host closed the connection)
21:54:46  * dmkbotjoined
21:54:46  <igorzi>yeah, it should be
21:55:06  <isaacs>it is on my system
21:55:19  * dmkbotquit (Remote host closed the connection)
21:56:14  <ryah>% ./node test/simple/test-debugger-repl.js
21:56:15  <ryah>AssertionError: /break in .*:3/
21:56:39  <ryah>^-- indutny
21:56:46  <indutny>oh fck
21:56:47  <indutny>:P
21:56:54  <indutny>k
21:56:56  <ryah>sometimes i get
21:56:56  <ryah>% ./node test/simple/test-debugger-repl.js
21:56:57  <ryah>Error: timeout!
21:57:03  <indutny>hm...
21:57:22  <indutny>There is a problem with v8 debugger
21:57:32  <indutny>sometimes it's not going to break on program start
21:58:21  <isaacs>ok, i think we've got 100% npm command coverage on windows now.
21:58:27  <isaacs>minus completion and link
21:58:50  <isaacs>just need to come up with some kind of one-liner install, like an msi or somethign
21:58:59  <DrPizza>what does completion do?
21:59:04  <DrPizza>oh tab completion?
21:59:10  <isaacs>DrPizza: yeah
21:59:30  <isaacs>does cmd.exe support some kind of programmable tab-completion? i'd love to add that.
22:00:33  <DrPizza>no
22:00:59  <isaacs>k, enotsup it is, then
22:02:03  <ryah>raggi_: is igrigorik on irc?
22:02:11  <raggi_>i'm not sure
22:02:24  <raggi_>he's aroudn the conf somewhere though
22:02:24  <raggi_>(rubyconf)
22:02:36  <raggi_>do you guys support pipelining HEAD ?
22:02:50  <ryah>oh - well if you tell him to come here i can help with the http-parser problem - i can't really follwo the twitter discussion
22:03:03  <ryah>pipelining head.. yes i think so
22:05:28  <ryah>raggi_: haha - i guess i could have replied on twitter :)
22:05:30  <ryah>thansk
22:05:35  <raggi_>hehe
22:05:39  <indutny>yeaah!!!
22:05:42  <raggi_>i'm not sure what room he's in
22:05:44  <indutny>I implemented uv_uptime
22:05:50  <raggi_>:)
22:05:50  <ryah>indutny++
22:06:05  <raggi_>i almost have tcp_bind working
22:06:07  <ryah>indutny: what time is it there?
22:06:13  <indutny>5 am
22:06:16  <indutny>:)
22:06:17  <indutny>https://github.com/joyent/libuv/pull/203
22:06:20  <ryah>indutny++
22:06:36  <ryah>indutny: i will wait until after the release to merge
22:06:37  <indutny>hm... dunno why
22:06:44  <rmustacc>The double on that still bohters me, but that' just me.
22:06:47  <indutny>pull request wasn't updated yet
22:07:01  <ryah>oh yeah, i don't like the double either
22:07:04  <ryah>int64_t
22:07:16  <indutny>ok
22:07:19  <indutny>with next commit
22:07:34  <rmustacc>indutney: Thanks
22:07:53  <ryah>i love how the llvm instruction set does integers
22:07:56  <rmustacc>ryah: When that lands we should look at the way we're doing it on SunOS.
22:08:06  <rmustacc>I don't think we need to use kstats.
22:08:13  <rmustacc>Neither our uptime program or guptime does.
22:08:17  <ryah>http://llvm.org/docs/LangRef.html#t_integer
22:08:53  <ryah>^-- :P~
22:09:19  <indutny>is it ok to convert double to uint64_t ?
22:09:23  <indutny>and how to do it?
22:09:30  <indutny>(uint64_t) 10.5
22:09:43  <rmustacc>Does someone have a double?
22:09:57  <rmustacc>That's not really something you want to do.
22:10:10  <indutny>rmustacc: all *nixes has
22:10:22  <rmustacc>I thought most of them weren't.
22:10:25  <rmustacc>Let me look at the code again, one sec.
22:10:29  <indutny>cat /proc/uptime
22:11:04  <rmustacc>Okay, that's a much more straightforward problem.
22:11:11  <rmustacc>First thing you have to do is say what is uptime in?
22:11:15  <rmustacc>Seconds, something else?
22:11:21  <indutny>seconds
22:11:30  <rmustacc>Also the code isn't using /proc/uptime.
22:11:41  <indutny>ryah: cygwin's code is using
22:11:55  <rmustacc>Ah, cygwin is.
22:12:02  <indutny>most of others use sysctl call
22:12:06  <rmustacc>Okay.
22:12:10  <indutny>KERN_BOOTTIME
22:12:18  <indutny>and it's in double too
22:12:19  <indutny>:)
22:12:25  <indutny>probably better leave double here?
22:12:40  <rmustacc>Huh, there's no double there.
22:12:44  <rmustacc>That's just being implicitly cast.
22:12:59  <rmustacc>struct timevals have no floating point components.
22:13:06  <indutny>hm...
22:13:08  <indutny>really?
22:13:11  <rmustacc>Yes, really.
22:13:45  <rmustacc>The <sys/time.h> header defines the timeval structure that includes at least the following members:
22:13:48  <indutny>long int ?
22:13:48  <rmustacc>time_t tv_sec seconds
22:13:50  <rmustacc>suseconds_t tv_usec microseconds
22:13:54  <rmustacc>http://pubs.opengroup.org/onlinepubs/7908799/xsh/systime.h.html
22:13:59  <indutny>is time_t typedef for a long int?
22:14:11  <indutny>ok, I'll do that
22:14:13  <rmustacc>Generally, it's a long. Yeah
22:14:21  <indutny>but will that work "(uint64_t) 1.5" ?
22:14:30  <indutny>I'm really not a great C specialist
22:14:40  <rmustacc>For the /proc/uptime case you want to read it in a different way.
22:14:49  <rmustacc>The value is foo.bar right?
22:14:56  <rmustacc>So read it as %d.%d.
22:15:03  <rmustacc>And then the other thing is that I imagine its seconds.subseconds.
22:15:07  <rmustacc>So you don't even want the second part, no?
22:15:22  <indutny>yes
22:15:30  <indutny>lets see
22:16:07  <rmustacc>The SunOS code looks iffy, but that can be my problem.
22:18:53  <rmustacc>Though at the least it's only doing integer arithmetic in it, so its actually fine.
22:19:10  <rmustacc>For the non-cygwin you probably just want to chop off the .0.
22:19:58  <indutny>rmustacc: https://github.com/joyent/libuv/pull/203
22:20:31  <indutny>my brain is going to melt, can I ask you to finish this thing?
22:20:51  <rmustacc>Well, right now github is kind of down for me, but I can try and look at doing something over the next few days.
22:21:26  <indutny>yep, for me too
22:21:34  <indutny>k
22:21:41  <indutny>probably I'll fix it by myself tomorrow
22:21:57  <indutny>thanks everyone :)
22:21:59  <indutny>ttyl
22:22:21  <ryah>dbus_connection_set_timeout_functions() *stab stab stab*
22:22:37  <rmustacc>Feel free to ping me to take a look at it if you want.
22:22:45  <indutny>k
22:22:55  <indutny>ryah: once github will go back live - check this out https://github.com/joyent/libuv/pull/203
22:23:10  <indutny>ryah: to see how awful windows api might be :P
22:23:24  <ryah>is github down?
22:23:32  <isaacs>ryah: it's kinda flopping a little today
22:23:34  <DrPizza>indutny: when i get home (next thursday or so) I might rewrite this to use PDH, as the code might be saner
22:23:39  <ryah>but how will all of us programmer socialize?
22:23:44  <indutny>DrPizza: heh
22:23:47  <indutny>DrPizza: not really
22:23:54  <DrPizza>PDH is better
22:23:59  <indutny>DrPizza: you'll need to find localized version of System Up Time
22:24:01  <DrPizza>at home I have many pieces of code that read perf data and PDH
22:24:03  <indutny>:P
22:24:13  <DrPizza>I just don't have any with me
22:24:28  <indutny>DrPizza: it's localization dependent
22:24:36  <indutny>DrPizza: that's why I refused to use it
22:24:56  <DrPizza>if you'r enot using us english you don't exist
22:25:04  <indutny>DrPizza: really?
22:25:14  <indutny>DrPizza: does all node.js users use windows with default en locale?
22:25:22  <indutny>I think no
22:25:24  <isaacs>indutny: no
22:25:26  <DrPizza>everyone uses windows with default en locale
22:25:28  <indutny>French, Germany
22:25:28  * isaacsquit (Quit: isaacs)
22:25:30  <indutny>Russia
22:25:42  <DrPizza>standardize on english
22:25:44  <indutny>DrPizza--
22:25:45  <DrPizza>it makes programming much easier
22:25:50  <indutny>:)
22:25:52  <DrPizza>and allows us to avoid all the complexity that ryah hates
22:26:00  <ryah>i agree
22:26:04  * igrigorikjoined
22:26:07  <ryah>programming should be done in english
22:26:13  <indutny>aarrgh
22:26:20  <indutny>I think you're missing the point
22:26:22  <DrPizza>lol
22:26:46  <indutny>PDH won't work if you're going to lookup "System Up Time" perf counter on non-us systems
22:26:50  <indutny>it won't just work
22:26:53  <indutny>even for a bit
22:27:02  <indutny>you'll need to translate it first
22:27:10  <indutny>that adds complexity
22:27:14  <indutny>not decreases it
22:27:32  <indutny>Windows 7 fixed that problem with some function like "LookupEnglishPerf..."
22:27:42  <indutny>but previous versions just have function like "LookupPerf"
22:27:47  <indutny>which is using default locale
22:27:52  <indutny>DrPizza: is that clear?
22:27:59  <DrPizza>what previous versions
22:28:05  <indutny>2000
22:28:09  <DrPizza>doesn't exist
22:28:13  <indutny>exist
22:28:19  <indutny>2003
22:28:25  <DrPizza>windows 7/2008 R2 are the only ones that exist
22:28:42  <indutny>use GetTickCount64() ;)
22:28:43  <igrigorik>ryah: what's the recommended approach for handling pipelined HEAD req's with node's parser? is it even possible? i'm running into a problem where if there is no body, i can't reset the parser to recognize the second response..
22:29:00  <DrPizza>indutny: haha, indeed
22:29:03  <indutny>DrPizza: it's supported by latest win
22:29:05  <ryah>igrigorik: serverside or client side?
22:29:08  <indutny>DrPizza: decrease complexity
22:29:15  <igrigorik>ryah: client
22:29:23  <indutny>DrPizza: but why I was fucking up with that winapis if we was able to use it!!!!
22:29:24  <indutny>:D
22:29:29  <DrPizza>indutny: yes, and make ryah happy!
22:29:35  <indutny>ryah: are you happy?
22:30:02  <indutny>DrPizza: stop trolling me :P
22:30:09  <DrPizza>lol
22:30:39  <indutny>github is up
22:30:41  <indutny>ryah: https://github.com/joyent/libuv/pull/203
22:30:48  <igrigorik>ryah: this is via the http_parser.rb wrapper, but quick example @ https://gist.github.com/05bf5df49899d45446bd
22:30:51  <ryah>igrigorik: are you properly setting the return value of on_headers_complete
22:31:04  <indutny>https://github.com/joyent/libuv/pull/203/files#L8R158
22:31:26  <ryah>igrigorik: if you sent a HEAD request, you should return a 1 in on_headers_complete
22:32:52  <igrigorik>ryah: ah, interesting. are there docs around this? I assume that'll reset the parser?
22:33:02  <ryah>igrigorik: HTTP really sucks - in the case of parsing responses - it's unclear from the incoming response stream if the response will ahve a body or not
22:33:08  <ryah>you don't know if it was from a head request
22:33:35  <ryah>igrigorik: https://github.com/joyent/http-parser/blob/c0ecab0516147401b5fd02a2272ebfb5dce8deb4/http_parser.h#L74-78
22:33:51  <igrigorik>yeah, fair enough. i can add some extra logic on top in the client..
22:35:43  <igrigorik>ryah: ok, looks like we need to extend http_parser.rb to pass that through.
22:36:20  <ryah>igrigorik: yeah
22:37:06  * isaacsjoined
22:41:58  <DrPizza>indutny: isn't 009 always populated, even for non-english systems?
22:42:02  <DrPizza>can't you add counters from there?
22:42:41  <DrPizza>ok bbl
22:51:52  <indutny>DrPizza: what do you mean?
22:51:59  <indutny>009 is english counter names
22:52:08  <indutny>it's number of english locale
22:52:49  <indutny>I'm getting table of counter names
22:53:04  <indutny>and then matching counters from "System" perf list
22:53:14  <indutny>against TitleIndex
22:53:20  <indutny>s/against/by
22:53:56  <indutny>bbl
22:53:59  <indutny>going to sleep
22:59:53  * igrigorikquit (Quit: igrigorik)
23:08:17  <ryah>i love dbus
23:08:21  <ryah>oh wait, no
23:09:48  <rmustacc>Are you seriously back in dbus hell?
23:11:20  * luxigoquit (Ping timeout: 258 seconds)
23:11:47  <ryah>yes
23:13:26  * luxigojoined
23:13:42  <ryah>how do you cancel an in-progress build in MSVS?
23:14:24  <ryah>sigh - you don't apparently
23:15:05  <ryah>if i do this for too many more years im going to become jaded.
23:17:07  <igorzi>ryah: Build -> cancel
23:17:36  <ryah>i dont have a build menu
23:18:04  <ryah>maybe that's a non-express feature :)
23:19:05  <rmustacc>ryah: I'm pretty sure we have msdn so you can get a non-express version.
23:19:36  <ryah>rmustacc: im purposely running express to make sure we build there
23:20:20  <igorzi>ryah: hmm, how do trigger the build?
23:20:30  <ryah>ctrl+shift+b
23:21:17  <igorzi>ryah: try to cancel with ctrl+break
23:21:31  <ryah>oh well - it's done now
23:21:35  <ryah>i'll try that next time :)
23:29:19  * isaacsquit (Read error: Connection reset by peer)
23:30:16  * isaacsjoined
23:33:05  <ryah>http://nodejs.org/dist/v0.5.8/node.exe
23:33:07  <ryah>^-- test please
23:33:56  <ryah>[01:00|% 100|+ 183|- 12]: Done
23:34:18  <ryah>^-- win7 python tools/test.py --libuv simple messages
23:34:49  <ryah>seem like not so bad failures
23:37:44  <igorzi>node.exe runs fine on my 64bit w2k8 box.. running tests
23:42:15  <igorzi>[03:01|% 100|+ 183|- 12]: Done
23:48:03  <ryah>thanks. publishing now.
23:48:13  <ryah>http://blog.nodejs.org/2011/09/30/node-v0-5-8/
23:49:40  <isaacs>ryah: yeah, colors definitely only work on stdout, not stderr