00:20:45  <substack>ls
00:20:46  <substack>hah
00:23:21  * chapelquit (Quit: ZNC - http://znc.sourceforge.net)
00:23:49  * chapeljoined
00:35:14  <rowbit>Hourly usage stats: [developer: 0, free: 38]
00:45:04  <fotoverite>So much talk about promises today
00:45:35  <pkrumins>wat
00:45:43  <fotoverite>On the twitter
00:46:17  <pkrumins>ah
00:46:24  <pkrumins>twitter is a public toilet
00:46:34  <fotoverite>It has it uses
00:46:56  <pkrumins>agreed but not for chatting
00:47:12  <pkrumins>people use it for chatting makes it public toilet
00:48:24  * xaqjoined
01:24:24  * jibayquit (Quit: Leaving)
01:35:01  <fotoverite>Oh god issacs: I rather had not seen that post.
01:35:11  <fotoverite>Dumb dumb dumb dumb.
01:35:14  <rowbit>Hourly usage stats: [developer: 0, free: 40]
01:37:25  * shuaibquit (Ping timeout: 246 seconds)
01:40:02  * shuaibjoined
01:44:36  * jiang-plusjoined
01:52:32  * mike-dquit (Quit: mike-d)
02:01:38  <rowbit>SubStack, pkrumins: Encoders down: 50.57.174.109 (free2)
02:02:06  <pkrumins>fixing
02:02:26  <pkrumins>windows rebooted
02:03:21  <pkrumins>fixed.
02:04:24  <chapel>isaacs: good blog post btw
02:04:25  * AvianFluquit (Remote host closed the connection)
02:04:39  <chapel>isaacs: enjoy your metered approach to things, and sensible reasoning
02:06:29  * shuaibquit (Ping timeout: 265 seconds)
02:08:01  * shuaibjoined
02:20:52  <Raynos>isaacs: https://gist.github.com/3791742#file_types.md
02:21:12  <Raynos>we need some proper documentation of those two types of streams and make it clear that the new base classes fail when operating on non-buffers
02:27:50  * thatguydanjoined
02:35:14  <rowbit>Hourly usage stats: [developer: 0, free: 11]
02:57:36  * xaqquit (Remote host closed the connection)
03:03:10  * AvianFlujoined
03:20:27  * xaqjoined
03:35:14  <rowbit>Hourly usage stats: [developer: 0, free: 19]
03:57:19  <isaacs>Raynos: well, the base classes will work with any random object.
03:57:30  <isaacs>Raynos: write(obj, encoding) wont' work unless the object is a buffer, of course.
03:57:34  <isaacs>but that's kind of obvious.
03:57:34  <Raynos>isaacs: doesn't fromList assume a length property
03:58:12  <isaacs>Raynos: yeah, but you'd just overwrite the read() method instead of the _read() method
03:58:23  <Raynos>isaacs: that's what I meant
03:58:35  <Raynos>isaacs: you wouldnt use _read or _write with non buffer streams
03:58:44  <isaacs>_write you could still use
03:58:55  <isaacs>but you would not want to do write({foo:"bar"}, "utf8")
03:58:58  <isaacs>clearly
03:59:27  <isaacs>but there's more to the base classes than just .read() and .write()
03:59:37  <Raynos>I know
03:59:41  <Raynos>I use the Readable base class for .pipe
04:00:15  <isaacs>a lot of userland streams *are* dealing with buffers in their read() (well, their on('data')) methods, and their write() methods
04:00:18  <isaacs>and strings
04:00:29  <Raynos>isaacs : https://github.com/isaacs/readable-stream/blob/master/writable.js#L81
04:00:36  <Raynos>that set's state.length to NaN
04:00:48  <Raynos>if it's an object without a length property
04:01:06  <isaacs>Raynos: right, so, yeah, you'd have to overwrite the write() method i guess
04:01:09  <Raynos>isaacs: That's why I recommend using the base classes when you have Buffers or strings
04:01:24  <Raynos>and use a custom base class that inherits from Readable that overwrite read & write
04:01:48  <isaacs>Raynos: well, yo uhave to override *somethingn* when you use the base clases.
04:01:58  <Raynos>true
04:02:10  <Raynos>when i say use the base classes I mean overwrite the _ properties
04:02:11  <isaacs>https://github.com/isaacs/readable-stream/blob/master/writable.js#L132-134
04:02:15  <isaacs>oh, ok
04:02:19  <isaacs>use their buffering
04:02:25  <Raynos>yes
04:02:28  <Raynos>use their low & high water marks
04:02:40  <isaacs>i'd be fine with putting some guards in place so it worked with objects, but a lot of the buffering concepts don't make any sense then
04:02:44  <Raynos>isaacs: what do you think of having `Stream.prototype.pipe === Readable.prototype.pipe`
04:02:57  <isaacs>no.
04:03:12  <Raynos>isaacs: I don't think you need to. I don't see a good use-case for using _read and _write with non strings/buffers
04:03:23  <isaacs>Raynos: right
04:03:34  <isaacs>Stream#pipe !== Readable#pipe
04:03:38  <isaacs>they're different concepts
04:03:47  <Raynos>if your writing a clean new writable stream would you just create an event emitter and add write & end ?
04:03:54  <isaacs>i'd remove Stream#pipe if it was possible
04:04:18  <Raynos>isaacs: can we just have Stream#pipe be accessed through the backwards compat layer and not expose it
04:04:38  <Raynos>What's the use case for people being able to create streams with Stream#pipe in 0.10
04:04:58  <Raynos>In theory new Readable() behaves the same as new Stream()
04:05:00  <isaacs>Raynos: current programs that extend the Stream class
04:05:05  <isaacs>Raynos: we can't break those.
04:05:09  <isaacs>Raynos: maybe in 2.0
04:05:14  <Raynos>why cant they extend the stream class
04:05:15  <isaacs>till then, no way
04:05:18  <Raynos>and have the new pipe semantics
04:05:32  <isaacs>Raynos: ?? because they are built with emit('data'), not read()
04:05:35  <Raynos>why does a program that extends Stream break when you make Stream = Readable
04:05:44  <isaacs>Raynos: because it doesn't have a read() method
04:05:46  <Raynos>isn't that a bug in the back compat layer?
04:06:09  <isaacs>Raynos: i'm saying, I wite a module that inherits from Stream, today
04:06:10  <isaacs>in 0.8
04:06:21  <Raynos>if we can't replace all references to Stream with Readable that suggests Readable is not backwards compatible
04:06:24  <isaacs>you can't just change the .pipe() method to something that calls read(), and expect it to work
04:06:32  <isaacs>Raynos: you can, but people *haven't* done that
04:06:43  <Raynos>oh. Of course
04:06:49  <isaacs>Raynos: well, also, you can't really
04:06:51  <isaacs>:)
04:06:54  <Raynos>you have no way of knowing whether pipe should be called as old or new
04:06:57  <isaacs>right
04:06:58  <Raynos>what if the new pipe
04:07:02  <Raynos>checks for the read method
04:07:04  <isaacs>i don't know if your module is going to emit('data') or call read()
04:07:06  <Raynos>and if it doesnt exist changes into old mode
04:07:14  <isaacs>what if you have a completely different thing called "read()"?
04:07:18  <isaacs>that isn't Readable.read?
04:07:21  <Raynos>>:(
04:07:22  <isaacs>or even conceptually similar?
04:07:24  <isaacs>yeah.
04:07:41  <isaacs>welcome to the "Backwards Compatibility is a Brutal Fucking Master" party
04:07:42  <Raynos>why would they do that :(
04:07:54  <Raynos>is there any way to know at all?
04:07:59  <isaacs>it's less of a party. more like getting whipped repeatedly, and no way to escape.
04:08:04  <isaacs>Raynos: nope.
04:08:24  <isaacs>Raynos: i've found it's best to assume that if you can imagine a way to break it, someone has already done it, and they'll be pissed if you ignore it.
04:08:37  <isaacs>with stuff in core, anyway
04:08:47  <Raynos>ugh I see your point
04:08:56  <Raynos>We do need some guidance
04:09:04  <Raynos>to stop developers from extending Stream by accident in 0.10
04:09:11  <Raynos>I guess that's where docs come in
04:09:25  <isaacs>wel, they can extend Stream in 0.10
04:09:25  * thatguydanquit (Read error: Connection reset by peer)
04:09:28  <isaacs>that's fine.
04:09:31  <isaacs>just not ideal.
04:09:40  <isaacs>oh, or, do you mean, in new modules that they write?
04:09:42  * thatguydanjoined
04:10:36  <Raynos>yes
04:10:49  <Raynos>we need a good way to stop people from using Stream by accident because they didnt know better
04:11:03  <Raynos>as in we need a massive community shift and evangelism
04:11:18  <Raynos>I may just make a pull request on every stream module to use Readable
04:11:34  <Raynos>or maybe just on all of dominictarr's and substack's stream module
04:11:59  * thatguydanquit (Client Quit)
04:17:43  <Raynos>isaacs: the takeWhile case needs to terminate even if the source is non-ending
04:20:05  <Raynos>isaacs: https://github.com/benvie/weakmap
04:20:11  <Raynos>I started using that weakmap shim.
04:20:30  <Raynos>It's nice :)
04:20:43  <isaacs>Raynos: oh, then just club write()
04:21:04  <isaacs>Raynos: this.write = function(){}; this.end()
04:21:17  <Raynos>that could actually work
04:21:29  <isaacs>Raynos: but that's silly. what are you piping into takewhile that never ends?
04:21:42  <Raynos>TCP socket?
04:21:50  <Raynos>take the first 10 packets of a TCP stream
04:21:54  <Raynos>assume they contain some header data
04:22:08  <Raynos>then when the writable stream emits finish you know that your done reading the header
04:22:59  <isaacs>k
04:25:23  * AvianFluquit (Remote host closed the connection)
04:29:47  <Raynos>isaacs: thanks btw :)
04:29:54  <isaacs>np
04:30:01  <Nexxy>wow when did I start showing up in this channel?
04:35:14  <rowbit>Hourly usage stats: [developer: 0, free: 15]
04:35:35  * xaq_joined
04:36:03  * xaqquit (Read error: Connection reset by peer)
04:37:47  * xaq_quit (Remote host closed the connection)
04:39:33  <Raynos>Oh hi.
04:40:24  <Raynos>isaacs: ping me when you change the docs in streams2 branch. I want to help summarize all these edge cases
05:05:17  * AvianFlujoined
05:35:14  <rowbit>Hourly usage stats: [developer: 0, free: 28]
05:48:29  * tomshredsquit (Quit: Leaving...)
06:35:14  <rowbit>Hourly usage stats: [developer: 0, free: 28]
07:14:37  * jiang-plusquit (Quit: Lost terminal)
07:35:14  <rowbit>Hourly usage stats: [developer: 0, free: 30]
07:54:19  * shuaibquit (Quit: Textual IRC Client: http://www.textualapp.com/)
08:02:16  * rowbitquit (Remote host closed the connection)
10:16:45  * jibayjoined
10:21:15  * jibay_joined
11:57:08  <substack>5 examples ready to go now
11:57:26  <substack>should be up to about 15 or 20 minutes of material
12:34:02  <substack>now 6
12:34:25  <substack>aiming for 10
12:40:35  <substack>7
12:43:11  * juliengrenierjoined
13:18:29  <substack>ok this scuttlebutt example rules
13:18:52  <substack>that makes 8
13:19:03  <substack>probably up to about 30 minutes of material now
13:19:30  <pkrumins>mention how browserling works
13:19:36  <pkrumins>through canvas and websockets
13:19:42  <substack>good thinking
13:19:43  <pkrumins>use some hujs material
13:19:47  <substack>using shoe actually
13:19:58  <pkrumins>yep
13:20:10  * jibay_quit (Quit: Leaving)
13:20:21  * jibayquit (Remote host closed the connection)
13:20:47  <substack>ok finishing the last 2
13:20:57  <substack>should be able to finish with time to spare
13:21:22  <substack>the last 2 are directly related to testling-ci
13:22:41  * shuaibjoined
13:33:27  * jibayjoined
13:44:24  <substack>ok pow
13:44:27  <substack>narrowed it down to 9
13:44:29  <substack>should be enough
13:44:30  <substack>hooray!
13:44:53  <fotoverite>shoes!
13:45:16  <substack>with 4 hours to spare
13:45:21  <substack>perhaps I'll take a nap
13:45:40  <fotoverite>I don't know how you do so many talks Substack. I'm killing myself to get tenconf done in time and going right to the next
13:46:43  <substack>repurposing materials
13:46:52  <substack>and gimmicks
13:47:04  <substack>it's also like writing modules, you just get faster at preparing for them the more you do
14:12:50  * wiwilliajoined
15:22:35  * AvianFluquit (Remote host closed the connection)
15:31:00  * st_lukejoined
15:32:41  <isaacs>Raynos: probably not going to get to that before Node Dublin
15:32:52  <isaacs>Raynos: but ack'ed, will ping when i get it updated.
15:33:03  <fotoverite>Issacs: How much time did you spend traveling this year?
15:33:09  <isaacs>Raynos: pull reqs to readable-stream are welcome, but again, probably won't be merged until later this week
15:33:20  <isaacs>fotoverite: i try not to tally it up. it's too depressing
15:33:42  <fotoverite>Issacs: same I'm sure it's over a month now, and a week spent on planes
15:36:07  <fotoverite>Issacs: what in your opinion is the best primer for node.
15:50:47  * tomshredsjoined
15:54:45  * tomshredsquit (Read error: Connection reset by peer)
15:55:36  <substack>fotoverite: http://nodejs.org/docs/latest/api/all.html is my favorite
15:57:55  <st_luke>yeah
15:58:37  <fotoverite>Good luck with your talk substack
16:00:20  <isaacs>substack: the korean node conf folks ask: "Does James come to Korea with you?"
16:07:03  <substack>haha
16:07:46  <substack>I need to spend a bit more time in the bay area for a while
16:08:06  <substack>UNLESS
16:08:17  <substack>well korea actually looks really fun
16:13:26  <fotoverite>You should totally go.
16:13:48  <fotoverite>Anyplace you want to go while your in new york. How long are you in new york only one day?
16:35:47  <isaacs>substack: we're going to be there from monday nov 19 to wed nov 21
16:36:20  <isaacs>substack: then mikeal and i are heading back to tokyo, and the next day i'm heading back to sfo
16:36:27  <isaacs>substack: mikeal's staying in tokyo for a while
16:51:35  <pkrumins>say hi to kim jong il from me!
16:55:10  <substack>dead
16:56:14  <pkrumins>kim jong ul!
16:56:23  <pkrumins>un!
17:23:37  * tphummeljoined
17:31:29  * zz_shykeschanged nick to shykes
17:43:57  * _sorensenjoined
18:00:45  * shykeschanged nick to zz_shykes
18:06:00  * zz_shykeschanged nick to shykes
18:16:22  * ryanseddonquit (Quit: Connection closed for inactivity)
18:16:48  * AvianFlujoined
18:50:47  <Raynos>isaacs: That's cool. If you could do `npm version 0.0.3 && npm publish` that would be appreciated though.
18:51:15  <isaacs>Raynos: done
19:06:57  * xaqjoined
19:09:11  * jibayquit (Quit: Leaving)
19:22:52  * mike-djoined
19:43:44  * tilgovijoined
19:50:29  * paul_irishchanged nick to paul_irish_
20:29:22  * shykeschanged nick to zz_shykes
20:32:20  <Raynos>thanks
20:32:47  <guybrush_>isaacs: what do you think about `npm rs` as a shortcut for `npm run-script` ?
20:33:26  <isaacs>guybrush_: sure, why not?
20:33:37  <isaacs>guybrush_: i usually use "run"
20:33:49  <guybrush_>ohh thats ok then
20:33:53  <guybrush_>its pretty short too
20:40:41  * nathanjoined
20:41:03  * nathanchanged nick to nathanpalmer
20:41:38  <nathanpalmer>hey guys.. any thoughts about supporting mac browsers on browserling/testling?
20:42:04  <pkrumins>we shall have them
20:42:53  <nathanpalmer>oh.. so it will be supported in a future release? is that something that is planned or currently being worked on?
20:43:40  <pkrumins>yep it will be supported in a future release! it's planned.
20:44:01  <nathanpalmer>thanks!
20:44:23  <pkrumins>you're welcome
20:47:47  * wiwilliaquit (Ping timeout: 272 seconds)
20:53:18  * wiwilliajoined
20:55:53  * shuaibquit (Quit: Computer has gone to sleep.)
20:57:24  * nathanpalmerquit (Quit: nathanpalmer)
21:02:09  <substack>html5devconf examples https://github.com/substack/html5devconf-examples
21:10:09  * zz_shykeschanged nick to shykes
21:22:08  * shuaibjoined
21:27:38  * AvianFluquit (Remote host closed the connection)
21:43:49  * jibayjoined
21:44:02  * xaqquit (Remote host closed the connection)
21:46:36  * xaqjoined
21:50:26  <isaacs>fotoverite: some badass fight-dancing though, right?
21:50:33  <fotoverite>Yes
21:50:41  <fotoverite>Oh god I think i'm going to node dublin after all
21:50:48  <isaacs>HUZZAH!
21:50:49  <LOUDBOT>YOUR TELEMETRY INDICATES YOU FAILED TO GIVE A FUCK.
21:50:58  <isaacs>LOUDBOT: twitlast
21:50:58  <LOUDBOT>isaacs: http://twitter.com/loudbot/status/257961531529125888 (frijole_/##turtles)
21:51:05  <fotoverite>HUZZAH!
21:51:05  <LOUDBOT>WOOHOO SEFAULTED THE JVM
21:51:11  <fotoverite>Cian wants me to take photos
21:51:23  <fotoverite>of course that means I need to replaced my busted 50mm that got borked in berlin
22:10:30  * wiwilliaquit (Ping timeout: 260 seconds)
22:23:49  * wiwilliajoined
22:31:20  * shykeschanged nick to zz_shykes
22:34:14  * juliengrenierquit (Quit: juliengrenier)
22:51:49  * ryan_stevensjoined
22:53:36  * wiwilliaquit (Ping timeout: 240 seconds)
22:55:57  * xaqquit (Remote host closed the connection)
23:17:31  * jibayquit (Quit: Leaving)
23:54:02  * xaqjoined