00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:00:58  * mikealjoined
00:04:19  * lohkey_joined
00:05:46  * lohkey_quit (Read error: No route to host)
00:07:35  * philips_quit (Excess Flood)
00:09:39  * philips_joined
00:18:49  * c4milojoined
00:28:57  * jmar777quit (Remote host closed the connection)
00:29:31  * jmar777joined
00:32:01  * paddybyersquit (Ping timeout: 256 seconds)
00:33:39  * jmar777quit (Ping timeout: 248 seconds)
00:43:02  * AvianFluquit (Remote host closed the connection)
00:54:00  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
00:56:00  * qmx|awaychanged nick to qmx
00:56:26  * bnoordhuisquit (Ping timeout: 252 seconds)
00:57:50  * mikealquit (Quit: Leaving.)
01:03:00  * mikealjoined
01:10:43  * indexzerojoined
01:27:12  * stagas_joined
01:28:53  * stagasquit (Ping timeout: 252 seconds)
01:29:06  * stagas_changed nick to stagas
01:30:29  * abraxasjoined
01:32:52  * dapquit (Quit: Leaving.)
01:33:23  * dapjoined
01:47:28  * ericktquit (Quit: erickt)
01:49:12  * ericktjoined
01:51:22  * bradleymeckjoined
01:57:41  * pooyaquit (Quit: pooya)
02:00:50  * loladiroquit (Quit: loladiro)
02:05:11  * stephankquit (Ping timeout: 252 seconds)
02:14:25  * qmxchanged nick to qmx|away
02:22:27  * pooyajoined
02:26:09  * bradleymeckquit (Quit: bradleymeck)
02:33:10  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
02:54:30  * c4miloquit (Remote host closed the connection)
03:13:30  * indexzeroquit (Quit: indexzero)
03:17:51  <MI6>joyent/node: Tim master * d5a5901 : doc: Fix syntax in cluster example code - http://git.io/NbL0aw
03:19:30  * dapquit (Quit: Leaving.)
03:20:00  <isaacs>good morning
03:21:03  * c4milojoined
03:23:06  * indexzerojoined
03:29:37  * brsonquit (Ping timeout: 248 seconds)
03:39:55  * indexzeroquit (Quit: indexzero)
04:03:30  * ericktquit (Quit: erickt)
04:06:55  * kazuponjoined
04:07:48  * trevnorrisjoined
04:08:24  * indexzerojoined
04:13:30  * rumpquit (Quit: rump)
04:23:38  * AvianFlujoined
04:33:47  * rumpjoined
04:45:59  * dsantiagojoined
05:02:25  * mikealquit (Quit: Leaving.)
05:03:35  * ericktjoined
05:04:41  * abraxas_joined
05:07:54  * abraxasquit (Ping timeout: 240 seconds)
05:27:52  * mikealjoined
05:28:50  * c4miloquit (Remote host closed the connection)
05:47:36  * ericktquit (Quit: erickt)
05:53:41  * indexzeroquit (Quit: indexzero)
05:59:55  * indexzerojoined
06:01:55  * loladirojoined
06:04:43  * wolfeidauquit (Remote host closed the connection)
06:07:43  * loladiroquit (Quit: loladiro)
06:33:36  * wolfeidaujoined
06:37:35  * paddybyersjoined
06:53:59  * loladirojoined
07:06:41  * pooyaquit (Ping timeout: 248 seconds)
07:06:59  * loladiroquit (Quit: loladiro)
07:07:42  * abraxas_quit (Remote host closed the connection)
07:08:14  * abraxasjoined
07:10:38  * rendarjoined
07:19:49  * loladirojoined
07:29:00  <indutny>morning
07:29:28  <rendar>hi
07:29:30  <rendar>:)
07:29:47  <indutny>mmalecki: you should stop wearing magnetic coat
07:29:50  <indutny>you're not magneto
07:29:57  <indutny>(though, he was from poland too)
07:30:56  <rendar>lol
07:30:56  * loladiroquit (Quit: loladiro)
07:35:50  * `3rdEdenjoined
07:50:36  <trevnorris>indutny: you rewrote a bunch of unit tests, right?
07:50:52  <indutny>only child_process-fork-net2
07:51:00  <indutny>well
07:51:10  <indutny>recently
07:51:33  <trevnorris>cool. so painful, right?
07:52:13  <trevnorris>was making a small fix for TooTallNate and found that all the buffer copy tests were useless. they performed assert checks against values that never changed, even if the copy failed.
07:52:33  <trevnorris>took me 20 mins to make the fix, and ~2 hours to fix the tests.
07:56:29  <indutny>yes
07:56:33  <indutny>tests are painful
07:56:38  <indutny>but we won't have future without tests
07:57:59  * kazupon_joined
07:58:14  * kazuponquit (Read error: Connection reset by peer)
08:00:08  <trevnorris>heh, yeah. it's nice when you know you can make a change and trust the tests that it won't break anything.
08:07:32  * pooyajoined
08:13:12  * rumpquit (Quit: rump)
08:14:14  * indexzeroquit (Quit: indexzero)
08:26:54  * stagasquit (Read error: Connection reset by peer)
08:27:21  * stagasjoined
08:33:40  * trevnorrisquit (Quit: Leaving)
08:40:12  * indexzerojoined
08:43:37  * AvianFluquit (Remote host closed the connection)
08:55:21  * pooyaquit (Quit: pooya)
09:00:38  * loladirojoined
09:02:03  * bradleymeckjoined
09:02:08  * loladiroquit (Client Quit)
09:02:53  * bradleymeckquit (Client Quit)
09:19:03  * loladirojoined
09:21:05  * stephankjoined
09:35:27  * indexzeroquit (Quit: indexzero)
09:39:28  * paddybyersquit (Ping timeout: 246 seconds)
09:42:34  * loladiroquit (Quit: loladiro)
09:45:32  <mmalecki>ircretary: tell piscisaureus_ it started working again, lulz. apparently I didn't throw it at people or anything. weird, but cool.
09:45:32  <ircretary>mmalecki: I'll be sure to tell piscisaureus_
09:49:00  * paddybyersjoined
09:59:39  * loladirojoined
10:04:42  * kazupon_quit (Remote host closed the connection)
10:10:21  * loladiroquit (Quit: loladiro)
10:25:44  * loladirojoined
10:47:01  * abraxasquit (Remote host closed the connection)
11:05:58  * abraxasjoined
11:13:57  * bnoordhuisjoined
11:26:45  * kazuponjoined
11:42:54  * paddybyersquit (Ping timeout: 240 seconds)
12:25:43  <indutny>bnoordhuis: hey
12:25:47  <indutny>my favourite issue today https://github.com/joyent/node/issues/4641
12:27:29  <bnoordhuis>indutny: ho
12:27:44  <bnoordhuis>hah
12:27:47  * kazuponquit (Remote host closed the connection)
12:29:25  * qmx|awaychanged nick to qmx
12:35:26  <MI6>joyent/node: Ben Noordhuis v0.8 * d7bf7ed : zlib: don't assert on malformed dictionary Handle Z_DATA_ERROR errors fr (+1 more commits) - http://git.io/xXx3XQ
12:37:15  <indutny>good start of the day
12:37:24  <indutny>I was visiting dentist today
12:37:32  <indutny>looks like she's going to kill my tooth
12:37:46  <indutny>literally, slowly
12:37:54  <indutny>she'll be killing it during 1 week
12:42:37  <indutny>bnoordhuis: it seems that you and bert are doing a lot of "side" work now, right?
12:42:43  <bnoordhuis>indutny: yes
12:42:47  <bnoordhuis>you're welcome to join
12:43:03  <indutny>erm, well it's not really good for node.js itself
12:43:07  <bnoordhuis>ah, dentists... i wonder why anyone would want to become one
12:43:14  <indutny>bnoordhuis: exactly
12:43:18  <indutny>such a cruel job
12:43:35  <bnoordhuis>indutny: maybe not, but something's gotta pay the bills
12:43:43  <txdv>bnoordhuis: should this be EINVAL? https://github.com/snoj/libuv/commit/af5ff21e13a89f65ba3a45a8433eed37d6b250f4#src-win-udp-c-P57
12:43:44  <indutny>yeah, I understand this
12:43:57  <indutny>I'll keep it in mind
12:44:00  <bnoordhuis>txdv: yes
12:44:13  <indutny>I know some companies that use node.js a lot
12:44:19  <indutny>I mean BIG companies
12:44:43  <bnoordhuis>if they set up a "help bnoordhuis through the winter" fund, i might consider it :)
12:44:43  <indutny>I think they can donate some money if I'll talk to them
12:44:52  <indutny>bnoordhuis: bingo :)
12:45:07  <indutny>I'm just scared of loosing your insight guys
12:45:13  <txdv>Is it so bad in the netherlands?
12:45:17  <bnoordhuis>but actually it would be better if they bought our support packages
12:45:34  <indutny>bnoordhuis: well... show me the offer, I'll forward it to them
12:45:39  <indutny>s/show/send/g
12:45:41  <indutny>s/show/send/
12:45:43  <indutny>anyway
12:45:50  <bnoordhuis>txdv: not really but we're setting up a company around node and that takes time
12:46:00  <bnoordhuis>time that doesn't go into working on node itself
12:47:03  <bnoordhuis>indutny: i think the website is close to ready. i'll let you know when it is
12:47:09  <indutny>ok, good
12:49:53  <txdv>so that company will sell node.js support?
12:50:05  <indutny>bnoordhuis: reminder - https://github.com/joyent/libuv/pull/691
12:50:19  <bnoordhuis>txdv: yes, at low, low prices
12:50:28  <bnoordhuis>or reasonable prices at least
12:50:48  * loladiroquit (Quit: loladiro)
12:50:48  <indutny>hope they're not that low
12:50:50  <indutny>:)
12:51:02  <txdv>will you still work at cloud9?
12:51:26  <bnoordhuis>indutny: i'll look into that this afternoon
12:51:35  <bnoordhuis>txdv: no, it's a new company
12:52:06  <bnoordhuis>that is, new and no relation to c9
12:53:02  <indutny>ohohoho
12:53:14  <indutny>:)
12:53:37  <txdv>the unix code is setting sometimes EINVAL and sometimes UV_EINVAL, I guess UV_EINVAL is the right choise?
12:54:12  <indutny>txdv: yes
12:55:17  <txdv>uv__set_sys_error though takes the original fail codes?
12:57:23  <bnoordhuis>txdv: yes. uv__set_sys_error converts a system error code to libuv error codes
12:57:37  <bnoordhuis>uv__set_artificial_error (i hate that name) simply takes a UV_E* code
12:58:03  <txdv>set_synonym_error? :>
12:58:12  <indutny>omg
12:58:31  <MI6>joyent/node: Ben Noordhuis v0.8 * 13d86a8 : doc: document PYTHON env var in README - http://git.io/F0QYzg
12:58:56  <indutny>homonym_error
13:02:23  <txdv>the code sometimes uses sys_error, sometimes artificial, which is the prefered way to set the error code?
13:03:40  <txdv>indutny: homonym is a nice word, but the error codes have different prefixes, therefore spelling is different
13:03:56  <txdv>I would suggest prefixed_homonym for ultimate correctness
13:10:07  <bnoordhuis>txdv: in general, if you know the error, use uv__set_artifical_error
13:10:17  <bnoordhuis>that's one less layer of indirection
13:12:08  <txdv>pisci and you have different code styles, therefore the codestyle in the win code differs from the unix one
13:14:44  <indutny>we just don't review it much
13:15:27  * loladirojoined
13:15:57  <txdv>bnoordhuis: a quickie https://github.com/joyent/libuv/pull/693
13:16:00  * kazuponjoined
13:20:27  <bnoordhuis>sorry, off to do the groceries. biab
13:31:07  * kazuponquit (Remote host closed the connection)
13:47:00  * loladiroquit (Quit: loladiro)
13:55:29  * kazuponjoined
13:59:58  * jmar777joined
14:02:17  * loladirojoined
14:08:56  * paddybyersjoined
14:09:39  * kazuponquit (Remote host closed the connection)
14:15:33  * cjdquit (Ping timeout: 245 seconds)
14:19:04  * sgallaghjoined
14:19:39  * rumpjoined
14:25:56  * chrisdickinsonquit (Ping timeout: 248 seconds)
14:26:25  * chiltsquit (Ping timeout: 260 seconds)
14:26:44  * chrisdickinsonjoined
14:27:47  * chiltsjoined
14:29:57  * c4milojoined
14:30:59  * c4miloquit (Read error: Connection reset by peer)
14:31:10  * c4milojoined
14:31:47  <bnoordhuis>back
14:41:26  * kazuponjoined
14:41:33  <indutny>bock
14:42:32  <MI6>joyent/libuv: Andrius Bentkus master * bdb498f : unix, windows: return UV_EINVAL, not UV_EFAULT A wrong multicast members - http://git.io/FiuObQ
14:43:26  * jmar777quit (Remote host closed the connection)
14:44:01  * jmar777joined
14:44:50  <creationix>how's it going indutny?
14:44:59  <indutny>good good
14:45:01  <indutny>creationix: how are you?
14:45:29  <creationix>the normal, creating crazy stuff I'll likely abandon in a month :)
14:45:36  * travis-cijoined
14:45:36  <travis-ci>[travis-ci] joyent/libuv#1043 (master - bdb498f : Andrius Bentkus): The build has errored.
14:45:36  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/017e2d5fde0c...bdb498f8b1e6
14:45:36  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4307577
14:45:36  * travis-cipart
14:45:37  <indutny>:)
14:47:34  * stagas_joined
14:48:50  * jmar777quit (Ping timeout: 272 seconds)
14:48:52  * stagasquit (Ping timeout: 248 seconds)
14:50:02  * stagasjoined
14:52:36  * stagas_quit (Ping timeout: 248 seconds)
14:54:48  * stagasquit (Ping timeout: 276 seconds)
14:55:03  * paddybyers_joined
14:56:19  * paddybyersquit (Read error: Operation timed out)
14:57:33  * bradleymeckjoined
14:59:23  * paddybyers_quit (Ping timeout: 240 seconds)
14:59:35  * paddybyersjoined
15:00:57  * stagasjoined
15:07:43  * TheJHjoined
15:19:09  * `3rdEdenquit (Remote host closed the connection)
15:20:11  * `3rdEdenjoined
15:20:46  <bnoordhuis>i think i'm going to disable travis
15:20:50  <bnoordhuis>it's pretty much useless now
15:21:52  <MI6>joyent/libuv: Ben Noordhuis master * 7841f77 : build: don't export _POSIX_C_SOURCE on non-linux Don't export _POSIX_C_S - http://git.io/7Yz3zw
15:22:16  <MI6>joyent/node: Ben Noordhuis master * 814bdf0 : deps: upgrade libuv to 7841f77 - http://git.io/5dTxZQ
15:22:51  <bnoordhuis>^ indutny
15:22:57  <bnoordhuis>didn't take your patch but this should fix it
15:23:06  <bnoordhuis>and remove an os x special case in the process
15:24:19  <bnoordhuis>with a bit of luck, it also fixes the netbsd and openbsd builds
15:28:07  * ericktjoined
15:28:22  * ericktquit (Client Quit)
15:32:49  * travis-cijoined
15:32:49  <travis-ci>[travis-ci] joyent/libuv#1044 (master - 7841f77 : Ben Noordhuis): The build has errored.
15:32:49  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/bdb498f8b1e6...7841f77b2e36
15:32:49  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/4308645
15:32:49  * travis-cipart
15:34:06  * jmar777joined
15:41:45  * mikealquit (Quit: Leaving.)
15:42:27  * jmar777quit (Remote host closed the connection)
15:43:01  * jmar777joined
15:46:49  * pooyajoined
15:46:53  * piscisaureus_joined
15:47:35  * jmar777quit (Ping timeout: 255 seconds)
15:47:47  <bnoordhuis>piscisaureus_: sup?
15:48:14  <piscisaureus_>bnoordhuis: getting sick I'm afraid. I hope it's not really the flu.
15:48:24  <bnoordhuis>aw :/
15:48:26  <piscisaureus_>Took some panadol, made me feel a little better
15:49:26  * jmar777joined
15:51:20  <MI6>joyent/libuv: Ben Noordhuis master * cf1dc61 : test: remove .travis.yml Travis CI was generating a lot of false positiv - http://git.io/W8_tQw
15:56:20  * kazuponquit (Remote host closed the connection)
15:56:22  <piscisaureus_>indutny: you are right, this stdout truncation needs to be fixed
16:00:55  <isaacs>piscisaureus_: what's panadol?
16:01:19  * AvianFlujoined
16:01:19  <piscisaureus_>http://en.wikipedia.org/wiki/Paracetamol
16:01:26  <isaacs>oh, it's tylenol
16:01:43  <isaacs>yes, magical cure-all
16:01:45  <piscisaureus_>It just helps when fever is really killing you :-)
16:01:54  <isaacs>recommended dose: one handful
16:02:01  <isaacs>take until life is ok
16:02:07  <piscisaureus_>yes
16:02:20  <piscisaureus_>until you don't feel bad anymore. Either you feel good or you don't feel anything
16:02:34  <isaacs>for a second i thought it was some stronger european stuff that the FDA won't allow here.
16:02:43  <piscisaureus_>hehe
16:02:49  <piscisaureus_>well I think it's mostly the other way round
16:03:06  <piscisaureus_>except for recreational drugs :-)
16:03:08  <tjfontaine>or your liver kicks
16:03:12  * ericktjoined
16:03:17  <isaacs>really? my grandmother always has like, OTC morphine and stuff from sicily
16:03:35  <piscisaureus_>ah southerners
16:03:41  <isaacs>but maybe they just don't care there.
16:03:43  <piscisaureus_>OTC morphine really
16:03:46  <piscisaureus_>haha
16:04:32  <piscisaureus_>I always get melatonin (against jetlag) in the US because you can't get it otc here
16:04:35  <isaacs>marijuana is finally almost legal here. i think the conservatives have not figured out that the best way to keep kids from smoking pot is not to make it illegal, but low-class.
16:04:53  <isaacs>in teh US we use our drug laws to put poor people in jail.
16:05:17  <isaacs>can't have poor people out in the streets
16:05:35  <piscisaureus_>well holland is really bipolar about this. I hope for you guys that your policy will not only be relaxed but also consistent
16:06:11  <tjfontaine>consistent, like mandatory minimums for coke and cocaine
16:07:05  <piscisaureus_>well I would not recommend using cocaine. One of the motivations behind legalizing marijuana (here) is that it separates the markets and reduces the likelihood of pot being a gateway drug for heavier stuff
16:07:58  <tjfontaine>piscisaureus_: well, my point is that we are more stringent on coke users (who tend to be poor minorities) vs cocaine users (who tend to be affluent white people)
16:08:09  * mikealjoined
16:08:17  <tjfontaine>*crack cocaine
16:09:03  * philips_quit (Excess Flood)
16:10:13  * `3rdEdenchanged nick to `3E|DINNER
16:10:53  * felixgejoined
16:10:53  * felixgequit (Changing host)
16:10:53  * felixgejoined
16:12:05  * pooyaquit (Quit: pooya)
16:15:09  <indutny>piscisaureus_: paracetamol is a magic
16:16:19  <isaacs>tjfontaine: same with meth, and actually, marijuana, originally
16:16:59  <isaacs>marijuana was only made illegal so that California could deport mexicans when there weren't enough farming jobs to go around
16:17:12  <isaacs>they couldn't make it illegal to be mexican, but mexicans smoked pot, so there you go
16:17:28  <isaacs>same with chinese immigrants and smoking opium. *having* opium was still legal, but *smoking* it wasn't.
16:17:43  <tjfontaine>america, instituionalized prejudice since its inception
16:17:47  <isaacs>the drug war here has always been about class exploitation and racism
16:18:47  <piscisaureus_>interesting theory. I always though of it as a very strict preference of "law and order" over pragmatism
16:18:56  <piscisaureus_>in case of the us
16:19:23  <piscisaureus_>isaacs: on a slightly more OT note: what do you think about `npm install --flat` ?
16:19:35  <isaacs>piscisaureus_: meh. we already have `npm dedupe`
16:19:50  <piscisaureus_>isaacs: yes, but it runs after the fact
16:19:54  <isaacs>piscisaureus_: i guess it could be nice to install and dedupe at once, so that it'll walk up to the highest "safe" place to install something
16:20:01  <piscisaureus_>yes
16:20:09  <isaacs>it's theoretically possible, but not a high priority for me
16:20:14  <piscisaureus_>that's what I imagine npm install --flat should do
16:20:18  <isaacs>right
16:20:24  <piscisaureus_>isaacs: would you take patches for it?
16:20:25  <isaacs>it won't necessarily be "flat"
16:20:29  <isaacs>but it'd be flatter than otherwise
16:20:38  <piscisaureus_>well `--as-flat-as-possible` is too long :-)
16:20:44  <piscisaureus_>npm install --flatter :-p
16:20:54  <isaacs>piscisaureus_: actually, i'd take patches to make install just work that way always.
16:21:05  <piscisaureus_>right, kewl
16:21:38  <isaacs>piscisaureus_: the thing is, it's tricky. because dedupe actually will find a *different* version sometiems
16:22:27  <isaacs>like, if you have a dep on foo@">=1.2.3 <1.4.0" and another on foo@">=1.3.0 <1.5.6", then i'tll try to find foo@">=1.2.3 <1.4.0 >=1.3.0 <1.5.6"
16:22:37  <isaacs>but you can't do that ahead of time, because you don't know all the deps in the tree
16:23:07  * qmxchanged nick to qmx|lunch
16:23:30  <indutny>dependency management
16:23:33  <indutny>communist's bullshit
16:23:42  <indutny>there could be only one version of module
16:23:46  <indutny>the one that is working right now
16:24:51  <piscisaureus_>isaacs: true
16:26:45  * kazuponjoined
16:27:41  * philips_joined
16:29:04  * mikealquit (Quit: Leaving.)
16:30:57  * `3E|DINNERquit (Remote host closed the connection)
16:32:26  * `3E|DINNERjoined
16:35:54  * kazuponquit (Ping timeout: 252 seconds)
16:36:51  * `3E|DINNERquit (Ping timeout: 248 seconds)
16:38:21  * dapjoined
16:48:02  <hij1nx>indutny: was uv_queue_work depricated?
16:48:24  <indutny>no
16:48:30  <indutny>what makes you think so?
16:49:50  <hij1nx>indutny: was getting compile errors from a module, maybe i read the error wrong.
16:50:23  <piscisaureus_>hij1nx: there was a small api change, uv_work_cb now gets a status argument to the callback
16:50:28  <piscisaureus_>to accommodate for uv_cancel
16:52:16  * paddybyers_joined
16:53:42  <hij1nx>piscisaureus_: thx!
16:55:38  * paddybyersquit (Ping timeout: 252 seconds)
16:56:01  <isaacs>hij1nx: https://github.com/joyent/node/wiki/Api-changes-between-v0.8-and-v0.10
16:56:06  <isaacs>hij1nx: second top-level bullet
16:58:09  * qmx|lunchchanged nick to qmx
16:58:21  * paddybyers_quit (Ping timeout: 245 seconds)
16:59:37  * mikealjoined
17:01:40  * bradleymeckquit (Ping timeout: 256 seconds)
17:02:09  * bradleymeckjoined
17:02:15  * kazuponjoined
17:02:27  * pooyajoined
17:03:23  * bradleymeckquit (Client Quit)
17:05:25  * trevnorrisjoined
17:07:11  * kazuponquit (Ping timeout: 252 seconds)
17:07:48  * brsonjoined
17:08:53  * mikealquit (Ping timeout: 240 seconds)
17:13:46  <piscisaureus_>https://fbcdn-sphotos-f-a.akamaihd.net/hphotos-ak-ash4/270945_4828190075466_1120857629_n.jpg (via felixge)
17:13:59  <felixge>piscisaureus_: :)
17:14:48  <trevnorris>can anyone explain `Buffer::Buffer(...) : ObjectWrap() {`, why the `: ObjectWrap() {` part?
17:15:35  * loladiroquit (Quit: loladiro)
17:15:54  <bnoordhuis>trevnorris: it inherits from ObjectWrap
17:16:06  <bnoordhuis>and that's the call to the base constructor
17:18:21  <indutny>bnoordhuis: it's not really needed
17:18:25  <indutny>but good to know
17:18:51  * ericktquit (Quit: erickt)
17:19:00  <trevnorris>so is that different then having `class Buffer : public ObjectWrap {`?
17:19:16  <indutny>nope
17:19:30  <bnoordhuis>trevnorris: yes, insofar that the call to ObjectWrap() could probably be omitted because it takes no args
17:19:33  <bnoordhuis>but explicit > implicit
17:19:51  <bnoordhuis>err, s/yes/no/
17:21:23  <trevnorris>ah, ok. thanks. also see a few `v8::stuff` in node_buffer.cc. those can be removed, right?
17:22:10  * loladirojoined
17:22:49  <bnoordhuis>trevnorris: v8::stuff?
17:23:04  <indutny>I think trevor means v8 prefixes
17:23:06  * `3rdEdenjoined
17:23:06  <bnoordhuis>oh, you mean fully qualified typenames?
17:23:11  <trevnorris>bnoordhuis: e.g. `bool Buffer::HasInstance(v8::Handle<v8::Value> val) {`
17:23:15  <trevnorris>yeah, that
17:23:30  <bnoordhuis>right, those could be removed
17:23:36  <trevnorris>cool, thanks.
17:23:40  <bnoordhuis>but use `using v8::Foo`, not `using namespace v8`
17:23:47  <bnoordhuis>in case they're not already imported
17:24:00  <bnoordhuis>`using namespace` is a (not so) minor sin
17:25:46  <trevnorris>how do you mean?
17:27:33  <bnoordhuis>trevnorris: `using namespace` imports everything from that namespace into the current namespace
17:27:39  <bnoordhuis>that's an accident waiting to happen
17:28:32  <bnoordhuis>eventually something's going to end up in _that_ namespace that overrides something crucial in _this_ namespace
17:28:44  <bnoordhuis>people will spend a day figuring out why all of sudden things break
17:28:55  <bnoordhuis>and when they found out why, they'll curse your name
17:29:03  <bnoordhuis>or come to your house and burn it down
17:29:53  <indutny>calm down, ben
17:29:55  <bnoordhuis>so for the betterment of people and world peace, use named imports
17:29:56  <indutny>not again
17:30:03  <trevnorris>bnoordhuis: lol ok, so be as selective as I can. but since the v8 namespace is already used shouldn't have to worry about it there.
17:30:11  <indutny>it's becoming rather hard to find core contributors
17:30:23  <indutny>after your last action
17:30:34  <bnoordhuis>yeah
17:30:36  <trevnorris>but can I say that v8::V8 is freakishly confusing the first (many) times you look at the code.
17:30:38  <bnoordhuis>i need a new cellar
17:31:11  <bnoordhuis>trevnorris: yeah, one of the fun things in c++
17:32:33  * hzjoined
17:32:39  <trevnorris>indutny: about your first comments on the change. the code would convert all non-uint parameters to 0. since it wasn't documented, figured it wasn't an api change.
17:32:56  <trevnorris>so I included that, and additional documentation solidifying how parameters are handled.
17:33:03  <trevnorris>but is that not a good action?
17:35:54  * mikealjoined
17:38:56  * skebciojoined
17:40:40  <indutny>trevnorris: everything is just fine, I just think that !(a > 0) is worse than (a <= 0)
17:43:24  <trevnorris>indutny: only reason I used that was because !(NaN > 0) === true, while (NaN <= 0) === false.
17:43:38  <indutny>aaah
17:43:43  <indutny>better put this in comments
17:43:54  <trevnorris>good point. will do.
17:45:55  <indutny>thanks
17:46:05  <indutny>going to boil some water
17:46:09  <indutny>for pelmeni
17:46:12  <indutny>mraleph: ^^^
17:52:00  * indutnypart ("Linkinus - http://linkinus.com")
17:52:06  * indutnyjoined
18:03:24  * kazuponjoined
18:07:53  * kohaiquit (Ping timeout: 255 seconds)
18:08:04  * kazuponquit (Ping timeout: 260 seconds)
18:08:15  * brsonquit (Read error: Operation timed out)
18:10:00  * brsonjoined
18:15:15  * TooTallNatejoined
18:19:54  * indexzerojoined
18:22:29  <indutny>bnoordhuis: you should try something from this list http://en.wikipedia.org/wiki/List_of_Russian_dishes
18:23:12  <indutny>but remember
18:23:18  <indutny>if you'll ever be in moscow
18:23:20  <indutny>never eat this http://en.wikipedia.org/wiki/Shawarma
18:23:39  <bnoordhuis>hah, you have that over there too?
18:23:47  <indutny>yes
18:23:51  <indutny>the most awful ones
18:24:04  <bnoordhuis>i thought shoarma was an invention of dutch turks because i've never seen it in turkey
18:24:12  <indutny>https://www.google.ru/search?q=%D1%88%D0%B0%D1%83%D1%80%D0%BC%D0%B0+%D0%BC%D0%BE%D1%81%D0%BA%D0%B2%D0%B0&hl=en&newwindow=1&tbo=d&source=lnms&tbm=isch&sa=X&ei=Qtn-ULadEsfK4ATdooDIDA&ved=0CAoQ_AUoAA&biw=1440&bih=754
18:24:19  <indutny>I seen it in turkey
18:24:32  <indutny>see kittens in this google search query?
18:24:36  <indutny>that's not accidental
18:24:53  <bnoordhuis>hah
18:24:58  <indutny>yeah
18:25:00  <bnoordhuis>cat flavor, my favorite!
18:25:09  <indutny>we was kidding when I was young
18:25:19  <indutny>"Buy 5 shawarma and construct a dog"
18:25:44  <indutny>though, all other food in russia is pretty tasty
18:25:51  <indutny>if only in not american fast foods
18:25:59  <indutny>they're as awful as they're everywhere
18:26:02  <indutny>except KFC
18:26:08  <bnoordhuis>kfc...
18:26:16  <indutny>yeah, it's much better there
18:26:20  <indutny>than anywhere else
18:26:36  <indutny>anyway
18:26:48  <indutny>I really recommend you to visit russia :)
18:27:09  <bnoordhuis>"A soup made from pickled cucumbers, pearl barley, and pork or beef kidneys." - interesting combination...
18:27:25  <bnoordhuis>that's rassolnik
18:27:55  * loladiroquit (Quit: loladiro)
18:28:06  <indutny>ooh
18:28:08  <indutny>very tasteful
18:28:10  <indutny>if cooked right
18:28:16  <bnoordhuis>what about this -> Meat jelly. Also known as "studen".
18:28:24  <indutny>oh god
18:28:29  <indutny>it's even more tasteful
18:28:35  <indutny>it might sound awful
18:28:38  <indutny>but it isn't :)
18:28:44  <bnoordhuis>sounds like meat pudding
18:28:49  <indutny>not, like this
18:28:51  <indutny>search images
18:29:04  <bnoordhuis>i have. i regret it
18:29:05  <indutny>https://www.google.ru/search?q=%D1%81%D1%82%D1%83%D0%B4%D0%B5%D0%BD%D1%8C&hl=en&newwindow=1&tbo=d&source=lnms&tbm=isch&sa=X&ei=atr-UNnkBuSh4gTixID4Dg&ved=0CAoQ_AUoAA&biw=1440&bih=754
18:29:11  <indutny>ahhah
18:29:26  <bnoordhuis>i kid, i'm used to things
18:29:36  <indutny>well, it's made completely out of meat
18:29:40  <indutny>and some spices
18:29:46  <bnoordhuis>if you're ever in belgium, order "waterkonijn"
18:29:53  <bnoordhuis>it's actually quite tasty if prepared right
18:30:11  <indutny>I love animals
18:30:18  <indutny>and it seems to be pretty nice animal
18:30:52  <indutny>ok, shower time :)
18:30:57  <bnoordhuis>i love animals too
18:30:58  <CoverSlide>muskrat?
18:31:09  <indutny>I think yes
18:31:11  <bnoordhuis>but you need the right sauce
18:31:14  <bnoordhuis>and yes, muskrat
18:31:48  <bnoordhuis>it's rather treacherous because 'konijn' means rabbit in dutch
18:32:15  <CoverSlide>hmm to be honest i've never eaten a rodent in my life
18:32:25  <indutny>same applies to firefox
18:32:31  <indutny>it's actually a red panda, you know
18:32:32  <CoverSlide>not planning on starting
18:32:52  <indutny>not a browser
18:33:24  <bnoordhuis>all this talk about rodents is making me hungry
18:33:25  <bnoordhuis>biab
18:33:32  <trevnorris>... um... yeah.
18:33:37  <indutny>yeah, me too
18:33:42  <indutny>but I already ate
18:33:49  <indutny>so, probably will wait for tomorrow
18:33:54  * loladirojoined
18:33:56  <indutny>my wife is returning back from Omsk
18:34:03  <bnoordhuis>say hi to her
18:34:05  <indutny>I expect some tastesful things to be cooked
18:34:15  <indutny>bnoordhuis: your comment is appreciated
18:34:23  <indutny>hope you've fire alarm
18:34:27  <bnoordhuis>i'm still expecting the same thing
18:34:34  <bnoordhuis>but it's been over five years now :/
18:34:39  <indutny>well
18:34:42  <indutny>it's been over 3 years
18:34:48  <indutny>probably not as much
18:34:52  <indutny>but it's still good
18:35:12  <bnoordhuis>i hope my wife doesn't read the #libuv chat logs...
18:35:16  <bnoordhuis>okay, off to dinner!
18:35:27  <indutny>:)
18:41:32  * jmar777quit (Read error: Connection reset by peer)
18:42:00  * jmar777joined
18:49:16  * qmxchanged nick to qmx|afk
18:53:17  * pooyaquit (Read error: Connection reset by peer)
18:54:13  * pooyajoined
18:55:15  * pooyaquit (Read error: Connection reset by peer)
18:55:29  * pooyajoined
18:57:35  * pooya_joined
18:57:44  * pooyaquit (Read error: Connection reset by peer)
18:57:44  * pooya_changed nick to pooya
19:04:01  * kazuponjoined
19:08:44  * kazuponquit (Ping timeout: 255 seconds)
19:20:49  * qmx|afkchanged nick to qmx
19:22:12  <trevnorris>TooTallNate: there ya go. also included a small bit to speed up copies to slow buffers when parameters aren't included (~2x's faster).
19:24:22  <CoverSlide>have you sped up DataViews at all?
19:24:33  * paddybyersjoined
19:24:50  <TooTallNate>trevnorris: looks awesome; reviewing
19:25:28  <trevnorris>CoverSlide: haven't looked at them. been focusing on buffers. been a problem for you?
19:26:06  * indexzeroquit (Quit: indexzero)
19:26:37  <CoverSlide>no, i think i remember you talking about dataview's performance or something
19:26:53  <CoverSlide>maybe you were complaining about Buffer's performance vs DataView
19:26:58  <CoverSlide>maybe that was it i don't remember
19:27:01  <trevnorris>yeah, that was it.
19:27:12  <CoverSlide>ok
19:27:21  <trevnorris>wanted to use cc for performing floating point reads/writes. it's about 3x's faster
19:33:54  * sblomjoined
19:34:52  <sblom>isaacs: Just saw your gist. (https://gist.github.com/4566249) Looking at it.
19:37:24  <trevnorris>sblom: heh, he put in a nasty looking fix to implement INFINITY on msvc (you'll see it at the top of src/node_buffer.cc)
19:43:45  * cjdjoined
19:46:40  <isaacs>bnoordhuis,piscisaureus_: oh, yeah... check that out. you'll probably be a bit sickened by it.
19:46:52  <isaacs>like most of my C++, it's rather klunky.
19:46:59  <isaacs>but it got the build working. so there's that.
19:47:20  <isaacs>so... on windows apparently you can't symlink to ../..?
19:47:24  <isaacs>is that correct?
19:47:58  <trevnorris>isaacs: you can. but the command is funky.
19:48:24  <trevnorris>oh, wait. to ../.. never tried that. nm.
19:48:26  <piscisaureus_>isaacs: you can. But please don't do it in anything checked in to git :-)
19:48:42  <piscisaureus_>isaacs: and it doesn't work for junctions
19:48:58  <isaacs>piscisaureus_: ok...
19:49:11  <isaacs>so i have to do it as a proper symlink, meaning i have to run this as administrator?
19:49:15  <piscisaureus_>isaacs: because junctions are always absolute. But try this:
19:49:16  <piscisaureus_>C:\Users\Bert Belder>mklink /d foo ..\..
19:49:16  <piscisaureus_>symbolic link created for foo <<===>> ..\..
19:50:03  <piscisaureus_>which is a lame message because it suggests that some sort of bi-directional link is established :-)
19:50:58  <isaacs>You do not have sufficient privilege to perform this operation.
19:51:06  <isaacs>yep. this test needs to run as root.
19:51:12  <isaacs>because you have to be root to create symlinks on windows.
19:51:15  <isaacs>that is SO awesome.
19:51:39  <piscisaureus_>haha
19:51:45  <piscisaureus_>mail steve balmer
19:55:02  <isaacs>piscisaureus_: hmm... trying to remove such a thing results in ELOOP
19:55:28  * c4miloquit (Read error: Connection reset by peer)
19:57:06  <piscisaureus_>bnoordhuis: did you write that OutOfRangeCheck function?
19:57:38  * c4milojoined
19:58:49  <piscisaureus_>ah no it was trevnorris
19:58:51  <piscisaureus_>hey trevnorris
20:01:11  <isaacs>oh, weird, you have to rmdir it. of course.
20:01:21  <isaacs>and isSymbolicLink() == false, but isDirectory() == true.
20:01:29  <isaacs>ugh
20:01:46  <isaacs>start out trying to make a tiny fix to node-glob, and now i'm patching rimraf and tap and every other module i maintain.
20:01:49  <isaacs>one of those days.
20:01:59  <piscisaureus_>haha
20:02:08  * indexzerojoined
20:03:37  * loladiroquit (Quit: loladiro)
20:04:29  <trevnorris>piscisaureus_: sup?
20:04:49  * kazuponjoined
20:04:58  <piscisaureus_>trevnorris: I have a few questions about OutOfRangeCheck -> https://github.com/joyent/node/commit/22b84e6216b86f9d5178e7d8a4d1a577209b7008#L8R692
20:05:11  <piscisaureus_>trevnorris: * why does the function take a `val` argument but does not use it
20:05:52  <piscisaureus_>trevnorris: * why do you reverse FLT_MIN and FLT_MAX when tmp_val < 0
20:06:21  <piscisaureus_>trevnorris: why do you consider +/-INFINITY as out of range but not NAN ?
20:06:37  <trevnorris>piscisaureus_: freaking... because my original check used it, but it failed on ia32. and I forgot to remove it.
20:08:41  <trevnorris>piscisaureus_: because FLT_MIN is actually the max when val_tmp < 0.
20:08:56  <piscisaureus_>trevnorris: huh, why?
20:08:58  <trevnorris>piscisaureus_: INFINITY is not out of range (val_tmp != INFINITY)
20:09:37  <piscisaureus_>trevnorris: re because FLT_MIN is actually the max when val_tmp < 0. -> sounds like bs to me :-)
20:09:48  * kazuponquit (Ping timeout: 256 seconds)
20:10:08  <trevnorris>piscisaureus_: i'm writing up a test to demonstrate. one min.
20:10:39  <piscisaureus_>trevnorris: yes you treat it as out of range: look
20:11:34  <piscisaureus_>trevnorris: right, I see, the function returns true
20:11:38  <piscisaureus_>when out of range
20:11:51  * rumpquit (Quit: rump)
20:12:05  <piscisaureus_>and a comparison between NAN and something is always false so that always falls through
20:12:16  * AvianFluquit (Remote host closed the connection)
20:13:46  <piscisaureus_>#define FLT_MAX 3.402823466e+38F /* max value */
20:13:46  <piscisaureus_>#define FLT_MIN 1.175494351e-38F /* min positive value */
20:14:01  <piscisaureus_>ah right
20:14:08  <piscisaureus_>so FLT_MIN is not negative
20:14:20  <trevnorris>yeah. it's the smallest value, not the negative most.
20:14:40  <piscisaureus_>trevnorris: so why check against FLT_MIN at all?
20:14:52  <piscisaureus_>trevnorris: I mean, we could just "round" to 0 right ?
20:15:21  <trevnorris>piscisaureus_: yeah. but then why not round upper values to Infinity? thought it would make the check "more complete"
20:15:55  <trevnorris>(that's actually how typed arrays handle it, but the api says "must be valid 32 bit float")
20:16:04  <trevnorris>so wanted to stay consistent with the api.
20:17:15  <piscisaureus_>trevnorris: well we always end up truncating the value :-)
20:17:26  <trevnorris>how do you mean?
20:17:41  <piscisaureus_>trevnorris: the check you want to do is ((double) (float) val != val) return false
20:17:54  <trevnorris>tried that. fails on ia32
20:17:54  <piscisaureus_>if you are that strict
20:18:25  <piscisaureus_>trevnorris: well if you store PI as a double and then convert to float, you truncate quite a few decimals
20:19:41  <piscisaureus_>trevnorris: but in most cases it's actually fine (e.g. it also fails for 1/3 and for 1/10 even but in those cases you probably wouldn't care)
20:21:29  <trevnorris>piscisaureus_: do you have a recommendation?
20:21:49  <piscisaureus_>trevnorris: no I am also exploring what the right API is here
20:22:10  <trevnorris>(and ex the "failed on ia32" thing. that was another check I tried)
20:22:21  <piscisaureus_>trevnorris: but I think truncation of decimals is something we shouldn't care about
20:22:44  <trevnorris>piscisaureus_: yeah. not sure myself. if we stayed consistent with the DataView spec, then it wouldn't be checked at all.
20:23:13  <trevnorris>so I tried to hit the middle ground between insanely strict and no restriction.
20:23:27  <piscisaureus_>I think the FLT_MIN range check is too strict for sure
20:24:04  <trevnorris>so just round to 0, but don't round to infinity?
20:24:20  <piscisaureus_>yeah, I'm in doubt about the latter
20:24:25  <piscisaureus_>maybe just rount to infinity too
20:24:38  <trevnorris>that would have made my life a lot easier. =)
20:24:41  <piscisaureus_>because the DataView spec is, ehm, sort of good to follow right :-)
20:25:04  <trevnorris>took a lot of time figuring all that out. (then implementing INFINITY for msvc)...
20:25:18  <piscisaureus_>trevnorris: haha, look at the isfinite macro
20:25:19  <trevnorris>yeah, following the spec is good. we'll just need to make a note in the api.
20:26:09  <piscisaureus_>trevnorris: I would have done this:
20:26:10  <piscisaureus_>if (!isfinite(v)) return false;
20:26:10  <piscisaureus_>if (v < -FLT_MAX) return true;
20:26:10  <piscisaureus_>if (v > FLT_MAX) return true;
20:26:10  <piscisaureus_>return false;
20:26:47  <piscisaureus_>trevnorris: isfinite is ore modern :-)
20:27:00  <piscisaureus_>bnoordhuis: you have an opinion on this?
20:29:10  <trevnorris>piscisaureus_: does isfinite work on msvc?
20:30:39  <indutny>it should be
20:30:42  <indutny>it's from ISO C99
20:30:52  <indutny> The fpclassify(), isfinite(), isinf(), isnan(), and isnormal() macros conform to ISO/IEC 9899:1999 (``ISO C99'').
20:30:59  <trevnorris>indutny: but msvc doesn't follow c99
20:31:05  <indutny>huh?
20:31:08  <indutny>C99?
20:31:14  <indutny>I thought everyone is following it
20:31:25  <trevnorris>indutny: http://stackoverflow.com/questions/6688895/does-microsoft-visual-studio-2010-supports-c99
20:31:28  <indutny>piscisaureus_: how are you living with it?
20:32:10  <piscisaureus_>indutny: trevnorris: msvc is not C99 compliant but those macros do work
20:32:59  <piscisaureus_>or hmm actually could be vs'12 only
20:33:35  <trevnorris>piscisaureus_: also, doesn't the macro just check if it's greater/less than float min/max?
20:33:50  <trevnorris>or does it actually check the bit set
20:34:11  <piscisaureus_>trevnorris: euh
20:34:16  <piscisaureus_>trevnorris: either should work right
20:34:35  <piscisaureus_>trevnorris: provided that it seems unlikely that it would test a *double* value with FLT_MAX :-)
20:34:37  <indutny>time to sleep
20:34:39  <indutny>ttyl guys
20:34:40  <trevnorris>nope. a value can be greater than FLT_MAX, but less than infinity. and infinity can be stored.
20:34:58  <trevnorris>piscisaureus_: but you are, since the argument from js is a double, right?
20:35:45  <trevnorris>you'll have to check the double value the user passes in against the float min/max values. along with making sure it's not infinity (since that can be stored)
20:36:09  <piscisaureus_>trevnorris: so if isfinite(double) would work as you advertise, it'd probably check against DBL_MAX right?
20:36:43  <trevnorris>piscisaureus_: but that won't matter since if a user puts in a value greater than DBL_MAX it will be Infinity by the time it reaches cc.
20:37:23  <piscisaureus_>trevnorris: indeed, so no matter how isinfinite works internally, this is correct :-)
20:37:24  <trevnorris>you'll see I don't check ranges on double values since I couldn't detect it if they did pass one.
20:37:54  <piscisaureus_>trevnorris: javascript uses doubles internally. Out of double range values cannot exist
20:38:18  <trevnorris>(1e309 === Infinity) === true
20:38:33  <piscisaureus_>> +(new Array(1000).join('1'))
20:38:37  <piscisaureus_>Infinity
20:38:58  <piscisaureus_>trevnorris: so what does that prove?
20:39:00  <piscisaureus_>:-)
20:40:53  <trevnorris>piscisaureus_: that there's no sense in checking the value range when the user passes a value outside of double limits, since it will automatically be changed before we receive it.
20:40:58  <trevnorris>and we can't check for finite float values against float min/max since it will fail when the double value the user passed == Infinity.
20:41:08  <piscisaureus_>yes
20:44:10  <trevnorris>honestly I'd just like to follow the DataView spec and remove the check all together. that would remove the nastiness of defining INFINITY
20:46:29  <trevnorris>then we could also remove the whole val_tmp thing and just have `T val = static_cast<T>(args[0]->NumberValue())`
20:55:23  <pquerna>bnoordhuis: https://github.com/joyent/node/issues/4437 <- i've got some concerns about the ability to do http request splitting because of this bug; Imagine a xhr to an image that is served by Node, it 304s, then a pipelined request for a page that returns an http only cookie; In apache with a reverse proxy.. that second request would be returned as the body, enabling an attacker to steal the http only cookie (i think, need to make a working test c
20:55:31  <pquerna>s/bug/issue/
20:55:59  * sgallaghquit (Remote host closed the connection)
20:58:46  <trevnorris>piscisaureus_: freak. don't know what changed between then and now, but I used the `offset_tmp != offset` check because `!args[1]->IsUint32()` was killing performance. seems not to be an issue anymore.
20:59:31  <trevnorris>piscisaureus_: so if you and bnoordhuis decide how you'd like that handled, mind if I do them both?
21:05:42  * kazuponjoined
21:07:59  <piscisaureus_>trevnorris: I won't mind if you fix it :-)
21:08:11  <piscisaureus_>trevnorris: but the next patch has to compile on windows :-)
21:08:49  <piscisaureus_>trevnorris: i've been pondering about it a little, I think the range check should go away altogether and out-of-range values should just be 0 or Inifinity
21:09:48  <trevnorris>piscisaureus_: that would make life a lot simpler. i'll make that change and update the tests and api docs to reflect that.
21:09:58  <piscisaureus_>trevnorris: cool
21:10:23  * kazuponquit (Ping timeout: 240 seconds)
21:10:27  <piscisaureus_>trevnorris: about the IsUint32 check -> can you point me to it? I am not sure what code you are referring to
21:10:53  <trevnorris>piscisaureus_: https://github.com/joyent/node/commit/22b84e6216b86f9d5178e7d8a4d1a577209b7008#L8R769
21:11:36  * c4milo_joined
21:11:36  <trevnorris>I used that instead of IsUint32() because it was running ~10% slower. but just tested it again and they're about the same.
21:11:54  <trevnorris>for a sanity check, recompiled at both versions, and it was there. not sure why though.
21:12:41  <piscisaureus_>trevnorris: yeah, just use IsUint32
21:12:56  <piscisaureus_>trevnorris: also, you should probably check for the number of arguments
21:13:28  <piscisaureus_>trevnorris: I don't think accessing args[2] is safe when args.Length() < 3
21:15:45  <trevnorris>piscisaureus_: even if evaluating BooleanValue()? Then I'll have to do a `bool doAssert = args.Length() < 3 ? false : args[2]->BooleanValue()`
21:16:03  <piscisaureus_>trevnorris: yes, even then
21:17:48  * wolfeidauquit (Remote host closed the connection)
21:18:08  <piscisaureus_>trevnorris: wait no I was wrong!
21:18:13  <piscisaureus_>trevnorris: sorry :-)
21:18:37  <piscisaureus_>trevnorris: it seems that v8 overloads the [] operator and *does* do bounds checks
21:19:18  <trevnorris>piscisaureus_: heh, cool. that's good to know.
21:19:35  <trevnorris>had me worried there for a moment.
21:23:31  * lohkeyjoined
21:26:29  <trevnorris>oh happy day. that felt good to delete.
21:40:42  * jmar777quit (Remote host closed the connection)
21:41:18  * jmar777joined
21:44:00  * jmar777quit (Read error: Operation timed out)
21:44:34  <trevnorris>piscisaureus_: um... ok. tested on ia32. and `size_t offset = 0xffffffffff + 1` == `0`? what data type am I supposed to use?
21:45:07  * piscisaureus_part
21:45:13  * piscisaureus_joined
21:45:23  * piscisaureus_part
21:45:28  * piscisaureus_joined
21:45:50  <piscisaureus_>trevnorris: `0xffffffffff + 1 == `0` is expected. How does it cause problems?
21:46:17  <trevnorris>piscisaureus_: because it's supposed to throw an exception if offset > buffer.length. but it doesn't.
21:46:29  <trevnorris>so the tests fail on ia32
21:47:07  <piscisaureus_>huh
21:47:16  <piscisaureus_>trevnorris: where is that check?
21:47:42  <trevnorris>piscisaureus_: test/simple/test-buffer.js#L833
21:49:24  * wolfeidaujoined
21:49:34  * mikealquit (Quit: Leaving.)
21:50:10  <piscisaureus_>trevnorris:
21:50:10  <piscisaureus_>if ((offset + sizeof(T) > len) || (offset + sizeof(T) < offset)) ?
21:50:30  <piscisaureus_>trevnorris: https://github.com/joyent/node/blob/master/src/node_buffer.cc#L799 <-- there
21:52:17  <trevnorris>piscisaureus_: nice.
21:52:27  * qmxchanged nick to qmx|away
22:01:10  * mikealjoined
22:03:13  <trevnorris>piscisaureus_: man, this isn't giving me a break. now ia32 is writing signaling NaN's. heh, love it when simple things turn complicated.
22:05:54  * pooyaquit (Quit: pooya)
22:06:27  * kazuponjoined
22:08:45  * lohkeyquit (Quit: lohkey)
22:09:19  * lohkeyjoined
22:09:49  <trevnorris>piscisaureus_: hm. those same tests are currently failing on master. wonder how that got though. swear I tested those.
22:11:02  * kazuponquit (Ping timeout: 252 seconds)
22:13:07  <piscisaureus_>trevnorris: is that caused by these modifications? That seems quite implausible
22:13:12  <piscisaureus_>or very strange atleast
22:13:18  * `3rdEdenquit (Remote host closed the connection)
22:13:56  <trevnorris>piscisaureus_: yeah. isn't from the mods. currently failing in master. going back to my original commit to see if it was failing then on ia32.
22:14:56  * mikealquit (Quit: Leaving.)
22:17:53  <trevnorris>piscisaureus_: ok. this is nuts. it only fails when I compile node with clang for ia32.
22:19:16  <trevnorris>but compiling with gcc and it passes all tests.
22:23:13  * rendarquit
22:30:03  * AvianFlujoined
22:32:52  <trevnorris>well, going to consider it a non-issue.
22:32:57  * mikealjoined
22:43:40  * mikealquit (Quit: Leaving.)
22:43:47  * `3rdEdenjoined
22:52:06  * `3rdEdenquit (Ping timeout: 252 seconds)
22:56:54  * felixgequit (Quit: felixge)
22:59:07  <piscisaureus_>just make sure the test passes then
22:59:22  <piscisaureus_>but it is also unrelated to the other problems so they can be addressed in a separate commit
22:59:25  <piscisaureus_>trevnorris: ^
23:00:10  <MI6>joyent/libuv: Bert Belder master * e4d8cba : unix: support sending uv_udp_t handles over ipc pipes - http://git.io/gmKiJw
23:00:39  <trevnorris>piscisaureus_: thanks. the tests do pass when compiled for ia32 with gcc. but for some reason clang doesn't have consistent behavior.
23:00:51  <trevnorris>and right now figuring out how to deal with that is way beyond me.
23:01:11  * pooyajoined
23:01:11  * indexzeroquit (Quit: indexzero)
23:04:41  * AvianFluquit (Remote host closed the connection)
23:07:29  * kazuponjoined
23:08:59  <trevnorris>i mean, if necessary would I have to use an #if to check dest-cpu and compiler to insert extra code to check for NaN values? all just seems so convoluted.
23:09:39  * jmar777joined
23:11:53  * kazuponquit (Ping timeout: 240 seconds)
23:14:51  <piscisaureus_>trevnorris: programming. It's a bitch.
23:15:31  <TooTallNate>trevnorris: so the problem is that different compilers have different defaults for signal NaN vs quite NaN?
23:15:53  <Raynos>Why doesn't `require("native_module")` work in userland?
23:16:32  <TooTallNate>Raynos: presumably because you never should be using it
23:16:35  <TooTallNate>in userland
23:16:45  <Raynos>I want to monkeypatch it's _cache
23:16:47  <Raynos>for hackery
23:17:24  <TooTallNate>Raynos: well i mean… heh… https://gist.github.com/1841241
23:17:25  <MI6>joyent/node: Bert Belder master * e2acf26 : deps: upgrade libuv to e4d8cba - http://git.io/H-JhuA
23:17:28  <TooTallNate>no clue if that works or not
23:17:54  <Raynos>:D
23:18:04  <Raynos>Ok I want require("fs") to return not fs
23:18:06  <Raynos>but a mocked thing
23:18:14  <Raynos>what voodoo do I do?
23:22:18  <cjd>var _require = require; var require = function(iWant) { /* I'm so sorry about this. */ ...... };
23:22:35  <cjd>just guessing :)
23:24:35  <Raynos>so it turns out
23:24:47  <trevnorris>TooTallNate: just that the tests don't pass as-is. guess I could just check for both values, but that'd be up for discussion.
23:24:48  <Raynos>that overwriting NativeModule._cache.fs breaks all of node :P
23:25:55  <CoverSlide>yeap
23:26:23  <CoverSlide>cause it needs fs.readFileSync to do any require in the first place
23:35:55  * mikealjoined
23:43:32  <piscisaureus_>i have to get better so im leaving already. farewell and godspeed everyone
23:44:11  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
23:54:07  <bnoordhuis>back
23:54:51  <sblom>isaacs: Did we ever get this CLA? https://github.com/joyent/node/issues/2924
23:57:38  <bnoordhuis>pquerna: because with pipelining mod_proxy thinks after the headers of the xhr response, it's safe to send the second response? that would be bad
23:57:52  * qmx|awaychanged nick to qmx