00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:01  <st_luke>defunctzombie_zz: that type of thing would be nice to run CI builds on instead of VMs
00:00:08  * ircretaryjoined
00:00:15  <st_luke>eventually anyway
00:18:48  * st_lukequit (Remote host closed the connection)
00:25:38  * blobaumquit (Quit: Leaving)
00:39:27  * rxgxquit (Ping timeout: 260 seconds)
00:42:30  * yorickquit (Remote host closed the connection)
00:43:20  * mikolalysenkojoined
00:43:33  * timoxleyjoined
00:45:12  * jergasonjoined
00:48:03  * mikolalysenkoquit (Ping timeout: 245 seconds)
00:48:04  * timoxleyquit (Ping timeout: 256 seconds)
00:48:13  * tilgoviquit (Read error: Connection reset by peer)
00:50:40  * jxsonquit (Remote host closed the connection)
00:52:53  * jxsonjoined
00:53:56  * jibayquit (Remote host closed the connection)
00:59:01  * thlorenzjoined
01:00:12  * jxsonquit (Remote host closed the connection)
01:03:23  * dstokesquit (Quit: dstokes)
01:08:55  * jcrugzzjoined
01:13:24  * dguttmanquit (Quit: dguttman)
01:13:57  * timoxleyjoined
01:21:19  * ferossjoined
01:24:00  * DTrejoquit (Remote host closed the connection)
01:28:32  * gwenbelljoined
01:46:56  * wolfeidauquit (Remote host closed the connection)
01:50:52  * gwenbellquit (Quit: Lost terminal)
01:56:32  * dguttmanjoined
02:00:32  * jxsonjoined
02:04:42  * ins0mniaquit (Ping timeout: 276 seconds)
02:05:02  * jxsonquit (Ping timeout: 264 seconds)
02:05:39  * calvinfoquit (Quit: Leaving.)
02:08:37  * calvinfojoined
02:16:16  * mikolalysenkojoined
02:17:23  * Maciek416joined
02:19:23  * thlorenzquit (Remote host closed the connection)
02:24:30  * DTrejojoined
02:25:19  <mikolalysenko>how does node knockout work?
02:29:24  * DTrejoquit (Ping timeout: 276 seconds)
02:36:36  * dguttmanquit (Quit: dguttman)
02:39:32  * wolfeidaujoined
02:40:48  * jiangplusjoined
03:03:03  * fotoveritequit (Ping timeout: 245 seconds)
03:12:23  * clone1018_joined
03:13:01  * dominictarrjoined
03:13:06  <jesusabdullah>mikolalysenko: you form a team, and on "go" you get access to a github repo and a nodejitsu drone
03:13:18  <jesusabdullah>mikolalysenko: over 2 days you hack together a Sick App
03:13:20  * jiangplusquit (Ping timeout: 245 seconds)
03:13:31  * xyxnejoined
03:13:33  <jesusabdullah>mikolalysenko: then at time, we get to play them and vote and stuff
03:13:47  * paul_irish_joined
03:14:06  <jesusabdullah>mikolalysenko: still thinking about teams myself, thinking about trying to do it with locals but I'm open to a lot
03:14:15  * sindresorhus_joined
03:14:32  * owenb__joined
03:14:33  * niftylettucequit (*.net *.split)
03:14:33  * owenb_quit (*.net *.split)
03:14:34  * doolsquit (*.net *.split)
03:14:34  * nexxyquit (*.net *.split)
03:14:35  * clone1018quit (*.net *.split)
03:14:35  * cubertquit (*.net *.split)
03:14:35  * paul_irishquit (*.net *.split)
03:14:35  * sindresorhusquit (*.net *.split)
03:14:35  * sindresorhus_changed nick to sindresorhus
03:15:56  * owenb__changed nick to owenb_
03:16:10  * cubertjoined
03:19:31  * sindresorhusquit (Changing host)
03:19:31  * sindresorhusjoined
03:19:31  * doolsjoined
03:19:43  * sindresorhuschanged nick to Guest21838
03:20:11  * calvinfoquit (Quit: Leaving.)
03:33:43  * DTrejojoined
03:43:42  * DTrejoquit (Remote host closed the connection)
03:43:58  * dguttmanjoined
03:44:48  * DTrejojoined
03:56:09  * AvianFluquit (Remote host closed the connection)
03:57:26  * AvianFlujoined
04:01:26  * jxsonjoined
04:08:57  * dominictarrquit (Quit: dominictarr)
04:10:33  * jxsonquit (Ping timeout: 245 seconds)
04:10:39  * AvianFluquit (Remote host closed the connection)
04:11:08  * AvianFlujoined
04:12:57  * niftylettucejoined
04:18:54  * shamaquit (Remote host closed the connection)
04:21:49  * DTrejoquit (Remote host closed the connection)
04:23:49  * jxsonjoined
04:26:03  * jxsonquit (Read error: Connection reset by peer)
04:26:08  * kenperkinsquit (Quit: Computer has gone to sleep.)
04:26:19  * jxsonjoined
04:26:29  * paul_irish_changed nick to paul_irish
04:40:52  * defunctzombie_zzchanged nick to defunctzombie
04:48:09  * fotoveritejoined
04:56:57  * Maciek416quit (Remote host closed the connection)
05:04:51  * AvianFluquit (Remote host closed the connection)
05:07:19  * fotoveritequit (Quit: fotoverite)
05:10:37  * dguttmanquit (Quit: dguttman)
05:16:39  * missinglinkjoined
05:20:51  * mikolalysenkoquit (Ping timeout: 260 seconds)
05:22:36  <rvagg>http://www.youtube.com/watch?v=2--cF8uo6Zg
05:32:24  * DTrejojoined
05:36:40  * DTrejoquit (Ping timeout: 245 seconds)
05:37:13  * mikolalysenkojoined
05:42:21  <rvagg>mbalho: ping, ^^ did you have an official band name?
05:47:50  * mikolalysenkoquit (Ping timeout: 256 seconds)
05:59:15  * rxgxjoined
06:09:18  * jergasonquit (Quit: jergason)
06:22:06  * defunctzombiechanged nick to defunctzombie_zz
06:32:38  * mcollinajoined
06:33:43  * fotoveritejoined
06:38:39  * jxsonquit (Remote host closed the connection)
06:42:35  * fotoveritequit (Ping timeout: 248 seconds)
06:53:42  * mikolalysenkojoined
06:58:54  * mikolalysenkoquit (Ping timeout: 264 seconds)
06:59:48  * mcollinaquit (Ping timeout: 276 seconds)
07:03:51  * ITproquit (Read error: Connection reset by peer)
07:08:27  * djcoinjoined
07:13:31  * jcrugzzquit (Ping timeout: 248 seconds)
07:17:45  * mcollinajoined
07:22:46  * rxgxquit (Quit: timeout)
07:38:08  * rxgxjoined
07:57:07  <mbalho>rvagg: Garbage Collection
08:00:27  * rvaggquit (Ping timeout: 262 seconds)
08:05:11  * rvaggjoined
08:05:38  * calvinfojoined
08:09:18  * peutetrejoined
08:14:21  * jcrugzzjoined
08:18:01  * defunctzombie_zzchanged nick to defunctzombie
08:19:25  <defunctzombie>wow
08:19:49  * rxgxquit (Quit: timeout)
08:20:21  * calvinfoquit (Quit: Leaving.)
08:28:12  * dominictarrjoined
08:33:54  * dominictarrquit (Quit: dominictarr)
08:54:12  * mcollinaquit (Ping timeout: 276 seconds)
08:55:05  * defunctzombiechanged nick to defunctzombie_zz
09:06:28  * orenquit (Ping timeout: 264 seconds)
09:17:45  * mcollinajoined
09:35:11  * dominictarrjoined
10:00:57  * ferossquit (Quit: feross)
10:05:07  * ferossjoined
10:05:11  * rxgxjoined
10:05:33  * frankblizzardjoined
10:30:45  * ferossquit (Quit: feross)
10:37:33  * rxgxquit (Quit: timeout)
10:39:20  * peutetrequit (Quit: peutetre)
10:40:48  * mcollinaquit (Ping timeout: 256 seconds)
11:00:57  * mirkokieferjoined
11:07:26  * mirkokieferquit (Quit: mirkokiefer)
11:08:18  <dominictarr>jez0990: hey, looks like I might be passing through london on my trip between realtimeconf and jing.js
11:09:24  <dominictarr>looks like i'll be heading through LHR, so I can just get off there after portland, and fly out from there to beijing
11:09:46  * yorickjoined
11:13:29  * itprojoined
11:13:29  * itprochanged nick to ITpro
11:15:48  * ins0mniajoined
11:31:22  <dominictarr>creationix: https://gist.github.com/creationix/6587060#comment-910068
11:31:27  * peutetrejoined
11:42:30  * djcoinquit (Quit: WeeChat 0.4.1)
11:43:04  * djcoinjoined
11:48:00  * frankblizzardquit (Remote host closed the connection)
12:06:50  * jibayjoined
12:08:38  * frankblizzardjoined
12:10:47  <creationix>dominictarr: I see, thanks
12:11:36  * thlorenzjoined
12:11:48  * mirkokieferjoined
12:15:52  <jez0990>dominictarr: great! when is that?
12:23:21  <dominictarr>jez0990: it will be late october
12:23:47  <dominictarr>or early november
12:44:18  <thlorenz>substack: browser-builtins broke brfs: https://github.com/alexgorbatchev/node-browser-builtins/issues/22
12:44:38  <thlorenz>I hope they can fix that before my demo browserify talk tomorrow :)
12:45:06  <thlorenz>weird thing to do anyways (why would you need to throw?) https://github.com/alexgorbatchev/node-browser-builtins/commit/4009189f2fa7a95786d32cbe0d75c85a961eaa63
12:48:42  * missinglinkquit (Ping timeout: 264 seconds)
12:50:21  * AvianFlujoined
12:53:27  * mcollinajoined
12:59:07  * mcollinaquit (Ping timeout: 248 seconds)
12:59:10  * No9joined
12:59:33  * mcollinajoined
13:03:25  * missinglinkjoined
13:12:03  * Maciek416joined
13:13:31  * missinglinkquit (Ping timeout: 248 seconds)
13:15:35  * thlorenzquit (Remote host closed the connection)
13:15:36  * kevino80joined
13:26:04  * missinglinkjoined
13:29:21  * AvianFluquit (Remote host closed the connection)
13:36:50  * orenjoined
13:41:39  * mikolalysenkojoined
13:51:55  * thlorenzjoined
13:56:05  <mikolalysenko>jesusabdullah: just got back to my terminal, but that looks like a lot of fun
13:57:23  * tmcwjoined
14:08:59  * timoxleyquit (Remote host closed the connection)
14:10:03  * mcollinaquit (Ping timeout: 256 seconds)
14:21:55  * kenperkinsjoined
14:22:08  * mcollinajoined
14:26:51  * mcollinaquit (Ping timeout: 260 seconds)
14:31:36  * Maciek416_joined
14:35:47  * calvinfojoined
14:36:49  * Maciek416_quit (Remote host closed the connection)
14:40:26  * calvinfoquit (Ping timeout: 264 seconds)
14:40:59  * spionjoined
14:41:42  * calvinfojoined
14:46:01  * ednapiranhajoined
14:57:01  * shamajoined
14:57:38  * jergasonjoined
14:59:23  * AvianFlujoined
15:05:30  * mikolalysenkoquit (Ping timeout: 264 seconds)
15:09:50  * mikolalysenkojoined
15:10:05  * timoxleyjoined
15:12:18  * toddself_joined
15:13:46  * mirkokieferquit (Quit: mirkokiefer)
15:14:08  <Domenic_>substack: accept https://github.com/substack/node-browserify/pull/485 to get johnkpaul further into the browserify camp ^_^
15:14:30  * timoxleyquit (Ping timeout: 256 seconds)
15:14:39  * mirkokieferjoined
15:14:43  * missinglinkquit (Ping timeout: 245 seconds)
15:14:50  * mirkokieferquit (Client Quit)
15:17:28  <thlorenz>+1
15:18:53  <thlorenz>substack: and while you are at it convince the browserbuiltins guys to revert the commit breaking brfs https://github.com/alexgorbatchev/node-browser-builtins/issues/22
15:19:11  <thlorenz>I'd really like to have no workaround code in my browserify demo at NYT tomorrow ;)
15:22:27  * mcollinajoined
15:23:19  * mikolalysenkoquit (Ping timeout: 260 seconds)
15:29:37  * missinglinkjoined
15:30:06  * frankblizzardquit (Remote host closed the connection)
15:36:39  * kevino80quit (Remote host closed the connection)
15:38:57  * timoxleyjoined
15:40:10  * kevino80joined
15:40:33  * mikolalysenkojoined
15:42:20  * dguttmanjoined
15:43:28  * timoxleyquit (Ping timeout: 245 seconds)
15:48:17  * No9quit (Quit: Leaving)
15:51:06  * calvinfoquit (Quit: Leaving.)
16:01:28  <mikolalysenko>In npm is there a way to specify if a library is default a devDependency or a full dependency?
16:01:32  <mikolalysenko>for npm init anyway
16:02:36  <thlorenz>mikolalysenko: if you do: npm -D install foo it installs as dev dependency
16:02:49  <thlorenz>unlike npm -S install foo -- installs as dependency
16:05:27  <jesusabdullah>I do --save and --save-dev
16:05:29  <jesusabdullah>same deal
16:05:52  <thlorenz>jesusabdullah: I dislike typing ;) -- actually I suck at it
16:06:22  <jesusabdullah>thlorenz: Me, I'm really bad at remembering things that aren't full English words
16:06:25  <jesusabdullah>:)
16:06:44  * jiangplusjoined
16:07:19  <thlorenz>btw, could use some backup on explaining to the browser-builtin peeps that a patch that fixes a clear regression needs to be published w/out much fuss regardless of future plans: https://github.com/alexgorbatchev/node-browser-builtins/issues/22
16:08:00  <thlorenz>substack: Raynos Domenic_ -- just trying to get this merged to unbreak brfs: https://github.com/alexgorbatchev/node-browser-builtins/pull/23
16:19:22  <mikolalysenko>thlorenz: right, but if you install the repository first and then do npm init, is there a flag in the package.json that you can set to specify a default?
16:19:35  <mikolalysenko>for example, tap has some wizardry which causes npm to always mark it as a devdependency
16:19:48  <thlorenz>mikolalysenko: I wasn't aware of that
16:19:56  <jesusabdullah>does it?
16:19:57  <jesusabdullah>weird
16:20:01  <jesusabdullah>check its package.json
16:20:15  <mikolalysenko>I did, but nothing weird in it
16:20:43  <jesusabdullah>Yeah I was gonna say this is definitely nothin' special
16:21:06  <mikolalysenko>so here is an experiment: make an empty project, do: npm install tap && npm init
16:21:14  <mikolalysenko>and then look at the package.json that npm init spits out
16:22:13  <mikolalysenko>hmm... here is the offending line: https://github.com/isaacs/init-package-json/blob/master/default-input.js#L7
16:22:19  <mikolalysenko>seems like a hardcoded feature
16:22:26  * kevino80quit (Remote host closed the connection)
16:22:42  <jesusabdullah>oof
16:23:15  <mikolalysenko>I feel like this thing should be part of the package.json for the module, not hardcoded into npm
16:23:21  * calvinfojoined
16:24:30  <mikolalysenko>not that it is a big deal either way, but this just seems a bit clumsy
16:24:35  <thlorenz>mikolalysenko: wow and wow!!
16:24:52  <thlorenz>that is such a hack :)
16:25:41  <thlorenz>and you cannot remove it anymore since some peeps may depend on it now :(
16:25:57  <mikolalysenko>really?
16:26:34  <mikolalysenko>I think the correct solution is to probably add an extra field to the package.json that marks if a package should default to a devDependency
16:26:47  <mikolalysenko>so that when you do npm init it does the right thing
16:26:56  <mikolalysenko>the most obvious example of this in my daily workflow is tape
16:27:14  <mikolalysenko>doing npm init with tap would by default make the right package.json, but with tape I have to go through and fix it afterward
16:27:28  <thlorenz>mikolalysenko: agreed - although that would add a bit of overhead since then it has to read the package first
16:27:37  <mikolalysenko>it already does that though...
16:27:45  <mikolalysenko>to get the module name and so on
16:27:52  <thlorenz>mikolalysenko: I use substack's pkginit anyways - allows me to use a template
16:28:06  <mikolalysenko>hmm... maybe I'll take a look at that
16:28:49  <mikolalysenko>but still a default devdependency flag would be useful in either situation
16:28:50  <thlorenz>ah - well then - probably talk to isaacs about it, although adding a field to package.json just for npm init picking packs from your node_modules may be overkill
16:33:11  * jolissjoined
16:34:08  <mikolalysenko>isaacs: issue opened - https://github.com/isaacs/init-package-json/issues/6
16:35:40  * calvinfoquit (Quit: Leaving.)
16:36:49  <thlorenz>mikolalysenko: btw - do you have a talk anywhere about all your cool math modules like ndarray?
16:36:56  <thlorenz>stuff looks really interesting
16:37:09  <mikolalysenko>thlorenz: no, haven't had a chance yet
16:37:21  <mikolalysenko>I do have a few blog posts on ndarray
16:37:27  <mikolalysenko>though it is very incomplete
16:37:33  <thlorenz>ok - I'll just keep reading the code
16:37:40  <mikolalysenko>right now I am teaching a course on computational geometry using node.js though
16:37:43  <thlorenz>where is the post?
16:37:44  <thlorenz>cool
16:38:33  <mikolalysenko>thlorenz: here is the first post http://0fps.wordpress.com/2013/05/22/implementing-multidimensional-arrays-in-javascript/
16:38:40  <mikolalysenko>that just covers the basics of the why/what ndarrays are
16:39:01  <mikolalysenko>this one digs more into the guts of how cwise works: http://0fps.wordpress.com/2013/05/28/cache-oblivious-array-operations/
16:39:17  <thlorenz>thanks - will read both for breakfast tomorrow :)
16:39:19  <mikolalysenko>but there is a lot more stuff out there built on top of ndarrays than that
16:40:03  * timoxleyjoined
16:42:00  <mikolalysenko>there are also some technical/weird js specific things involved in cwise
16:42:01  * mcollinaquit (Read error: Connection reset by peer)
16:42:16  <mikolalysenko>basically it uses esprima to implement a kind of array processing dsl on top of javascript
16:42:34  * tmcwquit (Remote host closed the connection)
16:42:48  <mikolalysenko>though eventually I would like to replace the current implementation with a browserify transform to optimize out the dependency on esprima for client side packages
16:42:59  <mikolalysenko>for node.js thought the current system is fine
16:43:07  * tmcwjoined
16:44:11  * timoxleyquit (Ping timeout: 245 seconds)
16:47:16  * tmcwquit (Ping timeout: 240 seconds)
16:52:22  * toddself_quit (Remote host closed the connection)
16:53:40  * missinglinkquit (Ping timeout: 256 seconds)
16:53:40  * kevino80joined
16:55:54  * rxgxjoined
16:56:25  * tmcwjoined
17:00:38  * jergasonquit (Quit: jergason)
17:01:04  * toddself_joined
17:04:45  * peutetrequit (Quit: peutetre)
17:07:30  <thlorenz>mikolalysenko: interesting - I guess there is no way to do this without a dsl?
17:10:20  <mikolalysenko>thlorenz: there probably are, but this was basically the solution I converged to
17:10:43  <mikolalysenko>my main goal was performance, and I couldn't figure out a way to get these results using just closures and vanilla js
17:10:57  <mikolalysenko>you could do something using direct string manipulation, but it would be really horrible
17:11:11  <mikolalysenko>part of the trick behind cwise is that it uses just in time code generation via eval
17:11:17  * venportmanquit (Quit: leaving)
17:11:30  <mikolalysenko>it basically defers evaluating the types of the arrays (ie array type, striding, order, etc.) until run time
17:11:45  <mikolalysenko>and then generates an optimal loop based on the structure of the specific array arguments
17:12:17  * venportmanjoined
17:13:02  <thlorenz>that sounds involved - no one would write this by hand I guess :)
17:13:17  <mikolalysenko>thlorenz: yeah. that is why I used a code generator to do it
17:13:26  <thlorenz>makes sense
17:13:29  <mikolalysenko>for any individual case, writing it isn't so bad
17:13:49  <mikolalysenko>but because the right thing to do is highly dependent on how you structure your data, it would be crazy to try to optimize each of those cases by hand
17:14:03  <mikolalysenko>so code generation is the way to go, and that is what cwise does
17:14:41  <mikolalysenko>basically when you call a cwise compiled method, it computes a quick type signature for the arguments and checks if it has a generated routine for those types
17:14:52  <mikolalysenko>if so, it just calls that and returns
17:15:07  <mikolalysenko>otherwise, it generates an optimized routine for those args on the spot and caches the result
17:15:14  * jxsonjoined
17:15:22  <mikolalysenko>lots of ndarray libraries work like this
17:15:39  <thlorenz>interesting, hope to understand more after I read your posts and some of the code :)
17:16:00  <mikolalysenko>here are the guts of cwise: https://github.com/mikolalysenko/cwise-compiler
17:16:23  <mikolalysenko>the main library is just a small wrapper that calls this: https://npmjs.org/package/cwise-parser
17:16:30  <mikolalysenko>and feeds the results downstream
17:17:01  <mikolalysenko>other examples of libraries that use the just-in-time complining on ndarrays include ndarray-sort: https://github.com/mikolalysenko/ndarray-sort
17:17:07  <mikolalysenko>but the code for that one is pretty obtuse
17:18:40  <thlorenz>yeah, that compiler code looks quite involved -- :)
17:20:13  <mikolalysenko>though there are lots of things you can do with ndarray-sort
17:20:30  <mikolalysenko>it is probably the fastest way to sort typed arrays in javascript so far
17:20:44  <mikolalysenko>and you can also deal with more complicated binary types and so on
17:20:54  <thlorenz>yeah, people at nodeconfeu where talking about that
17:21:12  <mikolalysenko>ah, cool
17:21:14  * dstokesjoined
17:21:17  <mikolalysenko>wish I could've been there
17:21:21  * dominictarrquit (Quit: dominictarr)
17:21:36  <mikolalysenko>unfortunately I have commitments here that I can't just drop
17:21:42  <thlorenz>yeah, you should - there is always next time :)
17:21:57  <mikolalysenko>true
17:23:24  * jergasonjoined
17:24:44  * kenperkinsquit (Quit: Computer has gone to sleep.)
17:25:07  <AvianFlu>hey jesusabdullah
17:25:08  <AvianFlu>http://www.wimp.com/catvacuum/
17:28:15  * timoxleyjoined
17:32:34  * spionquit (Ping timeout: 246 seconds)
17:34:12  <johnkpaul>Domenic_: thlorenz hahah
17:34:29  <johnkpaul>although it's sucking me in, I feel far from the camp
17:34:33  <johnkpaul>I'm serving two masters I suppose
17:35:03  <thlorenz>johnkpaul: thanks for contribing though no matter from where you do it ;)
17:36:21  <johnkpaul>:) no problem
17:37:30  * missinglinkjoined
17:38:40  * thlorenzreads up on strided array with half blown mind
17:40:24  <thlorenz>"Unit stride arrays are sometimes more efficient than non-unit stride arrays, while non-unit stride arrays are sometimes more efficient than unit stride arrays" waaat?
17:40:50  <rowbit>/!\ ATTENTION: (default-local) max@... successfully signed up for developer browserling plan ($20). Cash money! /!\
17:40:51  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
17:45:49  * toddself_quit (Remote host closed the connection)
17:46:15  <mikolalysenko>thlorenz: you can also do cute things like transpose a strided array in O(1)
17:46:21  <mikolalysenko>thlorenz: or reverse in O(1) too
17:46:29  <mikolalysenko>and shear...
17:46:46  <thlorenz>that's awesome
17:47:09  <thlorenz>from the comments it looks like you got multid arrays almost as fast as ndarray?
17:47:09  <mikolalysenko>and cwise implements all the arithmetic stuff on the strided array efficiently so you don't even have to think about it
17:47:23  <mikolalysenko>it is comparable
17:47:24  <thlorenz>did you update the benchmarks or are they from before that change
17:47:38  <mikolalysenko>ndarrays are much faster than multid arrays
17:47:52  <mikolalysenko>though under special circumstances multid arrays can almost match ndarray performance on v8
17:48:03  <mikolalysenko>but you have to do some very specific voodoo to get it to optimize correctly
17:48:13  <mikolalysenko>but in general ndarrays are faster than multid arrays in javascript by a lot
17:48:16  <mikolalysenko>and use much less memory
17:48:23  <thlorenz>ok, but I guess certain operations will be a lot slower due to num of ops and such?
17:48:35  <mikolalysenko>multid arrays are categorically far slower
17:48:36  <thlorenz>slower for multid arrays
17:48:40  <mikolalysenko>yeah
17:48:42  <thlorenz>ah, ok, thanks
17:48:53  <mikolalysenko>because you have O(d) consecutive memory accesses to read from a multid array
17:49:00  <thlorenz>nice post - looking forward to reading the second one
17:49:03  <mikolalysenko>so you get terrible cache performance and waste a lot of time accessing
17:49:19  <mikolalysenko>yeah, the second one talks about how to do arithmetic faster
17:49:31  <mikolalysenko>if you do somethling like: for(...) array.get(..) etc.
17:49:47  <thlorenz>so I guess at this point I'd be able to read ndarray code and understand what's going on?
17:49:49  <mikolalysenko>you have to do O(d) multiplies to read each element, which is a bit slow
17:49:53  <mikolalysenko>yeah
17:49:59  <mikolalysenko>the core ndarray library isn't too bad I think
17:50:01  <thlorenz>cool - that's up next then :)
17:50:28  <mikolalysenko>there are a few details though that aren't covered in that blog post, or at least evolved a bit from there
17:50:35  <mikolalysenko>one is that ndarrays now support custom storage types
17:50:42  <mikolalysenko>so you can make sparse ndarrays and so on
17:50:56  <thlorenz>like ZeroArray?
17:51:01  <mikolalysenko>yeah, if you want
17:51:11  <thlorenz>ok, will keep that in mind
17:51:14  <mikolalysenko>or this: https://npmjs.org/package/ndarray-segment
17:51:19  <mikolalysenko>which is an rle encoded ndarray
17:51:32  <mikolalysenko>or this, which does packed bit arrays: https://npmjs.org/package/ndarray-bit
17:52:11  * jiangplusquit (Ping timeout: 256 seconds)
17:52:14  * rxgxquit (Quit: timeout)
17:52:27  <mikolalysenko>I also experimented with using strings for ndarrays, but it ended up being easier to convert the string to a Uint32Array instead: https://npmjs.org/package/ndarray-string
17:52:59  <mikolalysenko>if you want a good example of putting all this together, check out this library: https://github.com/mikolalysenko/burrows-wheeler
17:53:10  <thlorenz>thanks, all queued for reading :)
17:53:25  * dominictarrjoined
17:54:20  * toddself_joined
17:57:57  * rxgxjoined
18:02:38  * tilgovijoined
18:07:52  * defunctzombie_zzchanged nick to defunctzombie
18:08:28  * djcoinquit (Quit: WeeChat 0.4.1)
18:12:29  * defunctzombiechanged nick to defunctzombie_zz
18:12:31  * toddself_quit (Remote host closed the connection)
18:12:41  * fallsemojoined
18:15:51  <Raynos>nodeknockout is open
18:15:56  * mikolalysenkoquit (Ping timeout: 248 seconds)
18:17:20  <Domenic_>thlorenz: did we register yet?
18:17:29  * DTrejojoined
18:18:32  * toddself_joined
18:19:38  <Domenic_>thlorenz: registering us
18:25:55  * jolissquit (Quit: joliss)
18:28:20  * jibayquit (Remote host closed the connection)
18:29:03  * timoxleyquit (Remote host closed the connection)
18:33:03  * rxgxquit (Quit: timeout)
18:39:04  <thlorenz>Domenic_: sorry (was involved in discussion about react) :)
18:39:17  <thlorenz>thanks for registering us - are you down here tonight?
18:39:30  <thlorenz>we should discuss our project - I have an idea :)
18:40:24  <Domenic_>thlorenz: no, in boston still until tomorrow night
18:40:41  <thlorenz>ah - well will have to discuss another time then
18:49:43  * jolissjoined
18:51:12  * fallsemoquit (Quit: Leaving.)
18:54:02  * tilgoviquit (Quit: No Ping reply in 180 seconds.)
18:54:23  * tilgovijoined
18:57:45  * DTrejoquit (Remote host closed the connection)
18:57:46  * tmcwquit (Remote host closed the connection)
18:58:17  * tmcwjoined
18:59:29  * ferossjoined
19:01:49  * timoxleyjoined
19:02:30  * tmcwquit (Ping timeout: 248 seconds)
19:03:46  * tilgoviquit (Remote host closed the connection)
19:04:54  * fotoveritejoined
19:06:42  * timoxleyquit (Ping timeout: 264 seconds)
19:06:53  * mikolalysenkojoined
19:12:31  * missinglinkquit (Ping timeout: 245 seconds)
19:13:13  * fallsemojoined
19:15:04  * Kesslerjoined
19:17:31  * thlorenz_joined
19:18:06  * tmcwjoined
19:21:19  * DTrejojoined
19:27:00  * peutetrejoined
19:30:55  * tmcwquit (Remote host closed the connection)
19:31:22  * tmcwjoined
19:33:02  * tmcw_joined
19:33:03  * tmcwquit (Read error: Connection reset by peer)
19:33:26  * mikolalysenkoquit (Ping timeout: 240 seconds)
19:33:50  * ITproquit (Ping timeout: 264 seconds)
19:35:27  * Kesslerquit (Ping timeout: 260 seconds)
19:40:18  * Kesslerjoined
19:40:19  * mikolalysenkojoined
19:43:39  * rxgxjoined
19:48:11  * Kesslerquit (Ping timeout: 268 seconds)
19:48:35  * ferossquit (Quit: feross)
19:53:28  * nk109joined
20:00:30  * jxsonquit (Remote host closed the connection)
20:01:46  <Domenic_>isaacs: any idea why so many shasum failures on npm bug tracker recently?
20:02:27  * timoxleyjoined
20:05:38  * kenperkinsjoined
20:06:51  * timoxleyquit (Ping timeout: 248 seconds)
20:13:03  * ferossjoined
20:13:46  * timoxleyjoined
20:15:10  * nk109quit (Quit: Computer has gone to sleep.)
20:18:05  * defunctzombie_zzchanged nick to defunctzombie
20:18:24  * timoxleyquit (Ping timeout: 268 seconds)
20:25:49  <jesusabdullah>Domenic_: tc39 meetings seem super painful
20:27:16  * ferossquit (Ping timeout: 260 seconds)
20:28:09  <Domenic_>jesusabdullah: not so bad
20:28:39  <Domenic_>jesusabdullah: if you didn't care about minutiae it would suck. I care about most minutiae but sometimes tune out.
20:35:24  <jesusabdullah>oh minutiae is my kryptonite
20:35:32  <jesusabdullah>are?
20:35:33  <jesusabdullah>either way
20:35:51  <jesusabdullah>fuck, this guy I said I'd do stuff for is asking for an update
20:35:57  <jesusabdullah>and I ran out of time to work on his thing last weekend
20:36:08  <jesusabdullah>so no update
20:36:17  * Kesslerjoined
20:41:27  <jesusabdullah>wat do ;_;
20:44:06  * jxsonjoined
20:44:32  <jesusabdullah>okay, just made "reading the README" and "buying an hdmi cable" sound like more work than they were
20:44:42  <jesusabdullah>that helps right? :v
20:51:57  <Raynos>thlorenz: you going to use react? :D
20:52:12  <thlorenz>maybe for one part of our app
20:52:35  <thlorenz>we'll build it in a few months and it seems like react still needs to catch up on some issues and documentation
20:53:15  <thlorenz>Raynos: some of it's ideas are somewhat similar to what you showed me at nodeconfeu
20:53:31  <Raynos>thlorenz: you mean facebooks react ?
20:53:37  <thlorenz>yes
20:53:47  <thlorenz>some really interesting concepts
20:53:54  <Raynos>it has that weird xml dsl
20:54:23  <Raynos>yeah it shares some of the ideas
20:54:26  <thlorenz>similar to your html dsl ;)
20:54:36  <thlorenz>except that it isn't real javascript
20:54:47  <Raynos>but it feels very frameworky
20:54:50  <thlorenz>but it is converted to javascript
20:54:58  <thlorenz>definitely is frameworky
20:56:04  <Raynos>also very OOPy
20:56:14  <Raynos>i got a bad reaction to react
20:56:25  <Raynos>because they talked to us at FP JS meetup and claimed it was FP framework
20:57:15  <guybrush>hey guys how do you think about putting <div>'s inside <p>'s? i know that the spec says no
20:57:44  <thlorenz>Raynos: it's actually more functional imo
20:58:03  <thlorenz>much less oop than backbone views
20:58:10  * toddself_quit (Remote host closed the connection)
20:58:12  <guybrush>actually im only using p since im rendering markdown
20:58:13  <defunctzombie>react?
20:58:31  <defunctzombie>Raynos: thlorenz: you guys talking about reactive? or something else?
20:58:38  <Raynos>facebook's react
20:59:19  <thlorenz>defunctzombie: Raynos: http://javascriptjabber.com/073-jsj-react-with-pete-hunt-and-jordan-walke/ is very informative
20:59:27  <thlorenz>and got me interested in the first place
20:59:50  <defunctzombie>meh
20:59:57  <defunctzombie>taking a look at the readme I am not convinced
21:00:07  <defunctzombie>so far been a fan of reactive
21:00:14  <defunctzombie>simple enough but does good things
21:00:22  <thlorenz>reactive ?
21:00:25  <defunctzombie>basically a lighter weight version of ractive.js in many ways
21:00:38  <defunctzombie>thlorenz: https://github.com/component/reactive
21:01:03  <thlorenz>interesting - will have a look
21:01:07  <defunctzombie>I get good mileage out of it
21:01:25  <Raynos>so many different ways to tackle the problem
21:01:25  <defunctzombie>and have connected it to bamboo (which is my take on backbone like models)
21:01:28  <defunctzombie>yes
21:01:40  <defunctzombie>basically use whatever you like hahaha
21:01:52  <thlorenz>defunctzombie: the main thing that was interesting about react was - serverside rendering for free and optimized dom updates
21:02:01  <defunctzombie>meh
21:02:07  <thlorenz>in the future these will be prepared on a webworker
21:02:08  <defunctzombie>server side rendering doesn't much matter to me right now
21:02:21  <thlorenz>does to us - so we have different problems I guess
21:02:22  <defunctzombie>nor do I find that much overall value in it really
21:02:36  <defunctzombie>don't know why you would care to render on the server
21:02:41  <defunctzombie>I prefer APIs
21:02:45  <defunctzombie>and rendering locally
21:02:57  <thlorenz>if facebook and twitter have to scrape your page ;)
21:03:11  <defunctzombie>why do they have to scrape your page?
21:03:19  <thlorenz>it's a requirement
21:03:24  <defunctzombie>?
21:03:38  <defunctzombie>sounds like a made up requirement to add complexity for no reason
21:03:44  <defunctzombie>be weary of made up requirements
21:04:06  <jesusabdullah>don't scrape me bro
21:04:15  <thlorenz>they are not made up, but come from real world use cases ;)
21:04:21  <defunctzombie>which are?
21:04:28  <defunctzombie>real world use cases can be made up too
21:04:30  * kenperkinsquit (Quit: Computer has gone to sleep.)
21:04:35  <defunctzombie>people love to overcomplicate things ;)
21:04:44  <defunctzombie>and make "clever" solutions to non existing problems
21:05:28  <thlorenz>I don't know all the details - but I'm sure that there is a reason why a magazine site has to integrate with facebook and twitter
21:05:36  <Raynos>thlorenz: you dont get those things for free :p
21:05:44  <thlorenz>Raynos: :)
21:05:54  <Raynos>optimized dom updates & server side rendering is hard
21:05:58  <Raynos>im trying to do it myself :)
21:06:12  <thlorenz>well react is trying to do it for you
21:06:29  <Raynos>once im done i should have a lean simple implementation though
21:06:30  <thlorenz>you should definitely check it out
21:06:33  <defunctzombie>substack: pkrumins: guys ever manage to add another hostname that points to the testling git servers?
21:06:49  <Raynos>defunctzombie: I'm trying to do this ( https://github.com/Raynos/jsonml-stringify/blob/observ/example/template.js ) for reactive values
21:06:52  <defunctzombie>substack: pkrumins: also, the android and ios testing never seems to run for me
21:06:56  <thlorenz>Raynos: my co-worker was sceptic also, but after spiking with it for a day he is warming up
21:07:04  <defunctzombie>Raynos: this is stupid imho
21:07:09  <Raynos>i wouldnt use it because too complex
21:07:30  <Raynos>defunctzombie: its stupid because its unreadable and you want html instead ?
21:07:53  <defunctzombie>yes, and because you could simply pass a "model" object to the view you render
21:08:05  <defunctzombie>and have the model emit events when the properties change
21:08:27  * kenperkinsjoined
21:08:30  <defunctzombie>Raynos: I prefer to see regular html (easier to see structure)
21:08:37  <Raynos>defunctzombie: thats what model.x & model.y are
21:08:39  <Raynos>they are events
21:08:46  <defunctzombie>Raynos: and I require my html with require("path/to/file.html");
21:09:15  <Raynos>jsonml has different organization trade offs
21:09:18  <defunctzombie>(I would use fs.readFileSync) if it was faster, but it isn't so I made a browserify transform to require html
21:09:21  <Raynos>mainly higher order functions and DRY-ness
21:09:21  <defunctzombie>jsonml is shit
21:09:34  <Raynos>its ugly to read
21:09:35  <Raynos>:D
21:09:37  <Raynos>really ugly
21:09:47  <defunctzombie>yea, and that makes it shit
21:09:54  <defunctzombie>code is for humans to read and work on
21:10:05  <defunctzombie>html is also more semantic to me
21:10:21  <defunctzombie>I wish I had an example of how I use reactive with bamboo to show
21:10:34  <defunctzombie>but so far it has been on a closed source project
21:11:31  <Raynos>jsonml warms up to you
21:11:36  <Raynos>it has other benefits that make it nice
21:11:49  <Raynos>deciding that your template structure is a static tree has very nice side effects
21:12:07  <Raynos>my template functions are referentially transparent
21:12:47  <Raynos>once I finish the implementation i Need to do a screen cast of what it can do :)
21:14:35  * timoxleyjoined
21:16:17  * tmcw_quit (Remote host closed the connection)
21:16:50  * tmcwjoined
21:17:02  * jergasonquit (Quit: jergason)
21:17:24  <defunctzombie>Raynos: https://gist.github.com/shtylman/6615866
21:17:29  <defunctzombie>Raynos: I do something like that typically
21:17:32  <defunctzombie>for the most basic case
21:18:01  <defunctzombie>Model also has methods like .save .fetch and whatnot for me to get resources from the server
21:18:25  <defunctzombie>the reason I make model like objects is to have a single place that defines what a "thing" typically is
21:19:01  * timoxleyquit (Ping timeout: 248 seconds)
21:19:35  <Raynos>i see
21:20:28  * mikolalysenkoquit (Ping timeout: 260 seconds)
21:20:34  * pikpikquit (Ping timeout: 256 seconds)
21:20:57  * dstokesquit (Quit: dstokes)
21:21:24  * jergasonjoined
21:21:55  * tmcwquit (Ping timeout: 268 seconds)
21:24:05  * tmcwjoined
21:25:55  * jergasonquit (Client Quit)
21:29:22  * toddself_joined
21:32:19  * jxsonquit (Remote host closed the connection)
21:33:35  * jergasonjoined
21:33:54  * jxson_joined
21:34:56  * tilgovijoined
21:36:17  * Kesslerquit (Remote host closed the connection)
21:37:31  * toddself_quit (Ping timeout: 245 seconds)
21:44:23  * tmcwquit (Remote host closed the connection)
21:46:31  * kevino80quit (Remote host closed the connection)
21:50:20  * tilgovi_joined
21:51:42  * tilgoviquit (Ping timeout: 264 seconds)
21:53:09  * rxgxquit (Quit: timeout)
21:57:31  * jolissquit (Ping timeout: 245 seconds)
21:58:52  * jolissjoined
21:59:59  * Maciek416quit (Remote host closed the connection)
22:08:41  * st_lukejoined
22:15:00  * dominictarrquit (Quit: dominictarr)
22:15:06  * timoxleyjoined
22:19:54  * timoxleyquit (Ping timeout: 264 seconds)
22:22:32  * thloren__joined
22:24:00  * thlore___joined
22:24:00  * thloren__quit (Read error: Connection reset by peer)
22:25:58  * thlorenzquit (Ping timeout: 245 seconds)
22:25:58  * thlore___quit (Read error: Connection reset by peer)
22:26:03  * thloren__joined
22:26:21  * jcrugzzchanged nick to jcrugzz|afk
22:27:24  * thloren__quit (Remote host closed the connection)
22:27:35  * xyxnechanged nick to nexxy
22:30:29  * jergasonquit (Quit: jergason)
22:36:27  * AvianFluquit (Ping timeout: 276 seconds)
22:44:58  * jergasonjoined
22:47:12  * tilgovi_changed nick to tilgovi
22:54:47  * yorickquit (Remote host closed the connection)
22:57:15  * fallsemoquit (Quit: Leaving.)
23:03:03  * ednapiranhaquit (Remote host closed the connection)
23:08:14  * jergasonquit (Ping timeout: 240 seconds)
23:10:19  * thlorenzjoined
23:15:49  * timoxleyjoined
23:15:52  * kenperkinsquit (Quit: Computer has gone to sleep.)
23:17:01  * timoxleyquit (Read error: Connection reset by peer)
23:17:24  * timoxleyjoined
23:21:16  * pikpikjoined
23:27:25  * rxgxjoined
23:35:06  * mikolalysenkojoined
23:59:31  * AvianFlujoined