00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:04:41  * kenperkinsjoined
00:10:07  * jcrugzzquit (Ping timeout: 272 seconds)
00:15:01  * tobiequit (Ping timeout: 248 seconds)
00:17:48  * tobiejoined
00:17:55  * AvianFluquit (Ping timeout: 245 seconds)
00:21:10  * funkytekjoined
00:21:47  * mikolalysenkoquit (Ping timeout: 245 seconds)
00:25:17  <rvagg>ta
00:27:50  <rowbit>Hourly usage stats: [developer: 3, free: 129]
00:38:19  * fronxjoined
00:43:17  * fronxquit (Ping timeout: 248 seconds)
01:00:30  <groundwater>anyone here use Hapi?
01:11:14  * brianloveswordsquit (Excess Flood)
01:11:50  * brianloveswordsjoined
01:17:08  * tobiequit (Quit: tobie)
01:19:26  * thlorenzjoined
01:25:03  * phatedquit (Remote host closed the connection)
01:25:40  * kenperkinsquit (Quit: Computer has gone to sleep.)
01:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 131]
01:28:21  * mikolalysenkojoined
01:33:05  * mikolalysenkoquit (Ping timeout: 272 seconds)
01:33:59  * chromakode_joined
01:34:01  * chromakode_quit (Read error: Connection reset by peer)
01:36:00  * fallsemoquit (Quit: Leaving.)
01:40:23  * jcrugzzjoined
01:40:24  * fronxjoined
01:45:08  * yorickquit (Remote host closed the connection)
01:45:29  * fronxquit (Ping timeout: 272 seconds)
01:46:06  * tilgovijoined
01:49:09  * phatedjoined
01:55:08  * funkytekquit (Ping timeout: 252 seconds)
01:57:20  <rvagg>groundwater: ya, been fiddling with it a tiny bit
01:57:32  <rvagg>groundwater: but hapi is kind of anti-stackvm
01:58:20  <rvagg>there's a #hapi channel too fwiw
02:00:38  * Maciek416quit (Remote host closed the connection)
02:00:44  * funkytekjoined
02:07:35  * ednapiranhaquit (Quit: Leaving...)
02:08:20  <groundwater>rvagg yah, i'm just searching out apps to test against the newrelic module
02:08:33  <groundwater>thinking about just building some service with it too
02:09:14  <Raynos>apps ?
02:09:23  <Raynos>oh I see
02:10:45  <rvagg>groundwater: https://github.com/paypal/kappa is what I have most experience with, these two are built on hapi too: https://github.com/rvagg/kappa-bridge https://github.com/rvagg/kappa-wrapper
02:13:02  <groundwater>rvagg thanks, i'll check it out
02:16:56  * coderzachquit (Remote host closed the connection)
02:27:24  * fallsemojoined
02:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 47]
02:27:59  * feross_joined
02:30:08  <Raynos>I started playing with an idea for what react looks like as simple modules https://gist.github.com/Raynos/9e159f902a0223bb6315
02:31:48  * dguttmanquit (Quit: dguttman)
02:32:12  * coderzachjoined
02:37:38  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
02:38:38  * fronxjoined
02:42:24  * kumavis_joined
02:43:39  * fronxquit (Ping timeout: 272 seconds)
02:44:00  * coderzachquit (Remote host closed the connection)
02:48:58  * kenperkinsjoined
02:50:11  * kriskowaljoined
02:50:15  * kumavis_quit (Ping timeout: 276 seconds)
02:51:35  * kenperkins_joined
02:52:42  * contrahaxjoined
02:53:21  * kenperki_joined
02:55:27  * kenperkinsquit (Ping timeout: 276 seconds)
02:56:32  * kenperkinsjoined
02:57:24  * kenperkins_quit (Ping timeout: 276 seconds)
02:57:59  * kenperkins_joined
02:58:43  * kenperki_quit (Ping timeout: 252 seconds)
03:01:22  * kenperkinsquit (Ping timeout: 245 seconds)
03:03:40  * kenperkins_quit (Ping timeout: 252 seconds)
03:11:11  * mikolalysenkojoined
03:13:59  * coderzachjoined
03:16:32  * shamaquit
03:27:18  <defunctzombie>substack: ya beat me to it :)
03:27:23  <defunctzombie>I was gonna say the exact same thing
03:27:38  <substack>haha yes
03:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 33]
03:27:53  <substack>I was surprised that I had the power to close that issue
03:27:58  <substack>but then I remembered a while ago
03:28:04  <defunctzombie>people don't realize that every single module repo we have can be easily packaged however they want
03:28:23  <defunctzombie>they think we need to do something special or include boilerplate UMD in all repos
03:30:20  * Maciek416joined
03:36:01  <pkrumins>substack: dude what the hell is going on
03:36:24  <pkrumins>substack: you can't answer a single email for 6 days?
03:45:16  * contrahaxquit (Quit: Sleeping)
03:46:14  * kumavis_joined
03:48:17  * kumavis_quit (Client Quit)
03:50:51  * dominictarrjoined
03:58:32  * contrahaxjoined
03:59:23  * ferossquit (Quit: feross)
03:59:24  * feross_changed nick to feross
04:06:05  <chapel>Raynos: what do you mean by react?
04:06:55  * kumavis_joined
04:06:58  <Raynos>chapel: http://facebook.github.io/react/
04:08:07  * eugenewarequit (Remote host closed the connection)
04:08:34  * eugenewarejoined
04:08:40  * eugenewarequit (Remote host closed the connection)
04:08:48  * eugenewarejoined
04:09:21  <chapel>I'm aware of react, was just wondering what your gist had to do with react
04:11:53  * kumavis__joined
04:13:25  * fallsemoquit (Ping timeout: 248 seconds)
04:13:51  <rowbit>substack, pkrumins: Encoders down: 184.106.99.27 (dev-ie7-3)
04:15:09  * fallsemojoined
04:22:08  * phatedquit (Remote host closed the connection)
04:23:32  * indexzeroquit (Quit: indexzero)
04:27:01  * kenperkinsjoined
04:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 83]
04:29:12  * kenperkins_joined
04:30:04  * kriskowalquit (Ping timeout: 246 seconds)
04:31:51  * indexzerojoined
04:32:42  * kenperkinsquit (Ping timeout: 252 seconds)
04:34:11  * dominictarrquit (Quit: Leaving)
04:34:20  * __rockbot__joined
04:34:27  * dominictarrjoined
04:35:09  * kenperkinsjoined
04:35:40  * kenperkins_quit (Ping timeout: 246 seconds)
04:37:03  * kenperkinsquit (Client Quit)
04:37:44  * funkytekjoined
04:38:04  * coderzachquit (Remote host closed the connection)
04:41:52  * kenperkinsjoined
04:42:43  * fallsemoquit (Ping timeout: 272 seconds)
04:43:57  * kenperkins_joined
04:47:19  * kenperkinsquit (Ping timeout: 260 seconds)
04:48:34  * kenperkinsjoined
04:50:02  * kenperkinsquit (Client Quit)
04:51:57  * kenperkins_quit (Ping timeout: 252 seconds)
04:55:36  <groundwater>any way to create an object hash?
04:55:53  <groundwater>i.e. a unique string representation of an object
04:58:48  * kenperkinsjoined
05:00:15  * kenperkins_joined
05:02:15  * ednapiranhajoined
05:03:33  * kenperkinsquit (Ping timeout: 248 seconds)
05:05:19  * contrahaxquit (Quit: Sleeping)
05:06:07  * kenperkins_quit (Ping timeout: 246 seconds)
05:06:16  * thealphanerdjoined
05:06:41  * calvinfojoined
05:06:59  <kumavis>groundwater: you need to be able to deserialize from that string?
05:07:03  <kumavis>or just an id?
05:07:09  <groundwater>kumavis no, just some unique id
05:07:21  <groundwater>i'm borrowing from python here
05:08:02  <kumavis>I suggest assigning an id via a weak-map, so you dont have to decorate the object, and dont need to keep a (memory hogging) list of objects
05:08:46  <kumavis>I think you need to make one for each direction if you need to look up by id later
05:09:15  <groundwater>kumavis hmm... i can't use a weak map here
05:09:25  <kumavis>ok
05:09:38  <kumavis>other way is to decorate the object with the id
05:09:44  <groundwater>yah, that's what i was thinking
05:10:01  <kumavis>groundwater: what is limiting you from using a weakmap?
05:10:23  <groundwater>has to work in standard node
05:11:01  * calvinfoquit (Ping timeout: 246 seconds)
05:11:16  <kumavis>groundwater: but you can use node modules, yes?
05:11:20  <kumavis>https://github.com/Benvie/WeakMap
05:11:28  * thlorenzquit (Remote host closed the connection)
05:12:03  * thlorenzjoined
05:12:21  <kumavis>groundwater: I haven't tried that one, I used https://github.com/drses/weak-map
05:12:21  <groundwater>kumavis wonder what the performance overhead is on that
05:12:27  <kumavis>but they should be essential
05:12:33  <kumavis>ly the same
05:12:45  * kenperkinsjoined
05:13:13  <kumavis>drses/weak-map uses native and falls back to its own shim, which decorates the object with an unpredictable key that is not enumerable
05:14:05  <kumavis>Object.keys(decoratdObj) will not show what they added to it
05:14:41  <groundwater>kumavis okay, i'm gonna do a quick performance test on it
05:14:50  <kumavis>sure
05:15:06  <kumavis>groundwater: have you used jsperf.com before?
05:15:13  <kumavis>i made my first today
05:15:38  <groundwater>kumavis i am not so interested in browser tests, just how node performs
05:15:54  <kumavis>ok
05:16:15  * thlorenzquit (Ping timeout: 245 seconds)
05:17:17  <grncdr>Raynos: nice gist
05:18:03  <gildean>if the jsperf test doesn't do anything with dom, imo you can use the chrome results as a rough idea of how node would perform
05:18:23  <gildean>if you compare two different solutions to the same problem for example
05:19:23  * kenperkins_joined
05:20:11  * kriskowaljoined
05:21:56  <grncdr>Raynos: so the idea is that leftComponent.compare(rightComponent) would be called to determine whether a re-render is necessary?
05:22:13  * kenperkinsquit (Ping timeout: 248 seconds)
05:22:58  * ednapiranhaquit (Quit: Leaving...)
05:25:27  * kenperkinsjoined
05:27:34  * phatedjoined
05:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 117]
05:28:27  * kenperkins_quit (Ping timeout: 245 seconds)
05:30:19  <groundwater>kumavis that weakmap module seems to work pretty well
05:30:20  <groundwater>thanks!
05:30:26  <kumavis>yeah np
05:32:12  * marcello3dquit (Remote host closed the connection)
05:32:52  * marcello3djoined
05:33:45  * phatedquit (Read error: Connection reset by peer)
05:34:00  * phatedjoined
05:34:02  * kenperkins_joined
05:35:33  * kenperkinsquit (Ping timeout: 248 seconds)
05:36:55  * marcello3dquit (Ping timeout: 246 seconds)
05:39:22  * kenperkins_quit (Ping timeout: 246 seconds)
05:40:35  * anvakajoined
05:40:49  <grncdr>Raynos: btw, I'm currently trying out React "for real" to get an impression of what benefits it's actually providing
05:41:31  <grncdr>I'm even using JSX :P
05:41:36  <chapel>grncdr: :)
05:41:46  <chapel>I thought react.js looked gross at first
05:41:49  <chapel>jsx was a turn off
05:42:31  * calvinfojoined
05:42:38  <grncdr>honestly, after writing apps of varying sizes using angular, knockout, and backbone, JSX seems like a great idea to me
05:42:44  <chapel>listened to a podcast they were on, and it made more sense, and after working with it, I enjoy the simplicity of it, not my desired api mind you
05:43:01  <chapel>grncdr: the fact that is just functions, is whats great
05:43:05  <chapel>and not string manip
05:43:10  <grncdr>indeed
05:43:17  <chapel>I've done knockout, backbone mostly
05:43:31  <grncdr>I like knockout quite a bit, and angular even more
05:43:39  <grncdr>but they both have issues
05:43:47  <chapel>angular always bothered me with how much you had to get into it
05:44:04  <chapel>knockout reminds me of react in that it is just a building block
05:44:10  <chapel>not a framework
05:44:29  <grncdr>well, react is pushing the boundaries of what's "not a framework"
05:44:48  * kumavis__quit (Quit: Textual IRC Client: www.textualapp.com)
05:44:56  <chapel>well, its a heavy view layer
05:45:00  <chapel>you can do everything in it
05:45:08  <chapel>or only what you need to with lots of components
05:46:07  <grncdr>regarding angular, I feel like if they'd embraced commonjs (and maybe npm) early on it would've been fine, but the fact that they shipped a kitchen sink full of utilities is a turn off
05:46:43  * calvinfoquit (Ping timeout: 246 seconds)
05:46:49  * kumavis__joined
05:46:50  <chapel>also wasn't a fan of the forced project structure
05:46:53  <chapel>or what seemed like it
05:46:57  <grncdr>?
05:47:06  <chapel>they had a great start, with very small components (angular)
05:47:23  <chapel>but to do anything meaningful it felt like you had to use all of their framework
05:47:30  <chapel>otherwise you were doing it wrong
05:47:30  <grncdr>you mean the DI container and the app.service(this) and app.controller(that) ?
05:47:35  <chapel>sure
05:47:38  <chapel>its been a while
05:47:42  <chapel>and I didn't put much time into it
05:47:54  <grncdr>well the thing that bugged me the most was the $http service and so on
05:48:43  <chapel>yeah that as well
05:49:25  <grncdr>like, angular has it's own module loader (replete with dependencies) that is pretty good for people who want to just put a bunch of script tags in a file
05:49:40  <grncdr>but I don't really want that, so it was always in my way
05:50:00  * kriskowalquit (Quit: kriskowal)
05:51:08  <grncdr>anyways, I haven't spent enough time on React to really give it a critique, but right now I'm a bit annoyed with the fact that it uses lifecycle hooks
05:51:18  <grncdr>like, that's a pattern that I never like
05:53:21  * Maciek416quit (Remote host closed the connection)
05:54:15  * kumavis__quit (Quit: Textual IRC Client: www.textualapp.com)
05:56:14  <chapel>lifecycle hooks in what way?
05:56:34  * kumavis__joined
05:58:23  * calvinfojoined
05:58:49  <grncdr>implementing methods like "objectWillVerb" and "objectDidVerb"
05:59:33  <grncdr>so componentWillMount I think is one of the ones in the docs I was reading
06:01:06  <grncdr>so far I think they're pretty innocuous as react uses them
06:01:17  * dcodeIO1joined
06:01:31  <grncdr>but it causes my spidey-sense to tingle for some reason ;)
06:02:05  * dcodeIOquit (Ping timeout: 252 seconds)
06:02:42  <substack>grncdr: what would your ideal frontend toolkit be like?
06:03:14  <grncdr>substack: I don't know yet :D
06:03:26  * dcodeIO1quit (Read error: No route to host)
06:03:55  <grncdr>like, there are messy problems with frontend coding that can't just be hand-waved away
06:03:58  * phatedquit (Remote host closed the connection)
06:04:21  * kumavis__quit (Quit: Textual IRC Client: www.textualapp.com)
06:04:23  <grncdr>specifically, there's a sack of meat that keeps injecting data into your code ;)
06:04:26  * dcodeIOjoined
06:05:04  <grncdr>so, one thing is, I want smaller modules
06:05:41  <grncdr>also, if we're talking about *my* ideals, I don't want separation of "templates" and "code"
06:05:46  <grncdr>that shit annoys me to no end
06:07:09  <grncdr>so other than that, I want a consistent approach for: input + previous state -> state
06:07:30  <grncdr>and a simple approach to state -> rendering
06:08:22  <grncdr>honestly, I think hyperscript + observe does 90% of what I want
06:11:23  <dominictarr>ircretary, tell joates yo whats up?
06:11:23  <ircretary>dominictarr: I'll be sure to tell joates
06:12:07  * __rockbot__quit (Quit: __rockbot__)
06:12:36  <substack>grncdr: you might like what I'm cooking up next I think
06:12:53  <grncdr>well that's a safe bet ;)
06:13:10  <grncdr>is thursday JS night at sudo room?
06:13:31  <substack>yep
06:13:46  <grncdr>k
06:13:52  <substack>and some sf folks will be there on thursday too
06:13:59  <grncdr>I'm leaving the Bay Area on Friday
06:14:05  <grncdr>so I'll try and make it
06:14:09  <substack>cool
06:18:13  * wolfeidauquit (Remote host closed the connection)
06:21:21  <Raynos>grncdr: yes, `node.compare(left, right)` is used as a way to determine whether we can not re-render that subtree
06:23:24  <chapel>grncdr: where are you going?
06:23:26  <Raynos>grncdr: If your in the pay we should meet up for coffee / lunch / hacks
06:24:18  <chapel>grncdr: this is something I hacked together for simple react usage in node
06:24:19  <chapel>https://github.com/chapel/reacter
06:24:57  <grncdr>Raynos: I'm going to SF tomorrow I think, where are you at?
06:25:06  <Raynos>grncdr: I'm at 3rd & mission
06:25:19  <Raynos>chapel: no README === :(
06:25:28  <chapel>Raynos: I just pushed it on github :P
06:25:32  <Raynos>:D
06:25:34  <chapel>it was rotting on my hdd before now
06:26:25  <chapel>it uses require.extensions
06:26:30  <chapel>everyones favorite feature :)
06:26:40  <chapel>but its opt in
06:27:17  * dominictarrquit (Ping timeout: 248 seconds)
06:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 334]
06:30:31  <grncdr>yay require.extensions
06:30:44  <grncdr>what is the beef with that anyways
06:30:45  <grncdr>?
06:33:04  <chapel>I don't remember
06:36:29  <Raynos>grncdr: Want to grab lunch tomorrow or maybe hack in the evening ?
06:36:46  * dguttmanjoined
06:36:53  * thealphanerdquit (Quit: thealphanerd)
06:36:58  <grncdr>sure
06:37:05  * calvinfoquit (Quit: Leaving.)
06:37:16  <grncdr> /msg me your phone and I'll text you when I'm in the area
06:40:16  * dguttmanquit (Client Quit)
06:40:59  * calvinfojoined
06:42:31  * joatesjoined
06:43:36  * pfrazequit (Ping timeout: 276 seconds)
06:46:30  <jesusabdullah>grncdr: it's global, that's the beef
06:46:52  <grncdr>jesusabdullah: fair
06:47:25  <jesusabdullah>grncdr: you can't depend on a specific version of coffeescript to run your code (if it's in cs), basically. It blights the "localized modules" aesthetic
06:48:12  <jesusabdullah>grncdr: That's like the reason that's actually legit. But I think really it's just that coffeescript is a pain in the ass and they'd rather have as little to do with it as possible
06:48:41  <grncdr>honestly, I think npm -g is the problem though
06:48:43  <jesusabdullah>grncdr: if you removed require.extensions, coffeescript users would be *required* to compile their code before run-time.
06:48:48  <grncdr>like, that should just never have happened
06:49:05  <jesusabdullah>I like to globally install some tools
06:49:10  <grncdr>boourns
06:49:11  <jesusabdullah>not build tools though, fuck that
06:49:12  <grncdr>:)
06:49:42  <grncdr>so, if you just use npm to run your build tools
06:49:46  <grncdr>you don't need -g
06:50:09  <grncdr>if you want to install a script from npm globally, symlinks work
06:51:27  <grncdr>I guess what I'm saying is there should be no global `node_modules` folder
06:52:25  <grncdr>npm install —link-scripts ~/bin somepackage
06:53:43  <chapel>jesusabdullah: if they didn't use a global version of Module._extensions in functions that use the extensions, and used the local one to the module, you could clone the extensions object and have localized requires
06:54:35  <jesusabdullah>grncdr: link doesn't work all the time, sometimes you want to expose something to all your users, etc, etc. It should just be uncommon, not impossible
06:54:44  <chapel>grncdr Raynos I added a readme
06:54:45  <jesusabdullah>grncdr: and it's WAY too common now.
06:55:13  <grncdr>jesusabdullah: I don't mean link like the current `npm link`
06:55:59  <grncdr>I mean, literally, just link the "scripts" in the package.json "scripts" to the given directory
06:56:34  * marcello3djoined
06:56:53  <grncdr>but install locally
06:57:14  <grncdr>chapel: woo readme!
06:58:20  <grncdr>chapel: when you say "localized" requires, how would that work in practice?
06:58:47  <chapel>not sure what you mean?
06:59:11  <chapel>oh
06:59:17  <chapel>my comment here
06:59:21  <grncdr>like, "require._extensions" would just be magically scoped to modules without any user interaction?
06:59:34  <chapel>well the way requires are done are through vm
07:00:26  <chapel>so the context is always passed in, e.g. function require() { // stuff }\n require.extensions = Module._extensions
07:00:59  <chapel>https://github.com/joyent/node/blob/master/lib/module.js#L389
07:01:32  * dominictarrjoined
07:01:54  <chapel>so you could do require.extensions = clone(require.extensions);
07:02:02  * jcrugzzquit (Ping timeout: 252 seconds)
07:02:16  <chapel>and any modifications wouldn't be to Module._extensions
07:02:26  * funkytekquit (Ping timeout: 272 seconds)
07:02:32  <chapel>but since they use Module._extensions directly elsewhere, nothing you can do
07:02:44  * dominictarrquit (Client Quit)
07:02:49  <grncdr>ah I see
07:02:52  <chapel>not worth worrying about
07:02:58  * dominictarrjoined
07:03:15  <chapel>I just wanted to be able to use jsx files without compiling on the server for dev
07:03:26  <chapel>long term, it would make sense to turn it off, and compile for deploys
07:03:48  <dominictarr>can anyone recommend best place to get a https cert?
07:04:05  * contrahaxjoined
07:04:13  <grncdr>dominictarr: I believe startssl does free certs?
07:09:04  <dominictarr>grncdr, I'll pay, most importantly I want something non-sucky
07:10:54  * calvinfopart
07:11:04  <Raynos>have you tried godaddy? </trollface>
07:11:18  * thealphanerdjoined
07:11:36  <Raynos>dominictarr: http://mediatemple.net/services/ssl/
07:11:54  <Raynos>I've used media temple before for hosting, havn't tried their certs
07:13:16  <dominictarr>damn, these places are being difficult because my IP is currently is south east asia
07:14:46  <Raynos>:(
07:14:47  * phatedjoined
07:17:08  * wolfeidaujoined
07:19:21  * phatedquit (Ping timeout: 252 seconds)
07:22:55  * marcello3dquit (Remote host closed the connection)
07:24:46  * kriskowaljoined
07:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 129]
07:29:17  * jcrugzzjoined
07:30:32  * substackquit (Quit: Lost terminal)
07:36:59  * jcrugzzquit (Ping timeout: 272 seconds)
07:38:47  <dominictarr>Raynos, how do I associate a domain with a cert?
07:38:55  <Raynos>not sure tbh
07:40:08  * tobiejoined
07:42:45  * mikolalysenkoquit (Ping timeout: 276 seconds)
07:43:06  <grncdr>dominictarr: it's a part of the cert itself...
07:43:11  <dominictarr>okay I think I got it.
07:43:32  <dominictarr>I was just confused because it said enter FQDN or YOUR name
07:43:41  <dominictarr>and I entered my name instead of the domain name
07:43:45  <grncdr>ah
07:44:37  * kumavis_quit (Quit: kumavis_)
07:46:02  <joates>dominictarr: fyi, DO makes it look easy to setup -> https://www.digitalocean.com/community/articles/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-12-04
07:47:20  <dominictarr>joates, ah, cool
07:47:25  <joates>..diy method, but ok for testing ?
07:47:45  <dominictarr>joates, I think I have it now
07:48:31  * joatesyawns
07:48:39  * joateschanged nick to joates_coffee
07:50:29  * substackjoined
07:56:42  <dominictarr>joates_coffee, hey, did you look at the latest stuff?
07:57:01  * wolfeidauquit (Remote host closed the connection)
08:11:26  * joates_coffeechanged nick to joates
08:11:35  <joates>back.. yep i did
08:11:48  <joates>nice work, u made some good progress yesterday!
08:11:50  * wolfeidaujoined
08:13:27  <Raynos>dominictarr, substack, grncdr, chapel: I documented my react style virtual DOM ideas https://gist.github.com/Raynos/8414846
08:18:14  <dominictarr>Raynos, what is a mli file?
08:18:26  <Raynos>its an ocaml file. I like its syntax highlighting
08:18:43  <Raynos>the documentation format is jsig ( github.com/jden/jsig )
08:18:44  <dominictarr>uh, but is that stuff actually checkable?
08:19:14  <dominictarr>can I run a program and see check the types?
08:19:23  <Raynos>I wanted to write a parser for the type system
08:19:34  <Raynos>checking it sounds really hard :D
08:19:49  <Raynos>dominictarr: I just find it "human readable" to express data structures and interfaces that way :/
08:20:07  * tilgoviquit (Ping timeout: 260 seconds)
08:20:14  * collypopsquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz… *choke* ... *splutter* zzzZzZZzzz……)
08:20:29  <dominictarr>Raynos, it can't be that hard - mostly just a tree traversal
08:20:30  <chapel>need to mix jsig with esprima
08:21:05  <Raynos>dominictarr: you might be able to check the source code / implementation. It would be harder to check all call sites for those functions use the correct types
08:21:29  <dominictarr>I think including stuff like that is gonna be off putting to the average js developer
08:22:00  <dominictarr>if you rely on it as documentation, because it's not js
08:22:27  <Raynos>dominictarr: Agreed, I tend to put a docs.mli file in my github repo and not in the README, removed it from the README in the gist
08:22:42  <dominictarr>yeah, that is better
08:23:06  <dominictarr>If you could actually check it I'd use it.
08:23:25  <chapel>like it Raynos
08:23:46  <chapel>I want to pull apart what react does
08:23:55  <chapel>I wish I could make a virtual dom for jquery and the like
08:24:08  <chapel>and do similar diffs
08:24:18  <chapel>but no point there
08:25:12  <chapel>looks like a typo https://gist.github.com/Raynos/8414846#file-1example-js-L22
08:25:18  <chapel>period instead of comma
08:25:37  <Raynos>thanks
08:25:40  * tobiequit (Quit: tobie)
08:26:05  <chapel>so observ is like knockout then?
08:27:46  * calvinfojoined
08:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 118]
08:28:54  <Raynos>dominictarr: I have real javascript docs ( https://gist.github.com/Raynos/8414846#documentation )
08:29:15  <Raynos>chapel: https://github.com/Raynos/observ#what-about-dominictarrobservable- observ & observable both do the same thing
08:30:04  <Raynos>chapel: there's no reason why you can't implement `virtual-dom-jQuery` that looks like jQuery api but returns virtual DOM nodes instead of jquery dom elements
08:30:15  <chapel>yeah
08:30:19  <substack>I think you can be smarter and faster than react by not having the problem that react solves in the first place
08:30:31  <chapel>it gets complicated though when reading, and writing off of that, specially with plugins
08:30:38  <substack>namely you can do targetted updates as new updates trickle in
08:30:49  <Raynos>substack: I actually think doing targetted updates as they trickle in is slow
08:31:03  * ralphtheninjajoined
08:31:04  <substack>with query selectors?
08:31:14  <chapel>targeted updates requires a lot of extra state to know what needs to be updated
08:31:15  <substack>anyways this is plenty fast for my purposes
08:31:16  <Raynos>thats what I started doing, both with dominictarr/hyperscript + dominictarr/observable and with raynos/jsonml-stringify & raynos/observ
08:31:30  <Raynos>substack: updating the DOM immediately when the data changes can be slow
08:31:50  <Raynos>especially if you do multiple state changes in the same tick
08:31:52  <chapel>having fast render functions that rewrite the world, but only update the dom with diffs is important
08:32:13  <substack>Raynos: which "data" are we talking about? server or client
08:32:23  <Raynos>substack: I have this setImmediate trick ( https://gist.github.com/Raynos/8414846#file-1example-js-L58 ) and the request animation frame trick ( https://gist.github.com/Raynos/8414846#file-1example-js-L75 )
08:32:33  <substack>I'm more considering the case where I update leveldb and then pipe the changes to the client
08:32:41  <Raynos>substack: I mean client data changes
08:32:45  * peutetrejoined
08:32:52  <substack>right, I don't really care about that use-case
08:33:04  <Raynos>substack: I also I prefer this style of writing templates because I dont like having to write static templates & query selectors
08:33:19  <Raynos>substack: Also I want something that works at 60 fps on firefox os devices :)
08:33:38  <chapel>Raynos: it definitely is nice to just write your markup with code (I like jsx other than it needs compiled)
08:33:41  <Raynos>substack: I recommend hyperscript for small apps because you only need something like this for something bigger / more performance critical
08:34:12  <substack>Raynos: will this work with a level-livefeed?
08:34:17  <Raynos>But the really cool part is that these modules become a modular set of documentation for "easy performance optimizations" to make
08:34:57  <Raynos>substack: might be a bit harder to make work with level-livefeed, prob easier to make work with leveldb replication
08:35:11  <Raynos>there's no reason why you can't replace all my observ nonsense with a level db instance
08:35:34  <substack>replication seems really heavyweight
08:35:54  <Raynos>kind of like https://github.com/juliangruber/level-list
08:36:01  <substack>I'm using multilevel to bind a .livefeed over a manifest and it's working well so far
08:36:23  <Raynos>substack: the problem with livefeed is you need to represent "current state". If your current state is an append only list of all the chunks coming down the live feed then its really easy
08:36:26  <substack>and I just send data-start and data-end attributes in the html
08:36:35  <substack>and data-key for individual documents
08:37:04  <substack>this approach works with updating data too
08:37:23  <substack>and client-side sorting too
08:37:35  * calvinfoquit (Quit: Leaving.)
08:37:55  * mikolalysenkojoined
08:38:08  <Raynos>I see this virtual DOM stuff as a more performant version of `hyperscript`. Use `hyperscript` unless you run into perf issues then switch to this.
08:38:35  <Raynos>hyperscript is so much nicer since its 200 lines and doesn't have a complex state machine like the virtual dom stuff :D
08:39:01  <substack>oh cool then
08:39:07  <substack>that should probably work with my thing
08:39:23  <substack>since it's not tied to a particular rendering engine
08:39:31  <substack>but my current example is using hyperspace
08:39:43  <substack>I'll come up with examples for handlebars and hyperscript next
08:39:48  <Raynos>:)
08:39:57  * peutetrequit (Ping timeout: 272 seconds)
08:40:08  * peutetrejoined
08:40:14  <Raynos>this virtual dom stuff is of course a waste of space on the server, just use hyperscript on the server
08:41:29  * dominictarrquit (Ping timeout: 252 seconds)
08:41:51  <Raynos>substack: check out the performance graphs in http://swannodette.github.io/2013/12/17/the-future-of-javascript-mvcs/ its basically the reason to use virtual dom.
08:42:25  * mikolalysenkoquit (Ping timeout: 246 seconds)
08:42:32  <chapel>Raynos: is your h hyperscript compatible?
08:42:43  <Raynos>chapel: it will be, but none of this is implemented atm
08:42:48  <chapel>ah
08:43:15  <Raynos>well its not quite hyperscript compatible, it wont support the observable stuff, but will support the events stuff
08:43:22  <chapel>cool
08:43:30  <chapel>as far as the api
08:43:33  <chapel>and the output
08:44:01  <chapel>so you could use the same template files between hyperscript on the server, and your stuff on the client
08:44:19  <Raynos>i want to wrap all of this ( https://gist.github.com/Raynos/8414846#file-1example-js-L50-L80 ) in a helper function
08:44:56  <Raynos>chapel: yes exactly! hyperscript on the server & virtual dom on the client. I can also have virtual-dom/h just be `module.exports = require('hyperscript')` in node so you can use the same file
08:57:02  * wolfeidauquit (Remote host closed the connection)
09:00:21  * tobiejoined
09:15:12  * wolfeidaujoined
09:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 53]
09:31:39  * ferossquit (Quit: feross)
09:42:44  * mafintoshjoined
09:44:28  * flobyjoined
09:46:27  * peutetrequit (Ping timeout: 260 seconds)
09:47:41  * mafintoshquit (Read error: Connection reset by peer)
09:47:59  * mafintoshjoined
09:50:18  * peutetrejoined
09:51:15  * mafintosjoined
09:51:45  * mafintoshquit (Read error: Connection reset by peer)
09:53:27  * flobyquit (Ping timeout: 260 seconds)
09:57:02  * flobyjoined
10:02:43  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
10:02:43  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
10:03:14  * freealljoined
10:06:30  * mafintosquit (Read error: Connection reset by peer)
10:06:42  * mafintoshjoined
10:08:19  * thealphanerdquit (Read error: Connection reset by peer)
10:08:41  * thealphanerdjoined
10:08:45  * mafintoshquit (Client Quit)
10:10:22  * wolfeidauquit (Remote host closed the connection)
10:11:47  * cubertquit (Ping timeout: 272 seconds)
10:14:40  * mafintoshjoined
10:15:33  * cubertjoined
10:17:27  <pkrumins>substack: talk to me
10:22:54  * fronxjoined
10:24:30  * mafintoshquit (Quit: Leaving...)
10:27:05  * fronxquit (Ping timeout: 245 seconds)
10:27:50  <rowbit>Hourly usage stats: [developer: 1, free: 177]
10:29:45  * mikolalysenkojoined
10:34:07  * freeallquit (Quit: Leaving...)
10:34:42  * mikolalysenkoquit (Ping timeout: 245 seconds)
10:35:16  * freealljoined
10:43:39  * mafintoshjoined
10:48:48  * wolfeidaujoined
10:53:32  * dominictarrjoined
11:01:09  * freeallquit (Quit: Leaving...)
11:03:48  * mafintoshquit (Quit: Leaving...)
11:07:08  <joates>dominictarr: pm ok?
11:11:24  <dominictarr>joates, sure
11:12:38  * contrahaxquit (Quit: Sleeping)
11:13:22  * indexzeroquit (Quit: indexzero)
11:22:40  * ralphtheninjaquit (Quit: leaving)
11:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 147]
11:30:26  * mikolalysenkojoined
11:31:59  * freealljoined
11:35:23  * mikolalysenkoquit (Ping timeout: 252 seconds)
11:36:15  * freeallquit (Ping timeout: 245 seconds)
11:37:26  * joateschanged nick to joates_lunch
11:38:35  * mafintoshjoined
11:50:25  <guybrush>hey Raynos, didnt read through all your docs yet but did you consider fallback-stuff for oldshit-browsers?
11:51:22  <guybrush>basically i would just skip the virtual-dom-stuff and use hyperscript right?
11:56:46  * mafintoshquit (Quit: Leaving...)
12:00:10  * mafintoshjoined
12:03:58  * mafintoshquit (Client Quit)
12:05:04  * eugenewarequit
12:05:39  * mafintoshjoined
12:07:05  * eugenewarejoined
12:07:19  * collypopsjoined
12:14:33  * tobiequit (Quit: tobie)
12:17:19  * mafintoshquit (Quit: Leaving...)
12:27:50  <rowbit>Hourly usage stats: [developer: 4, free: 150]
12:30:56  * contrahaxjoined
12:31:09  * mikolalysenkojoined
12:36:26  * mikolalysenkoquit (Ping timeout: 252 seconds)
12:40:16  * mafintoshjoined
12:44:23  * thealphanerdquit (Quit: thealphanerd)
12:51:05  * peutetrequit (Quit: peutetre)
12:55:44  * mafintoshquit (Quit: Leaving...)
12:56:32  * ralphtheninjajoined
13:00:37  * floby1joined
13:01:15  * flobyquit (Ping timeout: 272 seconds)
13:08:08  * flobyjoined
13:08:16  * floby1quit (Read error: Connection reset by peer)
13:08:58  * mafintoshjoined
13:09:58  * fallsemojoined
13:10:19  * joates_lunchchanged nick to joates
13:18:33  <joates>dominictarr: ping! (i'm back from lunch)
13:18:47  * mafintoshquit (Quit: Leaving...)
13:24:41  * fallsemoquit (Ping timeout: 272 seconds)
13:25:44  * fallsemojoined
13:27:44  * mafintoshjoined
13:27:50  <rowbit>Hourly usage stats: [developer: 4, free: 147]
13:29:48  * mafintoshquit (Client Quit)
13:31:12  * yorickjoined
13:31:51  * mikolalysenkojoined
13:34:10  * fallsemoquit (Ping timeout: 245 seconds)
13:34:43  * fallsemojoined
13:36:01  * mafintoshjoined
13:36:56  * mikolalysenkoquit (Ping timeout: 252 seconds)
13:40:44  * brianloveswordsquit (Excess Flood)
13:41:34  * brianloveswordsjoined
13:44:22  <substack>Raynos, juliangruber, dominictarr: https://github.com/substack/liver
13:44:30  <substack>also grncdr
13:52:18  * eugenewarequit (Remote host closed the connection)
13:52:46  * eugenewarejoined
13:54:32  * mafintoshquit (Quit: Leaving...)
13:57:04  * eugenewarequit (Ping timeout: 246 seconds)
13:57:51  * mafintoshjoined
14:00:18  * peutetrejoined
14:08:57  * mafintoshquit (Quit: Leaving...)
14:09:35  * fallsemoquit (Quit: Leaving.)
14:10:38  * mafintoshjoined
14:21:31  * Maciek416joined
14:21:40  * fallsemojoined
14:22:25  * mikolalysenkojoined
14:27:50  <rowbit>Hourly usage stats: [developer: 205, free: 117]
14:30:09  * mafintoshquit (Quit: Leaving...)
14:31:42  * mafintoshjoined
14:35:50  * fallsemoquit (Quit: Leaving.)
14:39:25  * mafintoshquit (Quit: Leaving...)
14:42:11  * jcrugzzjoined
14:45:10  * pfrazejoined
14:47:07  * thlorenzjoined
14:48:50  * ralphtheninjaquit (Quit: leaving)
15:00:48  * eugenewarejoined
15:07:08  * eugenewarequit (Ping timeout: 252 seconds)
15:10:49  * kumavis_joined
15:17:33  * fallsemojoined
15:19:40  * kenperkinsjoined
15:20:43  * cpupquit (Ping timeout: 246 seconds)
15:24:42  * tobiejoined
15:26:24  * kumavis_quit (Quit: kumavis_)
15:26:51  * kenperkinsquit (Read error: Connection reset by peer)
15:27:17  * dguttmanjoined
15:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 134]
15:28:15  * kenperkinsjoined
15:30:40  <dominictarr>Raynos, hey, ClassList can only have one class
15:38:20  <substack>dominictarr: https://en.wikipedia.org/wiki/File:GanttChartAnatomy.svg
15:39:10  <substack>I want to make gantt charts of feedopensource progress bars
15:39:30  <substack>but everybody would have a separate chart
15:40:21  <substack>for a completely different outcome, but pooling resources to flesh out the dependent pieces that need more work
15:42:45  * coderzachjoined
15:51:34  <dominictarr>substack, hmm, interesting
15:52:04  <dominictarr>like - if you had an iteration that depends on someone elses project?
15:52:34  <dominictarr>(incidentially - tasks in an iteration are just links to issues, they don't have to be within the same project)
15:53:04  * kumavis_joined
15:58:34  * kevino80joined
16:08:47  * AvianPhonejoined
16:09:12  <dominictarr>Raynos, aha, it wasn't your fault it was html-element wasn't right.
16:13:46  * coderzachquit (Remote host closed the connection)
16:18:43  * marcello3djoined
16:21:03  * joatesquit (Quit: Leaving)
16:25:25  * mikolalysenkoquit (Ping timeout: 245 seconds)
16:26:42  * marcello3dquit (Remote host closed the connection)
16:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 146]
16:32:00  * kumavis_quit (Quit: kumavis_)
16:34:04  * mikolalysenkojoined
16:43:39  * tobiequit (Quit: tobie)
16:44:11  * coderzachjoined
16:58:48  * phatedjoined
17:02:29  * kevino80quit (Remote host closed the connection)
17:10:55  * thlorenzquit (Remote host closed the connection)
17:12:15  * kevino80joined
17:12:57  * ednapiranhajoined
17:15:44  * contrahaxquit (Quit: Sleeping)
17:15:45  * flobypart
17:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 136]
17:29:11  * AvianFlujoined
17:36:00  * AvianFluquit (Remote host closed the connection)
17:37:03  <grncdr>substack: Raynos: cool stuff
17:41:23  <rowbit>substack, pkrumins: Encoders down: 50.57.72.216 (free8)
17:43:45  * calvinfojoined
17:48:56  <Raynos>Guybrush: old browsers can be supported.
17:49:56  <grncdr>Raynos: I don't understand why you wouldn't just use the same virtual dom on client and server
17:50:38  <grncdr>I mean you'd (probably) never diff on the server, but what's the point of having hyperscript AND the virtual-dom-that-looks-like-hyperscript
17:51:27  <dominictarr>virtual dom is optimised for stuff that hyperscript isn't optimised
17:51:28  <dominictarr>for
17:51:38  <dominictarr>hyperscript is optimised for simplicity
17:51:55  <Raynos>Grncdr: you can use the virtual dom on the server. But that requires implementing stringify. Hyper script already does that
17:51:57  <dominictarr>virtual-dom is optimized for simplicity*performance
17:52:19  * phatedquit (Read error: Connection reset by peer)
17:52:19  <dominictarr>Raynos, do you use html-element?
17:52:43  <dominictarr>that is where hyperscript get's it's html strings from... that is very easy anyway.
17:52:44  <Raynos>Indirectly with hyperscript
17:52:47  * phatedjoined
17:52:59  <dominictarr>aha, okay.
17:53:08  <Raynos>I wrote my own stringify for jsonml
17:54:08  <Raynos>I also wrote https://github.com/Colingo/min-document/blob/master/README.md
17:54:48  <grncdr>Raynos: I guess my question was more about what would the proposed virtual-dom that *shouldn't* go in to hyperscript / html-element?
17:55:18  <grncdr>dominictarr: ^^
17:56:50  <grncdr>sorry, I meant to say what would it do?
17:57:36  <dominictarr>ah. now that is a good question!
17:57:39  <Raynos>Grncdr: global optimizations for updating the Dom
17:57:55  <dominictarr>Raynos, like what?
17:59:15  * brianloveswordsquit (Excess Flood)
17:59:56  <Raynos>The readme and http://swannodette.github.io/2013/12/17/the-future-of-javascript-mvcs/
18:00:04  * brianloveswordsjoined
18:00:04  <Raynos>Explain it pretty well
18:00:34  <Raynos>Instead of updating a dom elem directly when an observable changes
18:00:44  <Raynos>Compute a diff and queue it
18:01:03  <grncdr>Raynos: right, but why do you need a new virtual dom implementation?
18:01:14  <grncdr>like why not diff two html-element trees?
18:01:18  <Raynos>Then at 60 fps squash the queue and batch apply all diffs
18:01:49  <Raynos>Grncdr: I could do that. I could also diff two jsonml trees
18:02:42  <Raynos>I need a fresh virtual dom to play around with for performance and also I want react it give feedback and build on top of me
18:03:24  <grncdr>that seems… optimistic ;)
18:03:38  <grncdr>like, react isn't hurting for a new virtual DOM implementation
18:04:07  <Raynos>True. But I can break its implementation out of react
18:04:44  <grncdr>I thought that the difficulty of doing that was what got this whole thing going …
18:05:06  <grncdr>also re: dnolens stuff, that's really more about using immutable data structures than anything else
18:05:25  * AvianPhonequit (Ping timeout: 245 seconds)
18:05:30  <Raynos>Not true.
18:05:36  <grncdr>really?
18:05:53  <grncdr>I mean, that's the big perf improvement he's talking about over react
18:07:32  <Raynos>Yes. But he also talks about the react perf
18:08:02  * AvianPhonejoined
18:08:23  <rowbit>substack, pkrumins: seaport services down: web.status
18:11:58  * marcello3djoined
18:12:11  <dominictarr>Raynos, how do you batch dom ops?
18:12:57  <Raynos>So list operations in the same tick can be optimized
18:13:22  <Raynos>Like sort followed by filter can be flattened into less list operations
18:13:51  <dominictarr>right - so you mean just do less ops
18:13:54  <Raynos>I know react has a heuristic for what batching optimizations to make
18:14:05  <Raynos>Also re order ops to avoid reflows
18:14:17  <dominictarr>I made a thing like that for ansi https://github.com/dominictarr/quickansi
18:14:46  <dominictarr>it diffs two frames and calculates a minimal set of operations to update, so you get less flicker
18:15:14  <Raynos>That kind of idea
18:15:16  * calvinfoquit (Quit: Leaving.)
18:15:21  <dominictarr>mmckegg, was working on something like that too.
18:15:23  <rowbit>substack, pkrumins: seaport services down: web.status
18:15:52  <Raynos>In theory you can pass a bunch of options into batch to tweak the heuristics
18:16:19  <dominictarr>Raynos, I remember that famo.us used something interesting too, where it pooled unused elements, and moved them offscreen (to left) to get them out of the render.
18:16:30  <Raynos>Like you tweak database config for max performance for *your app*
18:17:03  * kevino80quit (Remote host closed the connection)
18:17:38  <dominictarr>Raynos, could you just use real dom elements, that arn't actually in the dom, but you have a reference to them?
18:18:00  <dominictarr>though arrays and stuff are nicer.
18:18:45  * AvianPhonequit (Ping timeout: 245 seconds)
18:18:48  <grncdr>dominictarr: that's still quite slow
18:19:49  * AvianPhonejoined
18:19:56  <grncdr>the thing with a virtual dom is that you aren't calling back into native browser code that has to handle a bunch of crap your virtual dom doesn't
18:21:10  <grncdr>hm, I wish html-element wasn't all global
18:21:29  <grncdr>so did Raynos apparently, but he got no response from the author...
18:21:50  <grncdr>is 1N50MN14 on IRC ever?
18:22:46  * dguttmanquit (Quit: dguttman)
18:23:55  <Raynos>Dominictarr: I want to avoid doing anything with the real dom other then "patch"
18:24:31  <Raynos>Grncdr: colingo/min-document
18:26:26  * kevino80joined
18:26:48  <grncdr>yeah, I see that
18:26:55  <grncdr>just poking around at it now
18:27:43  <grncdr>dominictarr: would you accept a PR to hyperscript that changed it's dependency to min-document?
18:27:50  <rowbit>Hourly usage stats: [developer: 1, free: 166]
18:28:42  <Raynos>Grncdr: min-document needs work
18:30:24  * AvianFlujoined
18:35:38  * thlorenzjoined
18:37:23  * calvinfojoined
18:44:14  * phatedquit (Remote host closed the connection)
18:45:59  * ralphtheninjajoined
18:47:34  * ednapiranhachanged nick to creatorbro
18:47:40  * creatorbrochanged nick to ednapiranha
19:00:27  * peutetrequit (Quit: peutetre)
19:01:36  * coderzachquit (Remote host closed the connection)
19:01:58  * coderzachjoined
19:09:55  * thlorenzquit (Remote host closed the connection)
19:10:17  * thlorenzjoined
19:21:42  * dguttmanjoined
19:24:43  * peutetrejoined
19:25:39  <mikolalysenko>is npmjs.org down?
19:26:38  <oky>mikolalysenko: forme, yes
19:27:50  <rowbit>Daily usage stats: [developer: 219, free: 3228]
19:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 136]
19:28:24  <ogd>groundwater: hey, i was gonna show you this on sunday https://github.com/maxogden/taco#taco
19:28:58  <ogd>groundwater: im gonna make it so it can install on the local computer also, right now it only installs on remote computers over ssh
19:29:27  <groundwater>ogd i like the 'install-xx-on-x' scripts
19:29:47  <ogd>groundwater: agreed but doesnt cover all workflows
19:29:59  <groundwater>no, but easy enough to string together
19:30:03  <ogd>groundwater: from a bash perspective there are probably lots of things i'm doing wrong
19:30:13  <groundwater>lol well
19:30:20  * tilgovijoined
19:30:31  <groundwater>there is no right way to do bash
19:30:33  * tilgovi_joined
19:30:51  <ogd>groundwater: haha
19:31:49  <ogd>groundwater: the only critical bug is in the way i'm encoding the git side band messages, certain output from `npm install` doesnt get encoded properly so the git client loses the last few messages
19:31:53  <ogd>groundwater: gonna try to fix that now
19:32:09  * tilgoviquit (Remote host closed the connection)
19:32:23  <groundwater>sweet!
19:32:38  <groundwater>i'm away this weekend, but we should sync up again next-next weekend or evening
19:32:54  * tilgovi_changed nick to tilgovi
19:37:17  * contrahaxjoined
19:39:10  * dominictarrquit (Ping timeout: 245 seconds)
19:39:18  <ogd>substack: can i write some tests for git-http-backend?
19:40:53  * ralphtheninjaquit (Quit: leaving)
19:42:11  * AvianPhonequit (Quit: Bye)
19:44:33  * ralphtheninjajoined
19:49:48  <ednapiranha>ogd: !
19:50:40  <ogd>ednapiranha: omghi2u
19:52:24  <ednapiranha>ogd: haiii
19:52:26  <ednapiranha>how's it going?!
19:52:51  <jjjohnny>brianloveswords: ping
19:52:53  <ogd>ednapiranha: had the sickness
19:53:13  <ednapiranha>man
19:53:16  <ednapiranha>everyone had the sickness
19:53:18  <ogd>ednapiranha: i think i still have a slight fever, hopefully these other coffee shop patrons dont notice me sweatin
19:53:28  <ednapiranha>ogd: dat node is just too hot
19:53:29  <ednapiranha>for ogd
19:53:46  <ogd>yea my body cant handle my own hotness
19:53:50  <ogd>hawtnezzzzz
19:53:56  <ednapiranha>lol
19:54:03  <ednapiranha>ogd: did you see my cat pic from today?
19:54:05  <ogd>no
19:54:35  <ogd>all i see are cantonese forever bitches photos
19:54:47  <ednapiranha>ogd: http://instagram.com/p/jJz_5hTETV/
19:54:48  <ednapiranha>lol
19:55:01  <ogd>whoa
19:55:07  <ogd>man that cat is cool
19:55:33  <ogd>hey why is your cat using chrome and not FF
19:55:39  <ogd>im gonna report you to brendan eich
19:56:40  <ednapiranha>oh
19:56:43  <jory>Such a good cat.
19:56:47  <ednapiranha>ogd: you're missing the higher part of the screen
19:56:50  <ednapiranha>where it is firefox beta
19:56:52  <ednapiranha>it's just too bright
19:57:19  <ogd>suuure
19:58:42  * tobiejoined
19:58:44  * funkytekjoined
19:59:25  <ogd>dangit npm
20:01:25  <ednapiranha>ogd: that means it's time for coffee
20:01:31  <ednapiranha>when you hit dangit mode
20:11:02  * fronxjoined
20:18:19  * coderzachquit (Remote host closed the connection)
20:20:06  * coderzachjoined
20:25:15  <Raynos>groundwater: ping
20:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 88]
20:28:52  * harrowquit (Ping timeout: 245 seconds)
20:29:15  <jjjohnny>Raynos: u still need bitcoin?
20:29:53  <Raynos>Nope bought from coin base
20:30:08  * thlorenzquit (Remote host closed the connection)
20:30:52  * thlorenzjoined
20:32:32  * tobiequit (Quit: tobie)
20:33:14  <brianloveswords>jjjohnny: pongggg
20:33:38  <brianloveswords>ednapiranha: how long are you hangin' in NYC?
20:33:43  * peutetrequit (Ping timeout: 272 seconds)
20:33:48  <ednapiranha>brianloveswords: til friday
20:33:54  <ednapiranha>just hanging out at ITP
20:34:09  <brianloveswords>ednapiranha: Bummerrrrr I'm playing a show on Saturday I was gonna guilt you into going.
20:34:12  <ednapiranha>brianloveswords: i only have the evenings available i think
20:34:24  <ednapiranha>brianloveswords: i'll see if i can sweet talk resig to join us
20:34:26  <ednapiranha>on the meatup
20:34:33  <brianloveswords>NICE you should.
20:34:37  <brianloveswords>If he's around I'm sure he will.
20:34:50  <ednapiranha>brianloveswords: i think jenn will figure out the details w/ you?
20:34:50  * peutetrejoined
20:34:51  <ednapiranha>i have her #
20:34:52  <ednapiranha>but yeah
20:34:57  <ednapiranha>or we can just all tweet it out
20:35:39  <jjjohnny>brianloveswords: wattsup
20:35:54  <jjjohnny>i sent a email to the badges writer job thing
20:36:12  <brianloveswords>Oh nice!
20:36:35  <jjjohnny>brianloveswords: and my facial hair is getting very long, if that helps with my application
20:37:06  <brianloveswords>jjjohnny: we require headshots with all of our applications, I hope you sent one in.
20:37:12  <brianloveswords>jjjohnny: where are you based these days?
20:37:16  <brianloveswords>If you have a base at all
20:37:35  <jjjohnny>brianloveswords: hackistan, oaklandd
20:37:47  <brianloveswords>Ahh rad rad
20:38:19  <jjjohnny>brianloveswords: i am srsly interested in it!
20:38:44  * tilgoviquit (Remote host closed the connection)
20:38:48  * coderzachquit (Remote host closed the connection)
20:39:05  * tilgovijoined
20:39:07  <jjjohnny>brianloveswords: headshots :) http://instagram.com/p/jFHkg8D5e8/ http://instagram.com/p/i5RPNOj5ey/
20:39:09  <brianloveswords>Can you send me the email you sent, [email protected], and I'll put in a good word to the powers that be.
20:39:28  <brianloveswords>NOT LONG ENOUGH, REJECTEDDDDDDDDDDDDDDDDDD
20:39:28  <LOUDBOT>ALSO THE REAL REASON IS THAT CALC 3 STARTS IN FIVE MINUTES AND I DON'T HAVE TIME TO FIX IT
20:39:54  <jjjohnny>*shamed*
20:43:51  <jjjohnny>brianloveswords: sent, will meditate on hair growth
20:49:02  <substack>LOUDBOT: whosaid
20:49:02  <LOUDBOT>IK in ##turtles on freenode
20:49:49  <jjjohnny>wow this vvvv port to js is impressive
20:50:20  <jjjohnny>tho I never did like those kind of interfaces
20:51:02  <jjjohnny>http://lab.vvvvjs.com/index.php
20:54:12  * harrowjoined
20:57:20  * phatedjoined
21:01:15  <jjjohnny>it is hot in oakland
21:03:19  <guybrush>did anyone play with xhr.responseType = 'arraybuffer' and ran into issues in chrome?
21:03:40  <guybrush>i get zero-length arraybuffer all the time
21:04:58  <ogd>guybrush: it will be 0 until the response finishes then it will be populated
21:05:39  <guybrush>AH you are my hero!
21:05:56  <ogd>:D
21:07:19  <kanzure>what is that streaming deploy library?
21:08:07  <guybrush>ogd: the response did finish when the load event fires aka xhr.onload() right?
21:08:19  <guybrush>https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Handling_binary_data
21:10:10  * ferossjoined
21:10:43  * collypopsquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:10:58  <guybrush>nahhh it just doesnt work somehow, im doing something wrong for sure
21:10:58  <ogd>guybrush: the arraybuffer should be there when readystate is 4
21:11:07  <ogd>guybrush: npm install binary-xhr
21:11:14  <kanzure>aha https://github.com/gulpjs/gulp
21:11:59  <substack>https://www.gittip.com/andyet/
21:12:07  <substack>ogd: tests would be great!
21:12:13  <ogd>substack: cool
21:15:23  <guybrush>ogd: thx a lot that works!
21:16:35  <ogd>substack: what do you think of https://github.com/substack/git-http-backend/issues/2 ? should git-http-backend get passed in req + res?
21:21:56  <substack>hmm that is tricky
21:22:18  <ogd>substack: if i didnt set that header I got a fatal "info/refs not valid" error
21:22:26  <substack>it didn't work for you at all?
21:22:56  <substack>which version of git?
21:23:04  <ogd>substack: `git version` --> git version 1.8.3.4 (Apple Git-47)
21:23:08  <substack>I'm on 1.7.9.5
21:23:26  <substack>on your version, did the simple example completely not work?
21:23:45  <ogd>correct, the git push failed with the above error
21:24:49  <substack>what about setting service.type and updating all the examples to res.setHeader('content-type', service.type)
21:26:13  <ogd>substack: yea that makes sense
21:27:50  <rowbit>Hourly usage stats: [developer: 0, free: 155]
21:29:14  * phatedquit (Remote host closed the connection)
21:31:09  <ogd>substack: you want me to PR the service.type thing?
21:32:10  <substack>sure
21:32:35  <substack>ogd: does res.setHeader('content-type', service.type) work without checking service.info?
21:32:43  * coderzachjoined
21:33:30  <substack>the service.type should also be 'application/x-' + service.cmd + '-advertisement'
21:33:34  <ogd>substack: i'll test
21:33:52  <substack>since there are git-{update,receive}-pack advertisements
21:35:22  <substack>ogd: git also seems to stripe some ansi codes and my guess is because security
21:35:27  <substack>from the side channel stream
21:44:46  <contrahax>kanzure whats aha supposed to mean
21:45:22  <kanzure>that i found it
21:45:28  <kanzure>i was trying to remember what i was thinking of
21:45:29  <contrahax>kanzure if you do deployments with gulp open a PR on the recipes folder with dat code
21:45:30  <kanzure>and then i did
21:45:35  <kanzure>what?
21:45:43  <kanzure>i have nothing to merge into their branch
21:45:46  <kanzure>i was just searching for a library
21:45:51  <kanzure>what is happening please help
21:46:14  <contrahax>kanzure im saying if you do deployment with gulp im interested in seeing the code - you said you wanted it as a deploy lib earlier
21:46:47  <kanzure>no i don't use it
21:46:54  <kanzure>i didn't even remembe rits name- i was asking for its name
21:46:58  <kanzure>*remembe rits
21:47:01  <kanzure>*remember its
21:49:16  * peutetrequit (Quit: peutetre)
21:51:48  * peutetrejoined
21:52:45  <brianloveswords>jjjohnny: hey, link to your github?
21:59:46  * kevino80quit (Remote host closed the connection)
22:04:51  * jxsonjoined
22:09:43  * coderzachquit (Remote host closed the connection)
22:11:01  * fronxquit (Remote host closed the connection)
22:12:01  <rowbit>/!\ ATTENTION: (default-local) [email protected] successfully signed up for developer browserling plan ($20). Cash money! /!\
22:12:01  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
22:14:04  <jez0990_>I just did `:set nonumber` and realised that it was a key impediment to concentrating and writing small things - anyone else found that?
22:22:29  * kevino80joined
22:25:51  * coderzachjoined
22:26:41  * phatedjoined
22:27:50  <rowbit>Hourly usage stats: [developer: 4, free: 136]
22:28:12  * jxsonquit (Remote host closed the connection)
22:34:28  * LOUDBOTquit (Remote host closed the connection)
22:34:32  <kumavis>given a bell curve and a standard deviation, i want to get percentages of likelyhood for various windows
22:34:52  <jjjohnny>brianloveswords: https://github.com/NHQ
22:34:53  <kumavis>preferably with some sweet d3 interactive graph or something
22:35:03  * LOUDBOTjoined
22:43:42  * kevino80quit (Remote host closed the connection)
22:46:58  * maksimlinjoined
22:47:53  <jesusabdullah>kumavis: the math is pretty easy, you can look it up
22:48:31  <jesusabdullah>kumavis: you might have to do some basic interpolation off a table but you should be g2g given avg and stddev and assuming gaussian distribution (you can also make this a parameter if need be)
22:48:32  <kumavis>excuse me i signed up for the instant gratification
22:48:40  <kumavis>: P
22:49:32  <kumavis>yeah I would do well to learn what node statistics modules are out there
22:49:35  * jxsonjoined
22:50:12  * peutetrequit (Quit: peutetre)
22:51:04  <kumavis>trying to gauge the likelihood of needing to cancel the tech conference I'm attending based on early arrival of my first progeny
22:51:23  <kumavis>heh, i should likely just cancel it
22:52:19  * ralphtheninjaquit (Ping timeout: 260 seconds)
22:52:39  <mikolalysenko>kumavis: you want to compute the integral of a gaussian curve over some interval?
22:52:54  <mikolalysenko>use the erf function: http://mathworld.wolfram.com/Erf.html
22:53:22  <mikolalysenko>though I'm not aware of a good js implementation of this as a standalone module
22:53:39  <mikolalysenko>kumavis: maybe try adapting this? http://picomath.org/javascript/erf.js.html
22:53:42  * tobiejoined
22:55:04  <mikolalysenko>also this module: https://npmjs.org/package/mathfn
22:55:14  <kumavis>mikolalysenko: cheers, ill take a look at those after work
22:58:32  * jcrugzzquit (Ping timeout: 246 seconds)
23:03:56  * thlorenzquit (Remote host closed the connection)
23:04:29  * thlorenzjoined
23:08:40  * thlorenz_joined
23:08:49  * thlorenzquit (Read error: Connection reset by peer)
23:13:59  * fronxjoined
23:18:59  * fronxquit (Ping timeout: 252 seconds)
23:23:10  <jjjohnny>mikolalysenko: ndarrays with 4 quadrants
23:23:30  <jjjohnny>cartesian 4 quad with the negatives you know
23:23:41  * hoobdeeblajoined
23:24:17  * thlorenz_quit (Remote host closed the connection)
23:27:51  <rowbit>Hourly usage stats: [developer: 35, free: 117]
23:28:12  * eugenewarejoined
23:28:12  * thealphanerdjoined
23:34:37  * eugenewarequit (Remote host closed the connection)
23:35:06  * eugenewarejoined
23:35:09  * collypopsjoined
23:40:11  * eugenewarequit (Ping timeout: 272 seconds)
23:48:01  * phatedquit (Remote host closed the connection)
23:49:26  * jxsonquit (Remote host closed the connection)
23:51:16  <mikolalysenko>jjjohnny: you could probably do it
23:51:37  <mikolalysenko>ndarrays don't actually do any bounds checking, though it would mess up the assumptions of cwise et al
23:52:38  <mikolalysenko>one thing I've been thinking about is maybe making an option for cwise to consume non-ndarray like objects
23:52:58  <mikolalysenko>so you could pass it native arrays and other multidimensional array data structures