00:01:15  * hzquit
00:01:53  * EhevuTov_joined
00:04:03  * loladirojoined
00:04:33  * EhevuTov_quit (Client Quit)
00:04:36  * EhevuTovquit (Ping timeout: 248 seconds)
00:15:49  * benoitcquit (Excess Flood)
00:18:36  * perezdjoined
00:19:07  * perezdquit (Remote host closed the connection)
00:22:26  * benoitcjoined
00:23:58  * jmar777joined
00:25:00  * loladiroquit (Quit: loladiro)
00:31:54  * EhevuTovjoined
00:34:56  * loladirojoined
00:43:48  * kazuponjoined
00:44:51  * loladiroquit (Quit: loladiro)
00:54:07  <warz>hm, the lib i wrote a node addon for seems to crash when called rapidly. i bet it has to do with the threading.
00:54:32  <warz>it has an initialize component to it, which i do on the main thread, and then i actually use it on the worker thread
00:55:05  <warz>i could just initialize and deinit every call, but idk if thatd be bad. meh.
00:55:07  * loladirojoined
01:00:05  * lohkey_joined
01:00:05  * lohkey_quit (Client Quit)
01:02:51  * lohkeyquit (Ping timeout: 255 seconds)
01:09:00  <indutny> warz you may share the code with us
01:09:09  <indutny>warz: probably somebody will be able to help you
01:10:57  * TooTallNatequit (Quit: Computer has gone to sleep.)
01:17:47  * AvianFluquit (Remote host closed the connection)
01:19:51  * TooTallNatejoined
01:25:17  <MI6>joyent/libuv: Ben Noordhuis master * 59a2c63 : bench: remove dead and buggy code Pipe accept benchmarks have never been (+1 more commits) - http://git.io/kir5Mg
01:25:19  <MI6>joyent/libuv: bnoordhuis created branch rm-ev - http://git.io/j9Lt2g
01:25:54  <warz>indutny, sorry i was afk for a sec. ok ill link the code. its a small addon.
01:26:31  <warz>the entire module's code is here: https://github.com/ryancole/topdf/blob/master/src/topdf.cc
01:26:59  * travis-cijoined
01:26:59  <travis-ci>[travis-ci] joyent/libuv#877 (rm-ev - f90ca2a : Ben Noordhuis): The build passed.
01:26:59  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/27e4e82d81f6^...f90ca2ae03ce
01:26:59  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/3221633
01:26:59  * travis-cipart
01:27:15  * travis-cijoined
01:27:16  <travis-ci>[travis-ci] joyent/libuv#876 (master - 59a2c63 : Ben Noordhuis): The build passed.
01:27:16  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/05aac92913dd...59a2c639316b
01:27:16  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/3221631
01:27:16  * travis-cipart
01:27:24  <warz>basically, the lib im wrapping has an initialize routine, and a deinit routine. supposed to be called only once during the lifetime of it all. and you call the open and export functions as many times in between that.
01:27:59  <TooTallNate>warz: it's probably because you're missing a HandleScope somewhere
01:28:01  <TooTallNate>like topdf_init_end
01:28:16  <warz>hm.
01:28:49  <warz>ok, i figured as long as i had one at the start of the exported functions that would be fine. or does it need a new scope when it comes out of the worker thread?
01:29:09  <warz>i could see that it does actually, since i close the scope in the exported function.
01:29:09  <TooTallNate>warz: any time you get any Local handles, you need a HandleScope
01:29:28  <warz>ah, i see. ok ill mess around with that and see how it goes.
01:30:50  <sblom>ircretary tell piscisaureus_ Perf Counter change benchmark indicates no statistical difference: https://gist.github.com/2afe272d2ebee9d0f07b
01:30:50  <ircretary>sblom: I'll be sure to tell piscisaureus_
01:34:15  <warz>i was also doubtful about how im cleaning up my memory when deleting the struct
01:34:28  <sblom>TooTallNate: glad to hear it worked out straightforwardly.
01:34:46  <sblom>(Windows DLLs that is)
01:34:58  <TooTallNate>sblom: the last OS is solaris, but i'm hoping it's the same deal as linux
01:35:19  <TooTallNate>gyp-izing these libs is draining too
01:35:27  <TooTallNate>i wish there was an automated way to do it :p
01:43:03  <warz>adding handle scopes didnt fix it. the back trace appears to show that its definitely crashing inside the oracle library somewhere.
01:44:04  <TooTallNate>warz: maybe it's not thread-safe
01:44:41  <warz>yea im thinking thats the case. it has not crashed yet when i just make single calls, yet. it crashes when i call it like 5-10 times quickly.
01:46:17  * EhevuTovquit (Quit: This computer has gone to sleep)
01:46:39  <warz>hm, the library does have a threaded mode where it does this functionality inside threads on its own.
01:46:45  <warz>thread inception sounds bad though, right? hah
01:47:35  * joshthecoderquit (Quit: Leaving...)
01:48:17  <warz>i may have to spend more time reading about the library. it also has some functionality where you can specify your own thread methods, as well as you can handle the IO on your own.
01:48:27  <warz>idk if through those features i could get it to work or not.
01:54:54  * abraxasjoined
02:01:54  <TooTallNate>warz: if it does it's own callbacks and it's own threads, then you can use a uv_async_t
02:07:24  <bnoordhuis>warz: printf("func=%s tid=%d\n", __func__, (int) gettid());
02:07:37  <bnoordhuis>that should tell you if your functions are being called on the same thread
02:08:38  <bnoordhuis>okay, off to bed - sleep tight all
02:09:00  <mmalecki>night Ben
02:09:37  <mmalecki>TooTallNate: hey
02:09:47  <TooTallNate>mmalecki: yo
02:09:54  <mmalecki>TooTallNate: what do you think about a script which'd install node, no matter what OS is that?
02:10:15  <mmalecki>so like, curl http://nodejs.org/dist/v0.8.14/install.sh | curl sh
02:10:19  <mmalecki>er, `sudo sh`
02:10:42  <TooTallNate>i wrote a quick one a while back that just extracted the binary tarball for the platform
02:10:53  <TooTallNate>idk what isaacs thinks about bundling them in the release dir
02:10:59  <mmalecki>oh, if you have it around it'd be greatly appreciated
02:11:06  <TooTallNate>ok let me find it
02:11:14  <TooTallNate>i really wish gist had a good search feature :(
02:11:37  <mmalecki>if it was public it's probably google-able
02:11:54  <TooTallNate>mmalecki: https://gist.github.com/3288316
02:12:21  <TooTallNate>mmalecki: change PREFIX to /usr/local or whatever...
02:12:38  * ArmyOfBrucequit (Excess Flood)
02:12:55  <mmalecki>TooTallNate: oh, heh, I thought it detects underlying OS :)
02:13:08  * ArmyOfBrucejoined
02:13:11  <TooTallNate>ah shit my bad :p
02:13:14  * bnoordhuisquit (Ping timeout: 260 seconds)
02:13:23  <TooTallNate>try one of the forks
02:13:54  <TooTallNate>mmalecki: otherwise that's an exercise left up to the reader ;)
02:14:10  <TooTallNate>there's only 4 you need to detect though
02:14:18  <TooTallNate>and that script wouldn't really work on windows anyways...
02:14:25  <TooTallNate>so it's more like 3
02:14:33  <mmalecki>TooTallNate: I got it figured out at provisioning level, was wondering if I could simplify that somehow :)
02:15:16  <mmalecki>TooTallNate: btw, os detection is a pain
02:15:33  <TooTallNate>what's wrong with uname?
02:15:45  <TooTallNate>uname + sed can do wonders :p
02:16:11  <mmalecki>yeah, unless you want to know if it's ubuntu or fedora or ..
02:17:22  <mmalecki>at any rate, back to porting scripts from smartos to ubuntu
02:17:24  <mmalecki>thanks :)
02:20:47  * joshthecoderjoined
02:24:38  <warz>TooTallNate, hmm it can do its own callbacks and threads. i might look into that.
02:25:06  <warz>and that tip from bnoordhuis could be useful, ill try it
02:25:24  <warz>well i actually know theyre not already, though
02:26:28  <mmalecki>TooTallNate: oh btw, I supposed you'd know this
02:26:41  <mmalecki>do you know any tutorials on how to wrap ObjC in C++?
02:26:55  <mmalecki>I want to bind node to some os x APIs
02:27:09  <mmalecki>or maybe you have a project of some kid?
02:27:11  <TooTallNate>NodObjC too heavy?
02:27:38  <mmalecki>yeah, also doesn't compile on my machine
02:28:03  <TooTallNate>oh, damn old node-ffi
02:28:19  <TooTallNate>does `npm install ffi` work though?
02:28:27  <TooTallNate>(i.e. the newest version)
02:28:40  * kazuponquit (Remote host closed the connection)
02:28:43  <TooTallNate>NodObjC needs to be updated to the v1.0 api, it's kinda a big job
02:28:52  <TooTallNate>mmalecki: in any case, look at my old node-iTunes code
02:29:08  <mmalecki>oh, word
02:29:14  <mmalecki>thanks!
02:29:15  <TooTallNate>mmalecki: i lost patience when i realized that it would be impossible to cover the whole API
02:29:22  <TooTallNate>and then i wrote NodObjC :p
02:29:31  <TooTallNate>mmalecki: ya for sho
02:29:34  <mmalecki>also, trying to install tha thing, it works
02:29:51  <TooTallNate>ok well i just need to stop being lazy and update that shitttttt
02:30:02  <mmalecki>hahahaha
02:31:02  * dapquit (Quit: Leaving.)
02:41:50  * toothrchanged nick to toothrot
02:49:30  * jmar777quit (Remote host closed the connection)
02:50:07  * jmar777joined
02:50:21  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
02:54:23  * jmar777quit (Ping timeout: 246 seconds)
03:05:14  * loladiroquit (Quit: loladiro)
03:18:52  * loladirojoined
03:24:11  * loladiroquit (Quit: loladiro)
03:35:06  * kristatequit (Ping timeout: 240 seconds)
03:41:01  * c4milojoined
04:02:35  * ArmyOfBrucequit (Excess Flood)
04:03:03  * ArmyOfBrucejoined
04:05:20  <warz>oh i see. the documentation states, at the verrrry bottom, that when running this library in multi threaded environments, the init and deinit needs to occur in the thread
04:05:23  <warz>which im not doing
04:08:54  * kristatejoined
04:10:29  * brsonquit (Ping timeout: 268 seconds)
04:15:46  * kazuponjoined
04:31:28  * c4miloquit (Remote host closed the connection)
04:43:59  * lohkeyjoined
04:47:00  * brsonjoined
04:47:04  * kristatequit (Ping timeout: 246 seconds)
04:49:06  * c4milojoined
04:50:25  * c4miloquit (Read error: Operation timed out)
04:56:19  * lohkeyquit (Quit: lohkey)
05:03:55  * warzquit
05:21:21  * lohkeyjoined
05:25:33  * lohkeyquit (Client Quit)
05:29:34  * sblomquit (Ping timeout: 240 seconds)
05:34:33  * ArmyOfBrucequit (Excess Flood)
05:35:03  * ArmyOfBrucejoined
05:35:16  * ArmyOfBrucequit (Client Quit)
05:35:40  * ArmyOfBrucejoined
05:43:04  * ArmyOfBrucequit (Excess Flood)
05:43:35  * ArmyOfBrucejoined
05:53:34  * kristatejoined
05:55:34  * perezdjoined
06:04:58  * TheJHjoined
06:15:43  * TheJHquit (Ping timeout: 260 seconds)
06:20:36  * brsonquit (Quit: leaving)
06:20:55  * LOUDBOTquit (Remote host closed the connection)
06:21:06  * LOUDBOTjoined
06:21:10  * benoitcquit (Excess Flood)
06:29:29  * benoitcjoined
06:53:49  * ArmyOfBrucequit (Excess Flood)
06:54:19  * ArmyOfBrucejoined
07:03:39  * rendarjoined
07:26:14  * loladirojoined
07:46:09  * `3rdEdenjoined
08:26:33  * joshthecoderquit (Quit: Leaving...)
08:27:45  * loladiroquit (Quit: loladiro)
08:31:38  * loladirojoined
08:44:13  * loladiroquit (Quit: loladiro)
08:48:58  * stagasjoined
08:56:21  * `3rdEdenchanged nick to `3E|BRB
08:56:57  * stagas_joined
08:58:19  * stagasquit (Ping timeout: 265 seconds)
08:58:22  * stagas_changed nick to stagas
08:58:31  * loladirojoined
09:01:29  * janjongboomjoined
09:02:41  * kristatequit (Ping timeout: 252 seconds)
09:29:50  * btraskquit (*.net *.split)
09:40:55  * btraskjoined
09:48:09  * loladiroquit (Quit: loladiro)
09:56:30  * stagasquit (Ping timeout: 264 seconds)
09:59:32  * btraskquit (*.net *.split)
10:00:31  * rvaggjoined
10:02:16  * kazuponquit (Remote host closed the connection)
10:03:35  * btraskjoined
10:06:46  * `3E|BRBchanged nick to `3rdEden
10:19:24  * abraxasquit (Remote host closed the connection)
10:20:04  * abraxasjoined
10:24:56  * abraxasquit (Ping timeout: 255 seconds)
10:34:20  * hzjoined
11:03:51  * hzquit (Disconnected by services)
11:03:54  * hzjoined
11:49:55  * c4milojoined
11:54:44  * c4miloquit (Ping timeout: 265 seconds)
12:08:05  * hzquit (Disconnected by services)
12:08:07  * hzjoined
12:41:30  * c4milojoined
13:40:43  * jmar777joined
13:47:19  * `3rdEdenquit (Ping timeout: 246 seconds)
14:14:08  * piscisaureus_joined
14:14:49  * sgallaghjoined
14:23:36  * stagasjoined
14:31:12  * bradleymeckquit (Quit: bradleymeck)
14:33:18  * bradleymeckjoined
14:34:05  * `3rdEdenjoined
14:59:04  * bradleymeckquit (Quit: bradleymeck)
15:01:58  * bradleymeckjoined
15:30:27  * kristatejoined
15:36:15  * sgallaghchanged nick to sgallagh_mtg
15:37:35  * stagasquit (Ping timeout: 252 seconds)
15:45:37  * bnoordhuisjoined
15:54:17  <bnoordhuis>sup people
15:55:01  <mmalecki>bnoordhuis: you sir
15:55:03  <mmalecki>you
15:55:08  <mmalecki>I need to talk to you
15:55:16  <bnoordhuis>well, seems like you found me
15:55:28  <mmalecki>so, first off, I'm going to amsterdam in the middle of january with my stoner friends
15:55:38  <mmalecki>second thing
15:56:13  <mmalecki>what do you think about assigning net.connect arguments to error.arguments in case of network errors?
15:56:22  <mmalecki>same thing for listen and similar
15:56:35  <bnoordhuis>didn't error.arguments get removed from v8 recently?
15:56:53  <mmalecki>still there on my recent build, but also we can just assign it
15:57:07  <mmalecki>or whatever name we want for that :)
15:57:27  <bnoordhuis>mmalecki: https://github.com/v8/v8/commit/efb8144
15:58:09  <mmalecki>okay well, we can just assign it, like error.arguments =
15:58:11  <bnoordhuis>but explain to me why you want that?
15:58:25  <mmalecki>improved debugability in case of crashes
15:58:54  <bnoordhuis>i'm not radically opposed to the idea
15:58:59  <mmalecki>w00t
15:59:18  <mmalecki>i'll prepare a pull request when I'm not high on caffeine and when I actually get some sleep
15:59:31  <bnoordhuis>but i'm happy to defer js api decisions to isaacs and TooTallNate
15:59:39  <mmalecki>yeah, same
15:59:46  <mmalecki>I'm not good with naming stuff :)
16:00:36  <bnoordhuis>hm, the oom killer on my freebsd machine seems to have killed sshd...
16:01:19  <mmalecki>a forked process or the server?
16:01:46  <bnoordhuis>both, apparently
16:02:02  <bnoordhuis>at least, there's no main sshd anymore
16:02:07  <bnoordhuis>and not my process either
16:02:15  <mmalecki>well, killing main one kills children too
16:02:22  <mmalecki>oom killer kills whole process tree
16:02:41  <bnoordhuis>oom killer doesn't care, oom killer just kills what it wants
16:03:06  <mmalecki>scumbag oom killer
16:03:26  <tjfontaine>well at least it's a bit nicer on linux these days
16:03:33  <mmalecki>tjfontaine: oh, is it?
16:04:07  <tjfontaine>I forget what flag they use, but you can mark processes to be safe from the oom (to a point) and usually sshd is one of those
16:04:19  <indutny>bnoordhuis: hoya
16:04:25  <mmalecki>oh yeah, I think I read about this one
16:04:26  <bnoordhuis>indutny: heya
16:04:27  <indutny>bnoordhuis: wanna pull in select() stuff I did
16:04:31  <indutny>bnoordhuis: ?
16:04:53  <indutny>suppose, not really
16:05:02  <indutny>but I'll be glad if you will
16:05:30  <bnoordhuis>indutny: my MD strongly advises against reviewing or merging patches on fridays
16:05:37  <indutny>MD?
16:05:44  <indutny>bert?
16:05:54  <mmalecki>doctor
16:06:00  <indutny>yeah, bert
16:06:08  <indutny>piscisaureus_: you should not give such advices
16:06:14  <mmalecki>oh, Ben and Bert play doctor together?
16:06:18  <mmalecki>that's so sweet
16:06:29  <bnoordhuis>bert hasn't even finished his education yet
16:06:29  <indutny>mmalecki: only on fridays
16:06:41  <mmalecki>ah :)
16:06:45  <piscisaureus_>I don't think ben will play with me any more :-(
16:06:46  <bnoordhuis>we do have two doctors at the company, not medical ones though
16:06:54  <piscisaureus_>last week we played anal probe with a beer bottle
16:07:01  * indutnybooted piscisaureus_ (piscisaureus_)
16:07:03  <bnoordhuis>at least, i wouldn't let dr. lennart get near me
16:07:07  <indutny>yer
16:07:20  <indutny>that was disgusting to hear here
16:07:28  * piscisaureus_joined
16:07:36  * mmaleckigrabs popcorn
16:07:36  <indutny>piscisaureus_: don't say that!
16:07:58  <mmalecki>except they have no popcorn in shops here >.<
16:08:06  <tjfontaine>mmalecki: oom_adj is -17..15 for priority, see with cat /proc/$(pidof sshd)/oom_adj should be -17 if you're lucky
16:08:13  <indutny>mmalecki: you could still use redbull
16:08:16  <piscisaureus_>indutny: oh sorry I forgot that you were there too
16:08:29  <mmalecki>indutny: I have over 20 cans of redbull in my fridge
16:08:34  <mmalecki>could use that yeah
16:08:41  <indutny>piscisaureus_: I'm a little bit homophobic, you know
16:08:54  <piscisaureus_>ah, russian
16:09:14  <Chip_Zero>bnoordhuis: how many times do I have to tell you I'm not an MD and I won't play doctor with you :P
16:09:34  <Chip_Zero>ohai
16:09:37  <indutny>Chip_Zero: ohai
16:09:40  <indutny>who are ya?
16:09:49  <Chip_Zero>they call me dr. Lennart
16:09:52  <Chip_Zero>apparently
16:09:56  <indutny>aah
16:09:58  <indutny>Lennart
16:09:59  <bnoordhuis>piscisaureus_: http://en.wikipedia.org/wiki/Find_first_set#Tool_and_library_support <- that's not the same thing
16:10:07  <piscisaureus_>bnoordhuis: it is
16:10:27  <piscisaureus_>bnoordhuis: clz and bsr can be easily expressed as one another
16:10:54  <bnoordhuis>piscisaureus_: ffs() finds the first non-zero bit, next_power_of_two() rounds up to, well, the next power of two
16:10:58  <piscisaureus_>bnoordhuis: actually, the implementation I proposed is not the most efficient -- bsr would be better, but gcc has no intrinsic for it
16:11:18  <piscisaureus_>bnoordhuis: that's why you do (1 << bsr(val))
16:11:28  <piscisaureus_>or (1 << (1+bsr(val))
16:11:31  * piscisaureus_thinks
16:12:02  <piscisaureus_>bnoordhuis: ffs is not what we need here
16:12:11  <indutny>bnoordhuis: what do you feel about emitting 'data' events for tls socket in next tick?
16:12:24  <indutny>bnoordhuis: related to https://github.com/joyent/node/issues/4286
16:12:27  <piscisaureus_>bnoordhuis: this is about clz / bsr / cntlz
16:12:38  <piscisaureus_>or lzcnt
16:14:04  <bnoordhuis>piscisaureus_: so have you found anything substantial?
16:14:13  <piscisaureus_>bnoordhuis: I am still reviewing
16:14:26  <piscisaureus_>bnoordhuis: it takes a couple of passes to understand how it all plays together
16:14:34  <bnoordhuis>indutny: uncaughtException == all bets are off
16:15:31  <indutny>bnoordhuis: so you think it's correct behaviour
16:16:02  <bnoordhuis>indutny: yes. node is not visual basic with its ON ERROR NEXT
16:16:10  <indutny>well
16:16:20  <indutny>why are we doing it in another places?
16:16:31  <indutny>I think user errors should not break internal logic
16:16:40  <indutny>we may probably unable to close this socket after this
16:16:47  <bnoordhuis>we aren't. the only place we use uncaughtException is in lib/cluster.js and that's to kill the workers before exiting
16:17:07  <bnoordhuis>the rule with uncaughtException is simple: if you get one, you should exit
16:17:13  <indutny>wait wut
16:17:21  <indutny>how is it related to uncaughtException
16:17:24  <indutny>aah
16:17:26  <bnoordhuis>read his test case
16:17:27  <indutny>ok
16:17:39  <bnoordhuis>i'll comment on the issue
16:17:45  <indutny>can you please weight in and close this issue then
16:17:47  <indutny>bnoordhuis: kewl
16:17:53  * AvianFlujoined
16:21:05  <piscisaureus_>bnoordhuis: it seems okay for as much as I understand it
16:21:17  <piscisaureus_>bnoordhuis: I'll have to take your word for the port backend tho
16:22:07  <bnoordhuis>piscisaureus_: taking my word for it is always the right action but what in particular do you mean?
16:22:43  <piscisaureus_>well I don't know, I never used event ports
16:22:58  * Raltquit (Ping timeout: 265 seconds)
16:23:02  <piscisaureus_>How can I tell if you this rearming is really what you should do :-)
16:25:20  * philips_quit (Excess Flood)
16:25:39  <piscisaureus_>bnoordhuis: but look at my comments and ship it
16:25:43  <bnoordhuis>piscisaureus_: oh, like that. you can test that easily by ripping out the rearm code and running the tests
16:26:28  <bnoordhuis>piscisaureus_: excerpt from `man port_associate`: When an event for a PORT_SOURCE_FD object is retrieved, the object no longer has an association with the port.
16:26:43  <piscisaureus_>right
16:27:46  <piscisaureus_>bnoordhuis: so https://github.com/joyent/libuv/commit/27e4e82d81f6658ba797733b1f3c5489d7135711#L11R87 is for the case that a watcher got stopped but was never rearmed in the first place?
16:29:33  * philips_joined
16:29:38  <bnoordhuis>piscisaureus_: no. uv__io_start() and uv__io_stop() can add a watcher to the queue even when w->events == w->pevents
16:30:11  <piscisaureus_>so how is it port-specific, then?
16:30:12  <bnoordhuis>if the epoll and kqueue backends don't filter that out, they'd make a superfluous syscall
16:30:51  <bnoordhuis>not a harmful syscall, mind you, just a no-op
16:31:28  <bnoordhuis>alternatively, it can be filtered out by a #if !defined(__sun) in uv__io_start() and uv__io_stop()
16:31:31  <bnoordhuis>but that's nasty
16:31:52  * bradleymeckquit (Quit: bradleymeck)
16:32:03  <piscisaureus_>bnoordhuis: ok
16:35:18  * bradleymeckjoined
16:35:26  <bnoordhuis>besides, it may come in handy when i switch the epoll backend to edge-triggered i/o
16:36:01  * Kai1joined
16:37:11  <bnoordhuis>piscisaureus_: re malloc/abort, i'm not going to fix that (or at least not now)
16:37:23  <bnoordhuis>because it's not a regression
16:37:35  <bnoordhuis>that next_power_of_two thing is... kind of pointless imo :)
16:37:49  <bnoordhuis>i will fix the double space thing though...
16:41:36  * bradleymeckquit (Quit: bradleymeck)
16:42:56  <piscisaureus_>bnoordhuis: re power_of... then i will keep crying
16:43:16  <bnoordhuis>piscisaureus_: that's fine, i find it a very soothing sound
16:53:53  <MI6>joyent/libuv: Ben Noordhuis master * 665a316 : unix: remove libev (+2 more commits) - http://git.io/jKjGww
16:55:40  * travis-cijoined
16:55:40  <travis-ci>[travis-ci] joyent/libuv#878 (master - 665a316 : Ben Noordhuis): The build passed.
16:55:40  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/59a2c639316b...665a316aa9d5
16:55:40  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/3230391
16:55:40  * travis-cipart
16:56:35  * lohkeyjoined
16:59:34  * loladirojoined
17:01:11  <MI6>joyent/node: Ben Noordhuis master * b6a3b0a : deps: upgrade libuv to 665a316 - http://git.io/O_9hqg
17:01:30  <saghul>woot! \o/
17:01:37  <saghul>bnoordhuis ++
17:01:49  <bnoordhuis>thanks :)
17:03:01  <tjfontaine>lets see how much we can break!
17:03:14  <saghul>so I guess it's now a good moment for me to redo those uv_run with flags patches, right?
17:03:36  <saghul>bnoordhuis or do you have other stuff in mind for that?
17:04:52  * lohkeyquit (Quit: lohkey)
17:09:43  * dapjoined
17:14:52  * lohkeyjoined
17:22:43  * sblomjoined
17:24:49  * lohkeyquit (Quit: lohkey)
17:30:59  * joshthecoderjoined
17:31:25  * `3rdEdenquit (Ping timeout: 255 seconds)
17:38:39  * perezdquit (Quit: perezd)
17:46:41  * TheJHjoined
17:47:35  * joshthecoderquit (Quit: Leaving...)
18:09:07  * TooTallNatejoined
18:11:19  * janjongboomquit (Quit: janjongboom)
18:26:11  * loladiroquit (Quit: loladiro)
18:37:50  * perezdjoined
18:39:15  * loladirojoined
18:42:06  * EhevuTovjoined
18:50:18  * bradleymeckjoined
18:50:37  * warzjoined
18:50:38  * warzquit (Changing host)
18:50:38  * warzjoined
18:58:24  * loladiroquit (Quit: loladiro)
19:05:32  * loladirojoined
19:07:00  * mcavagejoined
19:08:12  * brsonjoined
19:46:38  <warz>does libuv have only 1 worker thread, or does it use multiple worker threads?
19:46:49  * hzquit (Read error: Connection reset by peer)
19:47:21  * hzjoined
19:48:12  <TooTallNate>warz: it uses a pool of threads
19:48:23  * perezdquit (Quit: perezd)
19:49:30  <warz>ok, so its possible that this library im still messing with is just not thread safe. i was thinking that if it were just 1 worker thread then the thread safety of the library probably wouldnt be causing this seg fault.
19:49:37  <warz>but with multiple threads it seems more likely.
19:50:13  <warz>their documentation claims that its thread safe, so im not sure. *shrug*
19:50:23  <TooTallNate>warz: i thought you were gonna use their own threading api?
19:50:42  <TooTallNate>and then notify node's event loop of any callbacks via a uv_async_t
19:51:27  * TheJHquit (Ping timeout: 260 seconds)
19:51:56  <warz>well thats my next plan. i was still just trying to avoid that if i could. id like to learn uv_async_t but id also like to just use my module. haha.
19:52:20  <warz>but if i have no option, then it looks like ill move into trying to do that today.
19:53:11  * c4miloquit (Remote host closed the connection)
19:59:55  * loladiroquit (Quit: loladiro)
20:04:41  * LOUDBOTquit (Remote host closed the connection)
20:04:48  * LOUDBOTjoined
20:04:56  * LOUDBOTquit (Remote host closed the connection)
20:05:02  * LOUDBOTjoined
20:05:11  * LOUDBOTquit (Remote host closed the connection)
20:05:17  * LOUDBOTjoined
20:05:20  * LOUDBOTquit (Remote host closed the connection)
20:05:26  * LOUDBOTjoined
20:05:38  * LOUDBOTquit (Remote host closed the connection)
20:05:44  * LOUDBOTjoined
20:05:58  * LOUDBOTquit (Remote host closed the connection)
20:06:05  * LOUDBOTjoined
20:06:16  * LOUDBOTquit (Remote host closed the connection)
20:06:22  * LOUDBOTjoined
20:06:26  * LOUDBOTquit (Remote host closed the connection)
20:06:32  * LOUDBOTjoined
20:06:34  * LOUDBOTquit (Remote host closed the connection)
20:06:41  * LOUDBOTjoined
20:07:20  * LOUDBOTquit (Remote host closed the connection)
20:07:27  * LOUDBOTjoined
20:07:36  * LOUDBOTquit (Remote host closed the connection)
20:07:42  * LOUDBOTjoined
20:19:16  * EhevuTovquit (Quit: This computer has gone to sleep)
20:21:33  * AvianFluquit (Remote host closed the connection)
20:22:59  * `3rdEdenjoined
20:23:45  <warz>woohoo, i figured it out. i misunderstood their documentation. i had to specify that the library was running in a threaded environment using a particular function parameter.
20:24:11  <warz>i thought that the parameter was only used if i were using their threading api, but nope.
20:35:52  * `3rdEdenquit (Remote host closed the connection)
20:41:18  * loladirojoined
20:48:00  * EhevuTovjoined
20:51:11  * c4milojoined
20:54:19  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
20:55:50  * benoitcquit (Excess Flood)
20:57:18  * AvianFlujoined
21:00:09  * benoitcjoined
21:04:05  * TheJHjoined
21:08:19  * jmar777quit (Remote host closed the connection)
21:08:54  * jmar777joined
21:09:11  <txdv>bnoordhuis: is it in master?
21:12:22  * perezdjoined
21:12:54  * jmar777quit (Ping timeout: 240 seconds)
21:26:44  * piscisaureus_joined
21:27:28  * benoitcquit (Excess Flood)
21:29:24  * loladiroquit (Quit: loladiro)
21:36:39  * benoitcjoined
21:37:08  * sgallagh_mtgchanged nick to sgallagh
21:37:13  <txdv>seems like it is
21:37:58  <txdv>congrats
21:38:28  * jmar777joined
21:39:10  <sgallagh>piscisaureus_: Were you looking for me yesterday?
21:39:31  <piscisaureus_>sgallagh: well, sorta
21:39:52  <piscisaureus_>sgallagh: did ircretary drop off its notes wednesday?
21:40:22  <sgallagh>piscisaureus_: I don't know what that sentence means.
21:40:33  <piscisaureus_>sgallagh: ah :-)
21:41:14  <piscisaureus_>sgallagh: ircretary can drop off notes to people but sometimes it doesn't work.
21:41:14  <piscisaureus_>19:03:51 <piscisaureus_> irctretary: tell sgallagh If you're going to make it use openssl-1.0.1 you don't need anything for SPDY support. These are the other patches we are floating: https://github.com/joyent/node/compare/b61ae54e18c9f6ada7e746052ef6b39272b18a15...988a164cd8820974753ba6a9fc1827d2832c59d4
21:42:59  <sgallagh>piscisaureus_: Ah, thanks. Have those been proposed upstream yet?
21:43:25  <sgallagh>If not, I'll talk to the openssl maintainer in Fedora about evaluating them for carrying in our variant
21:44:06  <piscisaureus_>I am sure that the "handshake cut-through" patch has been proposed upstream, albeit not by us but by google
21:44:27  <piscisaureus_>the other ones should be evaluated I think
21:45:16  <sgallagh>piscisaureus_: Ok, thank you. I'll put that on my TODO list for Monday.
21:45:26  * EhevuTov_joined
21:45:31  <piscisaureus_>sgallagh: "openssl: backward compatibility after x509 hash function change" <-- you should probably skip that patch if you did your distro maintenance job well :-)
21:46:18  * EhevuTovquit (Ping timeout: 264 seconds)
21:46:36  <sgallagh>piscisaureus_: I'll let the maintainer figure that one out :)
21:46:48  <sgallagh>openssl is well into the "here there be dragons" territory
21:46:56  <piscisaureus_>ya
21:47:55  <piscisaureus_>sgallagh: although, there are about 500 million devices out there that have these patches. So it's not really untreaded territory.
21:48:21  <sgallagh>piscisaureus_: Understood. I'll see what I can do about getting them upstreamed.
21:48:34  <sgallagh>Thanks for the pointer
21:58:45  <sblom>piscisaureus_: Looks like ircretary may have dropped the ball on me, too. "<sblom> ircretary tell piscisaureus_ Perf Counter change benchmark indicates no statistical difference: https://gist.github.com/2afe272d2ebee9d0f07b"
21:58:50  <indutny>piscisaureus_: nice patches
21:59:12  * jmar777quit (Remote host closed the connection)
21:59:13  <piscisaureus_>indutny: haha, I didn't create them tho
21:59:47  * jmar777joined
22:00:09  <piscisaureus_>I just "extracted" them from the delta between stock openssl and openssl-in-node-0.8
22:01:06  * rendarquit
22:01:19  * jmar777_joined
22:01:26  * jmar777quit (Read error: Connection reset by peer)
22:02:26  <txdv>saghul: so you updated just the uv lib
22:03:03  <saghul>txdv not only, I had some other changes pending a release, like the thread module, some refcounting issues and Visual Studio support
22:03:19  <txdv>visual studio support!
22:03:40  <saghul>but all tests pass in 4 different python versions in 2 platforms, so I felt confident ;-)
22:03:52  * jmar777_quit (Remote host closed the connection)
22:03:57  <saghul>compilation of Python modules in Windows is… tricky
22:04:23  <saghul>you need to use the same version of Visual Studio that was used to compile the interpreter, and Visual Studio 2008 was just recently added to libuv
22:04:27  * jmar777joined
22:05:04  <piscisaureus_>sblom: EH
22:05:05  <indutny>tyl
22:05:29  <piscisaureus_>sblom: 425 r/s, really? should be more like 7000 unless you are running them on a 486 pc?
22:05:43  <piscisaureus_>sblom: did you accidentally benchmark the debug version?
22:05:56  <txdv>modules in c# are not that hard
22:06:47  <txdv>saghul: why is that? I thought at least the c symbols are always the same?
22:06:53  <txdv>or are the calling conventions different
22:07:25  <saghul>I have no clue :-S I really have no idea about Windows, but I like to make my stuff run on it
22:07:30  <piscisaureus_>hmm I keep forgetting that sblom is probably a web irc user
22:07:51  <saghul>other libraries just do select(), libuv is far superior there :-)
22:08:31  * sgallaghquit (Remote host closed the connection)
22:09:06  * jmar777quit (Ping timeout: 264 seconds)
22:09:33  <TooTallNate>piscisaureus_: what client do you use?
22:09:38  <piscisaureus_>trillian
22:09:44  <piscisaureus_>(on windows)
22:10:01  * perezdquit (Quit: perezd)
22:13:43  * loladirojoined
22:15:37  <txdv>why trillian?!
22:15:55  <piscisaureus_>why do you care? :-)
22:16:03  <piscisaureus_>I like trillian
22:16:07  <txdv>I used to use it
22:16:28  <txdv>but then I discovered the shooting yourself in the foot with a shotgun gives you more satisfaction!
22:16:38  <txdv>that*
22:17:42  <CoverSlide|TPFR>wow, people still use trillian
22:17:58  <CoverSlide|TPFR>i remember all my AIM friends were using trillian
22:18:06  <CoverSlide|TPFR>like 10 years ago
22:18:42  <CoverSlide|TPFR>back when AIM was the shit
22:19:54  <txdv>that's what i am talking about
22:20:23  <bnoordhuis>saghul: yes, now would be a good time to submit that PR :)
22:20:52  <bnoordhuis>i was planning to do it myself but i don't mind people doing my work for me
22:20:59  <saghul>xD
22:21:19  <saghul>I'll try to find the time to do it again
22:24:02  <piscisaureus_>txdv: CoverSlide|TPFR: I like trillian much better than adium which is what all you apple fanbois seem to use.
22:24:37  <piscisaureus_>It does everything you want
22:27:16  <saghul>Textual is the new black
22:27:23  <saghul>(on OSX)
22:28:11  <CoverSlide|TPFR>I'm sshed into my home box using irssi
22:28:34  <CoverSlide|TPFR>inside screen so i can detach and resume when I'm at home too
22:29:06  <bnoordhuis>it's true, real men use irssi
22:30:08  <CoverSlide|TPFR>I would use tmux but I'm so used to screen
22:30:29  <CoverSlide|TPFR>and I can't get tmux on cygwin when I'm on that
22:32:24  <bnoordhuis>i hear a lot about how great tmux is but besides (horizontal?) splits, i don't think i've heard any actual arguments as to why
22:32:37  <bnoordhuis>oh, that the codebase is a a lot less crufty
22:32:49  <bnoordhuis>but meh, as long as i don't have to work on it, i don't care
22:34:52  * bradleymeckquit (Quit: bradleymeck)
22:36:51  <bnoordhuis>piscisaureus_: how do you feel about removing eio-emul.h and ev-emul.h?
22:37:07  <piscisaureus_>bnoordhuis: I am estranged to feelings.
22:37:16  <piscisaureus_>bnoordhuis: are they in the way?
22:37:36  <bnoordhuis>no, but they're a) somewhat buggy, and b) i don't want to carry them forward forever
22:38:09  <piscisaureus_>bnoordhuis: keep em, unless the itch becomes unbearable. I'd say drop from 0.11 onward
22:38:27  <bnoordhuis>actually, i think eio-emul.h is flat out broken and has been for a while
22:38:58  <piscisaureus_>well, who here gets paid to fix that?
22:40:33  <bnoordhuis>i'll fix it by removing it
22:40:50  <bnoordhuis>i don't intend to write a full libeio emulation layer
22:41:26  <bnoordhuis>basically, what eio-emul.h was doing was #define'ing the old eio api to the new one (where we pass in a loop arg)
22:41:55  <bnoordhuis>like this -> #define eio_nop(a,b,c) eio_nop(a,b,c,(&uv_default_loop()->uv_eio_channel))
22:42:06  * TheJHquit (Ping timeout: 264 seconds)
22:44:39  <sblom>piscisaureus_: I'm pretty sure I used release, but I'll double-check.
22:45:16  <piscisaureus_>sblom: well, 425 r/s on a bytes/123 means something is pretty damn wrong :-(
22:45:20  <piscisaureus_>sblom: lemme try master
22:47:05  <sblom>piscisaureus_: I'll scorch and rebuild and see if I can get better results. Actually. I'll try 0.8.latest as an experimental control.
22:47:26  <MI6>joyent/node: Ben Noordhuis master * 71ba7bc : node: remove eio-emul.h The purpose of this file was to remap the old li (+1 more commits) - http://git.io/5ZkDEQ
22:47:26  <piscisaureus_>sblom: maybe something's fishy with your ab? does it saturate the cpu?
22:47:36  <piscisaureus_>bnoordhuis: eigenwijs heh
22:48:42  <bnoordhuis>piscisaureus_: you're free to fix it if you feel strongly about it :)
22:48:44  <sblom>piscisaureus_: will double-check that, too.
22:48:45  <piscisaureus_>sblom: ooh - how many concurrent connections did you use?
22:48:52  <piscisaureus_>sblom: sorry, forgot to think about that
22:48:55  <bnoordhuis>but the fact that it's been broken for a month and no one complained should be an indication
22:48:59  <piscisaureus_>sblom: typically I would benchmark with -c 100
22:49:11  <piscisaureus_>or 1000, whatever
22:49:18  <sblom>looking
22:49:31  <piscisaureus_>sblom: :-)
22:49:34  <sblom>used -c 100
22:52:27  <bnoordhuis>sblom: do you have something like strace (trace syscalls) on windows? ab might be using select() instead of iocp
22:52:28  <sblom>piscisaureus_: ab.exe pegged one core on my machine.
22:53:25  <sblom>bnoordhuis: good idea--will check that.
22:54:50  <bnoordhuis>sblom: i just checked libapr (what ab uses), it might be that it *only* supports select()
22:55:12  <bnoordhuis>piscisaureus_: do you use ab on windows?
22:55:49  <piscisaureus_>bnoordhuis: yes
22:56:07  <piscisaureus_>bnoordhuis: with 100 concurrent clients node uses more cpu than ab however
22:56:16  <piscisaureus_>when I go higher ab becomes the bottleneck
22:56:19  <bnoordhuis>ah
22:56:22  * perezdjoined
22:56:27  <bnoordhuis>that sounds plausible
22:57:59  <piscisaureus_>master seems to be slower than 0.8 btw
22:58:08  <piscisaureus_>on 0.8 I get 9100 r/s
22:58:20  <piscisaureus_>master gives me 8300
22:58:46  * perezdquit (Client Quit)
22:59:06  <piscisaureus_>over multiple runs the difference is smaller but still noticeable
22:59:29  * perezdjoined
23:02:12  * c4miloquit (Remote host closed the connection)
23:02:38  <piscisaureus_>sblom: btw - msft has a 4-machine benchmark setup which allows you to do "real" benchmarks using wcat and 4 physical clients
23:02:48  <piscisaureus_>sblom: if you don't have the login info I can forward it to you
23:04:45  <sblom>piscisaureus_: Good point.
23:06:05  <sblom>I'm also trying out a different load test tool. ab.exe can't make node sweat on this machine.
23:06:13  <piscisaureus_>haha
23:06:23  <piscisaureus_>I have never seen that
23:06:35  <piscisaureus_>wcat is good but it's quite painful to set up
23:07:41  <sblom>I'm seeing what Visual Studio can do. :) This might be even worse than ab. :)
23:09:03  * c4milojoined
23:10:54  <piscisaureus_>can visual studio benchmark http servers?
23:11:42  <sblom>piscisaureus_: Yeah--some of the $$ versions can. This is taking enough effort to set up, though, that wcat just might be easier.
23:11:50  <piscisaureus_>I have a $$ version
23:11:52  <piscisaureus_>but not 2012
23:12:06  <piscisaureus_>I thought node didn't even compile with 2012 at this point
23:12:47  <piscisaureus_>I can't really imagine wcat being easier for any purpose :-)
23:14:10  <sblom>Hmm--I'm not sure what all editions this is in. You're right that I'm using VS 2012 right now. I build using vcbuild.bat but tend to edit in VS 2012 (which can read VS2010 project files, and for the first time ever doesn't insist on upgrading the project files and pissing off your coworkers).
23:14:36  <piscisaureus_>sblom: it's not wasted effort though - being able to benchmark node properly is pretty important :-)
23:14:39  <TooTallNate>piscisaureus_: i'm pretty sure node compiles on 2012 now
23:14:50  <TooTallNate>piscisaureus_: there was that msvs_version=auto patch..
23:15:09  <piscisaureus_>TooTallNate: sblom: someone complained about some SEH:safe issues but that might affect 0.8 only
23:15:16  <sblom>piscisaureus_: Yeah--I'm not sad that I'm doing this.
23:15:17  <piscisaureus_>it's easy to fix that tho
23:15:35  <sblom>ahh, will ask if I run across that
23:16:46  * loladiroquit (Quit: loladiro)
23:23:26  <piscisaureus_>alright
23:23:30  <piscisaureus_>fashionable hours
23:23:38  <piscisaureus_>I am leaving again.
23:24:48  <piscisaureus_>bnoordhuis: say hi to ms. Noordhuis-Koster and do the same!
23:25:03  <bnoordhuis>piscisaureus_: will do :) sleep tight
23:25:25  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
23:33:12  * piscisaureus_joined
23:33:38  <piscisaureus_>bnoordhuis: thanks for the style review ben :-) But I like to get the high-level approach right first.
23:33:49  <piscisaureus_>bnoordhuis: but, I see that we should really pay you for this :-p
23:33:49  <bnoordhuis>ah right
23:34:37  <piscisaureus_>talking style, i also don't really like the perfctr_FooBarBa style but in the end that's all nits
23:34:43  <piscisaureus_>should not take more than half an hour to fix
23:34:55  <piscisaureus_>anyway
23:34:58  <piscisaureus_>I was gone
23:34:59  <piscisaureus_>hehe
23:35:04  * piscisaureus_quit (Client Quit)
23:35:05  <sblom>Interesting. My laptop gets 1000s of requests per second.
23:35:35  <sblom>But ab.exe pegs my Sun Ultra 40 (running Windows Server 2012) at under 500 reqs/s
23:35:45  <sblom>Sigh.
23:35:52  <sblom>Guess I'll switch to benchmarking on my laptop.
23:36:01  <sblom>(That seems _so_ wrong)
23:39:57  * AvianFluquit (Remote host closed the connection)
23:46:13  <bnoordhuis>sblom: strange. any idea what's causing that?
23:46:42  <indutny>bnoordhuis: can you squash that tls commits?
23:46:46  <indutny>bnoordhuis: from fat crocodile
23:46:54  <bnoordhuis>indutny: sure. but you can too
23:46:58  <indutny>bnoordhuis: I know you're pretty good about commit messages
23:47:25  <bnoordhuis>sure, try to sweeten it
23:47:35  <indutny>:)
23:47:50  <indutny>now I need to fix shutdown
23:47:58  <indutny>though it's working pretty fine, isn't it? :)
23:48:02  <sblom>bnoordhuis: I have no idea--I'm doing some perf tracing now.
23:48:11  <indutny>probably, because in most of the cases client is closing socket
23:48:12  <indutny>not server
23:48:14  <indutny>or
23:48:18  <indutny>client doesn't care about it at all
23:49:49  * stephankquit (Ping timeout: 256 seconds)
23:53:43  <MI6>joyent/node: Sergey Kholodilov master * 019ad34 : crypto: fix ssl error handling Make HandleSSLError() correctly process a - http://git.io/8Y8rRQ
23:53:56  <indutny>yay
23:54:24  <indutny>bnoordhuis: hanks
23:54:28  <txdv>node works now
23:54:29  <bnoordhuis>np
23:54:45  * stephankjoined
23:54:52  <bnoordhuis>txdv: i wouldn't go as far as that but it's better now
23:56:34  <txdv>so it doesn't work?
23:58:35  * benoitcquit (Excess Flood)
23:59:40  * benoitcjoined