00:00:23  <txdv>no, from fd to fd
00:02:38  <piscisaureus>https://groups.google.com/d/msg/nodejs/k4ZZigx4X1c/EFSZ1aOnsy8J <-- o.O
00:04:53  <bnoordhuis>txdv: yes, fd to fd. but only file fd to socket fd
00:05:09  <txdv>fd_in has to be mmap'ed, fd_out has to be a socket
00:05:13  <bnoordhuis>it's less limited with recent linux kernels but that doesn't help on other unices
00:06:02  <txdv>well the signature of sendfile in libuv can be changed to take uv_tcp and use the socket in the private fields
00:06:39  <txdv>but why isn't there a way to retrieve the socket from uv_tcp and uv_udp? it would be the counter functionality to uv_tcp/udp_open
00:07:04  <bnoordhuis>https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1055766 <- grep -R doesn't automatically search amazon
00:07:41  <piscisaureus>rofl
00:10:25  <txdv>any input/ideas, or do I have to create an issue and piss everyone off?
00:11:14  <bnoordhuis>txdv: sendfile() as an api is too limited to be really useful
00:11:49  <bnoordhuis>we (or at least i) have ideas on how to implement streams in libuv that pick the appropriate approach
00:12:10  <bnoordhuis>i.e. sendfile for file -> socket, threaded i/o for file -> file, use splice() on linux, etc.
00:14:57  <txdv>file uv_stream at libuv level?
00:15:24  <bnoordhuis>yes
00:15:40  <txdv>do that
00:15:51  <txdv>immediately
00:16:16  <bnoordhuis>not a high priority, you don't normally serve static files with node, that's what nginx and friends are for
00:16:58  <txdv>what is high priority right now?
00:17:24  <bnoordhuis>finishing my slides :)
00:17:41  <txdv>i mean in the libuv/node area
00:18:22  <bnoordhuis>not much in libuv, it mostly works
00:18:34  <bnoordhuis>udp socket sharing is something i still need to finish
00:18:40  <bnoordhuis>re node, you should ask isaacs :)
00:18:51  <bnoordhuis>the streams refactor, probably
00:18:51  <txdv>socket sharing?
00:18:53  * loladirojoined
00:19:07  <bnoordhuis>txdv: passing a udp socket to child processes, like you can with tcp sockets and pipes
00:19:15  <txdv>o
00:19:55  <txdv>that streams refactor ... it sounds tasty
00:20:19  * loladiroquit (Client Quit)
00:22:54  * loladirojoined
00:38:10  * mjr_quit (Quit: mjr_)
00:39:00  * toothrotquit (Ping timeout: 260 seconds)
00:40:55  * mjr_joined
00:42:07  * toothrjoined
00:44:10  <txdv>man I am too tired
00:44:17  <txdv>good night girls
00:56:39  * ericktquit (Ping timeout: 244 seconds)
01:04:03  * bnoordhuisquit (Ping timeout: 246 seconds)
01:09:52  <piscisaureus>I am also going
01:09:56  <piscisaureus>see you, all
01:13:16  <mmalecki>night
01:19:09  * dapquit (Quit: Leaving.)
01:20:48  * piscisaureusquit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:30:04  * piscisaureus_joined
01:30:47  * piscisaureus_quit (Client Quit)
01:33:25  * loladiroquit (Quit: loladiro)
01:36:56  * loladirojoined
01:37:42  * abraxasjoined
01:42:48  * loladiroquit (Quit: loladiro)
01:45:51  * mjr_quit (Quit: mjr_)
01:51:22  * loladirojoined
01:55:34  * loladiroquit (Client Quit)
01:56:42  * TooTallNatequit (Quit: Computer has gone to sleep.)
01:57:09  * ericktjoined
02:14:31  * brsonquit (Quit: leaving)
02:18:06  * mjr_joined
02:18:13  * mjr_quit (Client Quit)
02:51:00  * Raynos_joined
03:05:42  * philips_quit (Excess Flood)
03:06:53  * philips_joined
03:24:58  * TooTallNatejoined
04:14:40  * loladirojoined
04:25:01  * abraxasquit (Ping timeout: 246 seconds)
04:29:44  * abraxasjoined
04:37:41  * mjr_joined
04:38:20  * avalanche123|hjoined
04:39:07  <mjr_>sadness trying to build 64 bit node 0.8 on SmartOS:
04:39:09  <mjr_>https://gist.github.com/3786054
04:40:15  * TooTallNatequit (Quit: Computer has gone to sleep.)
04:40:38  <mmalecki>mjr_: what's your ./configure line?
04:40:54  <mmalecki>it doesn't seem to find x64 registers...
04:40:59  <mjr_>At the bottom of the gist
04:41:06  <mmalecki>ah, I see
04:41:28  <mjr_>It's totally an x64 machine though. Most of the libs that are installed are x64.
04:43:12  <mmalecki>yeah, that's weird, install worked fine for us. which dataset is that?
04:47:48  <mjr_>Not sure, how do I tell?
04:48:29  <mmalecki>I think that's included in the SDC API response when you get details for a specific machine
04:49:21  <mmalecki>(if it's on Joyent)
04:49:37  <mjr_> "dataset": "local:admin:riakeds:1.6.1-voxer",
04:49:50  <mjr_>we are fancy and have our own dataset, which I think is part of the problem here
04:50:32  <mmalecki>we have custom datasets too and it works fine, but those are for NAT access only
04:51:01  <mmalecki>also, I never used those admin ones, there might be some problems with them
04:52:33  <mjr_>Does yours say 'host_arch': 'ia32' in the gyp output?
04:52:40  <mmalecki>yes
04:52:51  <mjr_>hmm
04:53:04  <mmalecki>detecting architectures on smartos is a pain, we compile with --dest-cpu=x64 set explicitely
04:53:27  <mjr_>The gcc line does include -m64, but it just doesn't like that asm.
04:54:14  <mmalecki>it has -m32 later too, but AFAIR -m64 overrides that...
04:54:26  <mmalecki>sec, let me compile that, I need to upgrade one host anyway
04:55:29  <mmalecki>https://gist.github.com/0f0d43c20d74469d977a is our configure output
04:56:32  <mmalecki>everything is the same
04:58:19  <mmalecki>hmmm, our compilation line doesn't have that '-m32'
04:58:21  <mmalecki>cc '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DL_ENDIAN' '-DOPENSSL_THREADS' '-DPURIFY' '-D_REENTRANT' '-DOPENSSL_NO_DTLS1' '-DOPENSSL_NO_SOCK' '-DOPENSSL_NO_DGRAM' '-DOPENSSL_NO_GOST' '-DOPENSSL_NO_HW_PADLOCK' '-DOPENSSL_NO_TTY' '-DAES_ASM' '-DBF_ASM' '-DBNCO_ASM' '-DBN_ASM' '-DCPUID_ASM' '-DDES_ASM' '-DLIB_BN_ASM' '-DOPENSSL_BN_ASM' '-DOPENSSL_CPUID_OBJ' '-DRIP_ASM' '-DWHIRLPOOL_ASM' '-DWP_ASM' '-DENGINESDIR="/dev/null"' '-DOPENSSLDIR="/etc/ssl"
05:00:10  <mmalecki>mjr_: any chance you have CFLAGS or CXXFLAGS or CC defined somewhere?
05:00:53  <mjr_>let me log out and back in, just in case
05:01:56  <mmalecki>`env` outputs https://gist.github.com/5e0b5870bff8b9b9bc2a here
05:02:18  <mjr_>well shit
05:02:22  <mjr_>That did make it work
05:02:32  <mjr_>Must have been something in my env, I guess.
05:02:52  <mmalecki>heh, must've been :)
05:02:53  <mjr_>Guess I should have dumped my env before logging out
05:03:11  <mjr_>This yak is nearly shaved
05:04:49  <mjr_>BTW, hiredis builds for me with: export CFLAGS="-m64" CXXFLAGS="-m64" LDFLAGS="-m64" ; npm install hiredis
05:05:04  <mjr_>But fuck hiredis. The new JS parser is just as fast.
05:06:10  <mmalecki>nice, we had problems with that. but now that nobody uses hiredis anyway, it's all gone :)
05:08:04  <mmalecki>7 AM, I guess I *could* use some sleep
05:10:22  <mjr_>Same solution for the postgres module though, in case it ever is relevant.
05:11:52  <mmalecki>oh, we got that to build without any modifications to env, actually
05:12:27  <mjr_>I think our dataset gives us a gcc that wants to be 32 bit by default, but then installs 64 bit versions of all libraries.
05:14:15  <mmalecki>ah. that's surely a pain
05:24:08  * AvianFluquit (Read error: Connection reset by peer)
05:24:14  * AvianFlu_joined
05:51:01  * AvianFlu_quit (Ping timeout: 265 seconds)
05:55:55  * AvianFlujoined
06:12:53  * ericktquit (Quit: erickt)
06:13:29  * loladiroquit (Quit: loladiro)
06:22:42  * mmaleckiquit (Ping timeout: 264 seconds)
06:34:47  * AvianFluquit (Quit: AvianFlu)
06:53:12  * avalanche123|hquit (Quit: Computer has gone to sleep.)
07:03:24  * rendarjoined
07:18:04  * mjr_quit (Quit: mjr_)
07:50:06  * `3rdEdenjoined
08:31:15  * Raltjoined
08:56:37  * stagasjoined
09:49:14  <txdv>does someone in here use sublime?
10:43:09  <indutny>not me
10:57:32  * stagasquit (Ping timeout: 244 seconds)
11:07:31  * mmaleckijoined
11:08:12  * abraxasquit (Remote host closed the connection)
11:19:31  * piscisaureus_joined
11:44:27  * travis-cijoined
11:44:27  <travis-ci>[travis-ci] joyent/libuv#735 (master - 8afd71a : Shannen Saez): The build passed.
11:44:27  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/5bfb7c917b3b...8afd71a12896
11:44:27  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2569032
11:44:27  * travis-cipart
12:00:48  * piscisaureus_quit (Read error: Operation timed out)
12:17:44  * piscisaureus_joined
12:19:31  * bnoordhuisjoined
13:04:49  * loladirojoined
13:20:50  * stagasjoined
13:23:33  * loladiroquit (Quit: loladiro)
13:23:55  * AvianFlujoined
13:50:49  * loladirojoined
13:57:44  * stagasquit (Ping timeout: 265 seconds)
13:57:48  * rendarquit
13:58:49  * loladiroquit (Quit: loladiro)
13:59:43  * rendarjoined
14:07:16  * ericktjoined
14:14:57  * loladirojoined
14:19:30  * mikealjoined
14:25:33  * loladiroquit (Quit: loladiro)
14:27:22  * loladirojoined
14:37:05  * loladiroquit (Quit: loladiro)
14:51:51  * Raynos_quit (Remote host closed the connection)
14:51:51  * dscapequit (Remote host closed the connection)
14:51:59  * indutnyquit (Read error: Connection reset by peer)
14:52:34  * dscapejoined
15:06:31  * `3rdEdenquit (Quit: cookin like a boss)
15:07:22  * dscapequit (Remote host closed the connection)
15:14:00  * loladirojoined
15:14:36  * avalanche123|hjoined
15:15:20  * ericktquit (Quit: erickt)
15:19:26  * philips_quit (Excess Flood)
15:22:25  * philips_joined
15:22:54  * Raynos_joined
15:27:56  * TheJHjoined
15:33:12  * Raynos_quit (Remote host closed the connection)
15:35:58  * stagasjoined
15:39:05  * indutnyjoined
15:40:27  * Raynos_joined
15:48:02  * loladiroquit (Quit: loladiro)
15:51:29  <tjfontaine>evil python ternary syntax should be avoid anyway https://github.com/joyent/node/issues/4057
15:57:40  * dscapejoined
16:00:00  <isaacs>ohh, man.
16:00:20  <isaacs>i would use a compile-to-js language if all it did was add ()=>{} style lexically-bound-this functions.
16:00:35  <isaacs>maybe i should just stop using classes. who cares that they're faster.
16:00:43  <isaacs>i can't be trusted to bind all my functions.
16:01:20  * avalanche123|hquit (Quit: Computer has gone to sleep.)
16:05:47  <stagas>isaacs: I was wondering, why are node core libs like net so huge, is there a reason for not splitting up stuff to smaller modules?
16:06:37  <tjfontaine>stagas: there is a desire to split up the modules in to logical smaller more maintable modules, but so far no one has picked up that flag
16:07:05  <tjfontaine>I did a pass at http recently, I wasn't particularly fond of the result client was still pretty huge
16:11:29  <stagas>also it'd be nice if there was some way to build without including the js, so messing with those was less tedious
16:12:04  <stagas>or is there?
16:13:40  <tjfontaine>I'm not aware of a mechanism to do that, but it's too difficult to make && ./node test.js
16:14:33  <rendar>tjfontaine: why it would be difficult?
16:14:51  <tjfontaine>sorry missed a word, meant *not* too difficult
16:14:56  <rendar>i see
16:15:28  <tjfontaine>it is a blessing that node works fairly directory independent in this respect
16:23:51  * mikealquit (Read error: Connection timed out)
16:24:13  * mikealjoined
16:25:59  * Raltquit (Ping timeout: 256 seconds)
16:27:54  * TooTallNatejoined
16:35:38  <TooTallNate>can any C smart people explain to me how arrays are aligned in structs?
16:40:05  * mikealquit (Read error: Connection timed out)
16:42:42  <piscisaureus_>TooTallNate: depends :-)
16:42:56  <piscisaureus_>TooTallNate: but typically they are aligned to the size of the type
16:43:28  <piscisaureus_>so on x64 a pointer is aligned to 8 bytes, an in32_t to 4, a char is unaligned etc
16:45:01  * loladirojoined
16:45:04  * TooTallNatequit (Ping timeout: 248 seconds)
16:45:31  * loladiroquit (Client Quit)
16:49:47  <indutny>hoya
16:53:04  * ericktjoined
16:55:36  * piscisaureus_quit (Ping timeout: 245 seconds)
16:55:46  * bnoordhuisquit (Ping timeout: 246 seconds)
17:00:33  * loladirojoined
17:05:09  * TooTallNatejoined
17:11:51  * mkrecnyjoined
17:15:17  <TooTallNate>damn, now bert's gone :(
17:16:39  <tjfontaine>he usually reads backlog
17:17:41  * c4milojoined
17:18:25  <TooTallNate>this is true
17:18:29  <tjfontaine>TooTallNate: I'd love to hear what the issue is though
17:19:08  <TooTallNate>tjfontaine: basically, i need to learn the rules for alignment of arrays in structs
17:20:11  <TooTallNate>tjfontaine: so the failing tests here http://travis-ci.org/#!/TooTallNate/ref-struct/jobs/2541863
17:20:18  <TooTallNate>i don't really understand why they're failing
17:20:31  <TooTallNate>tjfontaine: it seems like this guy is hitting the same problem though https://github.com/TooTallNate/ref-struct/issues/1
17:20:55  <TooTallNate>i read this but it was really vague, http://en.wikipedia.org/wiki/Stride_of_an_array
17:23:55  <tjfontaine>interesting I'm going to play some with this
17:25:02  <TooTallNate>tjfontaine: you rule
17:25:55  * mkrecnyquit (Quit: mkrecny)
17:32:28  <isaacs>stagas: builds are usually fast if you've only changed js
17:32:36  <isaacs>stagas: it's touching deps that makes for a long awful slog
17:41:14  <stagas>isaacs: I see. is it too hard to decouple lib/* then? I was thinking the benefits, besides easier dev, we could also require userland modules in there, but I guess I'm thinking too far away
17:42:51  <stagas>isaacs: then a "bundler" tool would stitch all that in an executable, which could also be reused to build executables from any node app
17:44:34  <stagas>in a galaxy far far away
17:45:40  <tjfontaine>TooTallNate: have you looked at all at http://en.wikipedia.org/wiki/Data_structure_alignment#Typical_alignment_of_C_structs_on_x86
17:46:10  <TooTallNate>tjfontaine: yes
17:46:55  <tjfontaine>so you're computing right now that the offset of c in test16 should be 86, when in reality it's 84?
17:47:53  <tjfontaine> 'a': ArrayType('double', 10)
17:47:53  <tjfontaine> , 'b': ArrayType('char', 3)
17:48:14  <tjfontaine>should end at 83, with a one byte pad
17:48:20  * ericktquit (Quit: erickt)
17:54:15  * ericktjoined
17:58:12  * c4miloquit (Remote host closed the connection)
17:58:38  <TooTallNate>tjfontaine: this is true
17:58:47  <TooTallNate>i guess there's a bug in the logic then
17:59:46  <tjfontaine>I think this clause might be the issue, "Padding is only inserted when a structure member is followed by a member with a larger alignment requirement or at the end of the structure"
18:01:08  <tjfontaine>though, 86 % 4 isn't working out, so I'm not sure how you arrived at that entirely
18:02:16  <isaacs>stagas: that'd be great, sure.
18:02:19  <isaacs>stagas: go build that :)
18:02:27  <isaacs>stagas: you will have the thanks (and bugs) of a nation.
18:04:27  <stagas>isaacs: hahaha sure right on
18:06:20  <CoverSlide>yeah it always irked me that the node executable is 6M whereas most other interpreters are tiny
18:07:02  * loladiroquit (Quit: loladiro)
18:09:59  <CoverSlide>but their standard libraries are anywhere from 30M-130M whereas for node there is only the executable
18:13:02  * AvianFluquit (Quit: AvianFlu)
18:13:23  * AvianFlujoined
18:14:14  * c4milojoined
18:18:50  * loladirojoined
18:20:03  * Raltjoined
18:20:04  <tjfontaine>TooTallNate: so here's something interesting, double alignment on linux should be 4 (unless compiled with -malign) but ref.alignof.double is coming back as 8
18:20:23  <TooTallNate>tjfontaine: that's only for 32-bit though
18:20:26  <voodootikigod>FELIX
18:20:29  <voodootikigod>ARE YOU HERE
18:20:35  <voodootikigod>paging felix
18:20:44  <tjfontaine>oh damn this 64bit world
18:20:50  <voodootikigod>amen to that
18:20:56  <voodootikigod>was so much better when all we had was 8 bits
18:21:06  <TooTallNate>tjfontaine: besides, that should be handled by "ref" which sets the "alignment" property in C-land
18:21:28  <tjfontaine>TooTallNate: so I added this assert that that offset is a multiple of alignment
18:22:36  <TooTallNate>i'm guessing it's failing?
18:23:08  <tjfontaine>TooTallNate: well I guess this could be more osx interesting thing, but alignment of test1 is 8, but offset of b is 4, but it seems like it's getting packed nicely
18:23:57  <TooTallNate>tjfontaine: welcome to my world :)
18:24:13  <TooTallNate>that's not osx-specific, that's just how it works
18:25:44  * Raltquit (Remote host closed the connection)
18:26:32  <tjfontaine>right I"m just trying to learn this :)
18:27:06  <TooTallNate>tjfontaine: it wouldn't be memory-efficient to align to the largest type size
18:27:23  <tjfontaine>right no I get it, just trying to think through all the rules
18:27:41  <tjfontaine>TooTallNate: and the most memory efficient is to set packing to 1, but that slows down access
18:28:45  <TooTallNate>right, but those are out there too :)
18:28:53  <TooTallNate>i need to think of a good syntax for those
18:28:59  * erickt_joined
18:29:11  * erickt_quit (Client Quit)
18:29:34  <tjfontaine>c# has an interesting way of handling that for pinvoke, but doesn't entirely fit the ref-struct mantra
18:29:57  <TooTallNate>i think a separate PackedStruct() function will do just fine
18:30:30  <tjfontaine>allowing to specify a value
18:30:38  * ericktquit (Ping timeout: 256 seconds)
18:30:47  <TooTallNate>and for regular structs with individual packed fields, use regular Struct(), and maybe pass Struct.Packed('int') or whatever as the value
18:30:52  * mikealjoined
18:31:07  <TooTallNate>i'm thinking in the future though, i wanna get this alignment bug worked out :)
18:33:26  * ericktjoined
18:33:54  * brsonjoined
18:35:13  * ericktquit (Client Quit)
18:41:20  * mikealquit (Ping timeout: 248 seconds)
18:51:45  <TooTallNate>i give up for now, gotta do real work :\
18:53:52  * Raltjoined
18:53:53  * loladiroquit (Quit: loladiro)
19:01:31  <tjfontaine>TooTallNate: got it
19:01:48  <TooTallNate>tjfontaine: do tell :)
19:02:32  <tjfontaine>TooTallNate: addType shouldn't be computing on struct.alignment but on type.alignment, adapting the wikipedia padding code makes the tests pass, I'll show a diff here in a second
19:02:51  * loladirojoined
19:03:22  <tjfontaine>TooTallNate: http://paste.debian.net/hidden/e2d85f33/
19:04:04  <tjfontaine>I could have left `left` in but made it use type.alignment but anyway
19:07:01  <TooTallNate>tjfontaine: looking pretty good
19:07:04  <TooTallNate>2 failures on my end
19:07:08  <TooTallNate>relating to "void *" type
19:07:14  <TooTallNate>tjfontaine: any thoughts?
19:07:34  <tjfontaine>oops, that shouldn't happen
19:10:06  <tjfontaine>right alignment is undefined
19:10:26  <tjfontaine>so it's becoming NaN
19:10:52  * loladiroquit (Quit: loladiro)
19:11:04  <TooTallNate>tjfontaine: well it should have the alignment of a pointer, not of void
19:11:15  <TooTallNate>so you need to check type.indirection == 1
19:12:26  <tjfontaine>what about: + var align = type.alignment || ref.alignof.pointer;
19:16:41  <tjfontaine>TooTallNate: http://paste.debian.net/hidden/dedb5709/
19:18:50  * mralephquit (Read error: Connection reset by peer)
19:25:51  * ericktjoined
19:25:52  * mikealjoined
19:32:13  * mikealquit (Ping timeout: 246 seconds)
19:33:06  * brsonquit (Ping timeout: 245 seconds)
19:49:08  * tomshredsjoined
19:57:38  * TooTallNatequit (Quit: Computer has gone to sleep.)
19:59:07  * mikealjoined
20:04:42  * mikealquit (Ping timeout: 264 seconds)
20:06:52  * tomshredsquit (Quit: Linkinus - http://linkinus.com)
20:13:07  * TooTallNatejoined
20:17:29  <TooTallNate>tjfontaine: beautiful :)
20:18:03  <tjfontaine>TooTallNate: incidentally this helped me fix an issue in another library :P
20:18:44  <TooTallNate>nice :)
20:18:58  <tjfontaine>TooTallNate: also, I guess Function's don't pass through ref.type.Object all that kindly?
20:19:19  <TooTallNate>tjfontaine: they should, i do that in NodObjC, what are you seeing?
20:20:00  <tjfontaine>something weird, it could be corruption in the library though TypeError: Object 84796 has no method 'call'
20:20:49  <TooTallNate>tjfontaine: https://github.com/TooTallNate/ref-struct/commit/da85dac1c8a98540813ff083836a967cacd303ff
20:21:04  <tjfontaine>I should really add more ram to my vm so I can actually compile llvm in debug mode, trying to get debug llvm to link is near impossible
20:21:18  <tjfontaine>TooTallNate: nice :)
20:24:31  * AvianFlu_joined
20:24:48  * AvianFluquit (Read error: Connection reset by peer)
20:24:49  * AvianFlu_changed nick to AvianFlu
20:24:52  <TooTallNate>tjfontaine: hey thanks for figuring it out! I was at the max frustration point
20:25:15  <tjfontaine>TooTallNate: just glad I could be of service
20:26:24  * AvianFluquit (Read error: Connection reset by peer)
20:26:39  * AvianFlujoined
20:29:23  * AvianFluquit (Read error: Connection reset by peer)
20:29:32  * AvianFlu_joined
20:29:50  * AvianFlu_changed nick to AvianFlu
20:33:34  * AvianFlu_joined
20:33:44  * AvianFluquit (Disconnected by services)
20:33:44  * AvianFlu_changed nick to AvianFlu
20:38:49  * lohkeyjoined
20:39:16  * ericktquit (Quit: erickt)
20:39:49  <TooTallNate>tjfontaine: and ref-struct v0.0.4 with your fix it out
20:40:17  * ericktjoined
20:40:27  <tjfontaine>excellent!
20:44:16  * Raltquit (Remote host closed the connection)
20:44:51  * Raltjoined
20:45:16  * dapjoined
20:49:07  * Raltquit (Ping timeout: 244 seconds)
20:49:27  * hzjoined
20:50:39  * brsonjoined
20:54:17  * TooTallNatequit (Ping timeout: 244 seconds)
20:56:30  * TooTallNatejoined
21:06:22  * mralephjoined
21:08:53  <pquerna>mktemp. i want it. in uv.
21:09:42  <mmalecki>pquerna++
21:10:23  <mmalecki>I'm actually down to implement it for linux, unless someone wants to take it
21:10:30  <txdv>whats mktemp?
21:10:49  <mmalecki>txdv: man 3 mktemp
21:10:53  * ericktquit (Quit: erickt)
21:11:09  <mmalecki>AvianFlu: ^ might be relevant to our interests
21:11:36  <txdv>and why do you need mktemp?
21:11:40  <tjfontaine>thought it was supposed to be mkstemp? :)
21:11:49  * ericktjoined
21:12:04  <pquerna>its complicated is why
21:12:36  <pquerna>https://github.com/apache/apr/blob/trunk/file_io/unix/mktemp.c#L90-222
21:12:47  <pquerna>~120 lines or whatever to implement it in a portable way
21:17:49  * c4miloquit (Remote host closed the connection)
21:42:50  * rendarquit
21:44:36  * TheJHquit (Ping timeout: 252 seconds)
22:01:01  * stagasquit (Quit: ChatZilla 0.9.89-rdmsoft [XULRunner 1.9.0.17/2009122204])
22:07:40  * hzquit
22:24:27  * dapquit (Quit: Leaving.)
23:01:35  * bnoordhuisjoined
23:01:46  <bnoordhuis>TooTallNate: yo nate, alignment trouble?
23:02:18  <TooTallNate>bnoordhuis: there was. tjfontaine was able to figure things out
23:03:08  <bnoordhuis>okay, cool
23:03:26  <TooTallNate>bnoordhuis: turns out i was calculating the field padding using the struct's alignment rather than the field type's
23:03:37  <TooTallNate>if that makes sense :p
23:06:26  <tjfontaine>heh
23:07:28  <bnoordhuis>right, i get what you mean
23:11:10  <TooTallNate>my confidence in ref-struct's ABI compatibility went from like 80% to 95% i'd say
23:14:05  <mmalecki>bnoordhuis: ping?
23:14:13  <bnoordhuis>mmalecki: pong
23:14:15  <bnoordhuis>oh, the resume
23:14:17  <bnoordhuis>damn, i forgot
23:14:20  <bnoordhuis>tomorrow?
23:14:20  <tjfontaine>TooTallNate: ya, I'm fairly confident in it right now
23:14:29  <mmalecki>bnoordhuis: no sweat, tomorrow is fine :)
23:14:38  <bnoordhuis>okay, cool
23:14:45  <mmalecki>thanks :)
23:14:50  <tjfontaine>TooTallNate: a guy is apparently using node-vlc on raspberry pi so
23:14:57  <TooTallNate>tjfontaine: oh nice!
23:15:23  <TooTallNate>i've been using node-ffi and ref to interface with libgit2 for my blog
23:15:29  <TooTallNate>works well i'd say
23:25:20  * mjr_joined
23:40:43  * Ariajoined
23:41:46  <tjfontaine>TooTallNate: hrm I guess I can't do require('ref-array')('pointer', 2)?
23:41:49  * Ariaquit (Remote host closed the connection)
23:42:05  <TooTallNate>tjfontaine: what happens?
23:42:08  * Ariajoined
23:42:14  <tjfontaine>AssertionError: Could not determine the `ffi_type` instance for type: ArrayType
23:42:40  * mikealjoined
23:43:16  <TooTallNate>tjfontaine: do you have multiple copies of "ref"?
23:43:35  <tjfontaine>TooTallNate: you mean installed?
23:43:51  <TooTallNate>ya, in ./node_modules
23:43:57  <TooTallNate>like does ref-array have its own copy?
23:44:50  <tjfontaine>TooTallNate: no, npm ls looks clean
23:45:07  <TooTallNate>well that's interesting...
23:45:20  <tjfontaine>http://paste.debian.net/hidden/cc9593c1/
23:45:22  <TooTallNate>tjfontaine: actually, i haven't done any ref-array + node-ffi testing yet
23:45:28  <tjfontaine>heh
23:45:30  <TooTallNate>i would imagine it wouldn't work yet
23:45:32  <TooTallNate>:p
23:45:33  <tjfontaine>first for everything :)
23:46:22  <TooTallNate>tjfontaine: i'll have to add some tests and stuff to node-ffi tonight
23:46:40  <TooTallNate>tjfontaine: out of curiosity though, what function are you calling?
23:46:54  * mikealquit (Ping timeout: 240 seconds)
23:47:37  <tjfontaine>clang_getNullLocation
23:47:45  <tjfontaine>which returns a struct that looks like
23:49:05  <tjfontaine>var CXSourceLocation = exports.CXSourceLocation = Struct({
23:49:08  <tjfontaine> ptr_data: ArrayType(ref.refType(ref.types.void), 2),
23:49:11  <tjfontaine> int_data: 'uint32',
23:49:13  <tjfontaine>});
23:49:51  <tjfontaine>which I know isn't entirely like your desired use case of ArrayType(ref.refType(ref.types.void))