00:26:24  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
00:33:43  * tjfontainequit (Quit: leaving)
00:35:55  * tjfontainejoined
01:24:41  * mmaleckichanged nick to mmalecki[zzz]
01:30:49  * lohkeyjoined
01:47:14  * brsonquit (Remote host closed the connection)
01:52:13  * abraxasjoined
01:57:09  * joeandaverdequit (Ping timeout: 268 seconds)
01:58:37  * bnoordhuisquit (Ping timeout: 256 seconds)
02:13:28  * mikealjoined
02:17:54  * mikealquit (Client Quit)
02:29:32  * AvianFluquit (Quit: AvianFlu)
02:34:19  * AvianFlujoined
02:39:55  * TooTallNatequit (Quit: Computer has gone to sleep.)
02:52:23  * EhevuTovjoined
02:52:41  * brsonjoined
03:09:39  * lohkeyquit (Quit: lohkey)
03:16:09  * avalanche123|hquit (Quit: Computer has gone to sleep.)
05:03:35  * mikealjoined
05:21:55  * avalanche123|hjoined
05:44:33  * avalanche123|hquit (Quit: Computer has gone to sleep.)
05:58:04  * mikealquit (Quit: Leaving.)
06:16:23  * brsonquit (Ping timeout: 256 seconds)
06:17:26  * brsonjoined
06:18:58  * mikealjoined
06:25:10  <indutny>bonjour
06:48:43  * mikealquit (Quit: Leaving.)
06:52:22  * rendarjoined
06:52:42  * brsonquit (Remote host closed the connection)
07:07:23  * AvianFluquit (Quit: AvianFlu)
08:02:14  * EhevuTovquit (Quit: This computer has gone to sleep)
08:03:11  * EhevuTovjoined
08:03:31  * EhevuTovquit (Remote host closed the connection)
08:11:31  * stagasjoined
08:23:46  * piscisaureus_joined
08:39:45  <indutny>piscisaureus_: hey man
08:39:53  <piscisaureus_>hey indutny
08:39:59  <indutny>piscisaureus_: I was looking at your openssl stuff that has landed in node's master
08:40:04  <indutny>performance is very bad so far
08:40:12  <indutny>much worse than it was before your patches
08:40:19  <piscisaureus_>blame openssl :-)
08:40:22  <indutny>ok
08:40:23  <piscisaureus_>I just upgraded it
08:40:28  <indutny>:)
08:40:31  <indutny>btw
08:40:38  <indutny>I was able to get 1100 req/sec on 3 cores with tlsnappy
08:40:58  <indutny>the only thing left is fixing ring buffers
08:41:00  <piscisaureus_>indutny: is it worse compared to current v0.8 branch, or compared to v0.8.9
08:41:17  <indutny>piscisaureus_: it's worse compared to both
08:41:28  <indutny>I got 800-900 req/sec on previous 0.8
08:41:35  <indutny>and 500 req/sec with your patch
08:41:57  * V1joined
08:42:12  <piscisaureus_>indutny: does your code do mostly handshakes or does it also transport a lot of data?
08:42:22  <piscisaureus_>indutny: also, does it use the same cipher suites?
08:42:22  <indutny>it's doing mostly handshakes
08:42:34  <indutny>same as where?
08:42:42  <indutny>well, it's always using the same suite I suppose
08:42:46  <piscisaureus_>same on master as on 0.8
08:42:50  <indutny>ooooh
08:42:52  <indutny>hm....
08:42:57  <indutny>I hadn't checked this really
08:43:01  <indutny>but I suppose yes
08:43:07  <indutny>since I'm creating my own contexts
08:43:19  <indutny>I'm not using any stuff from node_crypto.cc at all
08:43:30  <piscisaureus_>well, what ciphers are you specifying?
08:43:43  <piscisaureus_>if you don't, then openssl uses it's default
08:43:44  <indutny>none at all
08:43:46  <indutny>yes
08:43:47  <piscisaureus_>it might as well have changed
08:43:48  <indutny>default ones
08:43:51  <indutny>ok
08:44:03  * V1changed nick to `3rdEden
08:44:03  <indutny>I'll check this later today
08:44:09  <indutny>doing some wierd CFG stuff atm
08:44:21  * mmalecki[zzz]changed nick to mmalecki
08:44:31  <piscisaureus_>indutny: we should also try to get asm enabled for openssl 1.0.1c
08:44:41  <piscisaureus_>after that I'm ready to dig deeper
08:44:59  <indutny>ok
08:45:13  <indutny>btw, have you managed to get tlsnappy running on windows?
08:51:35  <piscisaureus_>indutny: didn't really get there
08:51:42  <piscisaureus_>since it would not link
08:51:42  <indutny>ok
08:51:47  <indutny>huh
08:51:48  <indutny>why?
08:51:54  <indutny>because of openssl stuff?
08:51:58  <piscisaureus_>indutny: well because you need openssl.lib
08:52:00  <piscisaureus_>yes
08:52:01  <indutny>ok
08:52:21  <piscisaureus_>indutny: it may be worth trying to disable tls 1.2
08:52:37  <indutny>well, I need to figure out Ring issues first
08:52:46  <indutny>it's accessing some bad memory sometimes
08:52:47  <piscisaureus_>indutny: yeah
08:53:00  <piscisaureus_>indutny: so "master" isn't really ready for primetime yet
08:53:02  <indutny>but performance is already surprisingly good
08:53:05  <indutny>piscisaureus_: ok
08:53:12  <piscisaureus_>indutny: yeah, that's cool
08:53:50  <piscisaureus_>indutny: so you're at 1100 r/s... how much does the builtin node do?
09:01:14  <indutny>900
09:01:23  <indutny>something like that
09:01:45  <indutny>but I'm doing a lot of mutexes lock/unlock
09:02:04  <indutny>and there a lot of preemption
09:02:18  <indutny>which I can eliminate by using lock-less ring
09:02:35  <indutny>though most of the time is spent in openssl
09:07:48  <piscisaureus_>yah
09:07:51  <piscisaureus_>cool
09:08:30  <piscisaureus_>indutny: in the long time you should aim for using somewhat realistic response sizes
09:08:41  <piscisaureus_>instead of "hello w..."
09:09:19  <piscisaureus_>indutny: since the bulk cipher is pretty expensive too, and there's room to improve in that area as well
09:12:56  <indutny>well
09:13:02  <indutny>that's what I can't do in tlsnappy
09:13:47  <indutny>piscisaureus_: though, I have another benchmark that I hadn't commited to master yet
09:41:54  * bentkusquit (Ping timeout: 240 seconds)
09:43:04  * bentkusjoined
10:36:10  * bentkusquit (Read error: Connection reset by peer)
10:36:32  * bentkusjoined
11:07:09  * mmaleckiquit (Ping timeout: 260 seconds)
11:18:07  * piscisaureus_quit (Ping timeout: 245 seconds)
11:25:45  * bnoordhuisjoined
11:55:47  * piscisaureus_joined
11:56:59  * piscisaureus_topic: liberal utopian vacation ~ http://piscisaureus.no.de/libuv ~ http://groups.google.com/group/libuv
12:02:35  * piscisaureus2joined
12:03:41  <piscisaureus2>hello
12:08:28  <bnoordhuis>piscisaureus2: sup bertje
12:08:38  <piscisaureus2>sub bnoordhuis
12:08:54  <bnoordhuis>i'm more of a dom, really
12:09:11  <bnoordhuis>what are you working on, bertje?
12:09:24  <piscisaureus2>bnoordhuis: today? secret project
12:09:38  <piscisaureus2>bnoordhuis: you think I should be working on something else?
12:09:45  <piscisaureus2>btw it is cool and related to libuv
12:09:50  <bnoordhuis>no, just curious
12:10:09  <piscisaureus2>I suppose i should go do some node/libuv stuff
12:10:26  * piscisaureus_changed nick to piscisaureus
12:10:36  <piscisaureus>bnoordhuis: what are you working on btw?
12:10:45  <piscisaureus>while we're at it
12:10:52  <bnoordhuis>yeah, i'm not sure
12:10:56  <bnoordhuis>i guess i'll go fix some bugs
12:11:04  <bnoordhuis>working through my github notifications mails right now
12:11:14  <bnoordhuis>s/mails/mail/
12:12:04  <piscisaureus>bnoordhuis: maybe you can do https://github.com/joyent/libuv/issues/494
12:12:15  <piscisaureus>I can do the windows part as always
12:12:41  <bnoordhuis>well, i don't have a mac
12:13:01  <piscisaureus>can you not get one from your employer?
12:13:32  <bnoordhuis>probably. but everyone there uses macs and i like being different
12:13:49  <piscisaureus>https://github.com/joyent/node/issues/4051
12:13:49  * kristatequit (Ping timeout: 246 seconds)
12:14:11  <bnoordhuis>good one, i was actually working on that last week
12:14:20  <piscisaureus>the unix part
12:14:23  <bentkus>
12:14:25  <bentkus>
12:14:25  <bentkus>l
12:14:26  <piscisaureus>I can work on the windows stuff right now
12:14:27  <bentkus>o sry
12:14:32  <piscisaureus>bentkus ?
12:14:33  <bentkus>what do you use, bnoordhuis ?
12:14:45  <bnoordhuis>bentkus: linux, mostly. sometimes freebsd
12:15:09  <bnoordhuis>on run-of-the-mill hardware
12:17:44  <bentkus>so you are different by being mainstream
12:19:30  <indutny>bnoordhuis: you know, I like linux
12:19:42  <indutny>bnoordhuis: but it doesn't really work well on notebooks, IMHO
12:19:49  <indutny>bentkus: I've used it for a couple of years
12:19:52  <indutny>bnoordhuis: ^
12:20:05  <indutny>and moving to mac was like a breath of fresh air
12:20:08  * hnakamurpart ("Leaving...")
12:20:09  <bnoordhuis>indutny: works well enough for me
12:20:20  <indutny>especially unibody :D
12:20:37  <indutny>I broke 2 notebooks by dropping them on the floor
12:20:43  <bnoordhuis>so don't do that
12:20:44  <indutny>and
12:20:46  <indutny>one more thing
12:21:00  <indutny>display on regular notebooks is awful
12:21:08  <indutny>I tried several and they all hurt my eyes
12:21:22  <indutny>can't read code more than a couple of hours on non-mac
12:21:36  <bnoordhuis>maybe you need a new pair of glasses? :-)
12:22:07  <indutny>no, I don't
12:22:08  <indutny>:)
12:22:52  <piscisaureus>linux actually runs fine on a mac
12:23:04  <indutny>piscisaureus: yeah, but... it's something that I do not want to try
12:23:06  <piscisaureus>but not immediately when a new version is released
12:23:27  * TheJHjoined
12:23:28  <piscisaureus>and you have to figure out how EFI works but it's not that hard actually
12:23:29  <indutny>and I like some BSD stuff
12:26:09  <indutny>like kqueue
12:26:10  <indutny>piscisaureus: ^^
12:26:19  <indutny>I know you love it too :)
12:26:35  <piscisaureus>zomg
12:26:52  <indutny>ain't you?
12:30:53  <bnoordhuis>actually, i think the linux 'everything is a file descriptor that you can poll' is conceptually a better model
12:31:13  <bnoordhuis>disregarding details like that not all file descriptors are pollable
12:34:28  <indutny>bnoordhuis: well, kqueue should work like that too
12:34:59  <indutny>bnoordhuis: it's just kernel developers that think they can skip some not important implementations
12:37:14  * stagasquit (Quit: ChatZilla 0.9.89-rdmsoft [XULRunner])
12:37:24  <bnoordhuis>indutny: no, i mean that kqueue tries to squeeze different object types into a single api, e.g. file descriptors, processes, timers, aio, etc.
12:37:48  <bnoordhuis>on linux, you have timerfd() and put that in a poll set
12:38:29  <indutny>ahh
12:38:36  <indutny>well, what about signals?
12:38:42  <indutny>can you map signals to fd?
12:38:56  <indutny>but yeah, fd concept is good
12:39:20  <bnoordhuis>yes, signalfd()
12:39:30  <bnoordhuis>for the record, i don't think the *implementation* in linux is quite there yet
12:39:38  <bnoordhuis>but the concept is sound
12:39:47  <indutny>bnoordhuis: agreed
12:48:48  <indutny>unify all the things
12:55:05  <bentkus>an integer to rule them all
13:13:01  * Benviejoined
13:15:03  <piscisaureus>bnoordhuis: if we put openssl stuff in the node binary we'll also have to install "our" openssl headers right?
13:15:45  <bnoordhuis>piscisaureus: yes
13:15:51  <bnoordhuis>but node-gyp should take care of that
13:16:04  <piscisaureus>annoying
13:16:06  <piscisaureus>:-)
13:16:25  <piscisaureus>I replaced all the symlinks in openssl/include with shims
13:16:34  <piscisaureus>so we can't just copy it all
13:16:41  <bnoordhuis>so i noticed
13:16:48  <bnoordhuis>no biggy, i think
13:16:54  * AvianFlujoined
13:17:00  <piscisaureus>there's no other way I am afraid
13:17:24  <bnoordhuis>we'll let nathan figure it out :)
13:17:31  * bnoordhuisloves delegating
13:21:33  <bnoordhuis>http://www.youtube.com/watch?v=xY-oili63QQ <- rock the way it's meant to be played
13:24:38  <indutny>Yankovic
13:24:44  <indutny>Because I'm fat fat fat
13:25:24  <piscisaureus>re-exporting openssl on windows is difficult
13:25:32  <piscisaureus>why does it have to be?
13:25:41  <piscisaureus>v8, libuv, cares -> easy
13:32:27  * mmaleckijoined
13:36:40  * abraxasquit (Remote host closed the connection)
13:44:47  * stagasjoined
14:02:35  <bnoordhuis>piscisaureus: what's the weather like in 020? it's pretty stormy here
14:02:38  <piscisaureus>mslink is not really helpful debugging why stuff doesn't get exported
14:02:43  <piscisaureus>wisselvallig
14:02:52  <piscisaureus>we had a big rainshower and hour ago
14:02:57  <piscisaureus>then a couple of minutes sun
14:03:22  <piscisaureus>and now the wind is increasing
14:03:26  <piscisaureus>so, everything really
14:03:28  <bnoordhuis>yeah, same here
14:03:36  <bnoordhuis>strange thing is it's pretty warm
14:03:48  <piscisaureus>yeah
14:03:56  <piscisaureus>big thunderstorms coming
14:04:15  <indutny>nice
14:04:17  * bnoordhuishides in cellar
14:04:18  <indutny>same weather in moscow
14:04:27  <indutny>well, almost :)
14:04:29  <bnoordhuis>you're in moscow now?
14:04:33  <indutny>yeah
14:04:34  <piscisaureus>bnoordhuis: you only have a cellar right>?
14:04:54  <bnoordhuis>piscisaureus: and the box the washing machine was shipped in
14:04:55  <indutny>bnoordhuis: I will be in omsk in october for one week, I think
14:05:10  <piscisaureus>ah
14:05:13  <indutny>but need to catch up with mraleph first ;)
14:05:25  <indutny>mraleph: btw, when are you arriving to Moscow?
14:05:42  <piscisaureus>dumpbin /exports release\node.exe
14:05:55  <bnoordhuis>piscisaureus: btw, what was the deal with indutny's uv_wait PR again?
14:06:00  * stagasquit (Quit: ChatZilla 0.9.89-rdmsoft [XULRunner])
14:06:09  <piscisaureus>bnoordhuis: well, nothing
14:06:25  <piscisaureus>bnoordhuis: i didn't want to land his "old" pr which had uv_embed and stuff
14:06:41  <piscisaureus>but he removed that
14:06:46  <bnoordhuis>ah okay
14:06:48  <indutny>bnoordhuis: I'll fix nits you've found later today
14:06:50  <indutny>bnoordhuis: okay?
14:06:51  <piscisaureus>bnoordhuis: I was just confused because the tests were still using uv_embed
14:06:56  <piscisaureus>but those were parts of the tests
14:07:13  <bnoordhuis>https://github.com/elodin/following <- i'm in good company
14:07:24  <indutny>oh man
14:07:48  <bnoordhuis>indutny: i haven't reviewed it fully, piscisaureus said "something something not going in as-is something something"
14:09:40  <bentkus>hats up with marnix?
14:10:03  <bnoordhuis>marnix likes hats, it's true
14:10:36  <bentkus>go work on faio
14:12:47  <piscisaureus>bnoordhuis: http://screencast.com/t/qBT9TLT6Rb <-- it's a matter of who you consider "good company" i suppose
14:13:35  <bnoordhuis>piscisaureus: don't you have anything useful to do? :-)
14:15:33  <indutny>piscisaureus: ++
14:15:37  <indutny>piscisaureus: photoshop monster
14:15:53  <piscisaureus>haha
14:15:57  <piscisaureus>firebug, really
14:16:12  <indutny>oh, that's sad
14:16:20  <indutny>I understand that photoshop cost too much
14:16:24  <indutny>no worries
14:16:45  <indutny>crap, I'm on a wrong wave today
14:16:48  <indutny>brb
14:17:04  <bnoordhuis>indutny: no worries, in bert's case it's true
14:18:05  <bnoordhuis>indutny: when you have the time, google for 'melkertbaan'
14:18:57  <piscisaureus>indutny: after that google for "elektronisch huisarrest|
14:20:13  <indutny>piscisaureus: I'm really sorry
14:20:20  <indutny>bnoordhuis: does it apply to bertje?
14:21:01  <bnoordhuis>indutny: no more, unfortunately, the tax rebate's been discontinued
14:21:26  <piscisaureus>yeah
14:21:49  <piscisaureus>they also realized that bnoordhuis would lose his job if they continued to subsidize smart people like me
14:22:13  <piscisaureus>I mean, bnoordhuis is't that good but atleast he's cheap
14:22:25  <bnoordhuis>"smart"... and war is peace, right?
14:23:02  <indutny>bnoordhuis: piscisaureus: so you were one of those guys who assembled first iphone's backplates, right?
14:23:02  <piscisaureus>but that advantage has no meaning when Smart People Like Us get government sponsoring
14:23:33  <piscisaureus>I though they did that in "re-education camps" in siberia?
14:23:45  <bnoordhuis>oh, snap!
14:23:47  <piscisaureus>Isn't there a gate about msk?
14:23:51  <piscisaureus>er
14:23:57  <piscisaureus>*around omsk
14:26:54  <indutny>piscisaureus: so you're going to move closer to me now?
14:27:01  <indutny>piscisaureus: I can help you with renting room in siberia
14:27:19  <piscisaureus>indutny: it depends
14:27:32  <piscisaureus>I was thinking about living in the Kremlin
14:27:38  <piscisaureus>seems nice in the summer
14:27:46  <`3rdEden>piscisaureus: something totally unrelated, when are you flying to lisbon?
14:28:02  <piscisaureus>`3rdEden: thursday
14:28:11  <piscisaureus>`3rdEden: arriving at 13:45
14:28:36  <`3rdEden>piscisaureus: oh, i'm arriving at 13:45
14:28:41  <`3rdEden>on the same day
14:28:56  <indutny>piscisaureus: har har har
14:29:41  <piscisaureus>`3rdEden: I am not staying in the "recommended hotel" but I suppose we can go out for beers later that day
14:29:56  <`3rdEden>piscisaureus: sounds good
14:29:58  <piscisaureus>`3rdEden: I think mraleph and mmalecki are also arriving in the early afternoon
14:30:36  <`3rdEden>piscisaureus: great
14:36:33  * mikealjoined
14:36:40  <piscisaureus>stupid fucking openssl
14:36:41  <piscisaureus>:-(
14:36:44  <piscisaureus>:-(
14:36:51  * piscisaureus2quit (Quit: Lost terminal)
14:43:49  * mikealquit (Quit: Leaving.)
14:44:03  <indutny>piscisaureus: I understand you
14:44:09  * indutnyfeels empathy
14:44:19  <indutny>probably I can help you with assembly stuff
14:44:20  <piscisaureus>I feel anger
14:44:30  <piscisaureus>no that's not what this is about
14:44:32  <indutny>can you describe what you're seeing in details
14:44:51  <piscisaureus>I am trying to node.exe export openssl functions
14:45:15  <indutny>oh
14:45:15  <piscisaureus>s/to/to make/
14:45:16  <indutny>that
14:45:34  <piscisaureus>this is super easy with almost any other library
14:48:19  <indutny>why not with openssl?
14:48:52  <piscisaureus>well, ususally libraries have h
14:49:09  <piscisaureus>... have headers, that say "dllexport" or "dllimport" or nothing
14:49:40  <piscisaureus>and you make that define-able
14:49:46  <piscisaureus>like this: https://github.com/joyent/libuv/blob/46bd5fb3924cc754f99c21244380d12faff41549/include/uv.h#L777
14:49:50  <piscisaureus>but not openssl
14:50:08  <piscisaureus>apparently it never uses dllimport at all (which works, but it's slow)
14:50:43  <indutny>aha
14:50:44  <piscisaureus>and it is very unclear how dllexport tags are set
14:51:17  <piscisaureus>I wonder if it does some crazy hackery with .def files and the like
14:51:46  <piscisaureus>knowing openssl most likely they picked the most complicated solution they could come up with for the problem at hand
14:52:54  <piscisaureus>und jawohl
14:53:00  <piscisaureus>util/mk1mf.pl
15:08:43  <bnoordhuis>piscisaureus: i have the solution (probably)
15:08:51  <bnoordhuis>remember that symbol hack i mentioned a while ago?
15:08:53  <piscisaureus>tell me
15:11:54  <piscisaureus>bnoordhuis: well, does that work on windows?
15:12:39  <bnoordhuis>piscisaureus: yes, it should
15:12:47  <bnoordhuis>it works for httpd
15:13:25  <piscisaureus>it would me nice if we could have a list of stuff that we want in there
15:13:35  <piscisaureus>I mean, we disable GOST and HW_PADLOCK
15:13:44  <piscisaureus>I have no clue what that is for
15:14:20  <piscisaureus>other than that, we compile with a shotgun and rely on the linker to remove functions that are unused
15:14:40  <piscisaureus>but I suppose it'd be nice to not pollute the node binary with too much unnecessary crap
15:16:22  <tjfontaine>could make an exception for openssl and actually ship it as a shared library
15:17:42  <indutny>piscisaureus: GOST is a russian stuff
15:18:00  <indutny>s/stuff/crap
15:18:08  <indutny>http://en.wikipedia.org/wiki/GOST
15:28:35  <piscisaureus>https://gist.github.com/3776520
15:28:41  <piscisaureus>^-- now tell me what we want to export
15:28:43  * piscisaureussighs
15:31:23  <mmalecki>that looks like a terrible API to me
15:44:11  <piscisaureus>Now take a look at what apache ships (nominally with openssl 1.0.1c just like node)
15:44:14  <piscisaureus>https://gist.github.com/8dbf2e8b6e2850255a2d
15:46:03  <piscisaureus>I think we should disable STORE
15:48:25  * bnoordhuisis off to dinner
15:53:33  * mikealjoined
16:00:05  * dapjoined
16:00:25  * mikealquit (Quit: Leaving.)
16:07:08  * mikealjoined
16:51:52  * mikealquit (Quit: Leaving.)
17:01:54  * TooTallNatejoined
17:04:35  * indexzerojoined
17:10:38  <isaacs>good day
17:10:59  <isaacs>you guys all partying in portugal?
17:11:47  <piscisaureus>thursday isaacs
17:12:34  <isaacs>ohh, ok
17:12:50  <isaacs>piscisaureus: bmc says 3.13 in master is fine.
17:12:58  <isaacs>piscisaureus: but V8 bleeding edge is super duper bloody.
17:13:22  <piscisaureus>isaacs: oh, I didn't get his patch to work with v8 master
17:13:25  <piscisaureus>trunk, rater
17:13:29  <isaacs>yeah
17:13:29  <piscisaureus>*rather
17:13:41  <isaacs>he said that patch is fine in 3.13, but in bleeding edge it's not even anywhere near workable.
17:13:57  <piscisaureus>yes
17:14:17  <piscisaureus>isaacs: so, what i said. let's wait until the dust settles
17:14:20  <isaacs>yep.
17:40:42  * Raltjoined
17:48:35  <TooTallNate>isaacs: are we doing 0.8.10 today?
17:50:01  * ircretaryquit (Remote host closed the connection)
17:50:20  * ircretaryjoined
17:50:49  <isaacs>TooTallNate: tomorrow
17:50:52  <isaacs>but i'm about to start it
17:50:53  <isaacs>yes
17:51:13  <TooTallNate>kewl
18:05:47  * dscapejoined
18:10:59  * Raltquit (Quit: Leaving.)
18:12:05  * Raltjoined
18:12:40  <isaacs>new rule: In talks, always put "data" in air-quotes.
18:12:53  <isaacs>people will go crazy trying to figure out what we're talking about.
18:13:31  <piscisaureus>yeah
18:14:11  <isaacs>Node.js is a great platform for moving "data" from one system to another. People produce a lot of "data" on a daily basis, and they need to "process" it
18:14:35  <isaacs>i think that's up there with "clown computing"
18:15:10  <bentkus>node.js is soooo awesome, but too bad that it got so mainstream
18:16:18  <piscisaureus>especially when you say stuff like this
18:16:18  <piscisaureus>I would never let bnoordhuis access my "data". When I was young the pastor showed me his "data" when I was young, and I didn't like it.
18:16:35  <tjfontaine>that escalated quickly
18:17:25  <dap>elijah: LAT is already much lower now, though still non-zero
18:18:39  <isaacs>hahahah
18:19:21  <isaacs>In college, I used to get my "data" from the "database" at my school. But it was corrupted. It wasn't until I'd corrupted the "data" of my entire dorm that we realized the problem.
18:21:18  <mraleph>indutny: I arrive to moscow Oct 16th
18:23:46  * Raltquit (Remote host closed the connection)
18:24:10  * Raltjoined
18:32:40  <TooTallNate>isaacs: review? https://github.com/TooTallNate/node/commit/ec446e0a659bc30991339785daf71b87c6560e7e
18:37:37  * indexzeroquit (Quit: indexzero)
18:38:38  <TooTallNate>^ my first patch to http.js. that file's a mess, haha
18:38:43  <indutny>mraleph: and for how long?
18:38:58  <indutny>mraleph: I think I'll be in Omsk at that time
18:39:14  <mraleph>indutny: for 2 days. very sad.
18:39:23  <indutny>mraleph: oh, sad
18:40:05  * mmalecki_joined
18:40:21  <isaacs>TooTallNate: i'm not sure that's the right fix.
18:40:40  <isaacs>TooTallNate: when you all http.request, you give it a cb, and that should be added as an event listener on the req object, no?
18:40:40  <TooTallNate>isaacs: me either, haha, i'm open to suggestions
18:40:55  <TooTallNate>isaacs: the problem is with the HTTPParser object
18:41:01  <isaacs>TooTallNate: ie, r=http.request(o, cb) should be the same as: r=http.request(o);r.on('response',cb)
18:41:04  <isaacs>right?
18:41:09  <TooTallNate>isaacs: yes
18:41:13  <TooTallNate>that's not the problem
18:41:24  <TooTallNate>it's the "res" object that doesn't get the domain set
18:41:27  <isaacs>ohh, because the response isn't *created* at that time
18:41:28  <isaacs>right
18:41:38  <TooTallNate>the HTTPParser object creates the "res" object
18:41:43  <TooTallNate>in one of its callbacks
18:41:43  <isaacs>so youer' in the domain when the cb gets called, but not when res is created.
18:41:47  <TooTallNate>which aren't bound to a domain
18:41:55  <isaacs>i fucking hate our manual bullshit http parser handling.
18:42:02  <TooTallNate>hahah
18:42:03  <TooTallNate>yup
18:42:06  <isaacs>i cannot express with enough intensity the level of rage it incites in me.
18:42:25  <TooTallNate>turning it into a real event emitter would make the code simpler
18:42:29  <TooTallNate>but might hurt speed
18:42:39  <isaacs>yes.
18:42:44  <isaacs>we need to move the parser into js to do that.
18:42:47  <isaacs>and that's a major undertaking.
18:43:00  * dap1joined
18:43:01  <isaacs>we need to focus on tls and streams first, imo.
18:43:08  <isaacs>i think it'd help sped.
18:43:10  * Raltquit (Remote host closed the connection)
18:43:11  <isaacs>*speed
18:43:12  <isaacs>if we do it right
18:43:23  <TooTallNate>that's why this patch, while it didn't seem "correct" at least fixes it
18:43:31  <TooTallNate>a band-aid
18:43:34  <isaacs>right.
18:43:35  <isaacs>i see that now.
18:43:44  <isaacs>because the parser object isn't temporary
18:45:52  * bnoordhuis_joined
18:46:57  * Raltjoined
18:47:49  <isaacs>TooTallNate: should be: if (req.domain && !res.domain)
18:48:09  <isaacs>TooTallNate: if res.domain is already added to some other domain somehow, then it should respect that
18:48:19  <TooTallNate>ok
18:48:24  <isaacs>otherwise, lgtm
18:48:24  * mmaleckiquit (Quit: Reconnecting)
18:48:24  * bnoordhuisquit (Ping timeout: 245 seconds)
18:48:24  * ircretaryquit (*.net *.split)
18:48:24  * dapquit (*.net *.split)
18:48:28  <isaacs>land at will
18:48:33  <isaacs>in 0.8
18:48:47  <TooTallNate>isaacs: is it in a good spot at least? it seemed like it could go in a number of places
18:48:56  <TooTallNate>but right before the "response" event seemed good to me
18:49:27  * ircretaryjoined
18:49:56  * Raltquit (Remote host closed the connection)
18:50:09  <CIA-131>node: Nathan Rajlich v0.8 * r0f2ed2b / (lib/http.js test/simple/test-http-client-response-domain.js): http: make the client "res" object gets the same domain as "req" - http://git.io/yP34Nw
18:50:09  * brsonjoined
18:50:17  <isaacs>TooTallNate: meh. it's fine.
18:53:29  * mmalecki_changed nick to mmalecki
18:53:35  <TooTallNate>nice :) 2 bug fixes in 1 release
18:53:54  * rendar_joined
18:57:09  * tjfontai1ejoined
18:57:19  <isaacs>TooTallNate++
18:57:38  * rendarquit (Read error: Connection reset by peer)
18:57:39  * piscisaureusquit (Ping timeout: 246 seconds)
18:57:39  * tjfontainequit (Ping timeout: 246 seconds)
18:57:40  * brsonquit (Ping timeout: 246 seconds)
18:57:40  * brsonjoined
18:57:40  * brsonquit (Changing host)
18:57:40  * brsonjoined
18:57:59  * tjfontai1echanged nick to tjfontaine
18:59:49  * piscisaureus_joined
18:59:56  <piscisaureus_>ircretary: notes
19:00:12  <piscisaureus_>wow these notes were only 3 weeks old
19:00:17  * piscisaureus_changed nick to piscisaureus
19:01:29  * isaacs_joined
19:01:57  * isaacs_quit (Client Quit)
19:02:31  <indutny>haha
19:02:34  <indutny>just in time
19:05:16  <mmalecki>hm, I just got npm to abort on me
19:05:17  <mmalecki>Assertion failed: wrap->object_.IsEmpty() == false, file ../src/fs_event_wrap.cc, line 124, function OnEvent
19:05:20  <mmalecki>Abort (core dumped)
19:05:31  <indutny>yay
19:05:36  <indutny>mmalecki: what node version?
19:05:59  <mmalecki>indutny: v0.8.9
19:06:12  <mmalecki>on smartos, that is
19:06:17  <indutny>oh
19:06:27  <indutny>I won't be helpful here, unfortunatelly
19:06:54  <tjfontaine>mmalecki: you still on a version of smartos where mdb doesn't give you ::jsstack?
19:07:29  <mmalecki>I'm not
19:07:36  <mmalecki>but whole stack appears to be in uv
19:11:01  * stagasjoined
19:11:54  * ericktjoined
19:15:29  * ryahjoined
19:30:03  <creationix>so why does forgetting to close TCP connections (getting stuck in CLOSE_WAIT) cause my server to consume 100% CPU?
19:30:15  <creationix>does libuv just expect you to never get in that state?
19:30:40  <creationix>(granted the elephant in the room is I shouldn't be leaking tcp connection handles)
19:37:09  <bentkus>kick him
19:38:29  <bentkus>I guess os/kernel and libuv version would be appropriate debugging information
19:42:22  * `3rdEdenquit (Quit: bai)
19:42:33  <piscisaureus>creationix: good question. are you using a modern libuv version?
19:42:45  <piscisaureus>creationix: we had a couple of these bugs lately but afaik they've all been resolved
19:44:56  <creationix>piscisaureus, luvit reports 0.8-17
19:45:02  <creationix>I don't remember where we pull that number from
19:45:32  <piscisaureus>neither do i
19:45:35  <piscisaureus>anyway
19:45:47  <piscisaureus>creationix: i don't think these bugs appeared in 0.8.x
19:45:51  <creationix>https://github.com/luvit/luvit/blob/master/Makefile#L7
19:45:58  <piscisaureus>you probably want to ask bnoordhuis_ about all this
19:46:07  <creationix>I guess that's 17 commits past the 0.8 tag maybe
19:46:42  <creationix>well, I'm 95% sure the leaking descriptors is my bug, I'm just curious why it busyloops the CPU instead of just rejecting new connections
19:47:02  <piscisaureus>creationix: ah is it an EMFILE issue?
19:47:16  <piscisaureus>creationix: yeah that has been fixed very recently
19:47:34  <piscisaureus>creationix: you can't reject connections. You can just accept them and quickly close them
19:47:37  <ryah>close_wait is a normal state
19:47:58  <creationix>ryah, but a thousand of them that stay around forever?
19:48:06  <creationix>for a low-traffic site
19:48:08  <piscisaureus>creationix: also
19:48:10  <ryah>not forever - but for a whil
19:48:20  <piscisaureus>ryah: no -that's TIME_WAIT
19:48:31  <ryah>oh oops
19:48:34  <piscisaureus>ryah: CLOSE_WAIT means that the virtual circuit is broken but the FD is still open
19:48:37  <creationix>yeah, I know about TIME_WAIT and ab benchmarking
19:48:50  <ryah>nm
19:49:05  <creationix>I'm pretty sure I'm just forgetting to uv_close my uv_tcp_t instances or something like that
19:49:12  <ryah>creationix: where's it spinning? open it in gdb and ^c it?
19:49:27  <creationix>already restarted it since my live site was dead
19:49:39  * ircretaryquit (Ping timeout: 245 seconds)
19:49:39  * ircretaryjoined
19:49:42  <creationix>but strace had lots of accept4 calls (well accept?, I think it was 4)
19:50:42  <creationix>piscisaureus, link to the EMFILE issue and the fix?
19:51:06  * Raltjoined
19:52:22  <creationix>hmm, can't compile with latest libuv, we still use cares.h
19:52:26  <piscisaureus>creationix: dunno, git log --oneline | grep EMFILE gets you there I think :-)
19:53:08  * ircretaryquit (Ping timeout: 245 seconds)
19:54:28  <creationix>yep, I see two interesting commits from two weeks ago
19:54:35  * Raltquit (Remote host closed the connection)
19:55:09  <creationix>I guess I just need to update our uv dependency and fix the connection leak in my lua library
20:00:47  * Raltjoined
20:03:04  <ryah>https://github.com/blog/1271-how-we-ship-github-for-windows
20:03:09  <ryah>^--- cool graph
20:05:01  <creationix>ryah, which one? I like the adoption graph
20:07:58  * Raltquit (Remote host closed the connection)
20:20:14  * ryahquit (Quit: Lost terminal)
20:20:25  <bentkus>damn it
20:22:54  <indutny>bnoordhuis_: yt?
20:23:08  <indutny>bnoordhuis_: I need your help
20:24:18  <CoverSlide>help him bnoordhuis_, you're his only hope
20:28:09  <piscisaureus>ok, I made a node.exe binary that re-exports openssl
20:28:21  <piscisaureus>the build process so far is extremely unsatisfying
20:28:25  <tjfontaine>how much larger is it?
20:28:27  <piscisaureus>and the binary grows by 700kb
20:28:33  <tjfontaine>not too bad
20:28:52  <piscisaureus>I think for unices it will be worse
20:29:01  <piscisaureus>since their binary isn't stripped
20:29:44  <piscisaureus>I also know where the "brain dead sunos linker" message comes from and infact it's not that braindead
20:31:01  * txdvquit (Read error: Operation timed out)
20:32:10  * txdvjoined
20:37:55  <tjfontaine>piscisaureus: I'll ask the question because I know he'll ask it soon, but did that allow to build tlsnappy?
20:38:14  <piscisaureus>not yet
20:38:19  <indutny>aha
20:38:25  <indutny>so while we're on that
20:38:26  <piscisaureus>now I need to make tlssnappy find the right headers again :-)
20:38:30  <tjfontaine>heh
20:38:43  <indutny>can someone please help me investigate some stupid race condition?
20:38:47  <piscisaureus>but Im getting close
20:39:13  <indutny>or not even race condition
20:39:30  * mikealjoined
20:44:43  <TooTallNate>indutny: did you have any plans on back porting that kqueue backend patch to v0.8?
20:44:44  <TooTallNate>indutny: https://github.com/chjj/pty.js/issues/19#issuecomment-8833924
20:44:55  <indutny>TooTallNate: this is impossible
20:44:58  <indutny>it contains ABI changes
20:45:02  <TooTallNate>oh right
20:45:03  <TooTallNate>ok
20:45:16  <indutny>unfortunatelly
20:46:06  <piscisaureus>TooTallNate: how can I override the node_dir that node-gyp uses?
20:46:27  <TooTallNate>piscisaureus: `node-gyp --nodedir=~/node` or wherever
20:47:11  <piscisaureus>ya
20:47:14  <piscisaureus>that doesn't work :-(
20:47:25  <piscisaureus>node-gyp configure --node-dir=d:/node4
20:47:32  <TooTallNate>no dash
20:47:48  <TooTallNate>perhaps that's unintuitive :|
20:48:01  <TooTallNate>piscisaureus: s/node-dir/nodedir
20:48:08  <tjfontaine>the one time I tried that I got an error that there was no tools/gyp or similar, perhaps I did it wrong
20:48:28  <TooTallNate>tjfontaine: you're supposed to ping me when shit doesn't work :)
20:48:41  <piscisaureus>python: can't open file 'd:\node4\tools\gyp_addon': [Errno 2] No such file or directory
20:48:44  <tjfontaine>TooTallNate: I didn't look hard enough to see if it was my fault or otherwise
20:48:44  <piscisaureus>I know it's there
20:48:50  <tjfontaine>yes, that looks familiar
20:48:56  <piscisaureus>oh there aint
20:49:09  <piscisaureus>TooTallNate: it seems that gyp_addon has been removed from node master
20:49:09  <TooTallNate>piscisaureus: update node-gyp
20:49:12  <tjfontaine>it felt like an issue where node-gyp legacy stuff wasn't being found
20:49:26  <TooTallNate>piscisaureus: or npm
20:49:44  <piscisaureus>TooTallNate: thanks, upgrading node-gyp worked
20:49:52  <TooTallNate>piscisaureus: kewl :)
20:50:12  <tjfontaine>hehe, ok someone should update npm in master then :)
20:50:35  <piscisaureus>now it needs to include the $nodedir/deps/openssl dir
20:51:08  <TooTallNate> '<(node_root_dir)/deps/openssl/openssl/include'
20:51:12  <TooTallNate>https://github.com/TooTallNate/node-gyp/wiki/Linking-to-OpenSSL
20:53:29  <piscisaureus>hmm, it doesn't place a separator between the include dirs - odd
20:53:36  <piscisaureus>gyp should be responsible for this
20:53:51  <piscisaureus>ah, forgot a ,
20:58:07  * isaacs_joined
20:58:10  * CoverSli1ejoined
21:01:00  * davispquit (Quit: I quit!)
21:01:00  * CoverSlidequit (Disconnected by services)
21:01:00  * rphillipsquit (Ping timeout: 252 seconds)
21:01:01  * isaacsquit (Ping timeout: 331 seconds)
21:01:05  * CoverSli1echanged nick to CoverSlide
21:02:47  * rphillips_joined
21:02:51  <indutny>ok, I found race :)
21:03:10  <TooTallNate>piscisaureus: are you looking into the openssl on windows thing?
21:03:16  * rphillips_changed nick to rphillips
21:03:17  <piscisaureus>yes
21:03:22  <TooTallNate>sweet :)
21:03:27  <bnoordhuis_>indutny: pong
21:03:27  <piscisaureus>but it has been quite unsatisfying so far
21:03:41  <bnoordhuis_>that's what she said
21:04:06  * dap1quit (Quit: Leaving.)
21:04:32  * dapjoined
21:04:52  <piscisaureus>yay
21:05:07  <indutny>bnoordhuis_: nvm
21:05:20  <indutny>bnoordhuis_: I've used drd to find out what was happening
21:05:26  <piscisaureus>indutny: now, how do I test tlsnappy?
21:06:50  <indutny>piscisaureus: sec
21:06:52  <indutny>piscisaureus: fixing race
21:07:28  <indutny>oooh
21:07:34  <indutny>I've fixed it, but it became too slow
21:07:35  <indutny>crap
21:08:58  <piscisaureus>indutny: btw - https://gist.github.com/a0817621671657de81fb
21:10:02  <indutny>piscisaureus: ok, I'll land it :)
21:10:10  * CoverSlidequit (Ping timeout: 256 seconds)
21:10:13  * CoverSli1ejoined
21:10:36  <indutny>ah
21:10:40  <indutny>it hasn't became slower
21:10:48  <indutny>I forgot to remove thread limitation :)
21:10:54  <indutny>it was running using only one worker
21:11:03  * rendar_quit
21:11:28  <piscisaureus>is there any reasonable way I can test it?
21:11:46  <indutny>piscisaureus: pushed
21:11:54  <indutny>piscisaureus: node example/server.js ?
21:11:54  <piscisaureus>good
21:12:00  <indutny>piscisaureus: and run apache benchmark against it
21:12:02  <piscisaureus>fortunately I already have tha patch :-)
21:12:09  <piscisaureus>my ab is built without ssl support
21:12:11  <indutny>piscisaureus: or just open browser at https://localhost:44300/
21:12:12  <piscisaureus>as it goes on windows
21:12:18  * piscisaureusraises fist
21:12:44  <indutny>it's even working with spdy now! :0
21:13:06  <piscisaureus>hmm, roadblock
21:13:11  * CoverSli1echanged nick to CoverSlide
21:13:12  <piscisaureus>node.exe is not a valid win32 application
21:13:15  <piscisaureus>:-(
21:13:38  <indutny>wow
21:13:39  <piscisaureus>seems that these forced exports destroyed it
21:14:24  <piscisaureus>hmm
21:14:28  <piscisaureus>I think my strategy is flawed
21:15:11  <indutny>not good
21:15:11  <piscisaureus>by overriding the list of exports, it no longer exports the entry point
21:15:36  <piscisaureus>or - wait
21:15:51  <piscisaureus>it's built as a VxD driver now ???
21:15:55  <piscisaureus>WTF
21:16:35  <indutny>piscisaureus: ???!
21:16:36  <indutny>wtf
21:16:45  <piscisaureus>something's wrong
21:16:47  <piscisaureus>;-)
21:18:20  * ArmyOfBrucequit (Ping timeout: 240 seconds)
21:18:20  * Raynosquit (Ping timeout: 240 seconds)
21:18:35  * TheJHquit (Ping timeout: 256 seconds)
21:19:39  * ArmyOfBrucejoined