00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:01:41  * DTrejojoined
00:01:50  * DTrejoquit (Read error: Connection reset by peer)
00:02:22  * DTrejojoined
00:04:00  * kevino80quit (Ping timeout: 265 seconds)
00:11:11  * DTrejoquit (Ping timeout: 268 seconds)
00:12:44  * thlorenzjoined
00:13:00  * kevino80joined
00:23:28  * DTrejojoined
00:24:07  * AvianPhonejoined
00:30:52  * jxson_quit (Remote host closed the connection)
00:34:54  * timoxleyjoined
00:35:22  * ednapiranhajoined
00:40:54  * thlorenzquit (Remote host closed the connection)
00:48:59  * thlorenzjoined
00:50:55  * ednapiranhaquit (Remote host closed the connection)
00:53:02  * thlorenzquit (Ping timeout: 240 seconds)
01:01:59  * captain_morganjoined
01:04:13  * captain_morganquit (Read error: Connection reset by peer)
01:04:55  * captain_morganjoined
01:06:44  * captain_morganquit (Read error: Connection reset by peer)
01:07:16  * captain_morganjoined
01:09:19  * captain_morganquit (Read error: Connection reset by peer)
01:09:56  * captain_morganjoined
01:11:47  * captain_morganquit (Read error: Connection reset by peer)
01:12:02  * thlorenzjoined
01:12:16  * captain_morganjoined
01:14:16  * captain_morganquit (Read error: Connection reset by peer)
01:14:22  * AvianPhonequit (Quit: Bye)
01:14:55  * captain_morganjoined
01:15:47  * damonoehlmanquit (Ping timeout: 272 seconds)
01:16:46  * captain_morganquit (Read error: Connection reset by peer)
01:17:16  * captain_morganjoined
01:19:16  * captain_morganquit (Read error: Connection reset by peer)
01:19:56  * captain_morganjoined
01:20:08  * thlorenzquit (Ping timeout: 240 seconds)
01:21:00  * ins0mniajoined
01:21:46  * captain_morganquit (Read error: Connection reset by peer)
01:22:16  * captain_morganjoined
01:24:12  * captain_morganquit (Read error: Connection reset by peer)
01:24:56  * captain_morganjoined
01:26:45  * captain_morganquit (Read error: Connection reset by peer)
01:27:17  * captain_morganjoined
01:27:23  * kevino80quit (Read error: Connection reset by peer)
01:28:51  * kevino80joined
01:29:17  * captain_morganquit (Read error: Connection reset by peer)
01:29:57  * captain_morganjoined
01:30:47  * dguttmanquit (Quit: dguttman)
01:31:48  * captain_morganquit (Read error: Connection reset by peer)
01:32:17  * captain_morganjoined
01:34:14  * captain_morganquit (Read error: Connection reset by peer)
01:37:08  * DTrejo_joined
01:37:13  * DTrejo_quit (Read error: Connection reset by peer)
01:37:22  * fallsemojoined
01:37:46  * DTrejo_joined
01:43:25  * kevino80quit (Remote host closed the connection)
01:43:52  * kevino80joined
01:44:00  * thlorenzjoined
01:44:06  * st_lukejoined
01:44:28  * ralphtheninjaquit (Ping timeout: 240 seconds)
01:45:00  * DTrejo_quit (Ping timeout: 245 seconds)
01:48:35  * kevino80quit (Ping timeout: 260 seconds)
01:50:02  * fallsemoquit (Ping timeout: 264 seconds)
01:50:40  * mikolalysenkojoined
01:51:00  * captain_morganjoined
01:51:00  * captain_morganquit (Read error: Connection reset by peer)
02:12:20  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
02:12:21  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
02:32:30  * Maciek416quit (Remote host closed the connection)
02:32:52  * jergasonquit (Quit: jergason)
02:33:02  * Maciek416joined
02:33:51  * mikolalysenkoquit (Ping timeout: 265 seconds)
02:37:57  * Maciek416quit (Ping timeout: 268 seconds)
02:39:46  * Maciek416joined
02:49:46  * defunctzombie_zzchanged nick to defunctzombie
02:49:51  * thlorenz_joined
02:54:35  * thlorenz_quit (Ping timeout: 272 seconds)
03:00:07  * mikolalysenkojoined
03:03:54  <ogd>juliangruber: w00t just found offset-stream, using it to process csvs where i need to drop the first row since it contains headers
03:08:51  * mikolalysenkoquit (Ping timeout: 260 seconds)
03:13:08  * mikolalysenkojoined
03:24:10  * jergasonjoined
03:26:58  <rvagg>ogd: does 'bl' come in handy at all for your use-case? I designed it originally for binary stream parsing; stream buffers in to it and consume them as you parse, no buffer concatenation required unless you need it upstream
03:31:35  * st_lukequit (Remote host closed the connection)
03:31:56  <jcrugzz>rvagg: an interesting thing i ran into, was curious as to why exactly https://gist.github.com/jcrugzz/6986114
03:32:11  <jcrugzz>if you try and pipe middle in the same tick, it wont output anything
03:32:11  * st_lukejoined
03:32:40  * mikolalysenkoquit (Ping timeout: 246 seconds)
03:33:23  <jcrugzz>i guess it kinda makes sense because the internal state of the middle stream isn't "certain" but thought you might have a better explanation
03:35:13  * ins0mniaquit (Ping timeout: 272 seconds)
03:35:27  <rvagg>jcrugzz: does source.pipe(middle).pipe(process.stdout) work?
03:36:25  <jcrugzz>rvagg: no, the middle stream emits end before the pipe output has a chance
03:36:41  * st_lukequit (Ping timeout: 265 seconds)
03:41:50  <rvagg>source.pipe(middle).pipe(process.stdout).on('end', ...) perhaps?
03:43:14  <jcrugzz>rvagg: ill give it a go. one sec
03:44:37  <jcrugzz>rvagg: same thing, it just doesnt emit the 'emitted end' log
03:46:01  <jcrugzz>its nbd overall, im just generally curious of the stream behavior
03:46:30  * timoxleyquit (Remote host closed the connection)
03:47:05  * timoxleyjoined
03:47:16  * mikolalysenkojoined
03:50:50  <rvagg>mmm
03:51:00  <rvagg>well, it's a simple extensions on the standard streams2 Duplex
03:51:40  * timoxleyquit (Ping timeout: 265 seconds)
03:51:55  <ogd>rvagg: the use case i was working on was given a pipe a.pipe(b).pipe(c), i wanted the first buffer in b to bypass the pipe chain but the rest of the buffers to flow normally
03:52:50  <ogd>rvagg: so i just did b.once('data', function(c){ // handle first buffer } and then b gets piped into offset(1) so it ignores the first buffer
03:53:21  <ogd>rvagg: basically its first and rest from scheme. i'm surprised there arent already ports of all the scheme functions as *-stream modules
03:53:33  <rvagg>ogd: perhaps you should use a proper streams2 subclass and avoid the once('data') so you don't force it into compatibility mode
03:53:57  <ogd>yea i am writing a head-stream module
03:54:03  <rvagg>k
03:54:16  <rvagg>nice, it'll let you specify a delimiter?
03:54:34  <ogd>yea default is newline right now, with optional terminator sequence
03:54:54  <ogd>was also thinking of accpeting a number of bytes to use optionally also
03:55:22  <rvagg>right, well this is where I'd use bl, you collect incoming buffers in to it and you can parse it for newlines and split it up in to the pre-newline and post-newline bits, even if you have to collect multiple buffers before you find a newline
03:56:42  <ogd>ah right, i am just doing that manually right now e.g. https://github.com/maxogden/binary-csv/blob/master/index.js#L25
03:57:05  <ogd>cause i'm avoiding Buffer so it works in the browser
03:57:46  <rvagg>ahh, the cult of browserifiability, ok
03:57:55  <ogd>yea damn those internet browsers
03:58:50  <jcrugzz>rvagg: yea which is why I thought it was odd, but I guess the internal stream doesn't "have" the data in that tick.
03:59:48  * st_lukejoined
04:07:17  * timoxleyjoined
04:09:18  * timoxleyquit (Remote host closed the connection)
04:09:53  * timoxleyjoined
04:14:08  * timoxleyquit (Ping timeout: 240 seconds)
04:16:23  * mikolalysenkoquit (Ping timeout: 272 seconds)
04:24:15  * Maciek416quit (Remote host closed the connection)
04:24:48  * Maciek416joined
04:25:04  * Maciek416quit (Read error: Connection reset by peer)
04:25:33  * Maciek416joined
04:25:42  * Maciek416quit (Remote host closed the connection)
04:26:18  * Maciek416joined
04:30:48  * Maciek416quit (Ping timeout: 268 seconds)
04:40:26  * timoxleyjoined
04:42:47  * mikolalysenkojoined
04:45:00  * timoxleyquit (Ping timeout: 245 seconds)
04:45:35  * st_lukequit (Remote host closed the connection)
04:50:04  * calvinfoquit (Quit: Leaving.)
04:50:41  * thlorenz_joined
04:54:08  * mikolalysenkoquit (Ping timeout: 240 seconds)
04:54:23  * DTrejoquit (Remote host closed the connection)
04:54:50  * DTrejojoined
04:55:39  * thlorenz_quit (Ping timeout: 272 seconds)
04:59:04  * DTrejoquit (Ping timeout: 240 seconds)
05:04:31  * DTrejojoined
05:08:55  * DTrejoquit (Ping timeout: 246 seconds)
05:12:40  * DTrejojoined
05:18:32  * DTrejoquit (Read error: Connection reset by peer)
05:18:58  * DTrejojoined
05:19:20  * DTrejoquit (Read error: Connection reset by peer)
05:36:34  * st_lukejoined
05:36:40  <st_luke>thlorenz
05:36:59  <thlorenz>hey st_luke
05:37:21  <substack>grncdr: is your tape pull req ready to be merged?
05:37:24  <st_luke>is this your band? http://www.youtube.com/watch?feature=player_detailpage&v=OLK5ZOjWaXE#t=119
05:37:54  <thlorenz>st_luke: exactly!
05:37:59  <thlorenz>how did you find it?
05:38:21  <thlorenz>and actually figure out that I must be Hungarian and about 60 years old?
05:38:23  <st_luke>its one of my favorite things on the internet
05:38:33  <st_luke>I've watched it for years
05:38:40  <thlorenz>st_luke: good taste :)
05:39:37  <thlorenz>st_luke: is this even politically correct nowadays oh and btw if those are Apache you have a good chance of discovering some in your DNA as well ;)
05:39:54  <st_luke>yea its politically correct in america
05:39:56  <jesusabdullah>pretend the drummer's substack and the keyboardist is isaac hiding behind a mustache
05:40:20  <st_luke>jesusabdullah: lmao
05:40:32  <thlorenz>st_luke: was about to go to bet -- thanks for the bad dreams
05:40:40  <thlorenz>s/bet/bed
05:40:42  <st_luke>did you watch the whole thing
05:40:44  <st_luke>because it gets better
05:40:59  <thlorenz>I did - it's as ridiculous as this conversation
05:41:08  * timoxleyjoined
05:41:09  <st_luke>everybody was so happy in the 70s
05:41:17  <thlorenz>they were all tripping
05:41:32  <st_luke>doesnt sound much different from my life in the 00s tbh
05:41:51  <jesusabdullah>BRAVE WARRIORS
05:41:51  <LOUDBOT>WHEN LAPTOPS ARE OUTLAWED, ONLY OUTLAWS WILL REACH INTO THEIR PANTS AND LIGHT BOMBS
05:41:53  <st_luke>what a great song
05:43:37  <jesusabdullah>HE MUST BE FREE
05:43:37  <LOUDBOT>ALRIGHT LOSERS IM GOING HOME
05:44:41  <st_luke>jesusabdullah: its the funniest the 4th time you watch it
05:45:23  <jesusabdullah>yeah that sounds about right
05:45:28  * timoxleyquit (Ping timeout: 240 seconds)
05:45:41  <jesusabdullah>I concur
05:46:05  <jesusabdullah>NO PARKING http://www.youtube.com/watch?v=OE2l6CPna4M
05:47:20  * jergasonquit (Quit: jergason)
05:47:35  <jesusabdullah>it was so bad jamison quit
05:47:37  <jesusabdullah>haha
05:50:08  * mikolalysenkojoined
05:51:07  * thlorenz_joined
05:54:46  * mikolalysenkoquit (Ping timeout: 246 seconds)
05:55:26  * thlorenz_quit (Ping timeout: 240 seconds)
06:10:29  * timoxleyjoined
06:23:28  * thlorenzquit (Remote host closed the connection)
06:23:49  * st_lukequit (Remote host closed the connection)
06:28:00  * defunctzombiechanged nick to defunctzombie_zz
06:33:41  <juliangruber>ogd: w00t that's cool! :D
06:33:57  <juliangruber>ogd: it needs a byte offset mode too though!
06:36:00  * calvinfojoined
06:42:31  * calvinfoquit (Quit: Leaving.)
06:42:50  * calvinfojoined
06:51:32  * thlorenzjoined
06:54:24  * calvinfoquit (Quit: Leaving.)
06:55:50  * thlorenzquit (Ping timeout: 245 seconds)
06:57:46  * jcrugzzquit (Ping timeout: 246 seconds)
07:08:17  * kenperkinsquit (Ping timeout: 272 seconds)
07:08:44  * peutetrejoined
07:19:01  * peutetrequit (Read error: Connection reset by peer)
07:19:29  * peutetrejoined
07:21:57  * djcoin_joined
07:22:52  * shamaquit (Remote host closed the connection)
07:27:23  * jcrugzzjoined
07:32:59  * jcrugzzquit (Ping timeout: 260 seconds)
07:34:39  * calvinfojoined
07:45:44  * calvinfoquit (Quit: Leaving.)
07:51:53  * thlorenzjoined
07:56:14  * thlorenzquit (Ping timeout: 240 seconds)
08:16:26  * peutetre_joined
08:17:02  * peutetrequit (Ping timeout: 264 seconds)
08:17:03  * peutetre_changed nick to peutetre
08:25:09  * thlorenzjoined
08:30:25  * thlorenzquit (Ping timeout: 245 seconds)
08:50:40  * tilgoviquit (Remote host closed the connection)
09:02:09  * kenperkinsjoined
09:27:36  * thlorenzjoined
09:31:21  * nk109joined
09:31:54  * kriskowal_joined
09:32:05  * thlorenzquit (Ping timeout: 245 seconds)
09:32:50  * wolfeida_joined
09:38:34  * wolfeidauquit (Read error: Connection reset by peer)
09:38:35  * kriskowalquit (Ping timeout: 272 seconds)
09:38:36  * kriskowal_changed nick to kriskowal
09:41:54  * kevino80joined
09:42:44  * ralphtheninjajoined
09:43:26  * nk109quit (Quit: Computer has gone to sleep.)
09:44:27  * DTrejojoined
09:47:40  * kevino80quit (Remote host closed the connection)
09:48:06  * kevino80joined
09:48:50  * DTrejoquit (Ping timeout: 264 seconds)
09:51:33  * kevino80quit (Read error: No route to host)
09:51:34  * kevinohara80joined
09:52:46  * thlorenzjoined
09:57:11  * thlorenzquit (Ping timeout: 260 seconds)
09:57:21  * kevinohara80quit (Remote host closed the connection)
09:57:48  * kevino80joined
10:02:43  * kevino80quit (Ping timeout: 272 seconds)
10:13:41  * maksimlinquit (Quit: ChatZilla 0.9.90.1 [Firefox 24.0/20130911164256])
10:28:12  * thlorenzjoined
10:31:05  * fotoverite_joined
10:32:19  * fotoveritequit (Ping timeout: 246 seconds)
10:32:20  * fotoverite_changed nick to fotoverite
10:32:51  * thlorenzquit (Ping timeout: 272 seconds)
10:53:10  * thlorenzjoined
10:58:11  * thlorenzquit (Ping timeout: 272 seconds)
11:11:42  * fallsemojoined
11:15:01  * insertcoffeejoined
11:23:58  * wolfeida_changed nick to wolfeidau
11:28:15  * fallsemoquit (Ping timeout: 240 seconds)
11:53:34  * thlorenzjoined
11:58:21  * thlorenzquit (Ping timeout: 272 seconds)
12:00:10  * fallsemojoined
12:05:17  * fallsemoquit (Ping timeout: 268 seconds)
12:08:02  * fallsemojoined
12:09:37  * yorickjoined
12:11:34  * ins0mniajoined
12:30:14  * fallsemoquit (Ping timeout: 240 seconds)
12:45:32  * yorickquit (Read error: Connection reset by peer)
12:48:09  * yorickjoined
12:50:31  * kevino80joined
12:53:57  * thlorenzjoined
12:54:42  * mikolalysenkojoined
12:58:20  * thlorenzquit (Ping timeout: 245 seconds)
12:59:46  * mikolalysenkoquit (Ping timeout: 265 seconds)
13:00:18  * fallsemojoined
13:04:56  * fallsemoquit (Ping timeout: 246 seconds)
13:14:11  * Maciek416joined
13:14:51  * fallsemojoined
13:16:50  * fallsemoquit (Client Quit)
13:16:53  * thlorenzjoined
13:29:31  * thlorenzquit (Remote host closed the connection)
13:30:07  * thlorenzjoined
13:37:40  * thlorenz_joined
13:40:25  * thlorenz_quit (Remote host closed the connection)
13:41:33  * thloren__joined
13:41:57  * thlorenzquit (Ping timeout: 272 seconds)
13:44:11  * fallsemojoined
13:44:28  * ggherdovpart
13:51:59  * Maciek416quit (Read error: Connection reset by peer)
13:52:32  * Maciek416joined
13:54:18  * tmcwjoined
13:55:03  * mikolalysenkojoined
13:59:31  * mikolalysenkoquit (Ping timeout: 246 seconds)
14:00:13  * thloren__quit (Remote host closed the connection)
14:17:51  * dguttmanjoined
14:28:23  * kenperkinsquit (Quit: Textual IRC Client: http://www.textualapp.com/)
14:29:53  * mikolalysenkojoined
14:30:47  * AvianFlujoined
14:34:18  * defunctzombie_zzchanged nick to defunctzombie
14:38:12  <grncdr>substack: I don't think it's ready yet
14:41:01  <grncdr>it would be super awesome if e.g. Raynos were to run it against some of his test suites
14:41:14  <grncdr>given that he contributed so many of the patches to the old code
14:41:46  <mikolalysenko>https://github.com/mikolalysenko/ndarray/issues/3
14:42:14  <mikolalysenko>does anyone have some suggestions on how I could improve that response?
14:44:37  * Maciek416quit (Remote host closed the connection)
14:45:05  * Maciek416joined
14:47:19  <grncdr>I feel like your 4th point is the best
14:47:23  <grncdr>so I'd put it first
14:48:10  * kevino80quit (Remote host closed the connection)
14:48:44  * kevino80joined
14:48:48  <grncdr>having the the interface of a core object change depending on what other modules (and their versions and load order) have been loaded is really undesirable
14:48:57  * kevino80quit (Read error: Connection reset by peer)
14:49:24  * kevino80joined
14:50:01  <grncdr>also, from a purely aesthetic angle, it's much nicer to compose functions than methods imo
14:51:04  <grncdr>hrm, in general though, I think I agree with your points too much to suggest any substantial improvement
14:54:51  * thlorenzjoined
14:55:13  * djcoin_quit (Quit: WeeChat 0.4.1)
14:59:02  * thlorenzquit (Ping timeout: 240 seconds)
14:59:39  * jergasonjoined
15:05:29  * jergasonquit (Quit: jergason)
15:06:26  * jergasonjoined
15:12:55  * jergasonquit (Quit: jergason)
15:13:45  * jergasonjoined
15:13:52  * shamajoined
15:23:13  * timoxleyquit (Remote host closed the connection)
15:25:57  <spion>chainable code is great, shame that JS doesn't allow you to just write a macro to do it with anything :)
15:28:36  <spion>(-> array (fill fn) (sort sortfn))
15:30:01  * FireFlypart ("WeeChat 0.4.0")
15:31:10  <spion>hmm. obj.invoke(fn, args).invoke(otherfn, otherargs)
15:31:13  * ednapiranhajoined
15:31:47  * mikolalysenkoquit (Ping timeout: 272 seconds)
15:47:50  * kenperkinsjoined
15:55:11  * thlorenzjoined
16:00:14  * thlorenzquit (Ping timeout: 268 seconds)
16:04:34  * jcrugzzjoined
16:05:21  * insertcoffeequit (Read error: Operation timed out)
16:05:36  * defunctzombiechanged nick to defunctzombie_zz
16:09:52  * jergasonquit (Quit: jergason)
16:14:12  * jcrugzzquit (Remote host closed the connection)
16:14:47  <grncdr>spion: I wrote a little helper for that (with node-style err arguments) in any-db
16:15:05  <grncdr>I've been meaning to split it off into another module but I can't decide what to call it
16:15:29  <grncdr>doTo?
16:15:47  <grncdr>doTo(object, fn1, fn2, fn3, finally)
16:16:07  * mikolalysenkojoined
16:16:08  <spion>oh no arguments :/
16:16:21  <grncdr>ah, yeah
16:16:31  <grncdr>that's a significant difference
16:17:45  <spion>obj.call(fill, fillFn).call(sort, sortfn) - its a lot more useful
16:17:55  <spion>Protocall - the last Object.prototype extension you'll ever need!
16:17:56  <spion>:)
16:18:07  <grncdr>hahaha
16:18:15  <grncdr>I would *almost* use that
16:18:44  * calvinfojoined
16:19:18  <grncdr>how about thread(obj).call(fill, fillFn).call(sort, sortFn) ?
16:19:56  <spion>protocall is also meant to be a pun alluding to clojure protocols :D
16:20:10  * calvinfoquit (Client Quit)
16:20:22  <spion>"Here in JS land, we don't have protocols. We got Protocall"
16:20:29  * calvinfojoined
16:20:33  <grncdr>lol
16:20:50  <grncdr>protocols are so much nicer though :\
16:20:58  <spion>oh well
16:21:53  <spion>:)
16:22:42  <mikolalysenko>I think overusing the . syntax for calling functions is kind of a bad thing personally
16:22:52  <mikolalysenko>especially for functions where you might take multiple types of objects
16:23:16  <mikolalysenko>for example: tree.find(...) or find(tree, key)
16:24:33  * jergasonjoined
16:25:53  <grncdr>yeah, I think I mentioned above, that it makes composition much nicer
16:26:21  <mikolalysenko>it also makes extension nicer too
16:26:38  <mikolalysenko>since you can put the other functions in separate modules
16:27:02  <mikolalysenko>but sometimes prototype style is faster, so for those cases it makes the most sense to use it
16:27:18  <mikolalysenko>and sometimes you want to make an interface, and for those a prototype might make more sense
16:27:24  <mikolalysenko>eg. event emitter
16:27:27  <spion>sort(filter(map(arr, mapfn), filter), sortfn) or arr.map(mapfn).filter(filterfn).sort(sortfn)
16:28:09  <spion>or, if this passes for ES7: http://wiki.ecmascript.org/doku.php?id=strawman:bind_operator
16:28:09  <grncdr>thread(arr, map(mapFn), filter(filterFn), sort(sortFn))
16:28:11  <mikolalysenko>spion: for that case I might swap the order of mapfn and arr in the arguments
16:28:25  <spion>item::localFunction(args)::otherLocal(args)
16:28:39  <mikolalysenko>sort(sortfn, filter(filterFn, map(mapFn, arr)))
16:29:01  <spion>you still need to read it right-to-left
16:29:11  <mikolalysenko>true
16:29:55  <mikolalysenko>the other small problem with that style is that it doesn't work so well for large arrays
16:30:01  <mikolalysenko>since it requires returning lots of copies
16:30:17  <mikolalysenko>whereas in ndarrays, all the modules I write take an extra argument where the result gets written to
16:30:28  <mikolalysenko>(though some do operate in place)
16:30:55  <mikolalysenko>the reason for this is that allocating typed arrays is expensive and slow
16:31:36  <grncdr>nobody liked my `thread` suggestion :(
16:32:02  <mikolalysenko>grncdr: it isn't bad, but how do you return the final result?
16:32:05  <spion>grncdr, it requires special functions :/
16:32:21  <spion>haskellish functions :)
16:32:55  <spion>at least those are easy to write with ES6
16:33:11  <grncdr>mikolalysenko: the convention is it returns `arr`
16:33:24  <spion>let map = x => y => [].map.call(y, x)
16:33:46  <grncdr>mikolalysenko: for your use case though, does annotating functions affect performance?
16:33:58  <mikolalysenko>what do you mean by annotating functions?
16:34:11  <grncdr>e.g. function sort () {...}; sort.inParam = 1; sort.outParam = 2;
16:34:27  * timoxleyjoined
16:34:46  <grncdr>so that your `thread` function could inspect the functions to be run on the input, and move outputs to inputs appropriately
16:35:10  <grncdr>totally spitballing here btw
16:35:47  <mikolalysenko>grncdr: hmm... not quite sure how that would work tbh
16:36:04  <spion>Ohh.
16:36:30  <mikolalysenko>you might have multiple in params and out params
16:36:39  <mikolalysenko>for example, fft takes 4 arguments
16:36:46  <mikolalysenko>2 input arrays and 2 output arrays
16:36:54  <mikolalysenko>err actually wait a second
16:36:57  <mikolalysenko>it takes two parameter
16:36:59  <spion>obj.call(compose(fn1,arg1).then(fn2, arg2).then(fn3))
16:37:01  <mikolalysenko>both are input/output
16:38:19  <grncdr>hm, it's probably not possible to generalize all the ways one might want to compose functions on ndarrays...
16:38:32  <mikolalysenko>I mean you could just write them like normal functions
16:38:35  <mikolalysenko>which is how it works now
16:38:46  * timoxleyquit (Ping timeout: 246 seconds)
16:38:50  <grncdr>yeah, I think that makes the most sense tbh
16:39:17  <spion>chaining: check; copying: perhaps just one copy, if compose is smart enough. modularity: check
16:39:47  * dguttmanquit (Quit: dguttman)
16:39:54  <mikolalysenko>for some tasks though you can make things more optimized/specialized
16:40:12  <mikolalysenko>for example, cwise lets you make arbitrarily complicated component-wise operations on ndarrays
16:40:22  <mikolalysenko>that can avoid a lot of extra copying around, etc.
16:40:30  <jesusabdullah>whoooo my friend boonrs is gonna be a CfA fellow \o/
16:40:50  <mikolalysenko>jesusabdullah: cool!
16:46:29  * st_lukejoined
16:46:54  <Raynos>miko: o/
16:47:47  <jesusabdullah>it looks like jden made it too? :o
16:47:59  * peutetrequit (Quit: peutetre)
16:48:35  <mikolalysenko>Raynos: hi
16:50:08  <Raynos>Could I use ndarray
16:50:16  <Raynos>to create a geospatial index of points
16:50:17  * kevino80quit (Remote host closed the connection)
16:50:37  <Raynos>I want to be able to sort 2d points so I can bbox query them
16:50:50  * kevino80joined
16:51:25  <mikolalysenko>Raynos: you probably want a range tree to do that
16:51:42  <mikolalysenko>Raynos: https://github.com/CS558/cs558-range-trees
16:52:08  <mikolalysenko>this module might help too, though the tree construction is really slow: https://github.com/mikolalysenko/static-range-query
16:52:55  <mikolalysenko>I've been meaning to revisit static-range-query and optimize it
16:53:35  <Raynos>miko: your random github avatar is amazing
16:54:07  <mikolalysenko>Raynos: yeah, I've thought about uploading a photo but the hamburger robot guy is too cool to get rid of
16:54:16  <Raynos>:D
16:55:37  * thlorenzjoined
16:55:44  * kevino80quit (Ping timeout: 268 seconds)
16:56:11  <mikolalysenko>one of my students got this one: https://github.com/mdoescher
16:56:14  <mikolalysenko>which is also kind of cool
16:57:23  * jxsonjoined
16:59:44  <Raynos>:)
17:00:27  * thlorenzquit (Ping timeout: 272 seconds)
17:00:31  * kevino80joined
17:03:26  * dominictarrjoined
17:12:11  <grncdr>Raynos: could I bug you to try my tape PR on some of your test suites?
17:12:49  <grncdr>you seem to have submitted most of the patches for various edge cases, so I figure you're likely to turn up errors in the changes I've made :P
17:16:19  <mikolalysenko>man. if asm.js becomes a real and widely supported thing I am going to have revamp a bunch of stuff in ndarray...
17:17:12  <mikolalysenko>the core modules will probably be the same, but I am gonna need to figure out how to deal with the weird heap access rules in asm.js
17:17:25  <grncdr>mikolalysenko: you saw those latest numbers from Chrome? https://code.google.com/p/v8/issues/detail?id=2599#c16
17:17:28  <mikolalysenko>it might be that I'll have to start allocating everything on a single heap using typedarray-pool
17:17:44  * dominictarrquit (Quit: dominictarr)
17:18:58  * kevino80quit (Remote host closed the connection)
17:19:00  <mikolalysenko>grncdr: well, that's at least a bit encouraging
17:19:32  <mikolalysenko>also I saw a talk by brendan eich on youtube where he mentioned that es7 might eventually get some form of threading support
17:19:46  <mikolalysenko>which sounds like a pretty cool idea, though I am not sure how it will work
17:20:50  * kevino80joined
17:21:10  * AvianFluquit (Remote host closed the connection)
17:21:59  <st_luke>God Bless America
17:22:26  <jesusabdullah>AND IM PROUD2B AN AMERICAN
17:22:26  <LOUDBOT>SECTOR LEW MUST CUT A LOT OF CHEESE
17:22:30  <mikolalysenko>anyway, I'll probably have to rewrite everything once es7 lands to support value types and simd stuff...
17:22:31  <grncdr>I imagine it will be something "safeish" where threads are isolated and shared memory only works if you use special objects for it
17:22:49  <mikolalysenko>grncdr: yeah. I'm kind of envisioning web workers + shared typed arrays
17:23:03  <mikolalysenko>grncdr: which would be a perfect solution imo
17:23:09  <mikolalysenko>maybe add in some atomic operations too
17:23:34  <grncdr>yeah, you would need some sort of synchronization mechanism for sure
17:23:49  <grncdr>st_luke: ?
17:23:55  * gwenbelljoined
17:24:46  <st_luke>america is great
17:24:53  <Raynos>grncdr: hi :D
17:25:08  <Raynos>i havent written any big tape tests recently
17:25:11  <Raynos>oh no wait
17:25:40  <grncdr>Raynos: I thought of another thing to try, but my npm-fu is too weak
17:25:52  <grncdr>I was just going to search for things that have tape as a dev-dependency
17:26:07  <grncdr>clone them, link my branch of tape, and run tests
17:26:18  <grncdr>but I can't figure out how to do that search on npm
17:26:32  <grncdr>I guess it's my couch-fu more than anything npm specific
17:26:58  <Raynos>grncdr: one of my tests works :P
17:27:04  <Raynos>The problem is I never wrote nested tape tests
17:27:29  <Raynos>grncdr: there is a dependants field somewhere
17:27:52  <grncdr>yeah, that doesn't include devdependencies :{
17:30:24  * AvianFlujoined
17:36:01  * calvinfoquit (Quit: Leaving.)
17:36:42  * st_lukequit (Read error: Connection reset by peer)
17:36:57  * st_lukejoined
17:40:15  * jergasonquit (Quit: jergason)
17:45:19  * dominictarrjoined
17:47:14  * st_lukequit (Read error: Connection reset by peer)
17:47:34  * st_lukejoined
17:51:09  * dguttmanjoined
17:52:07  * st_lukequit (Ping timeout: 272 seconds)
17:53:41  * kenperkinsquit (Quit: Computer has gone to sleep.)
17:55:50  <grncdr>substack: so far every test suite I can find that uses tape is passing against my branch
17:56:05  * thlorenzjoined
17:56:07  * dguttmanquit (Ping timeout: 246 seconds)
17:56:25  * st_lukejoined
17:58:47  <st_luke>juliangruber: I like that project, it could be really useful for tracking UI regressions
17:59:56  * calvinfojoined
18:00:02  <juliangruber>st_luke: i have a version that takes a git repo path as an argument, creates snapshots for each page in each resolution in _each commit_ and shows diff, but haven't finished it up yet
18:00:15  <juliangruber>maybe i should just open source and you fix? =)
18:00:17  <juliangruber>:D
18:01:15  * thlorenzquit (Ping timeout: 272 seconds)
18:01:28  <st_luke>heh I'd help out but I dont really have the time right now
18:01:58  <juliangruber>me neither :D
18:02:26  <grncdr>st_luke: do you happen to know much about the infrastructure the npm website uses?
18:02:26  * ins0mniaquit (Remote host closed the connection)
18:02:42  <st_luke>grncdr: joyent afaik
18:03:02  <st_luke>grncdr: what specifically?
18:03:13  <juliangruber>st_luke: if this got screenling powers through substack and pkrumins help it would show a screenshot for each revision, url, resultion and browser you care about, and do visual diffs
18:03:27  <st_luke>I've set it up on a linux box before but deleted it because I didn't want to store a 50 GB (at the time) db
18:03:29  <juliangruber>grncdr: also redis and couch (obviously) involved
18:03:47  * mikolalysenkoquit (Ping timeout: 265 seconds)
18:04:35  * dguttmanjoined
18:04:58  <juliangruber>grncdr: probably should use the hosted couch
18:05:11  <st_luke>what do you mean by infrastructure? that's a term that means different things to different people
18:05:35  <grncdr>st_luke: on this PR https://github.com/isaacs/npm-www/pull/428 I was speculating about exposing the elasticsearch API used by npm-www to the public
18:06:22  <grncdr>isaacs appears to be too busy to respond
18:06:44  <grncdr>so I'm trying to figure out if there's some sort of security implication for doing that
18:07:06  <grncdr>it's also super annoying to test npm locally
18:07:34  <grncdr>because I am on cellular data 99% of the time, and the local dev setup wants to use all my transfer ;)
18:08:31  <grncdr>anyways, I'm just trying to figure out who actually runs the elasticsearch cluster, and whether they're amenable to the idea
18:08:45  <grncdr>I can't see any reason that `npm search` shouldn't use it
18:10:10  <grncdr>lol, sorry for the wall of text
18:13:52  * defunctzombie_zzchanged nick to defunctzombie
18:15:15  * calvinfoquit (Quit: Leaving.)
18:16:12  * calvinfojoined
18:23:18  * DTrejojoined
18:23:25  * DTrejoquit (Remote host closed the connection)
18:23:57  * DTrejojoined
18:24:35  <st_luke>grncdr: npm search doesn't use it because of tech debt basically
18:25:24  * gwenbellquit (Quit: Lost terminal)
18:29:04  <grncdr>yeah, the PR to npm-www is/was step 1 in the process
18:32:46  * st_lukequit (Remote host closed the connection)
18:33:14  * st_lukejoined
18:35:51  * tilgovi_joined
18:37:59  * st_lukequit (Ping timeout: 272 seconds)
18:38:06  <dominictarr>chrisdickinson: creationix is there a js-git module to retrive a git object (from the .git/objects/ or from packfile if necessary?)
18:38:24  <dominictarr>I have successfully used git-object-tree
18:38:51  <dominictarr>I want to generate a graph of the structure of the git database
18:39:42  * substackbooking flights to china
18:40:24  <substack>then hopping on a train to go get a visa
18:40:53  <substack>there are some really cheap places to stay outside the city center
18:40:59  <grncdr>substack: when are you leaving?
18:41:15  <substack>grncdr: I'm headed to columbia tomorrow but I was thinking around nov 3rd
18:41:18  <chrisdickinson>dominictarr: so, for my fiefdom of js git stuff, you'd use `git-fs-repo` + `git-walk-tree` + `git-walk-refs`
18:42:35  <dominictarr>chrisdickinson: what is walk-refs?
18:42:54  <grncdr>fun, I won't see you again before I leave the Bay Area probably, so it was nice to meet you and so on :)
18:43:06  <grncdr>also, did you see my message re: tape?
18:43:07  <chrisdickinson>walk-refs takes the references of a git repo (the heads of branches, tags and such) and then walks the commit history in (roughly) reverse chronological order
18:43:13  <chrisdickinson>so it's a stream of commit objects
18:43:36  <chrisdickinson>and then within that stream you'd do the `git-walk-tree` to stream the tree and blob objects
18:43:56  <chrisdickinson>which would yield (nearly) everything out of `.git/objects` (sans tag objects)
18:44:03  <chrisdickinson>(well, potentially sans tag objects)
18:44:07  <dominictarr>chrisdickinson: perfect
18:45:31  <dominictarr>chrisdickinson: so, I pass the git-walk-tree an git-fs-repo's read function?
18:45:36  <chrisdickinson>yep
18:46:10  <chrisdickinson>the `repo.read` function is tightly bound to `repo` so you don't need to `.bind` or anything iirc
18:46:22  <chrisdickinson>(despite what the docs on git-walk-tree say :))
18:47:20  <dominictarr>chrisdickinson: is git-object-tree ment to sometimes return mode: NaN ?
18:47:45  <dominictarr>I parsed an tree object that had some weird things
18:50:39  <chrisdickinson>it shouldn't return mode: NaN :|
18:51:15  <chrisdickinson>what weird things did the tree object have?
18:51:49  * tilgovi_changed nick to tilgovi
18:51:50  * ins0mniajoined
18:51:56  * jcrugzzjoined
18:52:15  <ins0mnia>dominictarr: ping!
19:00:42  <dominictarr>ins0mnia: whats up?
19:01:09  <ins0mnia>dominictarr: just saw Matt's PR (and commented on it), rincewind looks really great!
19:02:25  <dominictarr>ins0mnia: yeah, it looks good
19:02:41  <ins0mnia>dominictarr: also started working on binary-stream for mux-demux
19:05:18  * jcrugzzquit (Ping timeout: 252 seconds)
19:05:26  * dominictarrquit (Quit: dominictarr)
19:05:42  * tilgoviquit (Remote host closed the connection)
19:06:04  * st_lukejoined
19:07:23  * jcrugzzjoined
19:11:08  * st_lukequit (Read error: Connection reset by peer)
19:11:34  * st_lukejoined
19:11:46  * thlorenzjoined
19:24:33  * tmcwquit (Remote host closed the connection)
19:32:45  * peutetrejoined
19:38:56  <grncdr>cool, I have a somewhat working npm-exec module
19:39:25  * defunctzombiechanged nick to defunctzombie_zz
19:39:36  * tmcwjoined
19:40:40  * st_lukequit (Remote host closed the connection)
19:42:20  * st_lukejoined
19:44:14  * tilgovijoined
19:47:12  * st_lukequit (Ping timeout: 256 seconds)
19:48:03  * fallsemoquit (Quit: Leaving.)
19:51:57  * mikolalysenkojoined
19:52:27  * jxsonquit (Remote host closed the connection)
19:52:55  * jxsonjoined
19:54:45  * jxson_joined
19:56:04  * jergasonjoined
19:56:54  * thlorenz_joined
19:57:08  * jxsonquit (Read error: Connection reset by peer)
19:58:31  <mikolalysenko>This is awesome: https://github.com/blog/1657-introducing-government-github-com
20:01:22  * thlorenz_quit (Ping timeout: 256 seconds)
20:06:48  * dominictarrjoined
20:07:07  <dominictarr>chrisdickinson: in repo.ref(name) is name a hash?
20:08:20  * tilgoviquit (Remote host closed the connection)
20:11:56  * fallsemojoined
20:15:48  * timoxleyjoined
20:16:34  <dominictarr>chrisdickinson: nm, I found find
20:22:02  * mikolalysenkoquit (Ping timeout: 265 seconds)
20:22:32  * jcrugzz_joined
20:25:10  * jcrugzzquit (Ping timeout: 256 seconds)
20:27:15  * jcrugzz_changed nick to jcrugzz
20:31:08  * mikolalysenkojoined
20:35:59  * tilgovijoined
20:37:31  <mikolalysenko>what is the correct ettiquette for correcting a badly named module?
20:37:40  <mikolalysenko>is it ok to unpublish it if it has only a few users?
20:38:03  * timoxleyquit (Remote host closed the connection)
20:41:16  <dominictarr>mikolalysenko: I'd leave it, but put a link in the readme and use npm depreciate
20:41:22  <mikolalysenko>hmm
20:41:46  <mikolalysenko>does npm deprecate have some functionality to garbage collect old names?
20:42:26  <grncdr>no, you'd have to unpublish eventually if you wanted to free up the name
20:42:36  <mikolalysenko>ok
20:45:38  <mikolalysenko>yeah. I just rather embarrassingly realized that I named segment-tree incorrectly
20:46:02  <mikolalysenko>or more to the point that it is a very poorly chosen name for that data structure...
20:46:28  <mikolalysenko>technically I guess it is kind of a segment tree...
20:52:38  * timoxleyjoined
20:53:35  <Domenic_>Do people want this? https://github.com/isaacs/npm/issues/3995
20:54:37  <grncdr>I can't see myself using it all that often...
20:55:04  <jcrugzz>Domenic_: i mean, you might as well just bump a minor version if the change to the package.json is that important IMO
20:55:11  <mikolalysenko>I have never actually used peerDependencies, so no comment...
20:55:31  * grncdrdoes use peerDependencies, possibly incorrectly
20:55:40  <jcrugzz>but yea im not familiar with the peerDependency use case either
20:55:47  <dominictarr>Domenic_: yeah, sometimes I do npm install -S just to add stuff to package.json
20:56:07  <Domenic_>I don't think the peer dependency use case is that important, it's also for all the other ones.
20:56:41  <grncdr>I might be dense, but in what scenario would you want to add and not install?
20:56:54  <dominictarr>maybe you have installed already
20:57:07  <jcrugzz>oh, i totally misinterpreted the use
20:57:18  * thlorenz_joined
20:57:39  <jcrugzz>yea i just do an npm install even if its installed already
20:57:44  <jcrugzz>with the correct flag
20:59:47  <grncdr>works for me
21:00:00  <grncdr>maybe I'd end up using it all the time and loving it :P
21:02:07  * thlorenz_quit (Ping timeout: 272 seconds)
21:02:45  * kevino80quit (Remote host closed the connection)
21:03:15  * peutetrequit (Quit: peutetre)
21:09:08  * peutetrejoined
21:26:37  * Maciek416quit (Remote host closed the connection)
21:27:13  * Maciek416joined
21:29:50  * thlorenz_joined
21:31:28  * Maciek416quit (Ping timeout: 256 seconds)
21:31:34  * ednapiranhaquit (Remote host closed the connection)
21:33:25  * thlorenzquit (Ping timeout: 272 seconds)
21:42:02  <grncdr>ogd: https://github.com/grncdr/npm-exec
21:42:52  <ogd>grncdr: nice!
21:43:29  <grncdr>it's really broken for interactive commands at the moment
21:43:41  * st_lukejoined
21:43:52  <st_luke>rvagg: lol, seriously?
21:43:56  <st_luke>I've never heard someone call diff noise OCD
21:44:08  <grncdr>but I'm hoping to fix those issues and convince isaacs to integrate it into npm
21:44:41  <grncdr>ogd: what do you think of the idea for a --save option?
21:45:21  <ogd>grncdr: thats a good idea
21:47:23  <grncdr>kk
21:49:29  <grncdr>I'm headed to chinatown to be a tourist again
21:57:42  * thlorenzjoined
21:57:51  * st_lukequit (Read error: Connection reset by peer)
21:58:11  * st_lukejoined
21:59:41  * st_lukequit (Read error: Connection reset by peer)
22:01:45  * AvianFluquit (Remote host closed the connection)
22:02:03  * thlorenzquit (Ping timeout: 248 seconds)
22:06:00  * maksimlinjoined
22:17:34  * tmcwquit (Remote host closed the connection)
22:37:24  <mikolalysenko>gah, this module was such total crap: https://github.com/mikolalysenko/lower-bound
22:37:34  <mikolalysenko>made a new version which is much better, and also not broken...
22:37:45  <mikolalysenko>https://npmjs.org/package/binary-search-bounds
22:58:10  * thlorenzjoined
23:03:05  * thlorenzquit (Ping timeout: 272 seconds)
23:05:09  * AvianFlujoined
23:11:07  * fallsemoquit (Quit: Leaving.)
23:13:06  * thlorenz_quit (Remote host closed the connection)
23:22:28  * defunctzombie_zzchanged nick to defunctzombie
23:23:51  <defunctzombie>I am getting that cb() never called shit again :(
23:31:38  <dominictarr>chrisdickinson: is there a way do to repo.find('master', cb) ?
23:44:10  * thlorenzjoined
23:44:25  * peutetrequit (Quit: peutetre)
23:44:34  <ogd>mikolalysenko: whoa nice, that looks useful
23:45:10  <dominictarr>chrisdickinson: repo._refs is []
23:45:11  <dominictarr>hmm
23:51:48  <mikolalysenko>ogd: thanks!
23:52:30  * thlorenzquit (Ping timeout: 245 seconds)
23:54:39  <mikolalysenko>ogd: I may need to work on the names of the methods in that module a bit
23:54:53  <mikolalysenko>really leastLower/greatestUpper aren't really the right terms for that...
23:55:05  <mikolalysenko>should maybe be classified into closed/open bounds...