00:03:18  <piscisaureus_>isaacs: can you try https://gist.github.com/f9d201ad466005cecdb4 ?
00:03:40  <piscisaureus_>actually, typo
00:04:09  <piscisaureus_>isaacs: https://gist.github.com/c7b0205195bf68f44acb
00:04:25  <piscisaureus_>FUCK
00:04:38  * ericktjoined
00:04:48  <isaacs>piscisaureus_: that was for windows :)
00:04:54  <isaacs>moon magic os = windows
00:05:02  * mikealquit (Quit: Leaving.)
00:05:04  <piscisaureus>huh
00:05:31  <piscisaureus>isaacs: x86 you're saying?
00:05:33  <isaacs>appls = fruity cat
00:05:39  <isaacs>piscisaureus: windows ia32 works
00:05:43  <isaacs>piscisaureus: windows x64 does not work
00:05:54  * piscisaureustries
00:06:48  <piscisaureus>isaacs: should I apply your patch first then? I think it always worked here
00:07:38  <isaacs>piscisaureus: try on ry/v0.9.2-release
00:08:24  <piscisaureus>isaacs: weird. I swear it worked when I landed that patch
00:12:27  <piscisaureus>ah, easy
00:14:58  <piscisaureus_>isaacs: https://github.com/joyent/node/commit/90a625399f5ef6cb7d6dfd29f18095101ee4c77b
00:15:17  * lohkeypart
00:15:29  <piscisaureus_>isaacs: your patch lgtm, but just delete the srptest.c file
00:15:35  * lohkey_joined
00:15:35  * lohkey_quit (Client Quit)
00:15:43  <isaacs>k
00:15:44  <piscisaureus_>isaacs: it is definitely a mistake, not a disabled feature or anything
00:15:49  <isaacs>right
00:15:58  <isaacs>so, just remove the line, rather than # it out?
00:16:03  <piscisaureus_>yes
00:16:50  <TooTallNate>and the file itself probably :p
00:20:41  <piscisaureus_>no
00:21:29  <isaacs>TooTallNate: /usr/bin/ld: crt1.o: No such file: No such file or directory
00:21:41  <isaacs>TooTallNate: does that look familiar to you? i seem to remember seeing it before
00:22:05  <TooTallNate>isaacs: where are you seeing that?
00:22:06  <TooTallNate>haha
00:22:09  <TooTallNate>that's not good
00:22:20  <isaacs>TooTallNate: DESTCPU=ia32 make -j32 binary
00:22:31  <TooTallNate>solaris?
00:22:47  <mmalecki>isaacs: is it x64 bit solaris?
00:22:52  <isaacs>TooTallNate: smartos
00:22:53  <isaacs>yes
00:22:55  <isaacs>sunos
00:23:22  <mmalecki>isaacs: that might happen because pkgin only installs libs for one architecture
00:23:47  <isaacs>hmm... i've done this lots of times, though
00:23:53  <isaacs>like, for the last dozen releases or so
00:24:18  <TooTallNate>what's "find / -name crt1.o" say?
00:24:41  <mmalecki>interesting. what are you trying to build? I'll give it a try on a smartos machine
00:24:49  <tjfontaine>maybe . is a bit less disk intensive :)
00:25:01  <tjfontaine>mmalecki: I imagine nodejs master/9.2 branch
00:25:15  <TooTallNate>tjfontaine: fuck that shit :p
00:25:35  <tjfontaine>TooTallNate: heh
00:25:44  <tjfontaine>TooTallNate: it's not your IO so why should we care right?
00:26:04  <TooTallNate>tjfontaine: ;)
00:26:08  <TooTallNate>tjfontaine: it should be in lil /usr/lib/crt1.o
00:26:12  <TooTallNate>or something like that
00:26:19  <TooTallNate>probably something different for 32-bit on solaris
00:26:31  <isaacs>$ find / -name crt1.o 2>/dev/null
00:26:32  <isaacs>/usr/lib64/crt1.o
00:26:39  <TooTallNate>that's it?
00:26:44  <isaacs>yep
00:26:55  <isaacs>but this is the same machine i built 0.9.1's binaries on
00:27:16  <TooTallNate>isaacs: i see "/usr/lib/crt1.o" on smartosdrone
00:27:51  <isaacs>ohhh!!!! hahah
00:27:55  <isaacs>sorry, i got confused
00:27:57  <isaacs>this is centos
00:28:14  * bnoordhuissigns off
00:28:32  <tjfontaine>night ben
00:28:35  * isaacspulling in piscisaureus_'s patch
00:28:37  <bnoordhuis>you too
00:30:06  <piscisaureus>yeah I am also off
00:30:34  <piscisaureus>bye people
00:30:36  * piscisaureusquit (Quit: leaving)
00:31:10  * piscisaureusjoined
00:31:25  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
00:33:06  * bnoordhuisquit (Ping timeout: 240 seconds)
00:37:27  * piscisaureusquit (Ping timeout: 252 seconds)
01:03:52  <isaacs>piscthanks!
01:03:58  <isaacs>piscisaureus^
01:04:14  <isaacs>tab-completion didn't complete. it's so sad when that happens.
01:04:29  <isaacs>0.9.2 almost done
01:04:44  <isaacs>building pkg, everything else finished and uploading
01:05:52  <tjfontaine>isaacs: before 0.9.3 you'll want to weigh in on https://github.com/joyent/node/pull/3872
01:07:39  <isaacs>hm, yeah
01:07:44  <isaacs>what are your thoughts?
01:07:56  <isaacs>i haven't really dug into that.
01:08:19  <isaacs>usually shigeki is pretty sharp, so i figure it's at least somewhat reasonable
01:08:32  <tjfontaine>my preference is to leave it a timer, but I can see why knowing when-ish it happens in execution is nice
01:09:20  * dapquit (Quit: Leaving.)
01:11:26  <tjfontaine>I am unconvinced in practice that there would be much difference
01:11:35  <tjfontaine>but it could be benchmarked
01:13:57  <isaacs>yeah, we can figure it out later, i guess :)
01:31:16  * piscisaureus_joined
01:31:35  <piscisaureus_>sorry, i was lying
01:31:41  <piscisaureus_>isaacs: what's up with npmjs.org?
01:33:12  <tjfontaine>seems to be exhibiting that cluster issue he was describing earlier today
01:33:39  <piscisaureus_>well
01:33:46  <piscisaureus_>the site sends back a page title
01:33:53  <isaacs>piscisaureus_: works for me?
01:34:05  <piscisaureus_>oh hmm it's back up
01:34:11  <isaacs>lemme check the logs
01:34:15  <piscisaureus_>for the past 10 minutes or so it hung
01:34:23  <tjfontaine>it's sporadic here
01:35:10  <mmalecki>might it be a cluster problem?
01:35:32  <mmalecki>I've seen cluster just timing out once
01:37:07  <isaacs>piscisaureus_: i see a bit of a hang happened around 3 minutes ago
01:37:28  <isaacs>piscisaureus_: at /package/appy
01:37:34  <piscisaureus_>isaacs: it was before that
01:37:34  <isaacs>piscisaureus_: and another one earlyer at /browse/depended
01:37:50  <piscisaureus_>and it was at https://npmjs.org/package/coroutines
01:38:56  <mmalecki>isaacs: it's all couch based, right? maybe couch was rebuilding views?
01:39:14  <mmalecki>you could have a daemon hitting view urls at some interval
01:39:24  <piscisaureus_>* windows: un-break writable tty handles (Bert Belder) <-- I should have told you to drop it
01:39:25  <mmalecki>or use a post-get rebuild thing
01:39:27  <piscisaureus_>nah
01:40:46  <piscisaureus_>isaacs: I am going to stir in the TAGG discussion little more. Nothing beats a good fight on a boring monday night.
01:41:16  <ryah>isaacs: no v8 upgrade in 0.9.2?
01:42:05  <piscisaureus_>ha, ryah is around
01:42:33  <ryah>
01:42:45  <ryah>^-- don't you think it's time to get on V8's trunk?
01:43:09  <ryah>i realize it makes merges from v0.8 harder
01:43:16  <ryah>but .. well it's doable
01:43:19  <isaacs>ryah: yeah, we can do it soon.
01:43:41  <isaacs>mmalecki: the npm site isn't couch. it's node
01:43:53  <isaacs>ryah: i'll do that tomorrow :)
01:44:01  <isaacs>ryah: i'd prefer not to break both node and openssl in the same release :)
01:44:06  <isaacs>er, both v8 and openssl
01:44:10  <mmalecki>isaacs: but it queries couch, right?
01:44:13  <isaacs>mmalecki: yessir
01:44:24  <isaacs>mmalecki: but it's cached very agressively
01:44:32  <isaacs>mmalecki: there's nothign that should take more than a few seconds, and usually it doesn't
01:44:36  <isaacs>in fact, most of the time, it's blazingly fast.
01:44:40  <mmalecki>isaacs: yeah, that's what I mean. sometimes when a view didn't get queried for a long time, couch will take few seconds to rebuild it
01:45:10  <isaacs>mmalecki: that lag is only when the contents of the view have changed.
01:45:26  <isaacs>mmalecki: views remain fast as long as the docs they contain don't change.
01:45:35  <isaacs>mmalecki: of course, if you touch the design doc, then you'er in pain land
01:45:50  <mmalecki>^ how I got our balancers down for few seconds once
01:46:27  <mmalecki>but yeah. if docs change, couch will have to update the view. many changes, low amount of queries === slow get
01:47:41  * CIA-131joined
01:47:42  <mmalecki>the point is, if you update view a lot and don't query it often, lag can become noticable
01:54:17  <isaacs>true that
01:54:22  <isaacs>but that's not what's going on here
01:54:34  <isaacs>when you hit a lag on the site, it's way longer than if you'd made all those GETs to couchdb yourself
01:55:23  <mmalecki>right. can that be related to cluster somehow?
01:56:41  <mmalecki>or that `finish` problem?
01:57:26  <isaacs>it can be a lot of things, i'm sure?
01:57:31  <isaacs>don't really know yet.
01:57:37  <isaacs>but there's definitely a few bugs there.
01:57:44  <isaacs>i'm also running node's tls directly
01:58:21  <mmalecki>isaacs: try https://github.com/mmalecki/node/commit/cf80eb29acbf842f6874ea8f07e0eea6b9ebbdee, but I don't think TLS is likely to be causing it
01:59:02  <mmalecki>or wait
01:59:08  <piscisaureus_>mmalecki: that does nothing on x32
01:59:13  <piscisaureus_>*ia32
01:59:32  <isaacs>i really suspect bugs in cluster
01:59:40  <mmalecki>piscisaureus_: you can get a x64 smartos
01:59:41  <isaacs>cluster.workers[1].disconnect() does nothing
01:59:45  <mmalecki>that's how we run our balancers
02:00:19  <piscisaureus_>mmalecki: the move to x64 itself probably has more impact on tls performance than that patch ;-)
02:00:29  <mmalecki>haha, yeah :)
02:01:09  <mmalecki>but no, they've been running on x64 for quite a bit and that patch was noticable performance boost anyway
02:01:23  <isaacs>well, i gotta run
02:01:26  <isaacs>it's dinner time.
02:01:36  <piscisaureus_>later, isaacs
02:01:43  <mmalecki>isaacs: bye
02:01:58  <mmalecki>it's going to be breakfast time in here soon
02:08:13  <mmalecki>piscisaureus_: I'm wondering, how does dutch breakfast look like?
02:09:11  <piscisaureus_>mmalecki: I never have breakfast. But, bread. With chocolate sprinkles or something
02:10:30  <mmalecki>seems tasty! but yeah, same here with breakfast, usually. unless I'm hangover
02:10:38  <piscisaureus_>tasty? nah
02:10:46  <piscisaureus_>holland is a poor country you know
02:10:56  <mmalecki>heh, right :)
02:10:58  <piscisaureus_>sometimes we have to eat tulips
02:11:07  <piscisaureus_>or scrapped wooden shoes
02:11:52  <mmalecki>it's even worse in here. sometimes the only thing you can get for breakfast is vodka
02:12:15  <piscisaureus_>comes with the age
02:12:55  <piscisaureus_>when you're 20 you'll eat old fat from the frying pan
02:13:25  <piscisaureus_>tastes like pork belly
02:14:04  <mmalecki>I always thought that's the upper class food, no?
02:14:18  <piscisaureus_>pork belly?
02:14:31  <piscisaureus_>depends
02:14:41  <mmalecki>old fat, I mean
02:14:44  <piscisaureus_>it is smug hipster food :-p.
02:14:57  <piscisaureus_>ryan loves pork belly I think
02:15:21  <piscisaureus_>ryah won't be trolled today
02:27:55  * jroessleinquit (Quit: Leaving...)
02:28:31  * brsonquit (Ping timeout: 255 seconds)
02:43:47  * lohkeyjoined
02:54:35  <ryah>?
02:55:20  <ryah>ah
03:05:47  * abraxasjoined
03:13:02  * dapjoined
03:22:00  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
03:22:38  * lohkeypart
03:36:21  * joshthecoderjoined
03:48:03  * lohkeyjoined
03:49:58  * xaqjoined
03:56:13  * mikealjoined
04:05:36  * lohkeyquit (Quit: lohkey)
04:07:47  * xaqquit (Remote host closed the connection)
04:10:38  * xaqjoined
04:15:35  * xaqquit (Remote host closed the connection)
04:22:55  * TooTallNatequit (Quit: Computer has gone to sleep.)
04:24:54  * dapquit (Quit: Leaving.)
04:39:49  * kristatejoined
04:53:49  * mikealquit (Quit: Leaving.)
05:00:55  * kristatequit (Ping timeout: 240 seconds)
05:07:46  * kristatejoined
05:12:59  * mikealjoined
05:23:50  * paddybyersjoined
05:40:17  * avalanche123joined
05:49:30  * kristatequit (Read error: Connection reset by peer)
05:49:35  * loladiroquit (Quit: loladiro)
05:50:08  * kristatejoined
05:54:45  * loladirojoined
06:02:34  * loladiroquit (Quit: loladiro)
06:13:12  * paddybyersquit (Quit: paddybyers)
06:17:24  * avalanche123quit (Quit: Computer has gone to sleep.)
06:20:16  * paddybyersjoined
06:59:52  <CIA-131>node: tasogarepg master * r21c4b9a / (3 files in 3 dirs): debugger: fix --debug-brk - http://git.io/-67ubw
06:59:52  <CIA-131>node: Fedor Indutny master * r3301c90 / AUTHORS : authors: add @tasogarepg to AUTHORS - http://git.io/Pp4RPQ
06:59:53  <CIA-131>node: Fedor Indutny master * r63ff449 / (6 files in 3 dirs): crypto: bring module into modern age - http://git.io/Tnozkw
07:06:05  <ryah>indutny: we ever going to make TypedArrays be the backend for buffers?
07:06:20  <indutny>ryah: hm... good question
07:06:20  <ryah>we really have to move to TypedArrays some day
07:06:30  <indutny>I'll try addressing it this week
07:06:35  <ryah>+1
07:06:47  <indutny>ryah: have you seen http://github.com/indutny/tlsnappy ?
07:07:07  <ryah>i think getting the buffers on top of the typedarray implementation would be a good goal for this release
07:07:18  <ryah>and then migrating api to typedarrays next release cycle
07:07:29  <ryah>indutny: i have looks great
07:07:34  <ryah>is it working?
07:07:39  <indutny>ryah: 98%
07:07:43  <indutny>ryah: availability
07:07:48  <indutny>sometimes SSL_read fails
07:07:52  <indutny>in apache benchmark
07:07:55  <indutny>still investigating
07:08:20  <ryah>how much faster?
07:09:30  <indutny>it's multithreaded, but if I'll open only one thread - it'll be ~7 % faster
07:09:59  <indutny>with many threads it's like a https with 'cluster' module
07:09:59  <indutny>but w/o it :)
07:31:15  * rendarjoined
07:36:26  * hzjoined
08:04:36  * turddasheedonjoined
08:05:01  * turddasheedonchanged nick to `3rdEden
08:36:59  * kristatequit (Read error: Connection reset by peer)
08:37:30  * kristatejoined
08:51:07  * kristatequit (Read error: Connection reset by peer)
08:51:52  * kristatejoined
09:18:04  * joshthecoderquit (Quit: Linkinus - http://linkinus.com)
09:22:38  * toothrjoined
09:23:30  * toothrotquit (Ping timeout: 260 seconds)
09:23:31  * KiNgMaRquit (Excess Flood)
09:23:31  * Raynosquit (Excess Flood)
09:24:05  * KiNgMaRjoined
09:24:46  * Raynosjoined
09:41:45  * kristatequit (Read error: Connection reset by peer)
09:42:13  * kristatejoined
10:02:06  * toothrquit (Ping timeout: 240 seconds)
10:07:39  * kristatequit (Ping timeout: 256 seconds)
10:21:53  * AvianFluquit (Quit: AvianFlu)
10:35:33  * kristatejoined
10:37:19  <indutny>oh crap
10:37:28  <indutny>how can node exit on SIGABRT and not create a core dump
11:00:37  * bnoordhuisjoined
11:11:05  <saghul>indutny did you tell limit to dump cores?
11:11:10  <indutny>yeah
11:11:11  <saghul>limit -c unlimited
11:11:14  <indutny>everything was set
11:11:15  <saghul>u
11:11:20  <saghul>doh
11:11:23  <indutny>and python process that was crashing stored core file
11:11:33  <indutny>only node wasn't doing it
11:11:36  <indutny>anyway, I've figure it out
11:11:40  <indutny>s/figure/figured
11:11:44  <saghul>:-)
11:11:52  <indutny>it was old problem that bnoordhuis has already fixed
11:12:00  <indutny>abort() in unref()
11:15:52  <bnoordhuis>indutny: https://github.com/bnoordhuis/libuv/commit/ea8db64 <- can you test/review that?
11:21:00  <indutny>bnoordhuis: sure
11:21:45  <indutny>bnoordhuis: lgtm
11:21:59  <indutny>reviewed and tested
11:25:38  * toothrjoined
11:25:58  <CIA-131>libuv: Ben Noordhuis master * rea8db64 / src/unix/fsevents.c : darwin: fix 'directive in macro' compiler warning - http://git.io/jWq_hw
11:27:27  <indutny>bnoordhuis: I've landed lib/module.js fix
11:27:32  <indutny>and 'buffer' encoding
11:27:33  <indutny>in master
11:27:38  * travis-cijoined
11:27:38  <travis-ci>[travis-ci] joyent/libuv#716 (master - ea8db64 : Ben Noordhuis): The build passed.
11:27:38  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/778144f0b5bc...ea8db6455968
11:27:38  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2490785
11:27:38  * travis-cipart
11:38:38  <bnoordhuis>indutny: lib/module.js fix?
11:38:47  <bnoordhuis>oh, the --debug-brk thing?
11:39:46  <indutny>yeah
12:06:21  * abraxasquit (Remote host closed the connection)
12:43:57  * loladirojoined
12:55:37  * piscisaureus_joined
12:57:16  * saghulquit (Ping timeout: 252 seconds)
13:00:21  * loladiroquit (Quit: loladiro)
13:22:01  * loladirojoined
13:25:15  * loladiroquit (Client Quit)
13:32:18  * saghuljoined
13:37:54  * piscisaureus_quit (Ping timeout: 240 seconds)
13:59:54  * loladirojoined
14:02:47  * AvianFlujoined
14:06:55  * piscisaureus_joined
14:10:29  * loladiroquit (Quit: loladiro)
14:11:25  * c4milojoined
14:48:51  * TheJHjoined
14:59:34  * loladirojoined
15:02:10  * loladiroquit (Client Quit)
15:20:34  * piscisaureus_quit (Ping timeout: 240 seconds)
15:21:47  * philips_quit (Excess Flood)
15:22:41  * mmaleckichanged nick to mmalecki[away]
15:24:56  * philips_joined
15:32:07  * stagasjoined
15:38:49  * loladirojoined
15:39:31  * loladiroquit (Client Quit)
15:44:38  * piscisaureus_joined
15:46:06  * loladirojoined
15:52:12  * piscisaureusjoined
15:52:49  * dapjoined
15:55:08  * saghulquit (Read error: No route to host)
16:01:51  * saghuljoined
16:08:28  * brsonjoined
16:09:56  * TheJH_joined
16:09:59  * TheJH_quit (Read error: Connection reset by peer)
16:40:33  * xaqjoined
16:50:44  * xaqquit (Remote host closed the connection)
17:00:13  * xaqjoined
17:02:52  * xaq_joined
17:03:07  * xaqquit (Read error: Connection reset by peer)
17:05:00  * loladiroquit (Quit: loladiro)
17:09:43  <ryah>isaacs: rt this guy on @nodejs https://twitter.com/nikhilcutshort/status/248058717491302400
17:14:32  * TooTallNatejoined
17:19:43  * brsonquit (Ping timeout: 248 seconds)
17:20:48  <isaacs>done
17:23:53  * brsonjoined
17:24:15  * joshthecoderjoined
17:38:50  * loladirojoined
17:41:18  * loladiroquit (Client Quit)
17:42:18  * lohkeyjoined
17:46:43  * loladirojoined
17:47:35  * AndreasMadsenjoined
17:56:57  * loladiroquit (Quit: loladiro)
17:59:08  * xaq_quit (Remote host closed the connection)
17:59:45  * xaqjoined
18:00:06  * xaqquit (Remote host closed the connection)
18:02:37  * loladirojoined
18:02:37  * loladiroquit (Client Quit)
18:11:02  * dapquit (Quit: Leaving.)
18:11:27  * dapjoined
18:31:16  * mikealquit (Quit: Leaving.)
18:32:33  * mikealjoined
18:36:25  * felixgejoined
18:36:25  * felixgequit (Changing host)
18:36:25  * felixgejoined
18:36:34  <TooTallNate>the mailing list is rather unpleasant these days...
18:36:43  <isaacs>yeah
18:36:54  <isaacs>we need some nice announcements of cool things on there.
18:42:05  * lohkeyquit (Quit: lohkey)
18:43:57  <TooTallNate>a quick "cool" thing: https://groups.google.com/d/topic/nodejs/ezKDPy8Plhk/discussion
18:44:23  <piscisaureus>TooTallNate: unpleasant in what way? Boring? Belligerent?
18:44:25  <piscisaureus>what?
18:44:56  <TooTallNate>hmmm, "loud" maybe
18:45:43  <TooTallNate>definitely not boring
18:46:10  <TooTallNate>this rektide is taking things a little far at the moment
18:46:23  <tjfontaine>TooTallNate: how are you going to handle null terminated arrays vs fixed size?
18:47:23  <TooTallNate>tjfontaine: i'm gonna have a "untilZero()" funtion
18:47:47  <TooTallNate>tjfontaine: something like this https://gist.github.com/00241b86d7f6a874b933
18:48:12  <tjfontaine>TooTallNate: ok
18:49:58  <TooTallNate>tjfontaine: here's what I have so far actually https://github.com/TooTallNate/ref-array
18:50:16  <tjfontaine>TooTallNate: excellent thanks
18:50:18  <TooTallNate>still needs work though, and there's some tricky things wrt to getting it working with node-ffi
18:51:44  * mikealquit (Quit: Leaving.)
18:51:47  <tjfontaine>I was just adding some other stuff to my vlc module and was thinking about working on the array module, but I'm glad to know that I don't have to now :)
18:54:27  <isaacs>this fucking crockford comment.
18:54:43  <creationix>TooTallNate: you have some project that lets me get an opengl context + input events on osx right?
18:54:44  <isaacs>this isn't the first time that someone's used it as an umbrella for their own frustration that node lacks their pet feature.
18:54:55  <isaacs>last time it was auto-sanitizing http inputs.
18:55:07  <isaacs>(which yapache and yphp do, and i suspect ynode has some variant of it)
18:55:21  <creationix>isaacs: :(
18:55:48  <TooTallNate>creationix: if you need to access Objective-C apis for that than NodObjC is what you want
18:56:12  <TooTallNate>does rick waldron work at yahoo?
18:56:13  <creationix>TooTallNate: I've tried with my node-sdl, but it doesn't seem very good
18:56:27  <creationix>no, Rick is ay bocoup
18:59:01  * `3rdEdenquit (Quit: Linkinus - http://linkinus.com)
19:01:50  * felixgequit (Ping timeout: 245 seconds)
19:21:45  * AndreasMadsenquit (Remote host closed the connection)
19:34:01  * felixgejoined
19:34:01  * felixgequit (Changing host)
19:34:01  * felixgejoined
19:35:59  <felixge>TooTallNate: did you end up getting an ar 2.0 drone?
19:38:54  <creationix>TooTallNate: does NodObjC work in 0.8.x yet?
19:39:03  <creationix>Error: Cannot find module '../build/default/libxmljs'
19:39:49  <bnoordhuis>creationix: s/default/Release?
19:40:05  <creationix>right, I just installed via npm
19:40:22  <creationix>NodObjC depends on libxmljs
19:40:32  <creationix>my app depends on NodObjC
19:41:55  <creationix>oh, that's strange, it's using 0.4.x code because the 0.6.x auto detection failed
19:42:07  * joshthecoderquit (Quit: Leaving...)
19:43:27  <creationix>Tims-MacBook-Pro:appgl tim$ node app.js [Error: dlopen(.../build/Release/libxmljs.node, 1): no suitable image found. Did find:
19:43:27  <creationix> .../build/Release/libxmljs.node: mach-o, but wrong architecture]
19:43:56  <creationix>I'm using node 0.8.9 for osx (the binary from nodejs.org)
19:44:46  <tjfontaine>what does file say libxmljs.node is?
19:46:18  <creationix>it's i386
19:46:24  <creationix>and my node binary appears to be both
19:46:28  <creationix>(universal)
19:47:42  <tjfontaine>try invoking with `arch -32 node`
19:49:06  <creationix>heh, now it breaks on ffi_bindings.node
19:49:08  <creationix>which is 64 bit
19:49:29  <creationix>why do I need xml to call cocoa functions anyway?
19:49:36  <tjfontaine>right, so your gyp based deps are 64, your waf are probably 32?
19:49:53  <creationix>could be
19:55:17  * mralephjoined
19:56:41  <isaacs>TooTallNate: Rick works at beaucoup, i believe
19:56:44  <isaacs>bocoup
20:00:36  <tjfontaine>TooTallNate: ah man, why doesn't ref-union exist yet :P
20:00:56  * lohkeyjoined
20:13:39  * hzquit
20:13:55  * lohkeyquit (Quit: lohkey)
20:14:24  * joshthecoderjoined
20:19:29  * loladirojoined
20:24:29  * c4miloquit (Read error: No route to host)
20:24:36  * c4milojoined
20:26:20  * lohkeyjoined
20:27:10  * xaqjoined
20:29:23  <TooTallNate>tjfontaine: https://github.com/TooTallNate/ref-union
20:29:41  <TooTallNate>felixge: i did! it should be delivered today actually, within a few hours!
20:29:46  <tjfontaine>heh
20:29:55  <TooTallNate>creationix: yes, it should work on 0.8.x
20:29:56  <tjfontaine>TooTallNate: sorry, I missed it at first pass
20:30:01  <felixge>TooTallNate: nice. hacking on the module right now :)
20:30:30  <TooTallNate>felixge: did you get yours all fixed up?
20:30:42  <TooTallNate>creationix: you need the xml parser to parse BridgeSupport files
20:30:50  <felixge>TooTallNate: yup, did all the repairs
20:30:58  <TooTallNate>which describe the C apis that are available, but not introspectable at runtime
20:31:32  <TooTallNate>felixge: do you have videos up anywhere? I've been uploading flights from the 1.0 (now broken :( ) on http://youtube.com/tootallnate
20:32:15  <felixge>TooTallNate: not much yet, but I took a video of the nodecopter.com venue with my drone today: http://www.youtube.com/watch?v=XORVge_PJEE&list=HL1348000255&feature=mh_lolz
20:32:54  <TooTallNate>wow, nodecopter, how did I miss this!?!
20:33:33  <TooTallNate>that sounds like so much fun, hahah
20:34:08  <TooTallNate>felixge: is the network API for the 1.0 a lot different? Or is it just unsupported because you don't have one to test with?
20:36:31  <TooTallNate>creationix: NodObjC needs to parse files like "/System/Library/Frameworks/Foundation.framework/Resources/BridgeSupport/Foundation.bridgesupport" in order to build up the exposed APIs
20:39:07  <TooTallNate>felixge: wow, you got Parrot to sponsor? damn I wish i could come, haha
20:39:31  <felixge>TooTallNate: just unsupported / none to test with
20:39:43  <felixge>TooTallNate: yeah they gave us 3 drones
20:39:48  <felixge>: )
20:40:01  <TooTallNate>awesome :)
20:43:57  <piscisaureus>oh that nodecopter stuff is cool
20:45:20  <TooTallNate>felixge: speaking of the devil https://twitter.com/tootallnate/status/248160434811699200
20:45:36  <felixge>TooTallNate: hah, nice timing :)
20:46:46  <felixge>TooTallNate: I would start with the SDK PDF they have
20:47:14  <felixge>https://projects.ardrone.org/projects/show/ardrone-api
20:47:23  <felixge>^-- you'll need to make an account to get the download link
20:52:44  * felixgequit (Read error: Connection reset by peer)
20:52:55  * felixgejoined
20:52:55  * felixgequit (Changing host)
20:52:55  * felixgejoined
20:58:46  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
21:00:57  * piscisaureus_joined
21:02:32  * piscisaureus__joined
21:03:24  * piscisaureus_quit (Read error: Connection reset by peer)
21:16:20  * ericktquit (Quit: erickt)
21:17:42  * AvianFluchanged nick to Away-vianFlu
21:22:15  <TooTallNate>tjfontaine: did you hit that block of code?
21:22:18  * TheJHquit (Quit: goodbye)
21:22:23  <tjfontaine>TooTallNate: I did
21:22:27  <TooTallNate>to be honest, i'm not sure that union actually need any padding
21:22:30  <TooTallNate>oh, interesting
21:22:35  <TooTallNate>what does your union look like?
21:22:43  <tjfontaine>union of structs
21:22:44  <TooTallNate>but yes, good catch :)
21:22:51  <tjfontaine>http://www.videolan.org/developers/vlc/doc/doxygen/html/structlibvlc__event__t.html
21:24:27  <TooTallNate>tjfontaine: ok v0.0.2 has your fix
21:24:55  <TooTallNate>tjfontaine: woah, that's a big union, haha
21:25:38  <tjfontaine>TooTallNate: yes, it's a bit depressing, but I will get through it, thanks for the fix
21:28:10  <tjfontaine>TooTallNate: just to be clear, ref.types.void is the right way to define a pointer to an unknown type in a struct?
21:28:59  <TooTallNate>tjfontaine: you probably want "ref.refType(ref.types.void)", which is basically "void *"
21:29:12  <TooTallNate>so long as it's "pointer sized" that's fine
21:30:16  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner])
21:30:17  <tjfontaine>alright
21:31:14  * rendarquit
21:45:09  * CoverSlidejoined
21:51:02  <creationix>TooTallNate: strange, I was disconnected, but you were still responding to me
21:51:22  <TooTallNate>creationix: strange indeed :)
21:51:24  <creationix>anyway it seems that the xml dependency doesn't build properly
21:51:34  <creationix>it's 32 bit while yours is 64bit
21:51:41  <creationix>I'm guessing because it still uses waf
21:51:53  <creationix>(libxmljs still uses waf)
21:52:07  <TooTallNate>creationix: they've updated to gyp by now, NodObjC must specify an older version
21:52:56  <TooTallNate>creationix: are you using the .pkg version of node?
21:53:08  <creationix>yep
21:53:21  <creationix>0.8.9
21:53:33  <TooTallNate>creationix: ya, node-waf has a problem with the fat binary
21:53:36  <TooTallNate>node-gyp ftw!
21:54:03  <TooTallNate>creationix: i'll update NodObjC real quikc
21:54:04  <creationix>it's pulling in libxmljs@0.5.4
21:54:08  <creationix>cool
21:54:18  <creationix>next I need to learn Objective C
21:54:34  <creationix>do you have a sample laying around for creating a window with a GL context and a basic menu?
21:55:02  <creationix>oh, and input events too...
21:55:08  <creationix>or any subset of that
21:55:20  <TooTallNate>creationix: small example https://gist.github.com/1194032
21:55:43  <TooTallNate>creationix: example of a ".app" bundle https://github.com/TooTallNate/NodObjC/blob/master/examples/NodeCocoaHelloWorld.app/Contents/MacOS/app.js
21:56:24  <creationix>I'm working on a binary packer. Basically it's a self-extracting zip that executes the app in a tmp folder
21:56:34  <creationix>but I guess .app would be better for osx apps
21:57:00  <TooTallNate>creationix: try NodObjC@0.0.13
21:57:41  <creationix>building...
21:57:59  <creationix>it appears libxmljs is using gyp :)
21:58:11  <creationix>yay it works! Thanks
21:58:19  <TooTallNate>excellent :)
21:58:48  <creationix>so for GL, I just setup a context using cocoa APIs and then it's standard GL calls from there?
21:59:01  <creationix>that's how I did it with SDL on webOS
21:59:33  <TooTallNate>creationix: to be honest I'm not really sure, haha, past setting up the Window instance I have no clue how to use the cocoa GUI API's :p
21:59:44  <TooTallNate>i've been waiting for some sweet examples to come along and teach me :)
21:59:48  <TooTallNate>hint, hint
21:59:58  <creationix>did you figure out how input events work yet?
22:00:05  <creationix>I assume you did some sort of event-loop merging already
22:00:56  <TooTallNate>creationix: actually no :( https://github.com/TooTallNate/NodObjC/issues/2
22:01:20  <isaacs>Hm... so fs.read() can return EAGAIN. is there any case where that *shouldn't* just be swallowed and tried again later?
22:01:27  <TooTallNate>creationix: in the example in the gist, when you call app('run'), that blocks forever, so essentially node's event loop is blocked :(
22:01:45  * felixgequit (Quit: felixge)
22:01:52  <creationix>so node I/O can't be used from then on
22:01:57  <creationix>that could be a problem
22:02:23  * paddybyersquit (Read error: Network is unreachable)
22:02:39  * paddybyersjoined
22:02:46  <TooTallNate>creationix: if you go through that issue, i have a sorta idea on how to make them play together
22:02:52  <creationix>doesn't libuv have a run once function now?
22:02:58  <TooTallNate>creationix: yes
22:03:19  <creationix>right, I don't care about support node 0.6.x
22:03:29  <TooTallNate>me either anymore
22:03:48  <creationix>I wonder if this would busy loop somewhere
22:04:22  <TooTallNate>creationix: i think the "proper" way to do it is to have libuv expose an fd or something that objective-C's event loop can poll on or something?
22:04:26  <creationix>where is uv_run_once() exposed to javascript?
22:04:28  <TooTallNate>piscisaureus: bnoordhuis: ^
22:04:41  <piscisaureus>creationix: it isn't
22:04:45  <TooTallNate>creationix: it's not, but you can easily add an ffi'd binding to it
22:04:46  <piscisaureus>creationix: why should it be
22:05:03  <creationix>good point, JS has the implicit uv_run()
22:05:05  <piscisaureus>creationix: node automatically runs the event loop
22:05:16  <TooTallNate>piscisaureus: we're basically trying to see if there's any options for having Objective-C drive libuv's event loop
22:05:43  <piscisaureus>TooTallNate: what do you mean?
22:05:45  <TooTallNate>we can call uv_run_once() repeatedly in an NSTimer, but I don't think that's optimal
22:06:09  <piscisaureus>TooTallNate: ah you want corefoundation to drive the event loop?
22:06:21  <piscisaureus>TooTallNate: ObjC is a programming language :-)
22:06:29  <creationix>in my SDL apps I poll for SDL events on a 60hz javascript loop
22:06:39  <TooTallNate>piscisaureus: ok you're right :)
22:06:49  <creationix>piscisaureus: right, I need access to OSX events
22:07:21  <piscisaureus>creationix: right. Fedor's fsevents patch that landed this week does something like that by using a separate thread
22:07:43  <creationix>hmm, for my app I'm ok with bundling a custom node build
22:08:01  <TooTallNate>piscisaureus: a lot of the apple GUI apis require being run on the "main" thread
22:08:01  <creationix>short-term at least
22:08:22  <TooTallNate>which puts us in a pickle since node and libuv also run on the "main" thread
22:08:28  * mikealjoined
22:08:42  <piscisaureus>creationix: you could create an NSSocket and put the kqueue fd in it
22:08:58  <piscisaureus>creationix: so the sdl event loop will notify you when to call uv_run_once
22:09:11  <piscisaureus>creationix: this obviously is not great for performance :-)
22:09:22  <creationix>I don't think I'll be using SDL
22:09:28  <TooTallNate>that might not be a bad option
22:09:32  <creationix>I haven't had much luck with SDL on OSX
22:09:39  <TooTallNate>piscisaureus: s/SDL/cocoa
22:09:58  <isaacs>It's a shame that finally{} doesn't let you inspect the error without catching it.
22:10:01  <piscisaureus>TooTallNate: I am totally lost now
22:10:56  <piscisaureus>creationix: this week indutny also made a very hacky patch that lets you embed CF in libuv but it's probably too brittle to use for real
22:11:05  <TooTallNate>piscisaureus: CFRunLoop needs to be the one watching the kqueue fd if I'm understanding correctly
22:11:25  <creationix>CF == CoreFoundation?
22:11:28  <piscisaureus>yes
22:11:30  <TooTallNate>yes
22:11:38  <TooTallNate>well that sounds like what we want :D
22:11:39  * creationixis an apple noob
22:11:54  <piscisaureus>TooTallNate: well, it *can* be done the other way around but CF doesn't support it, you have to poke in internal structures etc
22:12:25  <piscisaureus>I am also an apple noob
22:12:54  <creationix>well, all I want is a window with title, menu, input events and gl context. But it appears that isn't so easy in node
22:13:00  <creationix>I really don't care how it's accimplished
22:13:10  <creationix>*accomplished
22:13:14  <piscisaureus>creationix: right, you want to build a node app...
22:13:18  <creationix>yep
22:13:25  <piscisaureus>creationix: so you don't care about io performance :-)
22:13:27  <piscisaureus>well
22:13:34  <creationix>but I don't even care for all the other cocoa APIs
22:13:43  <piscisaureus>creationix: you probably want to replace uv_run() with something custom
22:13:44  <creationix>just input events, window, and menu
22:13:54  * xaqquit (Remote host closed the connection)
22:14:16  <TooTallNate>we might want to revisit the uv_run_once() in an NSTimer idea...
22:14:42  <creationix>so NSTimer would be like my setInterval(getEvent, 13) hack in node-sdl?
22:14:56  <creationix>it's not a true busy loop, but it does poll 60 times a second
22:15:11  <TooTallNate>creationix: i *did* try this in the past though https://github.com/TooTallNate/NodObjC/compare/master...uv
22:15:18  <creationix>any GL based game will likely need a 60hz physics engine loop anyway
22:15:39  <TooTallNate>creationix: yes, i think it would be similar
22:16:38  <creationix>ok, so if CF is polling the uv loop at 60hz, that should be good enough
22:16:56  <creationix>I don't need to be serving thousands of concurrent clients with 1ms response times in my app
22:17:20  * Away-vianFluchanged nick to AvianFlu
22:17:42  <TooTallNate>creationix: try messing with the code from that "uv" branch and let me know if you make any progress
22:18:01  <piscisaureus>creationix: well
22:18:06  <creationix>ok, I'm out of time to research this today, but I think this is promising
22:18:32  <isaacs>i'm going to update V8 in master
22:18:38  <piscisaureus>creationix: if you want to go for polling then you can embed the other way around
22:18:59  <isaacs>piscisaureus: any objections?
22:19:07  <piscisaureus>creationix: just call the CF equivalent of uv_run_once (it exists, it's called CFRunLoopInMode or something)
22:19:29  <piscisaureus>creationix: if you want to make CF the main loop, then you should probably use CFFileDescriptor instead of a timer
22:19:44  <piscisaureus>creationix: it'll just tell you when to call uv_run_once
22:19:58  <isaacs>3.13 has a branch. i'm assuming that means it's "good" :)
22:19:59  <creationix>piscisaureus: I would, but I don't think CF has a run_once
22:20:00  <piscisaureus>isaacs: no, go ahead
22:20:01  <TooTallNate>piscisaureus: this is good stuff bert, where have you been all my life? :)
22:20:13  <piscisaureus>isaacs: good enough for the current state node is in
22:20:31  <TooTallNate>creationix: piscisaureus says it exists and is called CFRunLoopInMode or similar
22:20:32  <piscisaureus>isaacs: I would expect 0.3.14 to come out soon actually
22:20:37  <creationix>oh, I see
22:20:46  <creationix>well, that would be better for me
22:20:55  <creationix>I prefer uv have the better latency
22:21:03  <creationix>13ms is no problem for input events
22:21:08  * c4miloquit (Remote host closed the connection)
22:21:09  <piscisaureus>yeah
22:21:16  <creationix>I can't draw then to screen till the next 60hz redraw anyway
22:21:18  <piscisaureus>creationix: it's not great for your battery though, this polling
22:21:31  <piscisaureus>creationix: (if you're on a mobile device)
22:21:36  <creationix>better than a tight busy loop
22:21:40  <creationix>but yeah, not the best
22:21:57  <creationix>on webOS, the 60hz polling didn't seem to hurt batter too bad
22:22:15  <creationix>the CPU wasn't maxed out at least
22:22:28  <TooTallNate>well one of these solutions should go into NodObjC directly, so creationix let me know how they work out :)
22:22:55  <creationix>cool, I'll experiment tomorrow
22:23:03  <creationix>I had a late start today due to jet lag from China
22:35:47  <isaacs>hmm... doesn't wanna build, it seems.
22:35:58  <piscisaureus>isaacs: what's up with it?
22:36:06  <isaacs>/Users/isaacs/dev/js/node-master/out/Release/obj/gen/debug-support.cc:41: error: ‘kTransitionsIndex’ is not a member of ‘v8::internal::DescriptorArray’
22:36:09  <isaacs>/Users/isaacs/dev/js/node-master/out/Release/obj/gen/debug-support.cc:44: error: ‘MAP_TRANSITION’ was not declared in this scope
22:36:12  <isaacs>/Users/isaacs/dev/js/node-master/out/Release/obj/gen/debug-support.cc:333: error: ‘kInstanceDescriptorsOrBitField3Offset’ is not a member of ‘v8::internal::Map’
22:36:47  * ericktjoined
22:37:43  * saghulquit (Read error: No route to host)
22:37:44  <piscisaureus__>isaacs: lemme take a look
22:39:12  <piscisaureus>isaacs: maybe try tag ?
22:39:14  <isaacs>piscisaureus__: pushed to v8- branch
22:39:17  <CIA-131>node: isaacs v8- * r47cfb63 / (381 files in 23 dirs): V8: Upgrade to - http://git.io/GwrNSA
22:39:18  <CIA-131>node: isaacs v8- * r760af0a / (deps/v8/build/common.gypi deps/v8/tools/gyp/v8.gyp): V8: reapply floating patches - http://git.io/SS0t8w
22:39:18  <CIA-131>node: Bryan Cantrill v8- * r51781be / deps/v8/src/platform-posix.cc : Loosen artificial mmap constraint - http://git.io/P52IzA
22:39:43  <isaacs>piscisaureus__: yeah, i always pull v8 from a tag
22:40:00  <piscisaureus>isaacs: did Bryan's patch get landed already?
22:40:09  <isaacs>piscisaureus: well, only on that branch :)
22:40:23  <piscisaureus>isaacs: right, ok
22:40:23  <isaacs>i'm experimenting with it, not committed to it yet.
22:40:39  <piscisaureus>isaacs: we have to fix this, but ben had some reservations to this approach
22:40:45  * saghuljoined
22:42:17  <isaacs>i've been running it on npm.im, seems to be ok
22:42:27  <isaacs>of course, i wasn't hitting the aborts that voxxer is
22:42:58  <isaacs>piscisaureus: how do you feel about mmalecki[away]'s tls patch?
22:43:22  <piscisaureus>isaacs: you mean, indutny's asm patch?
22:43:30  <isaacs>yes :)
22:43:34  <isaacs>patchES
22:43:47  <piscisaureus>isaacs: patches?
22:43:54  <isaacs>which mmalecki[away] put into one thing and rebased onto v0.8, and pestered me until i tried out on npm.im
22:44:11  <isaacs>piscisaureus: says so in the commit message anyhow
22:44:14  <isaacs> Custom v0.8.8 build optimized for TLS performance
22:44:14  <isaacs>
22:44:14  <isaacs> Includes:
22:44:14  <isaacs>
22:44:14  <isaacs> * joyent/node@d923269e13f903b02506d86f138369586862364e
22:44:17  <isaacs> * joyent/node@f210530f46e8ddbd9e7cc0d0c37778888c27f526
22:44:19  <isaacs>
22:44:22  <isaacs> Conflicts:
22:44:24  <isaacs>
22:44:27  <isaacs> deps/openssl/openssl.gyp
22:45:17  <isaacs>piscisaureus: seems to be working nicely
22:45:26  <piscisaureus__>isaacs: ah
22:45:36  <piscisaureus__>isaacs: the second one can go into master
22:45:58  <piscisaureus__>isaacs: the first one is safe but this problem is about to be solved "correctly"
22:46:04  <isaacs>ok
22:46:26  <piscisaureus__>isaacs: but I have to figure out why the openssl made a particular decision that seems to be very detrimental for performance first ...
22:46:41  <isaacs>k
22:46:44  <piscisaureus__>isaacs: will look into that later this week
22:46:47  <isaacs>why not use a slab allocator in v0.8?
22:47:10  <piscisaureus__>isaacs: ask ben, he was doubtful. I think it could be safe, but it's also somewhat risky of course
22:47:34  <isaacs>sure
22:47:39  <isaacs>it's a lot of + and - lines
22:47:44  <isaacs>but it doens't add api
22:47:46  <piscisaureus__>isaacs: but if big node shops test it in production and find no issues that makes the situation a little differnet of course
22:48:35  <isaacs>i'd suggest that we land it in 0.8, convince voxer to try it out, and if it doesn't blow up any worse than normal within 24 hours, call it good.
22:48:50  <isaacs>i mean, at the very least, it passes tests and works on npmjs.org
22:48:57  <isaacs>(hasn't made the bugs there any worse, i mean)
22:49:40  <isaacs>and actually, nodejitsu is already running with it
22:49:52  <isaacs>so we can probably just go based on that.
22:55:55  <piscisaureus>isaacs: I presume that the v8 team forgot to check the debugger support (it builds fine without it)
22:56:02  <piscisaureus>maybe i can fix it easily
23:10:37  <isaacs>piscisaureus: yeah, it doesn't build on linux or smartos either
23:10:49  <piscisaureus>isaacs: yeah, the postmortem build is botched
23:11:03  <piscisaureus>isaacs: ususally that's not hard to fix
23:11:08  <isaacs>this is why i like updating v8 right *after* a release, rather than right before :)
23:11:20  <piscisaureus>isaacs: this only happens when you do major upgrades
23:12:55  * CoverSlidequit (Remote host closed the connection)
23:13:27  <isaacs>true, usually small ones are more trivial
23:16:21  <piscisaureus>dap: yt?
23:16:22  * xaqjoined
23:18:11  * xaqquit (Remote host closed the connection)
23:19:57  * CoverSlidejoined
23:25:15  <isaacs>piscisaureus: i think bryan is the one handling that now
23:25:22  <piscisaureus>is dap gone?
23:25:30  <isaacs>no, i'm looking at him. he's still around.
23:25:35  <isaacs>he's just busy on some joyent stuff at the moment.
23:31:58  * TooTallNatequit (Read error: Operation timed out)
23:34:04  * TooTallNatejoined
23:42:00  * avalanche123joined
23:45:15  <piscisaureus>isaacs: I think that this upgrade will give bryan and/or dap some headaches
23:45:27  <piscisaureus>isaacs: the v8 team did some serious replumbing
23:49:02  * loladiroquit (Quit: loladiro)
23:51:49  <isaacs>yikes
23:51:54  <isaacs>ok, i'll ping him soon about it
23:52:01  <isaacs>in the meantime, we can sit on this for now.
23:52:05  * isaacsisn't feeling well, heading home.
23:52:20  <piscisaureus>isaacs: I'll add a patch to your branch that fixes the build
23:52:34  <isaacs>kewl, thanks
23:52:42  * isaacsaway
23:54:36  * lohkeyquit (Ping timeout: 246 seconds)
23:55:51  * mmalecki[away]changed nick to mmalecki
23:57:46  <CIA-131>node: Bert Belder v8- * re72ac8a / deps/v8/tools/gen-postmortem-metadata.py : v8: fix postmortem metadata generation - http://git.io/ELN_vA