00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:09  * ircretaryjoined
00:06:54  * dsantiagojoined
00:08:27  * AvianFlujoined
00:09:33  * dap_1quit (Quit: Leaving.)
00:11:27  * mcavagequit (Remote host closed the connection)
00:12:09  * wolfeidauquit (Remote host closed the connection)
00:13:04  * dsantiagoquit (Ping timeout: 260 seconds)
00:14:04  * avalanche123quit (Remote host closed the connection)
00:14:32  * avalanche123joined
00:18:58  * daviddiasquit (Remote host closed the connection)
00:19:37  * avalanche123quit (Ping timeout: 272 seconds)
00:20:49  * avalanche123joined
00:27:16  * dsantiagojoined
00:27:57  * dap_joined
00:28:32  * c4milojoined
00:29:08  * zz_karupachanged nick to karupa
00:31:24  * a_le_quit (Remote host closed the connection)
00:33:20  * c4miloquit (Ping timeout: 252 seconds)
00:35:19  * dap_quit (Quit: Leaving.)
00:37:12  * dsantiag_joined
00:40:03  * dsantiagoquit (Ping timeout: 255 seconds)
00:40:33  * dsantiagojoined
00:41:33  * dsantiag_quit (Ping timeout: 240 seconds)
00:46:11  * yunongquit (Ping timeout: 244 seconds)
00:48:03  * Ralithquit (Ping timeout: 240 seconds)
00:49:34  * daviddiasjoined
00:56:32  * a_lejoined
00:58:58  * a_lequit (Remote host closed the connection)
01:05:15  * wolfeidaujoined
01:16:22  * Ralithjoined
01:21:03  * TooTallNatequit (Quit: Computer has gone to sleep.)
01:27:09  * wolfeidauquit (Remote host closed the connection)
01:28:48  * avalanche123quit (Remote host closed the connection)
01:29:43  * daviddiasquit (Remote host closed the connection)
01:29:55  * daviddiasjoined
01:30:56  * daviddiasquit (Remote host closed the connection)
01:37:31  * janjongboomjoined
01:39:20  * brson_joined
01:40:29  * brsonquit (Read error: Connection reset by peer)
01:45:32  * janjongboomquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:57:29  * SquirrelCZECH_joined
01:58:34  * SquirrelCZECHquit (Ping timeout: 264 seconds)
02:02:37  * brson_quit (Quit: leaving)
02:03:15  * daviddiasjoined
02:03:19  * brsonjoined
02:16:50  * c4milojoined
02:21:58  * c4miloquit (Ping timeout: 264 seconds)
02:39:51  * thlorenzjoined
02:41:26  * thlorenzquit (Read error: Connection reset by peer)
02:41:48  * thlorenzjoined
02:45:27  * brsonquit (Quit: leaving)
02:46:35  * avalanche123joined
02:53:54  * Left_Turnquit (Remote host closed the connection)
02:57:49  * thlorenzquit (Read error: Connection reset by peer)
02:57:51  * thlorenz_joined
02:59:20  * avalanche123quit (Remote host closed the connection)
02:59:47  * avalanche123joined
03:00:40  * wolfeidaujoined
03:04:08  * avalanche123quit (Remote host closed the connection)
03:04:14  * avalanche123joined
03:06:31  * toothrotquit (Ping timeout: 248 seconds)
03:13:14  * a_lejoined
03:13:50  * wolfeidauquit (Remote host closed the connection)
03:16:18  * petka_quit (Quit: Connection closed for inactivity)
03:20:51  * avalanche123quit (Remote host closed the connection)
03:21:26  * avalanche123joined
03:25:43  * avalanche123quit (Ping timeout: 248 seconds)
03:29:25  * AvianFluquit (Remote host closed the connection)
03:43:21  * janjongboomjoined
04:02:33  * guybrushquit (Excess Flood)
04:03:19  * guybrushjoined
04:05:12  * c4milojoined
04:10:09  * c4miloquit (Ping timeout: 272 seconds)
04:23:59  * thlorenzjoined
04:23:59  * thlorenz_quit (Read error: Connection reset by peer)
04:26:24  * avalanche123joined
04:39:47  * avalanche123quit (Remote host closed the connection)
04:40:14  * avalanche123joined
04:43:33  * thlorenz_joined
04:44:59  * avalanche123quit (Ping timeout: 272 seconds)
04:45:24  * thlorenzquit (Ping timeout: 244 seconds)
05:00:04  * avalanche123joined
05:28:14  * rmgjoined
05:33:00  * rmgquit (Ping timeout: 255 seconds)
05:50:06  * a_lequit (Remote host closed the connection)
05:53:33  * c4milojoined
05:54:50  * avalanche123quit (Remote host closed the connection)
05:54:51  * wolfeidaujoined
05:55:21  * avalanche123joined
05:58:34  * c4miloquit (Ping timeout: 264 seconds)
05:59:33  * avalanche123quit (Ping timeout: 240 seconds)
06:05:16  * avalanche123joined
06:27:56  * avalanche123quit (Remote host closed the connection)
06:28:24  * avalanche123joined
06:28:33  * daviddiasquit (Ping timeout: 252 seconds)
06:33:17  * avalanche123quit (Ping timeout: 272 seconds)
06:44:11  * yunongjoined
06:50:06  * rendarjoined
06:54:49  * Left_Turnjoined
07:01:13  * yunongquit (Remote host closed the connection)
07:01:47  * yunongjoined
07:06:04  * yunongquit (Ping timeout: 260 seconds)
07:17:59  * avalanche123joined
07:28:46  * avalanche123quit (Remote host closed the connection)
07:29:12  * avalanche123joined
07:33:36  * avalanche123quit (Ping timeout: 255 seconds)
07:35:24  * thlorenzjoined
07:35:24  * thlorenz_quit (Read error: Connection reset by peer)
07:39:08  * txdvquit (Read error: Connection reset by peer)
07:41:50  * c4milojoined
07:46:14  * c4miloquit (Ping timeout: 244 seconds)
08:04:48  * hzjoined
08:23:06  * Left_Turnquit (Ping timeout: 255 seconds)
08:39:28  * petka_joined
08:52:50  * stagasjoined
09:06:10  * Left_Turnjoined
09:10:25  * txdvjoined
09:20:25  * thlorenzquit (Remote host closed the connection)
09:30:07  * c4milojoined
09:34:44  * c4miloquit (Ping timeout: 244 seconds)
09:41:37  <txdv>saghul: 45% of the do { } while use a new line between } while
09:42:33  <txdv>it drives me mad
09:42:35  <txdv>i want to change them all
09:43:22  * karupachanged nick to zz_karupa
09:44:14  <saghul>txdv: no lint patches please
09:46:43  <txdv>i know
09:46:52  <txdv>code noise
09:47:05  <txdv>though the trailing space one got accepted by indutny, but it was only 8 lines or so
09:47:15  <indutny>heya
09:47:31  <indutny>yes, it was small
09:47:35  <indutny>and
09:47:37  <indutny>I probably was wrong
09:47:47  <indutny>txdv: thank you for efforts, though
09:48:18  <txdv>my editor shows spaces, tabs and trailing whitespaces
09:48:25  <txdv>i don't know why not everyone is using this kind of configuration
09:48:51  <saghul>agreed, mine highlights them as well
09:49:42  <txdv>saghul: returning 0 on not being able to send a packet in uv_udp_try_send is bad
09:49:55  <txdv>because we can send a packet with 0 content
09:50:02  <saghul>txdv: why?
09:50:09  <saghul>well, then it's up to you to check
09:50:22  <saghul>the return code means "we sent these amount of bytes"
09:51:04  <saghul>so, if you want to send 0 bytes, be my guest
09:53:48  <txdv>we return 0 when the queue is full
09:53:58  <txdv>we return 0 when we successfully sent a packet with 0 content
09:54:42  <txdv>we need a UV_QUEUE_IS_FULL error or something
09:55:57  <saghul>txdv: I disagree, we return the number of bytes we sent
09:57:15  <saghul>why would you need to differentiate?
09:57:34  <saghul>you can check the send count if you want before calling the function
09:57:44  <txdv>if the queue is full, we return 0 (like try_write) does
09:58:02  <txdv>if we try to send a packet with 0 content it is ambigious
09:58:13  <txdv>the user doesn't know if the queue was full or it has been successfully sent
09:58:37  <txdv>or does the size include the header of the udp?
09:59:04  <saghul>txdv: no, it's the buffer count
10:02:18  <txdv>sizeof(buffer) = 0, try_send returns 0 regardless whether the queue was not empty (and therefore couln't be sent immediately) or the packet got sent
10:02:24  <txdv>i don't know how to make it more clearer
10:03:20  <saghul>hum, in TCP you can't send an empty packet, but you can in UDP
10:03:41  <txdv>YES
10:03:44  <txdv>YOU GOT IT
10:03:44  <LOUDBOT>I WAS ALL LIKE "OH FUCK ME FREDDY, THIS IS CZECH BEER, YOU GOTTA HAVE SOME YOU OL' BITTY!"
10:03:48  <saghul>post a note on the issue please
10:18:57  * mraleph1quit (Read error: Connection reset by peer)
10:18:57  <saghul>txdv: if there is stuff queued we could return EALREADY
10:19:00  * mralephjoined
10:34:10  <txdv>UV_EALREADY?
10:58:43  * seishunjoined
11:00:45  * mrvisserjoined
11:02:20  <saghul>txdv: -EALREADY is ok
11:03:26  * guybrushquit (Excess Flood)
11:04:20  * guybrushjoined
11:08:16  * WalrusBunnyPonyquit (Ping timeout: 260 seconds)
11:18:23  * c4milojoined
11:20:01  * avalanche123joined
11:23:14  * c4miloquit (Ping timeout: 244 seconds)
11:24:58  * avalanche123quit (Ping timeout: 264 seconds)
11:26:39  * EhevuTovjoined
11:37:38  * janjongboomquit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:43:34  * zz_karupachanged nick to karupa
11:52:38  * karupachanged nick to zz_karupa
12:13:19  * toothrjoined
12:24:00  * mrvisserquit (Remote host closed the connection)
12:24:34  * mrvisserjoined
12:29:15  * mrvisserquit (Ping timeout: 255 seconds)
12:35:11  * janjongboomjoined
12:40:46  * mrvisserjoined
13:01:01  * euoiajoined
13:02:47  * janjongboomquit (Ping timeout: 272 seconds)
13:02:48  * WalrusPonyjoined
13:04:01  * janjongboomjoined
13:05:00  <txdv>the udp codei s a freaking mess
13:06:36  * c4milojoined
13:11:14  * c4miloquit (Ping timeout: 252 seconds)
13:16:41  <saghul>txdv: why do you say that?
13:26:52  * toothrquit (Ping timeout: 260 seconds)
13:27:45  <txdv>https://github.com/joyent/libuv/issues/1349
13:27:48  <txdv>saghul: https://github.com/joyent/libuv/issues/1349
13:29:06  <txdv>a million branches in node as well
13:29:11  <txdv>a branch for every release
13:29:15  <txdv>whos idea was that
13:30:16  <nathan7>release branches are a pretty standard thing
13:30:33  <nathan7>and they're useful, because backports and hotfixes do actually need to happen at times
13:31:15  <txdv>wish they had an own directory or something
13:31:56  <nathan7>…directory?
13:32:18  * euoiaquit (Ping timeout: 240 seconds)
13:32:19  <txdv>apply the freaking concept of directories on branches
13:33:19  <txdv>there is no such feature in git
13:33:56  <nathan7>tbh, here 'v' sorts after pretty much all the branches
13:34:10  <nathan7>literally all of them, actually
13:34:23  <nathan7>heh
13:34:28  <nathan7>there's a tj-try-this branch
13:34:44  <txdv>your honesty honours me
13:34:46  <nathan7>with just one commit from Bert a year ago
13:35:13  <nathan7>txdv: they're not terribly in the way if they don't intermix with feature branches
13:35:40  <txdv>a prefix is fine for distinguishing
13:36:00  <txdv>what I don't like is that when I fork, I get 100 branches and it just clutters everything
13:36:13  <txdv>and then I have to type git push :branchname 100 times to get rid of it
13:36:33  <nathan7>your shell undoubtedly has loops for this purpose
13:36:52  <txdv>good idea
13:37:11  <txdv>ill call the command "git fuck_those_branches"
13:37:16  <nathan7>totes
13:47:30  * euoiajoined
13:49:23  <saghul>txdv: I'll look into that, I know it's not arbitrary, but I need to investigate more
13:50:01  <saghul>now, saying that it's a mess becuase it doesn't handle empty datagrams it's a bit of a stretch
13:53:54  <txdv>no udp_try_send support
13:53:59  <txdv>udp_send doesn't try to write immediately
13:54:40  <txdv>nevermind
13:54:45  <txdv>libuv is fabolous and so are you
13:54:57  <saghul>txdv: no one forced you to use it
13:55:11  <saghul>nothing / nobody is perfect
13:56:25  <txdv>but how can i web scale without uv?
14:07:32  * janjongboomquit (Ping timeout: 244 seconds)
14:22:49  * avalanche123joined
14:26:49  * stagasquit (Quit: Bye)
14:27:39  * avalanche123quit (Ping timeout: 272 seconds)
14:58:24  * avalanche123joined
15:07:20  * mrvisserquit (Remote host closed the connection)
15:07:54  * mrvisserjoined
15:12:03  * mrvisserquit (Ping timeout: 240 seconds)
15:14:39  * WalrusPony1joined
15:15:38  * euoiaquit (Ping timeout: 240 seconds)
15:15:58  * WalrusPonyquit (Ping timeout: 264 seconds)
15:31:37  * euoiajoined
15:38:09  * yunongjoined
15:39:48  * avalanche123quit (Remote host closed the connection)
15:40:15  * avalanche123joined
15:42:53  * rendarquit
15:42:56  * mrvisserjoined
15:44:40  * avalanche123quit (Ping timeout: 244 seconds)
15:44:54  * c4milojoined
16:00:43  * thlorenzjoined
16:00:47  * rmgjoined
16:03:26  * yunongquit (Remote host closed the connection)
16:04:02  * yunongjoined
16:04:57  * dap_joined
16:08:46  * yunongquit (Ping timeout: 264 seconds)
16:09:14  * a_lejoined
16:11:03  * a_lequit (Remote host closed the connection)
16:12:18  * thlorenzquit (Read error: Connection reset by peer)
16:13:49  * thlorenzjoined
16:18:40  * thlorenzquit (Read error: Connection reset by peer)
16:21:07  * thlorenzjoined
16:29:44  * rendarjoined
16:38:24  * yunongjoined
16:38:42  <txdv>saghul: https://github.com/joyent/node/pull/7885 3 udp fixes
16:38:48  * c4miloquit (Remote host closed the connection)
16:39:23  * c4milojoined
16:43:02  * mikealjoined
16:43:24  <txdv>ibc was right
16:43:28  <txdv>udp is the poor brother of tcp
16:44:10  * c4miloquit (Ping timeout: 264 seconds)
16:45:36  <saghul>txdv: nice! the more people that look at the code and improve it, the better it gets :-)
16:47:07  * thlorenzquit (Remote host closed the connection)
16:52:08  <txdv>im going home
16:52:11  <txdv>smartos shit
16:52:14  * txdvquit (Quit: leaving)
16:52:56  <MI6>joyent/libuv: Andrius Bentkus master * d17bfc6 : doc: add documentation to uv_udp_start_recv - http://git.io/cBdE3Q
16:55:08  * avalanche123joined
17:02:05  * kazuponjoined
17:06:18  * petka_quit (Quit: Connection closed for inactivity)
17:12:10  * mrvisserquit (Remote host closed the connection)
17:12:51  * TooTallNatejoined
17:12:51  * avalanch_joined
17:14:36  * avalanche123quit (Ping timeout: 260 seconds)
17:19:32  * yunongquit (Read error: Connection reset by peer)
17:19:34  * yunong_joined
17:25:21  * a_lejoined
17:25:52  * a_lequit (Remote host closed the connection)
17:31:47  * mikealquit (Quit: Leaving.)
17:33:24  * c4milojoined
17:35:18  * euoiaquit (Ping timeout: 240 seconds)
17:35:34  * c4milo_joined
17:37:01  * mikealjoined
17:37:37  * rosskjoined
17:37:41  * rosskquit (Remote host closed the connection)
17:37:42  * brsonjoined
17:37:47  * rosskjoined
17:37:57  * c4miloquit (Ping timeout: 255 seconds)
17:38:21  * c4milojoined
17:40:08  * avalanch_quit (Remote host closed the connection)
17:40:12  * c4milo_quit (Ping timeout: 255 seconds)
17:40:23  * c4milo_joined
17:40:23  * c4miloquit (Read error: Connection reset by peer)
17:40:44  * avalanche123joined
17:42:48  * avalanch_joined
17:43:50  * mikealquit (Quit: Leaving.)
17:44:55  * avalanche123quit (Ping timeout: 248 seconds)
17:45:08  * c4milo_quit (Ping timeout: 252 seconds)
17:46:04  * kazuponquit (Remote host closed the connection)
17:46:30  * kazuponjoined
17:51:03  * kazuponquit (Ping timeout: 240 seconds)
17:51:55  * c4milojoined
17:52:56  * thlorenzjoined
17:53:45  * EhevuTovquit (Quit: This computer has gone to sleep)
17:54:27  * txdvjoined
17:54:39  <txdv>ahoy
17:56:32  * m76joined
17:56:46  * c4miloquit (Ping timeout: 264 seconds)
18:01:48  * Ralithquit (Ping timeout: 255 seconds)
18:05:28  * thlorenzquit (Ping timeout: 260 seconds)
18:17:09  * euoiajoined
18:25:46  * Ralithjoined
18:32:56  * avalanch_quit (Remote host closed the connection)
18:33:30  * avalanche123joined
18:36:21  * avalanche123quit (Remote host closed the connection)
18:36:36  * avalanche123joined
18:36:45  * yunongjoined
18:39:22  * yunong_quit (Ping timeout: 264 seconds)
19:00:15  * sblomjoined
19:05:12  * kenperkinsquit (Read error: Connection reset by peer)
19:05:32  * kenperkinsjoined
19:09:49  * yunong_joined
19:11:47  * avalanche123quit (Remote host closed the connection)
19:11:51  * yunongquit (Ping timeout: 248 seconds)
19:15:33  * kenperkinsquit (Ping timeout: 240 seconds)
19:29:16  * kenperkinsjoined
19:33:06  * avalanche123joined
19:33:30  * hzquit
19:35:18  <indutny>heya
19:35:24  <indutny>trevnorris: finally back from venues?
19:35:40  <MI6>joyent/node: Eli Skeggs master * 1100f3d : net: don't emit listening if handle is closed - http://git.io/-nI4Vg
19:40:41  * mrvisserjoined
19:53:26  * m76quit (Read error: Connection reset by peer)
19:56:26  * dap_quit (Read error: Connection reset by peer)
19:56:44  * dap_joined
19:56:48  * yunong_quit (Ping timeout: 244 seconds)
19:56:59  * yunongjoined
19:58:58  <MI6>joyent/node: Fedor Indutny v0.10 * 9cbfd6e : constants: add O_NONBLOCK constant (+2 more commits) - http://git.io/Cd-68Q
20:00:55  <indutny>trevnorris: thank you
20:01:38  <MI6>joyent/node: Fedor Indutny master * ae1e325 : child_process: accept uid/gid everywhere - http://git.io/5tueOw
20:01:38  * bradleymeckjoined
20:03:03  <MI6>joyent/node: Brian White v0.10 * c7c904b : doc: fix createCipher description - http://git.io/AUKnBw
20:10:35  <trevnorris>indutny: sup dude
20:11:49  <indutny>thanks man
20:11:51  <indutny>all good
20:12:02  <trevnorris>np
20:12:19  <trevnorris>indutny: I don't get what's up w/ https://github.com/joyent/node/commit/1d90b5b78e
20:12:26  <trevnorris>but that's the commit that's causing https://github.com/joyent/node/issues/7833
20:13:56  <indutny>I think it is a gyp bug
20:14:00  <indutny>what if you'd remove that %
20:14:02  <indutny>that was added in commit
20:14:06  <indutny>is it caused by it?
20:14:09  <indutny>or by configure change?
20:14:41  <trevnorris>yeah. the % is what causes the issue
20:16:40  <trevnorris>indutny: can the % just be removed, or will that botch the change?
20:17:11  <indutny>yes, it'll botch it
20:17:18  <indutny>you could try upgrading gyp
20:17:26  <trevnorris>I did. no difference.
20:17:28  <indutny>ok
20:17:33  <indutny>I'd suggest to report an issue
20:17:40  <indutny>if they are still working on it
20:18:35  <trevnorris>do you know what the actual bug is?
20:18:39  <trevnorris>or, could be
20:20:26  * toothrjoined
20:25:16  <trevnorris>just tried updating gyp in both tools/gyp and deps/v8/tools/gyp again. no difference.
20:25:26  <trevnorris>freak. that message is so annoying
20:29:01  <indutny>no, I do not
20:29:06  <indutny>I could dig into it
20:29:10  <indutny>by I have quite a lot on my list
20:29:14  <indutny>and minecraft is so addicting :D
20:29:15  <trevnorris>indutny: no worries, but would the following hack be ok? https://github.com/joyent/node/issues/7833#issuecomment-47831562
20:29:18  <trevnorris>haha
20:29:28  <indutny>oh
20:29:32  <indutny>I'm fine with it
20:29:36  <indutny>if it fixes it
20:29:41  <trevnorris>yeah. that fixes the issue.
20:29:47  <indutny>trevnorris: wanna play some Minecraft Realms? :D
20:29:48  <indutny>btw
20:30:03  <trevnorris>haha, no. i'm mainly an FPS player.
20:30:22  * avalanche123quit (Remote host closed the connection)
20:30:23  <trevnorris>games like that, like you said, are very addicting
20:30:30  <trevnorris>and i have little self control :P
20:30:39  <indutny>haha
20:32:04  * avalanche123joined
20:33:38  <indutny>true
20:35:08  <txdv>trevnorris: do I need to add the test file name somewhere in node?
20:35:20  <txdv>talking about this https://github.com/joyent/node/pull/7885
20:35:44  <indutny>txdv: no, just add a test in test/simple/
20:37:01  <MI6>joyent/node: Trevor Norris v0.10 * 449ffec : configure: fix v8 overriding commands on build - http://git.io/8-zsEw
20:37:32  <trevnorris>well, might not be the most elegant solution, but at least I'll stop seeing that damned output every time.
20:40:23  <trevnorris>txdv: regardless of how good a test may be, I always like others to verify code when I can't see if there will/won't be any obvious side effects.
20:40:32  <trevnorris>that's the only reason for the comment
20:41:57  <MI6>joyent/node: Fedor Indutny master * e345253 : tls: better error reporting at cert validation - http://git.io/PlsTtQ
20:42:01  <trevnorris>txdv: commented on the bug.
20:42:27  * yunongquit (Read error: Connection reset by peer)
20:44:04  * yunongjoined
20:45:07  <MI6>joyent/node: Fedor Indutny master * 2024706 : deps: cherry-pick eca441b2 from OpenSSL - http://git.io/i1n5eQ
20:46:06  <indutny>and then he discovered that it was a wrong branch
20:49:33  * toothrquit (Ping timeout: 240 seconds)
20:50:29  <bradleymeck>indutny: id be game sometime XD
21:00:36  <txdv>damn
21:00:39  <txdv>grammar in that pull request
21:00:53  <txdv>fuck this, saghul don't pull any documentation from me at the same day of requesting a pull
21:01:03  <txdv>i need to reread everything the next day to verify my shitty grammar
21:05:20  <txdv>trevnorris: are max 80 chars a standard which is used in a lot of projects?
21:07:00  <MI6>joyent/node: Fedor Indutny v0.10 * 11337db : deps: cherry-pick eca441b2 from OpenSSL - http://git.io/5eODdQ
21:07:01  <indutny>bradleymeck: what's your nick name?
21:07:21  <indutny>bradleymeck: in minecraft?
21:07:31  <bradleymeck>bmeck
21:07:51  <txdv>what
21:07:54  <txdv>are you playing minecraft indutny ?
21:07:58  <indutny>yeah
21:08:01  <trevnorris>txdv: it's the standard that node uses. running lint on it would cause an error.
21:08:07  <indutny>sometimes
21:08:43  <trevnorris>txdv: as far as "a lot of projects"? it's probably completely language dependent.
21:09:03  <txdv>node uses lint to verify?
21:09:07  <trevnorris>yeah
21:09:12  <trevnorris>make jslint cpplint
21:09:18  * euoiaquit (Ping timeout: 240 seconds)
21:09:22  <trevnorris>it doesn't run on the tests though
21:09:24  <txdv>did you really just post all lint errors instead of asking me to make a lint check myself?
21:09:41  <trevnorris>no, I posted the lint errors because they were in tests
21:09:52  <trevnorris>and the lint'er wouldn't have caught those
21:09:52  * mrvisserquit (Remote host closed the connection)
21:09:56  <txdv>ill remember to use lint in the future
21:10:14  <trevnorris>make test automatically runs lint if all tests pass
21:10:15  <indutny>bradleymeck: invited to realms ;)
21:10:20  <indutny>though, I may not play it very often
21:10:26  * mrvisserjoined
21:13:11  <bradleymeck>is fancy
21:14:13  <txdv>trevnorris: what is the logic behidn running lint after the test pass
21:14:29  <txdv>the test take some time to pass, don't they?
21:14:40  <trevnorris>10 sec at most
21:14:46  <trevnorris>erm. lint that is
21:15:31  * mrvisserquit (Ping timeout: 272 seconds)
21:15:48  <trevnorris>point is, we consider a lint failure similar to a test failure, and needs to be fixed before the PR is merged.
21:18:55  <txdv>yeah
21:19:04  <txdv>i agree with that
21:19:20  <txdv>i think it should do lint before the actual tests?
21:19:40  <txdv>or is the lint check taking longer than the normal check?
21:20:54  * yunong_joined
21:21:32  * yunongquit (Read error: Connection reset by peer)
21:22:31  <trevnorris>no. lint only takes like 10 seconds.
21:23:16  <trevnorris>just run "make cpplint jslint" and time how long it takes
21:27:01  <txdv>its jslint with default settings, right?
21:35:09  <trevnorris>think we've tweaked a few things
21:35:53  * thlorenzjoined
21:36:20  <txdv>is there like a make run_lint filename.js?
21:36:24  <txdv>"Move all uninitialized variables to the same line."
21:36:38  <txdv>I don't understand this request, can you explain it a bit further?
21:37:08  * mcavagejoined
21:37:17  <txdv>like "var a = 0,\n b,c,d;" ?
21:37:31  <trevnorris>um. there might be an easier way, but to run it manually on a file:
21:37:36  <trevnorris>PYTHONPATH=tools/closure_linter/ python tools/closure_linter/closure_linter/fixjsstyle.py --strict --nojsdoc <file>
21:38:26  <trevnorris>txdv: yeah. basically uninitialized variables on one line, comma separated and a space after each comma
21:38:42  <trevnorris>var a = 0,
21:38:43  <trevnorris> b, c, d;
21:39:04  <trevnorris>well, technically it'd be better to do:
21:39:12  <trevnorris>var a = 0;
21:39:12  <trevnorris>var b, c, d;
21:39:46  <trevnorris>but this is just all style nits. the actual change itself is more important. :)
21:40:00  <txdv>ill do whatever you want
21:40:13  <txdv>i dont care about style, I always try to do the same what the surrounding code does
21:40:24  <txdv>but I dont always consider everything
21:41:12  <txdv>I actually do care a lot about style but there is no point about pushing my views of style in other projects, so I just go with whatever they are using
21:41:15  * mrvisserjoined
21:42:20  * mrvisserquit (Read error: Connection reset by peer)
21:42:54  * mrvisserjoined
21:43:24  <txdv>by they way, I'm using "server_port = 20989" because I just copied some other test
21:46:02  <trevnorris>yeah. that other test is wrong. :P
21:46:12  <trevnorris>should always use common.PORT
21:46:15  <trevnorris>it makes sure the port isn't already in use
21:47:08  * mrvisserquit (Ping timeout: 252 seconds)
21:49:43  * TooTallNatequit (Read error: Connection reset by peer)
21:50:08  * TooTallNatejoined
21:51:18  <bradleymeck>indutny: there will be much crafting
21:51:56  <indutny>well
21:52:01  <indutny>not much :)
21:52:06  <indutny>most of the people are busy there
21:55:21  * txdvquit (Quit: leaving)
21:56:11  * txdvjoined
21:58:05  * mcavagequit (Remote host closed the connection)
22:00:51  <indutny>trevnorris: you still here?
22:00:54  <txdv>i need to upgrade m pc
22:00:55  <indutny>trevnorris: mind taking a look at https://github.com/joyent/node/pull/7878#issuecomment-47830694 ?
22:01:05  * rendarquit
22:01:07  * seishunquit (Ping timeout: 272 seconds)
22:01:09  <txdv>compilation is so slow compared to my pc at work :/
22:02:30  <trevnorris>indutny: what happens if the first if is true, but the second if is false? i mean, that technically shouldn't be possible, right?
22:03:21  <indutny>trevnorris: what is first and what is second? :)
22:03:37  <indutny>if I got it right
22:03:42  <indutny>it'll just fall through
22:03:46  <indutny>and do, what it does now
22:04:09  * mcavagejoined
22:04:50  <trevnorris>yeah, and that's fine. guess I'm just wondering if there's a case when (!slashesDenoteHost) == true, but (simplePath) == false
22:05:13  <trevnorris>just running through all the scenarios in my head, as a way to test the regex he created
22:06:35  <trevnorris>like, check this output:
22:06:37  <indutny>ok, that's good
22:06:49  <trevnorris>> /^(\/(?!\/)[^\?#\s]*)(\?[^#\s]*)?$/.exec('/foo/bar')
22:06:49  <trevnorris>["/foo/bar", "/foo/bar", undefined]
22:06:59  <trevnorris>that does not look right
22:07:15  <indutny>hm...
22:07:21  <indutny>why?
22:07:48  <trevnorris>why what?
22:12:55  <trevnorris>indutny: actually, what's up w/ url.parse() anyways. I'd expect url.parse('http://foo.com/bar/../baz').path == '/baz'
22:13:08  <trevnorris>but it's '/bar/../baz'
22:13:15  <indutny>em...
22:13:25  <indutny>is it standardized?
22:13:38  <trevnorris>how do you mean?
22:13:47  <indutny>ah, yes it is
22:13:47  <indutny>ok
22:13:50  <indutny>well
22:13:54  <indutny>it is imperfect
22:13:57  <indutny>:)
22:14:00  <trevnorris>heh.
22:14:30  <trevnorris>guess what i'm wondering then is what will the regex grab?
22:14:56  <trevnorris>like, give me a path that simplePathPattern would actually change
22:16:37  <trevnorris>ah, ok. so one case where the regex returns null is: '/foo/bar /baz'
22:16:52  <trevnorris>but url.parse makes the path '/foo/bar%20/baz'
22:17:49  <trevnorris>oh. and disparity:
22:18:17  <trevnorris>> url.parse('/foo/bar\\/baz').path == '/foo/bar//baz'
22:18:18  <trevnorris>but
22:18:33  <trevnorris>with his it's '/foo/bar\/baz'
22:25:13  <trevnorris>indutny: i'm adding a comment w/ tests, etc. he needs to add.
22:28:49  <indutny>sorry, was away
22:28:53  <trevnorris>np
22:29:03  <trevnorris>minecraft :P
22:29:09  <indutny>hahaha
22:29:10  <indutny>no
22:29:11  <indutny>shower
22:29:34  <indutny>now trying to figure out why the hell is joyent billing me with 40 $
22:29:45  <indutny>for just one instance
22:29:52  <trevnorris>heh
22:29:59  <indutny>ah
22:30:13  * mcavagequit (Remote host closed the connection)
22:31:28  <indutny>ok, sorry
22:31:33  <indutny>but it is time for me to go sleeping
22:31:36  <KiNgMaR>anyone around who took part in the scalenpm fund ralley earlier this year? I still have not received my t-shirt :((
22:31:54  <trevnorris>indutny: alright night
22:31:58  <indutny>night!
22:32:02  <trevnorris>i'll follow up on that pr
22:32:09  <indutny>KiNgMaR: you could try asking indexzero
22:32:18  <indutny>on twitter
22:32:33  <indutny>this channel is for different stuff, you know :P
22:32:39  <indutny>though, I wish I'd have libuv T-shirt
22:32:47  <KiNgMaR>point taken
22:33:19  <KiNgMaR>now if I only had twitter
22:33:31  <indutny>he has an email too
22:33:38  <indutny>charlie@nodejitsu.com
22:34:07  <txdv>trevnorris: squasshed them
22:34:30  <trevnorris>txdv: thanks. mind posting the PR url again?
22:34:35  <KiNgMaR>excellent. much obliged :-)
22:34:42  <trevnorris>in the middle of something, but i'll get it merged before EOD
22:34:44  <txdv>https://github.com/joyent/node/pull/7885
22:34:47  <trevnorris>tx
22:37:10  <txdv>rx
22:43:35  * mrvisserjoined
22:48:00  * mrvisserquit (Ping timeout: 255 seconds)
22:50:56  <txdv>trevnorris: are you going to review now?
22:51:08  <trevnorris>not at the moment.
22:51:20  <trevnorris>still responding to another PR.
22:51:35  <trevnorris>i'll have it done within the hour. want me to ping you when I do?
22:51:46  <txdv>ill be asleep
22:51:50  <trevnorris>heh, ok
22:51:52  <trevnorris>night then
22:51:59  <trevnorris>you'll see it in the morning. :)
22:53:52  * avalanche123quit (Remote host closed the connection)
22:54:42  * avalanche123joined
22:56:22  * avalanch_joined
22:56:22  * avalanche123quit (Remote host closed the connection)
22:56:42  * sblomquit (Read error: Connection reset by peer)
22:57:58  * yunong_quit (Read error: Connection reset by peer)
22:58:01  * yunongjoined
22:58:35  <txdv>see ou
22:58:41  <trevnorris>night
23:02:15  * indutny&
23:02:15  <LOUDBOT>HOW DID THAT PATHETIC ARMS OUT STRAGHT WILST PLAYING A DUDE PLAYING A SHOW FOUR BLOCKS FROM MY DUSTSHOVELLING GIG TODAY< TEHLOKI
23:02:58  <txdv>&
23:06:04  * toothrjoined
23:14:06  * piscisaureusjoined
23:15:26  <piscisaureus>hello
23:15:36  <trevnorris>piscisaureus: sup?
23:15:57  <piscisaureus>trevnorris: hey! you good?
23:16:06  <trevnorris>yeah. you?
23:16:15  <piscisaureus>trevnorris: fine. tired from a flight though.
23:16:24  <piscisaureus>trevnorris: https://github.com/joyent/node/issues/7714#issuecomment-47849142 -- that's where I need your help
23:18:06  * mikolalysenkojoined
23:18:28  <trevnorris>yeah. just made my first response.
23:18:39  <trevnorris>right in the middle of a couple things, but i'll get to it.
23:19:09  <piscisaureus>trevnorris: also are you coming to nodeconf?
23:19:15  <trevnorris>nope
23:19:54  <piscisaureus>trevnorris: sad...
23:19:59  <piscisaureus>trevnorris: family stuff instead?
23:20:39  <trevnorris>yeah. and I'd rather spend the time writing code 'n stuff.
23:20:49  <trevnorris>have a bunch to catch up on.
23:21:03  <trevnorris>piscisaureus: check out the link I put up about the event loop.
23:21:13  <piscisaureus>trevnorris: I'm reading it. Thanks!
23:21:16  <trevnorris>np
23:21:19  <piscisaureus>trevnorris: I hope Domenic will do his part too
23:21:34  <trevnorris>now, I assume that uv__io_poll() runs any callbacks that come back from the kernel.
23:21:35  <piscisaureus>trevnorris: but if you're not at nodeconf, will you be at the meeting next tuesday?
23:22:28  <trevnorris>problem is that uv__run_prepare() tells V8 Node is about to idle. maybe there's code that tells V8 we're done idling once a callback is about to run, otherwise there could be substantial execution time where V8 believes node is idle.
23:22:34  <trevnorris>yeah I will be there
23:23:18  <piscisaureus>trevnorris: there's no uv__run_check that tells v8 that node is no longer idle?
23:23:48  <trevnorris>yeah. uv__run_check() tells V8 node is no longer idle
23:24:13  <piscisaureus>trevnorris: well then it's accurate
23:24:36  <trevnorris>but I thought that anything like incoming connection callbacks are executed during the uv__io_poll() phase of the event loop.
23:24:39  <trevnorris>or is that inaccurate?
23:25:45  * Left_Turnquit (Remote host closed the connection)
23:26:14  <piscisaureus>trevnorris: prepare runs *right* before epoll() and check runs *right* after.
23:26:25  <piscisaureus>trevnorris: no callbacks are made in between prepare and check.
23:27:12  <trevnorris>ok. so during what phase of the event loop is, say, the tcp on connection callback run?
23:27:53  <piscisaureus>trevnorris: prepare -> epoll() -> check -> timers -> other callbacks -> close callbacks
23:28:07  <piscisaureus>trevnorris: in the "other callbacks" phase
23:28:08  <trevnorris>so it would be during uv__run_pending()?
23:28:13  <piscisaureus>trevnorris: yes
23:28:16  <othiym23>trevnorris: do you have a link to instructions on how to build dgd?
23:28:30  * mikealjoined
23:28:40  <othiym23>trevnorris: is it just built in-tree with recentish V8?
23:28:47  <trevnorris>ok. i'll need to retrace that code because I only found the write req's callbacks, and some error reporting, running during that phase.
23:28:58  <trevnorris>but no incoming connections or such.
23:29:06  * thlorenzquit (Remote host closed the connection)
23:29:07  <trevnorris>othiym23: dgd?
23:29:25  <trevnorris>("that" phase => uv__run_pending())
23:29:40  * thlorenzjoined
23:30:13  <trevnorris>piscisaureus: oh, and node cheats and doesn't actually use close callbacks. it, instead, assume closing will always happen and runs the close callback in a process.nextTick().
23:30:24  <trevnorris>something that needs to be fixed, IMO.
23:30:41  <trevnorris>I created a PR to fix it, but broke tests and didn't want to spend more time figuring out why.
23:34:00  * thlorenzquit (Ping timeout: 260 seconds)
23:34:16  <othiym23>trevnorris: going by somebody else's notes for reading gdbjit data in gdb
23:34:32  <othiym23>trevnorris: if you had a moment to tell me what I've gotten just stupidly wrong in https://github.com/othiym23/bug-clinic/blob/master/problems/gdb/problem.txt, I'd appreciate it
23:34:35  * yunong_joined
23:34:59  * yunongquit (Read error: Connection reset by peer)
23:35:20  <trevnorris>othiym23: what is dgd?
23:35:26  <trevnorris>othiym23: also, you have to do a custom build of node
23:35:46  <trevnorris>othiym23: ./configure --gdb --without-snapshot
23:35:57  <trevnorris>(and --debug if you want to examine variables)
23:36:20  <othiym23>trevnorris: you tell me: http://exponential.io/blog/nodeday-2014-performance-sins-of-our-abstractions
23:36:45  <trevnorris>wtf. that's a typo
23:36:57  <trevnorris>it should say gdb
23:37:54  * toothrchanged nick to toothrot
23:37:55  <trevnorris>then run it with: gdb -d <path to node/lib> -d <path to node/src> ---args ./node --gdbjit --gdbjit-full script.js
23:38:03  <trevnorris>othiym23: here's the correct commands: http://trevnorris.github.io/NodeDay/#/1
23:38:35  <othiym23>OK, cool, I'll add that
23:38:48  <piscisaureus>trevnorris: node cheats indeed - but it doesn't matter because closing a socket always succeeds
23:39:02  * mikealquit (Quit: Leaving.)
23:39:11  <piscisaureus>trevnorris: the actual close callback is only used to free the handle object in c++ land
23:39:21  <trevnorris>piscisaureus: true enough, but still. imo the close callbacks should be run in uv__run_closing_handles()
23:40:38  * mikealjoined
23:40:43  <othiym23>trevnorris: also, are you going to NodeConf?
23:41:05  <trevnorris>piscisaureus: take, for example, a user is writing out a lot of small requests, and so uv_try_write() always returns true. this means there's a massive number of WriteReq objects that don't have a chance to get cleaned up.
23:41:07  * mikealquit (Client Quit)
23:41:17  <trevnorris>there have been bug reports about this, and I have been able to reproduce it.
23:41:20  * thlorenzjoined
23:41:27  <othiym23>trevnorris: you're now a contributor to that workshopper, thanks for yr help ;)
23:41:27  <trevnorris>othiym23: nope. staying home and working on stuff.
23:41:35  <piscisaureus>trevnorris: try_write should not create write requests I think
23:41:36  <trevnorris>heh, np. :)
23:41:53  <piscisaureus>trevnorris: and indeed this is an issue. People have reported it when they call console.log() in a loop for example
23:42:10  <piscisaureus>trevnorris: we should also have writeSync I guess
23:42:44  <trevnorris>we should just return a Promise if the user doesn't pass a callback!
23:42:49  * trevnorris*barf*
23:43:06  * thlorenzquit (Remote host closed the connection)
23:43:11  <piscisaureus>trevnorris: I guess yes
23:43:12  * mikealjoined
23:43:25  <trevnorris>no. freaking no.
23:43:35  <trevnorris>I will quick being a core maintainer if we start doing shit like that.
23:43:36  <piscisaureus>trevnorris: haha
23:43:43  * thlorenzjoined
23:43:52  <piscisaureus>trevnorris: why so agitated? :/
23:44:38  <trevnorris>we already have event emitters, a push and a pull based streams api, a ton of sporadic sync and async functions.
23:44:55  <trevnorris>if we throw promises into our api it'll become a shit storm of maintainability
23:44:59  <othiym23>youyou joke now, but...
23:45:21  * zz_karupachanged nick to karupa
23:45:43  <trevnorris>i am not joking. if node starts returning promises I'm out.
23:45:48  <piscisaureus>trevnorris: doesn't have to be. But we need more consistent patterns.
23:46:00  <trevnorris>yeah. and we need a smaller footprint
23:46:07  <piscisaureus>trevnorris: I like "everything async is a promise" as a pattern
23:46:13  <trevnorris>allow others to create promise based api's more easily
23:46:14  <txdv>there are multiple promise APIs which claim themselfs as the on true API to do promises
23:46:16  <piscisaureus>trevnorris: we could easily build a compat layer on top of that
23:46:47  <piscisaureus>trevnorris: I personally find EEs much more problematic than promises
23:47:08  <trevnorris>I find them both a PITA.
23:47:14  <piscisaureus>trevnorris: the question is whether promises A+ should be blessed by node. Maybe we can just have a very simple promise/future concept that can be extended by promise libs
23:47:29  <piscisaureus>trevnorris: request objects are basically promises
23:47:38  <piscisaureus>trevnorris: they just do not expose any public api methods
23:47:49  <trevnorris>there's a problem w/ the concept of promises/futures in JS. IT'S FUCKING SINGLE THREADED.
23:48:12  <trevnorris>In languages where a task can be spun off on another thread and completed, then the idea of a future makes sense.
23:48:22  * thlorenzquit (Ping timeout: 264 seconds)
23:48:38  <trevnorris>because then I can say, hey I need this value, but it's running in another thread, so go ahead an block until it's complete
23:48:44  <trevnorris>but that's not the case in js
23:50:15  <piscisaureus>trevnorris: asynchronous i/o is indistinguishable from "stuff running in another thread"
23:50:17  <trevnorris>piscisaureus: request objects are not basically promises. in a proper promise/future implementation I can block execution until that promise completes.
23:50:17  <trevnorris>you can't do that
23:50:30  <piscisaureus>trevnorris: not block - yield!
23:50:53  <piscisaureus>trevnorris: which is exactly what co allows you to do
23:51:07  <trevnorris>co?
23:51:10  <txdv>co?
23:51:18  <piscisaureus>https://github.com/visionmedia/co
23:51:53  <piscisaureus>^-- txdv trevnorris
23:52:27  <trevnorris>ok. say I make a request to a server, do a couple other things asynchronously, then at some point I say, "hey, block everything until that thing I sent is completed"
23:53:12  <trevnorris>which would mean you'd have to basically halt the event loop and wait for that specific thing to complete.
23:53:20  <piscisaureus>trevnorris: you wouldn't block - you would yield. The code block that yields is temporarily suspended, but at that point other code can run
23:53:39  <trevnorris>that's a generator. not a promise/future
23:54:13  <piscisaureus>trevnorris: the generator was "inverted" so "yield" behaves like an "await" statement
23:54:23  * karupachanged nick to zz_karupa
23:54:30  <piscisaureus>trevnorris: also actual await is on the roadmap for ES7
23:54:56  <trevnorris>javascript is becoming such a CF of features.
23:55:14  <piscisaureus>trevnorris: I like it so much <3
23:55:40  <trevnorris>look how long it's taken for engines to optimize what currently exists.
23:55:47  * avalanch_quit (Remote host closed the connection)
23:55:50  <piscisaureus>yield fs.writeFile('test.txt', 'hello!');
23:55:50  <piscisaureus>var data = yield fs.readFile('test.txt');
23:56:05  <piscisaureus>trevnorris: ^-- async i/o without callback hell. So great.
23:56:21  * avalanche123joined
23:56:57  * a_lejoined
23:57:09  <trevnorris>and how would that not block the thread until data is returned?
23:57:24  <piscisaureus>trevnorris: because generators can do that.
23:57:39  <piscisaureus>trevnorris: the generator function is just "paused" for a while. But while it is paused other js can run.
23:59:30  * dap_quit (Quit: Leaving.)