00:12:02  <dmkbot>joyent/node: kuebk: Unexpected behavior of console.log under certain condition - https://github.com/joyent/node/issues/1634
00:21:32  <bnoordhuis>piscisaureus: https://github.com/joyent/libuv/pull/174 <- Correct a preprocessor typo
00:21:44  <bnoordhuis>maybe merge that? seems to break stuff for xp3 people
00:21:55  <piscisaureus>more likely to break on gcc
00:21:58  <bnoordhuis>or rather mingw people
00:22:04  <bnoordhuis>yes :)
00:22:12  <piscisaureus>had luis signed the cla yet?
00:22:19  <piscisaureus>I remember that was an issue
00:22:23  <bnoordhuis>let me check that
00:22:47  <bnoordhuis>yes
00:23:05  <piscisaureus>allright
00:23:08  <piscisaureus>*alright
00:24:45  <DrPizza>piscisaureus: oh
00:24:54  <DrPizza>piscisaureus: I may have diagnosed why it's not making it a console program
00:25:07  <piscisaureus>bnoordhuis: lgtm. will land when my tree is clean again
00:25:14  <piscisaureus>DrPizza: nice
00:25:14  <DrPizza>piscisaureus: it may be that the change is only on my local branch
00:25:18  <bnoordhuis>piscisaureus: i can land it too, just not test it
00:25:18  <DrPizza>piscisaureus: :o
00:25:29  <piscisaureus>bnoordhuis: it's okay, land it
00:25:33  <bnoordhuis>cool
00:25:54  <piscisaureus>bnoordhuis: I could easily check by handl-applying :-)
00:26:05  <DrPizza>oh ffffffffffffffffffffffffffffffuuuuuuuuuuuuuuuuuuuuu
00:26:15  <piscisaureus>DrPizza: send me a patch
00:26:23  <piscisaureus>:-)
00:26:33  <DrPizza>yeah uh I just deleted a bunch of changes I made
00:26:44  <piscisaureus>git reflog?
00:26:55  <DrPizza>I git cleaned
00:26:56  <ryah>http://piscisaureus.no.de/ <-- this is SO COOL
00:27:14  <CIA-52>libuv: Luis Lavena master * r6422a14 / src/win/loop-watcher.c :
00:27:14  <CIA-52>libuv: windows: correct a preprocessor typo
00:27:14  <CIA-52>libuv: GCC chokes on ##name## concatenation (since . and prepare are invalid
00:27:14  <CIA-52>libuv: tokens) - http://git.io/PYYRGg
00:27:20  <piscisaureus>ryah: huh, you just found out?
00:27:30  <ryah>i didn't see it yet
00:27:35  <DrPizza>come on previous versions
00:27:36  <DrPizza>save me
00:27:59  <DrPizza>yessssssssssssssss
00:28:01  <DrPizza><3 previous versions
00:28:02  <ryah>piscisaureus: can i post it on twitter?
00:28:09  <piscisaureus>yeah sure
00:28:18  <piscisaureus>if you pay for the bandwidth
00:29:22  <ryah>:)
00:29:35  <ryah>no websocket connection?
00:29:37  <ryah>boo
00:30:06  <bnoordhuis>haha, give them a finger
00:30:48  <piscisaureus>ryah: oh
00:30:49  <piscisaureus>easy
00:30:59  <piscisaureus>but this was really a sunday evening project
00:31:11  <piscisaureus>maybe I'll find another sunday evening
00:31:44  <CIA-52>node: Ben Noordhuis master * r0df8ffe / (8 files in 3 dirs): uv: upgrade to 6422a14 - http://git.io/dDpyjg
00:39:17  <dmkbot>joyent/node: ry: test/pummel/test-https-large-response.js 5-10x slower with --use-uv - https://github.com/joyent/node/issues/1643
00:39:43  <piscisaureus>ryah: did you figure out the https-large-response problem?
00:39:47  <dmkbot>joyent/node: ry: test/pummel/test-https-large-response.js 5-10x slower with --use-uv - https://github.com/joyent/node/issues/1643
00:39:58  <piscisaureus>ryah: On windows it doesn't happen
00:40:02  <dmkbot>joyent/node: ry: test/pummel/test-https-large-response.js 5-10x slower with --use-uv - https://github.com/joyent/node/issues/1643
00:40:06  <piscisaureus>I found another problem on windows
00:40:11  <piscisaureus>but it's related to v8
00:40:25  <piscisaureus>the actual cargo runs very fast
00:40:32  <dmkbot>joyent/node: ry: test/pummel/test-https-large-response.js 2x slower with --use-uv - https://github.com/joyent/node/issues/1643
00:40:34  <ryah>piscisaureus: no
00:40:37  * dmkbotquit (Remote host closed the connection)
00:41:07  <ryah>piscisaureus: i created an issue for it so we can update it as we find more stuff
00:41:33  <piscisaureus>ryah: it seems that under certain circumstances writing a large utf8 cons string to a buffer is extremely stupid
00:41:37  * dmkbotjoined
00:41:39  <piscisaureus>because v8 behaves very stupid
00:41:58  <piscisaureus>but what I'm seeing on linux seems to be related to uv
00:42:36  <ryah>yeah
00:42:51  <ryah>im more concerned about the uv problem than v8 being stupid
00:43:09  <piscisaureus>v8 being stupid concerns me, but I think they will fix it :-)
00:45:42  <CIA-52>node: Igor Zinkovsky master * ree048aa / src/node_file.cc : fix async readdir - http://git.io/44DZyg
00:45:42  <CIA-52>node: Igor Zinkovsky master * ra3d7782 / src/node_file.cc : enable missing fs functions on windows - http://git.io/78enow
00:46:16  <piscisaureus>it turns out that when you use += to build a string v8 creates a structure like this
00:46:16  <piscisaureus>. / CONS \
00:46:16  <piscisaureus>. string / CONS \
00:46:16  <piscisaureus>. string / CONS \
00:46:16  <piscisaureus>. string / CONS \
00:46:17  <piscisaureus>. string CONS etc.
00:46:17  <piscisaureus>Then it writes to the buffer in 1k chunks. But for every 1k chunk it traverses the entire cons string from end to start
00:46:49  <ryah>hm
00:47:01  <ryah>that sucks
00:47:03  <bnoordhuis>why does it do that?
00:47:24  <bnoordhuis>alternatively: where in v8 is that code?
00:47:42  <piscisaureus>bnoordhuis: it's very scattered
00:48:30  <piscisaureus>bnoordhuis: let me show you the call chain
00:49:07  <piscisaureus>...
00:49:58  <bnoordhuis>that's an... unusual call chain
00:50:08  <piscisaureus>just a sec, compiling it again
00:50:25  * isaacsjoined
00:50:35  <bnoordhuis>btw, are we going to do node.php tomorrow?
00:50:45  <piscisaureus>heh
00:50:48  <piscisaureus>sounds fun
00:51:58  <piscisaureus>linking v8 with ltcg takes a long time
00:52:03  <DrPizza>yep
00:52:20  <dmkbot>joyent/node: Pita: Can't do process.on('SIGINT' with 0.5.4 on windows - https://github.com/joyent/node/issues/1553
00:52:26  <DrPizza>piscisaureus: this does the trick for me, btw: https://github.com/DrPizza/node/commit/2f95146caa8681e3ac5ffe9d8c908f2b3aebfca8
00:53:12  <piscisaureus>DrPizza: can you submit this as a pull request
00:53:15  <piscisaureus>so I do not forget?
00:53:28  <piscisaureus>or even better, an issue :-)
00:53:36  <DrPizza>not readily, I'll make an issue that links to the commit instead
00:54:50  <dmkbot>joyent/node: DrPizza: gyp's build files don't set the subsystem to console - https://github.com/joyent/node/issues/1644
00:55:27  <igorzi>bnoordhuis: yeah, i'll be doing uv_fs_readlink for windows
00:55:50  <dmkbot>joyent/node: kuebk: Unexpected behavior of console.log under certain condition - https://github.com/joyent/node/issues/1634
00:56:00  <bnoordhuis>igorzi: okay, cool - i was just working on the unix side
01:00:26  <DrPizza>igorzi: readlink shouldn't use GetFinalPathNameByHandle
01:00:44  <DrPizza>it should open the reparse point and read the reparse data
01:00:57  <piscisaureus>I think DrPizza is right
01:01:02  <piscisaureus>no recusive resolution
01:01:09  <DrPizza>GetFinalPathNameByHandle fails if you can't open the symlink
01:01:11  <piscisaureus>bnoordhuis: https://gist.github.com/1192046
01:01:14  <DrPizza>e.g. create a symlink to pagefile.sys
01:01:17  <DrPizza>can't open it
01:01:21  <DrPizza>so can't GetFinalPathNameByHandle
01:02:12  <bnoordhuis>piscisaureus: one more in the unix vs windows cripple fight: pathconf(_PC_PATH_MAX) can return -1 to indicate that there's no upper limit to path lengths...
01:02:28  <piscisaureus>hahahahahaha
01:02:34  <piscisaureus>Linux is dying
01:02:42  <piscisaureus>or rather, unix
01:02:55  <DrPizza>bnoordhuis: because letting people write malloc(pathconf(_PC_PATH_MAX)) would make things too easy?
01:03:26  <bnoordhuis>DrPizza: yes - or rather, the max path size may be so big that it's not safe to malloc
01:03:44  <DrPizza>heh
01:04:43  <piscisaureus>bnoordhuis: unibrow::CharacterStream::GetNext() asks the string to return at most 1024 bytes
01:04:43  <piscisaureus>bnoordhuis: then v8::internal::ConsString::ConsStringReadBlock traverses the entire cons string backwards to get to the right offset
01:05:52  <bnoordhuis>piscisaureus: is that O(n^2) behaviour?
01:06:25  <piscisaureus>bnoordhuis: it's O(n^2) with respect to the number of pieces that the cons string consists of
01:07:01  <bnoordhuis>google fail!
01:07:17  <piscisaureus>bnoordhuis: but the string that we use in test-https-large-respnse is 1M pieces
01:07:40  <bnoordhuis>hah, that's gotta hurt
01:08:00  <bnoordhuis>so are we looking at a libuv or v8 issue?
01:08:05  <DrPizza>igorzi: is that the only way to set file attributes by handle rather than by name?
01:08:12  <piscisaureus>bnoordhuis: I am looking at a v8 issue
01:08:23  <piscisaureus>bnoordhuis: the problem on unix has a different signature
01:08:41  <bnoordhuis>oh dear
01:08:51  <bnoordhuis>mama was right, i should've become a lawyer
01:10:51  <DrPizza>piscisaureus: do we still need to create a way for isaacs to figure out if running as superuser or not?
01:11:23  <isaacs>DrPizza: already, there should not ever be a getuid call on windows
01:11:41  <isaacs>DrPizza: "unsafe-perm" is set by default on windows, so things get installed as whoever you are.
01:11:50  <isaacs>DrPizza: there's no setuid anyway
01:11:56  <DrPizza>hmm
01:12:06  <DrPizza>that's not very nice
01:12:14  <isaacs>i'd be happy to explore abstracting that stuff away in some libuv way at some point.
01:12:18  <isaacs>but it's not an immediate blocker.
01:12:29  <DrPizza>running as superuser should install systemwide, everything else user-only imo
01:12:45  <isaacs>DrPizza: so, just don't log in as an admin
01:12:57  <isaacs>DrPizza: or, don't start cmd as an admin
01:12:58  <DrPizza>I don't see how that helps
01:13:08  <isaacs>if you're not an admin, then npm can't *become* an admin
01:13:13  <DrPizza>so?
01:13:15  <isaacs>so it'll run things as the user that's running the command
01:13:20  <DrPizza>how do I install stuff systemwide?
01:13:25  <isaacs>you install with -g
01:13:33  <DrPizza>yes but
01:13:35  <DrPizza>where does it put it
01:13:45  <isaacs>well, that's something of a question, now, isn't it?
01:13:48  <isaacs>but that's a different problem
01:13:53  <DrPizza>it's the same problem
01:14:01  <DrPizza>if you can write everywhere then it's all easy
01:14:03  <DrPizza>the problem is that you cannot
01:14:09  <isaacs>i'd like to put it such that "bin" things will end up in the path
01:14:12  <isaacs>%PATH%
01:14:31  <isaacs>i'd like to focus on local installs, though
01:14:38  <piscisaureus>yes do that first
01:14:44  <isaacs>ie, just installing a dep in a project so that you can require() it
01:14:57  <isaacs>there's no global require()-able installs supported in npm right now, anyway
01:15:16  <isaacs>you have to monkey with your NODE_PATH and eventually run into odd edge cases probably.
01:15:22  <piscisaureus>putting stuff in %PATH% means installing to c:\ or c:\windows
01:15:24  <DrPizza>heh
01:15:27  <DrPizza>piscisaureus: no
01:15:31  <DrPizza>we can add any dir to PATH
01:15:33  <DrPizza>that's not an issue
01:15:42  <piscisaureus>you might as well kill yourself before everyone comes after you
01:16:02  <isaacs>> process.env.PATH
01:16:03  <isaacs>'C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\Documents and Settings\\Administrator\\bin'
01:16:43  <DrPizza>isaacs: that's node's private copy of the environment, we'd want to update the actual system environment
01:16:56  <DrPizza>otherwise the setting will disappear between invocations
01:16:56  <isaacs>yeah, i know
01:17:01  <isaacs>but i'm saying, i modified mine.
01:17:09  <DrPizza>oh right
01:17:10  <isaacs>we could install node+npm with an msi or something creepy like that
01:17:17  <DrPizza>yes, we could
01:17:19  <DrPizza>and in fact, should
01:17:19  <piscisaureus>yes, that would work
01:17:23  <isaacs>whatever the kids use to pwn windows machines these days :)
01:17:42  <isaacs>it could even deliver some config files to tell npm to behave in a windows-friendly way, wrt paths and such
01:17:47  <DrPizza>yes
01:17:54  <DrPizza>does npm need env vars?
01:18:01  <isaacs>but first... local installs, registry searching, listing, making all that stuff wor
01:18:03  <piscisaureus>use a registry key
01:18:06  * piscisaureusducks
01:18:10  <isaacs>hahah
01:18:19  <DrPizza>piscisaureus: eh, most "foreign" programs just use the env anyway
01:18:25  <isaacs>DrPizza: well, it responds to a few of them, but they're all over-ridable with explicit configs
01:18:59  <isaacs>like, if TAR is set, it'll use that as it's tar program, but you can also do `npm config set tar=gtar` or `npm dosomething --tar bsdtar
01:19:15  <DrPizza>how about if the system doesn't have a tar executable at all.
01:19:17  <DrPizza>what then!
01:19:19  <isaacs>same with http_proxy, etc.
01:19:23  <isaacs>well, that's going to be a problem.
01:19:37  <isaacs>i'll probably have to sit down and finish my tar implementation before this is done. that'll be awesome.
01:19:47  <isaacs>really been meaning to finish that at some point.
01:19:49  <DrPizza>gzip too
01:20:11  <piscisaureus>known problem, DrPizza
01:20:42  <isaacs>yep
01:22:08  <DrPizza>does node.exe get filesystem activity virtualized?
01:22:15  <DrPizza>I don't know the critiera
01:22:21  <piscisaureus>wut?
01:22:27  <DrPizza>piscisaureus: VirtualStore
01:22:32  * piscisaureuspart
01:22:44  * piscisaureusjoined
01:22:51  <DrPizza>what I don't want is non-administrator "npm -g" to create files in VirtualStore, because it is confusing to users and not the right thing to do at all
01:23:14  <DrPizza>I don't know Windows' heuristic off-hand
01:23:32  <DrPizza>it may only redirect writes to program files
01:24:12  <piscisaureus>yes I think so
01:24:17  <piscisaureus>I don't know, I have uac off
01:24:26  <DrPizza>tsk
01:24:54  <DrPizza>that changes all sorts of weird behaviours
01:24:57  <DrPizza>(turns them off, mostly)
01:26:10  <piscisaureus>DrPizza: if it becomes a problem we can just add a manfest
01:26:25  <piscisaureus>I'm pretty sure that opts it out of all this bullshit
01:26:27  <DrPizza>hm, I think it may already have a manifest actually
01:26:30  <DrPizza>yes, you may be right
01:35:29  <DrPizza>12>src\node_file.cc(875): error C2065: 'uid' : undeclared identifier
01:35:32  <DrPizza>(and many similar)
01:37:53  <DrPizza>huh
01:37:57  <DrPizza>visual studio understands javascript files
01:38:01  <DrPizza>and actually gives useful messages about them
01:38:14  <igorzi>DrPizza: i'll get those build breaks fixed shortly
01:38:18  <DrPizza>Message 13 'args' is already defined C:\Code\Projects\node.upstream.master\lib\child_process_uv.js 200 7 node_js2c
01:38:34  <DrPizza>^ it tells no lie
01:43:34  <igorzi>could someone push this to node master: https://github.com/igorzi/node/commit/9e4917785fbe7361aec07c15b4c1d6e4b4ee0e3d?
01:43:58  <DrPizza>oh if you're going to do that
01:44:16  <DrPizza>then we should possibly take out the typedef int uid_t; from node.cc
01:44:22  <DrPizza>and make the same change there
01:47:18  <piscisaureus>igorzi: ryah / bnoordhuis should take a look at that first I think
01:47:40  * bnoordhuisreviews
01:48:24  <bnoordhuis>igorzi: why do you need that? windows doesn't have uid_t, gid_t, etc?
01:48:31  <DrPizza>it does not
01:49:06  <igorzi>also, new fs functions just take ints
01:49:10  <igorzi>(in libuv)
01:49:19  <piscisaureus>sudo mount -t vboxsf d /media/d
01:49:37  <igorzi>DrPizza: uid_t is not in node.cc anymore
01:49:46  <DrPizza>it isn't?
01:49:51  <igorzi>i don't seeit
01:49:54  <DrPizza>oh
01:49:55  <DrPizza>sorry
01:49:57  <bnoordhuis>well, i suppose
01:50:00  <DrPizza>I misread
01:50:06  <DrPizza>you are correct
01:50:07  <bnoordhuis>technically uid_t and gid_t are unsigned ints
01:50:30  <DrPizza>igorzi: I meant mode_t
01:50:30  <bnoordhuis>but i don't think you'll find systems where a uid is > 2^31
01:50:39  <DrPizza>igorzi: which is also causing an error for me
01:51:10  <igorzi>DrPizza: i think mode_t is used somewhere in node.cc
01:51:33  <DrPizza>yeah, it gets used for umask
01:52:12  <DrPizza>I suppose it doesn't actually matter
01:55:09  <piscisaureus>bnoordhuis: wut?
01:55:23  <bnoordhuis>piscisaureus: sorry?
01:55:24  <piscisaureus>bnoordhuis: on linux getpeername on a listening, unconnected socket doesn't fail
01:55:28  <piscisaureus>linux--
01:55:44  <bnoordhuis>what kind of socket?
01:55:47  <piscisaureus>tcp
01:56:01  <DrPizza>what does it return
01:56:08  <piscisaureus>let's see
01:56:22  <igorzi>DrPizza: re: readlink.. for the first pass i'll just be doing vista+ symlinks.. hence GetFinalPathNameByHandle
01:56:31  <DrPizza>igorzi: yes, they have the same issue
01:56:37  <DrPizza>igorzi: create a symlink to pagefile.sys
01:56:44  <DrPizza>igorzi: you can't open it, so there's no handle
01:56:49  <piscisaureus>GetFinalPathNameByHandle doesn't read the link
01:56:55  <piscisaureus>it resolves the link down to the final target
01:56:59  <DrPizza>igorzi: vista+ symlinks are reparse points too
01:57:27  <DrPizza>reparse points with tag IO_REPARSE_TAG_SYMLINK
01:57:37  <piscisaureus>DrPizza: have you ever tried to actually parse a reparse point info structure?
01:57:42  <piscisaureus>*the pain*
01:57:43  <DrPizza>yes
01:57:48  <piscisaureus>it's windows -= 100
01:58:08  <bnoordhuis>yay, linux leads again!
01:58:11  <DrPizza>it sucks if you're not using C or C++
01:58:50  <piscisaureus>also sucks if you do
01:58:59  <DrPizza>pretty easy
02:00:14  <igorzi>oh ok :(.. i'm actually kind of glad that i never had to deal with reparse points.. piscisaureus: DrPizza: do you have some code to get started?
02:00:24  <piscisaureus>bnoordhuis: nvm
02:00:35  <DrPizza>igorzi: if you do everything other than the actual implementation I can fill in the rest
02:00:48  <piscisaureus>bnoordhuis: unix' uv_getsockname is just buggy, always return 0
02:01:01  <DrPizza>for(;;) { --unix; }
02:01:12  <bnoordhuis>piscisaureus: i fixed that in my branch, i think, just never committed it
02:01:21  <piscisaureus>oh
02:01:31  <piscisaureus>bnoordhuis: don't bother now
02:01:41  <piscisaureus>bnoordhuis: do you still want to preserve errno always?
02:01:49  <bnoordhuis>piscisaureus: well... preferably
02:01:56  <bnoordhuis>but all the fs stuff doesn't
02:02:08  <bnoordhuis>so maybe it's an uphill fight
02:03:10  <piscisaureus>yes
02:03:16  <piscisaureus>muhahaha
02:04:19  <piscisaureus>we should just say
02:04:28  <piscisaureus>all uv functions may clobber at any time
02:05:32  <DrPizza>can someone merge igorzi's patch to unbreak the build
02:07:49  <piscisaureus>did it pass the review?
02:08:15  <CIA-52>libuv: Bert Belder getpeername * rea0beb9 / (11 files in 4 dirs): Specialize uv_xxx_getsockname, add uv_tcp_getpeername - http://git.io/Ux1JjA
02:08:28  <DrPizza>I can't see any reason why it woulnd't.
02:08:36  <DrPizza>the new fs stuff uses ints for everything
02:08:54  <piscisaureus>bnoordhuis: merge igorzi's patch?
02:09:15  <DrPizza>igorzi: or do you have a libuv fork that I can do the readlink stuff on?
02:09:22  <DrPizza>igorzi: that may be better
02:09:22  <bnoordhuis>piscisaureus: sure
02:09:45  <piscisaureus>ok, doing it
02:11:50  <CIA-52>node: Igor Zinkovsky master * r29e929d / src/node_file.cc : fix windows build break - http://git.io/o9kHZw
02:12:27  <DrPizza>cool
02:12:43  <piscisaureus>anyone: I'd like a cross-check on the getpeername commit ^
02:12:51  <DrPizza>igorzi: where are you doing your libuv work, joyent/libuv?
02:12:54  <piscisaureus>I't not very radicual
02:12:58  <piscisaureus>*radical
02:13:02  <igorzi>DrPizza: i'll put link-related stuff into a branch shortly.. please do the readlink work there
02:13:10  <DrPizza>ok
02:18:42  <piscisaureus>DrPizza: https://github.com/piscisaureus/node/blob/abbc52482809081c01ed06d08ba2c8d50bc65d5d/src/platform_win32_fs.cc#L24-174 <-- that's to create a junction point
02:18:48  <piscisaureus>should be pretty similar
02:19:47  <DrPizza>similar, but easier going this way
02:19:51  <DrPizza>just need to read teh values out of the buffer
02:21:24  <DrPizza>what I can't tell is
02:21:31  <DrPizza>and I want to be sure
02:21:37  <DrPizza>readlink just derefs once, right?
02:21:41  <piscisaureus>yes
02:21:49  <DrPizza>so if you have symlnk1 -> symlink2- > file
02:21:57  <DrPizza>readlink(symlink1) returns symlink2
02:21:59  <DrPizza>ok.
02:22:12  <piscisaureus>otherwise GetFinalPathNameByHandle would probably be okay
02:22:15  <DrPizza>yeah
02:22:22  <DrPizza>except for not always working
02:24:33  <piscisaureus>detail
02:30:01  <piscisaureus>bnoordhuis / ryah / igorzi: getpeername ok?
02:30:13  <piscisaureus>[04:08] <CIA-52> libuv: Bert Belder getpeername * rea0beb9 / (11 files in 4 dirs): Specialize uv_xxx_getsockname, add uv_tcp_getpeername - http://git.io/Ux1JjA
02:32:01  <bnoordhuis>piscisaureus: LGTM - does it work?
02:34:07  <CIA-52>libuv: Igor Zinkovsky fs_link * rdf38443 / (7 files in 4 dirs): windows: uv_fs_link + uv_fs_symlink - http://git.io/dE_2gg
02:34:19  <igorzi>DrPizza: --^
02:34:24  <DrPizza>ok
02:34:54  <piscisaureus>bnoordhuis: yes
02:35:20  <bnoordhuis>igorzi: does uv_fs_readlink nul-terminate the looked up path?
02:35:43  <bnoordhuis>i think... yes
02:37:01  <igorzi>bnoordhuis: yes, i think eio does.. but it also returns the path length in req.result
02:37:11  <igorzi>DrPizza: https://github.com/joyent/libuv/blob/fs_link/src/win/fs.c#L421
02:37:27  <isaacs>if env.TEMP or env.TMP isn't set, where should temp files go?
02:37:28  <DrPizza>igorzi: ok cool
02:37:36  <DrPizza>isaacs: they should be set
02:37:37  <bnoordhuis>igorzi: eio does a raw readlink call, doesn't nul-terminate the buffer
02:37:39  <isaacs>c:\windows\temp?
02:37:50  <isaacs>DrPizza: ok, i'll throw in that case, then
02:38:11  <igorzi>DrPizza: piscisaureus: can you also please look at that commit's uv_fs_link and uv_fs_symlink
02:38:31  <igorzi>we should probably do what eio does? or?
02:38:48  <DrPizza>igorzi: I think not null terminating is morally reprehensibl
02:38:48  <DrPizza>e
02:39:20  <dmkbot>joyent/node: tshinnic: add positioned writing feature to fs.WriteStream - https://github.com/joyent/node/issues/1645
02:40:42  <igorzi>bnoordhuis: if you need to terminate the string from eio, you'll have to realloc the buffer?
02:40:56  <bnoordhuis>igorzi: yes
02:41:10  <DrPizza>as I say
02:41:13  <DrPizza>morally reprehensible
02:41:34  <igorzi>bnoordhuis: so, you're probably not in favor of terminating?
02:41:48  <bnoordhuis>igorzi: i already implemented it :)
02:42:04  <bnoordhuis>it's a pain but it's the right thing to do
02:42:19  <igorzi>bnoordhuis: oh ok.. then it's settled
02:43:43  <bnoordhuis>igorzi: is your patch safe to land?
02:43:59  <bnoordhuis>it's going to conflict a little with mine in tests/ but i can fix that
02:44:19  <igorzi>bnoordhuis: not yet
02:44:34  <igorzi>I think we should wait for DrPizza to do readlink first
02:44:44  <bnoordhuis>readlink for windows?
02:44:48  <igorzi>yeah
02:44:49  <DrPizza>yes
02:46:08  <CIA-52>libuv: Ben Noordhuis master * rb680703 / src/unix/stream.c : unix: fix warning: implicit declaration of function ‘memcpy’ - http://git.io/u4v36A
02:46:09  <CIA-52>libuv: Ben Noordhuis master * r18af137 / src/unix/error.c : unix: fix warning: implicit declaration of function ‘strerror’ - http://git.io/ou0pXQ
02:46:28  <bnoordhuis>DrPizza: https://github.com/bnoordhuis/libuv/compare/readlink
02:46:41  <bnoordhuis>as a fyi
02:46:46  <DrPizza>bnoordhuis: so you indiscriminately null terminate?
02:46:53  <DrPizza>even if unix is too stupid?
02:47:03  * bnoordhuislooks hurt
02:47:08  <DrPizza>:)
02:47:13  <DrPizza>you must admit
02:47:17  <DrPizza>not null terminating is a bit of a dick move
02:47:30  <bnoordhuis>well... maybe yes
02:48:58  <CIA-52>libuv: Bert Belder master * r12b01e9 / (11 files in 4 dirs): Specialize uv_xxx_getsockname, add uv_tcp_getpeername - http://git.io/DWIloA
02:50:10  <piscisaureus>so, unix guys, when are you dropping eio >:-)
02:51:42  <bnoordhuis>hah, https://github.com/torvalds
02:51:55  <bnoordhuis>not a day old and already 424 followers
02:52:22  <DrPizza>maybe he is tired of kernel.org being hacked
02:52:31  <bnoordhuis>oooh, rimshot
02:56:50  <piscisaureus>igorzi: I am not sure about calling uv_set_sys_error from a thread
02:57:02  <piscisaureus>that's bad
02:57:16  <piscisaureus>you should set the error code in the uv_fs_req struct
02:57:47  <piscisaureus>and only set the loop->last_error before you make the callback
02:58:15  <igorzi>piscisaureus: yeah, good point
03:01:34  <piscisaureus>I wish browsers had a mute button
03:06:39  <DrPizza>Header
03:06:39  <DrPizza> Ntifs.h (include Ntifs.h or Fltkernel.h)
03:06:42  <DrPizza>you are shitting me.
03:06:45  <DrPizza>you ARE shitting me.
03:06:48  <DrPizza>FFS
03:06:57  <DrPizza>copy paste more stupid data structures
03:06:59  <DrPizza>ugh
03:09:43  <ryah>piscisaureus: so - about uv_init()
03:10:01  <ryah>a coworker came to me all confused about it
03:10:33  <ryah>he didn't understand why uv_loop_new() wouldn't just be used
03:11:07  <DrPizza>use pthread_once to call uv_init
03:15:48  <isaacs>is there any built-in way to display troff files on windows?
03:15:54  <isaacs>how does `git help` work?
03:15:55  <DrPizza>lol
03:15:56  <DrPizza>no
03:17:04  <isaacs>*does* `git help` work?
03:17:07  <DrPizza>yes
03:17:16  <DrPizza>fires up a browser iirc
03:17:17  <piscisaureus>ryah: uv_loop_new() to create the default loop?
03:17:53  <piscisaureus>(you have coworkers that work with libuv?)
03:19:19  <isaacs>oh my goodness.
03:19:32  <isaacs>better start compiling npm docs to html, i guess. i think ronn can do that
03:19:49  <piscisaureus>DrPizza: pthread_once is okay, but pthread_once every time uv_default_loop() is called, notsomuch
03:20:17  <DrPizza>I was thinking in uv_loop_new
03:20:24  <DrPizza>or is uv_loop_new not used for the default loop
03:20:29  <piscisaureus>no
03:20:32  <DrPizza>oic
03:20:39  <piscisaureus>that's what I want to bug ryah about
03:20:43  <piscisaureus>that would be okay I think
03:22:12  <isaacs>OMG GIT COMES WITH BASH
03:22:17  * isaacsso happy
03:22:44  <piscisaureus>git for windows has many problems
03:22:53  <piscisaureus>but yeah, it comes with bash
03:23:41  <isaacs>colors in the terminal. truetype fonts. ls.
03:25:24  <piscisaureus>bnoordhuis: I want uv_zzz_getsockname to fail on unbound sockets (listen, connect implies bind)
03:25:43  <piscisaureus>right now it fails due to lazy socket creation, or returns an AF_UNSPEC address
03:26:13  <bnoordhuis>piscisaureus: okay - now what?
03:26:32  <piscisaureus>bnoordhuis: just sayin'
03:26:49  <piscisaureus>bnoordhuis: giving you the opportunity to say "nooo. omg. what a bad idea"
03:27:48  <piscisaureus>bnoordhuis: but more importantly, you'll have to do the unix side, as I do not know how sockets are juggled exactly in uv-unix
03:27:54  <piscisaureus>I'll add a test for it
03:28:07  <bnoordhuis>piscisaureus: actually, i think getsockname always succeeds
03:28:15  <bnoordhuis>bwim bound socket or not
03:28:25  <bnoordhuis>let me check that
03:28:31  <piscisaureus>bnoordhuis: I think so too, that's bad
03:28:34  <DrPizza>bnoordhuis: you make readlink set req->result to 0, but igorzi's comment to me says I should set it to the length of the buffer
03:28:37  <DrPizza>which is correct?
03:29:04  <bnoordhuis>DrPizza: probably igorzi's, i wanted to discuss that
03:29:11  <DrPizza>ok
03:29:22  <piscisaureus>omg 5:30
03:29:24  <bnoordhuis>the thing is that everything else sets req->result = 0 to signal success
03:29:30  <DrPizza>igorzi's fs code is doing a fatal error for out of memory
03:29:35  <DrPizza>you are returning ENOMEM
03:29:46  <piscisaureus>I'm going to leave, but I'll wait for bnoordhuis' report on getsockname
03:29:58  <bnoordhuis>piscisaureus: let me dig quickly through the kernel source
03:30:02  <bnoordhuis>DrPizza: back in a flash
03:30:06  <DrPizza>kk
03:31:04  <bnoordhuis>piscisaureus: no, it never fails
03:31:26  <piscisaureus>bnoordhuis: but I am doing lazy socket creation for tcp
03:31:35  <piscisaureus>so it will fail if the socket hasn't yet been created
03:31:42  <bnoordhuis>piscisaureus: yes, with EBADF
03:31:46  <piscisaureus>bnoordhuis: also, linux will prolly return AF_UNSPEC right?
03:31:55  <piscisaureus>or what else?
03:32:33  <bnoordhuis>piscisaureus: AF_INET or AF_INET6
03:33:55  <bnoordhuis>DrPizza: i like ENOMEM better, gives the application a chance to clean up / fall back / whatever
03:34:05  <DrPizza>I understand that argument
03:34:10  <DrPizza>but
03:34:29  <DrPizza>I think applications that try to handle it will, in most cases, never be able to test the codepaths in any reasonable way
03:35:07  <bnoordhuis>there are libraries and tools to simulate OOM situations but i understand your point
03:35:31  <DrPizza>we can go either way
03:35:36  <DrPizza>I just think it shold be the same way
03:35:45  <DrPizza>although this is a bigger issue than just this function
03:35:59  <bnoordhuis>i was about to ask what the other windows code does :)
03:36:08  <DrPizza>I think different bits of code handle similar errors in different ways
03:36:36  <bnoordhuis>on the unix side of things, we propagate ENOMEM everywhere (where we actually handle it, room for improvement there)
03:37:03  <bnoordhuis>let's discuss it monday with ryah and igorzi
03:37:08  <DrPizza>yes
03:37:14  <bnoordhuis>or is this blocking you?
03:37:18  <DrPizza>no it's not blocking me
03:37:22  <DrPizza>at the moment I'm making it fatal
03:37:29  <DrPizza>but I think there is a need for a policy
03:37:38  <DrPizza>and then various fix-ups to make sure that we do the right thing everywhere
03:37:45  <bnoordhuis>easy: libraries should never abort on OOM conditions
03:37:52  <DrPizza>heh
03:38:03  <DrPizza>I don't think this is the only fatal error, either
03:38:04  <igorzi>DrPizza: bnoordhuis: if we're terminating the path.. then we probably don't need length in result.. that was eio behavior
03:38:13  <DrPizza>igorzi: ah ok
03:38:15  <DrPizza>yeah I'm terminating
03:38:19  <DrPizza>and bnoordhuis is terminating
03:38:43  <DrPizza>igorzi: ERROR_PRIVILEGE_NOT_HELD <-- isn't that awesome?
03:38:54  <igorzi>so result=0 for success then
03:38:56  <DrPizza>that symlink creation is privileged
03:39:04  <DrPizza>because of the reparse machinery requiring backup privilege
03:39:09  <igorzi>yeah.. the test covers that
03:39:13  <DrPizza>yeah I know
03:39:19  <DrPizza>it's just very stupid
03:39:38  <igorzi>heh
03:40:05  <DrPizza>opening your own files for backup intent shouldn't require backup privilege
03:40:22  <bnoordhuis>off to bed, sleep tight guys
03:41:03  * bnoordhuisquit (Quit: Leaving)
03:42:11  <CIA-52>libuv: Igor Zinkovsky fs_link * rba43737 / (include/uv-private/uv-win.h src/win/fs.c): don't set uv lasterror from threadpool threads - http://git.io/M-5WDw
03:43:03  <piscisaureus>ok, /me gone too
03:43:05  <igorzi>DrPizza: --^
03:43:22  <DrPizza>igorzi: k
03:44:05  <dmkbot>joyent/node: kilianc: Assertion failed: (0 && "implement me"), function uv_fs_readlink, file src/unix/fs.c, line 500. Abort trap: 6 - https://github.com/joyent/node/issues/1638
04:03:45  <DrPizza>igorzi: https://github.com/joyent/libuv/pull/176
04:03:49  <dmkbot>joyent/libuv: DrPizza: Fs link - https://github.com/joyent/libuv/issues/176
04:06:35  <dmkbot>joyent/node: Pita: Can't do process.on('SIGINT' with 0.5.4 on windows - https://github.com/joyent/node/issues/1553
04:24:50  <dmkbot>joyent/node: Pita: Can't do process.on('SIGINT' with 0.5.4 on windows - https://github.com/joyent/node/issues/1553
04:26:22  <igorzi>DrPizza: nice! i'll get this merged
04:26:23  <igorzi>thanks
04:26:35  * piscisaureusquit (Quit: ~ Trillian Astra - www.trillian.im ~)
04:26:49  <DrPizza>igorzi: do you think there's any value in trying to enable SeBackupPrivilege
04:27:00  <DrPizza>igorzi: I don't actually know the state of the token in the different OSes
04:27:06  <DrPizza>is SeBackupPrivilege ever held but not enabled?
04:28:05  <dmkbot>joyent/node: Pita: Can't do process.on('SIGINT' with 0.5.4 on windows - https://github.com/joyent/node/issues/1553
04:30:15  * piscisaureusjoined
04:34:25  <igorzi>DrPizza: i don't think it's worth doing
04:34:48  <DrPizza>it's not hard to do
04:35:08  <DrPizza>igorzi: I think it would be worthwhile if e.g. unelevated administrators had sebackupprivilege in their token
04:35:11  <DrPizza>but I'm not sure if they do
04:35:12  <DrPizza>hmm
04:35:29  <DrPizza>let me take a lok
04:35:30  <DrPizza>look
04:35:50  <dmkbot>joyent/node: Pita: Can't do process.on('SIGINT' with 0.5.4 on windows - https://github.com/joyent/node/issues/1553
04:37:08  <DrPizza>igorzi: ok n/m, looks like non-elevated administrators don't even have the privilege in their token
04:37:14  <DrPizza>igorzi: although weirdly, the privilege isn't enabled by default
04:37:37  <DrPizza>igorzi: and yet, opening the files with FILE_FLAG_BACKUP_SEMANTICS works anyway?
04:37:42  <DrPizza>don't quite understand that.
04:49:35  * piscisaureusquit (Ping timeout: 258 seconds)
05:02:05  <dmkbot>joyent/node: kilianc: Assertion failed: (0 && "implement me"), function uv_fs_readlink, file src/unix/fs.c, line 500. Abort trap: 6 - https://github.com/joyent/node/issues/1638
05:05:19  <dmkbot>joyent/node: Pita: Can't do process.on('SIGINT' with 0.5.4 on windows - https://github.com/joyent/node/issues/1553
05:06:58  <DrPizza>That readlink bug (1638) is the fucking stupidest thing I've ever seen.
05:07:28  <DrPizza>Ummm. Really? You're filing a bug because a function that plainly hasn't been implemented, hence the "implement me" message, is not implemented
05:09:56  <CIA-52>node: koichik v0.4 * rfdbfc9c / (lib/net.js test/simple/test-net-large-string.js):
05:09:56  <CIA-52>node: net: Socket write encoding case sensitivity
05:09:56  <CIA-52>node: Fixes #1586. - http://git.io/BqQo2w
05:32:34  <dmkbot>joyent/node: mudukutore: Adding environment variable to override default run-time library paths. - https://github.com/joyent/node/issues/1587
05:40:07  <igorzi>yeah, that is pretty idiotic..
05:40:41  <DrPizza>and they're using an unreleased, still in progress version of a beta product!
05:41:02  <DrPizza>igorzi: are you going to BUILD?
05:41:29  <igorzi>no
05:41:32  <igorzi>are you?
05:41:41  <DrPizza>yes
05:41:55  <DrPizza>I was hoping to see sessions pimping node.js!
05:42:19  <igorzi>are you going to nodecamp?
05:43:08  <DrPizza>when/where is it?
05:44:41  <igorzi>it's on monday near SF: http://nodeconf.com/summercamp.html
05:44:57  <DrPizza>in that case, no
05:44:59  <DrPizza>it's a bit far
05:45:02  <DrPizza>since I'm in the UK
05:45:30  <igorzi>right.. are you coming to BUILD in US?
05:45:34  <DrPizza>yep
05:49:07  <DrPizza>camping isn't my thing anyway
05:49:12  <DrPizza>I'm more a hotel kind of a person :p
05:51:33  <igorzi>yeah, it looks different.. i'm looking forward to see how it goes
05:52:06  <DrPizza>although booze for breakfast gets my approval.
06:02:27  <igorzi>heh, yep - it's nice that beer is included into the package :)
06:03:06  <CIA-52>libuv: Igor Zinkovsky fs_link * r37cfb5e / (8 files in 5 dirs): windows: uv_fs_link + uv_fs_symlink - http://git.io/Cj79VA
06:03:07  <CIA-52>libuv: Peter Bright fs_link * rd59baae / (common.gypi src/win/fs.c src/win/winapi.h test/test-fs.c):
06:03:07  <CIA-52>libuv: Bring inline with node common.gypi.
06:03:07  <CIA-52>libuv: Win32 readlink() - http://git.io/n1q-5A
06:05:27  <igorzi>ryah: are you ok with adding flags arg to uv_fs_symlink?
06:05:28  <igorzi>https://github.com/joyent/libuv/blob/fs_link/include/uv.h#L954
06:05:33  <igorzi>https://github.com/joyent/libuv/blob/fs_link/include/uv.h#L897
06:05:49  <DrPizza>what are the flags for?
06:05:57  <igorzi>dir or file
06:05:57  <DrPizza>dir versus file?
06:06:29  <DrPizza>igorzi: how about 3-way: automatic (test target exists, create appropriate symlink), dir, file
06:06:47  <DrPizza>since most of the time I would guess that people symlink existing objects
06:06:52  <DrPizza>rather than create dangling symlinks
06:08:42  <igorzi>DrPizza: yeah, i think that'll be good.. we still need flags in the api though.. or are you saying just do auto-detection always?
06:08:51  <DrPizza>well the question is
06:08:56  <DrPizza>do people create dangling symlinks often
06:09:00  <DrPizza>I know that you can
06:09:05  <DrPizza>and that it's legal and possible
06:09:08  <igorzi>Bert was pushing to have flags for that reason
06:09:25  <DrPizza>but if people never create dangling symlinks in practice
06:09:42  <DrPizza>it' smaking the API more complex for no gain
06:10:10  <igorzi>it'll be good to hear from piscisaureus about this
06:10:44  <igorzi>can you create dangling symlinks on unix?
06:10:50  <DrPizza>yes
06:11:06  <igorzi>and you don't need dir vs file there?
06:11:44  <DrPizza>no
06:11:53  <igorzi>another reason to have flags is if we want to support junctions later
06:11:55  <DrPizza>in unix, symlink is its own inode type
06:12:10  <DrPizza>whereas in Windows, the only types are file and folder
06:12:16  <DrPizza>and so the symlink has to pick one
06:12:43  <DrPizza>reparse points can do many things, but they can't govern whether an object is interpreted as a file or folder
06:15:32  <isaacs>how do you open a url in the default web browser in windows? is there a way to get cmd to do this for you?
06:16:05  <DrPizza>isaacs: cmd /c start http://www.bing.com/
06:16:26  <DrPizza>if you're at the command prompt already, just start http://www.bing.com/
06:16:53  <isaacs>oh, weird, i must've been doing something wrong.
06:16:54  <isaacs>thanks
06:16:55  <isaacs>that does work
06:17:30  <isaacs>ah, that doesn't work with html files, though
06:17:31  <isaacs>just with urls
06:18:12  <DrPizza>isaacs: cmd /c file.html
06:18:39  <isaacs>wow, that's kooky.
06:18:48  <isaacs>like it's some kind of executable file or something
06:19:03  <DrPizza>isaacs: at cmd.exe, if you type a filename with an extension known to teh system, the system will open that file in its registered viewer
06:19:11  <isaacs>i see
06:19:24  <isaacs>os x has the "open" bin for that. gnome has "gopen"
06:22:08  <isaacs>DrPizza: you rock.
06:22:22  <DrPizza>?
06:22:37  <DrPizza>I mean, I know that already
06:22:40  <DrPizza>but what specifically?
06:22:41  <DrPizza>:D
06:23:34  <isaacs>ok, `npm help` works on windows now
06:23:42  <isaacs>opens up html docs in default browser
06:24:18  <DrPizza>ah right
06:24:34  <dmkbot>joyent/node: ry: test/pummel/test-https-large-response.js 2x slower with --use-uv - https://github.com/joyent/node/issues/1643
07:04:18  * ryahquit (Ping timeout: 240 seconds)
07:05:14  * ryahjoined
07:17:04  <dmkbot>joyent/node: kilianc: Assertion failed: (0 && "implement me"), function uv_fs_readlink, file src/unix/fs.c, line 500. Abort trap: 6 - https://github.com/joyent/node/issues/1638
07:40:21  * isaacsquit (Quit: isaacs)
07:52:13  * mralephjoined
08:15:10  * dmkbotquit (Ping timeout: 260 seconds)
08:16:56  * dmkbotjoined
10:06:00  * dmkbotquit (Remote host closed the connection)
10:06:24  * dmkbotjoined
10:06:48  * dmkbotquit (Remote host closed the connection)
10:08:59  * dmkbotjoined
10:09:19  * dmkbotquit (Remote host closed the connection)
10:14:51  * dmkbotjoined
10:16:50  * dmkbotquit (Remote host closed the connection)
10:17:59  * dmkbotjoined
10:21:36  * dmkbotquit (Remote host closed the connection)
10:23:06  * dmkbotjoined
10:34:33  <dmkbot>joyent/node: kilianc: Assertion failed: (0 && "implement me"), function uv_fs_readlink, file src/unix/fs.c, line 500. Abort trap: 6 - https://github.com/joyent/node/issues/1638
10:42:14  * dmkbotquit (Remote host closed the connection)
10:42:33  * dmkbotjoined
10:42:37  * dmkbotquit (Remote host closed the connection)
10:43:34  * dmkbotjoined
10:46:01  <dmkbot>joyent/node: kuebk: Errors while building plugins with 0.5.5 - https://github.com/joyent/node/issues/1632
11:01:47  <dmkbot>joyent/node: fprijate: Wrong fs.stat size on win32 - https://github.com/joyent/node/issues/1647
13:18:22  * dmkbotquit (Remote host closed the connection)
14:18:05  * dmkbotjoined
14:18:07  * dmkbotquit (Remote host closed the connection)
14:18:34  * dmkbotjoined
14:36:23  * dmkbotquit (Remote host closed the connection)
14:42:35  * dmkbotjoined
14:42:58  * dmkbotquit (Remote host closed the connection)
14:44:45  * dmkbotjoined
14:50:28  * bnoordhuisjoined
15:20:04  * piscisaureusjoined
15:25:18  * dmkbotquit (Remote host closed the connection)
15:28:14  <CIA-52>node: Ashok Mudukutore master * r908ee33 / wscript :
15:28:14  <CIA-52>node: build: add RPATH environment variable
15:28:14  <CIA-52>node: Overrides default run-time library paths - http://git.io/T8em8g
15:32:56  * dmkbotjoined
15:33:42  * dmkbotquit (Remote host closed the connection)
15:34:13  * dmkbotjoined
15:40:40  <dmkbot>joyent/node: loganfsmyth: Fix merge error in tls docs - https://github.com/joyent/node/issues/1648
15:43:54  <bnoordhuis>why bzr sucks, reason #55: `bzr --help` doesn't list the clone command
15:50:27  <CIA-52>node: Logan Smyth master * rbc0a552 / doc/api/tls.markdown :
15:50:27  <CIA-52>node: docs: Fix merge error in tls docs
15:50:27  <CIA-52>node: Fixes #1648. - http://git.io/1lR7_w
16:18:10  <dmkbot>joyent/node: fprijate: Wrong fs.stat size on win32 - https://github.com/joyent/node/issues/1647
16:29:40  <dmkbot>joyent/node: tshinnic: add positioned writing feature to fs.WriteStream - https://github.com/joyent/node/issues/1645
17:22:53  <CIA-52>libuv: Bert Belder master * r360f411 / (src/unix/tcp.c src/unix/udp.c src/win/tcp.c src/win/udp.c): Make getsockname/getpeername handle uninitialized sockets better - http://git.io/PP3oRQ
17:27:53  <CIA-52>node: Peter Bright master * r766430c / common.gypi :
17:27:53  <CIA-52>node: Windows: set executables to be console programs
17:27:53  <CIA-52>node: closes #1644 - http://git.io/P9QJAg
17:33:55  <dmkbot>joyent/node: Skomski: Added new win32 platform funtion: getNetworkInterfaces() - https://github.com/joyent/node/issues/1649
17:34:10  <dmkbot>joyent/node: Skomski: Added new win32 platform function: getNetworkInterfaces() - https://github.com/joyent/node/issues/1649
17:43:40  <dmkbot>joyent/node: thejh: vm.runInNewContext doesn't prevent crawling up the caller chain - https://github.com/joyent/node/issues/1650
17:55:55  <dmkbot>joyent/node: thejh: vm.runInNewContext doesn't prevent crawling up the caller chain - https://github.com/joyent/node/issues/1650
18:04:08  <DrPizza>piscisaureus: that worked for you?
18:04:55  <dmkbot>joyent/node: Skomski: Added new win32 platform function: getNetworkInterfaces() - https://github.com/joyent/node/issues/1649
18:05:30  <piscisaureus>DrPizza: we'll soon find out heh
18:06:11  * piscisaureusregenerates sln
18:06:47  <piscisaureus>DrPizza: yes, works! thnx
18:06:53  <DrPizza>ok cool
18:08:04  * koichikquit (Quit: Page closed)
18:17:40  <dmkbot>joyent/node: bmeck: leaking references inside new contexts - https://github.com/joyent/node/issues/1469
18:21:25  <dmkbot>joyent/node: tshinnic: add positioned writing feature to fs.WriteStream - https://github.com/joyent/node/issues/1645
18:22:25  <dmkbot>joyent/node: tshinnic: add positioned writing feature to fs.WriteStream - https://github.com/joyent/node/issues/1645
18:23:18  * piscisaureuspart
18:27:34  * piscisaureusjoined
18:30:08  * isaacsjoined
18:30:25  <dmkbot>joyent/node: kuebk: Errors while building plugins with 0.5.6-pre - https://github.com/joyent/node/issues/1632
18:30:55  <dmkbot>joyent/node: kuebk: Errors while building plugins with 0.5.6-pre - https://github.com/joyent/node/issues/1632
18:32:10  <dmkbot>joyent/node: fprijate: Wrong fs.stat size on win32 - https://github.com/joyent/node/issues/1647
18:36:00  <ryah>is the issue bot annoying or useful?
18:36:07  <DrPizza>both
18:36:11  <DrPizza>I have clicked some of its links
18:36:23  <DrPizza>but it is quite chatty
18:37:25  * piscisaureus_joined
18:37:56  <piscisaureus_>I like the issue bot
18:39:48  * piscisaureusquit (Ping timeout: 240 seconds)
18:40:08  <ryah>yeah - i'll ask if it can be less chatty
18:40:20  <ryah>report summaries once every 10 minutes or something
18:42:26  <ryah>piscisaureus_: have you checked the mingw build lately? https://github.com/joyent/node/issues/1641
18:42:44  <piscisaureus_>ryah: not really
18:42:53  <piscisaureus_>I think uv is broken too
18:43:18  <piscisaureus_>oh not so much
18:43:52  * piscisaureus_compiles node w/ gcc
18:47:10  <dmkbot>joyent/node: flyingmachete: sudo problems with node and npm - https://github.com/joyent/node/issues/1499
18:47:25  <dmkbot>joyent/node: kuebk: Errors while building plugins with 0.5.6-pre - https://github.com/joyent/node/issues/1632
18:55:54  <DrPizza>igorzi: yo, are you there?
19:02:58  <ryah>so much happened yesterday
19:03:05  <ryah>on node/libuv
19:03:30  <ryah>piscisaureus_: have you checked out https://github.com/joyent/libuv/pull/176 ?
19:05:40  * mralephquit (Quit: Leaving.)
19:07:30  * mralephjoined
19:08:49  * dmkbotquit (Remote host closed the connection)
19:09:07  * dmkbotjoined
19:10:51  * dmkbotquit (Remote host closed the connection)
19:11:07  * dmkbotjoined
19:21:00  <DrPizza>ryah: the lines are rather long, but I wasn't really sure of where to wrap them
19:21:22  <DrPizza>"SymbolicLinkReparseBuffer.SubstituteNameLength" is 46 characters alone
19:32:22  * mralephquit (Quit: Leaving.)
19:34:44  <DrPizza>igorzi: fyi I have a fix for https://github.com/joyent/node/issues/1449 which is relevant
19:34:50  <DrPizza>igorzi: it requires a change to fs__open
19:48:00  <DrPizza>oh bum
19:48:03  <DrPizza>I may have just broken that pull request
19:48:11  <DrPizza>n/m
19:48:20  <DrPizza>the code is merged into igor's fs_link branch already
19:51:10  * piscisaureus_part
19:54:45  <CIA-52>libuv: Bert Belder master * r7b87ff7 / (include/uv-private/uv-win.h src/win/cares.c src/win/core.c): win: rename uv_loop_t.ares_channel to ares_chan to avoid confusing g++ - http://git.io/pWPJ4Q
19:55:11  * piscisaureus_joined
19:57:47  <piscisaureus_>ryah: I checked it, it looks good to me
19:57:56  <piscisaureus_>but it's a lot of stuff that I don't know the details of
19:58:07  <piscisaureus_>so the best way to figure it out is to have tests
19:58:49  <igorzi>ryah: piscisaureus_: DrPizza's readlink is already merged into fs_link branch.. i was waiting for ok from ryah to merge it into master
19:59:07  <igorzi>(it has an api change in uv_fs_symlink)
19:59:21  <igorzi>piscisaureus_: DrPizza: can you actually agree on whether we need that api change?
19:59:39  <piscisaureus_>I agree with the api change
20:00:29  <piscisaureus_>It's just a flags field that can be safely ignored on unix
20:00:36  <piscisaureus_>not bad right?
20:00:49  <igorzi>yesterday DrPizza was questioning whether creating links to non-existing targets is common scenario that we should even support..
20:01:15  <igorzi>piscisaureus_: do you know if it's common?
20:01:20  <piscisaureus_>It depends
20:01:31  <piscisaureus_>suppose you are extracting an archive with relative symlinks in it
20:01:44  <piscisaureus_>suppose you want to implement git in node
20:02:08  <piscisaureus_>I don't know, but I think it's reasonable to allow this
20:02:54  <igorzi>yeah, i'm of the same opinion.. no reason to not allow what OS has support for
20:03:03  <piscisaureus_>exactly
20:03:28  <igorzi>we could probably put some better logic into symlink to do the right thing for files/dirs that do exist?
20:03:43  <piscisaureus_>maybe...
20:03:56  <piscisaureus_>we could have apps opt-in to autodetect mode
20:04:08  <igorzi>ryah: are you ok with the api?
20:05:14  <piscisaureus_>igorzi: I like this api, it's the most flexible one
20:05:31  <piscisaureus_>if people start complaining about this being inconvenient, we can always add autodetection later on
20:05:46  <igorzi>yeah, it allows us to add more stuff (like junctions) later
20:05:56  <piscisaureus_>that is nice too
20:06:25  <igorzi>so, we'd also need to expose the symlink_dir flag in js-land in node, right?
20:06:32  <piscisaureus_>yeah, I think so
20:07:14  <piscisaureus_>probably not a flag, just a string argument
20:07:52  <piscisaureus_>fs.symlink = function(target, link [, type = "file" ])
20:08:56  <ryah>igorzi: yeah - im okay with it
20:09:12  <ryah>igorzi: i'd be good to have some commentary next to +#define UV_FS_SYMLINK_DIR 0x0001 898
20:09:45  <igorzi>ok
20:11:27  <piscisaureus_>igorzi: https://github.com/joyent/node/issues/1647 and https://github.com/joyent/node/issues/1565
20:11:36  <piscisaureus_>I think those are related to the old (eio) backend
20:11:44  <piscisaureus_>What is the status on those now?
20:12:34  <piscisaureus_>btw - it is better to use _stati64 when available imho
20:12:44  <piscisaureus_>files > 4gb are not that uncommon
20:13:14  <piscisaureus_>bnoordhuis: how dows this work on unix? why are we no using a stat struct that allows 64-bit file sizes?
20:13:22  <piscisaureus_>*does
20:14:35  <igorzi>piscisaureus_: https://github.com/joyent/node/issues/1565 should be fixed now
20:14:44  <piscisaureus_>ok nice
20:15:15  <piscisaureus_>ryah: do you know what the status is on #1513
20:15:15  <piscisaureus_>?
20:16:57  <piscisaureus_>ryah: I'd like to have this fixed before you leave for nodecamp :))
20:23:55  <piscisaureus_>igorzi: btw - just land the fs stuff you've been doing
20:24:12  <piscisaureus_>ryah is okay with the api, if there are issues we'll figure it out
20:25:28  <igorzi>yep, landing it now
20:26:31  <CIA-52>libuv: Igor Zinkovsky master * r060026c / (8 files in 5 dirs): windows: uv_fs_link + uv_fs_symlink - http://git.io/0BQ2tA
20:26:31  <CIA-52>libuv: Peter Bright master * r7db243d / (common.gypi src/win/fs.c src/win/winapi.h test/test-fs.c):
20:26:31  <CIA-52>libuv: Bring inline with node common.gypi.
20:26:31  <CIA-52>libuv: Win32 readlink() - http://git.io/tvGctQ
20:27:31  <igorzi>with this we can remove remaining #ifdef __POSIX__ from node_file.cc (except for StatWatcher)
20:28:18  <igorzi>gtg.. i'll be back later tonight
20:28:27  <piscisaureus_>ok
20:31:09  <ryah>piscisaureus_: ill play with it today
20:31:24  <piscisaureus_>ryah++
20:32:15  <ryah>did you see koichik's update on https://github.com/joyent/node/issues/1643
20:32:24  <ryah>very strange...
20:33:11  <piscisaureus_>hmm yes
20:33:19  <piscisaureus_>I'll look at that again
20:36:36  <piscisaureus_>god I hate waf
20:54:53  <CIA-52>node: Bert Belder master * rcb1a21b / (15 files in 5 dirs): Upgrade libuv to 7b87ff7c9b - http://git.io/cRqY_w
20:54:53  <CIA-52>node: Bert Belder master * rc82ab45 / (src/tcp_wrap.cc src/udp_wrap.cc): uv_getsockname got renamed - http://git.io/8SbezA
20:54:53  <CIA-52>node: Bert Belder master * r3742aee / wscript : resolve mingw32 build problem - http://git.io/nQBudw
21:04:42  <ryah>[01:16|% 100|+ 236|- 18]: Done
21:04:44  <ryah>^-- OSX
21:04:56  <ryah>uv_fs_readlink accounts for at least 2 of those
21:05:15  <ryah>uv_fs_readdir (sync) accounts for one
21:05:46  <ryah>uv_fs_futime for another
21:07:05  * ryahtopic: osx https://gist.github.com/1193512 | windows https://gist.github.com/1190244 | v0.5.6 issues https://github.com/joyent/node/issues?state=open&milestone=2
21:15:24  <piscisaureus_>ghe: http://www.youtube.com/watch?v=qY6su9hYCRU
21:23:04  <dmkbot>joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651
21:30:23  <bnoordhuis>ryah: i implemented readlink yesterday
21:33:11  <bnoordhuis>piscisaureus_: re 64 bit file sizes: we compile with _FILE_OFFSET_BITS=64 so that should just work
21:34:19  <piscisaureus_>bnoordhuis: ok
21:35:20  <piscisaureus_>i guess igorzi should use _stati64 then
21:35:26  * isaacsquit (Quit: isaacs)
21:38:53  <piscisaureus_>drpizza: igorzi: is %VS100COMNTOOLS% defined on your machines (in the default cmd, not the VS console)
21:44:13  * isaacsjoined
21:46:11  * isaacsquit (Client Quit)
21:49:49  <dmkbot>joyent/node: Skomski: Added new win32 platform function: getNetworkInterfaces() - https://github.com/joyent/node/issues/1652
21:51:04  <dmkbot>joyent/node: Skomski: Added new win32 platform function: getNetworkInterfaces() - https://github.com/joyent/node/issues/1652
21:55:36  <DrPizza>piscisaureus_: yes
21:56:06  <DrPizza>igorzi: you see this? https://github.com/joyent/node/issues/1449
21:56:30  <DrPizza>igorzi: this fixes it: https://github.com/DrPizza/libuv/commit/b4e2d4411d3f11f7fa748c37e2ac3a5f7baa24c7
21:59:34  <dmkbot>joyent/node: tshinnic: add positioned writing feature to fs.WriteStream - https://github.com/joyent/node/issues/1645
21:59:57  <DrPizza>igorzi: I think opening with the share modes makes sense in general, because UNIX doesn't lock the file when it's opened
22:00:47  <DrPizza>and the workarounds it forces on people (insert delays so that the system can finish closing the file) are ugly
22:07:55  <ryah>bnoordhuis: is it in a branch somewhere?
22:08:01  <ryah>bnoordhuis: seems not in libuv/master
22:08:08  <bnoordhuis>ryah: https://github.com/bnoordhuis/libuv/compare/readlink
22:08:17  <bnoordhuis>pending DrPizza's work
22:08:30  <ryah>ah, ok
22:08:34  <DrPizza>bnoordhuis: mine is in libuv master now
22:08:36  <DrPizza>I believe
22:08:53  <bnoordhuis>okay, let me see what happens when i rebase
22:09:45  <piscisaureus_>DrPizza: what do you think of https://gist.github.com/1193602?
22:10:04  <dmkbot>joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651
22:10:13  <DrPizza>piscisaureus_: I think the flag does not help you in the "implementing git" case, because you still need to know what the target will be in order to create the right kind of symlink
22:11:22  <DrPizza>piscisaureus_: hm, that looks reasonable
22:12:17  <piscisaureus_>DrPizza: it's kind of fictional. Sure, git doesn't store the symlink type itself now. But even then, it would be easier to do so - you'd have to look in the index to find out the symlink type you need, instead of being forced to extract the symlink target first
22:13:17  <piscisaureus_>DrPizza: about that gist - I kind of hope that many people have this VS100COMNTOOLS variable set. But it works very well for me
22:13:27  <DrPizza>I would still prefer passing a zero flag to determine the type of the target and fail if the target doesn't exist
22:13:40  <DrPizza>piscisaureus_: yeah the only question is if it gets set by all the VS2010 versions
22:13:43  <DrPizza>express etc.
22:13:48  <DrPizza>maybe ask ryah, he is running express
22:13:50  <piscisaureus_>DrPizza: yes
22:14:01  <piscisaureus_>DrPizza: We could also look in the registry to find out the vs path from the registry, but I have no idea how to do that from a .bat file
22:14:03  <bnoordhuis>ryah: [% 100|+ 58|- 3]: Done. <- make test - expected?
22:14:16  <bnoordhuis>pipe_bind_error_addrinuse, fs_async_dir and fs_chmod fail
22:14:18  <DrPizza>piscisaureus_: reg /?
22:14:42  <piscisaureus_>DrPizza: on the symlink flags - autodetection could be an option, but I'd like it to be *optional*. If ppl complain about this, we'll add a flag that lets people opt in to it
22:14:46  <CIA-52>libuv: Ben Noordhuis master * rd3f60da / src/unix/fs.c : unix: implement uv_fs_readlink - http://git.io/JTauIw
22:15:10  <DrPizza>piscisaureus_: the reason I think it shold be default is that it means that in the standard case (target exists) it'll mean that Windows behaves the same as unix
22:15:24  <DrPizza>i.e. it does the Right Thign
22:15:46  <piscisaureus_>DrPizza: ah, reg /?
22:15:50  <piscisaureus_>I didn't know that, thanks
22:18:26  <piscisaureus_>DrPizza: re symlinks. I don't like to add magic that can fail in certain cases. I am not sure that "target exists" == "standard case".
22:18:50  <DrPizza>hrm
22:19:04  <dmkbot>joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651
22:19:32  <DrPizza>piscisaureus_: but is "target doesn't exist, but I don't know what type it is" any more common? that seems less likely to me
22:19:55  <piscisaureus_>DrPizza: I'm going to play the authority game. We're sticking to what we have unless (1) we get reports that people are bitten by this or (2) you convince a significant amount of people in this room that your idea is better.
22:19:55  <piscisaureus_>DrPizza: sorry about that btw.
22:20:16  <DrPizza>meh
22:21:09  <piscisaureus_>DrPizza: sure this is debatable - feel free to come back later. But right now we're just entering a opinion deadlock
22:21:27  <bnoordhuis>i'm thinking of a number between 1 and 10
22:21:33  <DrPizza>7
22:21:37  <bnoordhuis>damn, he's good
22:22:43  <ryah>bnoordhuis: no -
22:22:44  <ryah>% ls -l test/simple | wc -l
22:22:44  <ryah> 253
22:22:59  <ryah>bnoordhuis: sounds like the test runner crashed
22:23:08  <ryah>or is that libuv?
22:23:11  <bnoordhuis>ryah: sorry, that's libuv's `make test`
22:23:39  <piscisaureus_>DrPizza: let's wait and see what is better for symlink "users", e.g. npm
22:24:11  <DrPizza>well, ok.
22:26:45  <DrPizza>piscisaureus_: anyway, what do you think of https://github.com/DrPizza/libuv/commit/b4e2d4411d3f11f7fa748c37e2ac3a5f7baa24c7 in order to fix https://github.com/joyent/node/issues/1449
22:27:05  <DrPizza>the root cause is that DeleteFile can't delete a file if it's opened without FILE_SHARE_DELETE
22:27:15  <DrPizza>and the CRT offers no way of opening a file with FILE_SHARE_DELETE
22:27:17  * isaacsjoined
22:27:37  <DrPizza>(except if you open a file as a temporary auto-delete-on-close file)
22:27:49  <dmkbot>joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651
22:28:10  <DrPizza>so instead of using the CRT's open routine, it opens the file manually, then uses the CRT's "create an int fd using this HANDLE" function
22:30:15  <piscisaureus_>DrPizza: yes
22:30:37  <piscisaureus_>DrPizza: we'll want to move to using win32 function anyway - so we can properly support non-ansi names
22:30:39  <DrPizza>opening with all the share modes feels right in general, as unix programs surely expect it
22:30:41  <DrPizza>yes
22:31:11  <piscisaureus_>DrPizza: but maybe we should open the file without any locks by default, just like unix does
22:31:16  <DrPizza>piscisaureus_: I was actually tempted to do a utf8_to_utf16 on the path, and prepend \??\
22:31:17  <DrPizza>right
22:31:20  <DrPizza>that's what this is doing now
22:31:26  <piscisaureus_>DrPizza: yes +1
22:31:27  <DrPizza>file has no share locks by default
22:31:34  <piscisaureus_>DrPizza: okay then I am +1 on this
22:31:51  <DrPizza>CRT opens with share mode 0 (locked), this changes it to share mode READ | WRITE | DELETE
22:31:56  <DrPizza>ok cool, now to get igorzi's attention
22:32:18  <piscisaureus_>DrPizza: about utf8_to_utf16, that will be needed at some point. i am not sure about prepending \??\, I guess we should also replace / by \ then
22:32:24  <DrPizza>yeah
22:32:27  <piscisaureus_>because I want people to be able to use forward slashes
22:32:39  <DrPizza>I figure if we're going to make the switch to utf16 we might as well go all the way
22:32:44  <DrPizza>since the extra complexity is not much
22:32:46  <piscisaureus_>DrPizza: that's what I want
22:32:55  <ryah>how do i get MSVS to use two spaces instead of tabs?
22:33:15  <piscisaureus_>DrPizza: igorzi is just using crt methods for now to get this bootstrapped really fast
22:33:20  <DrPizza>piscisaureus_: yeah I know
22:33:30  <DrPizza>ryah: tools, options, text editor, c/C++, tabs
22:33:41  <DrPizza>set tab size and indent size to 2
22:33:46  <DrPizza>and choose insert spaces
22:34:00  <piscisaureus_>ryah: you can also select "all languages" if that's what you want
22:34:19  <ryah>thanks
22:34:49  <DrPizza>piscisaureus_: it's just, if we're redoing this stuff anyway, we might as well change the fs__open now, since I've written the code and it fixes an issue
22:35:00  <piscisaureus_>DrPizza: yes, +1
22:35:07  <DrPizza>I wonder if this will fix the errors that the test runner has
22:35:10  <DrPizza>sometimes it too cannot delete files
22:35:15  <DrPizza>but perhaps that's a python-side issue
22:35:24  <piscisaureus_>DrPizza: if igorzi agrees, get it landed
22:35:28  <DrPizza>kk
22:36:05  <piscisaureus_>DrPizza: are you okay with adding lib/*.js src/node.js to node.gyp
22:36:12  <piscisaureus_>for an even better ide experience?
22:36:24  <DrPizza>aren't they already showing?
22:36:37  <DrPizza>node_js2c/lib/_excluded_files/
22:36:39  <piscisaureus_>nope
22:36:42  <DrPizza>O_O
22:37:07  <ryah>what's the hotkey for selecting the current line?
22:37:22  <piscisaureus_>ryah: home shift+end
22:37:33  <DrPizza>ryah: if you just want to copy the current line, then select *nothing* and hit ctrl-c
22:37:53  <ryah>DrPizza: that's what i wanted
22:37:54  <ryah>thanks
22:38:03  <DrPizza>I believe that's enabled by default
22:38:06  <DrPizza>v. useful
22:38:11  <DrPizza>sadly not a standard thing in Windows, just in visual studio
22:38:39  <ryah>i feel like such an idiot editing with msvs :)
22:38:50  <piscisaureus_>DrPizza: I just hand added all js files now (locally). But if you have a better way to doing it, please tell me how
22:39:19  <piscisaureus_>ryah: that's how I feel when I use vim. Or maybe even worse, but with vim I often fail to even type a line properly
22:39:58  <DrPizza>piscisaureus_: the only thing you need to know about vim is escape-colon-q-bang
22:40:08  <DrPizza>and then start nano or something sane
22:40:11  <DrPizza>nano or jed
22:40:14  <piscisaureus_>hehe
22:40:23  <piscisaureus_>yes
22:40:29  <DrPizza>piscisaureus_: yours doesn't look like http://dl.dropbox.com/u/4619191/node_js2c-solution-explorer.png ?
22:41:37  <piscisaureus_>drpizza: no, http://twitpic.com/6g6ggp/full
22:42:03  <DrPizza>oh wow I didnt' realize find and replace could be docked
22:42:18  <DrPizza>that's after you've added them manually to the project?
22:42:24  <DrPizza>that's odd
22:42:28  <DrPizza>I don't know why mine is showing them
22:43:53  <piscisaureus_>DrPizza: oh I have node.js in the _excluded_files as well
22:43:56  <piscisaureus_>but only node.js
22:44:04  <DrPizza>that's very strange
22:44:24  <piscisaureus_>DrPizza: I think gyp adds it because js2c depends on it
22:44:29  <DrPizza>yes
22:44:34  <piscisaureus_>e.g. it has to rebuild js2c when a js changes
22:44:35  <DrPizza>but js2c depends on the whole lot
22:44:46  <DrPizza>what I don't get is why it's showing them for me
22:44:53  <DrPizza>(albeit excluded, since VS doesn't know how to build them itself)
22:45:56  <piscisaureus_>DrPizza: even if you don't exclude the .js file, it won't attempt to build
22:46:04  <DrPizza>no but I mean
22:46:06  <DrPizza>I didn't exclude them
22:46:09  <DrPizza>gyp did
22:46:11  <DrPizza>that's all gyp's doing
22:46:12  <DrPizza>already
22:46:17  <DrPizza>with the .gyp files as they currently are
22:47:03  <DrPizza>I don't know why you had to add them manually to make them show up
22:49:08  <CIA-52>libuv: Ryan Dahl master * ra52a2c7 / src/unix/darwin.c : Fix warning on darwin - http://git.io/KIzsmg
22:50:05  <piscisaureus_>DrPizza: oh heh
22:50:09  <piscisaureus_>I overlooked something
22:50:14  <ryah>bnoordhuis: i've only got two fails: pipe_bind_error_addrinuse and fs_chmod
22:50:23  <piscisaureus_>DrPizza: all js files are there in node_js2c
22:50:28  <DrPizza>yes
22:50:36  <DrPizza>yes I said node_ns2c
22:50:39  <DrPizza>er, js2c
22:50:46  <DrPizza>my screenshot is not the node project, it is js2c
22:50:46  <bnoordhuis>ryah: okay, let me check why fs_async_dir is failing
22:52:12  <ryah>alright. i'll fix fs_chmod
22:54:22  <bnoordhuis>readdir_cb expects file1, file2 in that order and they're read in the reverse order on my system
22:56:00  <DrPizza>piscisaureus_: so you're seeing them in the js2c project?
22:56:08  <piscisaureus_>DrPizza:
22:56:10  <DrPizza>in that case I dn't think it's worth adding them to the node project
22:56:10  <piscisaureus_>yes
22:59:25  <CIA-52>libuv: Ben Noordhuis master * r826db45 / test/test-fs.c :
22:59:26  <CIA-52>libuv: test: fix uv_fs_readdir test
22:59:26  <CIA-52>libuv: Don't make assumptions about the order in which the
22:59:26  <CIA-52>libuv: directory entries are returned by the file system. - http://git.io/-znKxQ
23:02:51  <piscisaureus_>DrPizza: what about https://gist.github.com/1193683?
23:02:51  <ryah>we need to get rid of EIO
23:02:58  <ryah>it's really fucking up our shit
23:03:17  <bnoordhuis>what's so bad about eio?
23:03:31  <DrPizza>piscisaureus_: hrm, so they show up in both node and node_js2c?
23:03:34  <ryah>it's just annoying forcing our semantics which are slightly different into it
23:03:42  <ryah>e.g. this whole WRAP_EIO marco
23:03:45  <ryah>which is horrible
23:03:46  <piscisaureus_>DrPizza: is there a reason why that is bad?
23:03:54  <piscisaureus_>DrPizza: I'd like to stay off js2c
23:04:04  <ryah>we'd be better of having our own thread pool
23:05:02  <DrPizza>piscisaureus_: I guess it's OK, I just have not had any problem with using js2c so far
23:05:17  <DrPizza>piscisaureus_: but it shouldn't break anything so it seems harmless
23:05:27  <piscisaureus_>DrPizza: well I'll let you decide
23:05:32  <piscisaureus_>since you maintain this
23:05:34  <DrPizza>well
23:05:40  <piscisaureus_>I was just trying to improve my own ide experience :-)
23:05:48  <DrPizza>heh
23:05:50  <DrPizza>yes
23:06:03  <DrPizza>well is there anything that doesn't work with the versions in js2c
23:06:09  <DrPizza>is there any advantage to having them included rather than excluded
23:06:18  <piscisaureus_>*shrug*
23:06:20  <DrPizza>the colour coding/syntax highlighting/etc. seems to work
23:06:20  <piscisaureus_>I don't know
23:06:28  <piscisaureus_>they're just more accessible this way
23:06:33  <DrPizza>ok I guess
23:06:34  <DrPizza>go for it
23:06:58  <piscisaureus_>DrPizza: ok
23:07:05  <piscisaureus_>if it gets annoying, revert
23:07:27  <DrPizza>the only thing I can imagine is duplicate results coming back when you search
23:07:31  <DrPizza>but maybe it's smart enough to avoid that
23:09:50  <CIA-52>libuv: Ryan Dahl master * r142a702 / (src/unix/core.c test/test-fs.c): unix: fix fs_chmod - http://git.io/7ET3TQ
23:13:02  <piscisaureus_>DrPizza: it's smart enough, it knows these files are the same
23:13:07  <DrPizza>ab
23:13:08  <DrPizza>er
23:13:08  <DrPizza>ah
23:17:27  <CIA-52>node: Ryan Dahl master * r17021ea / (12 files in 7 dirs): Upgrade libuv to 142a702 - http://git.io/aV7p9Q
23:21:43  <DrPizza>piscisaureus_: wow, diginotar is really truly fucked
23:21:49  <piscisaureus_>yes
23:22:06  <piscisaureus_>diginotar is no more
23:22:16  <piscisaureus_>sell your vasco stocks if you haven't still
23:29:25  <piscisaureus_>DrPizza: reg QUERY HKCU\Software\Microsoft /v VisualStudioLocation /t REG_EXPAND_SZ /s
23:29:40  <piscisaureus_>^-- works, but I can't parse the result
23:29:46  <piscisaureus_>tried for, no luck so far
23:30:12  <piscisaureus_>I mean, I tried `FOR`
23:30:16  <DrPizza>oh yeah ugh
23:30:44  <DrPizza>just go straight for Microsoft\VisualStudio\10.0, and failing that, 10.0Exp
23:30:49  <DrPizza>those are the only ones we care about
23:31:38  <piscisaureus_>DrPizza: Not only VisualStudio but also VCExpress
23:31:47  <piscisaureus_>I think?
23:31:50  <DrPizza>no
23:31:52  <DrPizza>I don't think so
23:31:57  <DrPizza>I think it goes to VisualStudio\10.0Exp
23:32:02  <DrPizza>for 2010
23:32:14  <piscisaureus_>then we should just search Microsoft\VisualStudio
23:32:17  <piscisaureus_>for convenience :-)
23:32:20  <DrPizza>no
23:32:27  <DrPizza>the output is easier to parse
23:32:31  <DrPizza>if you look explicitly in 10.0
23:32:34  <DrPizza>and then if that doesn't exist
23:32:37  <DrPizza>in 10.0Exp
23:33:31  <piscisaureus_>The output is the same :-/
23:34:05  <piscisaureus_>Minus the "1 results" line
23:35:05  <DrPizza>hm
23:35:08  <DrPizza>this is bollocks
23:35:13  <DrPizza>how is anyone meant to use this output
23:35:19  <piscisaureus_>maybe findstr can help us
23:35:23  <piscisaureus_>is that available on xp?
23:35:27  <DrPizza>yes
23:35:34  <dmkbot>joyent/node: Kos: Misleading console output for arrays with undefined - https://github.com/joyent/node/issues/1651
23:39:42  * isaacsquit (Quit: isaacs)
23:50:32  <ryah>is readdirSync working on windows?
23:55:29  <piscisaureus_>DrPizza: I am giving up. VisualStudioLocation isn't even the right dir.
23:55:31  <piscisaureus_>:-(
23:55:36  <DrPizza>bleh
23:55:42  * piscisaureus_such a loser
23:57:50  <CIA-52>libuv: Ryan Dahl master * r7ccc747 / test/test-fs.c : Add test for uv_fs_readdir sync - http://git.io/yp8LRQ
23:58:08  <ryah>i think we're going to have to back out of making --use-uv default
23:58:13  <ryah>it's too broken
23:58:15  <piscisaureus_>ryah: can you review this for me - https://github.com/piscisaureus/node/commit/oOo
23:58:21  <piscisaureus_>ryah: what is too broken?
23:58:24  <ryah>unix
23:58:44  <ryah>maybe once i fix readdirSync it'll be better
23:58:50  <ryah>but im not hopeful
23:59:24  <ryah>yeah i'll review - one sec