00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:07  * ircretaryjoined
00:00:20  * calvinfoquit (Quit: Leaving.)
00:00:38  * fronxquit (Ping timeout: 246 seconds)
00:08:19  * sorensenjoined
00:23:38  * AvianFluquit (Ping timeout: 264 seconds)
00:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 35]
00:25:13  <rowbit>substack, pkrumins: testling server winIE9 + chrome + firefox + opera + safari + all nightly (rackspace) is down!
00:25:39  <substack>good that the alerts are correctly working
00:26:40  * kevino80joined
00:30:51  * tilgovijoined
00:35:04  * jcrugzzjoined
00:37:34  * kevino80quit (Remote host closed the connection)
00:38:20  * kevino80joined
00:40:36  * kevino80quit (Read error: No route to host)
00:44:58  <jesusabdullah>chapel: I'm in San Josie and doing nothing until tomorrow morning
00:46:31  * sorensenquit (Quit: sorensen)
00:47:14  <substack>jesusabdullah: again!
00:47:26  <jesusabdullah>substack: I know!
00:47:41  <jesusabdullah>substack: I'm staying in san josie this time though, tomorrow's schedule with paypal is hectic
00:48:47  * thlorenzjoined
00:50:19  <chapel>fun
00:50:20  <jesusabdullah>oh chapel !!!
00:50:22  <jesusabdullah>haha
00:50:28  <jesusabdullah>So what are you up to?
00:50:41  <chapel>my gf and I are going to pub trivia in sunny vale at 6:30
00:50:53  <chapel>bunch of atheists
00:51:05  <jesusabdullah>I like atheists
00:51:14  <chapel>you're welcome to come
00:51:19  <ogd>i didnt even realize sunnyvale was in the bay area until just now
00:51:33  <chapel>its usually loud, always beer (or whatever you fancy), and we've won all but one time going
00:53:03  <jesusabdullah>nice
00:53:05  <jesusabdullah>I'm down
00:54:34  <chapel>do you need a ride?
00:54:44  <chapel>its in downtown sunnyvale
00:54:55  <chapel>so really close to caltrain
00:56:12  * indexzeroquit (Quit: indexzero)
00:56:27  <chapel>http://www.yelp.com/biz/fibber-mcgees-sunnyvale
00:57:17  * fronxjoined
01:00:11  * maksimlinquit (Ping timeout: 272 seconds)
01:02:05  * fronxquit (Ping timeout: 272 seconds)
01:06:23  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
01:11:40  <jesusabdullah>chapel: Yeah, a ride would be fantastic
01:12:30  <jesusabdullah>chapel: (907)351 6491
01:12:41  <jesusabdullah>chapel: I'm at the Marriott on Skyport and Technology
01:15:43  * yorickquit (Remote host closed the connection)
01:20:57  <chapel>okay, I'll head out asap and pick up my gf, and head your way
01:23:28  * jxsonquit (Remote host closed the connection)
01:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 21]
01:24:35  * funkytekjoined
01:26:05  <rch>hmmmm i remember that place, used to go there occasionally back when i worked at y!
01:26:37  <rch>ogd: the more you commute to sunnyvale from oakland the less you think it's in the bay area
01:29:21  * funkytekquit (Client Quit)
01:31:18  * tmcwjoined
01:32:51  * fronxjoined
01:33:09  * AvianFlujoined
01:37:14  * fronxquit (Ping timeout: 246 seconds)
01:38:36  * crankquit (Ping timeout: 246 seconds)
01:38:57  * crankjoined
01:39:03  * AvianFlu_joined
01:42:07  * funkytekjoined
01:42:30  * AvianFluquit (Remote host closed the connection)
01:45:57  * funkytekquit (Client Quit)
01:49:27  * AvianFlu_changed nick to AvianFlu
01:50:03  * crankquit (Ping timeout: 252 seconds)
01:50:42  * jcrugzzquit (Read error: Connection reset by peer)
01:50:58  * indexzerojoined
01:51:11  * crankjoined
01:55:39  * fronxjoined
01:55:52  * tmcwquit (Remote host closed the connection)
01:56:19  * tmcwjoined
02:00:21  * fronxquit (Ping timeout: 265 seconds)
02:01:15  * tmcwquit (Ping timeout: 272 seconds)
02:01:43  * jcrugzzjoined
02:06:36  <ogd>isaacs: i get the error that substack got earlier but with npm 1.3.21
02:06:55  * tilgoviquit (Ping timeout: 252 seconds)
02:09:18  * tmcwjoined
02:09:47  <substack>defunctzombie_zz: https://github.com/defunctzombie/commonjs-assert
02:09:52  <substack>upgrade util to 0.10.1
02:10:10  <substack>and PLEASE let that version float on patches
02:10:14  <substack>this is nightmarish otherwise
02:10:19  <pkrumins>defunctzombie_zz: and add testling badge
02:10:35  <substack>otherwise to fix things I've got to send a bunch of requests to a bunch of authors
02:10:45  <substack>I don't like being beholden to that
02:11:19  <substack>I'm going to have browserify depend on a custom release until you get the latest out
02:12:52  <substack>defunctzombie_zz: this kind of thing was why I removed the dependency on browser-builtins
02:13:07  <substack>too much begging to get things fixed
02:13:55  * crankquit (Ping timeout: 260 seconds)
02:14:02  * mikolalysenkoquit (Ping timeout: 264 seconds)
02:14:46  * crankjoined
02:14:53  * mikolalysenkojoined
02:18:32  * defunctzombie_zzchanged nick to defunctzombie
02:20:44  <defunctzombie>substack: published 1.0.1
02:20:50  <defunctzombie>substack: all you have to do is open an issue
02:21:02  <defunctzombie>it is very unreasonable to expect millisecond turnaround time or mindreading
02:21:08  <defunctzombie>and as for patch versions
02:21:21  <defunctzombie>it is just as likely that some util fix breaks some other browser crap
02:21:34  <defunctzombie>I like to have code be deterministic
02:22:08  <defunctzombie>pkrumins: I am currently testing via zuul not testling for that module
02:22:40  <defunctzombie>substack: it isn't begging.. it is working with other people and modules
02:22:48  <ogd>defunctzombie: if you like code to be deterministic then why use npm?
02:23:09  <defunctzombie>ogd: easy installs and code sharing
02:23:19  <ogd>defunctzombie: but i can publish -f over any version you depend on
02:23:40  <defunctzombie>ogd: yes.. I know... one day I will use a package manager that doesn't allow that
02:23:54  <defunctzombie>ogd: for now I put up with it cause some other aspects I really like
02:24:01  <defunctzombie>and don't have the time to fix myself yet
02:24:02  * contrahaxquit (Quit: Sleeping)
02:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 18]
02:24:08  <ogd>so if you trust me to not do that then why not trust me to not break code on patch versions (e.g. follow semver correctly)
02:24:12  <defunctzombie>but eventually I will just stop using npm if these things are not fixed
02:24:35  <defunctzombie>ogd: because you are more likely to do accidental breakage than accidental force push
02:24:39  <pkrumins>ogd: doesn't really happen in practice
02:24:53  <defunctzombie>ogd: especially with some random browser quirk
02:24:57  <defunctzombie>ogd: semver is for humans
02:25:10  <defunctzombie>ogd: it doesn't tell you anything about the future or actual code viability
02:25:37  <defunctzombie>ogd: maybe my ways are foolish
02:25:48  <defunctzombie>ogd: but I am trying them and seeing what from it I like or don't long term
02:26:34  <defunctzombie>ogd: I am no longer preachy about it with people who use "~" .. altho I do rally against "*" pretty hard :D
02:27:52  <defunctzombie>also.. if you wanna fork something and use your fork.. then by all means do that (and the system should make that viable as npm does) but complaining that updating module deps is a PITA
02:28:11  <defunctzombie>but then trying to preach that everything should be a module is hypocrisy :D
02:28:28  <substack>I think ~ is a pretty good middle ground of trust
02:28:42  <defunctzombie>what you end up saying is that everything should be a module I control cause my time is the correct time
02:28:55  <defunctzombie>substack: maybe, and I might come to that conclusion
02:29:07  <defunctzombie>substack: but for now I wanna think about treating deps like git clone
02:29:30  <defunctzombie>I expect a version of the code when I clone and I want to expect a version of the deps as well (even when I develop)
02:29:37  <defunctzombie>not just for deployments
02:29:40  <substack>because I don't like updating deps everywhere when there is just a tiny patch that doesn't affect features
02:29:52  <defunctzombie>anyhow... I have published the updated module you requested
02:30:00  <substack>thanks!
02:30:07  * tmcwquit (Remote host closed the connection)
02:30:44  <pkrumins>hah well something else has broken now
02:31:08  * crankquit (Ping timeout: 246 seconds)
02:31:12  <defunctzombie>pkrumins: :D
02:32:08  * crankjoined
02:34:16  <defunctzombie>let me know if I gotta fix more things!
02:34:38  <pkrumins>later
02:34:57  <pkrumins>we're gonna work on other things right now, and return to this new bug later
02:35:14  <pkrumins>basically assert.deepEqual broke for some reason
02:35:25  <defunctzombie>fun
02:35:31  <isaacs>ogd: what error?
02:35:38  <isaacs>ogd: can you gimme more details?
02:37:10  <defunctzombie>just an error... you know.. error error error
02:37:38  * timoxleyjoined
02:38:43  * kevino80joined
02:41:22  <isaacs>defunctzombie: i'm totally gonna add a `npm error` command that just prints out some random errors
02:41:33  <defunctzombie>isaacs: \o/
02:41:44  <isaacs>defunctzombie: or, occasionally, prints out "npm ok" and then exits with 127
02:41:47  <defunctzombie>I think it should print errors and fortune
02:41:50  <defunctzombie>hahaha
02:42:52  * kevino80quit (Ping timeout: 246 seconds)
02:48:34  * st_lukejoined
02:48:58  * anoemijoined
02:50:52  <isaacs>oh, man, so there was that "npm published with a bogus checksum" error, right?
02:51:10  * fronxjoined
02:51:17  <isaacs>the "works for me!" suggestion from a bunch of folks was to install the tarball directly.
02:51:25  <isaacs>ie, the tarball that has the busted checksum...
02:51:37  <isaacs>the npm tarball that is at best broken, and at worst maliciously hacked.
02:55:58  <defunctzombie>hahaha
02:56:34  <st_luke>what
02:56:35  <st_luke>who said that
02:57:21  <st_luke>actually never mind thats not important
02:59:47  * fronxquit (Ping timeout: 250 seconds)
03:00:49  * tmcwjoined
03:02:35  * tmcw_joined
03:02:51  * tmcwquit (Read error: Connection reset by peer)
03:06:52  * calvinfojoined
03:07:01  * tmcw_quit (Ping timeout: 246 seconds)
03:17:06  <ogd>isaacs: https://gist.github.com/maxogden/8016745
03:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 17]
03:30:21  * fotoveritequit (Quit: fotoverite)
03:31:21  * wolfeidauquit (Remote host closed the connection)
03:31:57  * wolfeidaujoined
03:33:00  * wolfeidauquit (Read error: Connection reset by peer)
03:34:36  * mikolalysenkoquit (Ping timeout: 265 seconds)
03:35:32  * jcrugzzquit (Ping timeout: 246 seconds)
03:36:29  * wolfeidaujoined
03:42:18  <st_luke>ogd: I hope this is you in 30 years: http://www.youtube.com/watch?v=yGx-Da5QtOE
03:47:20  <ogd>st_luke: looks more like substack (i dont wear chuck taylors)
03:48:32  <st_luke>ah yeah I could see that
03:52:35  * jcrugzzjoined
03:57:21  * fotoveritejoined
03:59:01  * dominictarrjoined
04:00:11  <substack>dominictarr: https://www.spaceglasses.com/
04:01:26  <substack>I could fit 4 terminals comfortably tiled at that resolution
04:03:21  * tmcwjoined
04:04:39  * st_lukequit (Remote host closed the connection)
04:04:56  <ogd>dominictarr: there is unrest in the colonies, through2 doesnt work in the browser but all these streams2 hipsters are using it, we need your help obi wan modulenobi
04:05:51  <substack>ogd: it doesn't?
04:05:56  * tmcw_joined
04:05:59  <substack>gist me some code!
04:06:40  * tmcwquit (Read error: Connection reset by peer)
04:07:35  * defunctzombiechanged nick to defunctzombie_zz
04:08:52  <ogd>substack: https://gist.github.com/maxogden/8017139
04:09:27  <substack>ogd: where is the through2 part?
04:09:37  <ogd>substack: its a subdep of multibuffer-stream
04:10:00  <ogd>i can make an example with through2, same error will happen though
04:11:00  <ogd>substack: http://requirebin.com/?gist=8017151
04:11:10  <ogd>substack: it does instanceof Buffer or whatever
04:11:39  <ogd>substack: and doesnt have browser tests taht i can find
04:11:47  * tmcw_quit
04:12:17  <substack>ogd: it looks like you maybe need to through2({ objectMode: true })?
04:12:40  <ogd>to write typed arrays i need to put it in object mode?
04:12:52  <substack>ok perhaps not
04:13:11  <substack>this might be something we can fix in stream-browserify
04:13:42  * contrahaxjoined
04:14:28  <ogd>substack: a simple test would be stream.write(new Uint8Array(0)) and see if it errors
04:14:29  * harrowquit (Ping timeout: 248 seconds)
04:16:33  * contrahaxquit (Read error: Connection reset by peer)
04:17:10  * contrahaxjoined
04:18:41  * defunctzombie_zzchanged nick to defunctzombie
04:20:36  * harrowjoined
04:20:58  * st_lukejoined
04:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 13]
04:25:14  * brycebariljoined
04:25:16  <substack>ogd: there's not an easy way to add this
04:25:27  <substack>well maybe I could coerce to Buffer
04:25:35  * jcrugzzquit (Ping timeout: 250 seconds)
04:25:40  <substack>it starts to diverge from how node works
04:25:57  <ogd>right, its in the browser
04:26:03  <substack>ogd: what about just stream.write(Buffer('hi'))
04:26:13  <ogd>doesnt work either for me
04:27:25  <substack>https://github.com/brycebaril/multibuffer-stream/blob/master/index.js#L28
04:27:32  <substack>what about
04:27:47  <substack>this._bufferState = Buffer.concat([this._bufferState, chunk])
04:28:32  * thlorenzquit (Remote host closed the connection)
04:29:11  <ogd>substack: oh wait stream.write(Buffer('hi')) does work, i must have been doing something dumb before
04:29:24  <ogd>substack: can i do new Buffer(arraybuffer) ?
04:29:24  <brycebaril>heyo
04:29:30  <substack>ogd: checking!
04:29:35  * defunctzombiechanged nick to defunctzombie_zz
04:29:42  <ogd>brycebaril: im tryin to get multibuffer-stream workin client side as part of my meatspace perf upgrade
04:29:56  <brycebaril>what part isn't working?
04:30:05  * mikolalysenkojoined
04:30:16  <ogd>brycebaril: something with through2
04:30:24  <ogd>brycebaril: i dont think it multibuffer-streams fault at al
04:30:30  <ogd>l
04:31:17  <substack>ogd: yes! in both node and in browserify that works
04:32:04  <brycebaril>through2 is just sugar on top of readable-stream if in the browser, right? or does browserify have a different streams2 polyfill?
04:32:31  <substack>brycebaril: https://npmjs.org/package/stream-browserify
04:32:46  <substack>because readable-stream isn't built for browser compat
04:32:56  <substack>it's like the tap/tape dilemma
04:33:24  <ogd>substack: if i do new Buffer(someTypedArray.buffer).toString() i get ''
04:33:54  <ogd>substack: but bops.to(someTypedArray) is "foobar" as expected
04:34:00  <substack>here's what I did https://gist.github.com/substack/8017319
04:34:16  <ogd>oh youre instantiating it from the typed array directly
04:34:34  <ogd>ah cool that works, nice
04:34:35  * contrahaxquit (Quit: Sleeping)
04:35:00  * contrahaxjoined
04:35:41  * contrahaxquit (Client Quit)
04:36:46  * contrahaxjoined
04:37:00  * st_lukequit (Remote host closed the connection)
04:37:57  <ogd>substack: hmmm https://gist.github.com/maxogden/8017349
04:38:49  <substack>ogd: not sure, sounds like a bops issue
04:39:03  <ogd>substack: bops is just being used to create a typed array
04:39:39  <ogd>substack: there i updated it
04:39:44  * kevino80joined
04:40:54  <substack>ok I get the same thing
04:41:24  <substack>ogd: but doesn't multibuffer-stream use bops internally?
04:42:51  <substack>seems that part isn't causing the issue
04:42:54  <ogd>hmm maybe bops needs to be updated to use buffer apis in the browser if its in browserify 3.0
04:42:59  <dominictarr>jjjohnny_, I can't read your messages
04:43:50  * kevino80quit (Ping timeout: 240 seconds)
04:44:18  <dominictarr>ogd, I'll just make through support the through2 api with the next() thing
04:44:25  <substack>oh hang on
04:44:36  <dominictarr>are they using it in objectMode?
04:44:43  <substack>oh blah through2 has a || require('readable-stream/transform')
04:44:48  <substack>sucks for browser code size >_<
04:45:18  <ogd>dominictarr: i wish through2 was just a pr to through that broke backwards compat
04:45:22  <brycebaril>substack: yeah that was for 0.8 compat
04:45:26  <substack>rvagg: we should get a browser field entry into through2 to no-op the readable-stream away
04:46:12  <rvagg>substack: oh? anything special need to be done? I (was) going to remove require('stream') completely and opt for pure readable-stream
04:46:18  <rvagg>I hate the inconsistency
04:46:46  <substack>oh ok that works too
04:46:51  <substack>easier if you were already going to do that
04:47:07  <substack>oh actually
04:47:24  <substack>pure readable-stream will not work browser side at all
04:48:01  <substack>but maybe we can fix that in the browser field?
04:48:38  <brycebaril>https://gist.github.com/brycebaril/b77cc4e8c280d1f9cb76 runs through streams2 Readable->Transform->Writable
04:48:42  <dominictarr>so does this mean that levelup doesn't work in the browser?
04:49:10  <substack>rvagg: you could add "browser": { "readable-stream/transform": "_stream_transform" } to package.json
04:49:19  <substack>then it will use the built-in stream transform in browserify
04:49:40  <rvagg>substack: is a form of readable-stream or something especially for browserify?
04:50:07  <rvagg>I just need to make bl work, at least at a basic level, in the browser and then I can get my through2 tests working in the browser
04:50:13  <substack>browserify uses https://npmjs.org/package/stream-browserify internally
04:50:20  <substack>bl?
04:50:31  <rvagg>buffer list, http://github.com/rvagg/bl
04:50:51  <substack>https://github.com/substack/node-browserify/blob/master/lib/builtins.js#L27
04:50:53  <rvagg>holds a list of buffers, can combined them, read them as if they were continuous, stream in and out
04:51:10  * anoemiquit (Quit: anoemi)
04:51:11  <isaacs>ogd: looking now
04:51:59  <substack>somebody just walked off the street playing jazz guitar into this cafe and ordered a coffee while playing
04:52:15  <ogd>substack: haha which one?
04:52:26  <rvagg>substack: I'll fiddle with this stream stuff when I get a moment, I have 1/2 broken browserify based tests in master of through2 that need to be completed
04:52:35  <substack>ogd: urban blend
04:53:04  <isaacs>ogd: that's weird..... i don't get it.
04:53:29  <dominictarr>jesusabdullah, since I know you are into this sort of stuff: https://github.com/dominictarr/line-graph
04:54:17  <ogd>isaacs: i just reinstalled node from nodejs.org via the mac installer and publish worked
04:54:27  <ogd>isaacs: on npm 1.3.17
04:54:42  * funkytekjoined
04:55:24  <dominictarr>ogd, I accidentially started working on dat github.com/dominictarr/dat-table
04:55:34  * fronxjoined
04:56:00  <ogd>dominictarr: w00t
04:56:02  <isaacs>ogd: yeah, i know
04:56:08  <isaacs>ogd: can you help me find the bug, though?
04:56:22  <isaacs>ogd: i just added more details to the error that gets reported on the server. can you try again?
04:56:38  <ogd>isaacs: ok upgrading npm
04:56:52  <brycebaril>ogd: what was your error?
04:57:28  <ogd>isaacs: https://gist.github.com/maxogden/60c744be01bdc6630837
04:58:01  <ogd>different email??
04:58:18  <ogd>how do i even set my email
04:58:22  * peutetrejoined
04:58:30  <brycebaril>I'm getting a different error trying to publish. Says I've already published this version
04:58:38  <isaacs>ogd: aha!!
04:58:42  <isaacs>ogd: that shouldn't actually matter
04:58:47  <isaacs>ogd: so the vdu is overly strict
04:58:57  <isaacs>fixing one sec
04:59:00  <ogd>isaacs: but it worked on .17....
04:59:06  <isaacs>i <3 it when the bug is only in the server :)
04:59:13  * mikolalysenkoquit (Ping timeout: 272 seconds)
04:59:16  <isaacs>ogd: because the client was doing the silly 3-step-PUT-dance
04:59:22  <isaacs>PUT root, PUT tgz, PUT version
04:59:24  <ogd>oh that shipped
04:59:30  <isaacs>now it's just one PUT with everythign
04:59:38  <isaacs>yeah, that's the new npm update
04:59:49  <ogd>isaacs: while you're in the vdu add a line that says if (user === 'maxogden') return true at the top
05:00:03  * fronxquit (Ping timeout: 260 seconds)
05:00:09  <ogd>or userCtx.name or wahtever
05:01:27  <ogd>dominictarr: i was gonna write a similar thing to dat-table based on ndarray
05:01:45  <ogd>dominictarr: also the coordinated views from https://github.com/square/crossfilter could be interesting
05:01:58  <brycebaril>isaacs: yeah I had to just update to 0.10.23 to actually publish something, was giving me version conflicts for new versions
05:02:19  <isaacs>ogd: hahaha
05:02:29  <isaacs>ogd: try again plz?
05:02:44  * AvianFluquit (Read error: Connection reset by peer)
05:02:49  <isaacs>brycebaril: same as ogd's thing, or different error reported?
05:02:55  <dominictarr>ogd, it also has pretty formatting, so that it outputs csv with the decimal points all lining up.
05:03:01  <brycebaril>isaacs: lemme gist it
05:03:07  <dominictarr>ndarray would be great, except you can only have one number type.
05:03:14  <isaacs>brycebaril: thanks!
05:03:27  * AvianFlujoined
05:03:39  <dominictarr>I want this to be a abstraction so that it doesn't matter exactly the underlieing mechanism
05:03:47  <brycebaril>https://gist.github.com/brycebaril/a52b54ac10d2eb53b8de npm had 1.0.4, gave this error for 1.0.5 so I skipped to 1.0.6, same error
05:03:50  <dominictarr>and you can use ndarray if it works for your case.
05:04:01  <ogd>isaacs: worked
05:04:46  <ogd>dominictarr: you should use require('binary-csv')
05:05:48  <brycebaril>isaacs: ^^
05:06:02  <jden>dominictarr: in dat-table .reduce(), the seed value should come from the .reduce invocation, not be hardcoded in the reducer fn
05:06:29  <ogd>dominictarr: also i have been thinking about a data table interchange format
05:06:39  <dominictarr>jden, yes. Like in Array#reduce
05:06:43  <isaacs>brycebaril: that's a different error. but weird.
05:06:56  <isaacs>brycebaril: just a thought, do this: npm i npm -g
05:06:59  <isaacs>brycebaril: then try it
05:07:08  <dominictarr>however, defaulting inside the reduce function means htere is only a function, so it's much easier to pass around.
05:07:33  <brycebaril>isaacs: it worked as soon as I updated to 0.10.23. I'll pop down to 0.10.22 and try on the next package
05:07:44  <isaacs>brycebaril: nah, that has nothing to do with it
05:07:48  <dominictarr>ogd, we just need enough to like, make implementing a spreadsheet easy
05:07:50  <isaacs>brycebaril: that was just randomness.
05:07:55  <dominictarr>except a little more structured
05:07:58  <isaacs>brycebaril: the issue ist hat you caught a replication snag.
05:08:10  <dominictarr>like, a table, not freeform cells.
05:08:33  <dominictarr>table + computed columns + "totals"
05:08:34  <brycebaril>isaacs: that's what I assumed at first, so the 0.10.23 publish was just a lucky draw
05:08:55  <jden>dominictarr: but that's conflating 2 different concerns: the operation, eg sum, and the data that it's operating on
05:09:18  <ogd>dominictarr: yea the level of abstraction seems a little off to mee
05:09:34  * mikolalysenkojoined
05:09:43  <dominictarr>jden, it only defaults. if you set a different initial value, that would work.
05:10:12  <dominictarr>ogd, what do you mean?
05:11:03  <dominictarr>ogd, I made dat-table because I was working on this https://github.com/dominictarr/line-graph (in progress still)
05:11:33  <ogd>dominictarr: gotcha
05:11:46  <brycebaril>dominictarr: when I get a chance I'm going to try and plug timestream into line-graph
05:11:56  <dominictarr>ogd, it's definately little data
05:12:29  <dominictarr>I gotta go, talk to you cats later
05:12:31  <ogd>dominictarr: to be useful i'd need it to not have a csv parser inside of it and also to be optionally streaming
05:12:40  <dominictarr>*note gender neutrality of "cats"
05:13:04  <dominictarr>ogd, you can just pass in an array
05:13:31  <dominictarr>streaming should be possible, although it will limit some operations.
05:13:39  <dominictarr>outta here
05:13:51  <jden>dominictarr: noted. i've begun saying it too
05:14:08  <brycebaril>ogd: lemme know when you get to streaming stuff for dat, a lot of the timestream stuff could probably work
05:15:33  <ogd>brycebaril: cool, a lot of it is there already, check out the test suite https://github.com/maxogden/dat/tree/master/test/tests
05:17:19  <ogd>brycebaril: you can also npm install dat -g and mess aroun;d with stuff
05:17:20  <brycebaril>ogd: I meant the streaming stats stuff (ala the dat-table)
05:17:30  <ogd>brycebaril: oh gotcha
05:18:05  * dominictarrquit (Ping timeout: 246 seconds)
05:21:30  * peutetrequit (Quit: peutetre)
05:21:34  <brycebaril>isaacs: next publish (with 0.10.23) got the same replication error, tried again after npm i npm -g and worked
05:21:48  <isaacs>brycebaril: woot!
05:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 28]
05:27:01  * mikolalysenkoquit (Ping timeout: 246 seconds)
05:30:11  * jcrugzzjoined
05:33:03  * wolfeidauquit (Read error: Connection timed out)
05:34:19  <brycebaril>ogd: https://gist.github.com/brycebaril/8017727 same error, with multibuffer directly, (no multibuffer-stream)
05:36:15  <ogd>brycebaril: yea i think its inside readable-stream
05:39:08  * jdenchanged nick to jden_away
05:39:13  * dguttmanquit (Quit: dguttman)
05:42:55  * wolfeidaujoined
05:43:58  <Nexxy>chapel, pong
05:44:01  <ogd>i need to write 2 more modules so i can hit 100
05:44:39  * contrahaxquit (Quit: Sleeping)
05:45:11  * crankquit (Ping timeout: 272 seconds)
05:45:47  <niftylettuce>looking for mobile devs, iOS and Android in the SF/Bay area -- if you know someone let me know. niftylettuce@gmail.com
05:45:55  * crankjoined
05:46:28  <Nexxy>niftylettuce, for what
05:46:36  <niftylettuce>Nexxy: mobile app startup
05:46:39  <niftylettuce>Nexxy: consumer apps
05:46:58  <niftylettuce>good perks
05:46:59  <Nexxy>funded and all that?
05:47:04  <niftylettuce>yeah
05:47:09  <niftylettuce>acquired actually and expanding :)
05:47:14  <Nexxy>cool
05:47:35  <Nexxy>is there a description or anything somewhere?
05:47:35  <substack>apps, what are those even about!
05:47:41  * contrahaxjoined
05:48:30  <niftylettuce>Nexxy: yeah ill send you PM
05:48:35  * timoxleyquit (Remote host closed the connection)
05:48:39  <niftylettuce>Nexxy: it's my friends company, his previous was bought by Yahoo!
05:49:50  * contraha_joined
05:51:06  * sorensenjoined
05:52:39  * contrahaxquit (Ping timeout: 240 seconds)
05:52:47  * jcrugzzquit (Ping timeout: 260 seconds)
05:55:35  * fronxjoined
05:58:22  <brycebaril>ogd: it happens when you throw bops into the equation
05:59:00  <ogd>brycebaril: bops === Uint8Array
05:59:12  <brycebaril>https://gist.github.com/brycebaril/ba67491d6468f28f836b
05:59:58  <ogd>brycebaril: do stream.write(Buffer(bops.create(varint.encode(1254))))
06:00:07  * crankquit (Ping timeout: 252 seconds)
06:00:18  * fronxquit (Ping timeout: 248 seconds)
06:00:18  <brycebaril>ogd: works again
06:01:17  * crankjoined
06:04:22  <brycebaril>ogd: create the same error in node: https://gist.github.com/brycebaril/f608f633307329feb779
06:05:00  <ogd>brycebaril: yea it does Buffer.isBuffer inside readable-stream
06:05:47  <taterbase>Anybody have a favorite module for webRTC things?
06:05:56  <ogd>brycebaril: while it would be cool if readable-stream worked with typed arrays, i think it works okay with Buffer for now
06:07:49  * pfrazequit (Ping timeout: 252 seconds)
06:09:02  <brycebaril>ogd: so switch away from bops in mulitbuffer* you think?
06:09:20  <ogd>brycebaril: no its okay
06:09:30  <ogd>brycebaril: i think just make sure to only write Buffers
06:11:41  <brycebaril>ogd: multibuffer.encode will return a Uint8Array as long as it is using bops though, right?
06:12:11  * sorensenquit (Ping timeout: 250 seconds)
06:12:32  <brycebaril>https://github.com/brycebaril/multibuffer/blob/master/index.js#L21
06:15:57  <ogd>brycebaril: ahh yea
06:16:07  <ogd>brycebaril: i got it working just now tho
06:16:16  <ogd>brycebaril: just gotta do new Buffer()
06:17:01  <brycebaril>ogd: awesome! I gotta run, fill me in tomorrow!
06:17:55  <ogd>brycebaril: extracted code but it works https://gist.github.com/maxogden/8018025
06:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 31]
06:31:26  * timoxleyjoined
06:31:38  * timoxleyquit (Remote host closed the connection)
06:31:44  * crankquit (Remote host closed the connection)
06:31:59  * crankjoined
06:33:26  * shamaquit
06:40:28  * kevino80joined
06:40:34  * kevino80quit (Read error: No buffer space available)
06:44:48  * jcrugzzjoined
06:45:49  * fotoveritequit (Quit: fotoverite)
06:47:13  * calvinfoquit (Quit: Leaving.)
06:48:39  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
06:52:32  * indexzeroquit (Quit: indexzero)
06:52:38  * contraha_changed nick to _Contra
06:52:58  * funkytekjoined
06:54:10  * AvianFluquit (Remote host closed the connection)
06:54:11  * jxsonjoined
06:55:38  * fronxjoined
06:58:09  * jcrugzzquit (Read error: Connection reset by peer)
06:59:03  * jxsonquit (Ping timeout: 260 seconds)
07:00:30  * fronxquit (Ping timeout: 265 seconds)
07:00:31  <chapel>Nexxy: ping
07:00:36  <Nexxy>chapel, pong
07:00:44  <chapel>lol
07:01:08  <chapel>I believe you answered it on twitter, but was wondering about the arduino situation for thursday
07:01:16  <Nexxy>oh that was you?
07:01:19  <chapel>I have one that I haven't used
07:01:24  <chapel>a coworker
07:01:29  <chapel>we are both going to come
07:01:31  <Nexxy>oh cool :D
07:04:10  <chapel>brought jesusabdullah along to pub trivia tonight, we won
07:04:17  <chapel>$45 bar bucks for next time
07:04:25  <chapel>but we have a large group
07:05:10  <Nexxy>haha nice
07:05:46  <chapel>Nexxy: other than an arduino if we have one, we don't need to bring anything? (other than a laptop and ourselves)
07:06:01  <Nexxy>a sense of adventure
07:06:06  <Nexxy>decent social skills
07:06:18  <Nexxy>anything else you want to play with
07:06:25  <Nexxy>the 'theme' is loosely based on holiday lighting
07:06:31  <chapel>there will be lights and other stuff there?
07:06:58  <Nexxy>yup
07:07:17  <Nexxy>but bonus points for bringing extra stuff to play with
07:07:36  <ogd>Nexxy: theres a holiday lighting nodebotsday?!?!?
07:08:12  <Nexxy>yes!
07:08:14  <Nexxy>this thursday @ heroku
07:08:23  <Nexxy>get your saturnalia on
07:08:25  <Nexxy>(or festivus)
07:09:04  <substack>cronus!
07:09:48  <chapel>Nexxy: whats the dinner plans?
07:10:06  <Nexxy>heroku has something for us
07:10:54  <chapel>okay cool, not a big deal was just curious
07:11:26  <chapel>Nexxy: are you still living in portland?
07:11:47  <Nexxy>newp
07:11:53  <Nexxy>I live in teh bay
07:11:59  <chapel>ah, I must have missed that
07:12:00  <Nexxy>directly IN the bay
07:12:05  <chapel>in the real bay
07:12:08  <Nexxy>I just float around
07:12:10  <chapel>nice
07:12:12  <Nexxy>then swim to work
07:12:22  <chapel>some people do take boats
07:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 27]
07:29:07  * hij1nxquit (Ping timeout: 252 seconds)
07:34:49  <substack>Nexxy: we should have a FESTIVE HACK PARTY
07:34:57  <substack>in oak towne
07:35:42  <substack>fun for the WHOLE FAMILY
07:51:40  <ogd>http://npmjs.org/ workin for ya'll
07:51:41  <ogd>?
07:51:45  <ogd>oh just loaded
07:54:54  * jxsonjoined
07:55:33  * fronxjoined
07:57:50  * jcrugzzjoined
07:57:58  * calvinfojoined
07:59:56  * jxsonquit (Ping timeout: 265 seconds)
08:00:11  * fronxquit (Ping timeout: 260 seconds)
08:09:44  * paul_irish_changed nick to paul_irish
08:14:18  * jden_awaychanged nick to jden
08:21:06  * calvinfoquit (Quit: Leaving.)
08:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 29]
08:41:26  * kevino80joined
08:41:27  * jcrugzzquit (Read error: Connection reset by peer)
08:45:49  * kevino80quit (Ping timeout: 246 seconds)
08:55:40  * fronxjoined
08:56:15  * timoxleyjoined
09:00:10  * fronxquit (Ping timeout: 246 seconds)
09:08:45  * paul_irishquit (Ping timeout: 252 seconds)
09:10:57  * timoxleyquit (*.net *.split)
09:11:00  * juliangruberquit (*.net *.split)
09:11:00  * py1honquit (*.net *.split)
09:11:01  * rook2pawnquit (*.net *.split)
09:11:02  * taterbasequit (*.net *.split)
09:11:02  * techwraithquit (*.net *.split)
09:11:02  * daleharveyquit (*.net *.split)
09:11:02  * hughskquit (*.net *.split)
09:11:03  * johnkpaulquit (*.net *.split)
09:11:04  * chapelquit (*.net *.split)
09:11:04  * anvaka_quit (*.net *.split)
09:11:04  * Nexxyquit (*.net *.split)
09:11:04  * enjaworkquit (*.net *.split)
09:11:06  * kanzurequit (*.net *.split)
09:11:06  * jdenquit (*.net *.split)
09:11:07  * rwaldronquit (*.net *.split)
09:11:08  * emilistoquit (*.net *.split)
09:11:08  * cubertquit (*.net *.split)
09:11:08  * jjjohnny_quit (*.net *.split)
09:11:08  * philipnquit (*.net *.split)
09:11:08  * thisandagainquit (*.net *.split)
09:11:08  * jez0990quit (*.net *.split)
09:11:09  * rvaggquit (*.net *.split)
09:11:09  * LOUDBOTquit (*.net *.split)
09:11:09  * chrisdickinsonquit (*.net *.split)
09:11:09  * jgpelletierquit (*.net *.split)
09:11:09  * simcop2387quit (*.net *.split)
09:11:09  * prettyrobotsquit (*.net *.split)
09:11:09  * trevnorrisquit (*.net *.split)
09:11:09  * owenb___quit (*.net *.split)
09:11:10  * prettyrobots_quit (*.net *.split)
09:11:10  * josephgquit (*.net *.split)
09:11:11  * harrowquit (*.net *.split)
09:11:12  * ccowan_quit (*.net *.split)
09:11:12  * dlmanningquit (*.net *.split)
09:11:13  * defunctzombie_zzquit (*.net *.split)
09:11:14  * dools_quit (*.net *.split)
09:11:14  * funkytekquit (*.net *.split)
09:11:15  * crankquit (*.net *.split)
09:11:15  * isaacsquit (*.net *.split)
09:11:15  * substackquit (*.net *.split)
09:11:16  * brianloveswordsquit (*.net *.split)
09:11:16  * cpupquit (*.net *.split)
09:11:20  * justinabrahmsquit (*.net *.split)
09:11:20  * grncdrquit (*.net *.split)
09:11:21  * pkruminsquit (*.net *.split)
09:11:21  * jaz303quit (*.net *.split)
09:11:21  * spionquit (*.net *.split)
09:11:21  * nlacassequit (*.net *.split)
09:11:22  * _Contraquit (*.net *.split)
09:11:22  * ircretaryquit (*.net *.split)
09:11:23  * jlord_quit (*.net *.split)
09:11:23  * mint_xianquit (*.net *.split)
09:11:23  * jergasonquit (*.net *.split)
09:11:23  * chiltsquit (*.net *.split)
09:11:24  * ehdquit (*.net *.split)
09:11:25  * sindresorhusquit (*.net *.split)
09:11:25  * orenquit (*.net *.split)
09:11:25  * gildeanquit (*.net *.split)
09:11:25  * jan____quit (*.net *.split)
09:11:26  * rowbitquit (*.net *.split)
09:11:27  * niftylettucequit (*.net *.split)
09:11:27  * dubroy__quit (*.net *.split)
09:11:27  * tanepiperquit (*.net *.split)
09:11:28  * mk30quit (*.net *.split)
09:11:28  * supershabamquit (*.net *.split)
09:11:28  * creationixquit (*.net *.split)
09:11:28  * rchquit (*.net *.split)
09:11:28  * gozalaquit (*.net *.split)
09:11:28  * ogdquit (*.net *.split)
09:11:29  * sveisveiquit (*.net *.split)
09:11:29  * runningsmquit (*.net *.split)
09:11:29  * rannmannquit (*.net *.split)
09:11:30  * fentquit (*.net *.split)
09:11:30  * clone1018quit (*.net *.split)
09:11:30  * brycebarilquit (*.net *.split)
09:11:31  * mmckeggquit (*.net *.split)
09:11:31  * jiangplusquit (*.net *.split)
09:11:32  * groundwaterquit (*.net *.split)
09:11:34  * dimadimaquit (*.net *.split)
09:11:35  * trodriguesquit (*.net *.split)
09:11:35  * mirkokquit (*.net *.split)
09:11:35  * grewebquit (*.net *.split)
09:11:36  * tim_smartquit (*.net *.split)
09:11:36  * perlbotquit (*.net *.split)
09:11:37  * juliangruber_quit (*.net *.split)
09:11:37  * ryanflorencequit (*.net *.split)
09:11:37  * heathquit (*.net *.split)
09:11:37  * dstokesquit (*.net *.split)
09:11:37  * robertkowalskiquit (*.net *.split)
09:11:38  * farnsworthquit (*.net *.split)
09:11:39  * wolfeidauquit (*.net *.split)
09:11:40  * mmaleckiquit (*.net *.split)
09:11:40  * tearmannquit (*.net *.split)
09:11:42  * Altreusquit (*.net *.split)
09:13:03  * paul_irish_joined
09:13:03  * jcrugzzjoined
09:13:03  * timoxleyjoined
09:13:03  * funkytekjoined
09:13:03  * crankjoined
09:13:03  * _Contrajoined
09:13:03  * wolfeidaujoined
09:13:03  * brycebariljoined
09:13:03  * harrowjoined
09:13:03  * ircretaryjoined
09:13:03  * tearmannjoined
09:13:03  * chapeljoined
09:13:03  * anvaka_joined
09:13:03  * Nexxyjoined
09:13:03  * grewebjoined
09:13:03  * enjaworkjoined
09:13:03  * orenjoined
09:13:03  * jgpelletierjoined
09:13:03  * rowbitjoined
09:13:03  * kanzurejoined
09:13:03  * taterbasejoined
09:13:03  * mmaleckijoined
09:13:03  * techwraithjoined
09:13:03  * jjjohnny_joined
09:13:03  * rook2pawnjoined
09:13:03  * cubertjoined
09:13:03  * emilistojoined
09:13:03  * py1honjoined
09:13:03  * juliangruberjoined
09:13:03  * josephgjoined
09:13:03  * rwaldronjoined
09:13:03  * prettyrobots_joined
09:13:03  * owenb___joined
09:13:03  * trevnorrisjoined
09:13:03  * prettyrobotsjoined
09:13:03  * simcop2387joined
09:13:03  * daleharveyjoined
09:13:03  * hughskjoined
09:13:03  * johnkpauljoined
09:13:03  * chrisdickinsonjoined
09:13:03  * LOUDBOTjoined
09:13:03  * rvaggjoined
09:13:03  * jez0990joined
09:13:03  * jdenjoined
09:13:03  * thisandagainjoined
09:13:03  * philipnjoined
09:13:03  * runningsmjoined
09:13:03  * rannmannjoined
09:13:03  * ccowan_joined
09:13:03  * dlmanningjoined
09:13:03  * justinabrahmsjoined
09:13:03  * tim_smartjoined
09:13:03  * isaacsjoined
09:13:03  * fentjoined
09:13:03  * clone1018joined
09:13:03  * substackjoined
09:13:03  * perlbotjoined
09:13:03  * brianloveswordsjoined
09:13:03  * juliangruber_joined
09:13:03  * cpupjoined
09:13:03  * defunctzombie_zzjoined
09:13:03  * ryanflorencejoined
09:13:03  * heathjoined
09:13:03  * dstokesjoined
09:13:03  * robertkowalskijoined
09:13:03  * dools_joined
09:13:03  * grncdrjoined
09:13:03  * jlord_joined
09:13:03  * mmckeggjoined
09:13:03  * niftylettucejoined
09:13:03  * pkruminsjoined
09:13:03  * dubroy__joined
09:13:03  * jaz303joined
09:13:03  * mint_xianjoined
09:13:03  * jergasonjoined
09:13:03  * chiltsjoined
09:13:03  * tanepiperjoined
09:13:03  * mk30joined
09:13:03  * dimadimajoined
09:13:03  * supershabamjoined
09:13:03  * spionjoined
09:13:03  * creationixjoined
09:13:03  * farnsworthjoined
09:13:03  * rchjoined
09:13:03  * Altreusjoined
09:13:03  * jiangplusjoined
09:13:03  * gozalajoined
09:13:03  * ehdjoined
09:13:03  * groundwaterjoined
09:13:03  * ogdjoined
09:13:03  * trodriguesjoined
09:13:03  * nlacassejoined
09:13:03  * sveisveijoined
09:13:03  * gildeanjoined
09:13:03  * jan____joined
09:13:03  * sindresorhusjoined
09:13:03  * mirkokjoined
09:15:47  * crankquit (Ping timeout: 260 seconds)
09:16:17  * timoxleyquit (*.net *.split)
09:16:20  * juliangruberquit (*.net *.split)
09:16:21  * py1honquit (*.net *.split)
09:16:21  * rook2pawnquit (*.net *.split)
09:16:22  * taterbasequit (*.net *.split)
09:16:22  * techwraithquit (*.net *.split)
09:16:22  * daleharveyquit (*.net *.split)
09:16:22  * hughskquit (*.net *.split)
09:16:23  * johnkpaulquit (*.net *.split)
09:16:24  * chapelquit (*.net *.split)
09:16:24  * anvaka_quit (*.net *.split)
09:16:25  * Nexxyquit (*.net *.split)
09:16:25  * enjaworkquit (*.net *.split)
09:16:26  * kanzurequit (*.net *.split)
09:16:26  * jdenquit (*.net *.split)
09:16:27  * rwaldronquit (*.net *.split)
09:16:28  * emilistoquit (*.net *.split)
09:16:28  * cubertquit (*.net *.split)
09:16:28  * jjjohnny_quit (*.net *.split)
09:16:28  * philipnquit (*.net *.split)
09:16:28  * thisandagainquit (*.net *.split)
09:16:28  * jez0990quit (*.net *.split)
09:16:29  * rvaggquit (*.net *.split)
09:16:29  * LOUDBOTquit (*.net *.split)
09:16:29  * chrisdickinsonquit (*.net *.split)
09:16:29  * jgpelletierquit (*.net *.split)
09:16:29  * simcop2387quit (*.net *.split)
09:16:29  * prettyrobotsquit (*.net *.split)
09:16:29  * trevnorrisquit (*.net *.split)
09:16:30  * owenb___quit (*.net *.split)
09:16:30  * prettyrobots_quit (*.net *.split)
09:16:31  * josephgquit (*.net *.split)
09:16:32  * harrowquit (*.net *.split)
09:16:32  * ccowan_quit (*.net *.split)
09:16:32  * dlmanningquit (*.net *.split)
09:16:33  * defunctzombie_zzquit (*.net *.split)
09:16:34  * dools_quit (*.net *.split)
09:16:34  * paul_irish_quit (*.net *.split)
09:16:34  * jcrugzzquit (*.net *.split)
09:16:34  * funkytekquit (*.net *.split)
09:16:35  * isaacsquit (*.net *.split)
09:16:35  * substackquit (*.net *.split)
09:16:36  * brianloveswordsquit (*.net *.split)
09:16:36  * cpupquit (*.net *.split)
09:16:40  * justinabrahmsquit (*.net *.split)
09:16:40  * grncdrquit (*.net *.split)
09:16:40  * pkruminsquit (*.net *.split)
09:16:41  * jaz303quit (*.net *.split)
09:16:41  * spionquit (*.net *.split)
09:16:41  * nlacassequit (*.net *.split)
09:16:42  * _Contraquit (*.net *.split)
09:16:42  * ircretaryquit (*.net *.split)
09:16:42  * jlord_quit (*.net *.split)
09:16:43  * mint_xianquit (*.net *.split)
09:16:43  * jergasonquit (*.net *.split)
09:16:43  * chiltsquit (*.net *.split)
09:16:43  * ehdquit (*.net *.split)
09:16:44  * sindresorhusquit (*.net *.split)
09:16:45  * orenquit (*.net *.split)
09:16:45  * gildeanquit (*.net *.split)
09:16:45  * jan____quit (*.net *.split)
09:16:46  * rowbitquit (*.net *.split)
09:16:46  * niftylettucequit (*.net *.split)
09:16:47  * dubroy__quit (*.net *.split)
09:16:47  * tanepiperquit (*.net *.split)
09:16:47  * mk30quit (*.net *.split)
09:16:47  * supershabamquit (*.net *.split)
09:16:48  * creationixquit (*.net *.split)
09:16:48  * rchquit (*.net *.split)
09:16:48  * gozalaquit (*.net *.split)
09:16:48  * ogdquit (*.net *.split)
09:16:48  * sveisveiquit (*.net *.split)
09:16:49  * runningsmquit (*.net *.split)
09:16:49  * rannmannquit (*.net *.split)
09:16:50  * fentquit (*.net *.split)
09:16:50  * clone1018quit (*.net *.split)
09:16:50  * brycebarilquit (*.net *.split)
09:16:50  * mmckeggquit (*.net *.split)
09:16:51  * jiangplusquit (*.net *.split)
09:16:51  * groundwaterquit (*.net *.split)
09:16:53  * dimadimaquit (*.net *.split)
09:16:54  * trodriguesquit (*.net *.split)
09:16:54  * mirkokquit (*.net *.split)
09:16:55  * grewebquit (*.net *.split)
09:16:55  * tim_smartquit (*.net *.split)
09:16:55  * perlbotquit (*.net *.split)
09:16:56  * juliangruber_quit (*.net *.split)
09:16:56  * ryanflorencequit (*.net *.split)
09:16:57  * heathquit (*.net *.split)
09:16:57  * dstokesquit (*.net *.split)
09:16:57  * robertkowalskiquit (*.net *.split)
09:16:57  * farnsworthquit (*.net *.split)
09:16:58  * wolfeidauquit (*.net *.split)
09:16:59  * mmaleckiquit (*.net *.split)
09:17:00  * tearmannquit (*.net *.split)
09:17:01  * Altreusquit (*.net *.split)
09:22:41  * paul_irish_joined
09:22:41  * jcrugzzjoined
09:22:41  * timoxleyjoined
09:22:41  * funkytekjoined
09:22:41  * _Contrajoined
09:22:41  * wolfeidaujoined
09:22:41  * brycebariljoined
09:22:41  * harrowjoined
09:22:41  * ircretaryjoined
09:22:41  * tearmannjoined
09:22:41  * chapeljoined
09:22:41  * anvaka_joined
09:22:41  * Nexxyjoined
09:22:41  * grewebjoined
09:22:41  * enjaworkjoined
09:22:41  * orenjoined
09:22:41  * jgpelletierjoined
09:22:41  * rowbitjoined
09:22:41  * kanzurejoined
09:22:41  * taterbasejoined
09:22:41  * mmaleckijoined
09:22:41  * techwraithjoined
09:22:41  * jjjohnny_joined
09:22:41  * rook2pawnjoined
09:22:41  * cubertjoined
09:22:41  * emilistojoined
09:22:41  * py1honjoined
09:22:41  * juliangruberjoined
09:22:41  * josephgjoined
09:22:41  * rwaldronjoined
09:22:41  * prettyrobots_joined
09:22:41  * owenb___joined
09:22:41  * trevnorrisjoined
09:22:41  * prettyrobotsjoined
09:22:41  * simcop2387joined
09:22:41  * daleharveyjoined
09:22:41  * hughskjoined
09:22:41  * johnkpauljoined
09:22:41  * chrisdickinsonjoined
09:22:41  * LOUDBOTjoined
09:22:41  * rvaggjoined
09:22:41  * jez0990joined
09:22:41  * jdenjoined
09:22:41  * thisandagainjoined
09:22:41  * philipnjoined
09:22:41  * runningsmjoined
09:22:41  * rannmannjoined
09:22:41  * ccowan_joined
09:22:41  * dlmanningjoined
09:22:41  * justinabrahmsjoined
09:22:41  * tim_smartjoined
09:22:41  * isaacsjoined
09:22:41  * fentjoined
09:22:41  * clone1018joined
09:22:41  * substackjoined
09:22:41  * perlbotjoined
09:22:41  * brianloveswordsjoined
09:22:41  * juliangruber_joined
09:22:41  * cpupjoined
09:22:41  * defunctzombie_zzjoined
09:22:41  * ryanflorencejoined
09:22:41  * heathjoined
09:22:41  * dstokesjoined
09:22:41  * robertkowalskijoined
09:22:41  * dools_joined
09:22:41  * grncdrjoined
09:22:41  * jlord_joined
09:22:41  * mmckeggjoined
09:22:41  * niftylettucejoined
09:22:41  * pkruminsjoined
09:22:41  * dubroy__joined
09:22:41  * jaz303joined
09:22:41  * mint_xianjoined
09:22:41  * jergasonjoined
09:22:41  * chiltsjoined
09:22:41  * tanepiperjoined
09:22:41  * mk30joined
09:22:41  * dimadimajoined
09:22:41  * supershabamjoined
09:22:41  * spionjoined
09:22:41  * creationixjoined
09:22:41  * farnsworthjoined
09:22:41  * rchjoined
09:22:41  * Altreusjoined
09:22:41  * jiangplusjoined
09:22:41  * gozalajoined
09:22:41  * ehdjoined
09:22:41  * groundwaterjoined
09:22:41  * ogdjoined
09:22:41  * trodriguesjoined
09:22:41  * nlacassejoined
09:22:41  * sveisveijoined
09:22:41  * gildeanjoined
09:22:41  * jan____joined
09:22:41  * sindresorhusjoined
09:22:41  * mirkokjoined
09:22:52  * crankjoined
09:22:52  * jcrugzzquit (Ping timeout: 260 seconds)
09:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 36]
09:27:25  * crankquit (Ping timeout: 265 seconds)
09:28:32  * hij1nxjoined
09:28:42  * crankjoined
09:30:02  * jcrugzzjoined
09:31:18  * indexzerojoined
09:33:41  * crankquit (Ping timeout: 250 seconds)
09:34:08  * dominictarrjoined
09:34:56  * crankjoined
09:39:53  * crankquit (Ping timeout: 246 seconds)
09:47:28  * crankjoined
09:50:15  * jxsonjoined
09:52:05  * crankquit (Ping timeout: 248 seconds)
09:52:12  * crank_joined
09:54:40  <dominictarr>pipable linegraphs on npm! https://github.com/dominictarr/line-graph
09:54:55  * jxsonquit (Ping timeout: 240 seconds)
09:56:23  * jxsonjoined
09:57:32  <dominictarr>ogd, https://github.com/dominictarr/line-graph
09:57:33  * crank_quit (Excess Flood)
09:58:28  * crankjoined
10:01:03  * jxsonquit (Ping timeout: 260 seconds)
10:01:44  * fronxjoined
10:04:36  * anvaka_quit (Remote host closed the connection)
10:04:55  * dominictarrquit (Ping timeout: 246 seconds)
10:12:15  * crankquit (Ping timeout: 250 seconds)
10:13:20  * crankjoined
10:15:35  * dominictarrjoined
10:17:41  * crankquit (Ping timeout: 248 seconds)
10:18:29  * fronxquit (Remote host closed the connection)
10:18:54  * crankjoined
10:20:34  * peutetrejoined
10:21:45  <rowbit>substack, pkrumins: Encoders down: 50.57.174.105 (dev-ie8-2)
10:21:46  * peutetrequit (Read error: Connection reset by peer)
10:22:20  * dominictarrquit (Read error: Connection reset by peer)
10:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 29]
10:30:53  * peutetrejoined
10:35:26  * dominictarrjoined
10:36:31  * jcrugzzquit (Ping timeout: 260 seconds)
10:42:13  * kevino80joined
10:47:10  * kevino80quit (Ping timeout: 265 seconds)
10:49:27  * crankquit (Ping timeout: 240 seconds)
10:50:43  * crankjoined
10:57:15  * jxsonjoined
11:02:07  * jxsonquit (Ping timeout: 272 seconds)
11:09:54  * peutetrequit (Quit: peutetre)
11:13:48  * peutetrejoined
11:13:57  * peutetrequit (Client Quit)
11:18:33  * crankquit (Ping timeout: 250 seconds)
11:18:37  * fronxjoined
11:19:57  * crankjoined
11:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 30]
11:44:39  * cpupquit (Ping timeout: 260 seconds)
11:58:00  * jxsonjoined
12:00:23  <dominictarr>hey, how do you redirect stdout to stderr, so that you can inspect it, while also feeding it to standard out.
12:00:32  <dominictarr>stdout -> stderr & stdout
12:00:35  * crankquit (Ping timeout: 246 seconds)
12:01:51  * crankjoined
12:02:23  * jxsonquit (Ping timeout: 260 seconds)
12:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 21]
12:30:56  <greweb>dominictarr: you mean in a shell?
12:34:17  <dominictarr>greweb, yes
12:34:19  * crankquit (Remote host closed the connection)
12:34:42  * crankjoined
12:35:56  * peutetrejoined
12:38:50  <greweb>dominictarr: it doesn't seem possible. you can do the reverse though with 2>&1
12:39:28  <greweb>why would you make something both an out and an err?
12:40:26  <greweb>maybe you can find a way with tee ( see http://en.wikipedia.org/wiki/Tee_(command) )
12:41:49  <greweb> echo 'ee' | tee /dev/stderr
12:41:58  <greweb>will send both to stdout and stderr
12:42:21  * dominictarrquit (Ping timeout: 252 seconds)
12:43:04  * kevino80joined
12:47:39  * kevino80quit (Ping timeout: 260 seconds)
12:48:20  * crankquit (Ping timeout: 240 seconds)
12:49:34  * crankjoined
13:19:21  * yorickjoined
13:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 43]
13:32:17  * thlorenzjoined
13:40:40  * brianloveswordsquit (Excess Flood)
13:40:51  * brianloveswordsjoined
13:44:16  * ehdquit (Ping timeout: 272 seconds)
13:45:56  * ehdjoined
13:55:30  * dominictarrjoined
14:21:29  * kevino80joined
14:21:38  * indexzeroquit (Quit: indexzero)
14:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 43]
14:25:54  * thlorenzquit (Remote host closed the connection)
14:37:20  * fronxquit (Remote host closed the connection)
14:40:39  * kevino80quit (Read error: Connection reset by peer)
14:42:34  * kevino80joined
14:43:35  * Maciek416joined
14:43:44  * Maciek416quit (Remote host closed the connection)
14:52:32  * pfrazejoined
14:54:56  <dominictarr>pfraze!
14:55:05  <pfraze>hey!
14:55:29  <dominictarr>hows things?
14:55:45  <pfraze>doing well, you?
14:58:59  <greweb>dominictarr: for your stderr questions, here is an answer: `cmd | tee /dev/stderr`
14:59:14  <dominictarr>greweb, oh, clever
14:59:38  <dominictarr>pfraze, yeah. I'm hanging out in veitnam right now, working on my merkle trees.
14:59:42  * tmcwjoined
14:59:44  <dominictarr>(for replication)
15:00:05  * defunctzombie_zzchanged nick to defunctzombie
15:00:35  * thlorenzjoined
15:00:38  <pfraze>vietnam? no way
15:01:15  <dominictarr>this graph shows the current room for improvement: https://raw.github.com/dominictarr/merkle-stream/master/test/bench.png
15:02:22  <thlorenz>dominictarr: it's streaming like smoothie-charts or is it meant to only output png?
15:02:27  <dominictarr>(I have been travelling south from Beijing the last month - go as far as singapore on this trip)
15:02:35  <dominictarr>thlorenz, it only outputs a static png
15:02:38  <pfraze>cool
15:02:46  <thlorenz>ah ok
15:02:48  <pfraze>is x time?
15:03:03  <dominictarr>thlorenz, although, actually drawing the chart is the easy part (compared to the other stuff that makes it look nice.
15:03:14  <dominictarr>you could add realtime... it's just canvas.
15:03:46  <dominictarr>pfraze, you get three columns, and it makes two graphs on one canvas.
15:03:52  <thlorenz>yeah I remember the good old days when I drew charts by hand too (i.e. x - y with visual basic) including zoom funcions
15:04:03  <dominictarr>actually, you can have more - but you can have two axii
15:05:12  <thlorenz>dominictarr: maybe nodei.co could use it to generate linegraph pngs for downloads that look better than: https://nodei.co/npm-dl/xtend.png
15:06:14  <dominictarr>that looks pretty perfect considering what nodei.co does,
15:06:30  <dominictarr>what more do you want?
15:11:10  <dominictarr>pfraze, so, your grimwire project runs apps inside webworkers
15:11:32  <dominictarr>so, it's secure, like having vms - but how does the UI work?
15:11:40  <dominictarr>is javascript banned from the UI?
15:12:00  <pfraze>yeah that's been one of the big tricks
15:13:04  <pfraze>generally, you have servers running in the document thread to give APIs to whatever, for instance UI
15:13:28  <pfraze>so you could do something like this to be generic: https://github.com/grimwire/ide/blob/master/DOM_WebAPI.md
15:14:13  <pfraze>or you could do something more app-specific, like an API for adding buttons to the toolbar
15:15:44  * Raynosquit (Read error: Connection reset by peer)
15:15:52  <dominictarr>oh, so you do have javascript in the ui?
15:16:00  <pfraze>yeah, but out of the document thread
15:16:06  <dominictarr>but implement most of the app as a service?
15:16:09  <pfraze>yeah
15:16:24  <dominictarr>what is the "document thread"?
15:16:32  <dominictarr>is that the HTML page?
15:16:33  <pfraze>the page
15:16:34  <pfraze>yeah
15:16:53  <dominictarr>how do you have javascript in the ui if it's not in the document?
15:17:36  <pfraze>the page defines web services to actually manipulate the document. Workers or peers send requests to those services
15:18:18  * dguttmanjoined
15:18:31  <pfraze>the reverse can also happens when it makes sense: the page requests content from the worker/peer and then puts it in the ui
15:18:45  <pfraze>since the messaging is bidirectional
15:19:22  * Raynos_joined
15:21:29  <dominictarr>pfraze, hmm, so you have custom messages that can affect the document?
15:21:46  <dominictarr>so grimwire has JS that runs in the document, but not app code?
15:24:04  <rowbit>Hourly usage stats: [developer: 6, free: 43]
15:24:28  <pfraze>it does include app code. Grimwire gives an http messaging toolset. The apps define the gui services, and basically set up any web apis that workers would need to share the page
15:25:00  <pfraze>so its like "make a mini, app-specific platform"
15:26:03  <pfraze>and the app has to audit the requests for security and make sure no two workers will conflict
15:29:46  <dominictarr>how are the requests secured?
15:32:05  <pfraze>there's flexibility. You always know when the worker originated a request, so that's a good tool. I'm interested in using object-capabilities, because then access can be granted by giving a hard-to-guess URI
15:32:30  * indexzerojoined
15:33:32  <dominictarr>what is an "object-capability"?
15:33:55  <dominictarr>it's something to do with a hash, right?
15:33:58  <pfraze>yeah
15:34:09  <dominictarr>like how private gists just have a longer url
15:34:10  <pfraze>baaasically a really random URI. Sort of like putting the access token in the path
15:34:13  <pfraze>yeah
15:34:25  <dominictarr>a shared secret.
15:34:52  <pfraze>yeah, and theyre cool beacuse they can be defined by each server (what a valid token gives) and you dont have to have a central acl
15:34:59  <dominictarr>why is that called an object capability?
15:35:52  <dominictarr>right, so when an app adds a service, it gives it a password to reidentify the server next time.
15:35:53  <pfraze>I think it's historical. It wasnt originally a web arch thing
15:35:53  * kevino80quit (Remote host closed the connection)
15:36:20  * kenperkinsjoined
15:36:41  * kevino80joined
15:37:41  * indexzeroquit (Ping timeout: 250 seconds)
15:37:43  * timoxleyquit
15:37:44  <dominictarr>hmm, I guess with a capability you have to send that code to another entity
15:37:57  <pfraze>more or less. Identification isnt too much of a problem for workers, since the host page does control them and they cant fake their origin. For peers, you get a lesser but still strong id guarantee. The reason tokens get involved is to make fine-grained "who can do what" choices which the user can change
15:37:58  <dominictarr>and the trust they don't loose it, share it, etc
15:38:19  <pfraze>yeah. What I'm trying right now is nulling all APIs in the worker except postmessage
15:38:24  <dominictarr>but you have to trust them they are competent to look after a private key too.
15:38:27  <pfraze>(and a few other harmless ones like btoa)
15:38:35  <pfraze>yeah
15:39:03  <thlorenz>defunctzombie: so its done: https://twitter.com/thlorenz/status/413332471145832449
15:39:18  <pfraze>but if you can constrain the worker to only postmessage with the host page, then you can audit almost everything it does
15:39:34  <thlorenz>defunctzombie: wrt jsdoc // style, nothing I can do since you'd have to change jsdoc tool itself
15:39:43  <pfraze>the host page becomes a permanent proxy
15:40:16  <defunctzombie>thlorenz: sadness
15:40:17  <thlorenz>defunctzombie: and as you can see they are very reluctant to merge PRs even if they fix things with small changes ;) https://github.com/jsdoc3/jsdoc/pull/548
15:40:51  <defunctzombie>thlorenz: stupid
15:40:56  <defunctzombie>thlorenz: just fork it and use your fork
15:41:04  <thlorenz>defunctzombie: but docme works pretty well for me so far, this was done with it: https://github.com/thlorenz/zuul-mp#zuulmpargs-cwd-cb
15:41:29  <thlorenz>defunctzombie: yeah was thinking of it, but then I'd have to maintain it and they have all these generated shit going on
15:41:37  * kevinohara80joined
15:41:39  * kevino80quit (Ping timeout: 260 seconds)
15:41:49  * tmcwquit
15:42:02  <thlorenz>and I think it's heavy under development to get it back to feature parity for the version that uses Java, so I just used a workaround
15:42:15  <pfraze>so there's mediated access (the tokens) and there's worker sandboxing (nulling APIs). Then I use CSP, iframe sandboxes, and caja's sanitizer to mitigate content attack vectors
15:42:36  <defunctzombie>thlorenz: nice on the zuul stuff!
15:43:04  <thlorenz>defunctzombie: thanks, now we just need to link it somewher on the readme (ppl won't easily find it in the wiki)
15:43:20  <dominictarr>pfraze, impressive!
15:43:51  <dominictarr>is there a way to address the various parts from the outside?
15:44:05  <defunctzombie>thlorenz: yep, tho I have been thinking more about it and maybe supporting "- name: phantomjs" in the zuul file would be ok
15:44:08  <pfraze>dominictarr, thanks!
15:44:10  <defunctzombie>thlorenz: and make the user install it themselves
15:44:33  <defunctzombie>thlorenz: that way users can run tests via phantom for all the frameworks zuul supports
15:44:35  <defunctzombie>not just mocha
15:45:34  <defunctzombie>thlorenz: I have a branch with some "experimentation" I will push later today for you to check out
15:45:42  <defunctzombie>thlorenz: been working on making test results stream back
15:46:27  <thlorenz>defunctzombie: cool, I mean you could even hack something where it installs zuul-mp on demand if the user specifies an option
15:46:37  <dominictarr>pfraze, how do all the parts communicate? can a worker on my browser communicate with a worker on yours?
15:46:51  <pfraze>yeah, so every app using grimwire's messaging lib has a local namespace (the httpl:// namespace). When a remote environment (peer, worker) is added, it gets a local name (httpl://myworker.js). Requests to the local name go to the remote env where a single server fn has been defined to handle it. If that server fn wants to proxy to other servers in its local namespace, it can
15:47:23  * defunctzombiechanged nick to defunctzombie_zz
15:47:33  <pfraze>so pfrazeworker.js -> pfrazeapp.com -(webrtc)-> dominictarrapp.com -> dominicworker.js
15:48:24  <pfraze>from pfrazeworker.js, maybe that would be GET httpl://host.page/dominictarr@grimwire.net!dominictarrapp.com/dominictarworker.js
15:48:37  <pfraze>which is crazy, so you'd use a user agent to construct that URI
15:48:44  <dominictarr>pfraze, aha
15:49:17  <dominictarr>so I just do an XHR to an address starting with: httpl://?
15:49:40  <pfraze>there's a function to patch XHR to do that
15:50:05  <pfraze>but the default is a separate ajax fn (grimwire.com/local) which is more convenient
15:50:41  * mikolalysenkojoined
15:51:07  <dominictarr>hmm, so say I have a grimwire app running, and then I want to curl to it, what would that look like?
15:51:45  <pfraze>like a 404. You have to use the webrtc stack to access it
15:52:32  <pfraze>I've seen some efforts to port rtc to node though
15:53:35  <dominictarr>you could have a server somewhere that proxied it though?
15:54:21  <pfraze>yeah, you could setup a websocket connection and send HTTPL requests over that (same principle as for workers and rtc)
15:54:58  * peutetrequit (Quit: peutetre)
15:55:09  <pfraze>and actually, the rtc relay service (brokers the p2p connections) can bounce httpl traffic, so that could be used already
15:57:29  <dominictarr>I ask, because I really really want to be able to pipe from a command line util into a web browser, and have it just work some how.
15:57:42  <dominictarr>I want to be able to do push deploy to a web browser.
15:58:10  <pfraze>push deploy - like code?
15:58:29  <dominictarr>yeah, like, start a program running in a new tab, and then pipe stdio into it.
15:58:31  <pfraze>interesting. Yeah, a CLI bridge would be pretty useful
15:59:03  <dominictarr>or also things like, say, have a button or a check box, and connect to that...
15:59:12  <pfraze>yeah, that's completely doable
15:59:20  <dominictarr>and the output would be ON <timestamp>\n OFF <timestamp>\n
15:59:21  <dominictarr>etc
16:00:16  <dominictarr>I was thinking, give everything a url,
16:00:34  <dominictarr>and each thing could choose to route to things underneath it
16:00:41  <dominictarr>since it's heirachical
16:00:59  <dominictarr>so I could do:
16:01:48  <dominictarr>echo "HELLO" | curl pfraze.com/{APPNAME}/{CLIENT}/{TABNAME}/{WIDGET}?capability=secret
16:02:21  <dominictarr>and you'd see "HELLO" on your browser.
16:02:39  <dominictarr>but _only_ in the text area with id={WIDGET}
16:03:36  * peutetrejoined
16:04:18  <pfraze>yeah, I dont see any reason why that cant happen
16:04:52  * AvianFlujoined
16:05:06  * AvianFluquit (Client Quit)
16:06:54  <pfraze>would also let you integrate npm or git from the cli to manage worker code
16:07:34  <pfraze>cd myprojectdir && ./pushworkers
16:08:28  <pfraze>where ./pushworkers does a PUT & LOAD of every js file to the page's worker manager
16:09:05  <pfraze>rather than trying to build a full ide in the page
16:09:30  * peutetrequit (Quit: peutetre)
16:12:59  * AvianFlujoined
16:13:30  <pfraze>dominictarr, looking at your merkle bench, looks like you're sending 0-6000 (depending on the intersection) 64-bit numbers (over...no socket, just mem?) so that's about 384kb, yeah?
16:14:04  <dominictarr>pfraze, yeah! although, just pushing a static bundle would be pretty useful.
16:14:15  <dominictarr>pfraze, at the moment I'm just testing the algorithm
16:14:55  <dominictarr>I think merkle trees would work well in situations where you are comparing sets that have large intersections and small disunions
16:14:58  <pfraze>dominictarr, yeah I've gotta figure out how things will package. If I can tap into npm, I will (and kill it with moar packages)
16:15:15  <pfraze>yeah
16:15:21  <dominictarr>pfraze, so crazy idea:
16:15:33  <dominictarr>a json version of tarballs
16:16:20  <dominictarr>a json array, then each item is {source: string, id: path, mode: unixmode, etc, encoding: 'utf8'}
16:16:24  <dominictarr>and then gzip it
16:16:42  <dominictarr>kinda like tar, but not mental.
16:16:47  <rowbit>substack, pkrumins: These encoders are STILL down: 50.57.174.105(dev-ie8-2)
16:17:14  <dominictarr>(that said, isaacs's tar parser is pure js... don't know if it works in the browser though)
16:18:11  <pfraze>I like that idea. If you make the entries links, you could generalize the package to support any data type
16:18:35  <dominictarr>yeah, and for binary files, you just base64 it
16:18:47  * fronxjoined
16:18:49  <dominictarr>it will be very easy to support in any browser!
16:19:01  <dominictarr>and if you gzip it too, no problems.
16:19:20  <pfraze>yeah, awesome, I like that
16:19:31  <dominictarr>that would probably kill the base64 overhead... hmm, that is a testable hypothesis
16:21:55  * peutetrejoined
16:23:33  * fronxquit (Ping timeout: 248 seconds)
16:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 48]
16:25:43  * fronxjoined
16:49:38  * AvianFluquit (Remote host closed the connection)
16:56:22  * AvianFlujoined
17:02:26  <AvianFlu>ANGELA MERKLE TREES
17:02:27  <LOUDBOT>YOU SUCK AT PHOTOGRAPHY
17:07:29  * peutetrequit (Quit: peutetre)
17:14:21  * anvakajoined
17:15:36  * fronxquit (Remote host closed the connection)
17:24:04  <rowbit>Hourly usage stats: [developer: 3, free: 10]
17:26:33  * fotoveritejoined
17:32:31  * dominictarrquit (Ping timeout: 250 seconds)
17:38:20  * defunctzombie_zzchanged nick to defunctzombie
17:40:23  * AvianFluquit (Remote host closed the connection)
17:42:42  * thlorenzquit (Remote host closed the connection)
17:44:17  * mikolalysenkoquit (Ping timeout: 272 seconds)
17:56:45  * kenperkinsquit (*.net *.split)
17:56:45  * pfrazequit (*.net *.split)
17:56:48  * juliangruberquit (*.net *.split)
17:56:49  * py1honquit (*.net *.split)
17:56:49  * rook2pawnquit (*.net *.split)
17:56:49  * fotoveritequit (*.net *.split)
17:56:49  * anvakaquit (*.net *.split)
17:56:50  * taterbasequit (*.net *.split)
17:56:50  * techwraithquit (*.net *.split)
17:56:50  * daleharveyquit (*.net *.split)
17:56:50  * hughskquit (*.net *.split)
17:56:51  * johnkpaulquit (*.net *.split)
17:56:52  * chapelquit (*.net *.split)
17:56:53  * Nexxyquit (*.net *.split)
17:56:53  * enjaworkquit (*.net *.split)
17:56:54  * kanzurequit (*.net *.split)
17:56:54  * jdenquit (*.net *.split)
17:56:55  * rwaldronquit (*.net *.split)
17:56:56  * emilistoquit (*.net *.split)
17:56:56  * cubertquit (*.net *.split)
17:56:56  * jjjohnny_quit (*.net *.split)
17:56:56  * dguttmanquit (*.net *.split)
17:56:56  * ehdquit (*.net *.split)
17:56:57  * philipnquit (*.net *.split)
17:56:57  * thisandagainquit (*.net *.split)
17:56:57  * jez0990quit (*.net *.split)
17:56:57  * rvaggquit (*.net *.split)
17:56:57  * LOUDBOTquit (*.net *.split)
17:56:57  * chrisdickinsonquit (*.net *.split)
17:56:58  * jgpelletierquit (*.net *.split)
17:56:58  * simcop2387quit (*.net *.split)
17:56:58  * prettyrobotsquit (*.net *.split)
17:56:58  * trevnorrisquit (*.net *.split)
17:56:58  * owenb___quit (*.net *.split)
17:56:58  * prettyrobots_quit (*.net *.split)
17:56:59  * josephgquit (*.net *.split)
17:57:00  * harrowquit (*.net *.split)
17:57:00  * ccowan_quit (*.net *.split)
17:57:00  * dlmanningquit (*.net *.split)
17:57:01  * defunctzombiequit (*.net *.split)
17:57:02  * dools_quit (*.net *.split)
17:57:03  * paul_irish_quit (*.net *.split)
17:57:03  * funkytekquit (*.net *.split)
17:57:03  * isaacsquit (*.net *.split)
17:57:03  * substackquit (*.net *.split)
17:57:05  * yorickquit (*.net *.split)
17:57:08  * justinabrahmsquit (*.net *.split)
17:57:08  * grncdrquit (*.net *.split)
17:57:08  * pkruminsquit (*.net *.split)
17:57:09  * jaz303quit (*.net *.split)
17:57:09  * spionquit (*.net *.split)
17:57:09  * nlacassequit (*.net *.split)
17:57:10  * brianloveswordsquit (*.net *.split)
17:57:10  * _Contraquit (*.net *.split)
17:57:10  * ircretaryquit (*.net *.split)
17:57:11  * jlord_quit (*.net *.split)
17:57:11  * mint_xianquit (*.net *.split)
17:57:11  * jergasonquit (*.net *.split)
17:57:11  * chiltsquit (*.net *.split)
17:57:12  * sindresorhusquit (*.net *.split)
17:57:13  * orenquit (*.net *.split)
17:57:13  * gildeanquit (*.net *.split)
17:57:13  * jan____quit (*.net *.split)
17:57:14  * kevinohara80quit (*.net *.split)
17:57:14  * crankquit (*.net *.split)
17:57:15  * rowbitquit (*.net *.split)
17:57:15  * niftylettucequit (*.net *.split)
17:57:15  * dubroy__quit (*.net *.split)
17:57:15  * tanepiperquit (*.net *.split)
17:57:16  * mk30quit (*.net *.split)
17:57:16  * supershabamquit (*.net *.split)
17:57:16  * creationixquit (*.net *.split)
17:57:16  * rchquit (*.net *.split)
17:57:16  * gozalaquit (*.net *.split)
17:57:16  * ogdquit (*.net *.split)
17:57:17  * sveisveiquit (*.net *.split)
17:57:17  * runningsmquit (*.net *.split)
17:57:17  * rannmannquit (*.net *.split)
17:57:18  * fentquit (*.net *.split)
17:57:18  * clone1018quit (*.net *.split)
17:57:18  * brycebarilquit (*.net *.split)
17:57:18  * mmckeggquit (*.net *.split)
17:57:19  * jiangplusquit (*.net *.split)
17:57:19  * groundwaterquit (*.net *.split)
17:57:21  * dimadimaquit (*.net *.split)
17:57:22  * trodriguesquit (*.net *.split)
17:57:22  * mirkokquit (*.net *.split)
17:57:23  * grewebquit (*.net *.split)
17:57:23  * tim_smartquit (*.net *.split)
17:57:23  * perlbotquit (*.net *.split)
17:57:24  * juliangruber_quit (*.net *.split)
17:57:24  * ryanflorencequit (*.net *.split)
17:57:24  * heathquit (*.net *.split)
17:57:24  * dstokesquit (*.net *.split)
17:57:24  * robertkowalskiquit (*.net *.split)
17:57:25  * farnsworthquit (*.net *.split)
17:57:26  * hij1nxquit (*.net *.split)
17:57:26  * wolfeidauquit (*.net *.split)
17:57:27  * mmaleckiquit (*.net *.split)
17:57:27  * Raynos_quit (*.net *.split)
17:57:28  * tearmannquit (*.net *.split)
17:57:29  * Altreusquit (*.net *.split)
18:14:04  * st_lukejoined
18:14:04  * mikolalysenkojoined
18:14:04  * AvianFlujoined
18:14:04  * tmcw_joined
18:14:04  * dominictarrjoined
18:14:04  * fronxjoined
18:14:04  * tilgovijoined
18:14:04  * fotoveritejoined
18:14:04  * anvakajoined
18:14:04  * kevinohara80joined
18:14:04  * kenperkinsjoined
18:14:04  * Raynos_joined
18:14:04  * dguttmanjoined
18:14:04  * pfrazejoined
18:14:04  * ehdjoined
18:14:04  * brianloveswordsjoined
18:14:04  * yorickjoined
18:14:04  * crankjoined
18:14:04  * hij1nxjoined
18:14:04  * paul_irish_joined
18:14:04  * funkytekjoined
18:14:04  * _Contrajoined
18:14:04  * wolfeidaujoined
18:14:04  * brycebariljoined
18:14:04  * harrowjoined
18:14:04  * ircretaryjoined
18:14:04  * tearmannjoined
18:14:04  * chapeljoined
18:14:04  * Nexxyjoined
18:14:04  * grewebjoined
18:14:04  * enjaworkjoined
18:14:04  * orenjoined
18:14:04  * jgpelletierjoined
18:14:04  * rowbitjoined
18:14:04  * kanzurejoined
18:14:04  * taterbasejoined
18:14:04  * mmaleckijoined
18:14:04  * techwraithjoined
18:14:04  * jjjohnny_joined
18:14:04  * rook2pawnjoined
18:14:04  * cubertjoined
18:14:04  * emilistojoined
18:14:04  * py1honjoined
18:14:04  * juliangruberjoined
18:14:04  * josephgjoined
18:14:04  * rwaldronjoined
18:14:04  * prettyrobots_joined
18:14:04  * owenb___joined
18:14:04  * trevnorrisjoined
18:14:04  * prettyrobotsjoined
18:14:04  * simcop2387joined
18:14:04  * daleharveyjoined
18:14:04  * hughskjoined
18:14:04  * johnkpauljoined
18:14:04  * chrisdickinsonjoined
18:14:04  * LOUDBOTjoined
18:14:04  * rvaggjoined
18:14:04  * jez0990joined
18:14:04  * jdenjoined
18:14:04  * thisandagainjoined
18:14:04  * philipnjoined
18:14:04  * runningsmjoined
18:14:04  * rannmannjoined
18:14:04  * ccowan_joined
18:14:04  * dlmanningjoined
18:14:04  * justinabrahmsjoined
18:14:04  * tim_smartjoined
18:14:04  * isaacsjoined
18:14:04  * fentjoined
18:14:04  * clone1018joined
18:14:04  * substackjoined
18:14:04  * perlbotjoined
18:14:04  * juliangruber_joined
18:14:04  * defunctzombiejoined
18:14:04  * ryanflorencejoined
18:14:04  * heathjoined
18:14:04  * dstokesjoined
18:14:04  * robertkowalskijoined
18:14:04  * dools_joined
18:14:04  * grncdrjoined
18:14:04  * jlord_joined
18:14:04  * mmckeggjoined
18:14:04  * niftylettucejoined
18:14:04  * pkruminsjoined
18:14:04  * dubroy__joined
18:14:04  * jaz303joined
18:14:04  * mint_xianjoined
18:14:04  * jergasonjoined
18:14:04  * chiltsjoined
18:14:04  * tanepiperjoined
18:14:04  * mk30joined
18:14:04  * dimadimajoined
18:14:04  * supershabamjoined
18:14:04  * spionjoined
18:14:04  * creationixjoined
18:14:04  * farnsworthjoined
18:14:04  * rchjoined
18:14:04  * Altreusjoined
18:14:04  * jiangplusjoined
18:14:04  * gozalajoined
18:14:04  * groundwaterjoined
18:14:04  * ogdjoined
18:14:04  * trodriguesjoined
18:14:04  * nlacassejoined
18:14:04  * sveisveijoined
18:14:04  * gildeanjoined
18:14:04  * jan____joined
18:14:04  * sindresorhusjoined
18:14:04  * mirkokjoined
18:14:15  * thlorenzjoined
18:14:15  <robertkowalski>st_luke: is passing a callback mandatory in npm programmatic api? just looking at: https://github.com/isaacs/npm/pull/2591
18:14:15  <dominictarr>substack, having being in communist countries for over a moth now, am now imagening a communist node.js flag. Yellow Hexagon on RED
18:14:15  * thlorenzquit (Remote host closed the connection)
18:14:15  <dominictarr>also, green uniforms/hats with red hexagon
18:14:15  * thlorenzjoined
18:14:15  <mikolalysenko>dominictarr: why are you using x/y for components of vectors?
18:14:15  * thlorenzquit (Remote host closed the connection)
18:14:25  <dominictarr>and isaacs is our Great Leader with his little red book of node.js
18:14:33  <dominictarr>mikolalysenko, https://github.com/tmpvar/vec2.js
18:14:40  <mikolalysenko>why not just use an array?
18:14:43  <dominictarr>it's not as optimised as ndarray
18:14:48  <jjjohnny_>dominictarr: they are all piled on top of each other in the top left
18:14:52  <dominictarr>but it's easier
18:14:54  <mikolalysenko>no, not an ndarray. just a regular js array
18:14:55  <robertkowalski>st_luke: from the code and docs i would say yes, it is mandatory everywhere
18:15:03  <dominictarr>jjjohnny_, what browser?
18:15:19  <jjjohnny_>chrome not the latest on ubuntu
18:15:26  <jjjohnny_>i cant upgrade, maybe it is me
18:15:32  <mikolalysenko>ex: var v = [x, y]
18:15:34  * thlorenzjoined
18:15:59  <dominictarr>mikolalysenko, the main reason I used vec2 is because I knew it's author already understood modules, and there was a small ecosystem available already.
18:16:17  * anvakaquit (Remote host closed the connection)
18:16:26  <dominictarr>there where a bunch of other vector implementations, but I didn't see an ecosystem around anything.
18:16:35  * grewebquit (Ping timeout: 245 seconds)
18:16:42  <mikolalysenko>so my feeling is that the world does not need more custom vector types
18:16:48  <mikolalysenko>especially when arrays already do all that stuff
18:16:54  <mikolalysenko>and there is an even larger ecosystem there
18:17:00  <mikolalysenko>with much simpler interoperability
18:17:09  <mikolalysenko>working with custom array/vector types closes you off to alternatives
18:17:14  <dominictarr>you could be right.
18:17:26  * grewebjoined
18:17:44  <mikolalysenko>if you want the arithmetic parts for example, you could just use gl-matrix or hughsk's stuff
18:17:55  <dominictarr>I've since found that the benefits I originally sought in vec2 arn't really there
18:17:55  <mikolalysenko>and there are tons of geometry modules that just consume raw arrays, not custom vectors
18:18:17  <mikolalysenko>(also arrays are faster to construct than custom objects typically)
18:18:37  <dominictarr>mind you, most of my uses are not very heavy.
18:18:47  <mikolalysenko>fair enough
18:18:59  <mikolalysenko>another issue with custom vector types is that everyone names the stuff differently
18:19:10  <mikolalysenko>like x,y/s,t/u,v/... etc
18:19:18  <mikolalysenko>or first,second
18:19:26  <dominictarr>and, with the stuff I was doing in the dom, having observable like points was very useful.
18:19:28  * fronxquit (Remote host closed the connection)
18:19:42  <mikolalysenko>yeah, but wouldn't an array do that too?
18:20:08  <dominictarr>on the otherhand, I recently implemented: https://github.com/dominictarr/line-graph with vec2, but then took it all out when I actuallly learnt how to do Canvas properly.
18:20:33  <mikolalysenko>neat
18:20:35  <dominictarr>mikolalysenko, sorry, I mean have a thing like an even emitter that can let me know when it's changed.
18:20:45  <mikolalysenko>you could do that with an array though
18:20:48  <dominictarr>then I can do like mouse.change(...)
18:21:12  <dominictarr>you could, and talking to you just now has made me think of a way to do it that would work pretty well.
18:21:40  <mikolalysenko>really the main reason not to use extra data types is that it make interoperability harder than it needs to be
18:21:46  <mikolalysenko>also it can complicate implementations
18:22:07  <dominictarr>jjjohnny_, so, you don't see squares all layed out as tiles?
18:22:10  <mikolalysenko>for example, it is easier to loop over the components of an array in order than it is to loop over all the components of a custom point type
18:22:29  <mikolalysenko>and if you write code to do stuff like multiply matrices/etc. generically then why make a special case for d=2?
18:22:30  <jjjohnny_>dominictarr: no
18:22:54  <jjjohnny_>but like i said, i am pegged to an slightly out of date version of chrome
18:22:56  <dominictarr>jjjohnny_, confirmed. broken in firefox.
18:23:14  <jjjohnny_>my state of computers is fucking obnoxious
18:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 26]
18:25:09  <dominictarr>mikolalysenko, that is a very good point.
18:25:45  <dominictarr>I understand that my breakthrough with canvas was enabled by matrix math
18:26:02  <dominictarr>because you can do translate, and rotate as a matrix operation, right?
18:26:06  <mikolalysenko>yeah
18:26:12  <mikolalysenko>in projective coordinates anyway
18:26:42  <dominictarr>yeah, so it makes it easy to manipulate the coordinate space.
18:26:48  <mikolalysenko>yeah
18:27:04  <dominictarr>Realized I could draw everything left to right, but just rotate and translate it
18:27:11  <mikolalysenko>d-dimensional projective geometry embeds nicely in d+1 linear geometry
18:27:17  <st_luke>robertkowalski: probably
18:27:22  <st_luke>we probably don't need that PR
18:27:29  <mikolalysenko>basically projective points = lines through origin in d+1 dimensional space
18:27:32  <dominictarr>makes things very easy, because I can test it horizontally
18:27:53  <mikolalysenko>and affine space sits inside projective space pretty comfortably
18:28:09  <mikolalysenko>dominictarr: https://github.com/mikolalysenko/projective-geometry/raw/master/projective.pdf
18:28:20  <dominictarr>jjjohnny_, maybe you could do DOM positioning with translations & rotations?
18:30:43  <jjjohnny_>dominictarr: i was doing it with translations at first but then switched for simplicity
18:31:00  <jjjohnny_>dominictarr: but i do want to switch back
18:31:13  <mikolalysenko>so a simpler way to do positioning stuff is to just consume a matrix
18:31:26  <mikolalysenko>and then let some user library generate that thing however they want
18:31:29  <jjjohnny_>and then add curveTo-like animations to DOM positioning
18:31:43  <jjjohnny_>dominictarr: then I am going to implement this https://github.com/NHQ/maketrix/blob/master/lib/maketrix.js
18:31:50  <jjjohnny_>mikolalysenko: see above
18:32:23  <mikolalysenko>I'd just reuse gl-matrix's stuff for rotation/translation matrix generation
18:32:47  <mikolalysenko>but at the lowest level you shouldn't include all of that
18:33:02  <jjjohnny_>mikolalysenko: this is CSS
18:33:08  <mikolalysenko>ah, nevermind then
18:33:27  <jjjohnny_>which has a matrix function for 3d positioning
18:33:38  * DTrejojoined
18:34:52  <robertkowalski>st_luke: yep that is what i thought
18:35:01  <robertkowalski>st_luke: can i close https://github.com/isaacs/npm/pull/4179 ?
18:35:03  <dominictarr>I'm going to bed, catch you guys later.
18:36:34  * anvakajoined
18:39:31  * dominictarrquit (Ping timeout: 260 seconds)
18:39:43  * defunctzombiechanged nick to defunctzombie_zz
18:40:45  * calvinfojoined
18:43:45  * indexzerojoined
18:45:41  * indexzeroquit (Client Quit)
19:00:46  * _Contrachanged nick to contraha_
19:15:17  <grncdr>dominictarr: meow
19:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 20]
19:40:40  * kevinohara80quit (Read error: Connection reset by peer)
19:42:49  * kevino80joined
19:42:57  <st_luke>I think trying to write code with higher test coverage based on arbitrary measurement has resulted in me writing less secure code
19:49:56  <AvianFlu>that's the danger of tests
19:50:05  <AvianFlu>trusting the wrong tests too much is worse than having no tests
19:50:23  <AvianFlu>having no tests is pretty dangerous too, don't get me wrong
19:50:39  <AvianFlu>but the wrong tests will lead you down very dark and lonely roads
20:00:33  * defunctzombie_zzchanged nick to defunctzombie
20:12:20  <Raynos_>test coverage should be used as inspection thing
20:12:46  <Raynos_>it lets you look at your code and ask yourself "why wasnt this hit. when would it be hit? whats the use case of this code path. how do I write a test to describe the use case"
20:13:04  <Raynos_>blindly getting a 100% is just blind :p
20:13:42  <defunctzombie>Raynos_: why you have an _ in your name?
20:13:48  <defunctzombie>Raynos_: trying to be like Domenic_ ?
20:16:32  * Raynos_changed nick to Raynos
20:16:34  <Raynos>Happy ?
20:16:40  <defunctzombie>much better
20:16:41  <defunctzombie>:D
20:17:18  <mikolalysenko>man. there are a lot of useless graph libraries on npm
20:17:59  <mikolalysenko>or at best highly redundant...
20:18:08  <Raynos>XD
20:19:13  * defunctzombiechanged nick to defunctzombie_zz
20:22:33  * defunctzombie_zzchanged nick to defunctzombie
20:22:45  <defunctzombie>mikolalysenko: that is true of many libraries on npm
20:22:48  * paul_irish_changed nick to paul_irish
20:23:13  <mikolalysenko>yes. no harm in it, but sometimes I look at all the mess and feel embarrassed
20:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 27]
20:24:24  <ogd>i look at the mess and wish more people would write search engines on top of it :)
20:24:37  <mikolalysenko>true
20:24:58  <mikolalysenko>I guess one way to view it is that it is just raw material that needs to be processed and refined into useful gadgets
20:25:33  <defunctzombie>yep
20:25:45  <defunctzombie>ogd: agreed
20:26:24  <defunctzombie>ogd: also want to see people take effort to work with existing authors of modules to refine behavior sometimes versus publish same thing 30 times
20:26:31  <defunctzombie>but many things have lots of opinions so it is ok
20:26:48  <mikolalysenko>there really should be some sort of ranking/filtering system where you can review and leave comments on modules
20:26:59  <defunctzombie>hm interesting
20:27:01  <defunctzombie>leaving comments
20:27:10  <defunctzombie>I could see that getting out of control haha
20:27:42  <mikolalysenko>any more out of control than letting anyone publish any module they want? (madness!)
20:28:05  <defunctzombie>mikolalysenko: well, depending if each comment becomes an email
20:28:11  <defunctzombie>mikolalysenko: and you might have to moderate the comments
20:28:25  <mikolalysenko>yeah
20:28:45  <pfraze>could rank GH stars or npm installs
20:28:50  <pfraze>rank by*
20:29:03  <defunctzombie>mikolalysenko: based on what I see in online comments I am not inspired
20:29:17  <mikolalysenko>I think peer review is a good system
20:29:19  <defunctzombie>pfraze: installs is a bad metric I think
20:29:27  <mikolalysenko>make it more focused than just general comments
20:29:44  <defunctzombie>something like stars is better.. but not GH stars.. GH stars are often used to "follow" things
20:29:52  <defunctzombie>and not actually indicate that you used it
20:30:12  <pfraze>hm. Actual usage metrics would be cool
20:30:15  <mikolalysenko>reviews work for academic publishing
20:30:25  <mikolalysenko>though ranking by usage metrics is a bit silly imo
20:30:31  <mikolalysenko>you just end up with a rich-get-richer scenario
20:30:40  <mikolalysenko>where older, but maybe crappier libraries get overhyped/used
20:30:48  <mikolalysenko>(eg. express & co.)
20:30:58  <ogd>yea
20:31:09  <pfraze>maybe, but there are a lot of avenues of discovery. The point is just to get a good at-a-glance through npm's listing, right?
20:31:12  <defunctzombie>personally... I think you just gotta get off your ass and try some modules and libraries
20:31:20  <defunctzombie>then hop in IRC and maybe ask some people you trust
20:31:26  <defunctzombie>there is no golden solution
20:31:34  <defunctzombie>it is called becoming an experienced developer
20:31:41  <defunctzombie>being able to identify the shit you like from the shit you don't
20:31:47  <pfraze>woah woah
20:31:53  <mikolalysenko>peer review works well for sorting out papers, I think it could be applied to modules too
20:31:54  <ogd>defunctzombie: you arent wrong, you're just an asshole :)
20:31:59  <defunctzombie>ogd: yep
20:32:27  <pfraze>mikolalysenko you could definitely give that a shot, it's an interesting idea
20:32:38  <ogd>i want to be able to curate sets of modules
20:32:46  <ogd>and share them somewhere
20:33:05  <mikolalysenko>pfraze: no thanks, I got enough on my plate right now
20:33:12  <defunctzombie>ogd: make a wiki page or blog page
20:33:19  <mikolalysenko>and something like that takes a lot of work building up community buy in to get it working
20:33:21  <sindresorhus>cd '/Users/sindresorhus/dev/finder-terminal/'
20:33:23  <sindresorhus>cd '/Users/sindresorhus/dev/finder-terminal/'
20:33:25  <mikolalysenko>I'd use it though if someone set it up
20:33:40  <defunctzombie>I prefer that people learn why instead of just taking my curation at face value
20:34:07  <defunctzombie>too many issues I see posted because someone is not taking even a second to think or investigate
20:35:05  * defunctzombiechanged nick to defunctzombie_zz
20:36:00  <grncdr>something I think would be neat is having either dimensions or shared tags for modules
20:36:34  <grncdr>that or some sort of collaborative filtering
20:37:01  <grncdr>"boost the scores of modules if ogd, mikolalysenko, or substack rate them highly"
20:37:20  <mikolalysenko>what about making a journal of node modules?
20:37:35  <mikolalysenko>where you can just submit a module + write up and then get some formal peer review
20:37:52  <grncdr>"and then get some formal peer review"
20:37:56  <grncdr>is the tricky part
20:38:05  <mikolalysenko>have volunteers do it
20:38:12  <mikolalysenko>it works for elsevier anyway...
20:38:15  <mikolalysenko>and most conferences
20:38:35  <mikolalysenko>the way most academic places get away with it is that if you submit stuff in the past, then they contact you to review things in the future
20:38:36  <grncdr>isn't that what the code-review stackexchange is supposed to be?
20:38:55  <grncdr>hm
20:39:05  <pfraze>finer-grained forking would be cool. Start with a simple broad module definition. Fork root with implementation A. Fork a folder within impl A for impl A.1 and impl A.2
20:39:05  <mikolalysenko>not quite the same thing though, but similar spirit
20:39:17  <grncdr>I like the model of implicit "you owe us one"
20:39:25  <pfraze>just navigate the forks to pull in the features and opinions you want
20:39:47  <pfraze>that's trivial, right? /s
20:39:50  <grncdr>;)
20:40:10  <grncdr>there's some cool stuff that ehd was working on that might mesh with that quite well
20:40:29  <grncdr>it was more about packaging and automatic versioning (as I understood it)
20:40:48  <grncdr>but doing it on the level of individual function definitions
20:40:48  <pfraze>ehd?
20:41:06  <grncdr>in this channel
20:41:14  <grncdr>evilhackerdude on twitter I think
20:41:31  <pfraze>ah
20:41:49  <grncdr>anyways, (and I could be wrong here) with the system he was working on, you could have a function definition, and then look at all modified versions of that function
20:42:22  * st_lukequit (Remote host closed the connection)
20:42:35  <grncdr>given that data, you could filter/sort the different versions based on the author and other metadata
20:43:27  <grncdr>sometimes I wish that JS had standardized/language support for attaching metadata to variables, as it would make that kind of thing a lot more fun
20:48:56  * st_lukejoined
21:04:03  * st_lukequit (Remote host closed the connection)
21:06:29  * pfrazechanged nick to unsafe
21:06:47  * unsafechanged nick to pfraze
21:09:21  * st_lukejoined
21:09:39  * DTrejoquit (Remote host closed the connection)
21:10:54  * defunctzombie_zzchanged nick to defunctzombie
21:13:55  <defunctzombie>I liked the wiki modules page in the old days of node that had categories
21:14:05  <defunctzombie>let me easily browser for modules for a particular category
21:18:30  <mikolalysenko>is there any way in js to get a unique hash/integer associated to an object?
21:18:51  <mikolalysenko>or do I just need to store some kind of uuid/key value for each item
21:19:34  <ogd>mikolalysenko: i usually generate uuids
21:19:41  <mikolalysenko>ok
21:19:46  <mikolalysenko>so I will just keep using a counter
21:20:04  <mikolalysenko>I was mainly asking because if I could use some other method I could save a bit of space
21:21:16  <grncdr>mikolalysenko: no unfortunately
21:21:23  <grncdr>oh, was scrolled up
21:23:06  <mikolalysenko>so I almost have a fully dynamic graph connectivity algorithm working
21:24:03  * st_lukequit (Remote host closed the connection)
21:24:04  <rowbit>Hourly usage stats: [developer: 9, free: 10]
21:25:54  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:28:21  * st_lukejoined
21:29:59  * anvakaquit (Ping timeout: 250 seconds)
21:31:51  <st_luke>ogd substack: you guys at the cafe still?
21:31:54  <st_luke>i might head over
21:32:29  <ogd>st_luke: yep substack just arrived
21:40:10  <jez0990>mikolalysenko: just skimmed the Christian Wulff-Nilsen 2012 paper, it sounds like a interesting topic! what do you need the algorithm for?
21:40:40  * kevino80quit (Read error: Connection reset by peer)
21:41:10  * fronxjoined
21:41:41  <jez0990>I thought you said youare you building a module recommendation engine?!
21:41:48  * kevino80joined
21:41:56  <jez0990>*you weren't
21:44:24  <mikolalysenko>jez0990: no, I am planning on using it to do connected block detection in voxel games
21:44:32  <mikolalysenko>so you can have breakable overhangs and stuff
21:45:03  * fronxquit (Remote host closed the connection)
21:45:06  <mikolalysenko>I am implementing the Holm/de Lichtenberg/Thorrup algorithm though, not the Wulff-Nilsen paper
21:45:25  <mikolalysenko>Holm's method is a bit easier to understand I think
21:46:34  <mikolalysenko>so to me the extra 1/log log n savings in wulf nilsen doesn't really seem worth the trouble right now
21:46:45  <mikolalysenko>though if someone wants to give it a shot, it might very well be faster
21:47:11  <jez0990>aha, certainly not me!
21:47:16  <jez0990>but wow, I wouldn't have guessed that sort of application...
21:48:17  <mikolalysenko>yeah, a bit silly. but it could still be cool
21:48:23  <mikolalysenko>my idea is to do a sort of two level thing
21:48:32  <mikolalysenko>within each chunk extra the components by brute force
21:48:44  <mikolalysenko>then at a higher/inter chunk level connect them with the HDT data structure
21:49:02  <mikolalysenko>it kind of works right now actually, but am still working on testing it
21:49:17  <mikolalysenko>https://github.com/mikolalysenko/dynamic-forest
21:49:46  <mikolalysenko>(may change the module name to dynamic-graph)
21:52:13  <substack>forest!
21:52:50  <mikolalysenko>well, technically it does maintain a dynamic spanning forest of an undirected graph
21:53:00  <mikolalysenko>in O(log^2(n)) time per insert/delete
21:53:08  <mikolalysenko>and gives connectivity queries in O(log(n)) time
21:57:22  * st_lukequit (Remote host closed the connection)
21:57:33  <mikolalysenko>it actually seems to work too!
21:58:43  <mikolalysenko>after I get this done, next big project is to make an esprima -> control flow graph/ssa form module
22:01:49  <jez0990>for use in voxel games too? :D
22:02:29  <mikolalysenko>no, that is for doing static analysis of javascript programs
22:02:38  <mikolalysenko>like liveness/type annotations/etc.
22:03:01  <mikolalysenko>main application is to do smarter minification
22:03:18  * st_lukejoined
22:03:19  <mikolalysenko>and maybe some basic code rewriting and instrumentation
22:03:35  <mikolalysenko>for example leak detection, run time boundedness, etc.
22:03:57  * calvinfoquit (Quit: Leaving.)
22:04:51  * calvinfojoined
22:04:53  * hij1nxquit (Ping timeout: 248 seconds)
22:06:58  * hij1nxjoined
22:09:02  * calvinfoquit (Ping timeout: 240 seconds)
22:14:29  * calvinfojoined
22:16:49  <rowbit>substack, pkrumins: These encoders are STILL down: 50.57.174.105(dev-ie8-2)
22:22:15  * joliss_joined
22:22:42  * joliss_quit (Client Quit)
22:24:04  <rowbit>Hourly usage stats: [developer: 4, free: 8]
22:29:55  <mikolalysenko>here is a general question: what are the preferred iterator patterns in javascript?
22:30:05  <mikolalysenko>I don't want to return an array because that is slow/stupid
22:30:31  <mikolalysenko>in java, you have the next()/hasNext() interface
22:35:39  * defunctzombiechanged nick to defunctzombie_zz
22:37:54  <jez0990>mikolalysenko: I'm trying to understand that question... when you say "return an array" do you mean through using .map?
22:38:23  <mikolalysenko>well, in this data structure I can easily enumerate all vertices in a connected component
22:38:32  <mikolalysenko>but the trick is how to expose an interface to do that
22:38:42  <mikolalysenko>I could just have it spit out an array containing all the vertices, but that is dumb
22:39:01  <mikolalysenko>since it just makes a copy of the whole data structure and defeats the whole point of doing things dynamically
22:39:32  <mikolalysenko>alternatively, I could write an iterator that would be faster and more efficient, but the catch is that the interface gets weirder
22:39:57  <mikolalysenko>in c++ you have stl iterators that do this in a standard way, but for js I am not sure what the best solution is
22:40:38  <mikolalysenko>basically the vertices are in a linked list, more or less
22:40:41  * kevino80quit (Read error: Connection reset by peer)
22:40:54  * fronxjoined
22:42:26  * kevino80joined
22:47:23  * fronxquit (Ping timeout: 272 seconds)
22:55:08  <ogd>brycebaril: https://github.com/maxogden/bws
23:18:31  <jlord_>Y'all I'm building a workshopper!
23:18:36  <jlord_>It's going to be on git/github
23:18:39  <jlord_>It needs a name
23:18:52  <jlord_>learnyousocialcoding
23:19:18  <thlorenz>learnyou-a-socialcoding
23:19:30  <thlorenz>in the tradition of learn you a haskell and such
23:19:49  <jlord_>forkyousocialcode
23:20:42  <jlord_>justeffingcommit
23:20:57  <thlorenz>justeffingforkyou
23:21:53  <thlorenz>maybe that's a little too offending ;)
23:22:14  * enjaworkquit (Ping timeout: 250 seconds)
23:23:02  <jlord_>yeah, i was just lolling on that one
23:23:28  <ogd>git-the-job-done
23:23:43  <brycebaril>ogd: cool, will take alook.
23:23:57  <brycebaril>ogd what was the solution to your publishing issue last night? I'm having one today that's more like what you saw
23:24:03  <rowbit>Daily usage stats: [developer: 24, free: 621]
23:24:04  <rowbit>Hourly usage stats: [developer: 2, free: 8]
23:24:13  <ogd>brycebaril: what error are you getting
23:24:47  <jlord_>gitstatus
23:25:01  <thlorenz>git-with-it
23:25:01  <brycebaril>ogd:npm ERR! Error: forbidden modified version 0.4.12 'maintainers' must === doc.maintainers
23:25:13  * enjaworkjoined
23:25:21  <ogd>brycebaril: i just had to upgrade to newest npm
23:25:21  <substack>brycebaril: which version of npm?
23:25:29  <ogd>brycebaril: isaacs fixed that issue i think
23:25:34  <brycebaril>substack: newest
23:25:36  <substack>1.3.21 seems to have the fix
23:25:44  <brycebaril>npm ERR! npm -v 1.3.21
23:25:44  <substack>I had that error on 1.3.20
23:25:47  <substack>weird
23:25:53  <ogd>brycebaril: do it with --verbose and see if your email matches on the remote email
23:26:09  <substack>st_luke: we're at sudo now
23:26:20  <substack>might head around to a taqueria or wherever afterward
23:26:50  <brycebaril>ogd: npm ERR! expected: [{"name":"alexgo","email":"alex@concurix.com"},{"name":"bryce","email":"bryce@ravenwall.com"}]
23:26:53  <brycebaril>npm ERR! actual: [{"name":"bryce","email":"bryce@ravenwall.com"}]: module-stats
23:27:06  <ogd>isaacs: o/
23:27:40  * thlorenzquit (Remote host closed the connection)
23:30:47  <ogd>brycebaril: oh actually
23:30:56  <ogd>brycebaril: (re: bws)
23:31:09  <ogd>brycebaril: i think you should remove bops from multibuffer/multibuffer-stream
23:31:50  <brycebaril>ogd: I can do that, not too difficult.
23:31:54  <ogd>brycebaril: and just use buffer methods, that way it will 'just work' with browserified through2
23:32:00  <substack>ogd: PjJV6MLMnG9vIcsWiJjdHMk3UHd4PjkSOZLghbY6tFE4m0S7b3xOv5TlPrlDtrCnEPoG3UeZGQdHgBowTysDm9+CgsWKVSJGEwikrdMkmdXs8cLXJz/5CWmYswZ0Vt8NFgDWm2DVBiusO0vtvVX8Qz7qeSNsWtYm65wgiM90NbPUAUDUfyMdSjl3v2cOU8c//M/JxoX29N2NbCyHIyWJgOQHgDgarYzBSRffI0q+kigOVMkBP9L83kwvlRL7FTf9e11WujOebwWLgd24ihuFJhLgEvJPOxOt3Oa4v0PyIUPC6sG7ddTwPpfYdbqePxJ2ITawMbUEYdiN18ZneLmJNg==
23:32:20  <brycebaril>ogd: any perf diff? or negligable
23:32:26  * timoxleyjoined
23:33:33  <ogd>brycebaril: according to feross its negligible
23:34:00  * kevino80quit (Remote host closed the connection)
23:34:47  * kevino80joined
23:35:12  <brycebaril>ogd: sounds good. I'll try and get to that tonight. ironically bops was put in to help with the browser side :P
23:35:18  <ogd>brycebaril: i know i know
23:35:42  <ogd>brycebaril: but streams2 and browserify are both so complex that it is easier to just fake buffers than to try and make modules written for node-only to be aware of typed arrays
23:36:27  <ogd>lesson learned i guess
23:36:30  <brycebaril>ogd: yup. isolate the browser compat logic into browserify is a decent strategy
23:36:57  <ogd>brycebaril: i can do it now and send some prs, i already did it in testing
23:38:00  <brycebaril>ogd: that'd be fine, or I can get to it in a few hrs if you don't get to it
23:38:30  * funkytekjoined
23:39:08  <mikolalysenko>comments/opinions on this api: https://github.com/mikolalysenko/dynamic-forest
23:39:31  * kevino80quit (Ping timeout: 265 seconds)
23:39:48  <st_luke>substack: cool ill walk up just have to write this test real quick
23:45:51  * tmcw_quit (Remote host closed the connection)
23:46:28  * tmcwjoined
23:47:59  * kevino80joined
23:49:23  * AvianFluquit (Ping timeout: 260 seconds)
23:49:52  * st_lukequit (Remote host closed the connection)
23:50:41  * tmcwquit (Ping timeout: 252 seconds)
23:55:54  * st_lukejoined
23:56:38  <ogd>brycebaril: ok i just lit up your inbox :)