00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:13:59  * rumpjoined
00:17:18  * c4milo_quit (Remote host closed the connection)
00:22:59  * lohkeyquit (Ping timeout: 240 seconds)
00:24:37  * jmar777joined
00:31:20  * stagasjoined
00:40:36  * ericktjoined
01:02:30  * rumpquit (Quit: rump)
01:14:01  * stagasquit (Ping timeout: 246 seconds)
01:15:29  * qmx|awaychanged nick to qmx
01:21:21  * c4milojoined
01:22:17  * rumpjoined
01:23:46  * trevnorrisquit (Ping timeout: 245 seconds)
01:25:48  * jmar777quit (Read error: Connection reset by peer)
01:26:27  * jmar777joined
01:30:05  * ericktquit (Quit: erickt)
01:30:43  * jmar777quit (Ping timeout: 248 seconds)
01:37:22  * c4miloquit (Remote host closed the connection)
01:44:18  * jmar777joined
01:47:07  * rumpquit (Quit: rump)
01:50:14  * dapquit (Quit: Leaving.)
02:03:47  * jmar777quit (Remote host closed the connection)
02:03:47  * rumpjoined
02:04:22  * jmar777joined
02:08:28  * jmar777quit (Ping timeout: 245 seconds)
02:19:22  * mikealquit (Quit: Leaving.)
02:20:12  * loladiroquit (Quit: loladiro)
02:25:28  * mikealjoined
02:39:23  * ericktjoined
02:47:46  * rumpquit (Read error: Connection reset by peer)
02:48:21  * rumpjoined
02:50:34  * TooTallNatequit (Quit: Computer has gone to sleep.)
02:51:48  * qmxchanged nick to qmx|away
02:53:52  * wavdedjoined
02:56:31  * indexzeroquit (Quit: indexzero)
03:00:52  * rumpquit (Quit: rump)
03:00:58  * trevnorrisjoined
03:15:08  * pooyaquit (Quit: pooya)
03:16:48  * indexzerojoined
03:17:37  * loladirojoined
03:28:56  * indexzeroquit (Quit: indexzero)
03:31:03  * qmx|awaychanged nick to qmx
03:31:04  * qmxchanged nick to 13WAAJ58N
03:31:41  * qmxjoined
03:31:44  * 13WAAJ58Nchanged nick to qmx|away
03:32:58  <wavded>exit
03:33:09  * wavdedquit (Quit: WeeChat 0.3.9.2)
03:33:55  * qmx|awayquit (Quit: ZNC - http://znc.sourceforge.net)
03:34:34  * qmxquit (Changing host)
03:34:34  * qmxjoined
03:38:40  * qmxchanged nick to qmx|away
03:38:49  * qmx|awaychanged nick to qmx
03:47:06  * trevnorrisquit (Ping timeout: 245 seconds)
03:48:12  * pooyajoined
03:54:28  * TooTallNatejoined
04:01:13  * TooTallNatequit (Quit: Computer has gone to sleep.)
04:11:23  * brsonquit (Ping timeout: 245 seconds)
04:21:11  * rumpjoined
04:23:54  * indexzerojoined
04:58:41  * mikealquit (Quit: Leaving.)
05:02:42  * mikealjoined
05:07:26  * mikealquit (Client Quit)
05:10:28  * pooyaquit (Quit: pooya)
05:16:06  * mikealjoined
05:26:10  * AvianFluquit (Remote host closed the connection)
05:43:06  * TooTallNatejoined
05:51:25  * indexzeroquit (Quit: indexzero)
05:52:02  * loladiroquit (Quit: loladiro)
06:06:19  * mikealquit (Quit: Leaving.)
06:12:51  * loladirojoined
06:15:28  * mikealjoined
06:25:24  * loladiroquit (Quit: loladiro)
06:26:56  * loladirojoined
06:31:02  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
06:39:20  * qmxchanged nick to qmx|away
06:46:13  * ericktquit (Quit: erickt)
06:47:54  * mikealquit (Quit: Leaving.)
06:50:19  * ericktjoined
06:52:40  * mikealjoined
07:37:23  * rendarjoined
07:48:01  * AvianFlujoined
08:02:29  * ericktquit (Quit: erickt)
08:58:41  * cmrquit (Quit: Leaving)
09:12:26  * loladiroquit (Quit: loladiro)
09:27:37  * pooyajoined
10:11:16  <indutny>morning
10:11:40  <rendar>hi
10:15:58  * paddybyersquit (Ping timeout: 245 seconds)
10:26:41  * pooyaquit (Quit: pooya)
10:28:19  * TheJHjoined
10:42:05  * rumpquit (Quit: rump)
10:54:54  * stagasjoined
10:59:45  * stagasquit (Ping timeout: 248 seconds)
11:07:47  * AvianFluquit (Remote host closed the connection)
11:08:51  * stagasjoined
11:19:33  * stagas_joined
11:21:58  * stagasquit (Ping timeout: 252 seconds)
11:21:58  * stagas_changed nick to stagas
11:40:05  * hzjoined
12:09:13  * paddybyersjoined
12:33:03  * stagasquit (Ping timeout: 245 seconds)
12:42:18  * paddybyersquit (Remote host closed the connection)
12:42:57  * paddybyersjoined
12:51:56  * stagasjoined
13:17:25  * jmar777joined
13:19:02  * jmar777quit (Remote host closed the connection)
13:19:40  * jmar777joined
13:23:47  * jmar777quit (Ping timeout: 248 seconds)
13:33:07  * jmar777joined
14:06:15  * sgallaghjoined
14:24:14  * jmar777quit (Remote host closed the connection)
14:24:37  * bnoordhuisjoined
14:24:49  * jmar777joined
14:28:53  * jmar777quit (Ping timeout: 245 seconds)
14:36:59  * hzquit
14:47:16  * kuplatup1uchanged nick to kuplatupsu
15:09:08  * V1joined
15:09:39  * V1changed nick to `3rdEden
15:16:07  * stagas_joined
15:17:52  * stagasquit (Ping timeout: 246 seconds)
15:18:02  * stagas_changed nick to stagas
15:28:09  * abraxas_joined
15:32:24  * abraxas_quit (Ping timeout: 252 seconds)
15:37:26  * mralephjoined
15:40:51  * paddybyersquit (Ping timeout: 248 seconds)
15:50:32  * paddybyersjoined
16:01:17  * mikealquit (Quit: Leaving.)
16:04:06  * TheJHquit (Read error: Operation timed out)
16:18:24  * ericktjoined
16:18:34  * paddybyersquit (Ping timeout: 252 seconds)
16:26:47  * `3rdEdenquit (Remote host closed the connection)
16:29:13  * `3rdEdenjoined
16:33:52  * `3rdEdenquit (Remote host closed the connection)
16:40:38  * paddybyersjoined
16:51:55  * jmar777joined
16:59:42  * wavdedjoined
17:02:36  <indutny>bnoordhuis: hoya
17:02:39  <indutny>how are you doing?
17:02:42  <bnoordhuis>indutny: heya
17:02:46  <bnoordhuis>fine. what about you?
17:02:50  <indutny>fine too
17:02:59  <indutny>just watched speed racer
17:03:11  <indutny>amazing movie
17:03:18  <indutny>bnoordhuis: have you seen it?
17:03:32  <bnoordhuis>no. should i?
17:04:25  * `3rdEdenjoined
17:07:12  * stagasquit (Read error: Connection timed out)
17:08:12  <wavded>the libuv book suggests that all system calls use threads, but aren't the epoll calls (like epoll_wait) a system call, and used on the main loop?
17:08:33  <indutny>yes it is
17:08:38  <indutny>though, book isn't written by us
17:08:38  <wavded>warning: beginner libuv questions ;)
17:08:45  <indutny>bnoordhuis: yeah, you probably should
17:08:50  <wavded>ok, thanks ;)
17:08:50  <indutny>bnoordhuis: it's worth it
17:09:02  <indutny>bnoordhuis: and it's filmed by Wachowskis
17:09:16  * stagasjoined
17:09:21  <wavded>so what calls really use threads, is there a simple answer or no? depends on os?
17:09:32  <bnoordhuis>wavded: file system and dns calls
17:09:46  <bnoordhuis>dns because it uses the system's getaddrinfo()
17:10:11  <wavded>ahh ok, and epoll has no way of really getting at reading a file right? or writing?
17:10:19  <indutny>yes
17:10:31  <wavded>so how does the file system stuff "report" back to the event loop?
17:10:32  <mmalecki>bnoordhuis: instead of doing Windows implementation I'll add stubs instead
17:10:48  <indutny>wavded: semaphores
17:10:52  <bnoordhuis>wavded: indeed. if you add a file fd to the epoll set, it's always readable/writable
17:10:52  <mmalecki>I'm faaar away from my windows machine
17:11:01  <bnoordhuis>mmalecki: thanks for the dinner last night btw
17:11:07  <mmalecki>bnoordhuis: pleasure :)
17:11:11  <indutny>wavded: synchronization between threads, shared queue
17:11:26  <wavded>ok thanks so is that where you see all the FUTEX calls in strace?
17:11:36  <bnoordhuis>wavded: yes
17:12:38  * `3rdEdenquit (Ping timeout: 245 seconds)
17:14:08  <wavded>is a internal thread pool used or do create them as needed?
17:14:37  <indutny>internal thread pool
17:15:28  <wavded>you guys rock, thanks, i may have more questions as i dive deeper here (trying to write up something on Node's event loop but want to get it right)
17:15:47  * jmar777quit (Remote host closed the connection)
17:16:22  * jmar777joined
17:17:02  <wavded>i'm assuming getaddrinfo blocks and that is why you use a thread?
17:17:16  <indutny>yes
17:17:17  <indutny>but
17:17:21  <indutny>yes
17:17:47  <wavded>is the only thing that really blocks in the main event loop the epoll_wait call? (or bad JS)
17:18:01  <indutny>and bad js
17:18:04  <indutny>and good js
17:18:09  <indutny>but on libuv side
17:18:16  <indutny>only epoll_wait/kqueue/ioctl
17:18:23  <indutny>oops
17:18:25  <indutny>iocp
17:18:36  <wavded>ok, yeah depending on what notification system is used
17:18:42  <indutny>exactly
17:20:35  * jmar777quit (Ping timeout: 248 seconds)
17:20:55  * loladirojoined
17:21:20  <wavded>indutny: so you mention good js to block, haven't seen that used much, are people writing stuff intentially to hang things up for a bit, certain use cases where that is good?
17:21:44  <indutny>what do you really mean by blocking
17:21:56  <indutny>waiting for some external event?
17:22:13  <indutny>to my mind, executing js function is sort of a blocking call
17:22:18  <indutny>because it depends on many events
17:22:21  <wavded>oh ok, i see
17:22:22  <indutny>like GC execution
17:22:24  <indutny>and optimization
17:22:32  <indutny>its really a philosophical question
17:22:40  <indutny>but to answer your question - only epoll_wait blocks
17:22:42  <indutny>in main thread
17:24:32  <wavded>ok yeah that makes sense, in my mind I was thinking of users doing stuff with while loops to slow a program down intentially
17:25:18  * jmar777joined
17:25:22  * jmar777quit (Remote host closed the connection)
17:25:58  * jmar777joined
17:26:32  * mikealjoined
17:27:15  <wavded>does "watching" files in node us the os notification system and not threads?
17:27:25  <wavded>us = use
17:29:28  <tjfontaine>depends on the platform and whats available, but it tries whenever possible
17:29:52  <wavded>ok yeah, is that the difference between fs.watch() and fs.watchFile() ?
17:29:59  <wavded>seems like that was in flux in the docs
17:30:35  * jmar777quit (Ping timeout: 260 seconds)
17:30:49  <wavded>so is "watching" the only file system operation that is done (potentially) using the OS notification system, and the other API methods use threads (shared mem)?
17:31:07  <indutny>well
17:31:13  <indutny>epoll_wait is OS notification system too
17:31:30  <indutny>and I don't get your question
17:31:38  <indutny>can you rephrase it?
17:31:44  <wavded>sure, i'll try
17:33:17  <wavded>it was mentioned earlier that threads were used for file system stuff and dns, so meaning not using epoll_wait right? but epoll can notify of file changes right? so that wouldn't use a thread for that?
17:33:43  <wavded>that was three questions ;)
17:35:08  <wavded>i'm using epoll language cause i mostly work with linux but "trying" to stay generic across platforms
17:36:56  <wavded>in other words, do all file system operations in Node use threads in libuv, or do some use epoll (or similar)?
17:37:29  <indutny>em...
17:37:38  <indutny>brb
17:39:25  <bnoordhuis>wavded: native file watching is done with epoll/kqueue/event ports
17:39:49  <bnoordhuis>but the stat() approach (what fs.watchFile uses), is done in the threadpool
17:42:57  * jmar777joined
17:44:30  <wavded>bnoordhuis: ok got it! thanks
17:49:13  * TheJHjoined
18:06:55  <wavded>does the 'initial' execution of the application code happen before the 'event loop' gets rolling or would you consider it part of the event loop still?
18:07:10  * mikealquit (Quit: Leaving.)
18:08:24  <wavded>my understanding has been that the app code executes, callbacks are registered, event loop starts, callbacks are triggered
18:10:53  <bnoordhuis>wavded: yes, that's what happens
18:11:05  * bnoordhuisis off to dinner
18:12:49  <wavded>thanks, yeah strace would have told me that very clearly :) forgot about that, thanks!
18:21:18  <rendar>bnoordhuis: in which platform are used event ports?
18:28:50  * Necrs1mia84joined
18:29:02  * Necrs1mia84part
18:30:33  * pooyajoined
18:30:37  * loladiroquit (Quit: loladiro)
18:34:56  <wavded>thanks bnoordhuis and indutny for all the help, i feel like i learned a lot, bowing out for now
18:35:03  * wavdedquit (Quit: WeeChat 0.3.9.2)
18:36:57  <indutny>np
18:41:11  * V1joined
18:41:40  * V1changed nick to `3rdEden
18:54:11  * skebcioquit (Quit: No Ping reply in 180 seconds.)
18:54:53  * skebciojoined
19:34:12  * loladirojoined
19:34:58  * paddybyersquit (Ping timeout: 256 seconds)
19:35:22  * `3rdEdenquit (Remote host closed the connection)
19:42:26  * loladiroquit (Ping timeout: 244 seconds)
19:45:07  * loladirojoined
19:46:47  * paddybyersjoined
19:48:53  * paddybyersquit (Read error: Connection reset by peer)
19:51:26  * paddybyersjoined
19:53:40  * paddybyersquit (Read error: Connection reset by peer)
19:53:46  * paddybyers_joined
20:00:47  * `3rdEdenjoined
20:02:30  * pooyaquit (Quit: pooya)
20:11:58  * pooyajoined
20:22:03  * AvianFlujoined
20:31:28  * TheJHquit (Ping timeout: 240 seconds)
20:41:19  * piscisaureus_joined
20:41:28  <piscisaureus_>ircretary: notes
20:49:13  * EhevuTovjoined
20:53:01  <mmalecki>piscisaureus_: just getting up, eh?
20:53:22  <piscisaureus_>mmalecki: well I got up at 4 or so
20:53:39  <piscisaureus_>so, late indeed. But it's almost 10pm already
21:06:11  <mmalecki>piscisaureus_: nice. how are you?
21:06:32  <piscisaureus_>mmalecki: a little blurry
21:07:02  <mmalecki>I can imagine
21:07:15  <piscisaureus_>mmalecki: to be honest i had way too much alcohol yesterday
21:07:34  <piscisaureus_>:-)
21:09:53  * hzjoined
21:26:11  * EhevuTovquit (Quit: This computer has gone to sleep)
21:32:19  * TooTallNatejoined
22:01:47  * trevnorrisjoined
22:16:02  <bnoordhuis>rendar: event ports is sunos, i.e. solaris or smartos
22:20:56  * EhevuTovjoined
22:22:09  <piscisaureus_>helloooo bnoordhuis
22:22:17  <bnoordhuis>piscisaureus_: evening bertje
22:22:26  <piscisaureus_>night even...
22:25:02  <indutny>bnoordhuis: Since net.Server's `connection` property is deprecated now, we don't
22:25:02  <indutny>need API to track socket's state to keep `connection`s value up-to-date.
22:25:07  <indutny>bnoordhuis: lgty?
22:25:14  <bnoordhuis>indutny: yes, but mention that in the commit log
22:25:19  <indutny>yes
22:25:22  <indutny>that'll be in it
22:25:55  <MI6>joyent/node: Fedor Indutny master * 00abc24 : child_process: remove .track option Since net.Server's `connection` prop - http://git.io/heK-MQ
22:26:25  <indutny>done
22:27:33  * rendarquit
22:35:19  * AvianFluquit (Remote host closed the connection)
22:39:32  * AvianFlujoined
22:44:36  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
22:48:28  * sgallaghquit (Remote host closed the connection)
22:51:21  * loladiroquit (Quit: loladiro)
22:52:46  * EhevuTovquit (Quit: This computer has gone to sleep)
22:53:50  * loladirojoined
22:55:25  * jmar777quit (Remote host closed the connection)
22:56:54  * hzquit
22:59:12  * `3rdEdenquit (Remote host closed the connection)
23:07:29  * AvianFluquit (Remote host closed the connection)
23:08:18  * piscisaureus_joined
23:22:25  * loladiroquit (Quit: loladiro)
23:25:24  * trevnorrispart ("seeya")
23:29:26  <MI6>joyent/node: Ben Noordhuis master * 2dd3738 : typed arrays: fix DataView endianness regression Fix an off-by-one error - http://git.io/hgMbxQ
23:35:24  * stagas_joined
23:37:59  * stagasquit (Ping timeout: 252 seconds)
23:38:04  * stagas_changed nick to stagas
23:48:45  * loladirojoined