00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:01:15  * indexzerojoined
00:02:57  <jesusabdullah>thlorenz: Yeah I'm working through lcthw I'm like 2 chapters behind that
00:04:40  <thlorenz>jesusabdullah: it's cool up to about ex22, after that it's less hands on and/or relies on some huge apache lib
00:05:03  <jesusabdullah>Yeah, I mean, I'm cool with using other libraries, that's a big part of learning something
00:05:19  <jesusabdullah>thlorenz: I suspect C is like 20% spec and 80% convention/idioms
00:05:50  <thlorenz>actually from reading libuv seems like it's about 80% macros
00:05:56  <thlorenz>:)
00:06:03  <jesusabdullah>that's included in the 20%
00:06:29  <thlorenz>btw was kinda sad that the virtual machine sections are empty in that book, was looking forward to that
00:11:37  <guybrush>nice! only 10h left until the opening event of 30c3 starts https://events.ccc.de/congress/2013/Fahrplan/schedule/0.html
00:13:11  <guybrush>streams are listed here https://events.ccc.de/congress/2013/wiki/Streams
00:13:17  * thlorenzquit (Remote host closed the connection)
00:15:55  <substack>streeeeeam
00:15:57  <substack>s
00:16:17  <substack>guybrush: noisebridge is having a viewing party, I'm considering heading over there
00:18:03  * calvinfojoined
00:18:05  <guybrush>sweet
00:22:13  * calvinfoquit (Ping timeout: 245 seconds)
00:23:59  * jibayquit (Remote host closed the connection)
00:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 24]
00:24:14  * st_lukejoined
00:26:29  * yorickquit (Remote host closed the connection)
00:35:29  * st_lukequit (Remote host closed the connection)
00:37:54  * st_lukejoined
00:39:51  * st_lukequit (Remote host closed the connection)
01:00:14  * ralphtheninjaquit (Ping timeout: 264 seconds)
01:11:33  * contraha_quit
01:12:02  * st_lukejoined
01:18:50  * calvinfojoined
01:23:23  * calvinfoquit (Ping timeout: 252 seconds)
01:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 30]
01:28:17  * indexzeroquit (Quit: indexzero)
01:32:39  * mikolalysenkoquit (Ping timeout: 260 seconds)
01:34:04  * thlorenzjoined
01:52:22  * dguttmanjoined
01:52:41  * dguttmanquit (Client Quit)
01:55:32  * contrahaxjoined
02:05:39  <defunctzombie>substack: when tape provides a stack, do you get sourcemap info with that?
02:05:57  <defunctzombie>or does the browser not provide that to make a stack client side?
02:06:08  <defunctzombie>so you are left with the kinda useless stacktrace if you do error.stack ?
02:07:56  * xkochanged nick to oky
02:10:37  <substack>defunctzombie: tape just parses the stacktrace, so if the stacktrace has sourcemap data you'll get the mapped values
02:10:52  <defunctzombie>does the stacktrace ever have sourcemap data?
02:11:00  <substack>testing, one sec
02:12:58  <substack>the stacktrace isn't showing source mapped data, annoyingly
02:13:01  <substack>investigating why
02:14:26  <substack>might just be a testling thing since the `testling` command puts the source maps directly into the <script> tag
02:15:02  <thlorenz>defunctzombie: stacktrace in the browser would
02:15:21  <thlorenz>if that browser supports source maps, but in things like phantomjs you are outa luck
02:16:03  <thlorenz>i.e. I'd think that if console.log shows the correct sm data and console.trace does, then the errors should too
02:18:10  <substack>defunctzombie: the stack trace results have the bundle.js urls only it seems
02:18:49  <defunctzombie>damn
02:19:28  <thlorenz>what if you do console.log(new Error().stack) ?
02:19:36  * calvinfojoined
02:19:55  <thlorenz>cuz if that doesn't even work then it's the browser's fault
02:22:19  * mikolalysenkojoined
02:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 28]
02:24:13  * calvinfoquit (Ping timeout: 272 seconds)
02:24:15  <substack>thlorenz: the offset data goes over on the right, not in the data itself
02:24:48  <thlorenz>substack: not sure what you mean, the offset is just added to the line numbers
02:24:56  <substack>we could make this work but it would involve some crazy hacks like using xhr to load the source and parsing the map ourself
02:26:47  * mikolalysenkoquit (Ping timeout: 260 seconds)
02:29:28  <thlorenz>substack: that shouldn't be necessary, if the browser doesn't print proper error stacks, that is a bug
02:29:50  <thlorenz>not sure how this relates, but this is still interesting:
02:29:51  <thlorenz>http://i.imgur.com/XORg7Wj.gif
02:30:30  <thlorenz>substack: I'll experiment real quick
02:32:46  <substack>thlorenz: what if you .toString() the err.stack?
02:32:46  <thlorenz>I'm sure Domenic_ will love this if only for the fact that they used 'with' :)
02:32:57  <thlorenz>hold on
02:33:20  <thlorenz>same result
02:36:17  <thlorenz>shoot you guys are right, chrome doesn't consider source maps in the error stack
02:36:30  <thlorenz>wonder if that is intended or a bug? ^ paul_irish
02:39:17  <thlorenz>substack: defunctzombie weird, using beefy I get proper stacks
02:39:27  <defunctzombie>really?
02:39:31  <thlorenz>yep
02:39:37  <defunctzombie>with multiple files?
02:40:20  <defunctzombie>so does it work in firefox?
02:40:57  <thlorenz>actually I get it now w/out beefy even
02:41:08  <thlorenz>I think the trick is to open dev tools and then refresh again
02:41:21  * calvinfojoined
02:41:28  <rowbit>substack, pkrumins: Encoders down: (dev-ie7-4)
02:41:35  <thlorenz>yep, confirmed
02:42:00  <thlorenz>open dev tools, stacks are not sourcemapped, refresh with devtools open, things improve :)
02:44:20  <defunctzombie>thlorenz: weird
02:45:03  <defunctzombie>that is kinda annoying tho
02:45:33  * calvinfoquit (Ping timeout: 245 seconds)
02:45:43  <thlorenz>defunctzombie: https://github.com/thlorenz/sourcemap-stacktrace
02:46:55  <defunctzombie>so is it a bug that there is no good stack info without dev tools open?
02:47:10  <thlorenz>I think source maps don't activate until then
02:47:24  <thlorenz>which makes sense in a way (parsing over head and/or requesting map files)
02:47:55  <thlorenz>so I think paul_irish showed me at some point how you could launch chrome in debug mode
02:48:20  <oky>you can use sourceURL
02:49:01  * okychanged nick to yko
02:50:38  <defunctzombie>how does sourceURL help?
02:51:21  <defunctzombie>thlorenz: what would be killer is making a stacktrace from a mangled error.stack string
02:51:26  <defunctzombie>using sourcemap data
02:51:28  <defunctzombie>all client side
02:51:35  <defunctzombie>then it doesn't matter if browser supports sourcemaps
02:56:27  <thlorenz>defunctzombie: yeah, you could probably do that, just unpack them and find the file/line that corresponds to the bundle
02:56:50  <thlorenz>btw I tried launching chrome with different flags, but none of them fix the problem
02:57:30  <defunctzombie>heh
02:57:40  <thlorenz>defunctzombie: actually with convert-source-map it shouldn't be too hard, but I doubt you can guess access to the source :(
02:57:48  <thlorenz>certain security restrictions apply
02:58:12  <thlorenz>so you'd need to set it up to where I can request the sourcemaps as a separate thing
02:58:20  <defunctzombie>what source?
02:58:25  <thlorenz>the bundle
02:58:54  <defunctzombie>with enchilada I serve map over different url
02:58:58  <defunctzombie>I strip it from the bundle
02:59:05  <thlorenz>cool then you don't have that problem
02:59:10  <defunctzombie>so I can have map for compressed output too
02:59:12  <defunctzombie>in production
02:59:41  <thlorenz>cool, so you request that map file and then hash the map backwards
02:59:52  <defunctzombie>fascinating
03:00:07  <thlorenz>keep it somewhere and when you parse error stacks you map it to the source
03:01:05  <thlorenz>what we actually should request is a flag to tell chrome to turn get all source map info right away (i.e. while running tests) to get meaningful stacktraces w/out refresh
03:01:16  <thlorenz>we just need to bug paul_irish about it enough ;)
03:01:50  <defunctzombie>well, the nice thing about client side
03:01:53  <defunctzombie>is it would work in IE
03:02:05  <defunctzombie>so even if browser doesn't support source maps
03:02:09  <defunctzombie>we can get good output
03:02:54  <thlorenz>yeah, that makes sense, but then you'd always have to set it up so I can request'em separately
03:03:03  <thlorenz>it's an extra setup step
03:03:13  <defunctzombie>yea, but in something like zuul
03:03:17  <thlorenz>I hate setup steps ;)
03:03:18  <defunctzombie>I can easily do that
03:03:23  <thlorenz>true
03:03:25  <defunctzombie>so for tests we get good info
03:03:45  <thlorenz>wow we could maybe even get source mapped stack traces in phantomjs
03:04:08  <defunctzombie>parseStack(stack, map)
03:04:19  <defunctzombie>that is the function to make basically
03:04:24  <thlorenz>defunctzombie: ok this is my top priority once I finish the thing I need to finish tomorrow
03:04:28  <defunctzombie>hahah nice!
03:04:54  <thlorenz>I mean we'll need this too for our zuul tests it'll make it so much easier to track issues :)
03:05:37  <defunctzombie>:)
03:05:43  <defunctzombie>cool
03:05:44  <thlorenz>so I'll create this module that you init with a sourcemap
03:05:56  <thlorenz>then you can give me locations and I'll return filename and location
03:06:00  <defunctzombie>yea, rauchg is using zuul for engine and socket.io
03:06:08  <defunctzombie>and this is just stuff that came up during debugging
03:06:23  <thlorenz>you already the stack trace parsing part right?
03:06:31  <thlorenz>*did*
03:06:37  <defunctzombie>which part?
03:06:52  <thlorenz>the part that reads out stack traces of errors?
03:07:00  <defunctzombie>there are a few libs
03:07:09  <defunctzombie>https://npmjs.org/package/stack-trace
03:07:10  * mikolalysenkojoined
03:07:11  <defunctzombie>I use that one
03:07:12  <thlorenz>so you can just give me the locations and replace them
03:07:16  <thlorenz>ok, cool
03:08:54  <thlorenz>defunctzombie: I'll prob call that module pam-ecruos
03:09:16  <defunctzombie>wut
03:10:06  <thlorenz>source-map backwards ;)
03:12:50  * pfrazequit (Ping timeout: 264 seconds)
03:13:33  <defunctzombie>hahaha
03:13:38  <defunctzombie>wow
03:13:49  <thlorenz>defunctzombie: actually no need to write it anymore: https://github.com/mozilla/source-map#consuming-a-source-map
03:14:01  <thlorenz>this is exactly what we need
03:14:16  <defunctzombie>wow
03:14:50  <defunctzombie>we just need to make it work in browsers
03:14:51  <thlorenz>this is what the browsers do (I think FF actually uses this)
03:14:59  <defunctzombie>nice
03:15:16  <thlorenz>it does already (I hope) really no reason it shouldn't
03:19:28  <defunctzombie>amazing
03:19:47  <defunctzombie>so the interesting thing will be getting the stacks
03:19:56  <defunctzombie>or errors
03:20:00  <defunctzombie>from the frameworks
03:20:02  <thlorenz>defunctzombie: that's your job :)
03:20:27  <defunctzombie>:)
03:20:35  <thlorenz>you just have to catch the err and look at err.stack no?
03:21:03  <thlorenz>I mean all the asserts throw somehow, unless it's like tap, but the there is an error event
03:22:15  <st_luke>i wrote a non software thing http://luke.xxx/post/71265607094/industrial-design-and-bespoke-software
03:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 17]
03:25:58  <defunctzombie>st_luke: I dunno how to read
03:26:07  <st_luke>its ok
03:26:08  <st_luke>i dunno how to write
03:26:13  <st_luke>its just 4 paragraphs of emojis
03:26:24  <defunctzombie>cool
03:28:31  <st_luke>http://i.imgur.com/KGKZqhw.png
03:28:41  <defunctzombie>wut
03:28:43  <defunctzombie>this is not your cat
03:28:49  <thlorenz>defunctzombie: committed now https://github.com/thlorenz/stack-mapper
03:29:04  <thlorenz>not at all a pun on the cat-mapper ;)
03:29:11  <defunctzombie>hahaha
03:29:13  <st_luke>defunctzombie: yeah i know, my cat is way too busy trying to figure out new ways to be annoying
03:29:26  <thlorenz>the only other thing I need is a stack.stringify
03:29:39  <st_luke>"what if I sit here and tap you on the nose every 10 to 15 seconds"
03:29:52  <thlorenz>since I need to reemit it with fixed locations
03:30:27  <defunctzombie>st_luke: when I cat sat for a friend
03:30:28  <defunctzombie>the cat would sit on my keyboard
03:30:32  <defunctzombie>makes using vim very hard
03:30:47  <st_luke>defunctzombie: sometimes I put two computers out so the cat will sit on the other keyboard
03:30:56  <defunctzombie>hahaha
03:32:46  <st_luke>defunctzombie: example https://pbs.twimg.com/media/Bbw1CZyIcAAbZmZ.jpg:large
03:33:00  <defunctzombie>awww
03:33:00  <jesusabdullah>Your cat looks angry
03:33:03  <defunctzombie>kitteh
03:33:30  <jesusabdullah>in comparison, Korben *never* looks angry
03:33:45  <defunctzombie>I wanna meet kitteh
03:33:58  <st_luke>angry cat http://i.imgur.com/hwnacmy.jpg
03:34:24  <st_luke>this cat trolls me about 18 hours a day
03:36:31  <defunctzombie>haha
03:36:58  <defunctzombie>so cute
03:37:14  <defunctzombie>I would get no work done
03:42:02  * calvinfojoined
03:42:27  <thlorenz>defunctzombie: have you seen this? https://github.com/LearnBoost/console-trace
03:42:33  <thlorenz>looks nice
03:42:58  <defunctzombie>cool
03:42:58  <rowbit>substack, pkrumins: These encoders are STILL down:
03:43:07  <thlorenz>could be used to do a better-assert thing without having to read the file since it uses stack traces
03:43:09  <defunctzombie>that is nice
03:44:54  * st_lukequit (Remote host closed the connection)
03:46:15  * calvinfoquit (Ping timeout: 245 seconds)
03:46:19  * st_lukejoined
03:50:59  * st_lukequit (Ping timeout: 272 seconds)
03:52:53  * mikolalysenkoquit (Ping timeout: 272 seconds)
04:06:58  * indexzerojoined
04:07:09  <substack>second profile blocked ever https://twitter.com/BlaineBublitz/status/416418397417517056
04:07:46  <jesusabdullah>substack: you just got told
04:08:50  <substack>yep
04:13:15  <thlorenz>"modules with substack as author, given lack of testing & consistency" === empty set ?
04:13:40  <thlorenz>shows he really skipped over your modules w/out ever reading them
04:14:21  <jesusabdullah>well it's like this
04:14:33  <jesusabdullah>if you have like 3 modules, you can keep all of them 100% tested, used, etc
04:14:33  * mikolalysenkojoined
04:14:34  <substack>thlorenz: no he keeps close tabs
04:14:37  <substack>he's just a hater
04:14:40  <substack>he also likes requirejs
04:14:52  <jesusabdullah>if you have 300 modules, some significant percentage of them aren't going to feel the love
04:14:55  <substack>so you can already tell that we're not going to get along
04:14:58  <thlorenz>I know, but how can he not see the tests if he keeps close tabs?
04:15:21  <jesusabdullah>some of them will be very well tested (dnode, browserify) and others less so
04:15:27  <jesusabdullah>it's just the way of the world
04:15:28  <thlorenz>I mean the travis/testling badge is right in your face
04:15:46  <substack>pretty sure I have upwards of 200 travis badges
04:16:25  <substack>their website becomame unusable at 50
04:17:04  <thlorenz>thing is that lodash is at least a step in the right direction and is useful for underscore peeps who are unable to type npm search
04:17:51  <thlorenz>the whole discoverability argument doesn't hold, since even though I can find lodash now easily, I still have to sift thru some pages to see if the function I need is there
04:17:53  <grncdr>I actually don't mind lodash but the last time I checked the "modularization" of it was still pretty monolithic
04:20:12  <jesusabdullah>aren't all the components broken down into separate modules?
04:20:32  <jesusabdullah>and the lodash module just requires all of them and attaches to exports?
04:20:46  <jesusabdullah>like, exports.map = require('lodash.map'); ?
04:21:44  <grncdr>a lot of them are still very interdependent
04:22:02  <grncdr>or were
04:22:17  <grncdr>I honestly haven't looked in a few months, and I didnt' look all that hard then
04:22:51  <substack>jesusabdullah: they are broken down by a script that publishes them all from a gigantic repo
04:22:59  <jesusabdullah>close enough
04:23:09  <substack>pretty different from a fully independent module
04:23:14  <jesusabdullah>I mean
04:23:20  <substack>for example I'm not sure where to go to read the code
04:23:23  <jesusabdullah>on npm it's pretty separated
04:23:38  <substack>in most modules I just click the github link and click the index.js or the lib/blah.js
04:23:42  <jesusabdullah>and I think you're smart enough to find the code if you really want to
04:23:53  <substack>but it's a hassle
04:23:58  <substack>and if another module *has* code
04:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 16]
04:24:04  <substack>on the readme and code that is easy to find
04:24:14  <substack>them I'm going to use the module that has easy to find code and examples
04:24:23  <substack>speaking of which
04:24:31  <jesusabdullah>¯\(°_o)/¯
04:24:34  <jesusabdullah>I use what I need
04:24:43  <substack>I need to do a round of pull request improving docs with good examples for the modules I like
04:24:50  <jesusabdullah>I've never had a need for underscore but if other people like it that's cool
04:24:58  <substack>jesusabdullah: but there are often multiple modules in any list of search results
04:24:58  <grncdr>jesusabdullah: I'm in the same boat
04:25:20  <substack>and these are heuristics that I use to decide among competing modules
04:25:33  <grncdr>also, (because I was curious) npm install lodash.map && npm ls | grep lodash | wc -l -> 64
04:25:35  <substack>and module authors should be aware of some of the ways that people decide among modules
04:25:48  <substack>ouch
04:26:32  * sveisvei_joined
04:26:58  <substack>I am so glad that we have enough modules that I can usually find a few that I like
04:27:00  <grncdr>echo 'require("lodash.map")' | node_modules/.bin/browserify |wc -c -> 50901
04:27:18  <grncdr>not that file size really means a whole lot
04:27:23  <grncdr>but that seems crazy to me
04:27:27  <substack>$ browserify index.js | wc -c
04:27:28  <substack>742
04:27:31  <substack>yeah that's pretty crazy
04:27:36  <substack>that index.js is array-map
04:27:42  * taterbase_joined
04:28:20  <grncdr>I don't know, I don't want to hate on it
04:29:17  * owenb____joined
04:29:18  <thlorenz>do any of you unix experts know why I can't open well known ports even with sudo?
04:29:18  <thlorenz>this https://github.com/thlorenz/libuv-dox/blob/master/examples/06-udp-dhcp/main.c#L145-L146
04:29:18  * johnkpaulquit (Ping timeout: 240 seconds)
04:29:19  * taterbasequit (Ping timeout: 240 seconds)
04:29:19  * chapelquit (Ping timeout: 240 seconds)
04:29:22  * sveisveiquit (Ping timeout: 240 seconds)
04:29:22  * techwraithquit (Ping timeout: 240 seconds)
04:29:22  * owenb___quit (Ping timeout: 240 seconds)
04:29:26  * rxgxquit (Ping timeout: 240 seconds)
04:29:27  * johnkpauljoined
04:29:29  * taterbase_changed nick to taterbase
04:29:36  * sveisvei_changed nick to sveisvei
04:29:48  * techwraithjoined
04:30:13  <grncdr>thlorenz: is something else using the port?
04:30:21  * owenb____changed nick to owenb___
04:30:21  <grncdr>(can't remember if thats a diff error)
04:30:37  * grncdris not a unix expert back to parsers...
04:30:40  <jesusabdullah>well like, lodash is x-platform and written for SPEED
04:30:46  <jesusabdullah>so that's going to effect its line count
04:30:55  <thlorenz>grncdr: thats a different error I'm pretty sure
04:30:57  * rxgxjoined
04:30:58  <jesusabdullah>I wouldn't look at map though, it's the dumbest thing if you already have es5
04:31:04  <substack>jesusabdullah: but array-map has a testling badge that goes back to ie6
04:31:13  <substack>and it has 100% coverage
04:31:24  <substack>you can have those things without a gigantic project
04:31:37  <jesusabdullah>yeah but is it TOTALLY FAST??
04:31:40  <substack>that's why I write tools like covert/coverify :p
04:31:41  <jesusabdullah>jdalton's a perf nut
04:32:00  <thlorenz>substack: I think you just didn't have a test case for the IE bug, but that doesn't mean that you shouldn't write small modules ;)
04:32:36  <substack>so actually, I only wrote array-map and array-reduce in the first place BECAUSE of code coverage in other projects
04:32:48  <substack>with shims in place I had to test the shims to get to 100%
04:33:07  <substack>so I factored the shims out into their own project since a cursory search of npm only turned up juliangruber's array-filter module
04:33:19  <thlorenz>actually the takeaway should be that the problem was quickly spotted cuz the module is so small
04:33:29  <substack>and the lodash modules didn't care enough to have good readmes so I just ignored those because it seemed like a lot of work to use them
04:33:55  <thlorenz>it's also very easy now to add the test to repro it and you also know right away where to apply the fix
04:34:00  <substack>yep!
04:34:12  <substack>I'm going to look at that MDN shim somebody linked me for their polyfill
04:34:13  <substack>ALSO
04:34:19  <substack>we need a script to scrape npm for code snippets
04:34:27  <substack>sorry, *MDN
04:34:33  <substack>every single snippet on MDN belongs on NPM
04:34:47  <thlorenz>with larger modules it may have gone unnoticed and/or would be harder to figure out where to apply fixes
04:42:49  * calvinfojoined
04:44:38  * mikolalysenkoquit (Ping timeout: 240 seconds)
04:45:05  * mikolalysenkojoined
04:47:05  * calvinfoquit (Ping timeout: 246 seconds)
04:50:36  <defunctzombie>substack: MDN has a lot of good polyfills
04:59:23  * jcrugzzquit (Ping timeout: 260 seconds)
05:04:19  * calvinfojoined
05:05:14  * calvinfoquit (Read error: Connection reset by peer)
05:05:36  * calvinfojoined
05:20:45  * indexzeroquit (Quit: indexzero)
05:23:28  <substack>Raynos: what if faucet showed which file the assertions were happening in?
05:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 18]
05:24:13  <Raynos>Substack: that would be cool. Not sure how though
05:24:27  <substack>not sure either, it will require poking around
05:24:34  <substack>I agree that filename info would be useful
05:24:58  <Raynos>You could add # file: file name
05:25:01  <substack>we can't get it for the case where you just pipe TAP into faucet, but we can for the cases where you tell it what files to run
05:25:08  <substack>that could work
05:25:11  <Raynos>To tape render output
05:25:18  * jcrugzzjoined
05:26:12  * dominictarrjoined
05:26:15  <Raynos>Or have faucet figure it out
05:30:37  <Raynos>Cool
05:34:11  * jcrugzzquit (Ping timeout: 252 seconds)
05:46:15  <thlorenz>substack: location + filename of asserts would be awesome, ala https://github.com/LearnBoost/console-trace
05:49:54  <grncdr>question, is there some sort of mad science way to call a function in my current scope?
05:50:13  <grncdr>I'm thinking eval(fn.toString()) might work...
05:50:15  * thlorenzquit (Remote host closed the connection)
05:55:47  * calvinfoquit (Quit: Leaving.)
05:58:28  * mikolalysenkoquit (Ping timeout: 245 seconds)
05:59:37  * kenperkins_quit (Read error: Connection reset by peer)
05:59:42  * Maciek416quit (Read error: Connection reset by peer)
06:00:08  * Maciek416joined
06:00:35  * kenperkinsjoined
06:01:13  * mikolalysenkojoined
06:03:02  * wolfeidauquit (Read error: Connection reset by peer)
06:03:35  * wolfeidaujoined
06:04:53  * trodriguesquit (Remote host closed the connection)
06:05:01  * trodriguesjoined
06:05:11  * Nexxyquit (Remote host closed the connection)
06:05:21  * Nexxyjoined
06:13:53  * Maciek416quit (Remote host closed the connection)
06:14:53  * mikolalysenkoquit (Ping timeout: 252 seconds)
06:15:59  <substack>grncdr: I think eval() only operates on the global scope, testing
06:16:17  <substack>oh wow, seems not!
06:16:23  <substack>> (function (x) { return eval('x') })(5)
06:16:23  <substack>5
06:18:21  <substack>but yeah, hacks
06:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 14]
06:24:54  * calvinfojoined
06:29:34  <grncdr>heh, yeah I decided to not do that
06:33:20  * anvakajoined
06:39:00  <grncdr>substack: want to run a shell-parser idea past you
06:39:32  <grncdr>I'm writing a grammar with pegjs (because they're pretty readable) and generating an AST
06:39:52  <substack>cool!
06:39:54  <grncdr>then I want to write the interpreter as a recursive thing that reduces the AST down into strings
06:40:36  <grncdr>like, you might have a node that says {type: 'backticks', …} and so the interpreter knows that it needs to resolve that into a string before it can move on
06:41:16  <grncdr>does that make sense?
06:41:24  * mikolalysenkojoined
06:41:45  <grncdr>I'm mostly thinking about how you never know where something might be async
06:42:00  <grncdr>so writing the interpreter as a reduction of the AST makes sense to me
06:46:47  * mikolalysenkoquit (Ping timeout: 272 seconds)
06:52:07  * Maciek416joined
06:53:00  <dominictarr>chrisdickinson, yo
06:54:26  * Maciek416quit (Remote host closed the connection)
06:57:22  * calvinfoquit (Quit: Leaving.)
07:04:10  * indexzerojoined
07:05:16  * Maciek416joined
07:22:20  <rowbit>substack, pkrumins: testling server winIE9 + chrome + firefox + opera + safari + all nightly (rackspace) is down!
07:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 32]
07:24:20  * defunctzombiechanged nick to defunctzombie_zz
07:33:25  * shamaquit
07:36:40  * wolfeida_joined
07:37:31  * jaz303_joined
07:42:12  * mikolalysenkojoined
07:42:42  * wolfeidauquit (*.net *.split)
07:42:42  * rxgxquit (*.net *.split)
07:42:42  * owenb___quit (*.net *.split)
07:42:42  * taterbasequit (*.net *.split)
07:42:42  * Raynosquit (*.net *.split)
07:42:42  * jaz303quit (*.net *.split)
07:42:42  * dubroy__quit (*.net *.split)
07:42:43  * nlacassequit (*.net *.split)
07:43:32  * Maciek416quit (Remote host closed the connection)
07:47:05  * mikolalysenkoquit (Ping timeout: 245 seconds)
07:47:34  * AvianFluquit (Remote host closed the connection)
07:51:33  * wolfeida_changed nick to wolfeidau
08:05:38  * rxgxjoined
08:05:38  * owenb___joined
08:05:38  * taterbasejoined
08:05:38  * Raynosjoined
08:05:38  * dubroy__joined
08:05:38  * nlacassejoined
08:19:39  * pfrazejoined
08:19:41  * peutetrejoined
08:23:21  * calvinfojoined
08:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 22]
08:35:59  <rowbit>substack, pkrumins: These encoders are STILL down:
08:42:55  * mikolalysenkojoined
08:47:47  * mikolalysenkoquit (Ping timeout: 252 seconds)
08:48:45  * dominictarrquit (Ping timeout: 245 seconds)
08:50:47  * calvinfoquit (Quit: Leaving.)
08:51:50  * AvianFlujoined
08:55:09  * jcrugzzjoined
08:56:35  * AvianFluquit (Ping timeout: 252 seconds)
08:58:39  * dominictarrjoined
09:00:08  * jcrugzzquit (Ping timeout: 246 seconds)
09:12:19  * dominictarrquit (Ping timeout: 260 seconds)
09:13:51  * dominictarrjoined
09:17:51  * peutetrequit (Ping timeout: 240 seconds)
09:19:45  * peutetrejoined
09:21:28  * calvinfojoined
09:23:08  * calvinfo1joined
09:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 29]
09:25:51  * calvinfoquit (Ping timeout: 240 seconds)
09:26:40  * pfrazequit (Ping timeout: 245 seconds)
09:27:30  * calvinfo1quit (Ping timeout: 245 seconds)
09:27:56  * rvagg2quit (Quit: Connection closed for inactivity)
09:42:50  * dominictarrquit (Ping timeout: 246 seconds)
09:42:59  <rowbit>substack, pkrumins: These encoders are STILL down:
09:43:40  * mikolalysenkojoined
09:48:28  * mikolalysenkoquit (Ping timeout: 245 seconds)
10:00:22  * calvinfojoined
10:04:35  * calvinfoquit (Ping timeout: 245 seconds)
10:10:00  * ralphtheninjajoined
10:11:41  * tilgovijoined
10:15:52  * jlordquit (Ping timeout: 240 seconds)
10:15:58  * jlord_joined
10:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 23]
10:44:26  * mikolalysenkojoined
10:48:34  * contraha_joined
10:49:10  * mikolalysenkoquit (Ping timeout: 246 seconds)
10:49:23  * contrahaxquit (Ping timeout: 260 seconds)
10:56:35  * tilgoviquit (Ping timeout: 272 seconds)
11:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 22]
11:45:44  * mikolalysenkojoined
11:50:52  * leorossijoined
11:51:49  * mikolalysenkoquit (Ping timeout: 246 seconds)
12:09:39  * peutetrequit (Quit: peutetre)
12:21:27  * peutetrejoined
12:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 19]
12:28:29  * kevino80joined
13:07:58  * leorossiquit (Quit: Leaving)
13:08:18  * leorossijoined
13:09:01  * indexzeroquit (Quit: indexzero)
13:24:05  <rowbit>Hourly usage stats: [developer: 0, free: 27]
13:45:39  * kevino80quit (Remote host closed the connection)
13:46:40  * kevino80joined
14:05:10  * ralphtheninjaquit (Ping timeout: 246 seconds)
14:10:13  * yorickjoined
14:24:04  <rowbit>Hourly usage stats: [developer: 1, free: 38]
14:36:00  <rowbit>substack, pkrumins: These encoders are STILL down:
14:36:34  * AvianFlujoined
14:52:13  * thlorenzjoined
15:04:35  <hij1nx>[A
15:04:46  <hij1nx>oops :)
15:04:48  * fronxjoined
15:15:51  * contraha_quit (Ping timeout: 240 seconds)
15:16:17  <kenperkins>pkrumins have you guys started using the new performance flavors at rackspace yet?
15:19:15  * contrahaxjoined
15:24:04  <rowbit>Hourly usage stats: [developer: 2, free: 49]
15:27:22  * jcrugzzjoined
15:31:29  * kevino80quit (Remote host closed the connection)
15:35:40  * defunctzombie_zzchanged nick to defunctzombie
15:43:00  <rowbit>substack, pkrumins: These encoders are STILL down:
15:47:46  * mikolalysenkojoined
15:49:49  * kevino80joined
15:50:21  * Maciek416joined
16:01:49  * pfrazejoined
16:04:23  * fronxquit (Remote host closed the connection)
16:13:04  * dominictarrjoined
16:16:59  <pkrumins>kenperkins: wow, i didn't know about that!
16:17:10  <pkrumins>kenperkins: putting testling on those new servers right now
16:17:21  <kenperkins>pkrumins my fault
16:17:30  <kenperkins>I need to better stay in touch with you guys
16:17:37  <kenperkins>they are faster, and cheaper
16:17:43  <kenperkins>and all 100% ssd backed local disk
16:17:59  <kenperkins>and with a new data volume (that's truly ephemeral, not included when you image a machine)
16:18:28  <pkrumins>i just read http://developer.rackspace.com/blog/welcome-to-performance-cloud-servers-have-some-benchmarks.html
16:18:31  <kenperkins>dddyea
16:18:33  <kenperkins>err yea
16:18:46  <pkrumins>testling has been so slow because of slow io and its always out of ram
16:18:46  <kenperkins>I wrote this one also: tt0097757
16:18:48  <kenperkins>err
16:18:56  <kenperkins>http://developer.rackspace.com/blog/redis-benchmark-and-rackspace-performance-vms.html
16:19:03  <kenperkins>that's a little easier to digest
16:19:13  <kenperkins>although purely cpu
16:19:16  <kenperkins>(or mostly)
16:20:12  <pkrumins>amazing!
16:20:18  <kenperkins>no?
16:20:25  <kenperkins>rather, i know
16:22:12  <pkrumins>hmm, i only see 1st gen and 2nd gen servers in cloud panel, when i click create server
16:22:21  <pkrumins>i wonder where the performance servers are located and how to create one
16:22:24  <kenperkins>hm
16:22:26  <kenperkins>logging in 1 sec
16:22:31  <pkrumins>thanks
16:23:21  <kenperkins>does yours not look like this?
16:23:22  <kenperkins>http://i.imgur.com/eqmXGt4.png
16:23:42  <pkrumins>oh flavor below
16:23:50  <pkrumins>didnt see that flavor section
16:23:57  <pkrumins>checking if i have it
16:23:57  <kenperkins>so bad ux? :D
16:23:58  <kenperkins>lol
16:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 33]
16:24:06  <pkrumins>yep bad ux :)
16:24:15  <kenperkins>ok, I'll communicate that up the chain
16:25:24  <pkrumins>kenperkins: so i clicked 'region', and it only showed '1st gen' and '2nd gen', so i thought i didn't have performance servers available
16:25:36  <pkrumins>now that you told me, i know where to find them, but otherwise i'd have to go to live chat
16:27:12  <kenperkins>got it
16:27:16  <kenperkins>we'll make it better
16:27:21  <kenperkins>performance is more important
16:27:58  <pkrumins>yeah, it's like, why would you even get regular servers now
16:28:58  <kenperkins>we're phasing them out
16:29:03  <kenperkins>they won't be around long
16:29:09  <kenperkins>do you guys do any auto provisioning?
16:29:12  <kenperkins>or is it all by hand
16:29:35  <pkrumins>we just run a number of servers
16:29:48  <pkrumins>we can't do auto provisioning because it took like 15 mins to build a new server
16:29:55  <pkrumins>customers can't wait 15 mins to get a browser
16:30:02  <pkrumins>so we just run like 25 cloud instances all the time
16:30:10  <kenperkins>ah
16:30:16  <kenperkins>you should benchmark the new server creation
16:30:21  <kenperkins>much more like ~2 minutes
16:30:33  <kenperkins>also, you could provision the next customer whenever a customer signs up
16:30:38  <kenperkins>i.e. keeping 1 or 2 in cache
16:30:45  <pkrumins>yeah with 2 mins this is doable
16:31:07  <pkrumins>we could instantly cut our costs by like 50% if we can do this
16:31:24  <kenperkins>are you using pkgcloud to provision?
16:31:49  <pkrumins>oh but you guys don't have win 2003 servers in perormance class do you?
16:31:58  <pkrumins>i need win 2003 for ie6,7,(8)
16:32:01  <kenperkins>image should be unrelated to flavor
16:32:14  <pkrumins>i know win2003 is no longer available even for 1st gen/2nd gen
16:32:26  <kenperkins>interesting! I didn't even know
16:32:27  <pkrumins>not in the menu anymore. all i've is images of existing servers
16:32:34  <kenperkins>does that totally hose you?
16:32:45  <pkrumins>yeah, we totally need win2003 for ie6,7,8
16:32:50  <kenperkins>f
16:32:58  <pkrumins>i've an idea
16:33:04  <pkrumins>so what if i have 2nd gen image of win 2003
16:33:10  <pkrumins>i can boot it up as perf, can't i?
16:33:14  <kenperkins>try
16:33:18  <pkrumins>ok, i'll try
16:33:22  <pkrumins>i've to convert them to 2nd gen first
16:33:30  <kenperkins>well
16:33:36  <kenperkins>don't do anything that will screw up your image
16:33:47  <pkrumins>i'll just do a copy of the image
16:33:51  <kenperkins>ok
16:33:56  <pkrumins>boot up a new server from 1st gen
16:34:08  <pkrumins>then create a new 2nd gen image from this running 1st gen server
16:34:10  <kenperkins>can you dm me your customer ID
16:34:15  <kenperkins>I'll start an internal thread about 2k3
16:34:22  <pkrumins>sure
16:35:19  <pkrumins>if this 1st gen to 2nd gen to perf trick works then it's cool
16:37:27  * ralphtheninjajoined
16:40:01  <rowbit>substack, pkrumins: A developer is waiting in the queue for android-browser/4.2
16:44:39  * mikolalysenkoquit (Ping timeout: 240 seconds)
16:45:51  * mikolalysenkojoined
16:52:15  * anvakaquit (Read error: Connection reset by peer)
17:04:31  * ollijoined
17:07:12  * ollichanged nick to gildean_
17:07:15  <grncdr>hm, I wish there was a tiny flavor for the perf servers
17:08:47  <kenperkins>512 mb you mean?
17:09:31  * gildeanpart
17:15:20  * leorossiquit (Quit: Leaving)
17:18:38  * gildean_changed nick to gildean
17:24:04  <rowbit>Hourly usage stats: [developer: 3, free: 33]
17:25:20  * dominictarrquit (Ping timeout: 252 seconds)
17:26:25  * dominictarrjoined
17:43:19  <grncdr>kenperkins: yeah
17:43:43  <grncdr>I have an old 1st gen 512 server that I use for various things
17:43:59  <grncdr>it's a low enough cost that I never think about it
17:44:56  <dominictarr>substack, looks like this module might have pure js rsa encryption: https://npmjs.org/package/cryptico
17:45:00  <grncdr>my needs are already well met though
17:47:10  <dominictarr>https://github.com/dominictarr/sha.js
17:49:27  <jcrugzz>dominictarr: sweet, it faster than dealing with openSSL?
17:53:40  * shamajoined
18:00:42  <defunctzombie>dominictarr: have you looked at crypt.js
18:01:12  <defunctzombie>dominictarr: sorry, crypto-js
18:01:14  <defunctzombie>dominictarr: https://code.google.com/p/crypto-js/
18:06:23  <dominictarr>defunctzombie, yeah that is on my reading list.
18:06:57  <dominictarr>the problem with most js crypto i've seen so far is that is doesn't stream or doesn't do binary well
18:07:16  <dominictarr>jcrugzz, very unlikely, as it's implemented in pure js
18:07:57  <dominictarr>(and the sha hashes in openssl are implemented in assembly)
18:08:22  <dominictarr>(and if that sounds like a maintanence nightmare, just wait till you see how many platforms they target!)
18:08:34  <jcrugzz>dominictarr: lolwut
18:08:36  <jcrugzz>fucking assembly
18:08:54  <jcrugzz>dominictarr: so browsers are the main target then
18:08:57  <dominictarr>sha.js is pure js, but it hashes incrementally, (constant memory use) and uses typedarrays
18:09:30  <dominictarr>yes, browsers, but with the same api as require('crypto').createHash
18:10:32  <dominictarr>jcrugzz, at the end of the day, security and performance are interdependent
18:11:06  <jcrugzz>dominictarr: makes sense, keeps it consistent. and agreed
18:11:17  <ralphtheninja>dominictarr: the crypto-js defunctzombie mentioned is used on bitaddress.org if you need any usage of it
18:11:36  <jcrugzz>everyone wants performance, but if we sacrifice security...
18:11:41  <ralphtheninja>dominictarr: for generating paper wallets and other bitcoin key related tools
18:12:07  * kevino80quit (Remote host closed the connection)
18:13:21  <defunctzombie>security and correctness are primary to anything else when making a crypto lib
18:13:27  <defunctzombie>only then should you talk about perf
18:14:21  * kevino80joined
18:18:54  <dominictarr>jcrugzz, you need performance for security. with performant crypto you can use longer keys, etc, etc
18:20:26  <dominictarr>defunctzombie, there are no soft failures with crypto, it either works or is completely broken.
18:20:45  <dominictarr>except with random number generators
18:20:50  <defunctzombie>haha
18:20:56  <dominictarr>because it's hard to test how random it is...
18:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 10]
18:29:11  * Maciek416quit (Remote host closed the connection)
18:37:27  <jcrugzz>dominictarr: ah yes that is true. people just sacrifice in not using crypto
18:42:02  * peutetrequit (Quit: peutetre)
18:48:15  <defunctzombie>dominictarr: 5
18:48:37  <defunctzombie>that's a random number I generated for today
18:49:24  <pkrumins>grncdr: no need for 512mb perf anymore
18:49:38  <pkrumins>grncdr: 1gb perf has the same price as old 512mb
18:49:44  <grncdr>pkrumins: orly?
18:50:17  <grncdr>I think I'm on *really old* 512 pricing
18:50:31  <pkrumins>yeah, 4 cents per hr
18:50:35  <pkrumins>== $28.8/mo
18:51:44  <grncdr>oh wait
18:51:51  <grncdr>I see, I'm on 256MB :P
18:51:51  <pkrumins>for 1 gb
18:52:06  <grncdr>for $13/month
18:52:11  <pkrumins>ah
18:52:17  <grncdr>I really don't need the perf though
18:52:25  <grncdr>just want new shiny things sometimes ;)
18:54:40  <defunctzombie>what you guys me tolken about?
18:55:48  <pkrumins>new rackspace servers
18:59:08  * thlorenzquit (Remote host closed the connection)
18:59:12  <defunctzombie>ew
19:01:26  * dominictarrquit (Ping timeout: 240 seconds)
19:05:34  <chrisdickinson>dominictarr: way belatedly, hey!
19:05:37  <chrisdickinson>... aw
19:16:20  <pkrumins>i like servers
19:18:05  * ykochanged nick to oky
19:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 32]
19:25:31  * pfrazequit (Ping timeout: 260 seconds)
19:27:34  * pfrazejoined
19:34:02  * mikolalysenkoquit (Ping timeout: 252 seconds)
19:39:12  * st_lukejoined
19:45:42  * mikolalysenkojoined
19:50:21  * mikolalysenkoquit (Ping timeout: 252 seconds)
19:50:55  * thlorenzjoined
20:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 28]
20:36:01  <rowbit>substack, pkrumins: These encoders are STILL down:
20:43:35  <kenperkins>pkrumins what's the word
20:43:58  <kenperkins>grncdr: the new 1gb is about the same cost as the old 512 i think
20:44:02  <kenperkins>~$30 a month
20:44:16  <kenperkins>oh, you're on $13 a month?
20:44:28  <kenperkins>lol I just read up
20:44:30  <kenperkins>you already had this conv
20:51:33  <defunctzombie>isaacs: for people that want to clone the whole registry just do what apt repos did a long time ago, provide a mirror tool
20:54:01  <rowbit>substack, pkrumins: Encoders down: (dev-ie7-3)
21:01:02  * indexzerojoined
21:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 22]
21:24:26  * indexzeroquit (Quit: indexzero)
21:24:39  <thlorenz>defunctzombie: so stack-mapper is in the works
21:24:48  <thlorenz>couln't do it w/out replpad: https://pbs.twimg.com/media/BchZBs8IQAEj3ZJ.png
21:25:26  <substack>I'm going to overhaul browser-launcher today
21:25:33  <substack>it should have a command so you can configure local browsers
21:25:44  <substack>and I'll also make it so we can plug it into testling
21:26:06  <substack>but the baked-in testling support will live in the testling command
21:26:18  <substack>want to still keep browser-launcher general purpose
21:27:11  <thlorenz>substack: you'll probably find lots of useful things here: https://github.com/airportyh/testem/blob/master/lib/browser_launcher.js
21:27:42  <substack>good stuff, thanks
21:28:18  <thlorenz>np airportyh told me he did a bunch of research to figure out how to launch al these on different OSs
21:40:04  <pkrumins>useful here too https://github.com/admc/jellyfish/blob/master/lib/browsers.js
21:40:13  * kevino80quit (Remote host closed the connection)
21:40:40  <pkrumins>i need to add some of those to our win32 launcher too
21:40:50  <pkrumins>gonna do that as i'm moving everything to perf servers
21:42:16  <pkrumins>any ideas why i'm getting this error when I do `npm install` on some servers: npm ERR! Error: SSL Error: CERT_UNTRUSTED
21:43:02  <rowbit>substack, pkrumins: These encoders are STILL down:
21:46:19  * indexzerojoined
21:46:33  <jcrugzz>pkrumins: http://blog.npmjs.org/post/71267056460/fastly-manta-loggly-and-couchdb-attachments
21:46:37  <jcrugzz>needs updated npm
21:46:43  <jcrugzz>+ node version
21:48:13  <pkrumins>thanks
21:51:35  * indexzeroquit (Quit: indexzero)
21:52:36  * ryan_stevensjoined
21:56:48  * mikolalysenkojoined
22:03:04  * st_lukequit (Remote host closed the connection)
22:09:28  <defunctzombie>thlorenz: nice
22:24:01  <thlorenz>defunctzombie: how about instead of having to pass me errors we'll put another module into the middle into which you just pipe the test runner output
22:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 22]
22:24:20  <defunctzombie>what is the test runner output?
22:24:32  <thlorenz>that module will parse out the error stacks from the output, adjust them and write it back out
22:24:39  <defunctzombie>meh
22:24:43  <defunctzombie>seems like overkill
22:24:44  <thlorenz>i.e. the stuff phantomjs spits out
22:24:47  <defunctzombie>you have a sourcemap and err
22:24:58  <thlorenz>well that's what my module will do
22:25:03  <defunctzombie>I don't want to rely on someone's output
22:25:09  <thlorenz>but another one could pull out the stacks
22:25:28  <thlorenz>ok, so zuul will take care of intercepting all the errors before they get written?
22:25:32  <defunctzombie>yea
22:25:37  <defunctzombie>and in the case of phantomjs
22:25:45  <defunctzombie>I think we can add special support to zuul
22:25:51  <thlorenz>I'll include the source of the line where the error occurred as well
22:25:54  <defunctzombie>so you don't need zuul-mp or mocha-phantom
22:26:02  <defunctzombie>which don't support tap anyway
22:26:03  <thlorenz>that way you can print that right under the error trace
22:26:09  <defunctzombie>k
22:26:39  <thlorenz>and this stuff has to output in the browser as well right?
22:27:01  <thlorenz>otherwise I could also highlight the output code and point right at the error on the line below ala clang
22:28:09  <thlorenz>defunctzombie: btw all mapped column numbers are 0 :(
22:28:35  <thlorenz>it's cuz that's how I generate the sourcemaps to save some space (instead of every column I just mapped the lines)
22:28:51  <thlorenz>so this is how they get added to the bundle
22:34:20  <defunctzombie>column numbers?
22:34:28  <thlorenz>they get mapped too
22:34:32  <defunctzombie>I wouldn't worry about any pretty output or anything now
22:34:34  <thlorenz>but I found a workaround
22:34:37  <thlorenz>ok
22:34:41  <defunctzombie>just need something to go from stupid stack to normal stack
22:34:45  <defunctzombie>that is all
22:34:47  <thlorenz>I'll just use the original columns
22:34:49  <defunctzombie>everything else is for someone else
22:35:16  <thlorenz>yes Sir, that'll be OOOONe Million Dollars
22:35:56  <defunctzombie>haha
22:36:29  <thlorenz>fortunately browser-pack doesn't indent stuff, so the columns don't change (unless you minified, but oh well)
22:37:23  * fronxjoined
22:39:47  <defunctzombie>heh
22:40:32  * mikolalysenkoquit (Ping timeout: 246 seconds)
22:41:49  <Raynos>I'm working on a browser event delegation thing ( https://github.com/Raynos/dom-delegator ). Does anyone know of something similar ?
22:42:10  <Raynos>before I NIH all the things.
22:49:37  <defunctzombie>Raynos: what does it do?
22:50:58  <defunctzombie>honestly doesn't seem like something I would use.. I let me view/binding layer do all the event delegation
22:51:12  <Raynos>defunctzombie: its a standalone way of doing event handling
22:51:23  <Raynos>defunctzombie: the idea is that you have two uni directional systems for reactive views
22:51:30  <Raynos>the rendering side JUST does rendering, zero event shit.
22:51:41  <defunctzombie>meh
22:51:47  <defunctzombie>the stuff I use is not text rendering
22:51:51  <defunctzombie>it works closely with the dom
22:51:56  <defunctzombie>and also has event shit
22:52:14  <defunctzombie>cause just rendering text for a web app is kinda simple
22:52:24  <defunctzombie>events are what you care about and changes to fields
22:52:44  <Raynos>but theres no reason why they cant be two things
22:52:47  <Raynos>like you can use knockout
22:52:49  <Raynos>or ractive
22:52:51  <Raynos>or react
22:52:53  <Raynos>purely for rendering
22:53:11  <defunctzombie>end up writing wya more code for no reason imo
22:53:17  <defunctzombie>if I can just specify on-click
22:53:20  <defunctzombie>in my template
22:53:22  <Raynos>or https://github.com/component/reactive
22:53:24  <defunctzombie>and it binds to what I need
22:53:27  <defunctzombie>yes
22:53:29  <defunctzombie>I use that one
22:53:44  <Raynos>defunctzombie: https://github.com/Raynos/dom-delegator#example-data--attributes
22:54:04  <Raynos>so I didnt realize reactive had on-event
22:54:45  <defunctzombie>that example is kinda hard to follow... but I think I get it
22:54:53  <Raynos>defunctzombie: the idea of doing one thing well leans nicely with a seperate module for events and a seperate module for rendering
22:55:08  <defunctzombie>sure.. if I want separate modules for that
22:55:14  <defunctzombie>maybe reactive could use your module
22:55:27  <defunctzombie>but in the end I like having the event binding into the view for reactive
22:55:29  <Raynos>defunctzombie: the biggest downside of reactive is that you have to put your on-click functions on your data objects
22:55:36  <defunctzombie>no you don't
22:55:39  <defunctzombie>I never do
22:55:45  <defunctzombie>I have data objects and view objects
22:55:45  <Raynos>do you put them on the view object ?
22:55:47  <defunctzombie>yes
22:55:51  <defunctzombie>where they belong :)
22:56:04  <Raynos>thats one way or organizing the code.
22:56:30  <Raynos>i like having input handling code and rendering code 100% seperate.
22:56:36  <defunctzombie>allows me to contain the view very easily
22:56:44  <Raynos>but sure reactive could be refactored to use my thing if they cared
22:56:51  <Raynos>my thing probably has too many features to make it worthwhile
22:58:19  * tilgovijoined
22:58:48  <Raynos>yeah their event system is pretty trivial
22:59:07  <defunctzombie>yep
22:59:17  <Raynos>which is nice but limiting in other ways.
22:59:23  <defunctzombie>not in many ways
22:59:36  <defunctzombie>limiting in some but works great for lots of cases when building views
22:59:42  * ryan_stevensquit (Quit: Leaving.)
22:59:48  <defunctzombie>if I want to capture events higher up I can do that elsewhere
23:00:14  <defunctzombie>anyhow... more libraries!
23:01:02  <Raynos>I would like to find someone to collab with though. Rather then write it myself -.-
23:01:44  <Raynos>i mean i love writing shit myself. But blargh, must be better frontend citizen
23:02:26  <defunctzombie>heh
23:02:50  <defunctzombie>I write stuff that I need to use. So I hacked on reactive to do what I needed
23:02:53  <defunctzombie>added iteration
23:02:58  <defunctzombie>works quite well not for my needs
23:03:11  <defunctzombie>*now
23:04:08  * ryan_stevensjoined
23:04:14  * ryan_stevenspart
23:14:47  * tilgoviquit (Ping timeout: 272 seconds)
23:20:47  * fronxquit (Remote host closed the connection)
23:24:03  <rowbit>Daily usage stats: [developer: 6, free: 599]
23:24:04  <rowbit>Hourly usage stats: [developer: 0, free: 11]
23:30:55  <Raynos>defunctzombie: that's pretty cool :)
23:34:33  * AvianFluquit (Remote host closed the connection)
23:51:15  * fronxjoined
23:51:58  <grncdr>substack: https://github.com/grncdr/js-shell-parse
23:54:29  <grncdr>it's not set up at all for a streaming context but that might be a separate enough concern that I'll do it in another module
23:54:49  <grncdr>but I'd appreciate your thoughts on whether that AST structure makes sense
23:56:23  * fronxquit (Ping timeout: 252 seconds)