00:01:25  * travis-cijoined
00:01:25  <travis-ci>[travis-ci] joyent/libuv#350 (reviewme - 8a42c43 : Bert Belder): The build is still failing.
00:01:25  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/b48ce33...8a42c43
00:01:25  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1493300
00:01:25  * travis-cipart
00:02:04  <piscisaureus_>^-- finally. Still 3 failures but atleast it compiles
00:02:36  <piscisaureus_>^-- bnoordhuis btw, these failures look like regressions to me
00:06:58  <isaacs>piscisaureus_, bnoordhuis: https://github.com/joyent/node/issues/3355
00:07:03  <isaacs>looks like something isn't getting ref()'ed that should be
00:08:20  <piscisaureus_>isaacs: looks like it uses ev_io and node-zookeeper should move to uv_poll
00:08:56  <piscisaureus_>bnoordhuis: we should probably get uv_signal and uv_stat out as fast as possible, and then stop exporting libev functions. That will teach people.
00:21:52  <AvianFlu>piscisaureus_: here you go, flag instead. https://github.com/AvianFlu/libuv/compare/detached2
00:24:20  * mikealquit (Quit: Leaving.)
00:27:21  <CIA-155>libuv: Charlie McConnell master * r69a923b / (5 files in 4 dirs): process: implement UV_PROCESS_DETACHED flag for uv_spawn - http://git.io/PB0CVw
00:27:22  <CIA-155>libuv: Bert Belder master * r04a7e5c / test/test-spawn.c : test-spawn.c: remove unused variable - http://git.io/bMnFaw
00:27:29  <piscisaureus_>^-- AvianFlu: landed
00:27:55  <piscisaureus_>AvianFlu: thanks :-)
00:28:05  <AvianFlu>awesome!
00:28:08  <AvianFlu>thank you :D
00:29:11  * travis-cijoined
00:29:11  <travis-ci>[travis-ci] joyent/libuv#351 (master - 04a7e5c : Bert Belder): The build is still failing.
00:29:11  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/aecddfe...04a7e5c
00:29:11  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1493473
00:29:11  * travis-cipart
00:30:09  <piscisaureus_>AvianFlu: now we need to add it to node. We'll add unref() to node so the user can just do that.
00:30:20  <piscisaureus_>him/herself
00:31:11  <AvianFlu>piscisaureus_: sounds good
00:31:21  * mikealjoined
00:32:26  <isaacs>AvianFlu, piscisaureus_: thanks, that's awesome
00:32:48  <isaacs>piscisaureus_: how hard is it to keep support for ev_io?
00:33:08  <piscisaureus_>isaacs: well, only bnoordhuis knows.
00:33:14  <isaacs>bnoordhuis: ^
00:33:19  <isaacs>it seems like that'll break a bunch of stuff.
00:33:33  <piscisaureus_>isaacs: the problem is basically that libuv now does it's own reference counting (instead of having libev do that)
00:33:40  <isaacs>right
00:33:52  <piscisaureus_>isaacs: but ev_io_start bypasses libuv (of courese)
00:33:59  <isaacs>hm.
00:34:04  <bnoordhuis>i could add a shim for ev_io_start / ev_io_stop
00:34:13  <bnoordhuis>but people should really be migrating to uv_poll
00:34:16  <isaacs>yes, i agree.
00:34:20  <isaacs>but a lot of packages won't.
00:34:30  <isaacs>they'll just mysteriously stop working in 0.8
00:34:30  <piscisaureus_>well, you can't really blame them since uv_poll is really fresh
00:34:40  <piscisaureus_>isaacs: well that'll be easy to fix
00:34:51  <isaacs>piscisaureus_: it'd be easier to fix if we don't have to fix it :)
00:34:52  <piscisaureus_>since uv_poll is very similar to ev_io
00:34:55  <isaacs>right
00:35:22  <bnoordhuis>piscisaureus_: yes, but... it doesn't support ev_set_fd etc.
00:35:32  <piscisaureus_>isaacs: do people use that???
00:35:37  <piscisaureus_>er, bnoordhuis ...
00:35:41  <bnoordhuis>yes
00:35:54  <piscisaureus_>meh
00:36:07  <piscisaureus_>bnoordhuis: rly? examples?
00:36:55  <bnoordhuis>for one, old code of mine does :)
00:36:57  <bnoordhuis>back to the shim, i can easily support the common case (in node, doesn't have to be in libuv)
00:37:51  <piscisaureus_>bnoordhuis: questionable... ev_io can just be free'd after stopping it; not somuch with uv_poll
00:37:53  <bnoordhuis>piscisaureus_: that reminds me, i want to propose a change to the uv_poll interface
00:38:03  <piscisaureus_>bnoordhuis: heh, ok, so what is it?
00:38:27  <bnoordhuis>make uv_poll_start take an fd instead of uv_poll_init
00:38:30  <piscisaureus_>isaacs: the general problem is here that node is much more mature than libuv
00:38:53  <piscisaureus_>bnoordhuis: hmmm..... that won't really work on the platform that shall not be named...
00:39:01  <bnoordhuis>ai, why not?
00:39:03  <piscisaureus_>bnoordhuis: if you can make it work on windows, you have my blessing :-)
00:40:06  <piscisaureus_>bnoordhuis: because it is not possible to do something like epoll_ctl on windows. Once you submitted interest, it's gotta stay what it is
00:40:38  <piscisaureus_>bnoordhuis: so what uv_poll_start does in case it already started, is ... complicated
00:40:52  <piscisaureus_>bnoordhuis: but changing fd's will confuse it for sure :-0
00:40:58  <bnoordhuis>hmm, that's inconvenient
00:41:12  <bnoordhuis>can't you turn uv_poll_init into a no-op and uv_poll_start into init + start
00:41:44  <bnoordhuis>i'll leave it as an exercise to the reader to determine what uv_poll_stop and uv_close should do
00:41:44  <piscisaureus_>bnoordhuis: yes but that means that you can call uv_poll_start only once; you would't be able to call it again to change the interest set
00:41:57  <piscisaureus_>bnoordhuis: or rather, it would be possible to change the interest set but not the fd
00:42:09  <piscisaureus_>bnoordhuis: why do you want this change in the first place?
00:43:07  <bnoordhuis>piscisaureus_: for starters, it's more inline with what libev did
00:43:43  <bnoordhuis>hmm, github's down?
00:44:13  <tjfontaine>bnoordhuis: WFM
00:44:30  <bnoordhuis>tjfontaine: https://github.com/ajaxorg/packager/issues/4#issuecomment-6051221 <- that link too?
00:44:41  <tjfontaine>yup
00:44:50  <bnoordhuis>hmm, github must not like me anymore
00:44:58  <piscisaureus_>wfm too
00:45:00  <tjfontaine>lots of internet betwixt you
00:45:11  <piscisaureus_>tele2, right :-)
00:46:05  <bnoordhuis>and it works again
00:47:17  <piscisaureus_>bnoordhuis: as I said, if you can make it work: https://github.com/joyent/libuv/blob/master/src/win/poll.c
00:50:40  * bnoordhuisquit (Ping timeout: 252 seconds)
00:51:38  * bnoordhuisjoined
00:58:00  * bnoordhuisquit (Ping timeout: 252 seconds)
01:03:02  * theColejoined
01:04:04  * pieternquit (Quit: pietern)
01:06:23  <CIA-155>libuv: Bert Belder master * r528123a / src/win/poll.c : windows: fix bugs in uv__fast_poll_cancel_poll_req - http://git.io/s0kWzw
01:07:59  * mikealquit (Quit: Leaving.)
01:08:19  * travis-cijoined
01:08:19  <travis-ci>[travis-ci] joyent/libuv#352 (master - 528123a : Bert Belder): The build is still failing.
01:08:19  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/04a7e5c...528123a
01:08:19  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1493808
01:08:19  * travis-cipart
01:11:19  * bnoordhuisjoined
01:21:21  * bnoordhuisquit (Ping timeout: 252 seconds)
01:28:36  <piscisaureus_>hmm, now I crippled uv__fast_poll_cancel_poll_req completely :-(
01:29:04  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:32:52  * dapquit (Quit: Leaving.)
01:39:49  * Ariajoined
01:41:25  * piscisaureus_joined
01:52:06  * hij1nxjoined
02:04:13  * piscisaureus_quit (Ping timeout: 265 seconds)
02:07:04  * mikealjoined
02:10:23  * isaacsquit (Remote host closed the connection)
02:27:31  * hij1nxquit (Quit: hij1nx)
02:39:15  * TooTallNatequit (Quit: Linkinus - http://linkinus.com)
02:53:10  * brsonquit (Ping timeout: 260 seconds)
03:05:43  * bulatshakirzyanojoined
03:05:57  * mikealquit (Quit: Leaving.)
03:08:45  * Ariaquit (Remote host closed the connection)
03:12:52  * Ariajoined
03:14:08  * iraquit (Quit: Leaving...)
03:19:48  * vtjnashjoined
03:26:31  * Ariaquit (Read error: Connection reset by peer)
03:26:57  * Ariajoined
03:34:06  * theColequit (Quit: theCole)
03:56:50  * Ariaquit (Remote host closed the connection)
04:04:50  * ericktquit (Ping timeout: 240 seconds)
04:50:52  * loladiroquit (Quit: loladiro)
04:53:15  * ericktjoined
04:54:25  * ericktquit (Client Quit)
04:55:24  * ericktjoined
04:57:47  * theColejoined
05:03:48  * loladirojoined
05:05:11  * theColequit (Quit: theCole)
05:17:28  * loladiroquit (Quit: loladiro)
05:33:01  * hij1nxjoined
05:37:16  * ericktquit (Quit: erickt)
05:41:57  * hij1nxquit (Quit: hij1nx)
05:45:19  * hij1nxjoined
05:47:35  * hij1nxquit (Client Quit)
05:52:06  * vtjnashquit (Remote host closed the connection)
05:52:22  * mikealjoined
05:52:46  * mikealquit (Client Quit)
06:02:22  * mikealjoined
06:13:45  * mikealquit (Quit: Leaving.)
06:21:08  * mikealjoined
06:25:58  * felixgejoined
06:25:58  * felixgequit (Changing host)
06:25:58  * felixgejoined
06:55:58  * abraxasquit (Remote host closed the connection)
06:56:33  * abraxasjoined
06:57:58  * abraxasquit (Read error: Connection reset by peer)
06:58:02  * abraxas_joined
06:59:15  * abraxas_quit (Remote host closed the connection)
06:59:21  * abraxasjoined
07:06:34  * rendarjoined
07:13:05  * AvianFluquit (Quit: Lost terminal)
07:21:49  * AvianFlujoined
07:33:50  * AvianFluquit (Ping timeout: 240 seconds)
07:36:05  * bulatshakirzyanoquit (Quit: Computer has gone to sleep.)
09:57:58  * hij1nxjoined
10:36:19  * paddybyersjoined
10:38:54  * abraxasquit (Remote host closed the connection)
10:39:27  * abraxasjoined
10:43:51  * abraxasquit (Ping timeout: 240 seconds)
11:03:32  * paddybyersquit (Quit: paddybyers)
11:23:41  * hij1nxquit (Quit: hij1nx)
11:39:32  * ibcjoined
11:41:01  * mmaleckijoined
11:43:00  <ibc>hi, is it possible for a TCP write req to fail (callback with error) while the connection remains alive?
12:03:27  * irajoined
12:03:30  * iraquit (Client Quit)
12:04:35  * irajoined
12:41:13  * piscisaureus_joined
13:17:05  <ibc>let me please repeat my question :)
13:17:15  <ibc>is it possible for a TCP write req to fail (callback with error) while the connection remains alive?
13:17:47  <piscisaureus_>ibc: well, yes that's possible in theory
13:17:53  <piscisaureus_>although unlikely
13:18:00  <ibc>in which cases?
13:18:32  <piscisaureus_>ibc: hmm, when the os is very low on resources for example
13:19:05  <piscisaureus_>ibc: but for all intents and purposes you should just assume that a socket is dead when uv_write() fails
13:19:24  <ibc>so the callback error status says us that the data could not be sent, but the socket remains connected, am I right? If so, which ERRNO would UV generate in the write callback?
13:20:02  <piscisaureus_>ibc: that's not defined. The errno is just whatever the actual error is that happened :-0
13:20:14  <ibc>yes, but in my case I always enable "receiving" so the way in which I expect to detect that the socket is dead is by receiving nread=-1 in read callback, hope this is right
13:20:53  <piscisaureus_>ibc: yes, I think that's okay
13:21:14  <ibc>thanks a lot
13:21:17  <piscisaureus_>ibc: alternatively you could just cut the connection whenever the write fails
13:21:25  <ibc>is that safe then?
13:21:45  <piscisaureus_>ibc: so
13:21:46  <piscisaureus_>if (status == -1) {
13:21:46  <piscisaureus_> if (!uv_is_closing(handle)) uv_close(handle, close_cb);
13:21:46  <piscisaureus_>}
13:21:54  <piscisaureus_>oh I forgot "return"
13:22:13  <ibc>if for example I try to send lot of data over a slow socket, couldn't the Kernel return error once its buffer is full or whatever?
13:22:14  <piscisaureus_>ibc: the same would be in the recv callback although you should probably check the buf and free it if appropriate
13:22:33  <piscisaureus_>ibc: yes the kernel could do that, but libuv normally handles that
13:22:41  <ibc>ok
13:23:07  <piscisaureus_>the typical error you would get is EAGAIN, and libuv will make sure to attempt to send it at a later point in time
13:23:14  <piscisaureus_>(this is more or less the purpose of libuv in the first place)
13:23:35  <ibc>about the recv callback, I assume that if I receive nread=-1 it means that data has NOT been received, so my read_alloc cb has not been called and I don't have to fre the buf, am I wrong?
13:23:47  <piscisaureus_>ibc: that's not correct
13:23:55  <ibc>sure, I understand, and yes, I hope libuv does that for me :)
13:23:57  <piscisaureus_>ibc: it *may* be called
13:24:41  <piscisaureus_>ibc: in case your alloc cb was not called buf.base will be NULL and buf.len will be 0
13:25:03  <piscisaureus_>ibc: so you can just check that.
13:25:19  <ibc>aja, good point! otherwise I should mantain some kind of state!
13:25:37  <piscisaureus_>ibc: this behaviour is guaranteed
13:25:46  <piscisaureus_>so you can just rely on it
13:25:59  <ibc>clear, thanks a lot
13:28:52  <indutny>piscisaureus_: hey man
13:28:59  <indutny>piscisaureus_: sorry, I was in transit DME->OMS
13:29:12  <indutny>going to start merging things into in about 2 hours
13:29:19  <indutny>piscisaureus_: is it ok?
13:29:32  <indutny>I mean, will you be here to land it in libuv's master?
13:29:40  <indutny>and, btw
13:29:47  <indutny>I still need help in writing to FD=3 on windows :P
13:29:52  <indutny>that's needed for test
13:30:07  <indutny>if you can paste a gist of uv api for that - I'll be really glad
13:30:15  <indutny>(otherwise this test will be linux-only)
13:30:18  <indutny>gtg
13:30:19  <indutny>ttyl
13:35:18  * bnoordhuisjoined
13:54:09  <bnoordhuis>piscisaureus_: you around?
13:55:41  <bnoordhuis>piscisaureus_: https://github.com/bnoordhuis/libuv/compare/uv_cond <- does that look sound to you?
13:57:47  * ibcquit (Remote host closed the connection)
14:16:14  * xaqjoined
14:30:47  * loladirojoined
14:41:53  * ericktjoined
14:46:43  <piscisaureus_>indutny: writing to fd 3:
14:46:53  <piscisaureus_>WriteFile(_get_osfhandle(3), ...)
14:47:13  <piscisaureus_>bnoordhuis: looking at it. what do we need cond vars for ?
14:48:17  * felixgequit (Quit: felixge)
14:51:50  <piscisaureus_>bnoordhuis: I didn't test (do we have tests?) but it looks like you did the right thing
15:00:02  * AvianFlujoined
15:08:51  <piscisaureus_>bnoordhuis: I am not sure about the implementation of the fallback mechanism
15:12:37  <indutny>piscisaureus_: ok
15:12:39  <indutny>back
15:12:50  <indutny>piscisaureus_: thanks
15:13:15  <piscisaureus_>indutny: the general trick is just:
15:13:15  <piscisaureus_>HANDLE os_handle = (HANDLE) _get_osfhandle(fd)
15:13:20  <piscisaureus_>to turn an fd into a HANDLE
15:13:54  <indutny>ah
15:13:55  <indutny>cool
15:16:45  * felixgejoined
15:21:21  <indutny>piscisaureus_: https://github.com/joyent/libuv/pull/440/files
15:21:26  <indutny>there was a hairy rebase
15:21:29  <indutny>so please review
15:21:37  <indutny>bnoordhuis: ^
15:22:23  <piscisaureus_>indutny: spawn_stdio_greater_than_4 ?
15:22:30  <piscisaureus_>you mean, greater than 3 :-)
15:22:30  <indutny>hahahaha
15:22:34  <indutny>ooops
15:23:00  <indutny>I'll fix that
15:24:01  <piscisaureus_>indutny: something else: https://github.com/indutny/libuv/commit/2d34b0f2a15c272fbca1dd039c47f0a6646641ab
15:24:15  <piscisaureus_>indutny: that is now almost an empty commit since the api changes were merged to the unix impl
15:24:35  <indutny>ok, I can fixup it if you don't mind
15:24:40  <indutny>sorry, order was messed
15:24:46  <piscisaureus_>indutny: maybe you can squash this commit into your unix changes too
15:25:08  <indutny>piscisaureus_: ok
15:25:21  <piscisaureus_>indutny: also, the commit message for https://github.com/indutny/libuv/commit/9c5fb24703728cf98ed4cf8ef8d53bc287124ba6 should be improved a little :-)
15:25:39  <piscisaureus_>indutny: because this doesn't explain anything, it's just summing up 2 flags
15:25:59  * felixgequit (Quit: http://www.debuggable.com/)
15:26:15  <piscisaureus_>indutny: lgtm otherwise
15:26:32  <indutny>force pushing
15:26:38  <piscisaureus_>that's okay
15:26:56  <indutny>piscisaureus_: done https://github.com/joyent/libuv/pull/440/commits
15:27:53  <piscisaureus_>indutny: lgtm
15:28:03  <indutny>piscisaureus_: ok, I don't have push access to libuv
15:28:05  <indutny>so :)
15:28:12  <piscisaureus_>indutny: oh really?
15:28:17  <indutny>either you push or we will wait for bnoordhuis to sign off it
15:28:18  <piscisaureus_>hmm I think we could get you that
15:28:29  <indutny>piscisaureus_: well, that's up to you
15:28:59  <piscisaureus_>isaacs: ping
15:32:40  <indutny>http://lalo.li/#q1YqSa0oUbJSyslM0i3VLVPSUUrMLcjJLClNSVWyMjXQUSrPL0pJTyxQsjLXUSrILEnOULIy0lEqLkhNTQGyjGoB4
15:32:52  * paddybyersjoined
15:34:27  <piscisaureus_>indutny: the rebase didn't work out well. I will re-land windows support on top of your unix work
15:34:34  <indutny>oh
15:34:35  <indutny>crap
15:34:49  <indutny>there were conflict in win/process.c
15:34:54  <indutny>I thought I solved them correctly
15:35:06  * indutnywill never trust PC again
15:35:19  <indutny>piscisaureus_: wait a minute
15:35:24  <indutny>piscisaureus_: lets do it other way
15:35:29  <indutny>I'll rebase my changes on yours
15:35:33  <piscisaureus_>indutny: no, don't bother.
15:35:42  <piscisaureus_>indutny: the problem is AvianFlu's detached support
15:35:42  <indutny>k
15:40:28  * paddybyersquit (Quit: paddybyers)
15:40:41  * bitprobejoined
15:49:29  * paddybyersjoined
15:50:23  <CIA-155>libuv: Fedor Indutny master * rf5b5127 / (4 files in 4 dirs): change spawn() api to allow using existing streams for stdio - http://git.io/AB5PWg
15:50:24  <CIA-155>libuv: Fedor Indutny master * rdc7a62d / (test/run-tests.c test/test-list.h test/test-spawn.c): test: test for uv_spawn with stdio_count == 3 - http://git.io/HoAcUw
15:50:24  <CIA-155>libuv: Bert Belder master * r3ec9c67 / (include/uv-private/uv-win.h include/uv.h src/win/process.c): windows: improve spawn stdio support - http://git.io/xTSNlQ
15:50:24  <CIA-155>libuv: Bert Belder master * r87dbffb / test/run-tests.c : windows: fix undefined function warning in run-tests.c - http://git.io/N2XnZg
15:50:26  <piscisaureus_>^-- indutny
15:56:37  * travis-cijoined
15:56:37  <travis-ci>[travis-ci] joyent/libuv#353 (master - 87dbffb : Bert Belder): The build was fixed.
15:56:37  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/528123a...87dbffb
15:56:37  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1500042
15:56:37  * travis-cipart
16:03:08  <indutny>nice
16:03:09  <indutny>:)
16:03:17  <indutny>can you merge that in node too?
16:03:35  <indutny>piscisaureus_: and I'll rebase my floating patches for child_process
16:03:45  <piscisaureus_>indutny: you mean, merge what in node?
16:03:52  <indutny>latest uv
16:03:55  <piscisaureus_>oh
16:03:55  <indutny>in node's mater
16:03:57  <piscisaureus_>yeah
16:03:58  <indutny>s/mater/master
16:07:35  <piscisaureus_>indutny: I can upgrade libuv now, but it'll break node
16:07:41  <indutny>piscisaureus_: ah
16:07:43  <indutny>right
16:07:47  <piscisaureus_>indutny: can you get the changes in node out quickly?
16:07:51  <piscisaureus_>indutny: I can also push to another branch
16:07:59  <indutny>piscisaureus_: I'll do it myself
16:08:03  <indutny>don't bother yourself
16:08:14  <indutny>I'll open PR with both uv update and child_process patches
16:08:15  <indutny>ok?
16:08:43  <piscisaureus_>indutny: https://github.com/piscisaureus/node/tree/uv-upgrade
16:08:45  <piscisaureus_>indutny: yeah
16:08:54  <piscisaureus_>indutny: but keep the commits separate
16:09:04  <indutny>of course
16:09:08  <indutny>I'll cherry-pick yours
16:12:51  <indutny>ha
16:12:53  <indutny>oops
16:12:59  <indutny>wrong window
16:15:29  * isaacsjoined
16:15:46  <indutny>isaacs: hey isaac
16:15:59  <indutny>wanna see some supa cool stuff by bert and me
16:16:10  <isaacs>sure! i love supa cool stuff
16:18:28  * ibcjoined
16:19:25  <ibc>hi, easy question (I think there must be some bug in my code):
16:20:26  <ibc>outbound TCP connection done and I call uv_close(handle), should the read cb be called with nread==-1 or not?
16:21:19  <indutny>isaacs piscisaureus_ bnoordhuis : https://github.com/joyent/node/pull/3358
16:22:14  <isaacs>indutny: ++ ++ ++
16:22:17  <isaacs>yes. this.
16:22:26  * isaacsreviewing
16:22:38  <indutny>cool
16:24:10  <ibc>note: in my question I did start_read()
16:24:31  <piscisaureus_>ibc: no.
16:24:39  <piscisaureus_>ibc: uv_close will implicitly call read_stop
16:24:50  <piscisaureus_>ibc: but in theory it may make the read callback once more with nread==0
16:25:05  <piscisaureus_>which might happen if it already called alloc_cb and wants you to give the buffer bacl
16:25:15  <ibc>"it may" does not seem a very robust mechanism :)
16:25:24  <ibc>aha, I understand
16:25:59  <ibc>so if I call uv_close() in a connected socket, then I should call my "on_disconnection" callback by myself, am I right?
16:26:27  <piscisaureus_>ibc: ehm... yes, if that's what you want to do :-)
16:26:38  <ibc>clear, thanks a lot
16:26:51  <piscisaureus_>ibc: normally you'll get -1/UV_EOF only if the remote gracefully closed the connection
16:27:03  <ibc>ok
16:27:19  <ibc>thanks a lot
16:28:44  <isaacs>indutny: we should still allow customFds
16:28:53  <isaacs>indutny: just silently translate to a stdio set.
16:28:56  <indutny>isaacs: hm... yeah, backwards compatibility
16:29:46  <isaacs>if (comstFds) stdio = customFds.map(function (fd, i) { return (fd === -1) ? 'pipe' : fd; });
16:29:52  <isaacs>but spelled properly :)
16:31:17  <indutny>:)
16:33:24  <indutny>isaacs: btw, created process_wrap instance won't always have .stdin, .stdout, .stderr
16:33:31  <indutny>hope this is clear from my commit
16:34:00  <isaacs>indutny: if you share stdin today, it's set to null, not a stream, isn't it?
16:34:37  <indutny>isaacs: hm... it'll be 'undefined' in my implementation
16:34:41  <indutny>isaacs: should I use null?
16:34:42  <isaacs>indutny: close enough :)
16:34:46  <isaacs>undefined == null
16:35:04  <isaacs>but it'll also have .stdio[n], right?
16:35:09  <indutny>yes
16:35:51  * ericktquit (Ping timeout: 245 seconds)
16:37:17  <indutny>isaacs: force pushed - about:blank
16:37:19  <indutny>oops
16:37:22  <indutny>https://github.com/indutny/node/commit/2bbbf444d893f768e9c82250b7bec62c86a1be65
16:37:26  <indutny>piscisaureus_: bnoordhuis ^
16:37:56  <indutny>isaacs: I'm nulling stdouts if they're not available as streams
16:39:12  <piscisaureus_>indutny: that looks good to me.
16:39:43  <piscisaureus_>indutny: although it would be nice if node never actually created this situation where fd 0,1,2 are not set
16:39:54  <piscisaureus_>rather they should be attached to /dev/null or something
16:40:13  <indutny>hm...
16:40:34  <indutny>isn't that what happening when you're not giving any custom fds to child process?
16:41:04  <piscisaureus_>indutny: you mean, in node, or in C ?
16:41:11  <indutny>piscisaureus_: in C
16:41:17  <piscisaureus_>indutny: no, that's not what happens
16:41:27  <indutny>piscisaureus_: what happens then?
16:41:38  <CIA-155>libuv: Bert Belder master * r07f0175 / src/win/poll.c : windows: fix hang when closing an active poll handle - http://git.io/FosBOg
16:41:39  <CIA-155>libuv: Bert Belder master * r9759c20 / (4 files in 2 dirs): test: verify that closing an active poll handle doesn't hang - http://git.io/GBXFpg
16:41:47  <piscisaureus_>indutny: well fd 1 will just not be openend
16:41:55  <indutny>huh
16:42:00  <indutny>that'll break some things definitely
16:42:08  <piscisaureus_>yes
16:42:23  <piscisaureus_>indutny: that's why you should make sure that if you spawn a child process, fd 0-2 are valid
16:42:35  <indutny>that should be checked in uv
16:42:39  <indutny>(as I understand problem)
16:42:46  <indutny>because API allows you to pass UV_IGNORE for all stdios
16:42:51  <piscisaureus_>indutny: yeah
16:42:57  <piscisaureus_>indutny: so maybe we should also add UV_NULL
16:43:01  <piscisaureus_>:-0
16:43:04  <piscisaureus_>more optionssss
16:43:05  <indutny>oh crap
16:43:10  <indutny>that looks awful
16:43:34  <indutny>does anyone need to really ignore those stdios?
16:43:40  <indutny>what is the use of it?
16:43:40  <piscisaureus_>indutny: or we should just ensure that fd 0-2 are /dev/null when UV_IGNORE is passed for them
16:43:51  <indutny>yes, that's what I'm talking about
16:44:04  <indutny>btw, it's not realted to my node.js patch and can be pulled separately
16:44:09  <indutny>can we land it?
16:44:20  <piscisaureus_>indutny: well I think the only reason would be that some app requires you to set FD 4 but you don't have anything to say for fd 3
16:44:29  <piscisaureus_>indutny: did you get an lgtm?
16:44:34  <indutny>piscisaureus_: from you?
16:44:40  <indutny>yes
16:44:41  <indutny>:)
16:44:42  <indutny>isaacs: ?
16:44:42  <piscisaureus_>indutny: from anyone?
16:44:43  <indutny>bnoordhuis: ?
16:46:01  <piscisaureus_>travis where areth thou
16:46:49  <piscisaureus_>indutny: if isaacs lgtm'd it then you can land it
16:47:25  <indutny>piscisaureus_: thanks for permission :)
16:47:45  <piscisaureus_>indutny: :-p
16:47:55  <piscisaureus_>indutny: that's how it works. If you get an lgtm you can land :-)
16:48:24  <indutny>yeah... I know
16:48:31  <indutny>isaacs: force pushed patch
16:48:44  <isaacs>indutny: also, some lint nits.
16:48:47  <isaacs>indutny: make jslinkt
16:48:49  <isaacs>*jslint
16:48:56  <indutny>ok
16:49:07  <piscisaureus_>Have to reboot to wake up my hd
16:49:14  <isaacs>indutny: s/function \(/function(/g
16:49:30  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
16:51:02  <indutny>yeah
16:51:21  * mmaleckiquit (Ping timeout: 240 seconds)
16:52:00  <indutny>isaacs: force pushed https://github.com/indutny/node/commit/5ba18dd0cf3ed3bb3e05a720c309c0e1a215409b
16:53:06  * paddybyersquit (Quit: paddybyers)
16:53:44  <indutny>https://github.com/indutny/node/commit/af98fc9 <- fixed "options.silent ?\n" -> "options.silent ? [...] : [..]"
16:54:29  <CIA-155>libuv: Bert Belder master * r38a6f9f / test/test-poll-close.c : test: fix windows-ism in test-poll-close.c - http://git.io/zMtH1Q
16:55:07  <indutny>oh, lua is using non-copying garbage collector
16:55:10  <indutny>creationix: ^^^
16:55:12  <indutny>I knew that
16:55:27  <indutny>that's why it was simplier for you to work with C API in lua
16:55:43  <indutny>creationix: http://wiki.luajit.org/New-Garbage-Collector
16:56:30  * piscisaureus_joined
16:59:43  * paddybyersjoined
17:01:14  * TooTallNatejoined
17:02:27  * c4milojoined
17:02:35  <indutny>isaacs: so how is it?
17:04:59  * pieternjoined
17:06:50  * travis-cijoined
17:06:50  <travis-ci>[travis-ci] joyent/libuv#354 (master - 07f0175 : Bert Belder): The build was broken.
17:06:50  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/87dbffb...07f0175
17:06:50  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1500576
17:06:50  * travis-cipart
17:10:20  <isaacs>indutny: running tests now
17:10:38  <isaacs>indutny: don't see any other problems in the read-through
17:11:47  <ibc>hi, can I be sure that if I call uv_close() for a established connection, I won't be called to read cb with nread==-1 ?
17:12:06  <indutny>isaacs: cool
17:12:27  <ibc>I do know that it should not occur, I just want to be sure that it will never happen
17:14:02  * ericktjoined
17:15:24  * AvianFluquit (Quit: leaving)
17:15:26  <piscisaureus_>ibc: should not happen.
17:15:33  <ibc>thanks :)
17:16:04  * AvianFlujoined
17:16:42  * vtjnashjoined
17:20:57  * travis-cijoined
17:20:57  <travis-ci>[travis-ci] joyent/libuv#355 (master - 38a6f9f : Bert Belder): The build is still failing.
17:20:57  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/07f0175...38a6f9f
17:20:57  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1500637
17:20:57  * travis-cipart
17:22:06  <CIA-155>node: isaacs v0.6 * r434404e / doc/community/index.html : website: Add nodejs.es to localized sites - http://git.io/KpcdMA
17:23:48  <loladiro>bnoordhuis: piscisaureus_: You there?
17:23:56  <isaacs>=== release test-net-pipe-connect-errors ===
17:23:57  <isaacs>Path: simple/test-net-pipe-connect-errors
17:23:57  <isaacs>Command: out/Release/node /Users/isaacs/dev/js/node-master/test/simple/test-net-pipe-connect-errors.js
17:23:58  <isaacs>--- TIMEOUT ---
17:24:00  <isaacs>[03:04|% 100|+ 419|- 1]: Done
17:24:02  <isaacs>indutny: that's not new since your thing
17:24:06  <isaacs>lgtm
17:24:09  <indutny>cool
17:24:12  <indutny>landing?
17:24:15  <isaacs>let's land it. if anything else breaks, whatever, we'll just fix it
17:24:25  <indutny>ok
17:24:30  <isaacs>you can do the honors :)
17:24:33  <indutny>hahahaha
17:24:39  <CIA-155>node: Bert Belder master * r30a0e58 / (36 files in 8 dirs): uv: upgrade to 87dbffbd - http://git.io/nsbLIg
17:24:39  <CIA-155>node: Fedor Indutny master * raf98fc9 / (11 files in 4 dirs): child_process: new stdio API for .spawn() method - http://git.io/dXqlRw
17:24:44  <isaacs>woot
17:24:54  <indutny>yeah
17:24:55  <indutny>finally
17:25:19  <indutny>so now master is feature-complete, right?
17:25:51  <piscisaureus_>indutny: ref/unref binding (!) :-)
17:25:56  <indutny>aaah
17:25:58  <piscisaureus_>indutny: also we have to fix this ignore issue
17:26:11  <AvianFlu>and then my four-line detached patch once unref is exposed :D
17:26:17  <isaacs>piscisaureus_: ignore issue?
17:26:22  <piscisaureus_>AvianFlu: your patch already landed
17:26:31  <AvianFlu>piscisaureus_: I was talking about node this time
17:26:34  <TooTallNate>indutny++
17:26:38  <AvianFlu>unless you guys exposed it when I wasn't looking
17:27:16  <isaacs>we also have to take care of this ev_io breakage. a bunch of modules use that, unfortunately.
17:27:34  <isaacs>at the very least, we have to not expose it, if it's going to be subtly broken
17:28:29  <piscisaureus_>isaacs: the problem is that if you spawn with [ignore, ignore, ignore] then fd 0-2 are not defined in the child process
17:28:34  <piscisaureus_>isaacs: that's a recipe for disaster
17:28:45  <isaacs>oh, i see
17:28:59  <isaacs>so if you do console.log() instead of vbeing ignored, it asplodes?
17:30:00  <loladiro>vtjnash and I are currently working on integrating the libuv process spawning API properly in Julia, do you guys have time to discuss some ideas?
17:32:54  <piscisaureus_>isaacs: well, you might end up writing to some weird file
17:33:01  <piscisaureus_>that you didn't intend to write to
17:33:04  <piscisaureus_>I gotta run
17:33:06  <piscisaureus_>bbl
17:33:09  <piscisaureus_>talk to bnoordhuis
17:33:14  <russfrank>it'll probs ebadf
17:33:16  <piscisaureus_>he's been slacking all day anyway L-)
17:33:27  <piscisaureus_>russfrank: unless the application opened some other file
17:33:33  <russfrank>when it tries to write(0, ..
17:33:35  <russfrank>true
17:33:38  <piscisaureus_>because that file is going to get the lowest unused fd
17:33:41  <russfrank>yeah
17:33:42  <piscisaureus_>bye
17:33:47  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
17:33:48  <russfrank>which is what makes it a particularly heinous bug ;P
17:37:57  <isaacs>we could just make 'ignore' for 0-2 just create a pipe, and not do anything with it
17:37:58  * xaq_joined
17:38:49  <russfrank>depends how much you want to idiot proof what is, in my opinion, a fairly advanced api.
17:40:27  <russfrank>also, does stdio make sense for the option name? you can set arbitrary fds, that's a lot more powerful then just setting the stdio fds..
17:41:27  * xaqquit (Ping timeout: 244 seconds)
17:42:02  <avalanche123>is there a way to wrap an existing file descriptor and turn it into uv_tcp/udp handle?
17:42:38  <AvianFlu>mvim -v
17:42:42  <AvianFlu>hahahahahha
17:42:46  * AvianFluwalks away
17:43:20  * xaqjoined
17:45:04  * xaq_quit (Ping timeout: 248 seconds)
17:48:10  * ibcquit (Remote host closed the connection)
17:51:41  * theColejoined
17:56:51  * mikealquit (Quit: Leaving.)
17:57:34  * `3rdEdenjoined
17:58:33  * ericktquit (Quit: erickt)
17:58:38  * brsonjoined
17:59:06  * mikealjoined
18:11:00  * paddybyersquit (Quit: paddybyers)
18:17:34  <indutny>isaacs: indeed
18:17:54  <indutny>isaacs: I think just creating empty(not-attached-pipes) should work
18:21:33  <isaacs>yeah
18:21:37  <isaacs>maybe that should happen in libuv, though
18:21:38  * dapjoined
18:26:21  <saghul>avalanche123 not AFAIK, but you can use a uv_poll_t handle for that
18:27:52  <avalanche123>saghul aha, thanks
18:27:55  * mjr_joined
18:29:32  * ericktjoined
18:33:22  <bnoordhuis>isaacs: there's a known issue with simple/test-net-pipe-connect-errors
18:33:41  <bnoordhuis>i fixed it, broke it again, will fix it again some time in the near future :)
18:34:07  <isaacs>bnoordhuis: kewl, thanks
18:39:02  <indutny>bnoordhuis: ;)
18:39:21  <indutny>isaacs: can I copy your gist into docs?
18:39:25  <indutny>isaacs: I mean stdio stuff
18:39:36  <isaacs>indutny: sure. make sure to correct anything that's wrong
18:40:21  <indutny>yeah
18:40:44  <indutny>isaacs: it's quite good, btw
18:40:46  <indutny>;)
18:55:45  * ericktquit (Quit: erickt)
19:07:21  * `3rdEdenquit (Quit: Leaving...)
19:18:33  * `3rdEdenjoined
19:23:40  <indutny>isaacs: yt?
19:24:06  <indutny>isaacs: review this, please : https://gist.github.com/b3d01907e27c83f671eb
19:25:37  <indutny>bnoordhuis: ^
19:25:41  <indutny>bnoordhuis: ;)
19:26:38  <isaacs>indutny: line 25, add another line-break and indent to 4 spaces
19:27:13  <isaacs>indutny: +6. Any TTY, TCP, File stream - Share corresponding stream with child
19:27:21  <isaacs>indutny: do we actually do anything with fs streams?
19:27:40  <isaacs>indutny: ie, some object like { fd: 12 }
19:31:30  <isaacs>otherwise lgtm
19:35:16  <indutny>ok
19:35:21  <indutny>will fix and push tomorrow
19:35:26  <indutny>are you going to be around?
19:36:03  <indutny>going to sele
19:36:05  <indutny>sleep now
19:36:06  <indutny>ttyl
19:36:06  <indutny>:)
19:40:41  <isaacs>yeah, i'll be around probably]
19:47:35  * `3rdEdenquit (Quit: Leaving...)
19:50:06  * piscisaureus_joined
19:58:52  * perezdquit (Quit: perezd)
19:59:51  * perezdjoined
20:00:37  * isaacsquit (Remote host closed the connection)
20:10:19  * avalanche123quit (Ping timeout: 260 seconds)
20:11:42  * avalanche123joined
20:12:15  <piscisaureus_>bnoordhuis: about the condvar api - do we need it for anything atm?
20:14:53  <bnoordhuis>piscisaureus_: uv_stat
20:15:07  <bnoordhuis>if that's to run in a single separate thread, that is
20:15:46  <piscisaureus_>bnoordhuis: I'm mostly worried about this condvar_wait atomicity thing
20:15:51  <bnoordhuis>i guess the rust guys could use it too, they have condvar code for windows and unix now
20:16:07  <piscisaureus_>and they just don't support xp?
20:16:50  <bnoordhuis>i'm pretty sure they don't
20:17:06  <bnoordhuis>then again... i have seen a PulseEvent or two in there
20:17:16  <piscisaureus_>yeah
20:17:28  <piscisaureus_>PulseEvent is broken, unless you don't care that it may not wake up all threads
20:18:09  <bnoordhuis>how does pthreads-win32 implement pthread_cond_broadcast?
20:18:18  <piscisaureus_>yeah, good question
20:18:39  <piscisaureus_>I was actually looking that up but got distracted by beer
20:18:51  <piscisaureus_>I think something with a semaphore and a mutex
20:19:15  <bnoordhuis>hmm, maybe i should steal that code
20:21:33  <bnoordhuis>piscisaureus_: btw, how is EnterCriticalSection sensitive to races?
20:22:06  <piscisaureus_>bnoordhuis: well it should be LeaveCriticalSection in the first place
20:22:17  <piscisaureus_>bnoordhuis: so that part is wrong :-)
20:22:27  <bnoordhuis>oh, heh
20:22:32  <piscisaureus_>bnoordhuis: so it has to be atomic because of the following
20:22:32  <bnoordhuis>okay, i get it now
20:22:51  <piscisaureus_>you release a mutex and start waiting
20:23:16  <piscisaureus_>as soon as you release the mutex another thread can obtain it and that other thread might wake you up again
20:23:20  * isaacsjoined
20:23:30  <piscisaureus_>bnoordhuis: but if this mutex-release + wait is not atomic, a race can occur
20:23:51  <bnoordhuis>actually, i don't know why i put in EnterCriticalSection and LeaveCriticalSection
20:24:04  <bnoordhuis>SleepConditionVariableCS takes care of that itself
20:25:09  <piscisaureus_>bnoordhuis: yes
20:25:15  <piscisaureus_>bnoordhuis: the problem is in the fallback code
20:26:10  <piscisaureus_>bnoordhuis: I think that SleepConditionVariableCS works exactly as pthread_timedwait
20:26:15  <piscisaureus_>(or whatever the thing was called)
20:30:22  <bnoordhuis>yeah, i see the problem with the fallback code
20:30:28  <bnoordhuis>but that's something i can fix
20:36:17  <piscisaureus_>bnoordhuis:ok, go for it
20:36:31  <piscisaureus_>bnoordhuis: I could use some condvars for uv_win_msg too :-)
20:37:25  * CIA-155quit (Ping timeout: 245 seconds)
20:41:56  * isaacs_joined
20:43:40  * ericktjoined
20:44:25  * isaacsquit (Ping timeout: 252 seconds)
20:44:42  <piscisaureus_>bnoordhuis: http://www.cs.wustl.edu/~schmidt/win32-cv-1.html
20:45:04  <bnoordhuis>ah, interesting
20:48:51  <piscisaureus_>bnoordhuis: note that the SignalObjectAndWait solution (the last one) is flawed, which sort of makes me question how knowledgeable the author is
20:54:33  * loladiroquit (Quit: loladiro)
21:03:50  * c4miloquit (Remote host closed the connection)
21:05:27  * CIA-112joined
21:09:17  <piscisaureus_>bnoordhuis: https://github.com/apache/apr/blob/trunk/locks/win32/thread_cond.c
21:10:47  <piscisaureus_>I find the approach rather complex though
21:11:01  <piscisaureus_>I could make it simpler but the timedwait thing is a problem
21:11:14  <piscisaureus_>the timeout part, that is
21:13:00  * loladirojoined
21:14:54  <bnoordhuis>loladiro: you were looking for me earlier today?
21:17:07  * loladiroquit (Ping timeout: 245 seconds)
21:19:59  * isaacsjoined
21:20:03  * seebeespart
21:23:14  * isaacs_quit (Ping timeout: 260 seconds)
21:25:32  * vtjnashquit (Read error: Connection reset by peer)
21:34:29  * isaacsquit (Remote host closed the connection)
21:35:38  * paddybyersjoined
21:36:35  * loladirojoined
21:36:49  * loladiroquit (Client Quit)
21:38:41  * loladirojoined
21:39:21  * loladiroquit (Client Quit)
21:43:29  * mikealquit (Quit: Leaving.)
21:48:29  * rendarquit
21:55:22  <piscisaureus_>pquerna: hey, yt?
21:55:32  <pquerna>piscisaureus_: yo
21:56:07  <piscisaureus_>pquerna: I saw apr has x-platform condition variables. Do you actually use them?
21:56:24  <pquerna>i've used them in products before, and httpd does
21:56:42  <piscisaureus_>pquerna: ok, kewl. So I can just assume that the logic is sane :-0
21:56:45  <pquerna>heh
21:56:50  <piscisaureus_>pquerna: we'd have to nick this -> https://github.com/apache/apr/blob/trunk/locks/win32/thread_cond.c
21:57:31  <pquerna>+1
21:57:44  <piscisaureus_>k
21:57:50  <piscisaureus_>pquerna: thnx
21:58:32  <pquerna>yeah, that interface maps super close to the pthread cond var api
21:58:42  <pquerna>so should be easy to make it work in uv-unix side once thats in
21:59:22  <piscisaureus_>pquerna: well, bnoordhuis already did it. But we need a fallback for lame old windowses that don't support condition vars natively
21:59:28  <pquerna>ah
21:59:32  <piscisaureus_>so this is a good candidate :-)
22:01:51  <piscisaureus_>bnoordhuis: do pthreads also have an equivalent of pthread_condwait which unlock an srw lock instead of a mutex?
22:02:01  <piscisaureus_>*unlocks
22:02:04  <bnoordhuis>piscisaureus_: no
22:02:09  <piscisaureus_>hm
22:03:21  * theColequit (Quit: theCole)
22:03:47  <bnoordhuis>http://www.youtube.com/watch?v=y9P2V0_p6vE <- really, really young frank zappa
22:03:51  <bnoordhuis>without beard and side burns even!
22:04:03  <bnoordhuis>playing on a bicycle btw
22:08:31  * paddybyersquit (Quit: paddybyers)
22:26:50  <piscisaureus_>TooTallNate: eh wut? I never run ./configure, yet it builds fine
22:27:03  <TooTallNate>piscisaureus_: vcbuild.bat does it for you
22:27:26  <TooTallNate>piscisaureus_: https://github.com/joyent/node/blob/master/vcbuild.bat#L72
22:28:16  <piscisaureus_>what a mess
22:28:22  * paddybyersjoined
22:28:32  <piscisaureus_>ah wait ./configure is just a python script now
22:28:43  <piscisaureus_>no more waf cruft \o/
22:29:00  <TooTallNate>ya, it basically just generates a config.gypi file by hand
22:29:19  <piscisaureus_>It would be nice to also have it run gyp
22:29:31  <piscisaureus_>we have so many of these scrips lying aroun
22:29:48  <TooTallNate>piscisaureus_: oh, ya, it does run gyp as well
22:29:56  <TooTallNate>see the bottom
22:30:31  <TooTallNate>piscisaureus_: i think the only thing waf is used for anymore is node-waf
22:30:35  <TooTallNate>which i'm itching to rip out :D
22:30:51  <piscisaureus_>woo
22:31:50  <piscisaureus_>vcbuild.bat + configure + gyp_node + gyp
22:31:55  <piscisaureus_>big ball of mud
22:31:57  <piscisaureus_>anyway
22:33:43  * avalanche123quit (Quit: Computer has gone to sleep.)
22:38:53  <TooTallNate>piscisaureus_: i mean you didn't even notice it for a couple months now ;)
22:39:28  <piscisaureus_>TooTallNate: sure, and I use it every day
22:40:17  <TooTallNate>the only reason we do it is so we get the "default" config.gypi that windows uses for the `process.config` object
22:40:36  <piscisaureus_>TooTallNate: yes, the build system is actually pretty solid now, I have to admit
22:40:54  <TooTallNate>:)
22:41:26  <piscisaureus_>TooTallNate: but I still fear complexity. Generating config.wixi files in ./configure doesn't sound like the way to go to me :-)
22:41:40  <piscisaureus_>Unless unavoidable, of courese
22:41:45  <piscisaureus_>*course
22:41:47  <TooTallNate>ya definitely. the less windows-specific stuff in that file the better
22:41:55  <TooTallNate>it should be gyp-specific stuff there
22:42:02  * isaacsjoined
22:42:39  <piscisaureus_>Now I should sollicit PRs that make you specify the install path and -scope
22:42:53  <piscisaureus_>I really hate digging into gyp
22:42:58  <piscisaureus_>oh and we need an icon too
22:43:30  <TooTallNate>gyp?
22:44:04  <piscisaureus_>no, just node.exe
22:44:20  <piscisaureus_>TooTallNate: ah. sorry, I meant I hate digging into wix ...
22:44:55  <TooTallNate>hmmm, what should the icon be?
22:45:23  * vtjnashjoined
22:46:03  <piscisaureus_>TooTallNate: I like the node icon here -> http://www.joyent.com/i/products/product-icons.png
22:46:20  <TooTallNate>ya for sure
22:46:34  * iraquit (Quit: Textual IRC Client: http://www.textualapp.com/)
22:47:21  <piscisaureus_>So now I need to find someone with illustrator to move the N inside the O :-)
22:47:24  * avalanche123joined
22:48:19  * vtjnashquit (Remote host closed the connection)
22:54:04  * TooTallNatehasn't used illustrator in years, but will attempt it...
22:57:18  * avalanche123quit (Quit: Computer has gone to sleep.)
22:58:42  * avalanche123joined
22:59:29  <TooTallNate>piscisaureus_: http://cl.ly/0x3o3u1Y3e2i2N0A1h3v good?
23:01:43  <piscisaureus_>TooTallNate: is it possible to turn the grey background transparent?
23:01:55  <TooTallNate>yes
23:02:11  <TooTallNate>i'm just trying to figure out the best way to convert to an .ico now
23:02:49  <piscisaureus_>TooTallNate: also it would be good, if possible, to change the aspect ratio of the n a little but
23:02:52  <piscisaureus_>*bit
23:03:09  <TooTallNate>in which way?
23:03:23  <piscisaureus_>such that the spacing at the side equals the padding at the diagonal edges
23:03:38  <piscisaureus_>Lemme see if I can show what I mean
23:03:39  <TooTallNate>ya, ok
23:03:45  <TooTallNate>i get you
23:03:54  <piscisaureus_>TooTallNate: probably scaling wont help
23:05:23  * xaqquit (Remote host closed the connection)
23:05:58  <piscisaureus_>TooTallNate: in general, if I make the picture really small the green border at the top and the side becomes nearly invisible, so the N needs to be a little smaller
23:06:39  * xaqjoined
23:07:56  * xaqquit (Remote host closed the connection)
23:12:05  * bitprobequit (Quit: Computer has gone to sleep.)
23:17:13  <TooTallNate>piscisaureus_: http://cl.ly/3Q1L3J253r3y3p3k1N2e
23:17:54  <piscisaureus_>TooTallNate: kewl
23:18:07  <piscisaureus_>TooTallNate: my preference would be to make the N a little bit smaller
23:18:19  <piscisaureus_>TooTallNate: I agree this is just bikeshedding :-)
23:18:46  <piscisaureus_>The green border still looks "fragile" on 48x48 and smaller
23:19:11  <TooTallNate>i agree
23:19:13  <TooTallNate>lemme try it out
23:19:26  <piscisaureus_>TooTallNate: also, there's a rather large padding around the icon now
23:19:35  <piscisaureus_>they grey space outside
23:19:40  <piscisaureus_>that should be smaller probably
23:20:56  <piscisaureus_>TooTallNate: part of the problem may also be that the diagonal top edges of the N are not parallel with the edges of the green circle
23:22:15  <TooTallNate>piscisaureus_: yay or nay? http://cl.ly/041e3v0a0g273v443l2u
23:22:21  <TooTallNate>haha, this icon stuff is hard :p
23:22:49  <piscisaureus_>TooTallNate: That'll do
23:22:56  <piscisaureus_>TooTallNate: we can always polish later
23:23:14  <TooTallNate>nice :)
23:23:16  <piscisaureus_>TooTallNate: can you send it to me as an ico file; i'll try to embed it and send a real-life screenshot
23:23:18  <TooTallNate>piscisaureus_: here you go: http://cl.ly/3V183C3l0B3t0v343J2J
23:23:38  * paddybyersquit (Quit: paddybyers)
23:24:29  <piscisaureus_>TooTallNate: hmm, windows doesn't seem to grok the file. It shows a blank sheet of paper
23:24:45  <TooTallNate>well isn't that lovely :D
23:24:52  * TooTallNategoogling
23:25:17  <piscisaureus_>TooTallNate: the file format is jpeg I think :-0
23:25:32  <piscisaureus_>hmm, no
23:25:45  <piscisaureus_>but there's stuff like "ICC profile" in there :-)
23:25:50  <piscisaureus_>not something ico's can do
23:27:54  <TooTallNate>looks related: http://apple.stackexchange.com/questions/25539/why-dont-ico-files-created-in-icon-composer-work-on-windows
23:29:58  <TooTallNate>piscisaureus_: well try this one http://cl.ly/352R2r3P1b1L0e1L0N27
23:32:50  <piscisaureus_>TooTallNate: well, that works
23:37:38  <piscisaureus_>TooTallNate: http://screencast.com/t/N8Jn30VWu
23:37:42  <piscisaureus_>TooTallNate: find all 5 :-p
23:38:16  <TooTallNate>wow :D
23:38:19  <TooTallNate>not half bad
23:38:48  <piscisaureus_>TooTallNate: The smaller sizes can still be better, esp. the small icon in the console title bar
23:39:08  <piscisaureus_>and in the task bar
23:39:38  <TooTallNate>ya
23:48:56  * irajoined
23:49:15  * TooTallNatequit (Quit: Leaving...)
23:52:10  * perezdquit (Quit: perezd)