00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:08:42  * st_lukequit (Remote host closed the connection)
00:11:50  * paddybyersquit (Ping timeout: 240 seconds)
00:14:36  * mikealquit (Quit: Leaving.)
00:14:51  * mikealjoined
00:18:49  * mikealquit (Client Quit)
00:19:02  * mikealjoined
00:24:14  * st_lukejoined
00:25:54  * defunctzombiechanged nick to defunctzombie_zz
00:30:20  * brsonjoined
00:33:18  * bnoordhuisquit (Ping timeout: 240 seconds)
00:58:35  * st_lukequit (Remote host closed the connection)
00:59:51  * kazuponjoined
01:04:32  * kazuponquit (Ping timeout: 260 seconds)
01:09:23  * kazuponjoined
01:19:58  * brsonquit (Quit: leaving)
01:25:51  * kazuponquit (Remote host closed the connection)
01:31:45  * mikealquit (Quit: Leaving.)
01:33:12  * bill1024joined
01:36:43  * kazuponjoined
01:36:48  * bill1024part
01:40:25  * bnoordhuisjoined
01:40:59  * mikealjoined
01:43:06  * abraxasjoined
01:43:48  * mikealquit (Client Quit)
01:44:11  * mikealjoined
01:44:38  * bnoordhuisquit (Ping timeout: 240 seconds)
01:56:08  * mikealquit (Quit: Leaving.)
01:56:51  * mikealjoined
02:02:23  * mikealquit (Quit: Leaving.)
02:13:05  * defunctzombie_zzchanged nick to defunctzombie
02:25:42  * porcojoined
02:31:56  * st_lukejoined
02:44:13  * defunctzombiechanged nick to defunctzombie_zz
02:44:33  * jmar777quit (Remote host closed the connection)
02:47:42  * stagasjoined
02:58:00  * mikealjoined
02:58:59  * groundwaterquit (Quit: groundwater)
03:01:07  * groundwaterjoined
03:06:54  * mikealquit (Ping timeout: 256 seconds)
03:40:04  * kazuponquit (Remote host closed the connection)
03:42:22  * st_lukequit (Remote host closed the connection)
04:00:28  <ik>DAYCHANGE!
04:00:29  * groundwaterquit (Quit: groundwater)
04:04:06  * mikealjoined
04:08:52  * mikealquit (Ping timeout: 260 seconds)
04:10:22  * kazuponjoined
04:20:16  * kazuponquit (Ping timeout: 264 seconds)
04:26:19  * groundwaterjoined
04:26:20  * kazuponjoined
04:40:16  * kazuponquit (Remote host closed the connection)
05:04:11  * mikealjoined
05:07:02  * mikeal1joined
05:07:23  * mikeal1quit (Client Quit)
05:08:19  * mikealquit (Ping timeout: 246 seconds)
05:08:35  * stagasquit (Ping timeout: 260 seconds)
05:10:39  * mikealjoined
05:23:43  * groundwaterquit (Ping timeout: 256 seconds)
05:24:22  * inolenquit (Quit: Leaving.)
05:25:47  * groundwaterjoined
05:28:36  * mikealquit (Quit: Leaving.)
05:29:55  * mikealjoined
05:34:29  * defunctzombie_zzchanged nick to defunctzombie
05:35:25  * defunctzombiechanged nick to defunctzombie_zz
05:38:10  * inolenjoined
05:42:01  * bradleymeckjoined
05:46:19  * mikealquit (Quit: Leaving.)
05:50:55  * qardquit (Quit: Leaving.)
05:52:45  * st_lukejoined
06:00:10  * bradleymeckquit (Quit: bradleymeck)
06:11:52  * groundwaterquit (Quit: groundwater)
06:16:31  * mikealjoined
06:48:43  * paddybyersjoined
07:15:45  * mikeal1joined
07:15:45  * mikealquit (Read error: Connection reset by peer)
07:15:49  * paddybyersquit (Ping timeout: 276 seconds)
07:20:29  * defunctzombie_zzchanged nick to defunctzombie
07:23:37  * philipsquit (Ping timeout: 276 seconds)
07:27:42  * paddybyersjoined
07:31:06  * hzjoined
07:31:50  * rendarjoined
07:33:35  * csaohjoined
07:38:47  * `3E|Zzzchanged nick to `3E
08:02:45  * paddybyersquit (Ping timeout: 248 seconds)
08:10:09  * philipsjoined
08:11:31  * stagasjoined
08:20:00  * dominictarrjoined
08:34:57  * philipsquit (Ping timeout: 264 seconds)
08:37:14  * defunctzombiechanged nick to defunctzombie_zz
08:48:40  * dominictarrquit (Quit: dominictarr)
08:49:55  * philipsjoined
09:02:36  * porcoquit (Quit: Linkinus - http://linkinus.com)
09:13:22  * emilsedghjoined
09:16:42  * paddybyersjoined
09:18:38  * dominictarrjoined
09:21:07  <MI6>joyent/node: Fedor Indutny v0.8 * 42f926e : crypto: fix memory leak in LoadPKCS12 - http://git.io/5m1yzQ
09:23:50  * philipsquit (Ping timeout: 240 seconds)
09:33:59  <MI6>nodejs-v0.8: #50 UNSTABLE smartos-x64 (1/472) smartos-ia32 (1/472) linux-x64 (2/472) linux-ia32 (3/472) osx-x64 (1/472) osx-ia32 (1/472) http://jenkins.nodejs.org/job/nodejs-v0.8/50/
09:34:49  * mikeal1quit (Quit: Leaving.)
09:47:35  * skebcio_joined
09:47:54  * skebcioquit (Read error: Connection reset by peer)
09:49:21  * csaohquit (Read error: Operation timed out)
09:54:31  * csaohjoined
10:00:04  * philipsjoined
10:16:29  * mikealjoined
10:22:36  * csaohquit (Quit: csaoh)
10:31:01  * philipsquit (Ping timeout: 246 seconds)
10:39:37  * philipsjoined
10:44:01  * abraxasquit (Remote host closed the connection)
10:46:33  * csaohjoined
11:23:35  * dominictarrquit (Quit: dominictarr)
11:24:03  * bnoordhuisjoined
11:31:34  * philipsquit (Ping timeout: 246 seconds)
11:44:58  * hzquit (Ping timeout: 240 seconds)
11:45:37  * philipsjoined
11:49:26  * dominictarrjoined
11:52:00  * dominictarrquit (Client Quit)
12:04:53  <indutny>hoya
12:05:23  <indutny>bnoordhuis: I've no idea how big it should be to avoid test failures on windows
12:05:34  <indutny>but 2s sounds enough
12:08:58  * st_lukequit (Remote host closed the connection)
12:11:28  * philipsquit (Ping timeout: 256 seconds)
12:16:17  * st_lukejoined
12:24:28  * rendarquit (Ping timeout: 264 seconds)
12:30:50  <MI6>joyent/libuv: Ben Noordhuis master * c82cea1 : build: enable AM_INIT_AUTOMAKE([subdir-objects]) - http://git.io/c-ibYg
12:34:13  * piscisaureus_joined
12:34:21  <bnoordhuis>indutny: just commented / lgtm'd on the pr
12:34:27  <bnoordhuis>piscisaureus_: sup bertje?
12:35:27  * philipsjoined
12:35:35  <piscisaureus_>hey bnoordhuis
12:35:38  <piscisaureus_>alles goed
12:35:50  <bnoordhuis>mooi
12:36:14  <MI6>joyent/node: Fedor Indutny master * 38176d3 : test: loosen timeout in https-no-reader - http://git.io/u6bitQ
12:37:19  <indutny>done
12:37:23  * st_lukequit (Remote host closed the connection)
12:37:24  <indutny>thanks
12:38:22  * toothrotquit (Ping timeout: 256 seconds)
12:49:05  <MI6>nodejs-master: #323 UNSTABLE smartos-x64 (9/618) smartos-ia32 (2/618) http://jenkins.nodejs.org/job/nodejs-master/323/
12:50:04  * dominictarrjoined
12:54:48  * hzjoined
13:04:26  <MI6>nodejs-master-windows: #125 UNSTABLE windows-ia32 (16/618) windows-x64 (18/618) http://jenkins.nodejs.org/job/nodejs-master-windows/125/
13:05:34  * philipsquit (Ping timeout: 256 seconds)
13:15:42  * philipsjoined
13:17:06  * hzquit
13:25:41  * stagasquit (Quit: Bye)
13:27:01  * bradleymeckjoined
13:27:48  * jmar777joined
13:39:08  * bradleymeckquit (Quit: bradleymeck)
13:39:26  * philipsquit (Ping timeout: 240 seconds)
13:45:50  * philipsjoined
13:46:38  * bnoordhuisquit (Ping timeout: 240 seconds)
14:00:10  * rendarjoined
14:08:37  * rendarquit (Ping timeout: 248 seconds)
14:09:00  * philipsquit (Ping timeout: 260 seconds)
14:15:14  * bnoordhuisjoined
14:39:49  * rendarjoined
14:44:31  <MI6>joyent/node: Ben Noordhuis master * c13bfdc : child_process: add 'shell' option to .exec() - http://git.io/UB1r4w
14:45:15  * c4milojoined
14:50:39  * philipsjoined
14:53:02  * pachetjoined
14:57:50  <MI6>nodejs-master: #324 UNSTABLE smartos-x64 (8/618) osx-ia32 (1/618) smartos-ia32 (1/618) http://jenkins.nodejs.org/job/nodejs-master/324/
14:57:50  * philipsquit (Ping timeout: 240 seconds)
14:57:52  * bajtosjoined
14:58:33  * mikealquit (Quit: Leaving.)
14:59:00  * AvianFlujoined
15:03:09  <Domenic_>bnoordhuis: thanks for all the help, keep it coming :)
15:04:42  <bnoordhuis>Domenic_: yep, still going through it
15:04:58  * toothrjoined
15:05:05  <bnoordhuis>github is horribly slow today though
15:10:38  * philipsjoined
15:11:51  <MI6>nodejs-master-windows: #126 UNSTABLE windows-ia32 (16/618) windows-x64 (18/618) http://jenkins.nodejs.org/job/nodejs-master-windows/126/
15:14:49  * mikealjoined
15:25:52  * hueniverse1quit (Quit: Leaving.)
15:27:15  * groundwaterjoined
15:33:45  * philipsquit (Ping timeout: 264 seconds)
15:34:08  * c4miloquit (Remote host closed the connection)
15:34:34  * c4milojoined
15:34:40  <MI6>joyent/node: Andrew Paprocki master * 17fbd6c : doc: vm: fix incorrect API documentation - http://git.io/vZHiGQ
15:37:44  * AvianFluquit (Remote host closed the connection)
15:39:34  * c4miloquit (Ping timeout: 276 seconds)
15:41:50  * AvianFlujoined
15:42:13  * AvianFluchanged nick to Guest33894
15:44:08  * c4milojoined
15:45:09  * mikealquit (Quit: Leaving.)
15:47:09  * philipsjoined
15:47:42  <MI6>nodejs-master: #325 UNSTABLE smartos-x64 (7/618) linux-x64 (2/618) smartos-ia32 (3/618) http://jenkins.nodejs.org/job/nodejs-master/325/
15:48:02  <isaacs>bnoordhuis: hey
15:48:53  <isaacs>bnoordhuis: so, afaict, using util.isBlah functions is comparably performant to the IS_BLAH macros. and adding macros in node-core js is problematic. we need to not do that.
15:49:26  <isaacs>bnoordhuis: the broader goal of reducing property lookups for stuff like handle.onconnect etc is worthwhile, but i think we can get the benefits without macros
15:52:44  <Domenic_>yay!
15:52:46  * Guest33894quit
15:53:11  <Domenic_>(although, i was really looking forward to the makes-callbacks-easier macro.)
15:53:20  <isaacs>hah
15:53:32  <isaacs>Domenic_: in 2.0 maybe
15:53:39  <tjfontaine>I wanted NODE_GO_FAST()
15:55:17  * philipsquit (Ping timeout: 248 seconds)
15:56:07  <MI6>nodejs-master-windows: #127 UNSTABLE windows-ia32 (18/618) windows-x64 (19/618) http://jenkins.nodejs.org/job/nodejs-master-windows/127/
15:58:32  * dapjoined
15:58:59  * bajtosquit (Quit: bajtos)
16:03:20  * Damn3dquit (Ping timeout: 245 seconds)
16:06:37  * Damn3djoined
16:12:43  * dominictarrquit (Quit: dominictarr)
16:32:41  * dominictarrjoined
16:33:23  * philipsjoined
16:39:09  * philipsquit (Ping timeout: 264 seconds)
16:39:11  * csaohquit (Quit: csaoh)
16:43:10  * philipsjoined
17:03:50  * bill1024joined
17:05:37  <bill1024>hi, piscisaureus
17:05:43  <bill1024>may i ask you a question?
17:06:05  * AvianFlujoined
17:06:09  <bill1024>@piscisaureus
17:07:01  <tjfontaine>bill1024: he may not be around right now, but feel free to ask anyway
17:08:29  <bill1024>the question I asked several days ago?
17:08:33  <bill1024>.
17:09:21  <bill1024>I am just confused why libuv don't read write file using iocp
17:10:19  * brsonjoined
17:14:34  * AvianFluquit (Ping timeout: 268 seconds)
17:16:31  <piscisaureus_>bill1024: because reading files with IOCP is not reliably non-blocking
17:17:02  <piscisaureus_>except if you use direct i/o which is bad for most scenarios and has (memory and sector) alignment restrictions
17:18:21  <bill1024>what is "not reliably non-blocking"? does msdn describe about this?
17:18:30  * amartensjoined
17:18:31  <piscisaureus_>bill1024: so if you do ReadFile or WriteFile on a non-sychronized handle it may still block in many cases
17:18:37  * amartenspart
17:18:39  * amartensjoined
17:18:59  <piscisaureus_>bill1024: some cases are documented (will pull it up for you) but I've seen the same behaviour even if none of these conditions were met
17:19:40  * bnoordhuisquit (Ping timeout: 264 seconds)
17:20:48  <piscisaureus_>bill1024:
17:20:48  <piscisaureus_>http://support.microsoft.com/kb/156932/en-us
17:20:48  <piscisaureus_>http://stackoverflow.com/questions/4878868/readfile-doesnt-work-asynchronously-on-win7-and-win2k8
17:21:42  <piscisaureus_>bill1024: the kb is about xp and older, but it was still the case when I tried with windows 7
17:21:49  <piscisaureus_>never tried 8 though (it didn't exist at the time)
17:22:41  <piscisaureus_>bill1024: particularly read the "data is not in cache" section
17:23:18  <bill1024>imperfect os, imperfect world.
17:24:19  <bill1024>thanks, piscisaureus, great job!
17:24:25  * bajtosjoined
17:26:48  * c4miloquit (Remote host closed the connection)
17:27:14  * c4milojoined
17:27:30  * bajtosquit (Client Quit)
17:27:48  * mikealjoined
17:28:05  * mikealquit (Client Quit)
17:31:40  * c4miloquit (Ping timeout: 245 seconds)
17:32:46  * mikealjoined
17:44:40  * c4milojoined
17:46:29  * AvianFlujoined
17:47:28  * bill1024quit
18:04:32  * julianduquejoined
18:08:57  * pachetquit (Quit: leaving)
18:12:39  * defunctzombie_zzchanged nick to defunctzombie
18:16:14  * philipsquit (Changing host)
18:16:14  * philipsjoined
18:16:23  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
18:25:08  * bnoordhuisjoined
18:29:48  * bnoordhuisquit (Ping timeout: 268 seconds)
18:37:30  * julianduquequit (Quit: leaving)
18:37:41  * julianduquejoined
18:40:53  * mikealquit (Quit: Leaving.)
18:51:07  * bnoordhuisjoined
19:09:16  * pachetjoined
19:11:46  <roxlu>hi guys, libuv makes extensive use of events and I was wondering if it has a system for custom events? e.g. something which allows me to fire events to my own callbacks?
19:12:12  * brson_joined
19:12:35  * brson__joined
19:12:38  * brsonquit (Ping timeout: 245 seconds)
19:12:41  <bnoordhuis>roxlu: yes/no/maybe, depends on your definition of custom event
19:12:48  <roxlu>hehe
19:13:07  <roxlu>e.g. I want to dispatch an event when I receive some network data; and I want multiple functions to be called
19:13:22  <bnoordhuis>like that. no, libuv has nothing of the sort
19:13:48  <roxlu>ok, maybe you know of an existing library?
19:14:26  <bnoordhuis>nothing that easily integrates with libuv
19:14:51  <bnoordhuis>qt and glib/gtk have events / slots but they're their own event loops, of course
19:15:19  <roxlu>yeah; this looks promising
19:15:20  <roxlu>http://libsigc.sourceforge.net/
19:16:23  * brson_quit (Ping timeout: 245 seconds)
19:19:29  * groundwaterquit (Quit: groundwater)
19:21:52  * mikealjoined
19:22:05  * groundwaterjoined
19:22:34  <trevnorris>hello all
19:22:39  <MI6>joyent/node: Ben Noordhuis master * 1bd711c : v8: upgrade to v8 3.20.9 - http://git.io/GK9hpQ
19:22:45  <bnoordhuis>^ contains an important bug fix
19:23:02  <bnoordhuis>also, the first upgrade where we don't have to apply our own patches!
19:23:08  <bnoordhuis>trevnorris: sup trevor?
19:25:11  <trevnorris>bnoordhuis: not much. worked though some possible node.c api stuff over the weekend. i'm really diggin C. you?
19:25:25  <bnoordhuis>i'm diggin c as well
19:25:40  <bnoordhuis>but that's probably not what you meant
19:27:01  <trevnorris>heh. probably not. it just seems relatively straight forward, real wysiwyg.
19:28:30  * Benvie_joined
19:29:53  * brson__quit (Ping timeout: 240 seconds)
19:30:06  * Benviequit (Ping timeout: 246 seconds)
19:30:44  * pquernaquit (Ping timeout: 246 seconds)
19:30:46  * pachet_joined
19:30:59  * pquernajoined
19:31:01  * pachetchanged nick to Guest86454
19:31:13  * DrPizzaquit (Ping timeout: 246 seconds)
19:32:11  * jez0990_joined
19:32:13  * LOUDBOTquit (Ping timeout: 246 seconds)
19:32:57  <MI6>nodejs-master: #326 FAILURE smartos-ia32 (1/618) http://jenkins.nodejs.org/job/nodejs-master/326/
19:33:08  * jez0990quit (Ping timeout: 246 seconds)
19:33:15  * brsonjoined
19:33:22  * DrPizzajoined
19:33:23  * Guest86454quit (Ping timeout: 240 seconds)
19:33:46  <trevnorris>bnoordhuis: from build: FATAL ERROR: v8::String::NewExternal() Pointer is not aligned
19:33:59  <bnoordhuis>yeah, i kind of expected that
19:34:14  <bnoordhuis>v8 is now enforcing that pointers are actually aligned
19:34:34  <bnoordhuis>it's funny it doesn't happen on my local machine
19:35:33  * pachet_quit (Client Quit)
19:37:32  * LOUDBOTjoined
19:37:45  <trevnorris>bnoordhuis: looks like it's from node-weak, if I'm reading it correctly.
19:38:13  <bnoordhuis>yeah
19:38:15  * Benvie_quit (Ping timeout: 268 seconds)
19:38:29  <bnoordhuis>trying it on another machine now
19:39:24  * Benviejoined
19:40:26  * pachet_joined
19:40:43  * pachet_changed nick to pachet
19:40:54  * pachetquit (Changing host)
19:40:54  * pachetjoined
19:41:06  * qardjoined
19:42:52  <trevnorris>bnoordhuis: fwiw I couldn't replicate with clang 3.3 or gcc 4.7 on x64 or ia32 builds for linux.
19:45:49  <bnoordhuis>trevnorris: i can partially reproduce it, it seems. when i run `make test-gc` about 5 tests segfault
19:48:56  <bnoordhuis>it's painfully slow in a debugger...
19:49:07  * julianduquequit (Ping timeout: 264 seconds)
19:50:04  <trevnorris>bnoordhuis: ah, thanks. make test-gc does it
19:51:41  * julianduquejoined
19:52:36  <bnoordhuis>a debug build of node-weak doesn't crash :-/
19:53:02  <trevnorris>bnoordhuis: the only place I can find NewExternal being used is from my commit to src/string_bytes
19:53:20  <trevnorris>is the issue in how it's being used, or the arguments being passed?
19:53:37  <trevnorris>(i'll have to admit, i'm reading up on aligning pointers right now :P
19:55:04  <bnoordhuis>trevnorris: yeah. the issue is that v8 now forces you to align the pointer on a two-byte boundary
19:55:17  <bnoordhuis>i.e. (uintptr_t) ptr & 1 should be 0
19:55:37  <trevnorris>bnoordhuis: ok. so it's probably from my incorrect instantiation of new ExternString. you could probably fix that in your sleep.
19:55:43  <trevnorris>i'm reading up how to do that now :)
19:55:47  <bnoordhuis>yeah, it should be pretty trivial
19:55:53  <bnoordhuis>funny thing is i can't really reproduce it
19:56:11  <bnoordhuis>that node-weak thing back there was simply because node-weak didn't get recompiled for some reason
19:56:21  <trevnorris>tjfontaine: ^
19:56:32  <bnoordhuis>on my machine, i should add
19:56:46  <trevnorris>ah, ok. tjfontaine nm :)
19:56:50  <bnoordhuis>`make test-gc` apparently doesn't rebuild it when the node binary changes
19:57:01  <bnoordhuis>that's a bug too, of course, but i'll save it for later
19:59:07  <trevnorris>bnoordhuis: so will malloc auto align, or do you just allocate sizeof + 1, erm. probably easiest if you just demonstrate the solution :)
20:02:16  * mikealquit (Quit: Leaving.)
20:02:44  * st_lukejoined
20:03:56  * mordy__joined
20:04:27  * bradleymeckjoined
20:04:54  <bnoordhuis>trevnorris: malloc'd pointers are effectively aligned on 8 byte boundaries (sizeof(double))
20:04:58  <MI6>nodejs-master-windows: #128 UNSTABLE windows-ia32 (24/618) windows-x64 (20/618) http://jenkins.nodejs.org/job/nodejs-master-windows/128/
20:05:29  <trevnorris>cool thanks.
20:07:55  * stagasjoined
20:14:56  <bnoordhuis>ah, reproduces on my fedora system
20:15:02  <bnoordhuis>but only with `make test-gc`
20:16:24  <bnoordhuis>ah no... okay, reproducable :)
20:20:36  <tjfontaine>trevnorris: on the build slave we blow away the entire directory and do a clean checkout, so wasn't a rebuild that caused it :)
20:20:56  <trevnorris>tjfontaine: yeah, missed the part where it was on ben's local machine. :)
20:21:05  <tjfontaine>:)
20:21:36  * bradleymeckquit (Quit: bradleymeck)
20:21:50  * qardquit (Quit: Leaving.)
20:24:01  * brsonquit (Quit: leaving)
20:27:28  * amartensquit (Quit: Leaving.)
20:32:33  * mikealjoined
20:33:42  <mordy__>what is the ABI/API status of libuv? specifically i'm wondering what's the viability of shipping around a DSO which would be "linked" against some version of libuv
20:34:14  <mordy__>(in this case particularly, we're trying to figure out the mechanics of a "dual-life" module to be used with node.js and as a standalone)
20:34:55  * jmar777quit (Remote host closed the connection)
20:36:40  * mikealquit (Ping timeout: 245 seconds)
20:36:44  <bnoordhuis>mordy__: the api and abi are stable only in even-numbered releases, i.e. v0.10.x is stable for the duration of the v0.10 series
20:37:05  <bnoordhuis>v0.11.x are dev releases and not stable (from an api/abi perspective)
20:38:23  <mordy__>bnoordhuis: so a binary compiled with 0.8.x headers will load inside either node-0.8.x or a random libuv 0.8.x
20:39:26  <bnoordhuis>mordy__: yes
20:41:18  * amartensjoined
20:43:40  <tjfontaine>all things being equal
20:46:15  <MI6>joyent/node: Ben Noordhuis master * 34b0a36 : src: don't use NewExternal() with unaligned strings - http://git.io/4NQTXg
20:46:28  <bnoordhuis>^ trevnorris, tjfontaine
20:46:41  <tjfontaine>bnoordhuis: thanks
20:46:45  <bnoordhuis>finally a good reason to remove node_string.cc
20:47:45  <trevnorris>bnoordhuis: so the issue wasn't from ExternString::New() in string_bytes?
20:47:56  <trevnorris>ah, well that's nice :)
20:48:29  <bnoordhuis>nope, the strings that js2c generates are sometimes unaligned
20:48:42  <trevnorris>ah, ok cool.
20:48:59  <bnoordhuis>i guess i could've conjured up something with unions of doubles and char[] to force a certain alignment
20:49:03  <bnoordhuis>but this is much simpler
20:49:30  * brsonjoined
20:49:41  <bnoordhuis>it wasn't as if that ImmutableStringResource class actually served a purpose
20:54:44  <isaacs>bnoordhuis: i'd like to hash out this issue of macros with you, if you've got a bit of time to do that nwo.
20:54:53  <isaacs>bnoordhuis: otherwise, let's set some other time.
20:55:08  <trevnorris>bnoordhuis: when you have a min, mind giving this one more quick look: https://github.com/joyent/node/pull/5747
20:55:25  <trevnorris>bnoordhuis: I added a commit so you don't have to re-review everything.
20:58:00  <MI6>nodejs-master: #327 UNSTABLE smartos-x64 (9/618) linux-ia32 (1/618) smartos-ia32 (2/618) http://jenkins.nodejs.org/job/nodejs-master/327/
21:02:34  <MI6>joyent/libuv: Ben Noordhuis master * 0e7ba08 : unix, windows: make buf arg to uv_fs_write const - http://git.io/Uj5Jyg
21:04:20  <trevnorris>anyone for a quick review: https://github.com/trevnorris/node/compare/to-slice-or-not-to-slice
21:04:28  * st_lukequit (Remote host closed the connection)
21:04:41  * mikealjoined
21:04:59  * mikealquit (Client Quit)
21:06:09  <isaacs>trevnorris: mostly lgtm, just thinking out loud, won't this change the semantics where a slice is a different object?
21:06:32  <trevnorris>isaacs: sorry, not following "different object"
21:06:34  <isaacs>trevnorris: like, right now, if you do: y=x.slice(0, x.length); x.z = 'zed'; assert.equal(y.z, undefined)
21:06:41  * mikealjoined
21:06:46  <isaacs>with this change, y.z === 'zed'
21:07:55  <trevnorris>isaacs: ah, I see what you're saying. you're correct.
21:08:00  <isaacs>trevnorris: i'm not sure that's a problem.
21:08:02  <isaacs>but it IS a change.
21:08:15  * julianduquequit (Quit: leaving)
21:08:26  * julianduquejoined
21:08:50  <trevnorris>isaacs: no, I phased the first sentence of the doc "Returns a new buffer"
21:09:03  <trevnorris>so guess we do always need to guarantee it's a new buffer.
21:11:45  <tjfontaine>it's interesting wrt buffers, since you expecting the underlying memory to be shared, but you're used to array giving you a new object back
21:12:14  <stagas>you could have a third boolean param in slice to indicate you don't care if it's a new object or the old one dunno if it's going to gain any speed though or slow it down
21:12:31  <trevnorris>yeah. it's definitely a necessary api, but no other js api allows that.
21:12:32  * julian_duquejoined
21:12:34  * julian_duquequit (Changing host)
21:12:34  * julian_duquejoined
21:12:56  * julianduquequit (Disconnected by services)
21:13:06  * julian_duquechanged nick to julianduque
21:13:30  <bnoordhuis>isaacs: i don't want to spoil my good mood
21:13:37  <trevnorris>stagas: well, i'm going to take the assumption the user can easily check it anyways. it's pretty much (buf.length === end - start)
21:22:35  <isaacs>bnoordhuis: there's no need for anyone's good mood to be ruined.
21:23:27  <isaacs>bnoordhuis: i know that you are in favor of using macros in node's js. it seems like my opposition is making you feel like your opinion doesn't matter or something. it does matter. i want to use communication on this problem like the grownup thinking apes we are.
21:24:17  <trevnorris>who said anything about being grownup?
21:25:35  <trevnorris>bnoordhuis: thanks. i'll wait until the next libuv upgrade with the const patch.
21:27:30  <MI6>nodejs-master-windows: #129 UNSTABLE windows-ia32 (18/618) windows-x64 (26/618) http://jenkins.nodejs.org/job/nodejs-master-windows/129/
21:28:20  <trevnorris>tjfontaine: this just github being stupid? http://jenkins.nodejs.org/job/node-pullrequest/874/console
21:29:13  <tjfontaine>or something
21:30:26  <tjfontaine>trevnorris: rescheduled
21:30:44  <trevnorris>tjfontaine: thanks :)
21:31:22  <tjfontaine>see if it happens again
21:31:31  <MI6>libuv-master: #147 FAILURE windows (3/192) http://jenkins.nodejs.org/job/libuv-master/147/
21:31:51  <tjfontaine>sigh which it is.
21:33:02  <tjfontaine>src/unix/sunos.c: In function 'uv_interface_addresses':
21:33:03  <tjfontaine>src/unix/sunos.c:645:10: error: 'i' undeclared (first use in this function)
21:33:03  <tjfontaine>src/unix/sunos.c:645:10: note: each undeclared identifier is reported only once for each function it appears in
21:33:06  <tjfontaine>src/unix/sunos.c:647:9: error: 'sa_addr' undeclared (first use in this function)
21:33:17  <tjfontaine>bnoordhuis: ^ I'm guessing that's from the mac address changes?
21:35:58  <bnoordhuis>tjfontaine: that seems likely
21:38:43  <MI6>joyent/libuv: bnoordhuis created branch fix-sunos-breakage - http://git.io/G73ESQ
21:38:54  * rendarquit
21:38:57  <bnoordhuis>tjfontaine: ^ jenkins is going to build that right?
21:39:41  <tjfontaine>should, if not I will force it to
21:40:04  <tjfontaine>http://jenkins.nodejs.org/job/libuv-review/30/
21:40:09  <tjfontaine>yup it started on its own
21:45:26  <MI6>libuv-review: #30 FAILURE freebsd-x64 (5/191) windows-x64 (3/192) windows-ia32 (3/192) osx-ia32 (1/192) smartos-ia32 (4/191) linux-ia32 (1/191) smartos-x64 (2/191) http://jenkins.nodejs.org/job/libuv-review/30/
21:45:43  <tjfontaine>that failure was because of freebsd, but it looks like that change is good bnoordhuis
21:49:15  <tjfontaine>trevnorris: all better for your pr
21:49:25  <trevnorris>tjfontaine: thanks
21:54:12  <MI6>joyent/libuv: Ben Noordhuis master * 4bdb7d8 : aix: fix build breakage introduced in 3ee4d3f (+1 more commits) - http://git.io/7ByXKQ
21:54:24  <bnoordhuis>fixing two operating systems in one fell swoop
21:54:38  <bnoordhuis>admittedly i'm not sure the aix code actually compiles :)
21:54:57  <bnoordhuis>tjfontaine: we should have an aix build slave!
21:55:14  <tjfontaine>hmm I could get an aix 5.3 box if I wanted to be evil :)
21:55:26  <tjfontaine>just log into OldWork :P
21:55:30  <bnoordhuis>heh
21:55:34  <trevnorris>bnoordhuis: for the overflow check, would it work to do: off >= off + len ?
21:55:43  <tjfontaine>they have a hot-slave sitting there doing nothing but rsync's all day, noone would ever notice
21:56:10  <bnoordhuis>trevnorris: yes, if it's unsigned arithmetic - which it is, right?
21:56:31  <trevnorris>bnoordhuis: yeah, thanks
21:56:39  <bnoordhuis>signed overflow is undefined unless you compile with -fwrapv
21:57:18  <bnoordhuis>which is not really a solution of course, it only works with gcc and clang
21:58:26  <trevnorris>heh, ok
22:00:00  <MI6>libuv-review: #31 FAILURE freebsd-x64 (4/191) windows-x64 (4/192) windows-ia32 (4/192) smartos-ia32 (2/191) smartos-x64 (2/191) http://jenkins.nodejs.org/job/libuv-review/31/
22:00:32  <tjfontaine>hm that shouldn't have run again
22:00:42  <bnoordhuis>/usr/include/machine/segments.h:96: error: width of 'sd_hibase' exceeds its type
22:00:43  <bnoordhuis>/usr/include/machine/segments.h:114: error: width of 'gd_hioffset' exceeds its type
22:00:45  <bnoordhuis>/usr/include/machine/segments.h:184: error: width of 'rd_base' exceeds its type
22:00:48  <bnoordhuis>^ that's... interesting
22:00:52  <tjfontaine>oh you did push to that branch again
22:00:59  <bnoordhuis>i deleted it
22:01:08  <tjfontaine>ah, ok I should fix that :)
22:01:20  <tjfontaine>bnoordhuis: ya, is that because of being on x64 and trying to compile ia32?
22:01:46  <bnoordhuis>it might be
22:01:57  <bnoordhuis>i've never tried to cross-compile libuv on freebsd tbh
22:03:13  <tjfontaine>me either, it similar fails in the node --dest-cpu=ia32 world on that part of libuv, so it's not in how I'm invoking it
22:03:40  <tjfontaine>fbsd fails to compile x64 node-master in a slightly different way atm http://jenkins.nodejs.org/job/node-review/DESTCPU=x64,label=freebsd9.1/48/console
22:04:13  <bnoordhuis>ah... gcc bug
22:05:09  <bnoordhuis>../deps/v8/include/v8.h:6410: sorry, unimplemented: inlining failed in call to 'v8::Handle<v8::Primitive> v8::Null(v8::Isolate*)': function not inlinable
22:05:17  <bnoordhuis>what's interesting is that v8.h is only 4,000 lines long
22:05:45  <tjfontaine>*only* :)
22:07:07  * st_lukejoined
22:10:26  * Benvie_joined
22:11:40  * Benviequit (Ping timeout: 245 seconds)
22:12:55  * stagasquit (Ping timeout: 245 seconds)
22:20:25  * pachetquit (Quit: leaving)
22:20:28  <MI6>joyent/node: Ben Noordhuis master * 6bd922f : dgram: report send errors to cb, don't pass bytes - http://git.io/0bsHeA
22:21:51  * c4miloquit (Remote host closed the connection)
22:22:17  * c4milojoined
22:23:28  <bnoordhuis>okay, back to haskell
22:23:36  <tjfontaine>o0
22:23:49  <tjfontaine>how did you end up there?
22:24:11  <bnoordhuis>i admit FP is my kink
22:24:34  <bnoordhuis>it's because haskell has some of the nicest parser libraries around
22:25:26  * bradleymeckjoined
22:26:40  * c4miloquit (Ping timeout: 245 seconds)
22:33:10  <MI6>nodejs-master: #328 UNSTABLE osx-x64 (1/619) smartos-x64 (7/619) smartos-ia32 (4/619) http://jenkins.nodejs.org/job/nodejs-master/328/
22:38:48  <trevnorris>well, this is some suctastic api confusion. Handle<Object>::IsExternal vs Handle<String>::IsExternal... especially when using an <Object> check on the variable right before.
22:43:24  <tjfontaine>isn't it Handle<Value>::IsExternal?
22:43:42  <trevnorris>tjfontaine: yeah. that's what I meant. :P
22:43:45  * AvianFlu_joined
22:44:18  * AvianFlu_quit (Remote host closed the connection)
22:46:38  * AvianFluquit (Ping timeout: 240 seconds)
22:49:32  * isaacsbattery dying
22:49:33  * isaacs&
22:49:33  <LOUDBOT>MY EARS ARE TINGLING
22:57:59  <trevnorris>tjfontaine: what's up with 5940?
22:58:11  <tjfontaine>which part?
22:58:29  <trevnorris>it's not a zero cost to call nop
22:58:55  * Benvie_quit (Remote host closed the connection)
22:59:04  <trevnorris>at least with those macros, when they're not used they're not screwing with my code.
22:59:16  * Benviejoined
22:59:23  <tjfontaine>trevnorris: the jit will do the right thing as it warms up, but this also provides interesting points of integration for people writing analysis tools which don't rely on system mechanisms
23:00:13  <tjfontaine>trevnorris: if you're on linux but can't get systemtap you could monkey patch your way into visibility
23:03:38  <MI6>nodejs-master-windows: #130 UNSTABLE windows-ia32 (24/619) windows-x64 (21/619) http://jenkins.nodejs.org/job/nodejs-master-windows/130/
23:04:00  * jmar777joined
23:06:42  * jmar777quit (Remote host closed the connection)
23:07:44  * amartensquit (Quit: Leaving.)
23:09:01  * dominictarr_joined
23:10:30  * dominictarrquit (Ping timeout: 256 seconds)
23:10:30  * dominictarr_changed nick to dominictarr
23:20:51  <trevnorris>mraleph1: ping
23:23:14  * paddybyersquit (Ping timeout: 256 seconds)
23:29:12  * jmar777joined
23:38:24  * jmar777quit (Remote host closed the connection)
23:38:57  <isaacs>trevnorris: no-op's aren't free, but we do throw them all over the place.
23:39:43  <isaacs>trevnorris: qv:$ git grep debug\( lib | wc -l
23:39:44  <isaacs> 158
23:41:21  <trevnorris>isaacs: still doesn't mean I have to like them :)
23:41:49  <tjfontaine>oh I missed this conversation here
23:42:03  <trevnorris>tjfontaine: all 3 lines :)
23:42:14  <tjfontaine>well I commented with the same point about debug :)
23:42:21  <isaacs>trevnorris: the reason why we de-macro'ed debug() methods was a) using them in non-debug builds is actually quite often very helpful, and b) it's not enough savings to matter.
23:43:07  <isaacs>i'm all for being performance-centric, but we also need to put some of that responsibility onto V8, and just write idiomatic JavaScript sometimes.
23:43:26  <tjfontaine>after all, that's the advice we give our users
23:43:50  * groundwaterquit (Quit: groundwater)
23:43:54  * dapquit (Quit: Leaving.)
23:44:25  <trevnorris>well two things 1) as long as were good about not placing these in code that can be inlined. the way modules are loaded requires a global context switch when accessing global variables.
23:44:42  <trevnorris>2) someone has to be performance anal ;)
23:45:07  <trevnorris>i'm cool with them. just want to voice my opinion along the way. :)
23:49:18  <trevnorris>tjfontaine: know you have a ton on your plate, so just curious. have any ideas for the addon tests, and how was bug sorting?
23:53:17  * bradleymeckquit (Quit: bradleymeck)
23:55:32  * wolfeida_joined
23:55:47  <trevnorris>isaacs: thoughts? https://github.com/joyent/node/issues/5943
23:57:06  * wolfeidauquit (Ping timeout: 264 seconds)