00:16:06  * bnoordhuisjoined
00:17:34  * loladirojoined
00:18:43  * defunctzombiechanged nick to defunctzombie_zz
00:20:43  * bnoordhuisquit (Ping timeout: 256 seconds)
00:21:06  * xaqquit (Remote host closed the connection)
00:24:08  * kazuponjoined
00:24:34  <trevnorris>isaacs: after adding all the buffer whatnot, performance still isn't exactly where I want, but at least it's performance is linear:
00:24:34  <trevnorris>https://gist.github.com/trevnorris/5323418
00:25:15  <trevnorris>also, the previous SlowBuffer's are now equally as fast, instead of being much slower.
00:25:24  <isaacs>trevnorris: what are these numbers pointing to?
00:25:34  <isaacs>ie, is v0.10 buffer somewhere on this output?
00:28:10  * kuebkquit
00:30:17  <trevnorris>plus, there are no memory leaks w/ this allocator.
00:31:44  * Chip_Zeroquit (*.net *.split)
00:31:45  * saghulquit (*.net *.split)
00:31:45  * tellnesquit (*.net *.split)
00:31:45  * othiym23quit (*.net *.split)
00:31:45  * dapquit (*.net *.split)
00:31:45  * pooyaquit (*.net *.split)
00:31:46  * joclekquit (*.net *.split)
00:31:46  * chrisdickinsonquit (*.net *.split)
00:31:46  * perezdquit (*.net *.split)
00:31:46  * stagasquit (*.net *.split)
00:31:47  * kuplatup1uquit (*.net *.split)
00:31:47  * philipsquit (*.net *.split)
00:31:47  * KiNgMaRquit (*.net *.split)
00:31:47  * brucemquit (*.net *.split)
00:31:48  * dominictarrquit (*.net *.split)
00:31:48  * benoitcquit (*.net *.split)
00:31:48  * dostoyevskyquit (*.net *.split)
00:32:20  <TooTallNate>trevnorris: nice numbers
00:32:20  <TooTallNate>!
00:32:20  <trevnorris>TooTallNate: thanks =)
00:33:22  * stagasjoined
00:33:25  <trevnorris>it does suffer under the 128 byte range, but can't tell how often that's used in prod.
00:33:30  <tjfontaine>smaller seems to be more likely for message passing
00:33:43  <trevnorris>under 1kB small?
00:34:32  * inolenquit (Quit: Leaving.)
00:34:56  <trevnorris>if we need to continue with pools for some things, at least the pools can be made smaller
00:35:13  <tjfontaine>well a freelist anyway
00:36:21  * 45PAADFTHjoined
00:37:52  <trevnorris>tjfontaine: though, did have the idea that if any data needs to be passed internally (w/ no need for Buffer methods) using the raw allocator is faster in all accounts.
00:37:56  <trevnorris>TooTallNate: thought you might have a use for that. have the ability to attach external data to any object.
00:37:56  * 45PAADFTHquit (Ping timeout: 240 seconds)
00:37:58  * hzquit
00:38:10  <TooTallNate>trevnorris: which object?
00:38:12  <trevnorris>TooTallNate: any. the syntax is "Alloc(obj, length)" and it will attach external data to it.
00:38:27  <TooTallNate>trevnorris: and that sets up the index getters/setters, and assigns some memory to use?
00:38:35  <trevnorris>TooTallNate: yeah. no memory leaks. just throws a chunk of external memory to the object.
00:38:36  <TooTallNate>trevnorris: i like that
00:38:40  <TooTallNate>trevnorris: for backwards compat, i don't think we can simply do SlowBuffer = Buffer;
00:38:42  <TooTallNate>trevnorris: they'll need to be distinct objects, like old times :p
00:38:42  <trevnorris>TooTallNate: that's how the new Buffer's work: http://git.io/tmU0-w
00:38:49  <trevnorris>TooTallNate: how do you mean?
00:38:52  * kazuponquit (Remote host closed the connection)
00:38:53  <TooTallNate>trevnorris: your comment there scares :p
00:38:53  <TooTallNate>me
00:38:53  <trevnorris>lol.
00:38:53  <TooTallNate>hahaha
00:39:02  <trevnorris>oh, that was for the if ().
00:39:04  <trevnorris>thought it wouldn't be necessary to setup a Persistent if it didn't have data.
00:39:06  <trevnorris>but removed it until I have more time to test.
00:39:09  <trevnorris>about the SlowBuffers. that has been on my mind. I've tried to make all the cc api the exact same.
00:39:12  <trevnorris>still has a little work, but mostly there.
00:39:21  <TooTallNate>trevnorris: so theoretically, a "function" object could be a Buffer at the same time now?
00:39:43  <trevnorris>TooTallNate: yes
00:39:43  <trevnorris>hadn't thought about that, but it does work
00:39:44  <trevnorris>(also works w/ RegEx for some reason)
00:39:48  <TooTallNate>trevnorris: well ya, anything but Array i'd imagine
00:39:49  <tjfontaine>anything boxed into an Object
00:39:50  <trevnorris>yeah. Array causes a fatal error.
00:39:50  <TooTallNate>haha
00:39:57  <TooTallNate>trevnorris: it would be cool if we could ditch the instanceof check
00:40:08  <trevnorris>TooTallNate: can't figure out a way to get around making it an instance of Buffer w/o making sure "new" was used.
00:40:08  <trevnorris>but if we can, then awesome.
00:40:18  <TooTallNate>maybe if global === this :D
00:40:18  <trevnorris>heh
00:51:44  * trevnorrisquit (Quit: Leaving)
00:57:01  * mikealquit (Quit: Leaving.)
00:58:23  * aledbfquit (Ping timeout: 252 seconds)
01:04:34  * ircretaryquit (Remote host closed the connection)
01:04:34  * ircretaryjoined
01:05:37  * perezdjoined
01:16:21  * chiltsquit (Ping timeout: 248 seconds)
01:32:10  * wolfeida_joined
01:33:11  * brsonquit (Changing host)
01:33:11  * brsonjoined
01:34:05  * wolfeidauquit (Ping timeout: 256 seconds)
01:38:32  * pooyajoined
01:41:34  * inolenjoined
01:41:42  * pooyaquit (Quit: pooya)
01:43:19  * aledbf_joined
01:43:26  * aledbf_changed nick to aledbf
01:49:26  * chiltsjoined
01:53:32  <TooTallNate>isaacs: i think he's gone for the day
01:56:18  * brsonquit (Quit: leaving)
01:59:18  * kazuponjoined
02:01:27  * kazuponquit (Remote host closed the connection)
02:02:12  * KiNgMaRjoined
02:02:12  * dapjoined
02:02:12  * benoitcjoined
02:02:12  * Chip_Zerojoined
02:02:12  * saghuljoined
02:02:12  * joclekjoined
02:02:12  * kuplatup1ujoined
02:02:12  * dostoyevskyjoined
02:02:12  * tellnesjoined
02:02:12  * brucemjoined
02:02:12  * othiym23joined
02:02:12  * chrisdickinsonjoined
02:09:04  * mikealjoined
02:19:59  * mikealquit (Quit: Leaving.)
02:21:39  * kazuponjoined
02:24:11  * kazuponquit (Remote host closed the connection)
02:29:42  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
02:51:09  * perezd_joined
02:51:55  * perezdquit (Ping timeout: 260 seconds)
02:51:56  * perezd_changed nick to perezd
03:02:24  * abraxasjoined
03:07:05  * abraxasquit (Ping timeout: 252 seconds)
03:51:56  * brsonjoined
04:52:28  * defunctzombie_zzchanged nick to defunctzombie
04:59:54  * defunctzombiechanged nick to defunctzombie_zz
05:48:26  * AvianFluquit (Remote host closed the connection)
06:06:41  * mikealjoined
06:09:43  * rendarjoined
06:36:54  * kazuponjoined
06:39:03  * kazuponquit (Read error: Connection reset by peer)
06:39:07  * kazupon_joined
06:49:16  * hzjoined
07:02:20  * paddybyersjoined
07:10:32  * loladiroquit (Quit: loladiro)
07:41:14  * brsonquit (Quit: leaving)
07:45:56  * defunctzombie_zzchanged nick to defunctzombie
07:49:57  * chiltsquit (Ping timeout: 248 seconds)
07:56:33  * chiltsjoined
08:02:39  * skebcio_quit (Quit: No Ping reply in 180 seconds.)
08:03:13  * skebciojoined
08:07:38  * skebcioquit (Client Quit)
08:07:57  * skebciojoined
08:12:41  * paddybyersquit (Ping timeout: 258 seconds)
08:28:43  * kazupon_quit (Remote host closed the connection)
08:40:13  * stagas_joined
08:51:37  * perezdquit (Quit: perezd)
08:51:59  * paddybyersjoined
08:53:13  * paddybyers_joined
08:56:23  * paddybyersquit (Ping timeout: 258 seconds)
08:56:23  * paddybyers_changed nick to paddybyers
08:59:17  * stagas_quit (Ping timeout: 248 seconds)
09:01:42  * stagas_joined
09:23:36  * paddybyersquit (Ping timeout: 258 seconds)
09:23:39  * dominictarrjoined
09:30:09  * aledbfquit (Ping timeout: 276 seconds)
09:32:23  * kazuponjoined
10:25:40  * wolfeida_quit (Remote host closed the connection)
10:26:04  * wolfeidaujoined
10:29:38  * defunctzombiechanged nick to defunctzombie_zz
10:38:29  * stagas_quit (Ping timeout: 248 seconds)
11:10:27  * kazuponquit (Remote host closed the connection)
11:18:20  * kazuponjoined
11:39:29  * paddybyersjoined
12:30:53  * dominictarrquit (Quit: dominictarr)
12:31:22  * dominictarrjoined
12:31:33  * chiltsquit (Ping timeout: 248 seconds)
12:39:59  * chiltsjoined
12:46:17  * benoitcquit (Ping timeout: 245 seconds)
12:49:24  * benoitcjoined
13:12:29  * kazuponquit (Remote host closed the connection)
13:54:41  * loladirojoined
13:59:32  * perezdjoined
14:20:29  * yawntjoined
14:20:54  <yawnt>it isn't really related to libuv but i have no clue where to ask
14:21:08  <yawnt>is there a way to figure out on linux if a syscall is going to block?
14:21:33  <yawnt>i'm referring to the mechanism that BSD provided combining upcalls with scheduler activatiosn specifically
14:22:59  * kazuponjoined
14:24:13  * stagas_joined
14:26:19  * stagasquit (Ping timeout: 260 seconds)
14:26:22  * stagas_changed nick to stagas
14:27:44  * kazuponquit (Ping timeout: 260 seconds)
14:44:27  * defunctzombie_zzchanged nick to defunctzombie
14:46:27  * perezd_joined
14:47:07  * perezdquit (Ping timeout: 258 seconds)
14:47:54  * perezdjoined
14:50:33  * perezd_quit (Ping timeout: 240 seconds)
15:05:41  * bnoordhuisjoined
15:07:39  * loladiroquit (Quit: loladiro)
15:21:26  * loladirojoined
15:25:35  * perezdquit (Quit: perezd)
15:33:59  <indutny>morning
15:34:11  <bnoordhuis>sup fedor
15:34:31  <indutny>bnoordhuis: how are you doing, ben?
15:34:43  <bnoordhuis>i'm fine. you?
15:34:47  <bnoordhuis>just about to head into town
15:35:05  <indutny>fine too
15:35:10  <indutny>just about to eat lasgna
15:35:15  <indutny>s/lasgna/lasagna/
15:35:22  <bnoordhuis>bon appetite then
15:35:24  <indutny>was programming C# like all the day
15:35:25  <indutny>bnoordhuis: thank you
15:35:29  <indutny>pretty awful experience
15:35:32  <bnoordhuis>c#? why?
15:35:39  <indutny>can't tell you :)
15:36:03  * piscisaureus_joined
15:36:04  <bnoordhuis>some voxer top secret project?
15:36:17  <indutny>bnoordhuis: sort of
15:36:35  <bnoordhuis>they're switching to c#?
15:36:41  <indutny>hahahaha
15:36:57  <indutny>are you aware that my BIO is failing on some tests?
15:37:02  <indutny>going to look into it soon
15:37:06  <bnoordhuis>no. i am now
15:37:27  <bnoordhuis>okay, you go fix bugs and i'll go drink beer down town
15:37:30  <piscisaureus_>sounds more like voxer and windows phone
15:41:33  * bnoordhuisquit (Ping timeout: 240 seconds)
15:47:42  <indutny>piscisaureus_: not exactly
15:49:54  <piscisaureus_>indutny: building a desktop client, then?
15:50:03  <indutny>secret
15:50:19  <indutny>have you ever written in C#, btw?
15:50:32  <piscisaureus_>yes
15:50:36  <piscisaureus_>long time ago
15:51:01  <piscisaureus_>it was a game, we were using XNA
15:51:14  <indutny>oh
15:51:19  <indutny>not so long ago :)
15:51:35  <indutny>XNA is pretty fresh, isn't it?
15:51:44  * kazuponjoined
15:51:46  <piscisaureus_>I think it was 2007?
15:52:02  <piscisaureus_>That qualifies for long time ago in my book
15:53:46  <piscisaureus_>iirc XNA 3 was in beta at the time so we had to stick to 2
15:53:57  <indutny>ah
15:54:18  <indutny>nice
16:04:10  * AvianFlujoined
16:06:46  * AvianFluquit (Client Quit)
16:41:05  <tjfontaine>what didn't you like about c#? as far as statically typed with dynamic extensions go it's pretty hot
16:44:40  <indutny>what does `go` mean in this context?
16:44:52  <indutny>tjfontaine: I don't like its verbosity
16:45:24  <indutny>and their reference/scalar type system doesn't seem to be good either
16:45:38  <indutny>also they're overly complicating many things
16:46:00  <indutny>and documentation just sucks
16:46:03  <tjfontaine>indutny: "as far as things go", all objects are references except for strings
16:46:10  <indutny>aah
16:46:17  <indutny>and numbers
16:46:17  <tjfontaine>you have to be kidding, msdn is amazing
16:46:23  <indutny>tjfontaine: seriously?
16:46:26  <indutny>tjfontaine: tell me then
16:46:27  <tjfontaine>numbers aren't objects
16:46:31  <indutny>how to write bytes to IBuffer
16:46:57  <indutny>(I've already figured that out)
16:47:15  <indutny>but its not really documented anywhere
16:47:35  <tjfontaine>IBuffer isn't the right interface, what was the concrete type you were using?
16:47:39  <indutny>IBuffer
16:47:54  <indutny>I was implementing IInputStream
16:47:59  <tjfontaine>IBuffer isn't a concrete type
16:48:01  <tjfontaine>ok
16:48:02  <indutny>and its ReadAsync method has IBuffer as argument
16:48:09  <indutny>tjfontaine: it works
16:48:16  * bnoordhuisjoined
16:48:18  <indutny>you just need to use using System.Runtime.InteropServices.WindowsRuntime;
16:48:22  <indutny>namespace
16:48:33  <indutny>and it'll add extensions for IBuffer interface
16:48:44  <tjfontaine>oh mixins are a different thing of course
16:48:53  <indutny>:)
16:48:59  <indutny>well that's the part of standard API
16:49:13  <indutny>IInputStream, IOutputStream
16:49:17  <indutny>you just won't be able to create any custom stream without knowing this
16:49:25  <indutny>and that's not in docs
16:49:31  <indutny>I mean you can look up this namespace
16:49:34  <indutny>if you know its name
16:49:43  <indutny>but even google can't help here
16:49:51  <indutny>that's pretty awful
16:50:41  <tjfontaine>things have changed slightly since I last used msdn, with all this bing shit, it used to be much easier to traverse
16:51:45  <tjfontaine>is Windows.Storage.Streams new for phone/8?
16:51:56  <tjfontaine>yup
16:52:20  <indutny>yes
16:52:21  <tjfontaine>anyway your argument on this point is not a failing of C# but of .net and msdn :)
16:52:33  <indutny>oh
16:52:40  <indutny>well, verbosity is a cons
16:53:11  * bnoordhuisquit (Ping timeout: 252 seconds)
16:53:17  <tjfontaine>perhaps but it's not entirely different from c++/java/python as far as how importing happens
16:53:27  <indutny>C++ is less verbose :)
16:53:48  <tjfontaine>for importing? you have two things, both an include line and a using
16:53:48  <indutny>and java is not a good example of non-verbosity ;)
16:53:58  <indutny>ah, well
16:54:13  <indutny>its ok to create .h files
16:54:13  <indutny>for me
16:54:18  <indutny>its even better
16:54:23  <indutny>split definition and declaration
16:54:24  <tjfontaine>but see that's just because you're used to it
16:54:40  * mikealquit (Quit: Leaving.)
16:54:55  <indutny>tjfontaine: also its hard to do anything without IDE
16:55:02  <indutny>because of pretty complex interfaces
16:55:03  <tjfontaine>if you were motivated, you could the same sort of thing in c#, but it hides what's going on, you could wrap up the things you're interested in into smaller pieces
16:55:20  <tjfontaine>meh, I did c# for a couple years with nothing but vim without code complete, and firefox+msdn
16:55:29  <indutny>heh
16:55:38  <tjfontaine>VS is crucial for debug, I will give you that
16:55:40  <indutny>using vim on windows is kind of painfu
16:55:45  <indutny>s/fu/ful/
16:55:55  <tjfontaine>I did mono, so I didn't have to be on windows
16:56:27  <indutny>aha!
16:56:35  <indutny>I believe mono has sanier APIs
16:56:46  <tjfontaine>not for core stuff, they are the same
16:57:13  <tjfontaine>the core .net framework is exactly the same, even System.Windows.Forms, if they weren't the same it wouldn't be portable :)
16:57:33  <indutny>well...
16:57:37  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
16:57:40  <indutny>so that's another problem :)
16:58:20  <tjfontaine>anyway, if you have to be in a compiled language, c# is my pick
16:58:35  <tjfontaine>unless you're writing a kernel or whatever :)
16:59:36  <indutny>rust!
16:59:37  <indutny>:)
16:59:47  <indutny>tjfontaine: .NET is pretty awful platform to run on
17:00:22  <tjfontaine>the vm or the framework? cause the vm is pretty damn good at optimization and jit
17:01:03  <indutny>meeh
17:01:30  <tjfontaine>the framework has a lot of worts and indeed does make things pretty verbose, and all the piles of interfaces get frustrating, but that's just a by product of people in love with OOP
17:02:15  <tjfontaine>the DLR extensions actually make the vm pretty damn fun for things like IronPython/IronRuby
17:05:16  * loladiroquit (Quit: loladiro)
17:06:44  <indutny>tjfontaine: I agree that there're some good parts
17:06:56  <indutny>personally, I think that their thread-pool abstractions are pretty good
17:07:03  <indutny>though, causing a bit of PITA sometimes
17:07:19  <indutny>its like my 5th day programming it
17:09:45  <tjfontaine>heh, the ThreadPool ends up working well -- most of the time -- until you start fighting with its default one (or at least what there was, I stopped in the .net 3/3.5 days, who knows what's happened since)
17:10:09  <indutny>tjfontaine: idk much details about it
17:10:26  <indutny>but there're some races that could appear if you wouldn't think careful enough about what you're doing
17:10:41  <indutny>and what's the most interesting, is that isn't clear that bad things may happen
17:10:48  <indutny>but otherwise its damn good thing
17:10:53  <indutny>I mean thread pool
17:10:55  <tjfontaine>ya, at least you have lambdas now for dynamicinvoke bullshit
17:11:04  <tjfontaine>or anonymous methods
17:11:18  <indutny>oh yeas
17:11:22  <indutny>and async/await
17:11:34  <indutny>that's pretty rad too
17:11:54  <tjfontaine>ya, you think it's verbose *now* try doing that with only delegates and having to make sure you are always on the main thread for UI updates
17:12:19  <indutny>haha
17:12:28  <indutny>last thing is pretty scary
17:12:40  <indutny>its a bit hard now too
17:12:53  <tjfontaine>mono did add some compiler sugar so that you didn't have to write the whole callback signature out all the time though
17:13:04  <indutny>haha
17:13:09  <indutny>interesting
17:13:16  <indutny>but they still lack async/await support in stable version
17:13:33  <indutny>which obviously complicates things a lot
17:13:43  <tjfontaine>mono? ya, it's pretty much tits up as far as a .net replacement is concerned
17:14:16  <tjfontaine>they're more focused on the source-to-source or IL-to-IL translation for ios/android
17:14:17  * TooTallNatejoined
17:18:58  * mikealjoined
17:20:09  * loladirojoined
17:21:13  <tjfontaine>indutny: when you're bored, you can read this and be thankful you're living in a post 2.0 world :) http://www.codeproject.com/Articles/10311/What-s-up-with-BeginInvoke
17:22:23  * mikealquit (Client Quit)
17:23:15  <indutny>haha
17:23:35  <indutny>I know what's BeginInvoke
17:23:41  <indutny>read a big fat C# book this week
17:23:45  <indutny>yeah, it was really awful before
17:35:43  * mraleph[away]changed nick to mraleph
17:47:16  * loladiroquit (Quit: loladiro)
17:56:13  * loladirojoined
17:58:42  * dominictarrquit (Quit: dominictarr)
18:09:37  * dominictarrjoined
18:33:24  * `3rdEdenjoined
18:44:53  * dapquit (Quit: Leaving.)
19:03:03  * c4milojoined
19:07:08  * brsonjoined
19:11:39  * c4miloquit (Remote host closed the connection)
19:13:21  * kazuponquit (Remote host closed the connection)
19:33:10  <indutny>isaacs: fixed that crypto problem
19:33:19  <indutny>pretty hard thing :)
19:33:45  <isaacs>indutny: what was the cause?
19:36:45  * `3rdEdenquit (Remote host closed the connection)
19:39:24  <isaacs>indutny: oh, i'm guessing it was this https://twitter.com/indutny/status/320619393765765120 :)
19:44:48  * felixgejoined
19:46:03  <indutny>isaacs: https://github.com/joyent/node/pull/5231/files
19:46:13  <indutny>actually, this commit https://github.com/indutny/node/commit/2445bd8758f28923ebf088e39cd20dd0532a04fb
19:46:19  <indutny>pretty stupid mistake
19:46:52  * felixgequit (Client Quit)
19:47:23  * loladiroquit (Quit: loladiro)
19:52:49  * wolfeidauquit (Remote host closed the connection)
20:07:18  * `3rdEdenjoined
20:09:12  * mikealjoined
20:13:59  * kazuponjoined
20:15:31  * `3rdEdenquit (Ping timeout: 256 seconds)
20:17:02  * paddybyers_joined
20:19:37  * paddybyersquit (Ping timeout: 245 seconds)
20:19:37  * paddybyers_changed nick to paddybyers
20:22:07  * kazuponquit (Ping timeout: 245 seconds)
20:22:11  * bnoordhuisjoined
20:34:24  * TooTallNatequit (Quit: Computer has gone to sleep.)
20:40:51  * KiNgMaRquit (Ping timeout: 245 seconds)
20:42:17  * KiNgMaRjoined
20:47:01  * bnoordhuisquit (Ping timeout: 248 seconds)
20:48:19  * c4milojoined
20:51:31  * c4milo_joined
20:51:58  * `3rdEdenjoined
20:53:25  * c4miloquit (Ping timeout: 248 seconds)
21:01:07  * c4milo_quit (Ping timeout: 264 seconds)
21:01:38  * c4milojoined
21:07:54  * mikealquit (Quit: Leaving.)
21:10:17  * rendarquit
21:10:20  * TooTallNatejoined
21:10:46  * mikealjoined
21:17:26  * c4miloquit (Remote host closed the connection)
21:18:56  * kazuponjoined
21:20:04  * kazuponquit (Read error: Connection reset by peer)
21:20:08  * kazupon_joined
21:27:45  * kazupon_quit (Ping timeout: 276 seconds)
21:53:31  * bnoordhuisjoined
21:56:00  * stagas_joined
21:57:55  * bnoordhuisquit (Ping timeout: 246 seconds)
21:58:41  * hzquit
22:01:53  * stagas_quit (Quit: Bye)
22:07:22  <TooTallNate>tjfontaine: how do i use this ffi-generate thing?
22:07:31  <TooTallNate>it's just running chewing up a shitload of memory at the moment
22:18:53  * paddybyersquit (Ping timeout: 240 seconds)
22:22:11  * qmx|awaychanged nick to qmx
22:24:05  * kazuponjoined
22:24:43  <tjfontaine>TooTallNate: heh
22:24:55  <tjfontaine>TooTallNate: that's not good
22:25:34  <tjfontaine>TooTallNate: I take it you do have libclang installed somewhere?
22:27:48  <tjfontaine>for round tripping the node-libclang stuff it basically works like this:
22:27:49  <tjfontaine>PATH=$HOME/.llvm/bin:$PATH ./node_modules/.bin/ffi-generate -f ~/.llvm/include/clang-c/Index.h -l libclang -p clang_ -- -I$(~/.llvm/bin/llvm-config --includedir) > clang.j
22:28:15  * kazuponquit (Ping timeout: 252 seconds)
22:28:18  <tjfontaine>-f to the header file of the library you want to wrap, -l for the name passed to dlopen()
22:28:36  <tjfontaine>-p if you don't want to try and wrap the world and the library exports a clean namespace interface
22:34:41  * brsonquit (Remote host closed the connection)
22:36:24  * qmxchanged nick to qmx|away
22:38:31  <TooTallNate>tjfontaine: ffi-generate -f include/neaacdec.h -l libfaad2 -L /usr/lib/libclang.dylib -m faad2 -p NeAAC -x
22:38:37  <TooTallNate>^ that was the command i was running
22:38:46  <TooTallNate>trying to use OS X's built-in libclang
22:39:27  <tjfontaine>hmm I should clarify the -L, that should be a dirpath, but -L shouldn't be necessary if it can find libclang with dlopen of course
22:39:32  * `3rdEdenquit (Remote host closed the connection)
22:40:10  <TooTallNate>it should be visible
22:40:13  <TooTallNate>with dlopen
22:40:16  <TooTallNate>in that dir
22:40:23  <TooTallNate>but the program was complaining
22:40:28  <TooTallNate>without specifying the -L
22:40:33  <TooTallNate>but even still, it never exited
22:41:03  <tjfontaine>right, that's probably a bug, and unintentionally doing a fork-bomb on you :)
22:41:18  <tjfontaine>llvm.org/releases/download.html grab the tarball from that, and put -L at where you extract it
22:41:48  <tjfontaine>I'll try and do what you just did here locally
22:41:50  <TooTallNate>tjfontaine: yes, as a matter of fact, there were a shit load of processes being spawned
22:41:51  <TooTallNate>hahaha
22:42:08  <TooTallNate>tjfontaine: do i need to built it?
22:42:10  <TooTallNate>the tarball
22:42:29  <tjfontaine>nah, it's prebuilt
22:42:35  <tjfontaine>http://llvm.org/releases/3.2/clang+llvm-3.2-x86_64-apple-darwin11.tar.gz
22:42:49  <tjfontaine>I extract that here and put it in ~/.llvm
22:42:56  <TooTallNate>oh i'm dumb
22:42:57  <TooTallNate>haha
22:43:17  <tjfontaine>but yes, I do need to fix that fork bomb :)
22:44:20  * c4milojoined
22:48:04  <TooTallNate>tjfontaine: is it cause of the default libclang version on os x?
22:48:19  <TooTallNate>tjfontaine: the prebuilt tarball worked btw :)
22:48:22  <TooTallNate>so thanks
22:48:55  <tjfontaine>I need to look and see what symbols are available for the shipped libclang
22:49:24  <TooTallNate>tjfontaine: this is pretty awesome :)
22:49:48  <tjfontaine>hehe, ya, I'm gearing up to actually get the c++ stuff to work
22:50:53  <TooTallNate>saves a bunch of tedious time
22:50:57  <tjfontaine>I mean this is really just quickly generate the tedious stuff so you can get to what you wan
22:51:00  <tjfontaine>t
22:51:03  <tjfontaine>:)
22:55:36  * stagasquit (Read error: Connection reset by peer)
22:59:11  <tjfontaine>TooTallNate: ok, well it will work with the shipped libclang now
22:59:48  <TooTallNate>tjfontaine: kewl, is that on npm already?
23:01:08  <tjfontaine>ya, that change was in node-libclang, but I've just pushed a new version that makes sure to depend on the newer libclang
23:19:51  <TooTallNate>tjfontaine: you can pass "exports" as the third argument to "ffi.Library()" and it will extend that object directly
23:20:11  <TooTallNate>that way the -m argument can be removed
23:20:19  <TooTallNate>and the function will be exported top-level
23:20:21  <TooTallNate>in the module
23:20:43  <tjfontaine>ah
23:24:28  * kazuponjoined
23:26:31  <TooTallNate>tjfontaine: you gotta export the #defines as well
23:26:51  <tjfontaine>some of them are, but not all, I never claimed it was done :)
23:27:24  <tjfontaine>CONSTANTS: {'': {}} would have what I found
23:28:48  <TooTallNate>tjfontaine: just giving you feedback :)
23:28:55  * kazuponquit (Ping timeout: 246 seconds)
23:28:57  <TooTallNate>tjfontaine: this is already very cool as-is
23:29:05  <TooTallNate>and will make for prototyping native modules a lot easier
23:29:13  <tjfontaine>ya, that's part of the plan
23:29:43  <TooTallNate>tjfontaine: i mean if you just generated those bindings as well :D but that seems a lot harder :\
23:29:46  <TooTallNate>not sure really
23:30:04  <tjfontaine>that was actually why I started the project :)
23:30:12  <tjfontaine>a swig I didn't hate
23:30:22  <tjfontaine>it was easier to bootstrap into ffi though
23:31:52  <tjfontaine>the way it works right now is, find all functions in header (and related headers) resolve argument types, and return types, so you're only mapping things that are actually used
23:33:14  * c4miloquit (Remote host closed the connection)
23:55:29  * aledbfjoined