12:42:49  <piscisaureus_>test
12:42:49  <indutny>piscisaureus_: works
12:43:06  <piscisaureus_>slurp has been quite unstable recently
12:44:00  * dominictarrquit (Quit: dominictarr)
12:44:05  <indutny>ah
12:44:39  <piscisaureus_>So now I don't know what liberal utopian things are going on ... :(
12:46:25  <indutny>:)
12:59:23  <indutny>bnoordhu1s: mind reviewing https://github.com/joyent/node/pull/5206/files ?
12:59:25  <indutny>and benchmarking
13:00:12  * kazuponjoined
13:00:43  <bnoordhu1s>indutny: sorry, busy
13:00:49  <indutny>oh, ok
13:06:42  * kazuponquit (Ping timeout: 264 seconds)
13:08:03  <indutny>anyone else?
13:14:51  * qmx|awaychanged nick to qmx
13:17:37  <piscisaureus_>indutny: not right now But having a better BIO is great! Did you do any benchmarking at all>
13:17:45  <indutny>piscisaureus_: yes
13:17:55  <indutny>3800 kb/sec with current
13:17:59  <indutny>4500 with my
13:18:05  <indutny>on osx
13:18:22  <piscisaureus_>That's a nice improvement
13:19:04  <indutny>yeah
13:34:47  * bradleymeckjoined
13:50:23  <txdv>is the encryption still being done in a seperate thread pool?
13:50:36  <indutny>тщзу
13:50:38  <indutny>nope
13:50:40  <indutny>it wasn't
13:50:49  <txdv>hm
13:50:57  <indutny>tlsnappy does it
13:51:02  <indutny>but its 3rd-party module
13:51:14  * dominictarrjoined
13:52:03  <txdv>Yeah, I must have looked at that code, since you were pasting it a lot
14:02:45  * kazuponjoined
14:05:12  * piscisaureus_quit (Ping timeout: 276 seconds)
14:06:51  * dominictarrquit (Quit: dominictarr)
14:07:18  * kazuponquit (Ping timeout: 258 seconds)
14:10:42  * dominictarrjoined
14:24:08  <indutny>mraleph1: hey man
14:24:08  <indutny>yt?
14:24:20  <indutny>I've asked erik, but he seems to be away
14:24:20  <indutny>https://github.com/joyent/node/issues/5202#issuecomment-15839462
14:24:24  <indutny>what do you think about this ^
14:24:25  <indutny>mraleph1: ^
14:31:20  * kazuponjoined
14:32:47  <roxlu>is there a way to test if a uv_sock_t is connected?
14:34:18  <bnoordhu1s>roxlu: poll it. if it isn't, your cb gets called with status=-1
14:34:43  <bnoordhu1s>it's not 100% foolproof though
14:34:48  <roxlu>ok
14:34:54  <roxlu>thanks
14:35:00  <bnoordhu1s>it might not be until you start writing that you discover that the other end has gone away
14:35:08  <roxlu>yeah
14:35:11  <bnoordhu1s>or not until much later even
14:35:16  <roxlu>I might add my own variable
14:35:17  * brsonjoined
14:37:42  * brson_joined
14:40:01  * piscisaureus_joined
14:41:25  * brsonquit (Ping timeout: 240 seconds)
14:44:13  <roxlu>I'm implementing a 'disconnect' fucntion which nicely disconnects form the server, but when I try to connect again I get an erorr like:
14:44:21  <roxlu>Assertion failed: (!(stream->flags & UV_CLOSING)), function uv__stream_io, file src/unix/stream.c, line 1096
14:44:53  <roxlu>I'm calling shutdown, which calls close, when I disconnect
14:47:35  * defunctzombie_zzchanged nick to defunctzombie
14:49:53  <roxlu>What's the correct way to disconnect and then be able to connet again?
14:51:40  * mikealquit (Quit: Leaving.)
14:52:30  * c4milojoined
14:52:51  * loladirojoined
14:53:05  <txdv>You want to reuse the socket?
14:53:21  <roxlu>the uv_sock_t* yes
14:53:35  * piscisaureus_quit (Ping timeout: 252 seconds)
15:00:23  * loladiroquit (Quit: loladiro)
15:04:09  <roxlu>bnoordhu1s: do you know where I can see how to properly disconnect and connect to a server again?
15:07:00  <bnoordhu1s>roxlu: 'see'? i'm not sure what you mean
15:07:23  <roxlu>I meant some example code
15:07:39  <roxlu>there are so many tests, but I've no idea if there is one for this : )
15:14:19  * qmxchanged nick to qmx|afk
15:15:00  * `3rdEdenquit (Remote host closed the connection)
15:21:45  <bnoordhu1s>roxlu: not sure if there's an explicit test for that
15:22:00  <bnoordhu1s>but reconnecting is pretty straightforward
15:22:04  * piscisaureus_joined
15:22:13  <bnoordhu1s>uv_close() the handle, then uv_tcp_connect() again
15:22:32  <bnoordhu1s>if you reuse the handle, call uv_tcp_connection() from your close_cb
15:22:44  <roxlu>I'm indeed doing that but then I get `Assertion failed: (!(stream->flags & UV_CLOSING)), function uv__stream_io, file src/unix/stream.c, line 1096.` when I try to reconnect
15:23:19  <bnoordhu1s>roxlu: forgot to mention, uv_tcp_init() before you call uv_tcp_connect()
15:23:30  <bnoordhu1s>and make sure you do it from your close_cb, not before
15:23:38  <roxlu>ok thanks!
15:27:34  * loladirojoined
15:27:41  * mikealjoined
15:28:23  * bradleymeckquit (Quit: bradleymeck)
15:29:40  * bradleymeckjoined
15:32:54  <bnoordhu1s>piscisaureus_: call
15:34:22  * piscisaureus_quit (Read error: Connection reset by peer)
15:35:47  * dominictarr_joined
15:37:56  * dominictarrquit (Ping timeout: 245 seconds)
15:37:56  * dominictarr_changed nick to dominictarr
15:38:08  * pquernaquit (Ping timeout: 256 seconds)
15:38:25  * pquernajoined
15:38:26  * pquernaquit (Changing host)
15:38:26  * pquernajoined
15:52:32  * stagasjoined
15:54:55  * dominictarrquit (Ping timeout: 240 seconds)
15:59:38  * dominictarrjoined
16:00:57  * dapjoined
16:03:00  * nsmquit (Ping timeout: 260 seconds)
16:03:10  * loladiroquit (Quit: loladiro)
16:03:26  * nsmjoined
16:03:32  * nsmquit (Remote host closed the connection)
16:05:34  <tjfontaine>yawn.
16:05:42  * AvianFlujoined
16:06:16  * dominictarrquit (Ping timeout: 260 seconds)
16:06:50  * nsmjoined
16:07:07  * qmx|afkchanged nick to qmx
16:10:10  * dominictarrjoined
16:13:05  * bradleymeckquit (Quit: bradleymeck)
16:14:13  * brson_quit (Quit: leaving)
16:15:24  * c4miloquit (Remote host closed the connection)
16:17:01  * mikealquit (Quit: Leaving.)
16:17:44  * dominictarrquit (Quit: dominictarr)
16:20:57  * perezdjoined
16:22:41  * c4milojoined
16:25:07  * dominictarrjoined
16:30:28  * inolenquit (Quit: Leaving.)
16:43:36  <isaacs>ircretary: tell trevnorris to ping me when he gets in
16:43:37  <ircretary>isaacs: I'll be sure to tell trevnorris
16:44:15  <tjfontaine>isaacs: will you be pulling https://github.com/joyent/node/pull/5201 before 0.10.3?
16:44:45  <isaacs>tjfontaine: sure.
16:46:31  <isaacs>Can one of the admins review this patch? https://github.com/joyent/node/pull/5193
16:46:36  <isaacs>bnoordhu1s, indutny ^
16:46:49  <isaacs>removes the ECONNRESET special-case workaround kludge from 0.8
16:46:54  * bnoordhu1squit (Ping timeout: 264 seconds)
16:47:13  <isaacs>(which incidentally causes some weird behavior on 0.10)
16:48:55  <isaacs>ircretary: tell trevnorris Review plz https://gist.github.com/isaacs/5302979 (was the reason for the ping)
16:48:56  <ircretary>isaacs: I'll be sure to tell trevnorris
16:50:30  * perezdquit (Ping timeout: 264 seconds)
16:51:21  * loladirojoined
16:52:10  * kazuponquit (Remote host closed the connection)
16:53:23  <MI6>joyent/node: Timothy J Fontaine v0.10 * 9f65b1e : etw: update prototypes to match dtrace provider The DTrace probes were u (+4 more commits) - http://git.io/p2-6AQ
16:53:25  <isaacs>tjfontaine: thanks! ^
16:53:32  <tjfontaine>thank you!
16:53:50  * piscisaureus_joined
16:54:14  * dominictarrquit (Quit: dominictarr)
16:56:27  * brsonjoined
16:57:17  * trevnorrisjoined
16:57:34  * csaohquit (Quit: csaoh)
16:59:33  * mikealjoined
16:59:39  * bnoordhu1sjoined
17:00:00  <trevnorris>isaacs: LGTM
17:03:35  <isaacs>trevnorris: kewl
17:04:49  * perezdjoined
17:06:43  * AvianFluquit (Remote host closed the connection)
17:07:31  <MI6>joyent/node: isaacs v0.10 * 4716dc6 : assert: Simplify AssertError creation - http://git.io/vaRRsg
17:08:57  <MI6>joyent/node: isaacs v0.10 * b319264 : test: fork-getconnections stricter, less chatty (+1 more commits) - http://git.io/CCXSVw
17:11:36  * piscisaureus_quit (Read error: Connection reset by peer)
17:12:00  * inolenjoined
17:16:04  <trevnorris>tjfontaine: i can't find that diagram about the event loop. have the link?
17:16:41  <tjfontaine>trevnorris: https://a248.e.akamai.net/camo.github.com/e0b4108147b3fa603ef6badd805a2f01d73460fc/687474703a2f2f68746d6c352e6f687473752e6f72672f6e65775f736574496d6d6564696174655f73656d616e746963732e706e67
17:16:47  <tjfontaine>trevnorris: https://github.com/joyent/node/pull/3872#issuecomment-7804775
17:17:17  <MI6>joyent/node: isaacs v0.10 * d46ebff : npm: Upgrade to 1.2.17 - http://git.io/ToKTTQ
17:17:18  <tjfontaine>dear windows why do you hate me so much
17:17:55  * qmxchanged nick to qmx|lunch
17:18:16  <trevnorris>thanks
17:19:07  <MI6>joyent/node: isaacs v0.10 * 88686aa : http: Remove legacy ECONNRESET workaround code Fix #5179 - http://git.io/OfccEw
17:21:24  * TooTallNatejoined
17:21:46  <isaacs>$ ./node -p process.versions.uv
17:21:46  <isaacs>0.10.3
17:21:52  <isaacs>piscisaureus_++ ^
17:22:31  * kazuponjoined
17:22:45  <isaacs>and bnoordhuis++, i guess, also
17:25:41  * bradleymeckjoined
17:26:13  <MI6>nodejs-v0.10: #102 FAILURE windows-x64 (4/571) smartos-x64 (2/571) windows-ia32 (5/571) http://jenkins.nodejs.org/job/nodejs-v0.10/102/
17:26:54  <tjfontaine>you will not break my spirit jenkins
17:28:30  * bradleymeckquit (Client Quit)
17:28:46  <txdv>where is mi6
17:28:58  <tjfontaine>it's here
17:29:12  <txdv>o jenkins is the builder
17:29:20  <tjfontaine>yes
17:29:54  <txdv>i already wanted to shoot the butler
17:30:30  <txdv>there is also gitblit
17:30:33  * kazuponquit (Ping timeout: 245 seconds)
17:31:14  <MI6>joyent/node: isaacs created branch v0.10.3-release - http://git.io/ynNEdw
17:31:23  <tjfontaine>txdv: no thanks, no more java please
17:31:24  <indutny>hello
17:31:30  <tjfontaine>hiya indutny
17:31:42  <txdv>tjfontaine: why don't you write a CI for nodejs?
17:31:54  <tjfontaine>I have been thinking about it
17:32:05  <tjfontaine>but we have problems today that jenkins is fixing
17:32:09  <txdv>do it, you know you want be able to resists that java smell
17:32:16  <txdv>wont*
17:32:50  <isaacs>tjfontaine: what's that failure about? i'm confused. it just says failure but no helpful infos
17:33:38  <tjfontaine>isaacs: the master had an NPE, seemingly while doing something with the tap test results
17:33:56  <isaacs>near panic experience?
17:34:08  <tjfontaine>heh close enough, null pointer exeception
17:34:15  <isaacs>oh, hah, ok
17:34:19  <tjfontaine>and you thought java didn't have pointers
17:34:42  <isaacs>GOOD THING WE'RE USING JAVA SINCE THAT'S STABLE!
17:34:42  <LOUDBOT>SCREW YOU YOUR BLOG AND YOUR EGO
17:34:55  <isaacs>LOUDBOT: Oh, how I've missed you.
17:34:55  <LOUDBOT>isaacs: I'M GONNA FUCK MEGABYTE UP THE ASS
17:35:06  <tjfontaine>WRITE ONCE RUN NOWHERE
17:35:07  <LOUDBOT>DO YOU KNOW ME
17:35:12  <isaacs>all, loudbot. Inappropriate in every situation.
17:35:40  <isaacs>ok, so, since it's a java bork, i'm gonna reduce my fear, an charge ahead with this build.
17:35:56  <tjfontaine>yes
17:35:58  <tjfontaine>FATAL: hudson.remoting.RequestAbortedException: java.net.SocketException: Connection reset
17:36:04  <tjfontaine>that's another fun one
17:36:37  <indutny>java
17:36:40  <indutny>please
17:36:41  <tjfontaine>cascading windows failures -- this day has been nothing but fun
17:36:54  <isaacs>and away we go!
17:36:55  <isaacs>http://nodejs.org/dist/v0.10.3/
17:38:22  <txdv>isaacs: do you have a blog?
17:38:30  <isaacs>txdv: http://blog.izs.me
17:38:46  <txdv>do you have a big ego/.
17:39:18  <isaacs>txdv: all signs point to "yes"
17:39:20  <isaacs>:)
17:39:23  * bradleymeckjoined
17:39:30  <txdv>that bot is scary
17:39:44  <isaacs>txdv: oh, loudbot?
17:39:46  <isaacs>that's not mine
17:39:48  <isaacs>i'm just a fan :)
17:39:49  <tjfontaine>the bot is always right.
17:39:50  <indutny>isaacs: your blog is full of archetypes
17:40:04  <isaacs>it collects anything that someone says in all caps, and then repeats a random one
17:40:05  <txdv>remembering numbers != IQ
17:40:10  <tjfontaine>LOUDBOT: tell txdv how awesome you are
17:40:10  <LOUDBOT>tjfontaine: TWO GIRLS ONE PENIS
17:40:16  * sgallaghquit (Ping timeout: 246 seconds)
17:40:18  <isaacs>txdv: no, but it's somewhat related.
17:40:32  <txdv>not remembering numbers = marihuana consumption
17:40:34  <isaacs>txdv: and i've got measurably slower in the last 15 years. i know because i've measured it.
17:40:54  <isaacs>txdv: also: i consumed WAY more marijuana back then. maybe that's the problem, that i've stopped :)
17:41:20  <isaacs>LOUDBOT: search happy
17:41:21  <LOUDBOT>isaacs: <nkk:#peltkore> HAPPY TURTLE DAY \O/
17:41:23  <isaacs>LOUDBOT: search happy
17:41:23  <LOUDBOT>isaacs: <YTZ:##church-of-loudbot> I COULD TOTALLY BE HAPPY IN A WORLD INFESTED WITH ZOMBIE STRIPPERS. YOU KNOW YOU'RE GONNA DIE SOMEDAY ANYWAY, AND THAT'S HOW I WANNA GO.
17:41:26  <isaacs>LOUDBOT: next
17:41:26  <LOUDBOT>isaacs: <maxogden:#stackvm> JESUS AB DULLAH HAPPY BIRTH DAY!
17:41:31  <isaacs>LOUDBOT: twitlast
17:41:32  <LOUDBOT>http://twitter.com/LOUDBOT/status/319504953808920577 (maxogden/#stackvm)
17:41:34  <isaacs>BOOM
17:41:50  <bnoordhu1s>what did i miss?
17:41:57  <tjfontaine>everything, and nothing
17:42:09  <bnoordhu1s>i see the nothing, yes. what about the everything?
17:42:11  <isaacs>LOUDBOT: tell ben something fun
17:42:11  <LOUDBOT>isaacs: I CANT GRAMMAR TODAY - I HAVE THE DUMB
17:42:30  <isaacs>bnoordhu1s: just landin patches, buildin binaries.
17:42:33  <isaacs>same old same old
17:43:17  * TooTallNatequit (Quit: Computer has gone to sleep.)
17:43:37  <bnoordhu1s>new 0.10 release tonight?
17:43:47  <tjfontaine>alright well I'm taking windows out of the pullreq builder, it's causing more problems than its worth there
17:44:08  <MI6>nodejs-v0.10: #103 FAILURE smartos-x64 (5/572) osx-ia32 (1/572) linux-x64 (2/572) smartos-ia32 (4/572) http://jenkins.nodejs.org/job/nodejs-v0.10/103/
17:44:43  <isaacs>bnoordhu1s: yessir
17:49:00  <isaacs>just waiting on osx and windows, as usual
17:50:37  <indutny>bnoordhu1s: time for BIO?
17:53:47  * sgallaghjoined
18:00:12  * bnoordhu1squit (Ping timeout: 264 seconds)
18:00:27  * piscisaureus_joined
18:04:12  * sblomjoined
18:04:26  * perezdquit (Quit: perezd)
18:05:48  <indutny>isaacs: so have you released 10.3 ?
18:05:59  <indutny>because I've one v8 fix
18:06:53  <isaacs>indutny: not quiet yet
18:06:58  <isaacs>my windows vm is out of disk space
18:07:04  <isaacs>can it wait until 0.10.4?
18:07:11  <indutny>http://github.com/v8/v8/commit/75311294
18:07:14  <indutny>well its already here
18:07:15  <MI6>nodejs-v0.10: #104 FAILURE windows-x64 (6/572) http://jenkins.nodejs.org/job/nodejs-v0.10/104/
18:07:17  <indutny>just need to backport it
18:07:35  <tjfontaine>thanks jenkins, you're so helpful today
18:07:39  <indutny>isaacs: so like
18:07:46  <indutny>if you greenlit this path - I'll do it :)
18:08:16  <indutny>ah
18:08:21  <indutny>you already did branching
18:08:23  <indutny>and everything
18:08:23  <indutny>ok
18:08:24  <isaacs>yeah
18:08:31  <isaacs>but you can pull it into the v0.10 branch, that's fine
18:08:35  <isaacs>i'll just merge around it :)
18:08:40  <indutny>I'll do it
18:08:43  <isaacs>and it'll go out next week
18:08:57  <isaacs>i have no problems with this patch, if it's landing upstream, then that means we should probably take it.
18:09:04  <tjfontaine>fwiw paddybyers' patch in https://github.com/joyent/node/issues/4020#issuecomment-15835794 LGTM
18:10:51  <loladiro>bnoordhuis: piscisaureus_: Either of you around?
18:12:26  <MI6>joyent/node: Fedor Indutny v0.10 * 55d058e : v8: cherry-pick 75311294 from upstream Quote from commit message: C - http://git.io/1MSUHg
18:12:27  <indutny>isaacs: done ^
18:13:04  * qmx|lunchchanged nick to qmx
18:13:23  <isaacs>thanks!
18:13:34  <isaacs>ok, building windows again..
18:13:44  <isaacs>two things windows does not like: having a full drive, and deleting fiels.
18:13:45  <indutny>ok, what's next
18:13:54  <trevnorris>tjfontaine: figured out the segfault issue. well, fixed it but by using existing code.
18:14:05  <trevnorris>still not completely sure why it was needed though =P
18:14:10  <tjfontaine>trevnorris: congratulations, was it more than the isolate?
18:14:17  <indutny>isaacs: https://github.com/joyent/node/issues/5204#issuecomment-15832413
18:14:21  <indutny>isaacs: any thoughts?
18:14:23  <isaacs>indutny: next = race with bnoordhuis to be the first to figure out how to make TLS awesome.
18:14:25  * sblomquit
18:14:31  <indutny>should we optimize this situation
18:14:36  <indutny>isaacs: heh
18:14:43  <indutny>isaacs: I did some stuff https://github.com/joyent/node/pull/5206/files
18:14:55  <indutny>not like its much faster
18:15:00  <indutny>but throughput is definitely much better
18:15:12  <indutny>improved by ~29% on my tests
18:16:29  <isaacs>nice
18:17:07  <trevnorris>tjfontaine: it was that the isolate was never being defined in smalloc.cc. not sure why, but copied how node did it and now it works.
18:19:34  <trevnorris>isaacs: re assertion error gist: will also need to undo the changes made to lib/fs.js lines 66-68.
18:20:09  <isaacs>trevnorris: that seems like it's working fine, though...
18:20:30  <tjfontaine>trevnorris: after a quick review I have a pretty good idea what's going on here, you're only initializing one of the modules :)
18:21:32  <trevnorris>isaacs: really? oh, well. guess if it's not broken then don't fix it. =)
18:24:28  <tjfontaine>trevnorris: basically you're compiling into one module smbuffer.node, but your code was doing NODE_MODULE twice, and you were setting the isolate in the initialize method that wasn't getting called
18:25:00  * piscisaureus_quit (Read error: Connection reset by peer)
18:25:17  * piscisaureus_joined
18:25:33  * piscisaureus_quit (Client Quit)
18:25:55  * piscisaureus_joined
18:26:00  <MI6>joyent/node: isaacs created tag v0.10.3 - http://git.io/31OTGQ
18:26:46  * TooTallNatejoined
18:27:45  * kazuponjoined
18:27:55  <trevnorris>tjfontaine: hm. need to figure out how node initialzes everything seperately
18:28:26  <MI6>joyent/node: isaacs v0.10 * 0f460b0 : blog: Post about 0.10.3 (+3 more commits) - http://git.io/8GzW-Q
18:28:39  <tjfontaine>trevnorris: you should only do one NODE_MODULE, and then if you have subordinate modules call their Initialize from the primary
18:29:03  <indutny>finally my name has started appearing in changelog!
18:29:05  <indutny>haha
18:29:10  <indutny>I'm so proud of myself
18:29:16  <tjfontaine>indutny++
18:29:25  <indutny>not invisible reviewing warrior
18:29:28  <indutny>anymore
18:32:34  * bradleymeckquit (Quit: bradleymeck)
18:32:40  * kazuponquit (Ping timeout: 256 seconds)
18:32:58  <trevnorris>tjfontaine: ah, duh. =)
18:33:51  <tjfontaine>:)
18:34:01  <trevnorris>tjfontaine: though, node does use a NODE_MODULE for everything that can be accessed via process.binding.
18:34:07  <trevnorris>oh well, not going to screw w/ that now
18:35:03  <tjfontaine>trevnorris: pick which one you want to be the primary, if it's in smalloc call smbuffer::intialize(exports) in that, or make a new object attached to the smalloc one and pass it that
18:35:23  <trevnorris>cool. works for me. thanks
18:35:38  * trevnorris&
18:35:38  <LOUDBOT>GORDAN? GORDAN FREEMAN? IS THAT YOU?
18:36:06  <tjfontaine>like smb = Object::New(); smbuffer::initialize(smb); exports->Set(String::New("Smbuffer"), smb);
18:37:20  <MI6>nodejs-v0.10: #105 UNSTABLE windows-x64 (5/572) smartos-x64 (1/572) windows-ia32 (5/572) linux-x64 (1/572) smartos-ia32 (2/572) http://jenkins.nodejs.org/job/nodejs-v0.10/105/
18:39:20  * bradleymeckjoined
18:39:27  * c4milo_joined
18:39:46  * SquirrelCZECHjoined
18:39:50  <SquirrelCZECH>hi folks
18:39:53  <SquirrelCZECH>just wanted to say
18:39:57  <SquirrelCZECH>that libuv is great :D
18:40:12  <indutny>thanks man
18:40:19  * perezdjoined
18:40:35  <indutny>bnoordhuis: piscisaureus_: compliment for you ^
18:41:03  <SquirrelCZECH>actaully, I use pyvu, but it's only detail I think :-)
18:41:12  <SquirrelCZECH>*pyuv (bindings for python)
18:41:56  * c4miloquit (Ping timeout: 245 seconds)
18:42:34  * bradleymeckquit (Client Quit)
18:44:55  <tjfontaine>saghul: another happy user
18:45:21  * benoitcquit (Excess Flood)
18:48:48  * bradleymeckjoined
18:51:46  * piscisaureus_quit (Read error: Connection reset by peer)
18:53:31  * benoitcjoined
18:55:38  * loladiroquit (Quit: loladiro)
18:59:35  * perezdquit (Quit: perezd)
19:01:44  <saghul>tjfontaine oh, nice :-)
19:06:44  * bnoordhu1sjoined
19:06:52  <MI6>nodejs-v0.10: #106 UNSTABLE windows-x64 (7/572) smartos-x64 (3/572) windows-ia32 (6/572) linux-x64 (1/572) smartos-ia32 (2/572) http://jenkins.nodejs.org/job/nodejs-v0.10/106/
19:07:03  * loladirojoined
19:11:11  <SquirrelCZECH>but I don't get one thing
19:11:32  * bnoordhu1squit (Ping timeout: 252 seconds)
19:11:33  * SquirrelCZECHcreated apps which creates network and let's other apps to use it
19:11:47  <SquirrelCZECH>let's call the apps-network "points" and other apps "clients"
19:12:12  <SquirrelCZECH>I made benchmark which sends message as client over two points, to echo clients which sends it back to original client
19:12:34  <SquirrelCZECH>if I run 5 these benchmarks at once (each sends it over same points, but to different echo clients)
19:12:46  <SquirrelCZECH>it got 5.5ms delay ...
19:12:59  <SquirrelCZECH>but if I run only one .. it jumps to 12ms....
19:13:08  <SquirrelCZECH>why is that? :D
19:14:01  <SquirrelCZECH>P.S: all clients are simple socket's and all points are made via pyuv -> libuv)
19:24:09  <saghul>SquirrelCZECH can you put that as a gist? :-)
19:24:36  <SquirrelCZECH>gist?
19:25:23  <SquirrelCZECH>I see
19:25:25  <isaacs>SquirrelCZECH: http://gist.github.com/
19:25:31  <isaacs>SquirrelCZECH: or some other handy online place.
19:25:37  <SquirrelCZECH>saghul: it's quite a few lines of code
19:26:12  <saghul>SquirrelCZECH easier to interpret than plaintext ;-)
19:26:43  <SquirrelCZECH>hmmm
19:27:01  <SquirrelCZECH>what about picture? :D
19:28:13  * SquirrelCZECHjust don't believe that anybody would want to scan over 700 lines of code
19:28:22  * kazuponjoined
19:28:38  * `3rdEdenjoined
19:28:55  <indutny>SquirrelCZECH: its usually about a couple of lines :)
19:29:01  <indutny>of useful info
19:29:05  <indutny>to answer question
19:29:07  <SquirrelCZECH>yes, it is
19:33:02  * kazuponquit (Ping timeout: 255 seconds)
19:33:21  <SquirrelCZECH>anyway, at first I will try to show the problem
19:33:23  <SquirrelCZECH>http://89.103.45.58/~squirrel/things/Diagram1.png
19:33:32  <SquirrelCZECH>this is how I benchmarked the apps
19:34:06  <SquirrelCZECH>the two servers in front are apps written with pyuv and act as simple proxy... takes incoming message and sends it to another server... the server at the end sends it to clients
19:34:40  <SquirrelCZECH>so, Benchmark A sends message to Echo A and it sends it back to Benchmark A which measures the time (how long it took to do so)
19:34:59  <SquirrelCZECH>problem is, that five test like in this picture repored (all of them) time around 5.5ms
19:35:12  <SquirrelCZECH>but if I run only one of them, it takes 12ms
19:36:58  <SquirrelCZECH>https://gist.github.com/anonymous/b76aa36a4a627c038142
19:37:16  <SquirrelCZECH>bute it's quite a complex of objects...
19:37:27  <MI6>nodejs-v0.10: #107 UNSTABLE windows-x64 (5/572) windows-ia32 (8/572) linux-x64 (1/572) smartos-ia32 (2/572) linux-ia32 (2/572) http://jenkins.nodejs.org/job/nodejs-v0.10/107/
19:37:39  <SquirrelCZECH>the servers are made of two basic modules - local/comnet, while local is for connection to clients and comnet for connection between servers
19:42:16  * SquirrelCZECHis free to ask, if there is any question about how it works
19:42:29  <SquirrelCZECH>*free to answer
19:42:39  <saghul>SquirrelCZECH hard to tell at first sight, did you manage to reproduce it with a simpler test case?
19:42:52  <SquirrelCZECH>saghul: nope
19:43:01  <SquirrelCZECH>at first I thought that it's inner problem of pyuv
19:43:20  <SquirrelCZECH>more like that there is inner optimalization algorithm which changes things if there is load
19:43:49  <saghul>there is no such a thing in pyuv, nor libuv, AFAIK
19:43:55  <SquirrelCZECH>hmm
19:44:16  <SquirrelCZECH>maybe it's linux inner mechanism?
19:45:14  * bradleymeckquit (Read error: Connection reset by peer)
19:45:28  <SquirrelCZECH>note: it goes to 5.5ms at two benchmarks at once
19:45:37  * bradleymeckjoined
19:48:48  <SquirrelCZECH>weird
19:49:58  <SquirrelCZECH>saghul: I suppose that libuv uses select?
19:50:32  <saghul>SquirrelCZECH it uses epoll, kqueue, event ports or IOCP depending on the OS
19:50:38  <saghul>on linnet it uses epoll
19:53:07  <SquirrelCZECH>saghul: hmm, just fast check on epoll
19:53:20  <SquirrelCZECH>says that in specific mode it can be no so much nonblocking
19:53:37  <SquirrelCZECH>or...
19:53:51  <SquirrelCZECH>more like that it can happend that there are some data which waits
19:53:58  <saghul>SquirrelCZECH can you rephrase that? not sure what you mean
19:53:58  <SquirrelCZECH>http://linux.die.net/man/4/epoll
19:54:13  <SquirrelCZECH>saghul: a really don't understand the paragraph too :D
19:54:30  * SquirrelCZECHis not native english speaker
19:55:27  <saghul>SquirrelCZECH try to narrow down the issue to the smallest possible test case, I don't think it's a problem in how libuv uses epoll, other would have noticed
19:55:35  <SquirrelCZECH>hmm
19:55:49  <SquirrelCZECH>ok :-)
19:59:11  <SquirrelCZECH>hmm
19:59:38  <tjfontaine>dear RDC-osx plz stop segfaulting
20:00:04  <SquirrelCZECH>if I run local test, it drops to: 16ms for single and 29ms for dual...
20:01:33  <SquirrelCZECH>*0.16 and 0.29
20:09:10  <SquirrelCZECH>naaaah, I can't get it :-/
20:09:16  <SquirrelCZECH>and can't figure out narrower test
20:09:34  * TooTallNatequit (Quit: Computer has gone to sleep.)
20:17:59  <trevnorris>isaacs: can we drop one small tiny insignificant, but making my life a living hell, buffer api?
20:19:18  <tjfontaine>for instance?
20:19:38  <trevnorris>Buffer* New(char *data, size_t length, free_callback callback, void *hint);
20:19:59  <trevnorris>core never uses that callback thing, and the commit log for why it was introduced is completely ambiguous.
20:20:13  <tjfontaine>uh, that's absolutely used in addins
20:20:40  <tjfontaine>tootallnate's gone, but that's most certainly used in ffi
20:20:43  <tjfontaine>or ref
20:21:12  <trevnorris>mother f.... fine.
20:22:03  <trevnorris>but the callback would only be called when the destructor is called, right?
20:22:06  <tjfontaine>https://github.com/rbranson/node-ffi/blob/master/src/ffi.cc#L21
20:22:07  * einarosjoined
20:22:22  * niskaquit (Read error: Operation timed out)
20:25:23  <tjfontaine>trevnorris: it's also called on replace
20:25:39  <trevnorris>tjfontaine: only if it exists, and nothing in core sets it
20:26:08  * niskajoined
20:26:13  <tjfontaine>sure, but the point is to let addins be able to know when resources are free'd wihtout them having to also manage persitents on their own, if I had to interpret it
20:27:32  * TooTallNatejoined
20:28:00  <tjfontaine>*weak on their own
20:28:31  <trevnorris>tjfontaine: ok. problem i'm having it understanding the if/then logic for the callback_ and either just pointing to data, or making a copy of it.
20:28:46  <trevnorris>i understand the const char thing, but not the api decision behind that.
20:29:03  * kazuponjoined
20:29:40  <tjfontaine>trevnorris: imagine if you wanted to be incharge of how that memory was allocated, or if you had other resources that needed to be released at the same time as well
20:30:13  <tjfontaine>trevnorris: the callback interface changes who's responsible for allocation/deallocation, basically taking your smalloc out of the picture entirely
20:30:21  * loladiroquit (Quit: loladiro)
20:31:09  <trevnorris>tjfontaine: i've replicated that part (if you pass in data, then that's used instead). but why is one "char" and the other "const char"?
20:33:21  * kazuponquit (Ping timeout: 245 seconds)
20:34:01  <trevnorris>oh. i get it
20:34:03  <trevnorris>nm
20:41:55  * loladirojoined
20:42:14  * sgallaghquit (Remote host closed the connection)
20:44:27  * perezdjoined
20:48:40  <trevnorris>ok. ->Set() sucks. it just doubled instantiation time.
20:48:41  * piscisaureus_joined
20:57:28  * rendarquit
20:57:45  * wolfeidauquit (Remote host closed the connection)
20:58:15  * wolfeidaujoined
21:03:11  * wolfeidauquit (Ping timeout: 252 seconds)
21:03:12  * brsonquit (Ping timeout: 264 seconds)
21:06:55  * brsonjoined
21:14:17  <trevnorris>isaacs: have a moment to brain storm?
21:17:31  <TooTallNate>trevnorris: it's too sunny right now for a storm
21:17:40  <TooTallNate>:p
21:17:44  <trevnorris>lol
21:17:44  <TooTallNate>trevnorris: are you in SF btw?
21:17:51  <trevnorris>moutainview
21:17:56  <TooTallNate>ahhh
21:18:05  <TooTallNate>there was a mozilla research party thing i went to last night
21:18:07  <trevnorris>but head up to the sf mozilla office once in a while
21:18:13  <TooTallNate>was wondering if I missed you or something :p
21:19:10  <trevnorris>ah. nope.
21:19:16  * joshthecoder_changed nick to joshthecoder
21:20:13  <trevnorris>TooTallNate: maybe you can weigh in. my new allocator is faster than buffers, w/o the memory leaks. but that's just the raw allocation.
21:20:48  <trevnorris>there is one operation in particular that is horribly slow "->Set()" to set the length
21:21:06  <TooTallNate>trevnorris: would it be possible to set the .length in JS-land?
21:21:30  <trevnorris>yeah completely, but that would only work for js needing a buffer.
21:21:50  <trevnorris>any cc that would need a buffer would be missing that attribute.
21:22:05  <trevnorris>(though in cc you don't really need it.
21:22:37  <tjfontaine>any buffer made in c passed to js, you mean?
21:22:58  <trevnorris>tjfontaine: SlowBuffer's are completely made in cc, but accessible from js
21:23:35  <tjfontaine>I'm just clarifying under which state and where the length wouldn't be available
21:24:07  <trevnorris>oh, it would basically be for SlowBuffers
21:26:38  <trevnorris>basically, i'm trying to find a way to support a cc and js api, w/o hitting each with the other's performance impact.
21:27:27  <trevnorris>like, if you have a "SlowBuffer" that will be returned to js land, then it's passed through a js function that sets properties then returns it.
21:27:59  <trevnorris>setting the object length in js is almost free, but in cc it's freakishly expensive.
21:28:56  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
21:29:37  * kazuponjoined
21:32:21  * aledbfjoined
21:35:00  * kazuponquit (Ping timeout: 264 seconds)
21:50:00  * perezdquit (Ping timeout: 264 seconds)
21:52:22  * c4milo_quit (Remote host closed the connection)
22:02:16  * dominictarrjoined
22:03:55  <indutny>bnoordhuis: hey man
22:03:59  <bnoordhuis>indutny: ho man
22:04:02  * brsonquit (Ping timeout: 256 seconds)
22:04:06  <indutny>are you still busy?
22:04:24  * wolfeidaujoined
22:04:43  * brsonjoined
22:07:55  <bnoordhuis>indutny: that depends on what you're going to ask me when i say no
22:08:04  <indutny>ok, later then :)
22:08:16  <bnoordhuis>you want me to review your patches, i wager?
22:08:53  <indutny>surely
22:08:55  <indutny>what else
22:09:09  <indutny>I'm pretty self-centric person, you know
22:09:13  * perezdjoined
22:09:26  <bnoordhuis>it could be you were going to inquire on my general well-being
22:09:28  <bnoordhuis>but no
22:09:41  <trevnorris>bnoordhuis: declarations in headers. ok that they overflow 80 chars, or newline on comma?
22:10:02  <bnoordhuis>trevnorris: the 80 character limit is inviolate
22:10:08  <tjfontaine>heh
22:10:53  <indutny>sacred 80 char limit
22:11:22  <trevnorris>ok, break every comma, or just where necessary to be under 80 chars?
22:11:35  <bnoordhuis>trevnorris: depends. function or method declaration?
22:11:50  <indutny>trevnorris: read google style guide
22:12:00  <indutny>http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
22:12:10  <indutny>we usually follow it
22:12:12  <trevnorris>bnoordhuis: function
22:12:13  <trevnorris>indutny: thanks
22:12:25  <indutny>trevnorris: it really depends
22:12:34  <bnoordhuis>trevnorris: each function argument on its own line
22:12:40  <trevnorris>coolio. thanks
22:12:40  <indutny>does fn+first arg fit into 80 char?
22:12:52  <bnoordhuis>unless what indutny just mentioned :)
22:13:00  <indutny>if yes - line up all other arguments with first arg
22:13:13  <trevnorris>indutny: yes, and cool
22:13:13  <indutny>otherwise all arguments at double indent
22:13:19  * defunctzombiechanged nick to defunctzombie_zz
22:14:08  <bnoordhuis>indutny: moving downstairs. if you link me to the PRs you want me to review, i'll review them
22:14:26  <indutny>bnoordhuis: https://github.com/joyent/node/pull/5206
22:17:38  * benoitcquit (Excess Flood)
22:20:23  * bnoordhu1sjoined
22:25:49  * qmxchanged nick to qmx|away
22:27:05  * benoitcjoined
22:31:11  * kazuponjoined
22:31:32  <indutny>trevnorris: yt?
22:32:07  * c4milojoined
22:32:16  <trevnorris>indutny: eh?
22:32:26  <indutny>can you please send me a couple of messages?
22:32:54  <indutny>trevnorris: have you sent anything yet?
22:32:59  <indutny>was I offline?
22:33:23  * indutnyis trying to figure out if ircrelay history works
22:34:08  <tjfontaine>indutny: verify with logs.nodejs.org?
22:34:12  <trevnorris>indutny: not since i've been on today
22:34:43  <indutny>ok, can you guys post a couple of messages
22:34:45  <indutny>please
22:35:11  <trevnorris>2048
22:35:14  <tjfontaine>hello indutny
22:35:17  <tjfontaine>this is another message
22:35:24  * kazuponquit (Ping timeout: 240 seconds)
22:35:25  <indutny>great
22:35:29  <indutny>ircrelay ate them
22:35:29  <indutny>:)
22:35:32  <indutny>thank you
22:37:00  <trevnorris>‮hm... /u202e?
22:38:13  <indutny>?
22:39:21  <trevnorris>http://www.fileformat.info/info/unicode/char/202e/index.htm
22:39:32  <trevnorris>‮so it makes all your text go this way
22:40:24  * aledbfquit (Ping timeout: 240 seconds)
22:41:05  <indutny>""
22:41:06  <indutny>123
22:41:08  <indutny>""12312312
22:41:12  <indutny>""hello world
22:41:16  <indutny>ok
22:41:19  <indutny>ttyl
22:41:21  * indutny&
22:41:21  <LOUDBOT>NOT EVEN HALF A METER AND SIMCOP'S STATE SHUTS DOWN
22:41:22  <indutny>bnoordhu1s: thanks
22:44:25  * c4miloquit (Remote host closed the connection)
22:47:21  * c4milojoined
22:50:38  <bnoordhu1s>indutny: i'm not done yet :)
22:59:36  * dominictarrquit (Ping timeout: 245 seconds)
23:00:03  * c4miloquit (Remote host closed the connection)
23:00:44  * toothrchanged nick to toothrot
23:06:57  * dominictarrjoined
23:24:09  * aledbfjoined
23:31:43  * kazuponjoined
23:31:43  * dominictarrchanged nick to dominictarr_zzz
23:31:47  * `3rdEdenquit (Quit: Zzzzzzz nite)
23:31:48  * dominictarr_zzzquit (Quit: dominictarr_zzz)
23:32:45  <bnoordhu1s>indutny: done
23:34:45  <tjfontaine>bnoordhu1s: my turn? :)
23:35:55  <trevnorris>for anyone, would default arguments be better used here? http://git.io/yGbj3Q
23:36:25  <tjfontaine>bnoordhu1s: what do you think about dtrace probes in uv, like tick-start and tick-end?
23:38:36  * kazuponquit (Ping timeout: 264 seconds)
23:47:01  <bnoordhu1s>tjfontaine: i can live with that
23:47:13  <bnoordhu1s>(i would like that, actually)
23:47:20  <tjfontaine>bnoordhu1s: ok, so would dap
23:47:29  <tjfontaine>I'll work that up
23:47:44  <bnoordhu1s>cool
23:48:01  <MI6>joyent/node: Paddy Byers master * d8852aa : build: depend on v8 postmortem-metadata if enabled - http://git.io/zwmkZw
23:48:01  * tjfontainekicks MI6
23:48:01  <bnoordhu1s>it should - preferably - work with both gyp and the makefile
23:48:20  <tjfontaine>bnoordhu1s: hmm ya that should be doable
23:51:23  * qmx|awaychanged nick to qmx
23:52:50  * defunctzombie_zzchanged nick to defunctzombie
23:53:18  <bnoordhu1s>tjfontaine: i can live with it being gyp only for now though
23:53:55  <tjfontaine>ya, my initial testing would be gyp, but I don't see why it woul dbe a problem to make it work with the makefile as well
23:55:06  <bnoordhu1s>trevnorris: i'm not a big fan of default arguments but what in particular would you 'defaultify'?
23:55:10  <tjfontaine>well that's an interesting way to fail the windows build, but acting like it worked
23:55:35  <bnoordhu1s>paddy's patch broke etw or ?
23:55:39  <trevnorris>bnoordhu1s: TargetCallback is the default.
23:55:44  <tjfontaine>bnoordhu1s: broke gyp
23:55:54  <trevnorris>basically if they don't pass it, then I pass all the same arguments, but with TargetCallback at the end.
23:55:57  <tjfontaine>gyp: name 'v8_postmortem_support' is not defined while evaluating condition 'v8_postmortem_support=="true"' in node.gyp while trying to load node.gyp
23:56:06  <bnoordhu1s>trevnorris: keep it like it this. explicit > implicit
23:56:10  <bnoordhu1s>*it is
23:56:18  <bnoordhu1s>or *this
23:56:24  <bnoordhu1s>but not both
23:56:28  <bnoordhu1s>i digress
23:56:55  <trevnorris>cool. easy rule to follow
23:57:44  <bnoordhu1s>tjfontaine: ah. common.gypi
23:57:48  * saghulquit (Ping timeout: 264 seconds)
23:58:05  <tjfontaine>indeed
23:58:33  <tjfontaine>add an else there that sets v8_postmortem_support to false?
23:59:52  <bnoordhu1s>yeah