00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:41:58  <kanzure>substack: i've pushed some changes to https://gist.github.com/kanzure/6258965 but the "response" event doesn't get propagated. i don't think this does what i think.
00:46:39  * mikolalysenkoquit (Ping timeout: 260 seconds)
00:52:32  * maksimlinjoined
00:53:07  * maksimlinquit (Client Quit)
00:55:11  * AvianFluquit (Remote host closed the connection)
01:21:30  * thlorenzjoined
01:43:09  * mikolalysenkojoined
01:47:26  * mikolalysenkoquit (Ping timeout: 240 seconds)
01:49:42  * ricardobeatquit (Ping timeout: 264 seconds)
01:53:26  <guybrush>is anyone in here who used browserify and then went to bower/grunt and other things and did NOT look back?
01:54:05  <guybrush>why are they going with bower grunt and stuff :/// https://github.com/mozilla/brick
01:54:55  <guybrush>basically to be able to use this i have to learn about grunt and bower (imho you dont have to learn about browserify since it just works like node-require..)
01:55:17  <kanzure>bower seems like a possibly sane thing
01:55:46  <guybrush>everything feels dirty imho
01:56:01  <guybrush>everything that is more than just require
01:56:13  <kanzure>does mozilla even do require anywhere?
01:58:12  <guybrush>gahh.. the demos looked cool and it seems like its really modular, but not worth for me looking into it with all this grunt and bowser and what not
01:59:18  <guybrush>https://github.com/mozilla/brick/tree/master/component/datepicker -- gruntfile.js, component.json, manifest.webapp, package.json, xtag.json
01:59:19  <guybrush>:D
02:00:46  * gwenbelljoined
02:13:11  * mikolalysenkojoined
02:17:58  * mikolalysenkoquit (Ping timeout: 246 seconds)
02:24:18  * vitorpachecojoined
02:46:35  <kanzure>ah i think it's a race condition
02:52:00  * shamajoined
03:01:17  * ins0mniaquit (Ping timeout: 268 seconds)
03:13:41  * mikolalysenkojoined
03:18:45  * mikolalysenkoquit (Ping timeout: 264 seconds)
03:25:18  * gwenbellquit (Quit: Lost terminal)
03:28:48  * mikolalysenkojoined
03:40:05  <chrisdickinson>thlorenz: nice!
03:41:13  <thlorenz>chrisdickinson: thanks, both modules are pretty useful, but still don't solve all my problems -- namely when it comes to filtering and aggregation
03:43:49  <thlorenz>chrisdickinson: I'm not sure why, but I have a feeling it is more consistent than map-stream, even for one-to-one transforms
03:43:53  <thlorenz>could be wrong though
03:45:02  * mikealquit (Ping timeout: 240 seconds)
03:52:55  * vitorpachecoquit (Quit: Saindo)
03:54:34  <kanzure>is barrage a sane thing to need to use?
03:57:06  * mikolalysenkoquit (Ping timeout: 276 seconds)
04:06:58  * mikolalysenkojoined
04:13:37  * mikealjoined
04:34:22  * thlorenzquit (Remote host closed the connection)
04:59:45  * mikealquit (Read error: Connection reset by peer)
04:59:51  * mikeal1joined
05:02:06  * mikeal1quit (Client Quit)
05:05:17  * shamaquit (Remote host closed the connection)
05:06:00  * mikealjoined
05:31:02  * jergasonjoined
05:31:06  * mikolalysenkoquit (Ping timeout: 256 seconds)
05:36:21  * mcollinajoined
05:56:07  * mikealquit (Quit: Leaving.)
05:59:52  * mcollinaquit (Remote host closed the connection)
06:00:59  * mcollinajoined
06:05:23  * mk30quit (Ping timeout: 250 seconds)
06:07:35  * mcollinaquit (Remote host closed the connection)
06:10:18  * coderzachquit (Quit: coderzach)
06:10:26  * jergasonquit (Remote host closed the connection)
06:15:03  * coderzachjoined
06:16:22  * coderzachquit (Client Quit)
06:22:03  <rvagg>anyone got a simple memoizer in npm, or one they can recommend?
06:22:23  <rvagg>annoyed that something so simple isn't there in a nice form -- there's either bloatware or abandonware or stupidware
06:22:44  <substack>I usually just write that kind of thing inline when I need it
06:23:10  <rvagg>ditto but it's >2 lines so should be in npm in some form
06:23:14  <substack>hah
06:23:36  <substack>rvagg: also I patched levelup to use streams2 :D
06:23:46  <rvagg>substack: yeah, I saw the PR but haven't had time to look
06:23:59  <rvagg>substack: did you sync your writestream changes with the stuff @pgte has been doing there?
06:24:05  <rvagg>substack: and did you ditch the fstream guff>?
06:24:37  <substack>I saw pgte's pull req but I just wrote something fresh
06:24:49  <substack>the readable and writable patches are completely separable
06:24:59  <kanzure>substack: i'm still experiencing a bunch of problems even when using a duplexer() for hyperquest.get(url).pipe(tr).. can you look at https://gist.github.com/kanzure/6258965#file-hyperquest-trumpet-streams-js-L47 one more time?
06:25:03  <substack>and there's no fstream things in either one
06:25:44  <substack>rvagg: the readable patch is the much more important one
06:25:54  <substack>it's faster and it fixes some bugs I was getting piping to multiple destinations
06:26:04  <rvagg>cool, well @pgte has been doing some perf work on write stream, will be interesting to see how they stack up against eachother, there's also a naive perf improvement version that I did to compare with
06:26:17  * mikealjoined
06:26:19  <kanzure>oh yeah, i should clarify that if i hyperquest.get(url).on("response", cb) that it gets triggered. so somehow my .on("response") is being ignored.
06:26:41  * rvaggwill look soonish, just rewriting some really old crappy Node code I wrote when I was a Node idiot
06:26:49  <substack>sweet!
06:26:52  <rvagg>https://github.com/eldargab/async-memo/blob/master/index.js is good enough I think
06:27:07  <kanzure>is this a memoizer
06:27:10  * mikolalysenkojoined
06:27:20  <rvagg>yes
06:27:25  <rvagg>I JUST WANT SIMPLE
06:27:25  <substack>kanzure: duplexer() returns a new stream
06:27:25  <LOUDBOT>WELL WHOEVER SHE WAS, I MUST'VE SCARED THE LIVING DAYLIGHTS OUT OF HER
06:27:36  <kanzure>substack: aren't events propagated through pipes?
06:27:48  <substack>no
06:28:46  <kanzure>ah, then maybe that's where i'm messing up
06:31:00  * Kesslerjoined
06:31:22  <kanzure>nope. hrm.
06:31:33  * mikolalysenkoquit (Ping timeout: 248 seconds)
06:31:39  <Kessler>morning y'all :)
06:33:37  * mcollinajoined
06:37:09  <kanzure>i think after i nail this i'll add it as an entry to stream-adventure
06:45:34  * mcollinaquit (Read error: Connection reset by peer)
06:45:39  * mcollina_joined
06:51:39  * dlmanningquit (Quit: reboot)
06:57:05  * mikolalysenkojoined
06:57:07  * dlmanningjoined
07:01:57  * mikolalysenkoquit (Ping timeout: 248 seconds)
07:21:04  * jergasonjoined
07:21:49  * stagasjoined
07:26:24  * jergasonquit (Ping timeout: 276 seconds)
07:36:26  * mcollina_quit (Remote host closed the connection)
07:36:53  * mcollinajoined
07:41:22  * mcollinaquit (Ping timeout: 246 seconds)
07:56:43  * jcrugzzjoined
08:00:36  * nicholasfquit (Read error: Connection reset by peer)
08:00:54  * nicholasfjoined
08:49:32  * bigclouds_joined
09:02:40  * mikolalysenkojoined
09:03:47  * timoxley_joined
09:06:26  * timoxleyquit (Ping timeout: 256 seconds)
09:07:17  * mikolalysenkoquit (Ping timeout: 248 seconds)
09:35:04  * dominictarrjoined
09:35:12  * defunctzombiechanged nick to defunctzombie_zz
10:03:00  * mikolalysenkojoined
10:07:33  * mikolalysenkoquit (Ping timeout: 248 seconds)
10:15:35  * Kessler_joined
10:18:48  * Kesslerquit (Ping timeout: 260 seconds)
11:01:02  * Kessler_quit (Ping timeout: 240 seconds)
11:03:19  * mikolalysenkojoined
11:08:42  * mikolalysenkoquit (Ping timeout: 276 seconds)
11:10:44  * ralphtheninjaquit (Quit: Lost terminal)
11:12:15  * dominictarrquit (Read error: Connection reset by peer)
11:23:05  * dominictarrjoined
11:27:51  * dominictarrquit (Ping timeout: 260 seconds)
11:33:26  * mikolalysenkojoined
11:35:40  * jergasonjoined
11:37:37  * mikolalysenkoquit (Ping timeout: 246 seconds)
11:56:07  * No9joined
12:21:11  * dominictarrjoined
12:42:26  * ins0mniajoined
13:11:14  <dominictarr>ins0mnia: hey! whats up?
13:15:26  * dominictarrquit (Ping timeout: 240 seconds)
13:29:14  * dominictarrjoined
13:33:45  * mikolalysenkojoined
13:38:51  * mikolalysenkoquit (Ping timeout: 276 seconds)
13:38:58  * AvianFlujoined
13:51:41  * jcrugzzquit (Ping timeout: 246 seconds)
13:53:33  <ins0mnia>dominictarr: yo! not much, multi tasking, trying to read on what the # is used for in twitter and at the same time google a bit to see if there's a way to run webrtc on ios seems that's not gonna work even with chromium
13:53:54  <dominictarr>stink
13:54:15  <ins0mnia>I'm almost pissed off that politics is stopping progress
13:54:41  <ins0mnia>just because some punk decides this is bad for facetime, skype or whatever
13:56:02  <ins0mnia>I'm also looking to see if it's possible to boot nexus with linux
13:56:06  <ins0mnia>just for the fun of it
13:57:05  <ins0mnia>even better find some china mobile with 2-4GB memory and some sort of output to screen
14:06:59  * jergasonquit (Remote host closed the connection)
14:13:57  <dominictarr>ins0mnia: yeah totally.
14:18:39  * jcrugzzjoined
14:26:24  * jcrugzzquit (Ping timeout: 268 seconds)
14:27:26  <dominictarr>ins0mnia: the way that phones are locked down is really terrible
14:27:28  <dominictarr>and really silly.
14:27:48  <dominictarr>there are way better approaches.
14:28:53  * dominictarr_joined
14:32:05  * dominictarrquit (Ping timeout: 245 seconds)
14:32:06  * dominictarr_changed nick to dominictarr
14:33:50  * mikolalysenkojoined
14:35:35  <ins0mnia>dominictarr: yeah
14:35:59  * ralphtheninjajoined
14:36:01  <ins0mnia>dominictarr: I wish there was something like this http://www.indiegogo.com/projects/ubuntu-edge
14:36:12  <ins0mnia>dominictarr: except that it's not ubuntu
14:37:03  <dominictarr>yeah. we really just need something that gives us low level access, so that we can build everything ourselves.
14:37:15  <dominictarr>without "apps" or an "app store"
14:37:18  <ins0mnia>dominictarr: exactly
14:37:19  <dominictarr>just with programes.
14:37:23  <ins0mnia>dominictarr: just bare bone
14:37:34  <dominictarr>pretty much
14:37:47  <dominictarr>there is one important thing:
14:37:52  <dominictarr>we need sandboxes
14:38:03  <dominictarr>unix permissions are not quite enough
14:38:17  <dominictarr>need to be able to run programs inside secure zones
14:38:24  <dominictarr>like vms
14:38:27  <dominictarr>or tabs on a web browser
14:38:30  <dominictarr>that is the key.
14:38:38  <ins0mnia>dominictarr: yeah exactly
14:39:21  * mikolalysenkoquit (Ping timeout: 268 seconds)
14:39:43  <dominictarr>this would be perfect https://code.google.com/p/nativeclient/
14:40:07  <ins0mnia>ahhhhhhh
14:40:17  <ins0mnia>nice
14:40:28  <ins0mnia>and if each app is in its own vm
14:40:32  <dominictarr>that virtualizes unix processes.
14:40:40  <ins0mnia>then this would've been what an app store should've been or a tab
14:40:42  <dominictarr>and is very light weight.
14:40:48  <dominictarr>yeah.
14:41:00  <dominictarr>you could just give each "app" arbitary permissions
14:41:07  <dominictarr>but could install it from anywhere...
14:41:13  <ins0mnia>yeah
14:41:19  <dominictarr>like, you just open a web page
14:41:27  <dominictarr>but it can be "native performance"
14:41:36  <dominictarr>with only like 5% overhead...
14:41:48  <dominictarr>also, the VMs can be nested!
14:42:14  <ins0mnia>this would've been so awesome
14:42:18  * Kesslerjoined
14:42:53  <ins0mnia>"problem" is even if someone or a company would put together such a box
14:42:53  <dominictarr>well, it's been released open source
14:43:11  <ins0mnia>like how many people would actually hear about it
14:43:27  <ins0mnia>we'd still get fragmentation issues
14:43:37  <ins0mnia>with apple, ms, google doing their own thing
14:44:03  <ins0mnia>... then again Ubuntu Edge raised 10MUSD this only means people want something different
14:44:06  <dominictarr>sure. but the web is pretty compatible
14:44:21  <dominictarr>it can still be done
14:45:02  * bigclouds_quit (Quit: ChatZilla 0.9.90.1 [Firefox 19.0.2/20130307023931])
14:45:06  <ins0mnia>yeah it can, in theory at leas
14:45:09  <ins0mnia>t
14:45:41  <ins0mnia>we should find a china mobile / box
14:45:42  <ins0mnia>and hack it
14:46:07  <dominictarr>could probably install that on to a rooted android.
14:46:33  <dominictarr>could also run it as an application on a laptop.
14:46:50  <dominictarr>but I think there are more parts to the puzzle.
14:47:07  <dominictarr>just another app cloud isn't enough of a new thing
14:47:25  <ins0mnia>dominictarr: the security and privacy aspect is important
14:47:43  <dominictarr>yes!
14:47:53  <dominictarr>but it's gotta be more convienent
14:48:09  <ins0mnia>like this should be the "first fully secure mobile device ever"
14:48:12  <ins0mnia>no NSA crap
14:48:14  <dominictarr>it's gotta actually be more useful by being secure and private
14:48:33  <ins0mnia>everything needs to be encrypted from storage to transport layer
14:48:35  <dominictarr>not just more secure for the sake of it
14:48:53  <dominictarr>because that is only idealism.
14:49:13  <dominictarr>only a small proportion of people actually care about that to do more than hit "retweet"
14:49:38  <ins0mnia>think so? with all that's going on with the NSA and the news I think more and more people are waking up
14:49:59  <dominictarr>yes, it's becoming an issue
14:50:09  <ins0mnia>like I read an article yesterday that US companies are losing customers because of the NSA mess
14:50:12  <dominictarr>but at the end of the day, it's only icing on the cake
14:50:23  <ins0mnia>that's true
14:50:30  <ins0mnia>people still want a cool tweeting experience
14:50:45  <dominictarr>but if you made something that actually worked better - and more importantly - did a new thing
14:51:00  <dominictarr>and the encryption is incidental
14:51:01  <ins0mnia>and there needs to be something that is different
14:51:03  <dominictarr>or a means
14:51:06  <ins0mnia>yeah
14:51:09  <dominictarr>that is much stronger position
14:51:19  <ins0mnia>dominictarr: I know just the thing
14:51:31  <ins0mnia>dominictarr: sensors
14:51:32  <dominictarr>if it's just encrypted, they'll say "this is only for criminals"
14:52:22  <dominictarr>but if it is useful for something, then people will use it for non idealistic reasons.
14:52:56  <ins0mnia>dominictarr: yeah, sensors, let me show you sec
14:53:12  <dominictarr>sensors?
14:53:20  <ins0mnia>dominictarr: yup, hardware sensors
14:53:44  <ins0mnia>dominictarr: measure tempartures, heart rate, you name it
14:54:10  <dominictarr>yeah. data.
14:54:20  <dominictarr>ins0mnia: also, look at max's dat
14:54:37  <dominictarr>https://github.com/maxogden/dat
14:54:47  <dominictarr>get local governments to use it
14:55:10  <dominictarr>because that is totally legitimate and boring
14:56:48  <ins0mnia>dominictarr: interesting
14:57:12  <ins0mnia>dominictarr: we can feed just about anything into this
14:57:19  <dominictarr>exactly
14:58:01  <ins0mnia>dominictarr: but transformations must be very well thought off (and complex) for this to work well...
14:58:35  <ins0mnia>dominictarr: unless we segment sources of data by types
14:58:46  <dominictarr>yes.
14:59:03  <dominictarr>the local government case is pretty simple
14:59:14  <dominictarr>they are largely using excel anyway!
14:59:20  <ins0mnia>dominictarr: yea, probably stupid form of data
14:59:31  <ins0mnia>haha exactly
15:00:19  <ins0mnia>but the case of realtime data is interesting
15:00:31  <ins0mnia>like sensor data
15:00:42  <dominictarr>yes.
15:00:52  <ins0mnia>"Ocean Sensors" for example
15:01:12  <ins0mnia>if we have all kinds of sensors across the globe feeding into this
15:01:21  <ins0mnia>we could have something interesting!!
15:01:35  <dominictarr>ins0mnia: have you seen this http://www.youtube.com/watch?v=oKg1hTOQXoY
15:01:59  <ins0mnia>dominictarr: haven't
15:02:01  <ins0mnia>1997
15:03:47  <dominictarr>yup, but he's talking about stuff that happened in the 60s-80s
15:08:34  <dominictarr>ins0mnia: so, basically my plan is to turn stackvm into an open source version of classic research labs like xerox parc
15:15:50  <ins0mnia>dominictarr: this sounds awesome! need a plan though like what to work on and who works on what
15:16:23  <dominictarr>well, everyone has to work on what they are interested in. Or it wont work
15:16:30  <dominictarr>that is research.
15:16:52  <ins0mnia>dominictarr: ofcourse, but I'm think context
15:17:24  <ins0mnia>dominictarr: like all of the level* stuff are in the context of leveldb
15:17:35  * jergasonjoined
15:17:51  <dominictarr>so, like who works on databases? and who works on UI?
15:18:05  <ins0mnia>yeah, for example
15:18:59  <ins0mnia>for example I say "ok I take this part it's more fun to me" or "I can do this, might just as well learn something from it"
15:19:11  <ins0mnia>then someone else works on something else so we don't get conflicts
15:19:14  <ins0mnia>anyway
15:20:19  <dominictarr>well, you need to have multiple people work on each part
15:20:39  <dominictarr>you can't find good solutions if you don't try to do things several ways.
15:21:47  <ins0mnia>yeah
15:21:49  <ins0mnia>true
15:22:42  * jergasonquit (Ping timeout: 256 seconds)
15:23:21  * jcrugzzjoined
15:25:41  <dominictarr>ins0mnia: the big question, is how to fund this
15:26:25  <ins0mnia>we're 100 people in stackvm
15:26:28  * mikealquit (Quit: Leaving.)
15:26:36  <ins0mnia>50-100 bucks each
15:27:43  <dominictarr>no, we need the money to go the other way
15:27:53  <dominictarr>so everyone in stackvm can quit their jobs.
15:28:21  <ins0mnia>then we need a business model
15:29:30  * timoxley_quit (Remote host closed the connection)
15:32:19  <dominictarr>ins0mnia: I told you about my plan before...
15:32:30  <dominictarr>iterative funding bitcoin
15:34:24  * mikolalysenkojoined
15:35:35  <ins0mnia>dominictarr: the only two drawbacks I could think of is that projects with more "stars" will get more funding than other less popular one, so popularity in this case is the measure for funding, not importance or impact; and second thing is that not everyone uses bitcoin so this might be limiting..
15:36:29  <ins0mnia>dominictarr: if we could have some sort of smart ranking algorithm and open up for more funding options, this could work..
15:36:46  <ins0mnia>dominictarr: I think the idea is great
15:37:18  <dominictarr>yes. there will always be problems
15:37:31  <dominictarr>important thing is having a place to get started.
15:38:38  * mikolalysenkoquit (Ping timeout: 240 seconds)
15:40:34  * thlorenzjoined
15:41:54  <ins0mnia>dominictarr: lead the way
15:42:27  <dominictarr>ins0mnia: I'll keep you posted!
15:43:11  <ins0mnia>dominictarr: sounds like a plan, I'm on
15:45:16  <ins0mnia>in
15:52:00  * mcollinajoined
16:00:34  * timoxleyjoined
16:02:31  * mcollinaquit (Remote host closed the connection)
16:02:58  * mcollinajoined
16:04:38  * timoxleyquit (Ping timeout: 240 seconds)
16:05:09  * timoxleyjoined
16:06:34  * timoxleyquit (Read error: Connection reset by peer)
16:06:47  * timoxleyjoined
16:07:28  * mcollinaquit (Ping timeout: 256 seconds)
16:11:26  * timoxleyquit (Ping timeout: 256 seconds)
16:14:09  * mcollinajoined
16:17:11  * coderzachjoined
16:18:48  * mcollinaquit (Remote host closed the connection)
16:19:15  * mcollinajoined
16:19:45  * AvianFluquit (Remote host closed the connection)
16:23:50  * thlorenzquit (Remote host closed the connection)
16:24:09  * mcollinaquit (Ping timeout: 264 seconds)
16:24:38  * mikealjoined
16:34:53  * mikolalysenkojoined
16:34:57  * dominictarrquit (Ping timeout: 264 seconds)
16:36:35  * mcollinajoined
16:37:38  * timoxleyjoined
16:37:46  * mcollinaquit (Remote host closed the connection)
16:38:13  * mcollinajoined
16:39:04  * timoxleyquit (Read error: Connection reset by peer)
16:39:17  * dominictarrjoined
16:39:45  * mikolalysenkoquit (Ping timeout: 264 seconds)
16:42:12  * mikealquit (Quit: Leaving.)
16:42:45  * mcollinaquit (Ping timeout: 248 seconds)
16:49:49  * timoxley_joined
16:51:08  * timoxley_quit (Read error: Connection reset by peer)
16:55:58  * timoxley_joined
17:00:21  * timoxley_quit (Ping timeout: 248 seconds)
17:00:34  * thlorenzjoined
17:00:34  * timoxley_joined
17:01:53  * timoxley_quit (Read error: Connection reset by peer)
17:02:15  * timoxley_joined
17:03:38  * timoxley_quit (Read error: Connection reset by peer)
17:05:15  * timoxley_joined
17:09:26  * timoxley_quit (Ping timeout: 240 seconds)
17:11:08  * dominictarr_joined
17:11:13  * fotoveritejoined
17:13:40  * dominictarrquit (Ping timeout: 260 seconds)
17:13:40  * dominictarr_changed nick to dominictarr
17:22:26  * mikealjoined
17:34:41  * mikolalysenkojoined
17:35:20  * thlorenzquit (Remote host closed the connection)
17:37:22  * mikealquit (Quit: Leaving.)
17:39:10  * mikolalysenkoquit (Ping timeout: 245 seconds)
17:47:36  * mikealjoined
17:57:57  * mikealquit (Quit: Leaving.)
18:11:42  * mikealjoined
18:13:33  * defunctzombie_zzchanged nick to defunctzombie
18:25:25  * dominictarrquit (Ping timeout: 245 seconds)
18:29:40  * Kessler_joined
18:31:40  * Kesslerquit (Ping timeout: 245 seconds)
18:49:05  * dominictarrjoined
18:56:19  * Kessler_quit (Ping timeout: 260 seconds)
18:57:21  * dominictarrquit (Ping timeout: 276 seconds)
19:02:29  <kanzure>substack: https://github.com/substack/node-trumpet/pull/17
19:09:02  * dominictarrjoined
19:13:31  * mikolalysenkojoined
19:23:01  * mikealquit (Quit: Leaving.)
19:35:37  * mikealjoined
19:53:20  * mikolalysenkoquit (Ping timeout: 245 seconds)
19:55:34  * dominictarrquit (Quit: dominictarr)
19:55:55  * thlorenzjoined
19:56:02  * thlorenzquit (Remote host closed the connection)
19:56:17  * thlorenzjoined
20:00:28  * nicholasfquit (Read error: Connection reset by peer)
20:00:57  * nicholasfjoined
20:11:54  * mk30_joined
20:33:38  <kanzure>substack: i replied, https://github.com/substack/node-trumpet/pull/17#issuecomment-22838688
20:34:48  <substack>kanzure: you're doing streams wrong
20:35:24  <substack>and you want createReadStream()
20:35:25  <kanzure>substack: yeah, probably. here's what works with my modifications to trumpet: https://gist.github.com/kanzure/6258965#file-wtf-js
20:36:54  <substack>https://github.com/substack/node-trumpet/pull/17#issuecomment-22838791
20:38:06  <substack>kanzure: your code is pretty confused
20:38:19  <substack>what are you trying to do?
20:38:22  <kanzure>i am very confused in general
20:38:33  <kanzure>i have a hyperquest request that fetches html
20:38:41  <kanzure>then i want to parse this html in some sort of streamy way
20:38:54  <kanzure>when i encounter an element that matches a selector, i want to emit some json that has a computation of that data
20:39:10  <kanzure>also, i want to return this stream to the user so the user can handle errors or maybe he wants to do something on("response")
20:43:49  <kanzure>when i use your duplexer, my "got response (2)" doesn't ever fire.
20:44:03  <kanzure>(it's on("response"))
20:44:13  <substack>because you're not returning the stream that emits the response event
20:44:44  <substack>because that's not how streams work
20:45:08  <kanzure>so i should propagate it? request.on("response", function(response) { tr.emit("response", response); }) (which doesn't work either.)
20:46:06  <substack>if you want the response event you need to save the return value of duplexer(...)
20:46:13  <substack>var dup = duplexer(...); dup.emit('whatever')
20:46:22  <substack>but that's messy anyways
20:46:28  <substack>you don't even need the response events
20:46:41  * dominictarrjoined
20:48:49  <kanzure>i thought it would be nice to propagate responses
20:48:56  <kanzure>and errors.
20:49:10  <substack>you should only start adding those nice-to-have things once it actually works
20:49:47  <kanzure>hey it works
20:49:47  <kanzure>https://gist.github.com/kanzure/6258965#file-wtf-js
20:49:53  * mikolalysenkojoined
20:50:57  <kanzure>so, why does this not stream all html?
20:51:16  <substack>because select() only matches the first element
20:51:27  <kanzure>well, it's not streaming any html to process.stdout
20:51:30  <kanzure>and what does it mean to duplex tr and a particular tr.select()?
20:51:44  <substack>https://gist.github.com/kanzure/6258965#file-wtf-js-L10
20:51:46  <kanzure>this does what i want, but i don't know why
20:51:51  <substack>why did you expect title.toString() to work?
20:51:55  <substack>it looks like you're just guessing
20:51:58  <substack>you should read the docs
20:52:00  <kanzure>title.toString() does work
20:52:01  <substack>`title` is a stream
20:52:16  <substack>or rather, an element in the stream
20:52:38  <substack>you should replace through with concat-stream there
20:52:42  <substack>that will do what you want
20:52:56  <kanzure>oh right. yeah, that makes sense.
20:53:07  <kanzure>how is it that this prevents trumpet from dumping all html?
20:53:16  <substack>"from dumping all html"
20:53:24  <substack>that's exactly what you DIDN'T want with your patch!
20:53:34  <substack>what are you trying to do?
20:53:39  <kanzure>huh? i exactly did want "to prevent trumpet from dumping all html".
20:53:52  <kanzure>but i still want to understand it
20:54:30  <kanzure>this is correctly functioning, but i don't know why
20:54:42  <substack>maybe you should start with some simpler programs
20:54:54  * mikolalysenkoquit (Ping timeout: 268 seconds)
20:54:57  <kanzure>i went through stream-adventure and stream-handbook. anything else?
20:56:46  <substack>I don't understand why you are asking the question in the first place
20:56:55  <substack>20:53 < kanzure> how is it that this prevents trumpet from dumping all html?
20:57:14  <substack>you ask that as if dumping html to the output stream is the default behavior or something
20:57:16  <kanzure>hyperquest.get(url).pipe(tr).pipe(process.stdout) will dump all html
20:57:28  <substack>yes because trumpet() gives you a through stream
20:57:29  <substack>and?
20:57:37  <substack>you're returning a DIFFERENT stream
20:57:41  <substack>that's why
20:58:18  <kanzure>and now i'm returning a duplexer that routes tr to a particular tr.select()?
21:01:27  <kanzure>what i'm worried about is that it didn't occur to me to duplex tr to a tr.select().createReadStream() stream
21:04:35  <substack>duplexer just lets you create a stream from an input and an output
21:04:55  <substack>tr is the input, tr.select().createReadStream() is the output stream
21:07:32  <kanzure>maybe i'm missing something about how trumpet is written. if i had trumpet().select().createReadstream(), would that do the same thing? or does it need to be the same tr instance?
21:09:04  <substack>you should go and experiment on your own
21:09:14  <kanzure>okay
21:09:28  <substack>you are creating a sub stream when you .createReadStream()
21:09:41  <substack>distinct from the tr input and output
21:16:05  * thlorenzquit (Remote host closed the connection)
21:17:18  * thlorenzjoined
21:18:08  <jesusabdullah>isaacs: What logic does npm use to grab READMEs when publishing? Particular file/line(s) to look at?
21:19:28  <jesusabdullah>isaacs: better question: How does the readme field get populated in npm installed packages?
21:20:41  <jesusabdullah>isaacs: because afaict https://github.com/jesusabdullah/browserify-cdn/blob/master/bundler/registry.js#L85-L91 does not return a bundle that includes this information
21:22:34  <jesusabdullah>https://github.com/jesusabdullah/browserify-cdn/issues/34 for anyone following at home
21:49:17  * wolfeidauquit (Remote host closed the connection)
21:49:28  * wolfeidaujoined
21:50:09  * mikolalysenkojoined
21:51:25  <jez0990_>ins0mnia: "need a plan though like what to work on and who works on what
21:51:25  <jez0990_>well" - a little contrary to dominictarr's reply I'd say PARC's focus on the Alto was critical to maintaining a collective vision
21:53:41  <dominictarr>ins0mnia: key reference material http://worrydream.com/EarlyHistoryOfSmalltalk/
21:54:23  <dominictarr>jez0990_: although, stackvm things like leveldb, node, browserify voxel.js does give stackvm a pretty strong focus
21:54:35  * mikolalysenkoquit (Ping timeout: 245 seconds)
21:55:23  <jez0990_>we should aim to build a sort of software system that achieves the same effect as the Alto, a complete system for bootstrapping collaborative interaction, which is a task that ought to be substantially easier since physical hardware isn't a concern anymore
21:56:02  <dominictarr>I havn't got the the bit on the alto yet
21:56:02  <jez0990_>dominictarr: components of a single system that is yet to exist :)
21:56:20  <dominictarr>jez0990_: yes.
21:57:08  <mbalho>we need a word for npm prefixes/subgenres
21:57:08  <dominictarr>you could argue that the alto was what meant that xerox parc's ideas succeeded but not their implementation
21:57:33  <dominictarr>mbalho: namepace?
21:57:40  <dominictarr>ecosystem?
21:57:41  <mbalho>dominictarr: too java-y
21:57:44  <dominictarr>family?
21:58:07  <dominictarr>I like "subgenre"
21:58:17  <mbalho>yea i guess thats pretty good
21:58:49  <dominictarr>it sounds cool, but it's not really specific
21:59:15  <dominictarr>jez0990_: because the alto didn't have anyone outside parc using it
22:00:36  * nicholasfquit (Remote host closed the connection)
22:04:58  * nicholas_joined
22:09:09  * nicholas_quit (Ping timeout: 248 seconds)
22:13:46  * thlorenzquit (Remote host closed the connection)
22:15:06  <jesusabdullah>ircretary: tell isaacs to hit me up, okay?
22:15:06  <ircretary>jesusabdullah: I'll be sure to tell isaacs
22:15:12  <jesusabdullah>ircretary: thx sweetie
22:15:12  <ircretary>jesusabdullah: I'm not sure what to do with that command. Ask for help in PM.
22:15:23  <jesusabdullah>yeah I deserved that. XD
22:16:12  <jesusabdullah>substack: suppose I want to generate a standalone bundle of a node core module (such as 'events'). Any advice?
22:17:10  <jez0990_>mbalho: I always think about npm graphically... so a module "cluster" seems fitting
22:17:19  <mbalho>ooh nice
22:17:36  <jesusabdullah>Yeah, npm's allll about the directed derpendency graphs
22:25:31  <jesusabdullah>haha "subgenre"
22:25:52  <dominictarr>jesusabdullah: they are only trees
22:26:01  <dominictarr>since you can't have cycles
22:27:41  <dominictarr>although there is code in npm to handle that… I wonder if there is actually any modules with cycles
22:28:10  * calvinfojoined
22:28:58  <jesusabdullah>you don't consider trees a subset of graphs?
22:29:21  <dominictarr>trees are a strict subset of graphs
22:29:59  <dominictarr>so, you get more meaning if you call them a tree, because you elliminate everything you are not talking about.
22:32:55  <dlmanning>Possibly stupid question: Where's the appropriate place to stash a private API key in the browser?
22:40:10  <substack>jesusabdullah: browserify -r events --standalone EventEmitter > events.js
22:40:41  <substack>except standalone only works with entry points
22:41:37  <substack>but you can do
22:44:54  <dominictarr>dlmanning: not sure, but when you find out, let me know.
22:45:17  <dlmanning>dominictarr: :D
22:47:40  <substack>jesusabdullah: ok that works now @2.28.0
22:48:40  <dlmanning>dominictarr: trying to use joyent's http-signature protocol.
22:49:00  <dominictarr>dlmanning: yeah. it's nice
22:49:08  <dominictarr>I guess you'd have to encrypt the key
22:49:16  <dominictarr>and have the user type a passphrase
22:49:31  <dlmanning>:(
22:49:49  <dominictarr>then the decrypted version is inside a closure...
22:50:03  <dominictarr>there is talk of a crypto api for javascript, too
22:50:25  <dlmanning>Yeah, I sorta assumed one must already exist
22:50:30  * mikolalysenkojoined
22:50:32  <dlmanning>alas
22:51:35  <dominictarr>http://www.w3.org/2012/webcrypto/
22:55:00  * mikolalysenkoquit (Ping timeout: 245 seconds)
22:55:27  <dominictarr>dlmanning: maybe just put it in local storage - and then switch to webcrypto when available
22:56:04  <dominictarr>& tell people to disable browser plugins
22:56:26  <dlmanning>dominictarr: Yeah, I'm leaning that way
22:58:01  <dlmanning>thanks
22:58:20  <dominictarr>http://bitwiseshiftleft.github.io/sjcl/
22:58:35  <dominictarr>^ stanford javascript crypto library
23:00:57  <dlmanning>Cool beans, I can use that if I decide to encrypt the API key in localStorage
23:04:21  <dominictarr>dlmanning: also juliangruber has a module that is good for this
23:04:37  <dominictarr>https://github.com/juliangruber/keypair
23:05:12  <juliangruber>dominictarr dlmanning: I just inlined the parts of forge I needed to generate keypairs
23:05:32  <juliangruber>unfortunately forge isn't composed of tiny modules and uses require shims, so it isn't browserifyable by default
23:06:28  <juliangruber>dlmanning: that library looks rad!
23:06:54  <juliangruber>dlmanning: have you thought about integrating diffie-hellman?
23:08:12  <dominictarr>if you build anything that matches the node crypto api, put a PR in for crypto-browserify
23:10:34  <dlmanning>juliangruber dominictarr: I'm using keypair already to generate the keys
23:11:04  <dlmanning>The server generates the keypair and passes the private key to the client
23:11:18  * dominictarrquit (Quit: dominictarr)
23:11:43  <juliangruber>:)
23:11:48  <dlmanning>after the user logs in over https
23:12:22  <dlmanning>So I just want to save the private key somewhere in the browser for API calls and I suppose for log in persistance
23:13:50  <dlmanning>juliangruber: thanks for keypair, btw
23:14:30  <juliangruber>dlmanning: great that it's used :)
23:19:01  * jibayquit (Remote host closed the connection)
23:28:43  * maksimlinjoined
23:37:23  * thlorenzjoined
23:40:58  * jergasonjoined
23:48:45  * thlorenzquit (Remote host closed the connection)
23:50:00  * thlorenzjoined
23:50:48  * mikolalysenkojoined
23:54:10  * thlorenzquit (Ping timeout: 245 seconds)
23:55:35  * mikolalysenkoquit (Ping timeout: 268 seconds)