00:00:02  * paddybyersquit (Quit: paddybyers)
00:04:58  <piscisaureus_>isaacs: I can't send bryan's patch upstream because it doesn't work
00:05:53  <piscisaureus_>isaacs: I think they have changed even more after the v3.13 branch
00:07:20  <piscisaureus_>isaacs: also, they have created a 3.14 branch already...
00:07:48  <piscisaureus_>isaacs: that said, we should land the 3.13 upgrade
00:16:34  * xaqquit (Remote host closed the connection)
00:19:04  <isaacs>kk
00:19:16  <isaacs>piscisaureus_: with bmc's newer patch?
00:19:24  <isaacs>piscisaureus_: or are you saying that it's not suitable?
00:19:34  <piscisaureus_>isaacs: the patch works for this v8 branch
00:19:37  <isaacs>oh, o
00:19:38  <isaacs>ok
00:19:43  <piscisaureus_>isaacs: but it doesn't apply to v8-master
00:19:45  <isaacs>got it
00:19:59  <isaacs>joyent ought to hire a V8 developer ;)
00:20:13  <piscisaureus_>isaacs: so when the dust settles in v8 then bmc probably has to take alook at it again
00:20:17  <isaacs>yeah
00:20:20  <piscisaureus_>isaacs: hiring and joyent ;-)
00:20:47  <isaacs>piscisaureus_: if you want to merge the v8-3.13.7.1 branch into master, be my guest.
00:21:14  <isaacs>we can still send the patch pustream for the 3.13 branch, though, right?
00:21:29  <isaacs>i mean, it's less floating for us in any event, i'd thing
00:21:31  <isaacs>*think
00:21:36  <piscisaureus_>isaacs: I think so, but there is no correct 3.13 branch in their gh repo
00:22:05  <piscisaureus_>isaacs: so that makes it a little difficult. I would have to go the svn/depot-tools route
00:22:12  <isaacs>righ
00:22:19  <piscisaureus_>which is a little painful but I'll do it if we stick to this patch
00:22:24  <isaacs>that's the only way i've ever submitted patches to V8. it's pretty painful
00:22:26  * xaqjoined
00:22:30  <piscisaureus_>yes
00:22:33  <piscisaureus_>I use git-cl
00:22:35  <piscisaureus_>it's pretty nice
00:23:14  <piscisaureus_>isaacs: I'm not landing the sunos mmap patch yet
00:24:48  <CIA-131>node: isaacs master * r3411a03 / (381 files in 23 dirs): V8: Upgrade to 3.13.7.1 - http://git.io/gBGPIQ
00:24:49  <CIA-131>node: isaacs master * rd77c24d / (deps/v8/build/common.gypi deps/v8/tools/gyp/v8.gyp): V8: reapply floating patches - http://git.io/ntaXCg
00:24:49  <CIA-131>node: Bryan Cantrill master * r017009f / deps/v8/tools/gen-postmortem-metadata.py : v8: fix postmortem metadata generation - http://git.io/cI7wXw
00:28:02  * piscisaureusjoined
00:32:28  * lohkeypart
00:32:46  * lohkey_joined
00:37:06  * lohkey_quit (Ping timeout: 264 seconds)
01:01:38  * xaqquit (Remote host closed the connection)
01:12:19  <tjfontaine>ok, that's one redeemable feature of libpurple, even though it depends on glib I can easily drive it with another event loop
01:22:17  <piscisaureus_>yes. libuv needs that too
01:22:28  <piscisaureus_>it's always thread constraints that get in the way tho
01:22:48  <piscisaureus_>like, this function needs to be called on the same thread as X
01:25:54  <tjfontaine>I'm playing around with node+ffi+libpurple, and using uv_poll via ffi as well, most of libpurple should be single threaded, though some documentation suggests that on windows all bets are off
01:26:06  * xaqjoined
01:28:14  * dapquit (Quit: Leaving.)
01:28:36  * piscisaureus__joined
01:32:13  * piscisaureus_quit (Ping timeout: 246 seconds)
01:37:00  * piscisaureus__quit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:38:18  * abraxasjoined
01:43:05  * loladirojoined
01:55:26  * piscisaureusquit (Quit: Lost terminal)
01:56:38  * loladiroquit (Quit: loladiro)
01:56:57  * piscisaureusjoined
02:09:19  <tjfontaine>TooTallNate: I'm having a bit of idiot moment, I have a void* that I'm trying to reinterpret, is that ref.get(ptr, refType(mytype))?
02:09:52  <TooTallNate>tjfontaine: you're trying to cast it essentially?
02:09:56  <tjfontaine>yes
02:10:11  <tjfontaine>it can also deref that's fine
02:10:24  <TooTallNate>you just set the "type" prop of the Buffer instance
02:10:33  <tjfontaine>ah
02:10:36  <TooTallNate>ptr.type = refType(mytype)
02:11:43  <tjfontaine>ok I'll work with that, thanks greatly
02:12:04  <TooTallNate>np :)
02:12:30  <TooTallNate>tjfontaine: always enjoy the feedback btw
02:12:49  <TooTallNate>or at least knowing someone else also enjoys programming C in JS :p
02:13:08  <tjfontaine>enjoy might be strong, certainly masochistic enough to try it
02:13:54  <TooTallNate>well it's taught me a lot about C in general, and pointers especially, so i've enjoyed it I suppose
02:14:53  <tjfontaine>I've certainly learned, sometimes kicking and screaming, but I've learned
02:24:11  * philips_quit (Excess Flood)
02:26:39  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
02:28:33  * philips_joined
02:35:36  * brsonquit (Quit: leaving)
02:57:43  * chobi_e_quit (Ping timeout: 256 seconds)
03:08:02  * bulatshakirzyanojoined
03:08:20  * lohkeyjoined
03:12:15  * brsonjoined
03:23:10  * bulatshakirzyanoquit (Quit: Leaving...)
03:24:51  * kristatejoined
04:07:52  * dapjoined
04:17:16  <indutny>saghul: yeah
04:24:12  * piscisaureusquit (*.net *.split)
04:24:12  * xaqquit (*.net *.split)
04:29:29  * piscisaureusjoined
04:29:29  * xaqjoined
04:45:43  * bulatshakirzyanojoined
05:03:11  * bulatshakirzyanoquit (Quit: Leaving...)
05:06:42  * bulatshakirzyanojoined
05:20:04  * joshthecoderquit (Quit: Leaving...)
05:35:16  * lohkeyquit (Quit: lohkey)
05:35:30  * paddybyersjoined
05:36:42  * xaqquit (Remote host closed the connection)
05:54:35  * xaqjoined
06:14:06  * xaqquit (Remote host closed the connection)
06:17:54  * paddybyersquit (Quit: paddybyers)
06:18:55  * paddybyersjoined
06:22:35  * brsonquit (Read error: Connection reset by peer)
06:34:02  * dapquit (Quit: Leaving.)
06:36:01  * papertigersquit (Ping timeout: 246 seconds)
06:39:19  * papertigersjoined
06:44:02  * stagasjoined
06:52:54  * bulatshakirzyanochanged nick to avalanche123|h
06:52:56  * stephankquit (Quit: *Poof!*)
06:59:13  <saghul>indutny I refined my original idea, just sent an email
07:04:29  <indutny>saghul: well, that's what we propose
07:04:39  <indutny>saghul: but what's the purpose of uv_poll
07:04:49  <indutny>saghul: is it sort of uv_run_once that'll definitely not block?
07:04:58  <saghul>indutny instead of doing all the plubing with uv_run_embed, let the user do it
07:05:04  <saghul>yes
07:05:08  <indutny>saghul: that's what we've decided
07:05:12  <indutny>saghul: no plubming
07:05:20  <saghul>indutny nice :-)
07:05:29  <indutny>saghul: but uv_wait() is actually only thing that can't be implemented by users
07:05:36  <indutny>they can use uv_run_once() for everything else
07:05:41  <saghul>indutny yeah, we need that
07:07:27  <indutny>saghul: uv_poll(..., timeout)
07:07:30  <indutny>saghul: why timeout?
07:07:35  <indutny>it should not block
07:07:45  <saghul>it doesn't
07:07:50  <indutny>so why timeout?
07:07:54  <saghul>indutny it tells the backend for how long to poll
07:08:00  <indutny>it will not block
07:08:05  <indutny>so no polling is happening here
07:08:09  <indutny>timeout should be zero
07:08:16  <indutny>it just deques events from backend
07:08:27  <indutny>events that has already happened after uv_wait() has finished running
07:08:40  <saghul>sorry, I said that wrong
07:08:44  <saghul>uv_poll does block
07:08:50  <saghul>but it does so in the other thread
07:08:56  <saghul>but it doesn't handle the events
07:09:02  <saghul>uv_wait dequeues them
07:09:06  <indutny>no it doesn't
07:09:22  <saghul>and handles them, in the qt thread, for instance
07:09:45  <indutny>that's how it works in my patch now
07:09:51  <indutny>it just waits for events
07:09:54  <indutny>like your uv_poll does
07:11:25  <saghul>indutny aha
07:11:49  <saghul>yeah, there is a bit of a name collision there
07:12:07  <saghul>hopefully I described it correctly :-)
07:12:14  <indutny>ok
07:12:16  <indutny>I'll reply
07:12:28  <indutny>Just wanted to do some real time discussion
07:12:37  <indutny>to prevent us from wasting time
07:18:47  * avalanche123|hquit (Quit: Computer has gone to sleep.)
07:19:49  * AvianFluquit (Quit: AvianFlu)
07:28:44  * paddybyers_joined
07:32:54  * paddybyersquit (Ping timeout: 264 seconds)
07:32:54  * paddybyers_changed nick to paddybyers
07:42:57  * kuebkjoined
07:47:47  <kuebk>hi
07:48:54  <kuebk>http://pastebin.com/xBkU7Lf0
07:49:02  <kuebk>can someone look at this and help me?
07:49:08  <kuebk>i can't figure it out myself
07:52:23  <indutny>kuebk: sure
07:52:35  <indutny>well
07:52:40  <indutny>you should do following thing
07:53:13  <indutny>Handle<Value> property = data->Get(key);
07:53:24  <indutny>if (property->IsArray()) arr = property.As<Array>()
07:53:32  <indutny>kuebk: ^
07:53:42  <indutny>hope this helps
07:54:27  <kuebk>hmm
07:54:30  <kuebk>thank you
07:55:54  <kuebk>hmm
07:56:05  <kuebk>looks like I'm using outdated docs for v8
08:11:24  * rendarjoined
08:16:43  * paddybyers_joined
08:20:18  * paddybyersquit (Ping timeout: 264 seconds)
08:20:18  * paddybyers_changed nick to paddybyers
08:37:42  * kristatequit (Ping timeout: 264 seconds)
09:19:55  * hzjoined
09:21:43  * kuebkpart
09:21:46  * kuebkjoined
09:58:41  * abraxasquit (Remote host closed the connection)
10:07:03  * hzquit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org)
10:18:29  * hzjoined
10:22:47  * hzquit (Ping timeout: 246 seconds)
10:27:20  * Cogito_Ergo_Sumjoined
10:27:28  <Cogito_Ergo_Sum>hi
10:28:46  <Cogito_Ergo_Sum>can anyone tell me if the libuv api for creating a server, sending and receiving data is at the same level as the node.js api or at a lower one ?
10:34:42  <txdv>piscisaureus: where did the ffi fix land?
10:34:44  <txdv>cant see it in master
10:35:53  <txdv>o now i can see
10:37:12  <indutny>Cogito_Ergo_Sum: it's a little bit lower, but almost the same
10:39:26  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
10:42:02  <Cogito_Ergo_Sum>i see
10:42:20  <Cogito_Ergo_Sum>and it can be used in normal C/C++ projects right?
10:44:13  <indutny>Cogito_Ergo_Sum: sure
10:45:32  <Cogito_Ergo_Sum>ok
10:48:09  * mmaleckijoined
10:48:18  <Cogito_Ergo_Sum>indutny: with VS as well?
10:48:30  <Cogito_Ergo_Sum>as an IDE
10:49:21  <txdv>ja
10:55:24  * hzjoined
10:59:35  * hzquit (Ping timeout: 240 seconds)
11:01:51  <indutny>Cogito_Ergo_Sum: yeah, it should
11:04:33  <indutny>piscisaureus: heya
11:04:36  <indutny>piscisaureus: still sleeping?
11:05:27  <indutny>isaacs: mind landing small uv API update (i.e. one function added, nothing changed)
11:05:30  <indutny>isaacs: into 0.8.x
11:05:47  <indutny>isaacs: it would make life of at least two people easier
11:08:50  <saghul>indutny did you forget to add test-embed.c ?
11:08:58  <indutny>saghul: yes, I did
11:09:22  <indutny>:)
11:10:35  <saghul>;-)
11:14:44  * Cogito_Ergo_Sumquit
11:15:16  <txdv>what function?
11:16:26  * hzjoined
11:22:25  <indutny>txdv: wut?
11:22:39  <txdv>what function do you want to add?
11:23:33  * hzquit (Ping timeout: 260 seconds)
11:23:40  * paddybyers_joined
11:26:55  * paddybyersquit (Ping timeout: 240 seconds)
11:26:55  * paddybyers_changed nick to paddybyers
11:30:43  <indutny>txdv: uv_wait()
11:31:45  <txdv>what does it do?
11:35:03  <indutny>waits for events to happen
11:35:04  <indutny>:)
11:35:08  <indutny>without dequeing them
11:40:37  * hzjoined
11:47:05  * hzquit (Ping timeout: 252 seconds)
12:15:21  * V1joined
12:15:49  * V1changed nick to `3rdEden
12:34:58  * bnoordhuisjoined
12:38:29  <piscisaureus>indutny: I doubt I can make uv_wait work with APCs ...
12:38:47  <piscisaureus>indutny: I'll take a final look but I don't think it can be done...
12:39:22  <indutny>piscisaureus: ok, that should not be a problem
12:39:32  <piscisaureus>indutny: why?
12:39:43  <indutny>we'll still need this API for all other platforms
12:39:47  <piscisaureus>indutny: we can still offer the APIs on unix
12:39:47  <piscisaureus>yes
12:39:50  <indutny>indeed
12:40:01  <indutny>so if it's impossible on windows, lets not deal with it for now
12:40:05  <indutny>noone will be hurt
12:41:33  <indutny>btw, where is ben?
12:41:49  <indutny>piscisaureus: ^
12:42:08  <indutny>I want you both to review this https://github.com/joyent/libuv/pull/561
12:42:10  <indutny>to land it in uv
12:42:19  <indutny>and later in node
12:42:41  <indutny>piscisaureus: btw, what do you think about landing it in 0.8 too?
12:44:11  <piscisaureus>indutny: no thoughts yet. Why?
12:44:22  <indutny>piscisaureus: because people need it
12:44:30  <indutny>piscisaureus: at least, Tim and Nate
12:44:35  <indutny>and I, a little
12:46:32  <bnoordhuis>indutny: here
12:46:36  <indutny>bnoordhuis: hoya
12:48:42  <piscisaureus>indutny: I care more about api consistency -> https://github.com/indutny/libuv/blob/master/include/uv.h#L1132
12:48:53  <indutny>ah
12:48:54  <indutny>ok
12:49:04  <indutny>I'll update patch
12:49:08  <indutny>and lets use -1 then
12:50:32  <piscisaureus>indutny: infact -1 is not very consistent - uv_timer_init uses 0 to disable repeat - but I regret that decision
12:50:39  * hzjoined
12:52:10  <piscisaureus>indutny: It seems okay
12:52:21  <piscisaureus>indutny: what about linux and SinOS ?
12:52:35  <indutny>works on linux
12:52:40  <indutny>not on SinOS
12:52:57  <indutny>idk what's SinOS is using, but it's either poll or select
12:53:13  <indutny>so it's better wait for faio before implementing uv_wait() on it
12:54:31  <indutny>piscisaureus: force pushed
12:56:47  <txdv>faio?
12:57:08  <indutny>https://github.com/bnoordhuis/faio
12:57:56  <txdv>the readme is very detailed
12:59:26  <txdv>looks like another event loop
13:02:12  <indutny>sort of
13:02:21  <indutny>but it's a replacement of libev, actually
13:05:01  <bnoordhuis>txdv: readmes are for the feeble, Real Men read the code
13:05:21  * hzquit (Ping timeout: 248 seconds)
13:06:26  * mmaleckiquit (Ping timeout: 244 seconds)
13:07:23  <indutny>txdv: Real Men have "bnoordhuis" as nickname
13:07:28  * indutnychanged nick to bnoordhuis2
13:07:31  <bnoordhuis2>see
13:07:36  <bnoordhuis>^ this man speaks truth
13:07:41  <txdv>real man drink vodka in the morning
13:07:51  <bnoordhuis2>no
13:07:53  <bnoordhuis>i never do that
13:07:53  <bnoordhuis2>that's for morons
13:08:00  <bnoordhuis>there's never anything left from the night before
13:08:00  <bnoordhuis2>we never do that
13:08:10  <bnoordhuis2>^ see
13:08:36  <deoxxa>damn, is it excusable to not do that if you're barely ever awake in time for the morning?
13:08:51  <bnoordhuis2>deoxxa: just write code
13:08:56  <deoxxa>ok, good
13:08:57  * bnoordhuis2changed nick to indutny
13:08:58  <deoxxa>i have that covered
13:09:04  <deoxxa>code code code
13:09:33  <indutny>bnoordhuis: so are you ok with pulling uv_wait() into master and 0.8?
13:09:39  <indutny>it's not an API change
13:09:48  <bnoordhuis>indutny: i haven't really reviewed it yet
13:09:58  <indutny>ok
13:10:04  <bnoordhuis>or maybe more accurately, i really haven't reviewed it yet
13:10:06  <indutny>let me know if anything
13:10:14  <bnoordhuis>i will let you know if anything
13:10:29  <indutny>I will let you know if you'll let me know if anything
13:10:41  <indutny>ok, code
13:12:20  * xaqjoined
13:17:02  <txdv>is libev too slow or why this faio?
13:17:35  <indutny>it's retarded
13:17:36  <indutny>a little
13:17:46  <indutny>and on some specific platforms a way more retarded
13:20:22  <txdv>Well, if someone wants to have the fun rewriting that entire thing
13:20:23  <txdv>why not
13:20:37  <indutny>txdv: exactly
13:20:51  <indutny>txdv: have you seen libev's code?
13:21:10  <txdv>the codestyle sucks
13:21:17  <txdv>it is that website with the parrot?
13:21:21  <indutny>yes
13:23:06  <bnoordhuis>txdv: faio is not a rewrite of libev
13:23:15  <bnoordhuis>libev does a lot of things that libuv doesn't need
13:23:25  <bnoordhuis>faio is just the core event loop, cross platform
13:23:38  <txdv>what kind of things?
13:24:01  <bnoordhuis>doing timestamp updates, checking for bad fds, child processes, etc.
13:24:16  <bnoordhuis>but libuv handles that itself
13:26:30  <txdv>will faio be faster? it will be just an abstraction for all the unixes, right?
13:27:20  <bnoordhuis>txdv: potentially faster :)
13:27:42  * piscisaureus_joined
13:27:56  <piscisaureus_>bnoordhuis:
13:27:56  <piscisaureus_>/* A -1 timeout means "wait indefinitely" and modern kernels do
13:27:56  <piscisaureus_> * but old (ancient) kernels wait for LONG_MAX milliseconds.
13:27:56  <piscisaureus_> */
13:28:01  <piscisaureus_>now that's something to worry about :-)
13:28:26  <bnoordhuis>piscisaureus: yes, i handle that
13:28:39  <piscisaureus_>I know
13:28:46  <bnoordhuis>but meh, that's only an issue with pre-2.6.9 kernels
13:28:59  <piscisaureus_>bnoordhuis: it's an excerpt from your code
13:29:04  <piscisaureus_>bnoordhuis: so why did you bother?
13:29:12  <piscisaureus_>i mean, you have an event loop that's blocked for 60 days?
13:29:18  <bnoordhuis>ah, i thought "what an eloquent yet tersely worded comment"
13:29:42  <bnoordhuis>piscisaureus: more like 42 days
13:29:58  <piscisaureus_>oh whatever I am not that good at quick math
13:30:19  <bnoordhuis>24 days now that i think of it, the argument is signed
13:30:34  <piscisaureus_>umm ?
13:30:39  <bnoordhuis>i ran into it in the past with a quake 3 server
13:30:49  <bnoordhuis>not a terribly popular server it was
13:30:54  <piscisaureus_>bnoordhuis: one that had no users for 24 days :-)
13:30:55  <piscisaureus_>haha
13:30:56  <piscisaureus_>indeed
13:31:23  <piscisaureus_>bnoordhuis: I guess it's better for the environment when servers turn themselves off after a month without usage
13:31:40  <bnoordhuis>that's what the hlt instruction is for
13:31:48  <piscisaureus>bnoordhuis: did you manage to benchmark openssl already>
13:31:54  <bnoordhuis>no, but i will now
13:31:58  <piscisaureus>yay
13:32:00  <bnoordhuis>what branch should i check?
13:32:41  <piscisaureus>openssl-asm
13:32:53  <piscisaureus>bnoordhuis: versus 0.8
13:33:00  <bnoordhuis>oki
13:34:29  <bnoordhuis>piscisaureus: do i need to patch the tls-connect benchmark?
13:34:45  <piscisaureus_>bnoordhuis: yeah, you need to stress the bulk cipher.
13:34:49  <piscisaureus_>bnoordhuis: AES to be precise
13:36:49  <bnoordhuis>piscisaureus_: what was the cpuid file?
13:37:01  <piscisaureus>bnoordhuis: umm what?
13:37:17  <bnoordhuis>i need to remove the hyperthreads / smt check right?
13:37:30  <piscisaureus>bnoordhuis: oh, that
13:37:38  <piscisaureus>bnoordhuis: yes, that'd be a better comparison
13:37:55  <piscisaureus>bnoordhuis: crypto/aes/asm/x86_64xxx.pl
13:38:03  <bnoordhuis>oki
13:38:42  <piscisaureus_>bnoordhuis: just crypto/aes/asm/aes-x86_64.pl
13:38:44  <bnoordhuis>10 connections in 131.942 s
13:38:44  <bnoordhuis>0 connections per second
13:38:54  <bnoordhuis>that's with concurrency=1, buf=100M
13:38:59  <piscisaureus>ok
13:39:06  * bnoordhuispatches openssl
13:42:29  <bnoordhuis>piscisaureus: for the record, it should *not* jump to .Lcbc_slow_prologue right?
13:42:53  <piscisaureus>bnoordhuis: well, I expect it to do that. But that makes it slow.
13:43:10  <piscisaureus>bnoordhuis: so if you patch it, take out the jump
13:44:56  <bnoordhuis>10 connections in 117.412 s
13:44:56  <bnoordhuis>0 connections per second
13:45:06  <bnoordhuis>+ jmp L$skip
13:45:06  <bnoordhuis> movl _OPENSSL_ia32cap_P(%rip),%r10d
13:45:06  <bnoordhuis> cmpq $512,%rdx
13:45:06  <bnoordhuis> jb L$cbc_slow_prologue
13:45:06  <bnoordhuis>@@ -1329,6 +1330,7 @@ L$cbc_picked_te:
13:45:07  <bnoordhuis> btl $28,%r10d
13:45:09  <bnoordhuis> jc L$cbc_slow_prologue
13:45:13  <bnoordhuis>
13:45:15  <bnoordhuis>+L$skip:
13:45:16  <indutny>what's slow prologue?
13:45:17  <bnoordhuis>that's the patch
13:45:17  <indutny>anyway
13:45:19  <bnoordhuis>piscisaureus: ^
13:45:43  <piscisaureus>bnoordhuis: yeah, that's not what I would do but okay
13:45:44  <piscisaureus>:-0
13:47:23  <piscisaureus_>bnoordhuis: https://github.com/joyent/node/blob/master/deps/openssl/openssl/crypto/aes/asm/aes-586.pl#L125-187
13:47:55  <bnoordhuis>piscisaureus_: executive summary please?
13:48:04  <piscisaureus_>umm
13:48:09  <piscisaureus_>timing attacks
13:48:14  <bnoordhuis>okay
13:48:22  <bnoordhuis>i think i've read about that, years ago
13:48:28  <bnoordhuis>timing attacks + hyperthreads, that is
13:48:28  <piscisaureus_>But that may be only related to the speed limit
13:48:33  <piscisaureus_>ah right
13:48:35  <piscisaureus_>so that may be it
13:51:16  <piscisaureus_>bnoordhuis: the executive summary is something along the lines: "these timing attacks are probably impossible"
13:51:46  <piscisaureus_>bnoordhuis: ... and if someone could do them you have bigger problems
13:51:57  <bnoordhuis>yeah, i suppose...
13:53:56  <piscisaureus_>bnoordhuis: so did you do the bench?
13:54:17  <bnoordhuis>piscisaureus: didn't you see the numbers?
13:54:21  <bnoordhuis>131 vs 117
13:54:31  <bnoordhuis>not sure if it's statistically significant
13:54:32  <piscisaureus_>ah
13:54:43  <piscisaureus_>the difference was bigger here
13:55:05  <piscisaureus_>35 vs 50 s
13:55:06  <piscisaureus_>or so
13:55:16  <piscisaureus_>you saw it
13:55:54  <piscisaureus_>oh, wait, it's more complicated
14:00:33  <bnoordhuis>it's consistently 117 now
14:00:40  <bnoordhuis>improbably so :)
14:06:58  <piscisaureus_>tested it again, it's 34 vs 49 s consistently
14:07:12  <piscisaureus_>that's with 100 connections, concurrency 10, 10mb data
14:26:59  * philips_quit (Excess Flood)
14:27:01  * xaqquit (Remote host closed the connection)
14:30:05  * philips_joined
14:31:43  * mmaleckijoined
14:50:56  * dapjoined
14:52:45  * xaqjoined
14:56:51  <bnoordhuis>this mmalecki guy, always late to the party, amirite?
14:59:01  <mmalecki>bnoordhuis: hm?
14:59:44  <mmalecki>bnoordhuis: I indeed *am* late to the party right now, but I'm sure that's not the party you're referring to :)
15:00:55  <piscisaureus_>mmalecki: oh, going to a swingers party again. Really you're not supposed to do that until you're 50
15:01:09  <mmalecki>bnoordhuis: btw, I *think* that I had few drinks with creator of Prince of Persia yesterday
15:03:04  <mmalecki>piscisaureus_: well, why did I see you at the one I've been to before?
15:03:25  <bnoordhuis>mmalecki: did or didn't?
15:04:21  <mmalecki>bnoordhuis: well, I think I did
15:04:51  <mmalecki>bnoordhuis: anyway, what party am I late to?
15:05:38  <bnoordhuis>mmalecki: the EDQUOT one
15:05:57  <mmalecki>bnoordhuis: why's that? I grepped sauce and didn't see it
15:06:27  <bnoordhuis>mmalecki: your esteemed co-worker avianflu already sent a patch earlier this week :)
15:07:20  <mmalecki>ah, I was grepping v0.8
15:07:40  <mmalecki>also, I've been drinking since Monday, kinda got out of the loop
15:08:01  <mmalecki>I'll close the issue, thanks for heads up
15:08:21  <bnoordhuis>mmalecki: late again, bert already beat you to it
15:08:29  <mmalecki>DANG
15:08:36  <bnoordhuis>:)
15:09:01  <bnoordhuis>back-porting the patch to v0.8 is not a bad idea though
15:09:19  <mmalecki>yeah, we actually have to act on it
15:09:42  <mmalecki>we can float it, but it'd more convenient to have it on 0.8
15:10:07  <CIA-131>libuv: Charlie McConnell v0.8 * rb877db9 / src/unix/error.c : unix: map EDQUOT to UV_ENOSPC - http://git.io/aZ8wvQ
15:10:09  <bnoordhuis>mmalecki: ^
15:10:36  <mmalecki>bnoordhuis: <3
15:11:41  <mmalecki>ircretary: tell avianflu to float joyent/libuv@b877db9 onto build server's libuv until it gets released in next node 0.8
15:11:42  <ircretary>mmalecki: I'll be sure to tell avianflu
15:13:11  <mmalecki>going to the conference
15:13:18  <mmalecki>thanks guys
15:13:18  * dapquit (Quit: Leaving.)
15:19:45  * mmaleckiquit (Ping timeout: 248 seconds)
15:25:14  * xaqquit (Ping timeout: 268 seconds)
15:37:46  * mikealjoined
15:47:10  * travis-cijoined
15:47:10  <travis-ci>[travis-ci] joyent/libuv#732 (v0.8 - b877db9 : Charlie McConnell): The build is still failing.
15:47:10  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/9a4838110d5b...b877db93cec5
15:47:10  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2522771
15:47:10  * travis-cipart
15:48:58  * mikealquit (Quit: Leaving.)
15:49:24  * mikealjoined
15:50:32  * `3rdEdenquit (Remote host closed the connection)
15:51:21  * mikealquit (Client Quit)
15:51:48  * AvianFlujoined
15:56:15  <isaacs>indutny: did bnoordhuis land the thing you were asking me about?
16:00:24  * mmaleckijoined
16:04:16  * kuebkquit (Quit: Leaving.)
16:05:30  * stagasjoined
16:07:34  * stephankjoined
16:10:24  * mikealjoined
16:11:22  <isaacs>indutny: oh, no, that was a function adding.
16:11:26  <isaacs>indutny: we cant' do that in 0.8.
16:15:48  * mmaleckiquit (Ping timeout: 268 seconds)
16:19:02  * TheJHjoined
16:25:12  * paddybyersquit (Quit: paddybyers)
16:26:42  <piscisaureus_>tls-connect benchmark, unmodified
16:26:49  <piscisaureus_>10000 connections in 46.014 s <-- 0.8 without openssl-asm
16:27:01  <piscisaureus_>10000 connections in 23.362 s <-- with openssl-asm
16:27:03  <piscisaureus_>yay
16:27:33  <isaacs>piscisaureus_: looking nice
16:27:44  <isaacs>anyone wanna review? https://github.com/joyent/node/pull/4045
16:28:02  <CIA-131>node: Bert Belder openssl-asm * r4634126 / (4 files in 3 dirs): openssl: use optimized asm code on x86 and x64 (+7 more commits...) - http://git.io/zL9CHw
16:28:07  <piscisaureus_>nobody understands domains :-)
16:28:08  * TheJHquit (Ping timeout: 268 seconds)
16:28:17  <isaacs>all the more reason to review patches!
16:29:08  <piscisaureus_>isaacs: oh btw I have to add, that was the x32 build. x64 is less spectacular
16:31:58  <isaacs>sure
16:36:36  <piscisaureus_>isaacs: why don't you just use `var PROCESS = process` ?
16:36:52  <isaacs>piscisaureus_: because it's not set when events.js is first loaded
16:36:55  <piscisaureus_>isaacs: and just out of curiosity, why is the active domain stored on the process object (and not as a global)
16:37:04  <isaacs>because globals are slow.
16:37:13  <isaacs>(same reason why i don't just use `this === process`
16:37:15  <piscisaureus_>really?
16:37:31  <isaacs>reduces http_simple benchmark measureably, yeah.
16:37:44  <isaacs>i mean, if it's only accessed a few times, it doesn't matter.
16:37:48  <isaacs>but this is very hot path
16:38:38  <isaacs>it might be different in master.
16:38:42  <isaacs>now that v8 is newer
16:45:34  * kristatejoined
16:46:51  <indutny>isaacs: bad
16:46:55  <indutny>ircretary: may be 0.9 then?
16:46:55  <ircretary>indutny: I'm not sure what to do with that command. Ask for help in PM.
16:47:02  <indutny>isaacs: may be 0.9 then?
16:47:17  <isaacs>indutny: we can add api in 0.9 if it's good api :)
16:47:28  <indutny>isaacs: it's not a js api
16:47:31  <isaacs>indutny: what's the function you want to add?
16:47:33  <indutny>isaacs: and not exposed directly to users
16:47:35  <indutny>isaacs: uv_wait()
16:49:39  <tjfontaine>well addons may depend on it, but they could say in package.json >= 0.8.10
16:50:08  <indutny>tjfontaine: that's what I think too
16:50:11  <indutny>it's not a big deal
16:50:17  <indutny>but
16:50:33  <indutny>probably it's a good think to help users move to 0.10.0
16:51:04  * paddybyersjoined
17:01:02  * `3rdEdenjoined
17:03:52  <piscisaureus>isaacs: alright, lgtmm
17:04:54  <isaacs>indutny: yeah, we can't put that in 0.8
17:04:57  <isaacs>that's an api addition.
17:05:27  <isaacs>plus, if we get too lazy aobut lumping features into stable, we'll enver be motivated to finish 0.10 :)
17:05:42  <isaacs>and no users will be motivated to upgrade to it
17:05:51  <creationix>why don't we allow API additions? To me it's the same as bugfixes from a dependency point of view
17:05:54  * `3rdEdenquit (Ping timeout: 264 seconds)
17:05:55  <piscisaureus>bnoordhuis, isaacs: can you review the openssl-asm branch?
17:05:58  <creationix>the bug is my feature was missing/broken
17:06:01  <creationix>;)
17:06:35  <piscisaureus>ircretary: tell bnoordhuis review the openssl-asm branch. It is slated for 0.8
17:06:35  <ircretary>piscisaureus: I'll be sure to tell bnoordhuis
17:06:43  <creationix>anyway, agreed on motivation to finish 0.10 and get people to upgrade
17:06:52  <isaacs>creationix: there have been a few exceptions
17:07:00  <isaacs>creationix: ie, require('sys') throws. bug or feature?
17:07:06  <isaacs>api change?
17:07:30  <creationix>so API mistakes can be fixes as bugfixes
17:07:34  <creationix>but new ideas are additions
17:07:36  <isaacs>but the exceptions should be exceptional
17:07:52  <isaacs>not just "but i really wannnnttttt iiiiittttt tho!!"
17:08:09  <isaacs>:)
17:08:57  <creationix>"exceptions should be exceptional" , I've been preaching that for years. Programmers seem to focus too much on edge cases and forget that.
17:10:14  <creationix>anyway, I'm fine with waiting till 0.10 to have GUI apps working properly with stock node
17:10:20  <creationix>I can bundle my own node if I really care
17:15:06  <isaacs>creationix: well, tracing the edges is often the best way to get a handle on the shape of the program.
17:15:10  <isaacs>s/program/problem/
17:15:25  <isaacs>to write node-tar, i basically just handled the edge cases, and the rest was pretty easy.
17:24:14  * TooTallNatejoined
17:25:53  <CIA-131>node: isaacs v0.8 * r0400571 / (3 files in 2 dirs): domain: Properly exit() on domain disposal - http://git.io/6y0pUg
17:27:49  <isaacs>piscisaureus: does the openssl-asm include the slab allocator/etc that mmalecki had landed in his fork?
17:28:13  <isaacs>oh, i guess, yeah... it's the slab allocator and the asm bits
17:29:13  <isaacs>so the slab allocator is the only bit that's missing.
17:31:58  * `3rdEdenjoined
17:32:43  * V1joined
17:32:46  * `3rdEdenquit (Read error: Connection reset by peer)
17:34:53  * V1changed nick to `3rdEden
17:44:19  <creationix>isaacs, btw, you explained the semver thread on the mailing list much better than I was able to
17:44:34  <creationix>I guess owning npm gives you a unique perspective on packages and versining
17:47:04  * AvianFluquit (Quit: AvianFlu)
17:47:27  * AvianFlujoined
17:52:21  <isaacs>creationix: yeah, it's been a huge part of my life for the last 3 years or so.
17:52:23  <isaacs>:)
17:52:40  <isaacs>also, i was having all these debates back in teh commonjs days
17:53:25  <isaacs>mostly, i just want to forestall any holy wars by pointing out that it's really just a way to communicate with one another, so you can just be kind of anarchic and liberal about it.
17:55:38  <creationix>yeah, that's what I tried to explain
17:55:45  <creationix>but I guess I'm not so good at promoting anarchy
17:57:38  * piscisaureusquit (Quit: Lost terminal)
18:05:39  * joshthecoderjoined
18:14:48  <isaacs>creationix: it's the LG alignment that you wear on your sleeve :)
18:15:05  <creationix>LG?
18:15:14  <isaacs>DnD reference
18:15:31  <creationix>aww man, can't believe I don't get it. i guess I didn't play enough DnD
18:15:57  <creationix>ahh, lawful good
18:15:59  <creationix>:)
18:17:32  * brsonjoined
18:24:42  * isaacsis more like CG
18:24:48  <isaacs>or sometimes TN
18:27:14  * dapjoined
18:27:49  * `3rdEdenquit (Remote host closed the connection)
18:29:50  * TheJHjoined
18:32:09  <creationix>I always enjoyed playing with CG characters. They are fun, but not conscience searing.
18:43:47  <isaacs>in practice, i am actually TN
18:43:56  <isaacs>all dogmas are problematic, even the dogma of no-dogma
18:53:46  * mikealquit (Quit: Leaving.)
18:58:11  * `3rdEdenjoined
19:00:03  * xaqjoined
19:06:30  * `3rdEdenquit (Ping timeout: 264 seconds)
19:07:09  * Guest27061joined
19:08:54  * xaqquit (Remote host closed the connection)
19:09:21  * Guest27061quit (Read error: Connection reset by peer)
19:15:13  <creationix>alright, so childProcess's "close" event always fires after "exit" in 0.8.x?
19:16:20  <creationix>also in 0.6.x I'm seeing cp.stdin's "close" emit after cp's "exit" event
19:16:41  <creationix>is that known behavior or am I crazy?
19:22:31  * stagasquit (Read error: Connection reset by peer)
19:24:02  * mikealjoined
19:31:37  * kristatequit (Ping timeout: 246 seconds)
19:33:37  * c4miloquit (Remote host closed the connection)
19:34:15  * mikealquit (Ping timeout: 240 seconds)
19:37:07  * TheJHquit (Ping timeout: 246 seconds)
19:45:37  <CoverSlide>is it common to have all your ASM code in perl files? or is OpenSSL just crazy like that?
19:47:53  <piscisaureus_>creationix: re close/exit: that might be true
19:48:03  <piscisaureus_>creationix: however there will be no more data events after exit in 0.6
19:49:27  <piscisaureus_>CoverSlide: it's not that crazy. There are many different asm formats and platforms to care about. These perl file can generate all teh variants
19:50:14  <CoverSlide>oic
19:52:47  * mikealjoined
19:53:07  * Benviequit (Ping timeout: 240 seconds)
19:56:34  * mikealquit (Client Quit)
20:20:55  * TheJHjoined
20:46:02  <txdv>guess whos back
20:46:55  <txdv>why perl if you can use another batshit crazy language like bash
21:03:37  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
21:07:54  <CoverSlide>well perl would be preferable over bash
21:08:53  <CoverSlide>at least in certain scenarios.
21:13:39  * TooTallNatequit (Ping timeout: 268 seconds)
21:14:54  * TooTallNatejoined
21:15:50  * hzjoined
21:23:31  * TheJHquit (Ping timeout: 268 seconds)
21:25:50  * `3rdEdenjoined
21:26:05  * `3rdEdenquit (Remote host closed the connection)
21:27:59  <isaacs>CoverSlide: it's like coffee-script, but a little bit easier to read.
21:28:08  * hzquit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org)
21:31:45  * AvianFluquit (Quit: AvianFlu)
21:44:42  * TheJHjoined
21:48:29  <isaacs>ircretary: tell piscisaureus openssl-asm seems good to me. running on npmjs.org
21:48:29  <ircretary>isaacs: I'll be sure to tell piscisaureus
21:48:38  <isaacs>ircretary: i'm gonna have to get a new home for you.
21:48:38  <ircretary>isaacs: I'm not sure what to do with that command. Ask for help in PM.
22:01:13  * TheJHquit (Read error: Operation timed out)
22:02:04  <TooTallNate>isaacs: where is it running?
22:02:15  <TooTallNate>could you put it on one of the "drones"?
22:06:46  <isaacs>TooTallNate: you should be able to ssh into npmjs.org
22:06:55  <isaacs>TooTallNate: it's running on the NodeCore account
22:07:05  <isaacs>TooTallNate: ssh in as "node" or as "root"
22:07:06  <TooTallNate>isaacs: ircretary i mean
22:07:12  <isaacs>TooTallNate: oh, hahah
22:07:14  <TooTallNate>:p
22:07:17  <isaacs>TooTallNate: she's on no.de somewhere
22:07:29  <TooTallNate>ya, haha, that's what I was guessing
22:22:48  * rendarquit
22:25:07  <isaacs>in theory, i might be able to just provision one of those nodejs git push style zones, and put her there.
22:26:37  * ircretaryquit (Remote host closed the connection)
22:27:19  * ircretaryjoined
22:27:28  <isaacs>ircretary: how you feeling?
22:27:28  <ircretary>isaacs: I'm not sure what to do with that command. Ask for help in PM.
22:27:43  <isaacs>alright, she's up on a proper smartmachine
22:31:02  * ircretaryquit (Remote host closed the connection)
22:31:09  * ircretaryjoined
22:31:16  <isaacs>ircretary: notes
22:31:16  <ircretary>isaacs: I don't have any notes for you.
22:31:19  <isaacs>hmm...
22:31:29  <isaacs>ircretary: watch
22:32:22  * ircretaryquit (Remote host closed the connection)
22:33:25  * ircretaryjoined
22:34:07  <isaacs>ok, now she's back, memory restored
22:35:48  <isaacs>oh, wow, i haven't checked my notes for about 2 weeks.
22:37:37  <isaacs>ok, i've got a nail in teh coffin at this point. the hangs on npmjs.org are clearly my fault.
22:37:47  <isaacs>res.end() is apparently not getting called sometimes.
22:37:56  <isaacs>now i just need to figure out how that can happen.
22:39:39  * mmaleckijoined
22:52:29  <txdv>or just drink some beer!
22:53:14  <CoverSlide>the question is how to serve beer to the end user
22:55:40  * mmaleckiquit (Ping timeout: 246 seconds)
22:55:47  * mmalecki_joined
22:59:04  * mmaleckijoined
23:00:30  * mmalecki_quit (Ping timeout: 264 seconds)
23:04:10  * mjr_joined
23:09:22  * piscisaureus_joined
23:17:00  * EhevuTovjoined