00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:09  * ircretaryjoined
00:02:57  <trevnorris>ircretary: tell bnoordhuis you are correct. clang does think chunk->owner() is never NULL. checked it's value just before and after the conditional. each return (nill) but it doesn't realize it is.
00:02:58  <ircretary>trevnorris: I'll be sure to tell bnoordhuis
00:03:39  <trevnorris>tjfontaine: ok, you're right. it is a compiler error. clang is removing the "!= NULL" check and trying to access a property on a class that's no longer there.
00:04:03  <tjfontaine>clang --go-fast failure :)
00:04:09  <trevnorris>heh yeah
00:04:36  <trevnorris>now, writing a test that I can submit as a bug to llvm is a whole other story.
00:05:06  <tjfontaine>chances are if you talk to them thye'll be able to do it without much effort, lots of google folks in the channel
00:05:44  <trevnorris>you just mean on their irc channel?
00:05:50  <tjfontaine>I mean they use clang a lot internally for some refactoring tools etc, so probably aint no thang for them to point a particular clang rev against a particular v8 rev
00:05:53  <tjfontaine>ya
00:06:13  <tjfontaine>chandlerc is a googler, but not always around
00:09:27  * HenryRawasquit (Ping timeout: 252 seconds)
00:14:41  <tjfontaine>https://github.com/joyent/node/pull/5661
00:16:51  * qardjoined
00:17:13  * bnoordhuisjoined
00:21:22  * bnoordhuisquit (Ping timeout: 252 seconds)
00:27:24  <tjfontaine>LOUDBOT: YOURE NOT MY REAL MOM
00:27:25  <LOUDBOT>tjfontaine: POLY ETHYLENE TETRA CHLORIDE
00:29:13  * defunctzombie_zzchanged nick to defunctzombie
00:29:50  <tjfontaine>trevnorris: address sanitizer will be interesting
00:30:25  <tjfontaine>though, I am still in the optzn bug category
00:33:02  * mikealquit (Quit: Leaving.)
00:45:18  <trevnorris>ircretary: tell bnoordhuis ignore everything i've said. #llvm is showing me I don't know what the crap i'm talking about. :P
00:45:18  <ircretary>trevnorris: I'll be sure to tell bnoordhuis
00:47:37  * kazuponquit (Remote host closed the connection)
00:56:42  * papertigersjoined
01:02:50  * amartensquit (Quit: Leaving.)
01:22:40  * piscisaureus_quit (Ping timeout: 256 seconds)
01:27:17  * kevinswiberjoined
01:27:53  * dapquit (Quit: Leaving.)
01:30:23  * papertigersquit (Quit: papertigers)
01:32:02  * TooTallNatequit (Quit: Computer has gone to sleep.)
01:36:50  * abraxasjoined
01:49:54  * amartensjoined
01:58:05  * kazuponjoined
02:01:04  * TooTallNatejoined
02:02:33  * kazuponquit (Ping timeout: 252 seconds)
02:16:40  * c4milojoined
02:24:25  * groundwaterquit (Quit: groundwater)
02:42:45  * brsonquit (Ping timeout: 248 seconds)
03:17:00  * loladirojoined
03:18:09  * TooTallNatequit (Quit: Computer has gone to sleep.)
03:19:05  * mikealjoined
03:27:49  * mikealquit (Quit: Leaving.)
03:33:26  * kevinswiberquit (Remote host closed the connection)
03:33:43  * c4miloquit (Remote host closed the connection)
03:43:56  * qardquit (Quit: Leaving.)
03:46:52  * loladiroquit (Read error: Connection reset by peer)
03:55:03  * kazuponjoined
03:57:38  * loladirojoined
03:59:34  <tjfontaine>isaacs: so the email change stuff is going well?
04:02:14  * AvianFlu_part
04:11:24  <isaacs>tjfontaine: yeah, released to production
04:11:25  <isaacs>it's done
04:11:31  <isaacs>(that part, anyway)
04:11:33  <isaacs>wanna try it out?
04:11:33  <tjfontaine>excellent
04:11:42  <tjfontaine>ya I should
04:11:43  <isaacs>next step is to put ssh keys on accounts
04:11:49  <isaacs>and sign packages with those keys
04:12:03  <isaacs>i'm still not quite sure what the tactical steps are on that front, though
04:13:54  * defunctzombiechanged nick to defunctzombie_zz
04:14:43  <tjfontaine>oh so I get a revert at old, and a confirm at new?
04:16:36  <tjfontaine>nice, I like the interaction
04:16:52  <tjfontaine>it could be a bit more clear if I hit confirm after a revert
04:17:59  <isaacs>tjfontaine: yeah
04:18:11  <isaacs>though, in that case, presumably you're some kind of a spammer, and fuck you
04:18:22  <isaacs>or you're you, and you remember reverting the change
04:18:28  <isaacs>also: the revert can happen well AFTER the confirm
04:18:37  <isaacs>and it sets it back
04:18:44  <tjfontaine>what's the time frame?
04:18:55  <isaacs>it's crazy if you change to like 5 different times, and then click all the confirms, and then the reverts in order :)
04:19:04  <isaacs>keeps changing, then changing back
04:19:05  <tjfontaine>hehe
04:19:19  <isaacs>however long redis keeps stuff
04:19:23  <tjfontaine>k
04:25:13  <tjfontaine>isaacs: when you get a chance could give me some feedback on https://github.com/joyent/node/pull/5661/files?w=1
04:27:20  <isaacs>oh, neat, ?w=1 is like git diff -b?
04:27:42  <tjfontaine>more like -w :)
04:29:33  <isaacs>i thought -b was without white space?
04:29:36  <isaacs>or am i thinking of something else?
04:30:03  <tjfontaine>-w is more aggressive than -b
04:30:28  <tjfontaine> -b --ignore-space-change
04:30:29  <tjfontaine> Ignore changes in the amount of white space.
04:30:29  <tjfontaine> -w --ignore-all-space
04:30:29  <tjfontaine> Ignore all white space.
04:32:01  <isaacs>ah
04:32:10  <isaacs>i approve of the concept
04:32:31  <tjfontaine>ok I'll add some docs and move associate win32 stuff just on itself
04:32:37  <isaacs>it's kind of an annoying thing to have to test on each platform, since it's just string stuff
04:33:03  <isaacs>well, there should be path.win32._makeLong and path.posix._makeLong
04:33:17  <isaacs>and then on windows, path === path.win32 and on posix path === path.posix, yes?
04:33:22  <tjfontaine>yes
04:33:29  <isaacs>so, then, path.posix.posix.posix....
04:33:36  <isaacs>i guess that's fine
04:33:40  <isaacs>circular objects are ok :)
04:33:54  <tjfontaine>heh I wasn't sure if that was kosher or not :)
04:34:59  <tjfontaine>probably going to publish as a transitional module as well so people on 0.8 and 0.10 can do path stuff
04:35:20  <isaacs>yeah, i think it's find
04:35:21  <isaacs>*(fine
04:35:31  <isaacs>probably no one's JSON.stringify'ing path
04:35:36  * isaacsbedtime
04:35:37  * isaacs&
04:35:38  <LOUDBOT>UNRELENTING PAIN AWAITS YOU. OH NO THAT'S THE CAR WASH NEVERMIND, PAIN IS LATER
04:35:40  <tjfontaine>night
04:38:05  * wmiljoined
04:50:47  * wmilquit (Remote host closed the connection)
05:08:02  * wmiljoined
05:19:15  * wmilquit (Remote host closed the connection)
05:26:03  * wmiljoined
05:38:51  * c4milojoined
05:45:54  * dominictarrjoined
05:48:25  * mikealjoined
05:49:02  * kazuponquit (Read error: Connection reset by peer)
05:49:26  * kazuponjoined
05:52:49  * timoxleyjoined
05:55:47  * wmilquit (Remote host closed the connection)
05:56:36  * wmiljoined
05:58:03  * loladiroquit (Quit: loladiro)
06:23:12  * amartensquit (Quit: Leaving.)
06:28:32  * rendarjoined
06:30:33  * wmilquit (Remote host closed the connection)
06:46:28  * csaohjoined
06:47:53  * `3rdEdenjoined
06:48:00  * wmiljoined
06:51:02  * csaohquit (Client Quit)
06:53:29  * amartensjoined
06:59:12  * timoxleyquit (Ping timeout: 252 seconds)
06:59:17  * wmilquit (Remote host closed the connection)
07:00:07  * amartensquit (Ping timeout: 256 seconds)
07:16:37  * dominictarrquit (Quit: dominictarr)
07:21:02  * wolfeidauquit (Remote host closed the connection)
07:28:27  * hzjoined
07:47:58  * dannycoatesquit (Ping timeout: 276 seconds)
07:47:59  * timoxleyjoined
07:50:51  * c4miloquit (Remote host closed the connection)
08:02:43  * wolfeidaujoined
08:17:47  * dominictarrjoined
08:53:10  <indutny>hey people
08:53:14  <indutny>good morning
09:33:47  * stagasjoined
09:56:33  * dominictarrquit (Quit: dominictarr)
09:57:01  * dominictarrjoined
09:59:55  * dominictarrquit (Client Quit)
10:11:49  * wolfeidauquit (Remote host closed the connection)
10:17:41  * stagasquit (Ping timeout: 240 seconds)
10:20:07  * wolfeidaujoined
10:21:31  * timoxleyquit (Quit: Computer has gone to sleep.)
10:27:17  * timoxleyjoined
10:41:06  * bnoordhuisjoined
10:43:59  * csaohjoined
10:48:27  * dominictarrjoined
11:00:01  <indutny>bnoordhuis: hey ben
11:00:04  <indutny>how are you?
11:00:32  <indutny>I really need your opinion on this: https://github.com/joyent/node/pull/5645
11:04:33  * timoxleyquit (Quit: Computer has gone to sleep.)
11:05:30  * timoxleyjoined
11:08:07  <MI6>joyent/node: Ben Noordhuis v0.10 * 82b3524 : crypto: fix utf8/utf-8 encoding check - http://git.io/Zd_J1A
11:09:36  <bnoordhuis>indutny: looking
11:09:44  <indutny>thanks
11:10:45  <indutny>just FYI that's how its used https://gist.github.com/indutny/5743829
11:11:24  <indutny>everything from node_crypto.cc is supported
11:11:33  <indutny>so the only thing left is moving this stuff into lib/tls.js
11:11:42  <indutny>and basically removing everything :P
11:11:53  <bnoordhuis>../../src/node_crypto_bio.h: In destructor 'virtual node::TLSCallbacks::~TLSCallbacks()':
11:11:56  <bnoordhuis>../../src/node_crypto_bio.h:60:3: error: 'node::NodeBIO::~NodeBIO()' is protected
11:11:59  <bnoordhuis>../../src/tls_wrap.cc:70:10: error: within this context
11:12:01  <bnoordhuis>indutny: ^
11:12:21  <indutny>ouch
11:12:25  <indutny>that must be rebase problems
11:12:26  <indutny>one sec
11:13:05  <indutny>pushing fix
11:13:08  <indutny>done
11:13:09  <indutny>please pull
11:13:43  * kazuponquit (Remote host closed the connection)
11:20:00  * csaohquit (Quit: csaoh)
11:21:48  * csaohjoined
11:24:55  <bnoordhuis>indutny: i don't understand the write_head_->next_->write_pos_ < kBufferLength check in TryAllocateForWrite()
11:25:08  <indutny>well
11:25:12  <indutny>oh
11:25:17  <indutny>it should be zero
11:25:18  <indutny>you're right
11:25:25  <indutny>write_pos_ == 0
11:25:28  <indutny>agree?
11:25:29  <bnoordhuis>right
11:26:00  <indutny>ah wait
11:26:00  <indutny>no
11:26:03  <indutny>:)
11:26:09  <bnoordhuis>my thinking was this
11:26:12  <indutny>it should be != 0
11:26:16  <MI6>nodejs-v0.10: #236 UNSTABLE linux-ia32 (3/590) smartos-ia32 (4/590) linux-x64 (1/590) smartos-x64 (5/590) http://jenkins.nodejs.org/job/nodejs-v0.10/236/
11:26:23  * abraxasquit (Remote host closed the connection)
11:26:39  <bnoordhuis>what if write_head_->write_pos_ == kBufferLength and write_head_->next_->write_pos_ == kBufferLength
11:26:52  <indutny>no that doesn't work
11:26:56  <indutny>you can't write into half-empty buffer
11:27:02  <indutny>if it isn't current buffer
11:27:26  <MI6>nodejs-v0.10-windows: #65 UNSTABLE windows-x64 (10/590) windows-ia32 (8/590) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/65/
11:27:45  <bnoordhuis>okay, that makes sense
11:28:08  <bnoordhuis>so the check should be write_head_->next_->write_pos_ != 0 then?
11:28:56  <indutny>yes
11:29:16  <indutny>what do you think about StreamWrapCallbacks approach?
11:29:27  <bnoordhuis>hadn't gotten that far yet :)
11:30:16  <indutny>ah, ok
11:32:33  <bnoordhuis>NodeBIO::FromBIO(enc_in_)->Commit(nread); <- advances write_head_->write_pos_?
11:33:35  <indutny>yep
11:33:40  <bnoordhuis>but Reserve() doesn't actually reserve the memory does it?
11:34:34  <indutny>yep
11:34:54  <indutny>bad naming
11:34:55  <indutny>suggestions?
11:35:03  <bnoordhuis>Available()?
11:35:05  <bnoordhuis>something like that
11:35:17  <indutny>PeekWritable()
11:35:50  <bnoordhuis>kind of an awkward name but ok :)
11:35:57  <indutny>its what it does :)
11:36:02  <indutny>ok
11:37:24  * wolfeidauquit (Remote host closed the connection)
11:39:20  <bnoordhuis>indutny: are the fooConstructorTmpl.IsEmpty() checks necessary? if so, why?
11:39:32  <indutny>yes, they're
11:39:40  <indutny>because constructors are initialized only when bindings are loaded
11:39:45  <indutny>and they might not be loaded
11:39:55  <indutny>and if they are not - there're no chance of getting binding into that function
11:40:02  <indutny>so, better just skip this checks
11:40:20  <indutny>anyway its just handle.location() != 0 check
11:40:22  <indutny>so its fast
11:41:28  <indutny>there're also sad news - I'm going to remove ClientHelloParser
11:41:39  <indutny>it was horrible idea
11:41:40  <bnoordhuis>right, but they all derive from StreamWrap
11:41:50  <indutny>well
11:42:11  <indutny>yes, you're right
11:42:27  <indutny>but that becomes slightly complicated if any of them will introduce virtual methods
11:42:44  <indutny>which was the case when I was originally working on it :)
11:43:01  <bnoordhuis>how so?
11:44:27  <bnoordhuis>on the subject of virtual methods, i spot a bug - the destructors are non-virtual
11:44:30  <indutny>well, it was using virtual functions in StreamWrap
11:44:34  <indutny>where?
11:44:37  * piscisaureus_joined
11:45:01  <bnoordhuis>indutny: in StreamWrap, TCPWrap
11:45:08  <indutny>ah
11:45:10  <bnoordhuis>HandleWrap's destructor is virtual so it works out okay
11:45:11  <indutny>ok, here it comes
11:45:18  <bnoordhuis>but still, it's good to be explicit about it
11:45:19  <indutny>you can't just reinterpret_cast them
11:45:36  <bnoordhuis>well, you should never do that with classes :)
11:45:36  <indutny>because of vtable stuff
11:45:40  <indutny>yeah
11:45:49  <indutny>well
11:45:50  <indutny>it works
11:45:56  <indutny>if there're no vtables and multiple inheritance
11:46:17  <bnoordhuis>but then you're just asking for hard bugs in the future
11:47:13  <indutny>yep
11:48:11  <bnoordhuis>sec, biab
12:05:47  * bnoordhuisquit (Ping timeout: 255 seconds)
12:11:55  * wolfeidaujoined
12:12:25  * timoxleyquit (Quit: Computer has gone to sleep.)
12:15:04  * timoxleyjoined
12:21:19  * AvianFlujoined
12:31:53  * piscisaureus_quit (Ping timeout: 255 seconds)
12:59:33  * kevinswiberjoined
13:00:11  * wmiljoined
13:04:37  * wmilquit (Ping timeout: 248 seconds)
13:12:32  * c4milojoined
13:13:27  * piscisaureus_joined
13:15:25  * kevinswiberquit (Remote host closed the connection)
13:37:32  * loladirojoined
13:45:52  * timoxleyquit (Ping timeout: 246 seconds)
13:46:45  * loladiroquit (Ping timeout: 252 seconds)
13:48:23  * loladirojoined
13:52:18  * c4miloquit (Remote host closed the connection)
13:56:27  * bnoordhuisjoined
13:56:50  <bnoordhuis>sorry, took a little longer - i caught a turtle
14:01:07  * papertigersjoined
14:11:01  <indutny>welcome back
14:11:07  <indutny>Ive almost ported tls.js
14:11:12  <tjfontaine>excellent
14:11:39  * pachetjoined
14:15:40  <indutny>bnoordhuis: may be sc => context ?
14:15:43  <indutny>or ctx
14:16:02  <indutny>also, updated https://github.com/joyent/node/pull/5645
14:16:06  <indutny>with tls.js fixes :)
14:16:23  <indutny>my favourite commit ever https://github.com/indutny/node/commit/4833e313a28f0fcc14df35e0c6d2e28f34b01d7b
14:16:51  <bnoordhuis>ah... makes for a rather noisy PR
14:17:21  <tjfontaine>remove all the code!
14:20:46  <indutny>bnoordhuis: well, I split it in multiple commits
14:21:04  <indutny>what can I do?
14:21:32  <tjfontaine>indutny: btw I think isaacs thought we would be keeping cryptostream but marking it deprecated
14:21:40  <indutny>oh god
14:21:44  <indutny>wut?
14:22:02  <indutny>would isaacs mind supporting node_crypto.cc's Connection?
14:22:13  <indutny>well
14:22:15  <tjfontaine>well it's deprecated, so whatever bugs it has are bugs :)
14:22:27  <indutny>probably in long term its probably a good idea
14:22:44  <indutny>so lets think for a bit that I'll leave it here
14:22:49  <indutny>how is it going to work?
14:23:57  <tjfontaine>I'm not sure what all he had in mind, but we can bring it up on the call
14:25:25  <indutny>щр
14:25:27  <indutny>oh
14:25:28  <indutny>is it today?
14:25:42  <indutny>in 1.5 hours?
14:25:46  <tjfontaine>yup
14:25:51  <indutny>oh gosh
14:25:58  <indutny>I might be eating at this time
14:26:04  <indutny>i'm in different TZ right now
14:26:08  <indutny>its 16-26 here
14:26:24  <tjfontaine>heh, you're such a jet setter, hard to know where you are :)
14:26:44  <indutny>haha
14:26:48  <indutny>well
14:26:51  <indutny>I like it
14:27:40  <tjfontaine>anyway I gotta clean myself up and head in to work
14:27:49  <tjfontaine>maybe talk to you soon :)
14:29:20  <indutny>ttys
14:38:43  * c4milojoined
14:40:10  * c4miloquit (Remote host closed the connection)
14:41:48  * mikealquit (Quit: Leaving.)
14:46:10  * c4milojoined
14:59:05  * groundwaterjoined
15:14:50  <indutny>oh streams2
15:14:52  <indutny>seriously...
15:14:54  <indutny>fuck you
15:15:05  <indutny>ah wait
15:15:06  <indutny>that's me
15:15:20  * bnoordhuisis off to dinner
15:15:43  * dominictarrquit (Quit: dominictarr)
15:19:44  * bnoordhuisquit (Ping timeout: 255 seconds)
15:24:25  * kenperkins_changed nick to kenperkins
15:25:41  * kazuponjoined
15:26:36  * c4miloquit (Remote host closed the connection)
15:27:16  * amartensjoined
15:28:27  * kevinswiberjoined
15:31:00  * c4milojoined
15:35:58  * linus_quit (Ping timeout: 250 seconds)
15:36:20  * bnoordhuisjoined
15:37:16  <bnoordhuis>back
15:37:25  <bnoordhuis>status call in 20?
15:47:39  <indutny>in1 3?
15:52:57  * kevinswiberquit (Remote host closed the connection)
15:54:16  <bnoordhuis>6
15:55:20  * HenryRjoined
15:56:15  <indutny>4?
15:56:19  * mikealjoined
15:56:26  <piscisaureus_>kids
15:57:15  * brsonjoined
15:58:42  * sblomjoined
15:59:16  * olalondejoined
15:59:31  * amartensquit (Quit: Leaving.)
15:59:45  <isaacs>call in 1 minute
16:01:10  <bnoordhuis>-1!
16:01:56  <indutny>and?
16:01:58  <indutny>-2
16:02:14  * groundwaterquit (Quit: groundwater)
16:03:05  * kevinswiberjoined
16:03:33  * `3rdEden_joined
16:03:38  * brson_joined
16:10:03  * loladiroquit (Quit: loladiro)
16:10:38  * groundwaterjoined
16:11:15  * brsonquit (Ping timeout: 246 seconds)
16:11:18  * `3rdEdenquit (Ping timeout: 246 seconds)
16:20:43  * mikealquit (Quit: Leaving.)
16:24:40  * loladirojoined
16:27:56  * dapjoined
16:37:16  * kuebkjoined
16:39:45  * amartensjoined
16:40:00  <bnoordhuis>gonna check on my turtle, biab
16:40:28  <tjfontaine>whats his name?
16:43:29  * mikealjoined
16:44:13  * bnoordhuisquit (Ping timeout: 240 seconds)
16:44:31  * qardjoined
16:46:21  <isaacs>indutny: https://simple-note.appspot.com/publish/7mYRTH
16:46:24  <isaacs>ircretary: tell indutny https://simple-note.appspot.com/publish/7mYRTH
16:46:24  <ircretary>isaacs: I'll be sure to tell indutny
16:47:57  * trevnorrischanged nick to trevnorr1s
16:48:12  * trevnorr1schanged nick to trevnorris
16:48:46  * dannycoatesjoined
16:49:50  * mikealquit (Quit: Leaving.)
17:00:32  * brson_quit (Ping timeout: 255 seconds)
17:01:26  * c4miloquit (Remote host closed the connection)
17:01:42  * TooTallNatejoined
17:03:31  * kazuponquit (Remote host closed the connection)
17:12:16  <trevnorris>isaacs: so i'm implementing fs buffer bypass. since no encoding argument exists, should we just assume utf8?
17:12:39  <trevnorris>or set encoding as an optional final argument?
17:15:44  <isaacs>trevnorris: add an optional argumnet
17:15:54  <isaacs>trevnorris: you're talking about at the binding layer, right?
17:16:17  <isaacs>trevnorris: because fs.js takes encodings all over, i think
17:18:20  <trevnorris>isaacs: not fs.writeSync
17:18:25  * brsonjoined
17:18:27  <trevnorris>or fs.write
17:22:33  * pachetquit (Quit: leaving)
17:22:35  * groundwaterquit (Ping timeout: 255 seconds)
17:24:30  * groundwaterjoined
17:25:03  <isaacs>trevnorris: ohhh... right
17:25:13  <isaacs>trevnorris: well, you can change the binding layer. that's private.
17:25:20  <isaacs>trevnorris: do it in master, though
17:25:26  * csaohquit (Quit: csaoh)
17:25:27  <trevnorris>yeah. this is all for master. :)
17:26:09  <trevnorris>isaacs: the actual detection and extraction of the string data is going in node_file.cc
17:26:31  <trevnorris>isaacs: fs.js will have to change to accept buffers and strings
17:27:21  <isaacs>trevnorris: ohh... i see. so fs.write will have to take a string
17:27:25  <trevnorris>isaacs: i'm just curious how we should treat strings. right now they're just converted to Buffer, which means they default to utf8.
17:27:25  <trevnorris>yeah
17:27:48  <trevnorris>but utf8 is freakin slow, so supporting other encodings would be nice.
17:27:53  <isaacs>right
17:27:59  <trevnorris>maybe just ascii, ucs2 and binary. those are really easy.
17:28:04  * Somebodyjoined
17:28:05  <isaacs>maybe a {chunk,encoding} object?
17:28:07  <isaacs>(ew)
17:28:14  <trevnorris>ooh, yeah.
17:28:45  * `3rdEden_quit (Remote host closed the connection)
17:28:51  <trevnorris>since all the arguments after the "buffer" argument are non-strings it'd be easy to tack on an optional encoding argument.
17:28:57  <trevnorris>makes it really long, but it'd work.
17:29:40  * mikealjoined
17:29:49  * saghuljoined
17:35:15  * kevinswiberquit (Remote host closed the connection)
17:42:48  * c4milojoined
17:44:03  * sblomquit (Ping timeout: 252 seconds)
17:44:27  * c4miloquit (Remote host closed the connection)
17:50:35  * bnoordhuisjoined
17:51:46  * AvianFluquit (Remote host closed the connection)
17:52:56  * c4milojoined
17:57:57  * bnoordhuisquit (Ping timeout: 248 seconds)
18:02:13  * papertigersquit (Ping timeout: 276 seconds)
18:05:15  * kuebkquit (Ping timeout: 252 seconds)
18:07:20  * EhevuTovjoined
18:07:22  * dapquit (Quit: Leaving.)
18:07:46  * dapjoined
18:07:54  * kevinswiberjoined
18:09:06  * papertigersjoined
18:13:59  * kazuponjoined
18:19:34  * kazuponquit (Ping timeout: 256 seconds)
18:23:32  * EhevuTovquit (Quit: This computer has gone to sleep)
18:23:59  * EhevuTovjoined
18:29:05  <trevnorris>tjfontaine: coolio. found it. the "jne 0x852118" is supposed to be "je 0x852118"
18:29:31  <tjfontaine>I've been following along :)
18:29:44  <trevnorris>ah, you're in there :)
18:29:59  <tjfontaine>indeed, oftc is sorta my home :)
18:30:11  <trevnorris>heh cool
18:30:25  * sblomjoined
18:36:29  * octetcloudjoined
18:37:06  * octetcloudquit (Client Quit)
18:54:32  <trevnorris>tjfontaine: feel like too much a newb to ask this there, but I cannot find the declaration of Address
18:54:47  <trevnorris>i'm trying to replicate only what's needed, and I can't figure out what that is.
18:54:52  <trevnorris>have any tips?
18:56:30  * Somebodyquit (Read error: Connection reset by peer)
18:59:06  * kuebkjoined
18:59:30  <trevnorris>nm. just found it :P
19:03:05  * pachetjoined
19:03:05  * pachetquit (Changing host)
19:03:05  * pachetjoined
19:18:19  * AvianFlujoined
19:20:40  * AvianFluquit (Remote host closed the connection)
19:22:36  <trevnorris>tjfontaine: he tells me to compile "just the one file". i'm not even sure how that's possible.
19:26:55  * groundwaterquit (Ping timeout: 264 seconds)
19:27:51  * AvianFlujoined
19:30:31  * groundwaterjoined
19:32:59  * leonvvjoined
19:34:11  * AvianFluquit (Remote host closed the connection)
19:35:19  * kevinswiberquit (Remote host closed the connection)
19:35:52  * leonvvquit (Remote host closed the connection)
19:36:53  <trevnorris>ircretary: tell bnoordhuis it was a known bug that had already been fixed in 3.17: https://github.com/v8/v8/commit/b3775cf3
19:36:53  <ircretary>trevnorris: I'll be sure to tell bnoordhuis
19:37:43  * txdvjoined
19:41:10  * piscisaureus_quit (Ping timeout: 256 seconds)
19:46:31  * txdvquit (Ping timeout: 260 seconds)
19:54:24  * bnoordhuisjoined
19:57:00  * c4miloquit (Remote host closed the connection)
19:58:42  * dapquit (Quit: Leaving.)
19:59:04  * dapjoined
19:59:13  * bnoordhuisquit (Ping timeout: 276 seconds)
19:59:37  * piscisaureus_joined
20:00:12  * kevinswiberjoined
20:01:14  * c4milojoined
20:01:36  <tjfontaine>trevnorris: sorry I wasn't around, excellent that there is a work around for it, we may want to backport it
20:01:44  * Benviequit
20:01:59  * icarotjoined
20:02:52  <icarot>programming
20:02:54  <icarot>is cool
20:04:33  <trevnorris>tjfontaine: could be useful. I'll hit up isaacs and bnoordhuis when they're back.
20:11:31  * Benviejoined
20:21:01  <trevnorris>tjfontaine: dude, having such a c++ fart. trying to pass a char*, test fails. implement inline, test passes. :P
20:21:27  <tjfontaine>you mean "this works", but char *foo = "this doesn't";?
20:22:52  <trevnorris>the logic is complex so I created a "void GetStuff(Handle<Value> arg, char* data, size_t* length)" then I pass in "char* buffer_data; size_t buffer_length; GetStuff(args[1], buffer_data, &buffer_length);"
20:23:23  <trevnorris>trying to assign the values from GetStuff(), but it fails. :P
20:23:48  <tjfontaine>so you're trying to set buffer_data = newPtr; in GetStuff?
20:23:52  <trevnorris>yeah
20:24:02  <tjfontaine>then you're not passing buffer_data right
20:24:31  <trevnorris>I also tried GetStuff(..., char** data, ...); then pass GetStuff(..., &buffer_data, ...)
20:25:00  <trevnorris>but maybe i'll just shut up and learn from someone who knows. :)
20:25:23  <tjfontaine>lemme do a small test case for you
20:28:06  <tjfontaine>trevnorris: https://gist.github.com/tjfontaine/5760336
20:29:14  <tjfontaine>so you're copying the location to your pointer across the call, then in your call you're dereferencing to that location, and setting the value
20:29:32  <trevnorris>ugh. thought I did that, but a specific test fails. sec and i'll show you
20:32:19  <trevnorris>wait. wtf. now it's working... swear I did the same thing. lemme step back through the code.
20:32:53  <tjfontaine>did you do (*buffer_data) = loc;
20:33:05  <trevnorris>minus the (), but yeah.
20:34:14  <trevnorris>oh shit. i ended my if early. so it was reaching a line of code I forgot about.
20:34:36  <tjfontaine>k
20:34:45  <trevnorris>thanks for the sanity check. :)
20:35:19  <tjfontaine>it's ugly stuff really, it's better to follow a model like uv_buf_t really
20:36:09  <tjfontaine>where you take uv_buf_t *buf; then buf->base = loc; buf->len = nread;
20:37:30  <trevnorris>almost have some working code. then i'll bleed more of your time for some pointers. :)
20:39:51  <trevnorris>isaacs: just noticed. there's a legacy interface that accepts encoding as an argument.
20:40:07  <trevnorris>isaacs: guess we could just bring that back.
20:42:01  * piscisaureus_quit (Ping timeout: 246 seconds)
20:42:37  * AvianFlujoined
20:42:38  * kuebkquit
20:46:22  * EhevuTovquit (Quit: Leaving)
20:47:15  * kevinswiberquit (Remote host closed the connection)
20:54:36  * kevinswiberjoined
20:58:20  * bnoordhuisjoined
21:02:51  <trevnorris>bnoordhuis: hey. so that was a rabbit hole. tjfontaine mentioned we might want to backport that patch.
21:08:02  <trevnorris>anyone know if there's a way to convert uint16_t* to char* safely?
21:10:34  <trevnorris>isaacs: do you have any string_bytes specific unit tests?
21:14:33  <trevnorris>tjfontaine, TooTallNate: so i'm feeling like ucs2 could be endian dependent. is this correct?
21:14:56  <trevnorris>e.g. new Buffer('a', 'ucs2') == <Buffer 61 00> OR <Buffer 00 61>
21:15:21  <TooTallNate>trevnorris: not totally sure… but ya that seems plausible
21:15:34  <TooTallNate>this is where BOM usually helps :D
21:15:34  * rendarquit
21:16:05  <trevnorris>TooTallNate: i thought we provide a way to detect endianess?
21:16:22  <TooTallNate>do we?
21:16:29  <trevnorris>ooh yeah.
21:16:30  <TooTallNate>trevnorris: oh you mean os.endianness()?
21:16:31  <trevnorris>os.endianess()
21:16:32  <trevnorris>yeah
21:16:39  <TooTallNate>haha
21:16:41  <TooTallNate>ya that's there
21:16:59  <TooTallNate>though AFAIAK it could just as easily be os.endianness = function () { return 'LE'; }
21:17:00  <TooTallNate>:p
21:17:10  <trevnorris>cool. because i'll have to create a control string (e.g. 'a\u0000') then read out the ucs2 encoding as binary, then do the comparison'
21:17:14  <TooTallNate>since V8 doesn't run on any BE arch's last i checked
21:17:40  <trevnorris>well that'd be a bitch. we did a lot of crap to work around that w/ Buffer read/write floats.
21:19:22  <trevnorris>tjfontaine: you know if any of the test servers do BE?
21:19:30  <trevnorris>TooTallNate: i mean, i thought v8 ran on ARM
21:19:46  <trevnorris>TooTallNate: people have gotten it to run on those raspberry pi's
21:21:57  <bnoordhuis>trevnorris: sorry, what patch?
21:22:27  <bnoordhuis>ah... https://github.com/v8/v8/commit/b3775cf3 ?
21:23:53  <bnoordhuis>yeah, looks fine to me
21:24:14  <trevnorris>ok cool.
21:25:14  * amartensquit (Quit: Leaving.)
21:25:35  * pachetquit (Quit: leaving)
21:30:56  * hzquit
21:46:22  <trevnorris>quick lgtm anyone? https://github.com/trevnorris/node/compare/joyent:v0.10...v8-fix-clang-build
21:46:29  <bnoordhuis>tjfontaine: what's the status of that v8 mmap patch?
21:47:14  <bnoordhuis>trevnorris: lgtm
21:47:19  <trevnorris>thanks much
21:48:28  <MI6>joyent/node: Trevor Norris v0.10 * 5d4ac27 : v8: fix pointer arithmetic undefined behavior - http://git.io/A44wjw
21:52:51  <bnoordhuis>trevnorris: have you landed your v8 api changes PR in master?
21:53:04  <bnoordhuis>i'm guessing no because upgrading v8 doesn't work :)
21:54:04  <trevnorris>bnoordhuis: oh no. I closed that PR because didn't know when we were planning on changing over and was getting difficult to keep up. :)
21:54:17  <trevnorris>i could fix that up real quick if you need.
21:56:43  * amartensjoined
21:57:30  * c4miloquit (Remote host closed the connection)
21:59:07  <bnoordhuis>trevnorris: i think it's only MakeWeak that's an issue
21:59:11  <bnoordhuis>i can fix that simple enough
22:00:09  <trevnorris>bnoordhuis: ok. just for reference here's my PR: https://github.com/joyent/node/pull/5540/files
22:00:31  <trevnorris>a lot of little things changed.
22:00:58  <MI6>nodejs-v0.10: #237 UNSTABLE smartos-x64 (2/590) smartos-ia32 (1/590) linux-x64 (1/590) linux-ia32 (1/590) http://jenkins.nodejs.org/job/nodejs-v0.10/237/
22:01:23  * mikealquit (Read error: Connection reset by peer)
22:01:29  <trevnorris>bnoordhuis: actually that didn't have the updated makeweak stuff, but i've already implemented it in my buffer patch: https://github.com/trevnorris/node/commit/ed34c03
22:01:42  * mikealjoined
22:02:19  <trevnorris>my usage came from the v8 unit tests so there's probably a nicer way to do that.
22:05:53  * sblomquit (Ping timeout: 248 seconds)
22:06:56  * piscisaureus_joined
22:09:01  <MI6>joyent/node: bnoordhuis created branch trevnorris-review-plox - http://git.io/BRt4Qw
22:09:43  <bnoordhuis>let me open a PR so the CI can work its magic
22:11:36  * kevinswiberquit (Remote host closed the connection)
22:11:55  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
22:13:24  <bnoordhuis>trevnorris: it's not yet marked with V8_DEPRECATED, right?
22:13:44  <trevnorris>bnoordhuis: oh, guess i'm getting ahead of myself. :P
22:14:37  <MI6>nodejs-v0.10-windows: #66 UNSTABLE windows-ia32 (7/590) windows-x64 (10/590) http://jenkins.nodejs.org/job/nodejs-v0.10-windows/66/
22:15:01  <trevnorris>bnoordhuis: why do you need to explicitly state static_cast<void*>(NULL)?
22:16:22  <bnoordhuis>trevnorris: because NULL is 0 and then the compiler doesn't know what type to infer
22:16:34  <trevnorris>ah, ok. :)
22:16:35  <trevnorris>bnoordhuis: also, just curious, do you have a preference of "(*pobj).IsNearDeath(isolate)" over "pobj->IsNearDeath(isolate)"?
22:16:55  <bnoordhuis>well, not a strong preference
22:17:05  <trevnorris>ok. well. lgtm.
22:17:18  <bnoordhuis>but when calling methods on the Handle itself, we use .
22:17:27  <trevnorris>ah ok.
22:17:28  <bnoordhuis>while -> is for calling methods on the thing the Handle points to
22:18:03  <bnoordhuis>so (*pobj) is hopefully a little more explicit about the fact that we're dereferencing a pointer to Persistent
22:18:16  <trevnorris>got ya. that makes sense.
22:18:22  <trevnorris>man the little things you pay attention to.
22:18:32  <trevnorris>it'll be a strange day if I have something to correct in your cc.
22:18:32  <bnoordhuis>devil, details
22:20:18  <bnoordhuis>hah, the CI failed because of node-weak
22:20:21  <bnoordhuis>again!
22:21:55  * sblomjoined
22:23:47  * papertigersquit (Quit: papertigers)
22:30:56  * mikealquit (Quit: Leaving.)
22:40:43  <MI6>joyent/node: Ben Noordhuis master * 3b0a759 : test: fix up weakref.cc after v8 api change (+3 more commits) - http://git.io/B4ngjw
22:41:32  <bnoordhuis>gentlemen, start your compilers
22:41:55  <trevnorris>heh
22:45:01  * qardpart
22:45:07  <trevnorris>oh yeah. full build. 1 min 5 sec
22:45:08  <bnoordhuis>tjfontaine: btw, i've called him jan
22:45:38  <bnoordhuis>he's a shy fellow but i guess it's been a stressfull day for him
22:45:53  <bnoordhuis>*stressful, rather
22:48:56  <tjfontaine>hehe
22:49:07  <tjfontaine>I'm back now, anything that needs action from me?
22:50:05  * c4milojoined
22:53:54  <bnoordhuis>indutny: the tlswrap thing mostly lgtm. nice job
22:55:51  <bnoordhuis>trevnorris: is #5641 in reviewable state?
22:56:24  <trevnorris>bnoordhuis: give me 5.
22:57:15  <MI6>nodejs-master: #253 UNSTABLE osx-x64 (1/604) linux-ia32 (2/604) smartos-ia32 (7/604) smartos-x64 (6/604) linux-x64 (2/604) http://jenkins.nodejs.org/job/nodejs-master/253/
22:57:56  <bnoordhuis>trevnorris: i'll give you approx. 9 hours. i'm off to bed :)
22:58:07  <bnoordhuis>anything else i need to review? the smalloc thing i presume?
22:58:08  <trevnorris>bnoordhuis: lol ok. i'll have it done by then. :)
22:58:17  <trevnorris>bnoordhuis: yes please. :)
22:58:21  <bnoordhuis>okido
22:58:24  <bnoordhuis>have a good night
22:58:30  <trevnorris>ditto
23:02:59  * bnoordhuisquit (Ping timeout: 260 seconds)
23:11:24  <trevnorris>tjfontaine: is there a way to run a specific test through test.py?
23:13:46  <tjfontaine>python tools/test.py simple/<mytest-no-dot-js>
23:13:52  <trevnorris>thx :)
23:14:26  <MI6>nodejs-master-windows: #61 UNSTABLE windows-ia32 (22/604) windows-x64 (20/604) http://jenkins.nodejs.org/job/nodejs-master-windows/61/
23:16:49  * icarotquit (Ping timeout: 276 seconds)
23:16:54  <isaacs>trevnorris: no, there's no StringBytes specific test cases.
23:17:09  <isaacs>trevnorris: but, if you step one byte sideways there, it breaks LOTS of tests.
23:17:41  * icarotjoined
23:17:54  <trevnorris>isaacs: just going to add some specific tests for when a string overflows to the external range. a lot of tests don't test strings that large.
23:18:43  * timoxleyjoined
23:20:22  <trevnorris>isaacs: oh man. this is going to make large strings so freakin fast. if a large string is an external then you only need a memcpy to convert it to a Buffer
23:33:52  <isaacs>nice
23:37:23  * dominictarrjoined
23:43:03  * Damn3djoined
23:44:15  * lichojoined
23:44:19  <licho>hi
23:44:58  <licho>can somebody show me a simple example of libuv tcp client, ex echoing packets or sth like that?
23:52:47  * amartensquit (Quit: Leaving.)
23:53:30  * groundwaterquit (Quit: groundwater)