00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:01:26  * AvianPhonequit (Ping timeout: 240 seconds)
00:09:00  * ednapiranhajoined
00:25:12  * tmcwquit (Remote host closed the connection)
00:25:50  * defunctzombiechanged nick to defunctzombie_zz
00:30:14  * i_m_caquit (Ping timeout: 240 seconds)
00:31:40  * jxsonquit (Remote host closed the connection)
00:33:17  <pkrumins>that person who joined earlier with nickname PeterKrumins wasn't me
00:33:25  <pkrumins>someone is stalking me
00:35:20  * dstokesquit (Quit: dstokes)
00:36:33  * ednapiranhaquit (Remote host closed the connection)
00:39:38  * kevino80joined
00:48:31  * timoxleyjoined
00:50:02  * timoxley_joined
00:51:33  <mbalho>pkrumins: did you get their IP?
00:52:09  <rch>37.106.79.4
00:53:02  * timoxleyquit (Ping timeout: 264 seconds)
00:53:06  <mbalho>rch: howd you do that!
00:53:41  <rch>logs!
00:53:56  <mbalho>rch: does freenode have a log search api? or do you have your own
00:54:14  <rch>heh, i'm using weechat
00:54:26  <rch>i hope to god freenode isn't logging all our channels
00:54:40  <mbalho>lol
00:55:08  <rch>hey what thread were you and st_luke talking about earlier
00:55:11  <rch>nodejs goog group?
00:55:13  * timoxley_quit (Ping timeout: 268 seconds)
00:55:37  <mbalho>today? dont remember
00:55:53  <rch>oh well
01:01:58  * jxsonjoined
01:05:47  * mikolalysenkojoined
01:06:32  * kevino80quit (Remote host closed the connection)
01:10:14  * jxsonquit (Ping timeout: 240 seconds)
01:20:34  * AvianFlujoined
01:23:01  * defunctzombie_zzchanged nick to defunctzombie
01:28:58  * thlorenz_zzjoined
01:47:05  * thlorenz_zzchanged nick to thlorenz
01:49:30  * timoxleyjoined
01:54:58  * gwenbelljoined
01:59:31  * defunctzombiechanged nick to defunctzombie_zz
02:01:04  * defunctzombie_zzchanged nick to defunctzombie
02:05:41  * defunctzombiechanged nick to defunctzombie_zz
02:17:47  * AvianFluquit (Remote host closed the connection)
02:40:53  * jcrugzzquit (Ping timeout: 250 seconds)
02:42:48  * gwenbellquit (Ping timeout: 240 seconds)
02:47:04  * dstokesjoined
02:51:11  <Raynos>isaacs: how should you open a conf talk in terms of saying who you are?
02:51:39  <Raynos>isaacs: I have a feeling mentioning my github / twitter is useful to allow people to reach out after talk with questions / discussions asynchronously
02:52:18  <mbalho>Raynos: put @Raynos on your first and last slide
02:52:40  <Raynos>should I mention my name using voice or should it just be in text?
02:52:50  <Raynos>I genuinely dont know what correct ettiquitte is
02:53:47  <mbalho>most people use their real names and mention their online names via slides or as a side remark
02:55:22  <Raynos>that makes sense
02:59:48  * dstokesquit (Quit: dstokes)
03:04:36  * owen1quit (Ping timeout: 245 seconds)
03:28:02  * thlorenzquit (Remote host closed the connection)
03:30:20  * AvianFlujoined
03:35:19  * AvianFluquit (Ping timeout: 264 seconds)
03:39:07  * owen1joined
03:39:54  * dstokesjoined
03:41:40  * dstokesquit (Client Quit)
03:42:05  * calvinfoquit (Quit: Leaving.)
03:43:17  * dstokesjoined
03:49:08  * jcrugzzjoined
03:52:50  * mikolalysenkoquit (Ping timeout: 240 seconds)
03:54:10  * owen1quit (Ping timeout: 246 seconds)
03:55:13  * owen1joined
03:56:22  * dstokesquit (Quit: dstokes)
04:00:06  * mikolalysenkojoined
04:06:08  * dstokesjoined
04:10:55  * AvianFlujoined
04:14:43  * owen1quit (Ping timeout: 260 seconds)
04:21:19  * dstokesquit (Quit: dstokes)
04:22:11  * dstokesjoined
04:25:13  * dstokesquit (Client Quit)
04:25:13  * i_m_cajoined
04:25:17  * thlorenzjoined
04:28:35  * owen1joined
04:29:48  * mikolalysenkoquit (Ping timeout: 256 seconds)
04:34:59  * AvianFluquit (Remote host closed the connection)
04:38:51  * kriskowalquit (Quit: kriskowal)
04:39:15  * kriskowaljoined
04:55:41  * dguttmanquit (Quit: dguttman)
05:02:46  * thlorenzquit (Remote host closed the connection)
05:06:02  * dguttmanjoined
05:08:18  * jxsonjoined
05:12:30  * jxsonquit (Ping timeout: 245 seconds)
05:24:09  * kriskowalquit (Quit: kriskowal)
05:40:40  * mirkokieferjoined
05:45:51  * wolfeidauquit (Ping timeout: 260 seconds)
05:46:44  * dguttmanquit (Quit: dguttman)
05:46:45  * wolfeidaujoined
05:48:09  * mirkokieferquit (Quit: mirkokiefer)
05:57:14  * i_m_caquit (Ping timeout: 264 seconds)
05:58:03  * cubertquit (Ping timeout: 276 seconds)
06:02:12  * cubertjoined
06:09:51  * mirkokieferjoined
06:18:35  * shamaquit (Remote host closed the connection)
06:27:16  * djcoinjoined
06:33:14  * calvinfojoined
06:40:19  * spolujoined
06:41:18  * st_lukejoined
06:52:50  * ins0mniajoined
06:52:53  * calvinfoquit (Quit: Leaving.)
06:54:59  * stagasjoined
07:15:31  * st_lukequit (Remote host closed the connection)
07:22:55  * calvinfojoined
07:30:25  * maksimlinquit (Quit: ChatZilla 0.9.90.1 [Firefox 23.0/20130803215302])
07:31:42  * dominictarrjoined
07:39:30  * frankblizzardjoined
07:54:12  * calvinfoquit (Quit: Leaving.)
08:03:51  * jcrugzzquit (Ping timeout: 260 seconds)
08:20:19  * frankblizzardquit (Remote host closed the connection)
08:20:38  * frankblizzardjoined
08:27:05  * johnkpaulquit (Ping timeout: 245 seconds)
08:27:30  * harrowquit (Ping timeout: 245 seconds)
08:27:49  * dominictarrquit (Quit: dominictarr)
08:28:12  * mirkokieferquit (Quit: mirkokiefer)
08:28:29  * johnkpauljoined
08:28:49  * harrowjoined
08:37:49  * mirkokieferjoined
08:54:35  * dominictarrjoined
09:51:05  * mirkokieferquit (Quit: mirkokiefer)
10:12:31  * yorickjoined
10:41:06  * wolfeidauquit (Ping timeout: 240 seconds)
10:41:46  * timoxleyquit (Remote host closed the connection)
10:46:13  * frankblizzardquit (Read error: Connection reset by peer)
10:46:33  * frankblizzardjoined
10:48:52  * frankblizzardquit (Read error: Connection reset by peer)
10:49:11  * frankblizzardjoined
10:50:21  * dominictarrquit (Quit: dominictarr)
10:50:34  * frankblizzardquit (Read error: Connection reset by peer)
10:50:49  * frankblizzardjoined
10:51:37  * frankbli_joined
10:51:37  * frankblizzardquit (Read error: Connection reset by peer)
11:08:20  * fotoveritejoined
11:35:42  * mirkokieferjoined
12:25:44  * jibayjoined
12:29:28  * frankbli_quit (Remote host closed the connection)
12:36:22  * jcrugzzjoined
12:43:19  * frankblizzardjoined
12:56:57  * dominictarrjoined
13:11:44  * kevino80joined
13:33:13  * fotoveritequit (Quit: fotoverite)
13:35:21  * i_m_cajoined
13:51:52  * thlorenzjoined
13:54:14  * mikolalysenkojoined
14:10:55  * tmcwjoined
14:19:26  * i_m_caquit (Ping timeout: 264 seconds)
14:29:50  * kevino80quit (Remote host closed the connection)
14:30:07  * kevino80joined
14:31:02  * jcrugzzquit (Ping timeout: 240 seconds)
14:41:16  * kenperkinsquit (Quit: Textual IRC Client: http://www.textualapp.com/)
14:43:22  * kenperkinsjoined
14:44:18  * AvianFlujoined
14:50:54  * dguttmanjoined
15:00:50  * mikolalysenkoquit (Ping timeout: 264 seconds)
15:03:12  <dominictarr>chrisdickinson: hey, is there a good way to look at git objects (like trees and commits) and detect their type, compared to arbitary binary data?
15:04:04  * ins0mniaquit (Ping timeout: 246 seconds)
15:06:51  * fotoveritejoined
15:07:43  * ins0mniajoined
15:12:14  * dguttmanquit (Read error: Connection reset by peer)
15:12:38  * dguttmanjoined
15:14:20  * fallsemojoined
15:21:36  * frankblizzardquit (Remote host closed the connection)
15:22:54  * calvinfojoined
15:39:17  * calvinfoquit (Quit: Leaving.)
15:44:42  * shamajoined
15:48:31  * mirkokieferquit (Quit: mirkokiefer)
15:52:32  * mikolalysenkojoined
15:54:12  * kevino80quit (Remote host closed the connection)
15:58:38  * gwenbelljoined
16:02:47  * kevino80joined
16:04:22  <hij1nx>pkrumins: could node-image be used to add an arbitrary string as a header to an image without destroying the image?
16:06:54  * kriskowaljoined
16:07:06  * i_m_cajoined
16:09:42  * calvinfojoined
16:10:45  <pkrumins>hij1nx, not really, node-image just unifies node-{png,gif,jpeg}
16:11:52  <pkrumins>hij1nx, unfortunately you would neither be able to do that with those other libs because they only support writing the images and not reading them
16:12:15  <pkrumins>hij1nx, however if someone added a read interface, that would be possible without destroying the image.
16:22:46  <hij1nx>pkrumins: i've put together some hacky code for reading file and finding the `tEXt` field, as i understand it, this can hold multiple key/value pairs with each having up to 79 bytes
16:23:45  <hij1nx>pkrumins: i need to encode it back again after adding the data, not sure if just "reversing" the process will work
16:25:35  <pkrumins>which image format is that?
16:28:00  <hij1nx>pkrumins: png, but... i dont know a lot about programming with png files
16:29:45  <pkrumins>neither do i, i simply used libpng :)
16:29:52  <hij1nx>pkrumins: what im thinking is that it might bork the file to add the new bytes, im sure there is a header that states the length of the file?
16:30:56  <hij1nx>pkrumins: ok, let me go a little higher level, i want to embed some text into an image, thats all, not like steganography, just simply add it to the file
16:31:17  <hij1nx>add it and then read it
16:31:28  <hij1nx>seems like there should be some kind of cave man hack
16:31:33  <pkrumins>looking up how the png header
16:37:38  * timoxleyjoined
16:37:54  <pkrumins>hij1nx: it's safe to add bytes, the header doesnt state the length of the whole file.
16:38:02  * i_m_caquit (Ping timeout: 264 seconds)
16:38:28  <pkrumins>hij1nx: it looks like you could just add the tEXt field at the end of the file
16:38:46  <pkrumins>hij1nx: the png image contains of chunks, where each chunk has its own header with its size
16:40:19  <hij1nx>pkrumins: crazy
16:40:40  <hij1nx>pkrumins: i just concat'd a buffer to the end of the file and i can still view the file normally, and view the text!!!
16:41:08  <hij1nx>\o\|o|/o/
16:41:30  * fotoveritequit (Ping timeout: 264 seconds)
16:41:44  <pkrumins>hij1nx: awesome!
16:51:59  * jibayquit (Quit: Leaving)
16:55:41  * ednapiranhajoined
16:56:49  * ednapiranhaquit (Remote host closed the connection)
16:57:03  * ednapiranhajoined
16:57:19  <chrisdickinson>dominictarr: depending on where the commits are located: node -e 'process.stdin.pipe(require("zlib").createInflate()).pipe(process.stdout)' < html/.git/objects/1a/e5447f0cec3b65dd919fc8137a15a8ec41a6b4 | head -n 1
16:57:22  <chrisdickinson>(ignoring the path specific parts)
16:57:28  <chrisdickinson>those are only for loose objects though
16:57:31  <chrisdickinson>vs. packed objects
16:57:51  <chrisdickinson>in what context are you looking at git objects? over a readable stream? or on the filesystem?
16:57:56  <dominictarr>chrisdickinson: thanks, I figured it out
16:58:09  <dominictarr>except i used .createUnzip()
16:58:12  <dominictarr>which also worked
16:59:22  <chrisdickinson>ah cool, yeah -- it's just deflated data
16:59:36  <chrisdickinson>(at least if it's loose objects -- packed objects are slightly more complicated)
16:59:41  <dominictarr>chrisdickinson: it's for the cyphernet project, which is much like git, but trees of arbitary objects
16:59:57  <dominictarr>that are linked to each other by containing hashes like in git
17:00:04  * chrisdickinsonnods
17:00:16  <dominictarr>github.com/dominictarr/cyphernet
17:00:23  <dominictarr>https://github.com/dominictarr/cyphernet
17:00:42  <chrisdickinson>neat!
17:03:35  <dominictarr>mirkok: hey, I have a question about smalltalk
17:03:42  <dominictarr>how does the module system work?
17:03:59  <dominictarr>does it use a classpath like thing or can modules be nested like in node?
17:05:43  * wolfeidaujoined
17:06:59  * dstokesjoined
17:10:03  <dominictarr>mirkok: okay, reading… it's all about Classes, hmm, looks like the classes are global?
17:11:15  * dstokesquit (Client Quit)
17:14:08  * jcrugzzjoined
17:18:45  * AvianFluquit (Remote host closed the connection)
17:20:07  * dstokesjoined
17:21:04  * dguttmanquit (Quit: dguttman)
17:31:40  * spoluquit (Ping timeout: 245 seconds)
17:31:47  * AvianFlujoined
17:33:25  <dominictarr>isaacs: hey, when did you start working on npm?
17:34:57  <jez0990_>dominictarr: https://github.com/isaacs/npm/commits/master?page=122
17:36:06  <dominictarr>jez0990_: thanks
17:38:09  * timoxleyquit (Remote host closed the connection)
17:38:22  * timoxleyjoined
17:43:09  * timoxleyquit (Remote host closed the connection)
17:43:51  * defunctzombie_zzchanged nick to defunctzombie
17:46:12  * ednapiranhaquit (Remote host closed the connection)
17:46:14  <isaacs>dominictarr: * 4626dfa isaacs Initial drop. Ugly, sketchy, and not even yet quite a "work in progress". (3 years, 11 months ago)
17:46:29  <isaacs>dominictarr: i think the actual work started a few months before that
17:46:59  <isaacs>dominictarr: and part of it was adapted from a bash script that i'd written for installing yinst packages, pre-node
17:47:11  * spolujoined
17:47:20  <isaacs>dominictarr: so, really, i started working on npm, without realizing it, probablyaround 2006 or 2007
17:47:42  <rch>heh, urf yinst
17:47:46  <isaacs>but it wasn't called "npm" until september 2009
17:48:12  <dominictarr>at what point could you install a node module with it?
17:49:19  * jxsonjoined
17:55:29  <isaacs>dominictarr: well, i think even with that initial drop, you could, but it relied on a `npm-data` git repo which had a bigass json file of every module
17:56:38  * gwenbellquit (Ping timeout: 264 seconds)
17:56:55  <dominictarr>right
17:57:23  <dominictarr>isaacs: when did it get the couchdb?
17:57:32  <dominictarr>mikeal was responsible for that, right?
18:00:31  <isaacs>yeah, that was mikeal's
18:00:41  <isaacs>* f7f5c93 Mikeal Rogers Initial code. (3 years, 7 months ago)
18:01:00  <isaacs>commit f7f5c93add620b313a150e04336f1cef6ed5c116
18:01:01  <isaacs>Author: Mikeal Rogers <[email protected]>
18:01:01  <isaacs>Date: Fri Feb 19 17:06:36 2010 -0800
18:01:01  <isaacs>Initial code.
18:01:27  <dominictarr>isaacs: do you still have the data-npm repo?
18:02:32  * mk30_joined
18:03:42  * mikolalysenkoquit (Ping timeout: 264 seconds)
18:04:41  <isaacs>nah
18:04:44  <isaacs>it didn't last long
18:05:04  <isaacs>i think 0.0.5 or 0.0.6 was the first npm where you could publish to the registry, and then install from the registry
18:05:08  <isaacs>there were no user accounts.
18:05:12  <isaacs>it was all just the honor system :)
18:07:11  <dominictarr>isaacs: haha, nice
18:07:38  <dominictarr>did you upgrade those modules to having maintainers later?
18:08:35  <isaacs>yeah
18:08:37  <isaacs>i took them over
18:08:51  <isaacs>or deleted a lot of them, since none of them worked anyway
18:09:57  * ednapiranhajoined
18:10:30  <dominictarr>isaacs: right. you mentioned that you made pull requests to modules to add package.jsons? when was that?
18:10:47  <dominictarr>do you remember any projects that are still used that you added a package.json to?
18:12:03  <isaacs>hmmm....
18:16:29  <isaacs>dominictarr: here's one: https://npmjs.org/package/ndb https://github.com/isaacs/ndb/commit/880020e3f7d448a28ffa5d4c470277d01b2aa8a3
18:17:34  <isaacs>oh, and jake, i did the original package.json for that
18:17:38  <isaacs>that ones actually popular
18:18:40  <isaacs>dominictarr: https://github.com/mde/jake/commit/8b8be31685edc88215ed4f7d1fadace2942520d8
18:19:08  <isaacs>dominictarr: node-ncurses: https://github.com/isaacs/node-ncurses/commit/b6ee5ec766bf696ea728786de8773872d35ed026
18:19:58  <isaacs>dominictarr: node-solr: https://github.com/isaacs/node-solr/commit/fe2c98de9c168e2477f2de0b537e7c610d9c5aab
18:20:12  * isaacsgoing through list of github repos, looking for ones that i don't use or remember writing
18:20:54  <isaacs>dominictarr: node-xml https://github.com/isaacs/node-xml/commit/fe3350879f0ac93a84a001f6437ca5bd661742e8
18:28:16  <dominictarr>isaacs: thanks
18:28:58  <dominictarr>this one is the best https://github.com/smtlaissezfaire/ndb/pull/5
18:42:13  * tmcwquit (Remote host closed the connection)
18:42:46  * tmcwjoined
18:46:19  * tilgovijoined
18:47:06  * tmcwquit (Ping timeout: 245 seconds)
18:50:07  * mikolalysenkojoined
18:53:01  <jcrugzz>substack: substack.net is down
18:53:12  * tmcwjoined
18:57:02  * ednapiranhaquit (Remote host closed the connection)
18:58:11  * jxsonquit (Remote host closed the connection)
18:58:19  * jxsonjoined
19:00:34  * itprojoined
19:00:34  * itprochanged nick to ITpro
19:07:16  * mirkokieferjoined
19:14:16  * ins0mniaquit (Ping timeout: 256 seconds)
19:14:18  * ITproquit (Ping timeout: 276 seconds)
19:14:35  * mirkokieferquit (Quit: mirkokiefer)
19:15:04  * ins0mniajoined
19:17:51  <shama>Anyone familiar with getting "Error: spawn ENOENT" when running testling locally? I have browserify/testling installed globally and running $ testling on this branch: https://github.com/maxogden/level.js/pull/18
19:19:34  <jesusabdullah>http://arcticfibre.com/ wat
19:21:15  <Raynos>https://idea.popcount.org/2013-09-05-it-aint-about-the-callbacks/
19:21:32  <Raynos>^ is that basically "we are reading & writing in parallel for efficienciy and have to buffer more?"
19:22:54  <jesusabdullah>To me it looks like, "callbacks vs promises is stupid when we have streams to argue about"
19:23:31  * stagasquit (Read error: Connection reset by peer)
19:24:15  * mikolalysenkoquit (Ping timeout: 260 seconds)
19:24:19  <Raynos>well hes talking about pull vs push
19:24:34  <Raynos>and im curious how you can make the buffering (2) better
19:25:45  <jesusabdullah>I mean, isn't that just backpressure 101?
19:25:59  <jez0990_>shama: have you tried `killall node`?
19:26:46  * dominictarrquit (Quit: dominictarr)
19:27:22  <shama>jez0990_: thanks, I get: No matching processes belonging to you were found
19:28:09  * ednapiranhajoined
19:29:35  * Raltquit (Ping timeout: 245 seconds)
19:30:00  <jez0990_>shama: and presumably you're not running node using sudo...? I'm all out of ideas after that, sorry :) (that error message is just very familiar recently!)
19:30:42  * Raltjoined
19:31:00  <jesusabdullah>how many times did you reboot?
19:31:09  <shama>jez0990_: nope, as a user. Node v0.10.17
19:32:10  <thlorenz>did you know that with streams2 if you use objectMode and you happen to push Number 0, that kills your stream?
19:32:20  <shama>I guess Ill just open my browser until I get that figured out... *drags his mouse dramatically over to the chrome icon*
19:33:48  <thlorenz>but somehow you only see that if you put a transform in the middle - I guess this is not intended right isaacs?
19:36:05  * mikolalysenkojoined
19:36:22  * ednapiranhaquit (Ping timeout: 256 seconds)
19:37:39  * fotoveritejoined
19:39:26  * fotoveritequit (Read error: Connection reset by peer)
19:41:16  * fotoveritejoined
19:41:31  * jxsonquit (Remote host closed the connection)
19:42:19  * jxsonjoined
19:43:46  * fotoveritequit (Read error: Connection reset by peer)
19:44:35  <thlorenz>isaacs: made a repro repo: https://github.com/thlorenz/Streams2TransformPush0Bug
19:54:13  <isaacs>thlorenz: sounds like a bug, i'll dig into it after lunch
19:54:26  <isaacs>thlorenz: it'd help if you had an example that didn't use any external modules.
19:54:33  <isaacs>thlorenz: like, just a script that only uses node stuff.
19:57:35  <thlorenz>isaacs: cool - yeah that example is pure node :)
20:00:40  <thlorenz>isaacs: made an issue https://github.com/joyent/node/issues/6183 that also links to my reproduction repo
20:01:15  * AvianFluquit (Remote host closed the connection)
20:04:31  <mikolalysenko>if anyone has a spare set of eyeballs, could someone give these lecture notes a look over to spot check them for errors? https://github.com/CS558/technology-lecture-2-node
20:05:22  * gwenbelljoined
20:05:34  <isaacs>thlorenz: fwiw, it's fixed in master
20:05:51  <isaacs>thlorenz: simpler example script: https://gist.github.com/isaacs/6455434
20:05:55  <thlorenz>isaacs: was fixed or just now got fixed?
20:05:58  * gwenbellquit (Client Quit)
20:06:05  <isaacs>thlorenz: works as of current master.
20:06:16  <isaacs>thlorenz: probably fixed in the stream3 refactor
20:06:20  <isaacs>by accident, i mean
20:06:33  <thlorenz>isaacs: any chance of that fix landing for stream2 as well?
20:06:43  <isaacs>yes
20:06:45  <isaacs>looking
20:06:50  <isaacs>thlorenz: well, not THAT fix
20:06:53  <isaacs>thlorenz: but A fix, sure.
20:07:28  <thlorenz>isaacs: :) it's not that crucial - isn't blocking me or anything, just ran into it while digging into streams a bit
20:07:40  * evboguejoined
20:08:05  <thlorenz>isaacs: btw streams2 and streams3 API is identical just some subtle behavior changes right?
20:08:44  <isaacs>thlorenz: found the bug
20:08:49  <isaacs>thlorenz: yes
20:08:55  <isaacs>thlorenz: streams3 is strictly additive
20:08:55  <thlorenz>that was quick :)
20:09:00  <isaacs>yeah, it was what i suspected
20:09:09  * AvianPhonejoined
20:11:49  <thlorenz>isaacs: I like that short example - so a PassThru is basically a noop Transform - is that's why it exposed the same problems?
20:13:51  <isaacs>yep
20:14:31  <thlorenz>cool - still trying to wrap my head around things - especially how backpressure works now and such
20:15:03  * jxsonquit (Remote host closed the connection)
20:18:29  * intabulasjoined
20:20:24  <isaacs>thlorenz: landed in v0.10. it'll be in the next release. thanks for finding it :)
20:21:06  <thlorenz>isaacs: awesome and my pleasure -- next time I'll try to go the extra step and supply at test and fix ;)
20:21:16  <isaacs>no probs
20:21:27  * ednapiranhajoined
20:21:49  <Raynos>isaacs: https://idea.popcount.org/2013-09-05-it-aint-about-the-callbacks/ that second issue is just a complaint about pipe() making the "wrong" default tradeoff ?
20:22:11  <Raynos>i believe the author is just being full of shit and should implement his own pipe for his own tradeoff
20:27:26  <isaacs>Raynos: well, he's upset that there's such a thing as a high water mark
20:27:40  <Raynos>yes
20:27:40  <isaacs>his assertions are false, though
20:27:53  <Raynos>specifically he is upset that in a.pipe(b).pipe(c).pipe(d) b and c have their own hwm
20:28:08  <Raynos>if b & c are not complex buffering async transforms then thats overkill
20:28:18  <isaacs>ight
20:28:36  <Raynos>but that might be solved by setting hwm to 0 on b & c
20:30:00  <thlorenz>Raynos: since we are talking about streams do you have a link to a good explanation of a.pipe(b).pipe(a)?
20:30:11  <Raynos>thlorenz: not realy
20:30:15  <thlorenz>I don't get it - what if a is a readstream - how can I write to it?
20:30:21  <isaacs>Raynos: i'd correct him, but i'm trying to not take responsibility for the correctness of the internet.
20:30:28  <isaacs>Raynos: duty calls and all that.
20:30:37  * isaacsfooding
20:31:16  <Raynos>isaacs: is it possible to configure streams to have the one buffer flows from Readable to Writable at a time? or is it stupid to not have Readable fill up to hwm pre-emptively ?
20:31:31  <thlorenz>Raynos: or maybe we can take some time @nodedonfeu and you help me get my head straight with all that streams stuff that has me confused at this point?
20:31:41  <Raynos>thlorenz: for sure
20:31:50  <thlorenz>cool :) looking forward to it
20:31:52  <Raynos>thlorenz: the answer for a.pipe(b).pipe(a) is that it only works for TWO duplex streams
20:32:13  <thlorenz>Raynos: ok, but then wouldn't that keep going forever?
20:32:34  <Raynos>thlorenz: no because duplex streams are { in: Readable, out: Writable }
20:32:37  <Raynos>conceptually
20:32:47  <Raynos>and its a.in.pipe(b.out), b.in.pipe(a.out)
20:33:01  <Raynos>for a through stream its an infinite loop
20:33:36  * mikolalysenkoquit (Ping timeout: 256 seconds)
20:33:41  <Raynos>basically through means `stream.write(a) => stream.emit("data", a)` and duplex means `stream.write(a) => someone over the network gets a`
20:34:56  <thlorenz>so you are saying a.out doesn't go back into a.in and therefore the loop is broken right there?
20:35:18  <Raynos>yes
20:35:32  <Raynos>unless you have net.createServer(function (s) { s.pipe(s) })
20:35:42  <Raynos>if the guy on the other end is an echo server you still get an infinite loop
20:35:52  <Raynos>thlorenz: I think figure of eight is a good example of duplex
20:36:12  <Raynos>thlorenz: but basically duplex is two directed edges and thruogh is a single directed edge
20:36:27  <Raynos>duplex obvouisly has two directed edges where they are the same edge but in the other direction
20:37:16  <thlorenz>thanks, that helps -- will still ask a bit more when we meet though ;)
20:41:50  * AvianPhonequit (Ping timeout: 240 seconds)
20:42:06  * mikolalysenkojoined
20:45:38  <thlorenz>Raynos: after staring at this for another minute I think it finally clicked
20:46:05  <thlorenz>so I'd use this to get some data from a client, transform it and pipe the results back out for instance right?
20:46:05  <Raynos>thlorenz: :)
20:46:21  <Raynos>yes
20:46:23  <Raynos>thats one thing you can do
20:46:27  <Raynos>you can also move the data somewhere
20:46:32  <Raynos>like
20:46:51  <Raynos>req.pipe(request("http://lulz.com" + req.url)).pipe(res)
20:46:55  <Raynos>or you can do
20:47:02  <Raynos>req.pipe(UPPERCASE()).pipe(res)
20:47:15  <thlorenz>but req != res ?
20:48:08  <jesusabdullah>yeah well
20:48:19  <thlorenz>I mean that part was clear to me, just not version where you pipe back out into the same stream that piped you the data in in the first place
20:48:40  <thlorenz>but I think now I get it - it just functions as both
20:49:23  <thlorenz>and reads come from the other party and writes go to it and at that point the connection is interrupted unless it echos my writes back at me
20:55:55  * AvianPhonejoined
20:58:32  * djcoinquit (Quit: WeeChat 0.4.0)
21:15:22  * jxsonjoined
21:19:36  * jxsonquit (Ping timeout: 245 seconds)
21:34:21  * kevino80quit (Remote host closed the connection)
21:36:50  * jcrugzzquit (Ping timeout: 264 seconds)
21:37:14  * jxson_joined
21:48:33  * itprojoined
21:48:33  * itprochanged nick to ITpro
21:49:26  * AvianPhonequit (Ping timeout: 240 seconds)
21:52:44  * intabulasquit (Remote host closed the connection)
21:57:08  * maksimlinjoined
22:04:45  * tmcwquit (Remote host closed the connection)
22:07:05  * thlorenzquit (Remote host closed the connection)
22:07:44  * AvianPhonejoined
22:14:09  <Raynos>thlorenz: sure but you can do `var socket = duplex(req, res); socket.pipe(UPPERCASE()).pipe(socket)`
22:14:14  * AvianPhonequit (Ping timeout: 240 seconds)
22:15:59  * mikolalysenkoquit (Ping timeout: 246 seconds)
22:27:29  * dominictarrjoined
22:30:38  * AvianPhonejoined
22:37:39  * thlorenzjoined
22:41:07  * mirkokieferjoined
22:41:21  * spoluquit (Remote host closed the connection)
22:42:26  * gwenbelljoined
22:47:30  * thlorenzquit (Ping timeout: 276 seconds)
22:48:39  * mikolalysenkojoined
23:00:38  * AvianPhonequit (Ping timeout: 240 seconds)
23:01:09  * defunctzombiechanged nick to defunctzombie_zz
23:01:21  * fallsemoquit (Quit: Leaving.)
23:01:34  * AvianPhonejoined
23:04:38  * defunctzombie_zzchanged nick to defunctzombie
23:08:54  * AvianPhonequit (Read error: Connection reset by peer)
23:09:07  * defunctzombiechanged nick to defunctzombie_zz
23:09:14  * AvianPhonejoined
23:14:44  * mirkokieferquit (Quit: mirkokiefer)
23:14:56  * dominictarrquit (Quit: dominictarr)
23:17:51  * dominictarrjoined
23:17:57  * maksimlinquit (Quit: ChatZilla 0.9.90.1 [Firefox 23.0/20130803215302])
23:27:00  * yorickquit (Remote host closed the connection)
23:30:19  * thlorenzjoined
23:35:37  * tilgoviquit (Remote host closed the connection)
23:37:02  * ednapiranhaquit (Remote host closed the connection)
23:37:54  * mikolalysenkoquit (Ping timeout: 264 seconds)
23:40:36  * thlorenzquit (Remote host closed the connection)
23:42:45  * thlorenzjoined
23:43:58  * dominictarrquit (Quit: dominictarr)
23:47:57  * thlorenzquit (Ping timeout: 276 seconds)