00:09:57  * kazuponjoined
00:12:24  * mikealjoined
00:21:06  * bnoordhuisjoined
00:23:22  * mikealquit (Ping timeout: 252 seconds)
00:23:27  * kazuponquit (Ping timeout: 265 seconds)
00:46:33  * philips_quit (Excess Flood)
00:49:49  * kazuponjoined
00:49:59  * philips_joined
01:03:22  * kazuponquit (Ping timeout: 255 seconds)
01:03:49  * EhevuTovquit (Quit: This computer has gone to sleep)
01:07:19  * EhevuTovjoined
01:10:20  * spionquit (Ping timeout: 246 seconds)
01:15:02  * kazuponjoined
01:15:43  * kazuponquit (Remote host closed the connection)
01:22:20  <MI6>joyent/node: Ben Noordhuis master * f8999da : build: avoid -Wno-old-style-declaration with gcc 4.2 Fixes the build on - http://git.io/2Gh5jQ
01:26:01  * EhevuTovquit (Quit: This computer has gone to sleep)
01:37:02  * abraxasjoined
01:44:43  * EhevuTovjoined
02:09:07  <MI6>joyent/node: Ben Noordhuis master * 9d02bfb : test: fix simple/test-setproctitle on freebsd - http://git.io/POH7oQ
02:10:22  <isaacs>oh, well that sucks.
02:10:28  <isaacs>streams2 passes all tests, but breaks npm.
02:10:31  <isaacs>that's never good :)
02:19:28  * mikealjoined
02:24:11  * mikealquit (Ping timeout: 260 seconds)
02:24:54  * c4milojoined
02:39:46  * brsonquit (Quit: leaving)
02:56:39  * beachdogjoined
03:14:30  * bnoordhuisquit (Ping timeout: 264 seconds)
03:19:52  * mikealjoined
03:24:26  * c4miloquit (Remote host closed the connection)
03:24:29  * mikealquit (Ping timeout: 260 seconds)
03:31:08  * EhevuTovquit (Quit: This computer has gone to sleep)
03:33:16  * beachdogquit (Remote host closed the connection)
03:36:02  * davispquit (Excess Flood)
03:39:14  * beachdogjoined
03:43:42  * jmar777quit (Remote host closed the connection)
03:57:07  * philips_quit (Excess Flood)
04:01:29  * philips_joined
04:11:08  <isaacs>ahh... ok, it was a bona-fide bug in node-tar, but one that didn't manifest unless pause works.
04:11:11  <isaacs>ugh.
04:18:33  * AvianFluquit
04:19:45  * mikealjoined
05:27:56  * EhevuTovjoined
05:42:13  * bradleymeckjoined
05:51:02  * Jamesjoined
05:51:26  * Jameschanged nick to Guest2696
05:52:36  <Guest2696>hey induty
05:52:45  <Guest2696>how's the libuv integration with qt coming along?
05:53:35  * davispjoined
05:53:35  * davispquit (Excess Flood)
05:54:05  * davispjoined
05:54:05  * davispquit (Excess Flood)
05:58:04  * davispjoined
05:58:05  * davispquit (Excess Flood)
05:58:53  * Guest2696quit (Quit: Page closed)
06:01:05  * davispjoined
06:01:05  * davispquit (Excess Flood)
06:05:04  * davispjoined
06:05:05  * davispquit (Excess Flood)
06:07:05  * davispjoined
06:07:05  * davispquit (Excess Flood)
06:08:04  * davispjoined
06:08:04  * davispquit (Excess Flood)
06:12:34  * davispjoined
06:12:34  * davispquit (Excess Flood)
06:13:04  * davispjoined
06:13:05  * davispquit (Excess Flood)
06:14:04  * davispjoined
06:14:05  * davispquit (Excess Flood)
06:21:35  * davisp-joined
06:27:06  * bradleymeckquit (Quit: bradleymeck)
06:47:56  * EhevuTovquit (Quit: This computer has gone to sleep)
06:59:58  * felixgejoined
06:59:58  * felixgequit (Changing host)
06:59:58  * felixgejoined
07:53:27  * `3rdEdenjoined
07:53:55  * abraxasquit (Remote host closed the connection)
07:58:15  * felixgequit (Remote host closed the connection)
07:58:28  * felixgejoined
07:58:28  * felixgequit (Changing host)
07:58:28  * felixgejoined
08:05:41  * xakaquit (Ping timeout: 265 seconds)
08:22:17  * EhevuTovjoined
08:54:51  * felixgequit (Read error: Connection reset by peer)
08:55:02  * felixgejoined
08:55:02  * felixgequit (Changing host)
08:55:02  * felixgejoined
08:55:47  * benoitcquit (Excess Flood)
09:00:17  * benoitcjoined
09:07:05  * rendarjoined
09:08:06  * EhevuTovquit (Quit: This computer has gone to sleep)
09:24:49  * felixgequit (Quit: felixge)
09:46:28  * spionjoined
09:59:11  * spionquit (Ping timeout: 246 seconds)
10:12:52  <roxlu_>hi guys!
10:13:47  <indutny>hi
10:14:11  <roxlu_>I'm using the udp api, and set a callback to an allocation function for uv_udp_recv_start. I'm detecting a memory leak now as it seems this buffer isn't freed anymore. I suppose I need to free it myself ?
10:19:09  <indutny>yes, I think so
10:24:43  <roxlu_>ok thanks
10:30:17  <roxlu_>hmm that's wierd. in my on_read() callback, when I free the buffer, even when the number-of-bytes-read (nread) is zero the memory leak if fixed
10:30:31  <roxlu_>but the wierd thing is that I don't see any allocation in my analizer either :#
10:30:52  <indutny>heh
10:31:04  <roxlu_>analyzer ... but yeah isn't that wierd
10:34:06  <indutny>idk
10:34:09  <indutny>what are you using?
10:34:11  <indutny>valgrind?
10:34:15  <indutny>google-perftools?
10:35:09  <roxlu_>I'm on mac
10:35:19  <roxlu_>using Instruments / memory leak analyzer
10:38:02  <indutny>фр
10:38:03  <indutny>ah
10:38:04  <indutny>well
10:40:27  <indutny>I haven't really used it
10:50:41  * spionjoined
11:13:36  * stagasjoined
12:31:34  * stagasquit (Quit: ChatZilla 0.9.89-rdmsoft [XULRunner 1.9.0.17/2009122204])
12:45:38  * felixgejoined
13:11:49  * dr34dl0ckjoined
13:20:11  * jmar777joined
13:22:07  * beachdog_joined
13:22:23  * dr34dl0ckquit (Quit: Colloquy for iPad - http://colloquy.mobi)
13:25:28  * James12joined
13:25:41  <James12>is libuv threadsafe?
13:25:55  * beachdogquit (Ping timeout: 256 seconds)
13:26:18  <James12>ie can i call uv_write(uv_default_loop()) from a different thread and have the uv_run loop in another thread and still be able to handle those write requests?
13:32:16  <indutny>James12: no, the only thread safe function is uv_async_send()
13:32:35  * beachdog_quit (Ping timeout: 255 seconds)
13:32:38  <James12>hum
13:32:47  * philips_quit (Excess Flood)
13:32:52  <James12>i was going to make a custom QIODevice that uses libuv for read and writes
13:33:29  <indutny>you can still use uv_async_send() to notify event loop about new data to write or to read
13:34:31  * philips_joined
13:35:35  <James12>i'll try it out
13:35:44  <James12>how's the qt integration coming along?
13:36:37  <indutny>uv_backend_fd() has landed
13:36:50  <indutny>so you can integrate it
13:37:05  <indutny>see https://github.com/joyent/libuv/blob/master/test/test-embed.c for reference
13:38:34  <James12>looks like it won't work on windows iocp
13:38:35  <James12>#if defined(HAVE_KQUEUE) || defined(HAVE_EPOLL)
13:38:51  <indutny>yes, it won't
13:39:02  <indutny>actually, there're no way to make it run inside qt's loop on windows
13:39:10  <indutny>at least nothing that we're aware of
13:43:04  * hzjoined
13:46:20  * felixge_joined
13:49:49  * felixgequit (Ping timeout: 265 seconds)
13:49:50  * felixge_changed nick to felixge
13:54:42  * piscisaureus_joined
13:59:33  <piscisaureus_>hello
13:59:38  * James12quit (Ping timeout: 245 seconds)
14:00:03  <indutny>hello
14:00:12  <indutny>how are you today, bert?
14:02:58  <piscisaureus_>I am good today fedor
14:03:03  <piscisaureus_>I am going to fix node bugs now :-)
14:03:30  <piscisaureus_>I saw that ben was already looking at your crypto stuff?
14:06:17  <indutny>yes
14:06:23  <indutny>but you might look as well
14:06:26  <indutny>and comment :)
14:34:14  * beachdogjoined
14:39:04  * piscisaureus_quit (Read error: Connection reset by peer)
14:39:46  * beachdogquit (Remote host closed the connection)
14:39:51  * piscisaureus_joined
14:40:31  * c4milojoined
14:47:22  * piscisaureus_quit (Read error: Connection reset by peer)
14:50:56  * bnoordhuisjoined
15:01:07  * bradleymeckjoined
15:42:09  * jmar777quit (Remote host closed the connection)
16:01:39  * indutny_ajoined
16:01:54  <indutny_a>Heya
16:01:56  * piscisaureus_joined
16:02:25  <indutny_a>finally installed orc on android
16:05:45  <mmalecki>orc?
16:05:50  <mmalecki>how does one install an orc?
16:08:38  <indutny_a>Haha
16:09:06  <indutny_a>Its not that hard, you know
16:10:08  * jmar777joined
16:12:29  <piscisaureus_>hey bnoordhuis
16:12:44  <bnoordhuis>piscisaureus_: ho piscisaureus_
16:12:57  <indutny_a>Hey Ben
16:13:04  <bnoordhuis>hey fedor
16:13:24  <indutny_a>About that SSL thingy
16:13:34  <bnoordhuis>which one?
16:14:15  <indutny_a>Do you still think its not the right time to refactor it?
16:14:29  <MI6>joyent/libuv: piscisaureus created branch reviewme - http://git.io/Q-DWrQ
16:14:31  * warzjoined
16:14:31  * warzquit (Changing host)
16:14:31  * warzjoined
16:14:32  <piscisaureus_>bnoordhuis: ^-- wanna review that?
16:14:52  <bnoordhuis>depends. what does it do?
16:15:23  <indutny_a>also, it would be good to land men leak fix
16:15:39  <piscisaureus_>bnoordhuis: https://github.com/joyent/node/issues/4353
16:15:44  <piscisaureus_>bnoordhuis: it fixes that
16:15:47  <bnoordhuis>yep, saw it
16:16:02  <piscisaureus_>actually, I just spotted an (unlikely) memleak
16:16:04  <piscisaureus_>lemme fix that
16:16:19  * travis-cijoined
16:16:20  <travis-ci>[travis-ci] joyent/libuv#912 (reviewme - 1c731f5 : Bert Belder): The build passed.
16:16:20  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/0f0fee548cab^...1c731f54c157
16:16:20  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/3478829
16:16:20  * travis-cipart
16:16:39  <indutny_a>men leak, oh crap
16:16:52  <indutny_a>what's up with my phone
16:17:27  <piscisaureus_>bnoordhuis: yeah hold on for a sec :-)
16:21:32  <piscisaureus_>bnoordhuis: actually, I'm going to rewrite that
16:24:56  <indutny_a>bnoordhuis:we wasn't checking server's certificate in 0.6
16:25:22  <indutny_a>unless check was set in options
16:25:28  <bnoordhuis>ah, is that what you meant
16:25:30  <bnoordhuis>okay, lgtm
16:25:42  <indutny_a>Yeah
16:26:12  <indutny_a>Let's try WiFi hotspot on my thingy
16:26:39  <bnoordhuis>on a side note, i noticed tls leaks one or two SecureContext objects even if you force a full gc at script exit
16:26:51  <bnoordhuis>may be harmless though
16:28:13  * c4miloquit (Remote host closed the connection)
16:28:30  <indutny_a>Can't reproduce it
16:28:52  <indutny_a>Are you using agent?
16:30:36  <MI6>joyent/node: Fedor Indutny v0.8 * 276245d : crypto: fix leak in GetPeerCertificate - http://git.io/vnzM3g
16:34:11  <MI6>joyent/node: Fedor Indutny master * 51d5655 : crypto: fix leak in GetPeerCertificate - http://git.io/vv84ug
16:38:23  <indutny_a>bnoordhuis:done
16:38:34  <indutny_a>what about refactor?
16:38:53  <bnoordhuis>indutny_a: you don't have to land it in master explicitly, it can wait to the next up-merge
16:39:07  <bnoordhuis>this way you may get double commits
16:39:28  <bnoordhuis>re refactor, i don't really see the point
16:40:56  <indutny_a>I want to support clean code in 0.10
16:41:27  <indutny_a>not this mess of class declarations and method definitions
16:42:09  <indutny_a>also it cleans up some possible leaks
16:42:41  <indutny_a>by replacing BIO_free with BIO_free_all
16:45:41  <indutny_a>bnoordhuis: it seems to be rational, isn't it?
16:46:33  <CoverSlide>was the source ofthe bug mjr_ reported?
16:47:50  <indutny_a>No, I hope I just fixed that bug
16:48:02  <indutny_a>see master's HEAD
16:49:51  <indutny_a>CAPSLOCKBOT: OH YEAH! YOU ARE HERE
16:49:51  <LOUDBOT>NONE PIZZA LEFT CORN CLOCK TO DAYLIGHT SAVINGS
16:52:07  * rendar_joined
16:52:27  * piscisaureus__joined
16:53:43  * warz_joined
16:54:42  * rendarquit (Write error: Connection reset by peer)
16:56:52  * warzquit (Ping timeout: 250 seconds)
16:56:52  * piscisaureus_quit (Ping timeout: 250 seconds)
17:03:02  <isaacs>HOORAY! HOORAY FOR LOUDBOT! LET THE LETTING OF LOUDS BEGIN!
17:03:03  <LOUDBOT>IT WILL HELP ME TO BETTER SERVE YOU
17:03:12  <isaacs>IT WILL HELP TO BETTER SERVE US ALL
17:03:13  <LOUDBOT>ATTENTION EVERYONE I THINK I MAY HAVE JUST SHARTED.
17:03:18  <isaacs>OVERSHARE
17:03:51  <indutny_a>HAHAHA
17:04:02  <indutny_a>DIE!
17:04:14  <indutny_a>isaacs:hi
17:04:24  <isaacs>indutny_a: hola
17:04:39  <indutny_a>Reading streams2 code while sitting in car
17:04:48  <indutny_a>so far looks good
17:05:08  * indexzerojoined
17:05:39  <isaacs>indutny_a: nice.
17:05:58  <isaacs>indutny_a: rethinking http now. i think for 0.10, it's going ot be less invasive than what i'm in the middle of doing.
17:06:01  <isaacs>got too much into the weeds.
17:06:35  <indutny_a>Well, let's start with something
17:07:22  <indutny_a>Worst thing is not delivering product because of some incompleteness
17:08:19  <isaacs>yeah
17:08:36  * felixgequit (Ping timeout: 264 seconds)
17:09:13  * dapjoined
17:10:40  <isaacs>so, instead, i'm just going to plow through until make test works
17:10:42  <isaacs>on streams2-net
17:12:50  <indutny_a>Yeah, for me this sounds like a plan
17:13:54  * AvianFlujoined
17:15:26  * xakajoined
17:17:49  <isaacs>indutny_a: what I'd really love is to do something like socket.pipe(parser).on('request', function (q,s) { s.pipe(socket); server.emit('request', q, s) })
17:18:34  <indutny_a>I understand, transformation
17:19:01  * stagasjoined
17:20:08  <indutny_a>this would simplify soft code as eell
17:20:08  <indutny_a>well*
17:20:16  <isaacs>right, so the response is a transform stream that turns your response.write() into a HTTP encoded thing
17:20:37  <indutny_a>But I don't understand .sync stuff so far
17:20:58  <isaacs>well, it's still async under the hood
17:20:58  <indutny_a>need to read it again after I'll finish
17:21:10  <isaacs>_read(size,cb) is async
17:21:24  <isaacs>and read() just calls _read() to keep the buffer at a good size
17:21:37  <indutny_a>Well
17:21:47  <indutny_a>why .sync then?
17:22:14  <indutny_a>Just to let it know that it wasn't called directly?
17:22:44  <indutny_a>Btw, I don't like _read and _write naming
17:22:48  <isaacs>ohhh the sync var
17:23:02  <isaacs>yes, that's to let it know that we're still in teh same tick
17:23:08  <indutny_a>considering that its almost public API
17:23:18  <isaacs>indutny_a: it's "protected" api
17:23:25  <isaacs>indutny_a: users should not call it, classes should impelment it
17:23:39  <indutny_a>Well
17:23:56  <indutny_a>users implement classes too ;)
17:24:01  <isaacs>right
17:24:14  <isaacs>but code should never do: x = new whatever(); x._read(...)
17:24:30  <isaacs>when you're implemneting the class, you implement _read.
17:24:37  <isaacs>when you're instantiating the class, you don't touch it
17:24:57  <isaacs>or at least, you go carefully and read the docs :)
17:25:21  * davisp-quit (Excess Flood)
17:26:04  <indutny_a>Hmmm
17:26:14  <indutny_a>makes sense
17:26:57  * felixgejoined
17:27:42  * ircretaryquit (Ping timeout: 276 seconds)
17:29:06  * davispjoined
17:29:06  * davispquit (Excess Flood)
17:29:36  * davispjoined
17:29:36  * davispquit (Excess Flood)
17:30:06  * davispjoined
17:30:07  * davispquit (Excess Flood)
17:30:36  * davisp-joined
17:32:45  <indutny_a>Isaacs: may be we can consider API method for setting them w/o knowing this ugly names?
17:33:28  <isaacs>indutny_a: what's a better name that communicates "This is the method that does async reading. Dont' call it directly"?
17:33:32  <isaacs>_read is perfect, i think
17:33:39  <isaacs>but maybe it is a bit too scary.
17:33:55  <indutny_a>Indeed
17:33:58  <isaacs>Raynos suggested new Readable(function(size, callback) { ... })
17:34:12  <isaacs>but that's a bit weird, too
17:34:13  <indutny_a>yeah
17:34:18  <isaacs>doesn't really compose OOP-style
17:34:22  <indutny_a>that's what I'm talkin bout
17:34:38  <indutny_a>Hmmm
17:34:49  <isaacs>also, what about duplexes that hav a _read and also a _write?
17:34:52  <indutny_a>Yes
17:35:11  <isaacs>function Socket(options) { Duplex.call(this, options, socketRead, socketWrite) ... }?
17:35:15  <indutny_a>it complicates wrapping and extending
17:35:23  <indutny_a>no
17:35:25  <indutny_a>nvm
17:35:28  <isaacs>reinventing OOP is not wise. V8 punishes such sins.
17:35:45  <indutny_a>lets stick to _read
17:35:59  <indutny_a>may be dangerousRead
17:36:03  <indutny_a>Haha
17:36:13  <indutny_a>or
17:36:15  <indutny_a>throwRead
17:36:27  * indexzeroquit (Quit: indexzero)
17:36:47  <isaacs>hehe
17:37:28  <isaacs>MyStream.prototype.internalReadFunctionThatYouShouldImpelementButNotCallDirectlyYourself = function(size, cb) { ... }
17:38:16  <indutny_a>readInterface?
17:38:33  <CoverSlide>what about .onRead ?
17:38:47  <indutny_a>Confusing
17:38:47  * rendar_quit
17:38:47  <indutny_a>both
17:39:25  <mjr_>All APIs that do anything interesting are confusing.
17:39:27  <isaacs>mjr_: ++
17:39:28  * rendarjoined
17:39:41  <indutny_a>haha
17:39:41  <indutny_a>right
17:40:43  <CoverSlide>http.js is full of .on* methods
17:41:13  <indutny_a>It's a rudiments
17:41:55  <indutny_a>onreadneeded?
17:42:48  <isaacs>.on* sounds like an event handler
17:42:52  <isaacs>it's not an event: it's an action
17:43:36  <indutny_a>Right
17:43:49  <indutny_a>events do not return in node
17:44:02  <indutny_a>I mean event handlers
17:44:20  <isaacs>indutny_a: well, more to the point, event handlers dont' have to call a callback
17:44:22  <indutny_a>doRead
17:44:24  <isaacs>and _read(n,cb) does
17:44:46  <isaacs>doRead(n,cb) is a bit better
17:44:49  <isaacs>but now i think i can call that in my app
17:44:53  <isaacs>no _
17:45:33  <indutny_a>Well
17:45:58  <indutny_a>It will be marked as internal in documentation
17:46:24  <isaacs>i think the standard for doing that is a _
17:46:28  <indutny_a>Also people may even call _read
17:46:38  <indutny_a>Oook
17:46:41  <isaacs>rue, but they'll be scard of it :)
17:46:44  <isaacs>*true
17:46:46  <indutny_a>you boring man
17:46:51  <indutny_a>:)
17:46:54  <isaacs>hahaha
17:52:15  * bnoordhuisquit (Ping timeout: 256 seconds)
17:52:38  * felixgequit (Quit: felixge)
17:56:30  <indutny_a>Isaacs: lgtm, reviewed
17:56:41  <isaacs>indutny_a: thanks
17:57:32  * lohkey_joined
17:58:21  * lohkey_quit (Client Quit)
18:02:07  <isaacs>indutny_a: i have a cleaned up history to push, also
18:02:20  * sblomjoined
18:03:47  <MI6>joyent/node: isaacs streams2 * 65dbf9e : doc: Crypto streaming interface (+47 more commits) - http://git.io/_eJZRA
18:03:49  <isaacs>that ^
18:04:21  <mmalecki>isaacs: does streams2 support abstract data type streams?
18:04:40  <isaacs>mmalecki: yes, but not super duper well.
18:04:51  <isaacs>mmalecki: the best is to overwrite the read() method instead of _read(n,cb)
18:05:07  <isaacs>mmalecki: since buffering and "size" is all very buffer- and string-centric
18:07:17  * joshthecoderjoined
18:09:37  <MI6>joyent/node: isaacs streams2 * 7b3f34f : fs: Default to higher water marks for fs streams - http://git.io/2NNtOQ
18:12:39  <mmalecki>isaacs: I see
18:14:10  * mikealquit (Quit: Leaving.)
18:14:55  * mikealjoined
18:19:25  * bradleymeckquit (Quit: bradleymeck)
18:23:20  * TooTallNatejoined
18:25:59  * `3rdEdenquit (Remote host closed the connection)
18:32:47  * `3rdEdenjoined
18:33:56  <isaacs>the fact that the HTTPParser is not a Stream is really fxcking annoying.
18:34:45  <CoverSlide>JS PARSER!!
18:34:46  <LOUDBOT>SIMPLE COINCIDENCE? MAYBE. EVIDENCE OF LATENT PSYCHIC ABILITY IN HUMANS? POSSIBLY. KIND OF WEIRD? CERTAINLY.
18:34:51  <isaacs>makes backpressure a lot hard.er
18:35:01  <isaacs>before, IncomingMessage.pause() just called this.socket.pause()
18:35:05  <isaacs>same for resume
18:35:17  <isaacs>but now, the Parser does socket.on('data', alkdsfjasdlfkj)
18:36:48  <isaacs>so there's this nice streaming thing, getting consumed by a non-stream, which then gets consumed by a stream.
18:36:59  <isaacs>I KNOW. I'LL REWRITE IT!
18:36:59  <LOUDBOT>ALL OTHERS ARE FAKE
18:37:07  <isaacs>except, like LOUDBOT says, that would be fake.
18:38:47  <CoverSlide>there's parsely, i know substack used to have benchmarks posted for that, I don't know where those went though
18:39:17  * TooTallNatequit (Ping timeout: 256 seconds)
18:42:00  * TooTallNatejoined
18:42:32  <indutny>isaacs: hoya
18:42:36  <indutny>isaacs: from MBP now
18:42:38  <indutny>isaacs: what about https://github.com/joyent/node/pull/4348#discussion_r2295092
18:42:47  * spionquit (Ping timeout: 246 seconds)
18:42:49  * jmar777quit (Remote host closed the connection)
18:42:53  <indutny>isaacs: btw, what breaks in streams2-http
18:42:53  <indutny>?
18:43:06  <indutny>is this some edge case, or just API change?
18:43:09  <isaacs>indutny: i think that was based on the existing behavior in fs streams
18:43:11  * c4milojoined
18:43:15  <indutny>ah
18:43:17  <indutny>and
18:43:25  * hzquit (Disconnected by services)
18:43:26  <indutny>streams2 should reproduce it, if 'data' listener is addd
18:43:29  * hzjoined
18:43:34  <isaacs>indutny: it that's not how they already work, then it should change to match
18:43:40  <indutny>ooh
18:45:04  <isaacs> if (err) {
18:45:04  <isaacs> self.writable = false;
18:45:04  <isaacs> if (cb) {
18:45:04  <isaacs> cb(err);
18:45:06  <isaacs> }
18:45:09  <isaacs> self.emit('error', err);
18:45:11  <isaacs> return;
18:45:14  <isaacs> }
18:45:16  <isaacs>yeah
18:45:19  <isaacs>calls cb(err), then emits
18:45:21  <isaacs>why? i don't know.
18:45:25  <isaacs>but if we change that, it's a whole other discussion.
18:45:53  <isaacs>indutny: so, with streams2-net, i'm not sure exactly why things break.
18:45:58  <isaacs>indutny: haven't dug into it too much
18:46:05  <isaacs>it mostly works if you just call socket.resume() right away
18:46:17  <indutny>not sure if I'm realling willing to debug it
18:46:25  <indutny>but I may look into it later
18:46:27  <isaacs>indutny: but, i want to have the server request and client response be stream.Readables
18:46:32  <isaacs>indutny: no worries, i'm digging through it now
18:53:24  * lohkey_joined
18:54:43  * lohkey_quit (Client Quit)
18:56:53  <mmalecki>isaacs: hey, https://npmjs.org/ appears down for me
18:57:02  * TooTallNatequit (Read error: Connection reset by peer)
18:57:07  <isaacs>l, that's not good
18:57:25  <mmalecki>isaacs: might be related to recent joyent issues?
18:57:31  * TooTallNatejoined
18:58:11  <isaacs>mmalecki: doubtful.
18:58:13  <mmalecki>back up now
18:58:18  <isaacs>mmalecki: yeah, i restarted it
18:58:25  <isaacs>the service was running, but not getting responses from registry
19:01:28  <mmalecki>I see
19:01:32  <mmalecki>glad it's back up :)
19:01:40  <indutny>isaacs: hehe
19:01:41  * bradleymeckjoined
19:01:51  <indutny>isaacs: glad that I set up backup
19:01:58  <indutny>but it's actually working now
19:14:29  * EhevuTovjoined
19:24:50  * EhevuTov_joined
19:26:06  <isaacs>hmm, download counts appear to be busted.
19:26:10  <isaacs>wonder why that is.
19:26:16  <isaacs>diabled temporarily, i'll dig in later, i guess.
19:26:26  <isaacs>looks like the view is getting non-numeric data out of the map function somehow
19:26:47  <MI6>joyent/libuv: Bert Belder reviewme * 8e49be6 : windows: improve / fix uv_interface_addresses * If GetAdaptersAddresses( - http://git.io/7JH3Kw
19:27:02  <piscisaureus__>^-- sblom bnoordhuis - can you review that?
19:28:24  * EhevuTovquit (Ping timeout: 264 seconds)
19:29:06  * travis-cijoined
19:29:06  <travis-ci>[travis-ci] joyent/libuv#914 (reviewme - 8e49be6 : Bert Belder): The build passed.
19:29:06  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/1c731f54c157...8e49be631a62
19:29:06  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/3482027
19:29:06  * travis-cipart
19:29:28  * brsonjoined
19:35:30  * stagasquit (Quit: ChatZilla 0.9.89-rdmsoft [XULRunner 1.9.0.17/2009122204])
19:40:54  * jmar777joined
19:57:00  * indexzerojoined
20:01:38  * indutny_a_bjoined
20:04:24  * indutny_aquit (Ping timeout: 264 seconds)
20:09:43  * TooTallNatequit (Ping timeout: 265 seconds)
20:10:03  * sgallaghjoined
20:10:22  * TooTallNatejoined
20:21:23  * `3rdEdenquit (Remote host closed the connection)
20:23:27  * indexzeroquit (Quit: indexzero)
20:29:45  * `3rdEdenjoined
20:32:25  * jmar777quit (Remote host closed the connection)
20:34:22  * jmar777joined
20:38:57  * felixgejoined
20:42:14  <indutny>oh
20:42:18  <indutny>ben is not there
20:42:20  <indutny>:(
20:42:21  <indutny>sad face
20:48:26  * `3rdEdenquit (Remote host closed the connection)
20:48:42  <piscisaureus__>is sblom also not here?
20:52:55  * indexzerojoined
20:54:28  <piscisaureus__>mraleph1: I did not expect you to cave in so quickly
20:54:36  <piscisaureus__>mraleph1: super light weight isolates would be a good start :-)
20:55:07  * piscisaureus__changed nick to piscisaureus
20:56:59  * EhevuTov_quit (Quit: Leaving)
20:58:37  <indutny>mraleph1: отвечай за слова
20:58:39  <indutny>:D
21:00:53  * jmar777quit (Read error: Connection reset by peer)
21:01:19  * jmar777joined
21:04:07  * sgallaghquit (Read error: Operation timed out)
21:05:28  * spionjoined
21:10:18  * xakaquit (Ping timeout: 264 seconds)
21:13:01  * Raltjoined
21:17:49  <MI6>joyent/libuv: Bert Belder reviewme * cfdc135 : windows: improve / fix uv_interface_addresses * If GetAdaptersAddresses( - http://git.io/-Jq3QA
21:19:40  * travis-cijoined
21:19:40  <travis-ci>[travis-ci] joyent/libuv#916 (reviewme - cfdc135 : Bert Belder): The build passed.
21:19:40  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/8e49be631a62...cfdc135d80a8
21:19:40  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/3483946
21:19:40  * travis-cipart
21:34:39  * jmar777quit (Remote host closed the connection)
21:35:24  <MI6>joyent/node: Bert Belder master * 03b00dc : os: throw when os.networkInterfaces() fails - http://git.io/Xvd7NA
21:35:26  <piscisaureus>it is so lonely in here
21:35:33  <piscisaureus>where are bnoordhuis and isaacs when you need them...
21:36:26  <indutny>heh
21:36:27  <indutny>dunno
21:36:42  <indutny>perhaps, I can help you?
21:37:01  <indutny>piscisaureus: ^
21:39:55  <MI6>joyent/libuv: Bert Belder reviewme * 617cce7 : windows: improve / fix uv_interface_addresses * If GetAdaptersAddresses( - http://git.io/KkUxFQ
21:39:58  <piscisaureus>indutny: I need someone to review that ^
21:41:09  <indutny>looking
21:41:25  <indutny>can't comment on it though
21:41:32  <piscisaureus>huh why not?
21:41:39  * travis-cijoined
21:41:39  <travis-ci>[travis-ci] joyent/libuv#918 (reviewme - 617cce7 : Bert Belder): The build passed.
21:41:39  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/cfdc135d80a8...617cce7c8580
21:41:39  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/3484338
21:41:39  * travis-cipart
21:41:42  <indutny>https://github.com/joyent/libuv/compare/cfdc135d80a8...617cce7c8580#L0R756
21:41:43  <indutny>grammar
21:41:46  <indutny>it's a compare
21:41:49  <indutny>not even a commit
21:41:57  <indutny>https://github.com/joyent/libuv/compare/cfdc135d80a8...617cce7c8580#L0R744
21:41:57  <indutny>style
21:42:10  <piscisaureus>indutny: ... that doesn't really work
21:42:18  <indutny>oh shit
21:42:19  <indutny>ok
21:42:24  <indutny>let me finish reading it first
21:42:25  <piscisaureus>indutny: if you open the commit you can comment
21:42:36  * hzquit
21:44:04  <mmalecki>piscisaureus: win32 APIs makes me cringe but that looks like sane C to me
21:50:38  <indutny>piscisaureus: generally lgtm
21:51:28  <indutny>ok
21:51:30  <indutny>time to sleep
21:51:58  <piscisaureus>indutny: thanks
21:52:09  <piscisaureus>indutny: it will be landed when you wake up :p
21:52:14  <indutny>haha
21:52:15  <indutny>ok
21:53:18  <indutny>I feel like I'm on a reviewing wave today
21:53:26  <indutny>read tons of isaacs code
21:53:33  <indutny>and now this
21:54:52  <txdv>indutny: what is the difference between cpp and cc extensions?
21:55:01  <indutny>there're no difference
21:55:08  <indutny>that's it
21:55:17  <indutny>the most of compilers supports both
21:55:19  * stagasjoined
21:55:53  <indutny>ok
21:55:55  * indutnyaway
21:56:02  <txdv>cpp files should always include header files
21:56:24  <sblom>looking
21:56:25  <txdv>if you take that as an limitation, you can give the cpp files whatever extension you want
21:56:58  <sblom>piscisaureus ^
21:57:18  <sblom>(If still needed)
21:57:19  <indutny>huh
21:57:26  <indutny>txdv: what makes you think so?
21:58:21  <txdv>because of the fucked up include system on cpp
21:58:54  <indutny>huh
21:58:57  <indutny>never heard of this
21:58:59  <indutny>piscisaureus: ^^
21:59:02  <indutny>sblom: ^^
21:59:05  <indutny>is that true?
22:00:32  <sblom>indutny: I've also never heard of that.
22:00:59  * Raltquit (Ping timeout: 260 seconds)
22:01:00  <sblom>I'm not sure I've ever successfully written a C++ program with no includes, but I would expect to have heard of that limitation...
22:01:31  * jmar777joined
22:01:37  <indutny>I've did
22:01:43  <indutny>but with .cc extension
22:03:02  <indutny>ttyl, guys
22:03:05  <indutny>sleep time
22:03:18  <piscisaureus>sblom: please. That needs to go into 0.8.16 as well so we better be safe
22:09:23  * xakajoined
22:21:12  * bradleymeckquit (Quit: bradleymeck)
22:24:05  * indutny_a_bquit (Quit: Bye)
22:24:32  * rendarquit
22:33:50  <txdv>piscisaureus: ^^
22:34:00  <piscisaureus>sup txdv?
22:34:10  <txdv>how do you do?
22:34:12  <txdv>:>
22:34:36  <txdv>cloud 9 is the cloud of coders, right?
22:34:40  <piscisaureus>txdv: I'm fine, thanks. And you?
22:34:42  <piscisaureus>txdv: yes
22:35:10  <txdv>i wanted to ask
22:35:16  <mmalecki>piscisaureus: did I ever tell you that I'm coming to Amsterdam in January btw :) ?
22:35:22  <piscisaureus>mmalecki: cool
22:35:24  <txdv>that dual stack is just a simple socket setopt?
22:35:31  <piscisaureus>txdv: yes
22:35:49  <piscisaureus>mmalecki: gimme a heads up when you know dates etc. We can go grab some beers.
22:35:50  <txdv>because it translates in some nice api if you have overloading on methods
22:36:02  <mmalecki>piscisaureus: I know dates already. 14th - 21st
22:36:20  <piscisaureus>that sounds like a long enough time frame to figure something out
22:36:35  <mmalecki>definitely :)
22:37:42  <txdv>Hm, ok, I wanted to ask about write_stop/read - is it really hard to implement on windows?
22:38:38  * warz_quit
22:38:58  <piscisaureus>txdv: yes
22:39:01  <txdv>turns out manos just has the api, which is not being used, one argument is that it is not that popular, the other it is that it is not that important
22:39:14  <piscisaureus>txdv: but apart from that its a totally pointless api
22:39:24  <piscisaureus>txdv: I mean, you want to queue writes but not write?
22:39:33  <piscisaureus>txdv: then why are you queuing writes in the first place?
22:39:54  <txdv>Well one scenario, which I did do is writing a proxy
22:40:04  <txdv>but if you pause the reading, you don't have to write anyway
22:40:28  <piscisaureus>txdv: huh
22:40:37  <piscisaureus>txdv: I think you are misunderstanding something
22:41:21  <piscisaureus>txdv: I think other APIs have "write stop" to indicate that they are not interested in "writable" events, because they have no data to write
22:41:59  <piscisaureus>txdv: libuv manages that automatically. You supply data to libuv and it makes sure it gets queues. On unix, the "writable" event is automatically enabled or disabled.
22:42:04  <piscisaureus>and on windows it is all different.
22:43:50  <txdv>well, that is why libevent had a lot of trouble on the win implementation
22:44:13  <piscisaureus>yes
22:44:21  <piscisaureus>that's why we wrote libuv in the first place
22:46:16  <txdv>well the limitation of libuv is that if you want to stop writing but already have written to the queue, you can't, but I though about it, I can't come up with a reasonable explanation why I would do so
22:46:31  <piscisaureus>txdv: exactly
22:46:37  <piscisaureus>txdv: it is indeed a limitation of the api
22:46:47  <piscisaureus>txdv: but in the end it is a limitation of the windows api
22:47:14  <piscisaureus>txdv: bnoordhuis was working on uv_cancel which eventually could support write reqs too
22:47:42  <piscisaureus>txdv: but that function would work on a "best effort" basis, cancelling writes could be possible on windows sometimes but not always
22:47:57  <txdv>better never
22:48:12  <piscisaureus>well, there is CancelIo
22:48:14  <piscisaureus>on vista_
22:48:20  <piscisaureus>*vista and later
22:48:24  <piscisaureus>but it does not always work
22:48:39  <txdv>i thought unix had a shitty api
22:48:44  <piscisaureus>ti has
22:48:50  <piscisaureus>but windows is no good either :-)
22:49:14  <piscisaureus>actually I meant CancelIoEx ntw
22:49:29  * xakaquit
22:49:35  <txdv>whats with that Ex at the end of function name
22:49:52  <piscisaureus>CancelIo cannot cancel a specific operation
22:50:02  <piscisaureus>CancelIoEx is the "extended" version that can
22:50:44  <txdv>well, i closed issue, setsockopt dualstack for tcp is still possible on windows, right?
22:51:05  <txdv>i closed the issue *
22:51:48  * indexzeroquit (Quit: indexzero)
22:52:56  * TooTallNatequit (Read error: Connection reset by peer)
22:54:26  <txdv>because that is some fun feature
22:54:41  <piscisaureus>yes
22:54:45  <piscisaureus>I take patches
22:55:43  * jmar777quit (Remote host closed the connection)
22:57:15  <txdv>i'll do that patch
22:57:54  * TooTallNatejoined
23:16:38  * joshthecoderquit (Quit: Leaving...)
23:29:56  * rvaggquit (Quit: ta ta)
23:40:48  * spionpart ("Leaving")
23:44:57  * jmar777joined
23:48:13  <MI6>joyent/libuv: Bert Belder reviewme * 5471b9e : windows: improve / fix uv_interface_addresses * If GetAdaptersAddresses( - http://git.io/KNhYTw
23:50:03  * travis-cijoined
23:50:03  <travis-ci>[travis-ci] joyent/libuv#920 (reviewme - 5471b9e : Bert Belder): The build passed.
23:50:03  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/617cce7c8580...5471b9ea9636
23:50:03  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/3486470
23:50:03  * travis-cipart
23:52:50  * rvaggjoined