00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:08:14  * jergasonquit (Remote host closed the connection)
00:10:59  * fotoveritequit (Quit: fotoverite)
00:11:07  * jergasonjoined
00:11:34  * mikolalysenkojoined
00:15:26  <daleharvey>published it https://github.com/daleharvey/wrapping-tape, if theres anything I should do nicer, feel free to mention
00:17:06  * AvianFlujoined
00:18:55  <defunctzombie>daleharvey: should pass the test into the functions
00:19:02  <defunctzombie>so you can assert during setup/teardown
00:19:14  <defunctzombie>and then within those, assert.end();
00:19:22  <defunctzombie>or done()
00:19:27  <defunctzombie>would be my recommendation
00:19:35  <defunctzombie>otherwise you can't assert during setup/teardown
00:19:44  <defunctzombie>and this would break any particular .plan tho
00:19:49  <defunctzombie>if you do assert
00:20:17  <daleharvey>ah, so setup: function(t, done)
00:20:49  <daleharvey>or just setup(t) and have them normal tests, yeh that would be nicer
00:20:50  <substack>you don't need done if you pass in t
00:20:58  <substack>yes just make them like normal tests
00:21:06  <substack>that way you can juggle them around easier
00:21:20  <daleharvey>yeh I like that
00:21:52  <defunctzombie>normal tests is better
00:22:02  <defunctzombie>so then you can call t.end() inside of setup/teardown for async things
00:22:07  <substack>exactly
00:26:26  * ITproquit (Ping timeout: 252 seconds)
00:29:44  <daleharvey>done and pushed
00:30:09  <daleharvey>for some reason tape doesnt like the context not being itself
00:32:32  * mikolalysenkoquit (Ping timeout: 268 seconds)
00:33:06  * vitorpachecoquit (Read error: Connection reset by peer)
00:33:12  * defunctzombiechanged nick to defunctzombie_zz
00:33:28  * vitorpachecojoined
00:35:45  <daleharvey>ok last thing I need I think
00:36:30  <daleharvey>I need to be able to pass options into the test file
00:38:15  * shamaquit (Remote host closed the connection)
00:39:11  * shamajoined
00:39:26  * daleharveya typical test runs once for http and once for a local database
00:40:00  * jxsonquit (Ping timeout: 245 seconds)
00:42:11  * timoxleyjoined
00:44:58  * thlorenzjoined
00:48:30  * mikolalysenkojoined
01:01:15  * ins0mniaquit (Ping timeout: 245 seconds)
01:01:18  * jcrugzzquit (Ping timeout: 256 seconds)
01:04:59  * robertkowalskiquit (Ping timeout: 246 seconds)
01:05:07  * robertkowalskijoined
01:07:32  * st_lukejoined
01:10:52  * soldairquit (Quit: Page closed)
01:11:50  * st_lukequit (Ping timeout: 240 seconds)
01:16:02  * maksimlinjoined
01:16:44  * mirkokiefer_joined
01:18:31  * mirkokieferquit (Ping timeout: 264 seconds)
01:18:31  * mirkokiefer_changed nick to mirkokiefer
01:22:30  * AvianFluquit (Remote host closed the connection)
01:27:01  * jergasonquit (Remote host closed the connection)
01:27:44  * wolfeidaujoined
01:30:06  * timoxleyquit (Ping timeout: 264 seconds)
01:30:43  * timoxleyjoined
01:31:17  * i_m_cajoined
01:43:57  * jergasonjoined
01:46:19  * AvianFlujoined
01:47:19  * mikolalysenkoquit (Ping timeout: 264 seconds)
01:51:00  * dguttmanquit (Quit: dguttman)
01:51:59  * mikolalysenkojoined
01:52:46  * jxsonjoined
01:53:19  * timoxleyquit (Ping timeout: 268 seconds)
01:54:40  * kumavis_quit (Quit: kumavis_)
01:56:29  * st_lukejoined
02:02:18  * defunctzombie_zzchanged nick to defunctzombie
02:02:54  <defunctzombie>daleharvey: use env vars
02:02:56  <defunctzombie>when in doubt, use env vars :)
02:05:22  <defunctzombie>thlorenz: resolve-redirects ... what about cycles? :p
02:05:42  <defunctzombie>and also, I think there is a graph algorithm for this in the more general sense
02:05:47  <thlorenz>not considered, but I guess I take PRs :)
02:05:56  <thlorenz>didn't find it
02:06:28  <thlorenz>I searched for about 10 mins, gave up and wrote the module in another 10
02:06:46  * timoxleyjoined
02:06:58  <thlorenz>need this for browserify-dedupe (external tool since substack didn't like it in bfy core itself)
02:08:00  <defunctzombie>heh
02:08:35  <thlorenz>defunctzombie: I'm never quite sure what 'heh' means (must be cause I'm german)
02:08:45  <defunctzombie>:)
02:08:46  <thlorenz>is it like 'huh?'
02:08:53  <defunctzombie>it is more like hah
02:08:54  <thlorenz>or 'hey calm down'
02:08:56  <thlorenz>ah
02:09:06  <defunctzombie>except not with so much excitement
02:09:12  * st_lukequit (Remote host closed the connection)
02:09:17  <thlorenz>heh
02:09:22  <defunctzombie>kinda like a shrug with a laugh
02:09:41  * thlorenzshrugs, but is not excited enough to even laugh
02:09:49  <defunctzombie>http://www.urbandictionary.com/define.php?term=heh
02:09:51  <defunctzombie>hahaha
02:09:54  * st_lukejoined
02:10:24  <thlorenz>cool got it - just in case they ask me that in a few years when I'm trying to become citizen ;)
02:10:30  <defunctzombie>yep
02:10:36  <defunctzombie>very important to know these things ;)
02:10:43  <thlorenz>:)
02:14:10  * jcrugzzjoined
02:15:50  * mikolalysenkoquit (Ping timeout: 256 seconds)
02:17:30  * i_m_caquit (Ping timeout: 264 seconds)
02:17:56  * i_m_cajoined
02:24:00  * mk30_quit (Quit: Page closed)
02:27:20  * fotoveritejoined
02:27:28  * defunctzombiechanged nick to defunctzombie_zz
02:27:38  * defunctzombie_zzchanged nick to defunctzombie
02:29:55  * jxsonquit (Read error: Connection reset by peer)
02:30:23  * jxsonjoined
02:30:44  * jxsonquit (Remote host closed the connection)
02:37:28  * coderzachjoined
02:42:02  * mikolalysenkojoined
02:43:20  * st_lukequit (Remote host closed the connection)
02:50:40  * mikolalysenkoquit (Ping timeout: 268 seconds)
02:54:56  * mikolalysenkojoined
03:00:24  * vitorpachecoquit (Remote host closed the connection)
03:00:49  <defunctzombie>DEATH TO UTILS!!
03:00:55  <defunctzombie>hahaha
03:02:01  * thlorenzquit (Remote host closed the connection)
03:02:42  <chapel>heh: half laugh, semi-cynical connotation, used on IRC by those too cool to say [lol] or [roflmao] | More Info @ http://heh.urbanup.com/37958
03:02:58  <chapel>hrm: An onomatopoeic word of the sound or hum you would emit when raising an eyebrow, expressing scepticism or mentally picturing something bizarre. | More Info @ http://hrm.urbanup.com/3661205
03:06:33  <defunctzombie>man... engine.io-client repo has a lot of bad commits lately
03:06:34  <defunctzombie>https://github.com/LearnBoost/engine.io-client/commits/master
03:06:36  <defunctzombie>sadness
03:06:42  <defunctzombie>all sorts of free floating deps
03:07:06  * timoxleyquit (Ping timeout: 256 seconds)
03:07:57  * timoxleyjoined
03:14:11  <defunctzombie>wow.. so many commits that show how not to handle dependency management
03:17:08  * mk30joined
03:17:45  * mk30quit (Client Quit)
03:19:45  <chapel>defunctzombie: examples?
03:20:00  <chapel>might be worth compiling bad commits as examples in general
03:22:28  <defunctzombie>chapel: https://github.com/LearnBoost/engine.io-client/commit/164f71085c5ba7858e6c21341ad15b47fc6c8f13#L2R13
03:22:35  <defunctzombie>never ever ever do this in a module you care about
03:22:43  <defunctzombie>anytime anyone commits to the other repo
03:22:57  <defunctzombie>and I npm install the dependent module, I will get the new code
03:22:59  <defunctzombie>not meant for this module
03:23:13  <defunctzombie>case in point: https://github.com/LearnBoost/engine.io-client/commit/43414294dd16f654c27a6234f690d8d034d580b5
03:23:15  * gwenbelljoined
03:23:31  <defunctzombie>the codebase was broken just by changing another repo
03:25:02  * dguttmanjoined
03:35:25  * timoxleyquit (Read error: No route to host)
03:47:45  * dguttmanquit (Quit: dguttman)
03:55:01  * dominictarrjoined
03:59:44  * AvianFluquit (Remote host closed the connection)
04:00:15  * kriskowalquit (Quit: kriskowal)
04:07:09  * AvianFlujoined
04:22:39  * st_lukejoined
04:26:38  <st_luke>HEHHEHEHEHEHEHEH
04:27:30  * AvianFluquit (Remote host closed the connection)
04:28:47  * AvianFlujoined
04:41:16  * gwenbellquit (Quit: Lost terminal)
04:45:31  * ins0mniajoined
04:45:52  * dguttmanjoined
04:50:21  * coderzachquit (Quit: coderzach)
04:51:16  * st_lukequit (Remote host closed the connection)
04:51:32  * st_lukejoined
04:52:11  * dominictarrquit (Quit: dominictarr)
04:58:38  * chilts_quit (Quit: leaving)
05:01:02  * maksimlinquit (Ping timeout: 240 seconds)
05:02:42  * i_m_caquit (Ping timeout: 240 seconds)
05:04:05  * jergasonquit (Remote host closed the connection)
05:04:30  * chiltsjoined
05:06:54  * dguttmanquit (Quit: dguttman)
05:12:23  * dguttmanjoined
05:13:34  * maksimlinjoined
05:14:33  * chiltsquit (Read error: Connection reset by peer)
05:17:41  * chiltsjoined
05:18:57  * dguttmanquit (Quit: dguttman)
05:19:27  * AvianFluquit (Remote host closed the connection)
05:22:25  * calvinfoquit (Quit: Leaving.)
05:26:04  * mikolalysenkoquit (Ping timeout: 268 seconds)
05:28:55  * kenperkinsquit (Quit: Computer has gone to sleep.)
05:30:31  * ins0mniaquit (Ping timeout: 264 seconds)
05:43:14  * timoxleyjoined
05:52:42  * calvinfojoined
06:01:07  * calvinfoquit (Ping timeout: 264 seconds)
06:02:14  * maksimlinquit (Remote host closed the connection)
06:07:50  <substack>my internal laptop display is dead :(
06:09:13  <defunctzombie>:(
06:09:17  <defunctzombie>time for a macbook air!
06:09:53  <substack>dominictarr was unimpressed with his
06:10:02  <substack>I suspect I would be similarly unimpressed.
06:10:21  <defunctzombie>really?
06:10:24  <defunctzombie>I love mine
06:12:18  <substack>I don't like graphical interfaces.
06:12:21  <st_luke>they're pretty great
06:12:36  <substack>I would just spend all my time figuring how to turn things off.
06:12:42  <defunctzombie>haha
06:12:47  <defunctzombie>I just use fullscreen iterm2
06:12:51  <substack>I would rather just start at zero and turn them on as I need them.
06:12:52  <defunctzombie>and a fullscreen browser
06:15:21  * jergasonjoined
06:15:35  <defunctzombie>did npm link behavior change?
06:15:40  <defunctzombie>in node 0.10.17
06:15:48  <defunctzombie>seems like it tries to install stuff before it links now
06:15:49  <defunctzombie>sigh
06:15:53  <substack>oh boss, the tiniest thinkpads are also the cheapest
06:17:26  <defunctzombie>thinkpad.. psh
06:17:28  <st_luke>defunctzombie: it did that before
06:17:30  <defunctzombie>air all the way!
06:17:39  <st_luke>people have been complaining about that for a while
06:17:43  <defunctzombie>substack: without browserify hash dedupe... 1.2 MB
06:17:47  <defunctzombie>substack: with, 590 KB
06:17:55  <defunctzombie>on some of my dev files I am currently working on
06:18:03  * djcoinjoined
06:18:14  <defunctzombie>thats a fucking win if you ask me
06:18:17  <defunctzombie>no other changes to the fs
06:18:58  <defunctzombie>bah
06:19:04  <defunctzombie>maybe there was something that did change.. dammit
06:19:50  * jergasonquit (Ping timeout: 240 seconds)
06:20:06  * AvianFlujoined
06:26:49  <defunctzombie>ok.. actual numbers:
06:27:02  <defunctzombie>490 kb -> 488 kb via the hash dedupe stuff
06:27:06  * AvianFluquit (Ping timeout: 245 seconds)
06:29:11  <substack>is that minified or gzipped?
06:31:35  * mikolalysenkojoined
06:31:43  <defunctzombie>I used curl this time with "wc -c"
06:31:51  <defunctzombie>getting tired of chrome size issues
06:31:57  <defunctzombie>604376 -> 499931
06:32:00  <defunctzombie>that is not minified
06:32:10  <defunctzombie>or gzipped
06:32:13  <defunctzombie>and with sourcemaps
06:32:21  <defunctzombie>I can tell you what it would be with maps off
06:32:27  <defunctzombie>and minified if you want
06:33:43  <defunctzombie>225253 -> 187192
06:33:48  <defunctzombie>without sourcemaps
06:33:52  <defunctzombie>not minfied
06:34:39  <defunctzombie>94607 -> 79912
06:34:43  <defunctzombie>minified
06:35:09  <defunctzombie>I really need a way to ship the sourcemaps via sourcemapurl
06:35:13  <defunctzombie>instead of with the source file
06:35:34  <defunctzombie>anyhow
06:35:44  <defunctzombie>savings of over 10k just by using a newer browserify
06:35:47  <defunctzombie>I can dig it
06:36:02  <defunctzombie>basically 15k
06:36:12  * mikolalysenkoquit (Ping timeout: 256 seconds)
06:36:44  <defunctzombie>substack: the "external" module changes rebase fine onto the latest browserify master btw
06:37:05  <defunctzombie>I haven't looked into if the code could be any simpler given the hashing stuff going on now tho
06:42:39  * shamaquit (Remote host closed the connection)
06:46:05  * mirkokieferquit (Quit: mirkokiefer)
06:46:32  * mirkokieferjoined
07:04:57  * defunctzombiechanged nick to defunctzombie_zz
07:08:37  * st_lukequit (Remote host closed the connection)
07:09:25  * defunctzombie_zzchanged nick to defunctzombie
07:20:48  * defunctzombiechanged nick to defunctzombie_zz
07:21:15  * defunctzombie_zzchanged nick to defunctzombie
07:25:15  * defunctzombiechanged nick to defunctzombie_zz
07:28:49  * timoxleyquit (Remote host closed the connection)
07:39:58  * dominictarrjoined
07:44:44  * dominictarrquit (Client Quit)
07:47:12  * mirkokieferquit (Quit: mirkokiefer)
07:53:18  * shamajoined
07:57:46  * shamaquit (Ping timeout: 268 seconds)
08:03:03  * dominictarrjoined
08:05:13  * thlorenzjoined
08:17:44  <substack>probs I'll just get a cheap chromebook
08:23:26  * jcrugzzquit (Ping timeout: 240 seconds)
08:27:57  * nicholasfjoined
08:31:36  * mcollinajoined
08:35:08  * timoxleyjoined
08:35:08  * defunctzombie_zzchanged nick to defunctzombie
08:45:02  * defunctzombiechanged nick to defunctzombie_zz
08:46:32  * timoxleyquit (Read error: Connection reset by peer)
08:46:47  * timoxleyjoined
08:48:19  * mk30joined
08:50:00  * jcrugzzjoined
08:58:26  * jcrugzzquit (Ping timeout: 256 seconds)
09:18:10  * mirkokieferjoined
09:20:10  * AvianFlujoined
09:20:31  * mk30quit (Ping timeout: 250 seconds)
09:25:04  * AvianFluquit (Ping timeout: 256 seconds)
09:50:48  * thlorenzquit (Remote host closed the connection)
09:53:51  * shamajoined
09:58:38  * shamaquit (Ping timeout: 268 seconds)
10:21:57  * thlorenzjoined
10:30:32  * thlorenzquit (Ping timeout: 256 seconds)
10:43:04  * jolissjoined
11:22:59  * mirkokieferquit (Quit: mirkokiefer)
11:27:00  * thlorenzjoined
11:39:10  * thlorenzquit (Ping timeout: 245 seconds)
12:02:06  * mirkokieferjoined
12:04:21  * shamajoined
12:09:06  * shamaquit (Ping timeout: 264 seconds)
12:15:25  * dominictarrquit (Quit: dominictarr)
12:20:02  * thlorenzjoined
12:29:51  * dominictarrjoined
12:48:42  * timoxleyquit (Remote host closed the connection)
12:50:00  * yorickjoined
13:10:24  * coderzachjoined
13:16:34  * kevino80joined
13:21:09  * ins0mniajoined
13:24:10  * coderzachquit (Quit: coderzach)
13:26:04  * coderzachjoined
13:32:20  * coderzachquit (Quit: coderzach)
14:02:09  * dguttmanjoined
14:15:35  * fallsemojoined
14:20:04  * mikolalysenkojoined
14:20:53  * kenperkinsjoined
14:21:19  * AvianFlujoined
14:25:51  * AvianFlu_joined
14:28:20  * AvianFluquit (Ping timeout: 245 seconds)
14:28:37  * AvianFlu_changed nick to AvianFlu
14:38:10  * jergasonjoined
14:43:26  * coderzachjoined
15:10:34  * rpflojoined
15:11:21  <rpflo>I've got a browserify question that's kind of involved
15:11:41  <rpflo>rather than give it an entry point, I want to just give it a bunch of files to package up
15:11:49  <rpflo>like browserbuild
15:12:08  <rpflo>which you can basically do with -r
15:12:25  <rpflo>but unless a module requires another at build time, it can't require it at run time
15:17:25  <rpflo>use case is so that a framework can use `require` instead of hand-rolling its own module lookup to try to find modules or provide defaults when not found
15:21:02  * mikolalysenkoquit (Read error: Connection reset by peer)
15:21:08  <johnkpaul>rpflo: I bet it would work by just passing every file as an entry file in your build script, but I don't know if that's the right way to do it
15:24:14  <rpflo>johnkpaul: yeah, that's what I'm doing
15:24:20  <rpflo>with grunt-browserify
15:24:38  <rpflo>the issue is require('./something') doesn't work dynamically
15:24:50  <rpflo>unless I explicitly require it at build time
15:25:18  <rpflo>so, './something' is in the build, but the module that dymamically requires it at run time can't find it unless I explicitly require it at build time
15:25:32  <johnkpaul>ah, this is for dynamic requiring
15:25:35  <rpflo>yeah
15:25:37  <johnkpaul>I'm guessing Ember resolvers?
15:25:43  <johnkpaul>idk if browserify handles that tbh
15:25:45  <johnkpaul>^@ thlorenz
15:25:52  <rpflo>yeah, but I have another little thing I'm working on with the same use case
15:26:09  <rpflo>browserbuild can do it, but it doesn't have source maps
15:26:20  <johnkpaul>I think that browserify needs to know all possible require's at build time
15:26:28  <rpflo>it seems strange that it can't do this, if a file is included in the build is it not just added to some registry?
15:26:28  <johnkpaul>for it's walking the dep tree stuff to work
15:26:37  <thlorenz>correct
15:26:46  * mikolalysenkojoined
15:26:49  * mbrevoortquit (Remote host closed the connection)
15:27:48  <thlorenz>rpflo: dynamic requiring makes it impossible for browserify to resolve in order to include them in the bundle
15:28:23  * jcrugzzjoined
15:28:30  <thlorenz>rpflo: don't know your reasons, but in general I'd avoid dynamic requiring, just require by string and fork your codepaths in other ways
15:29:01  <thlorenz>ES6 import is explicitly designed to not allow dynamic require in order to keep dependencies statically analyzable
15:35:53  * evboguejoined
15:37:41  <rpflo>thlorenz: that's not entirely accurate
15:37:57  <rpflo>what is the point of .has(module) if you aren't going to dynamically require it?
15:38:37  <rpflo>my usual solution has been to build an index of all the modules I know about, but with ember's resolver I should be able to just defer to `require` as if I were in node
15:38:58  <rpflo>or with es6 I'd be able to ask if (loader.has(moduleName)) load(moduleName)
15:39:22  <thlorenz>rpflo: this has nothing to do with ember and I don't know how loader.has relates to the ES6 spec
15:39:32  <rpflo>it is part of the es6 loader spec
15:40:21  <thlorenz>I'm not familiar with that, but I remember detailed discussions about keeping import statically analyzable
15:40:38  <rpflo>http://wiki.ecmascript.org/doku.php?id=harmony:module_loaders#loader.prototype.has_name
15:40:56  <thlorenz>rpflo: anyhow the fact remains that browserify only resolves strings, so in that case you have to make sure to require all modules explicitly
15:41:29  <rpflo>correct, let me rephrase my question
15:42:26  <rpflo>would there be any positive feedback on giving browserify an option to work like browserbuild and just give it a bunch of files to bundle up and work just like node where you can require things dynamically.
15:43:00  <rpflo>s/work like node/work like node, amd, and es6/
15:43:28  <rpflo>rather than trace dependencies
15:43:38  <thlorenz>I don't know how browserbuild works, but somehow browserify detective needs to figure out what to include in the bundle, so your requires need to be statically analyzable
15:43:58  <rpflo>"detective needs to figure out what to include in the bundle"
15:44:02  * chapelquit (Ping timeout: 264 seconds)
15:44:11  <rpflo>that's what I'm saying, I'd like to be able to just tell it what to include
15:44:16  <rpflo>just like <script> tags
15:44:23  <thlorenz>https://github.com/substack/node-detective
15:44:41  <rpflo>I must not be communicating clearly, here, one sec
15:44:42  <thlorenz>it doesn't work like that since it bundles before your code runs
15:45:09  <rpflo>I know it doesn't work like that
15:45:14  <thlorenz>script tags get added client side, but the bundling happens entirely server side
15:45:17  <rpflo>I'm saying, would people be open to it working like that
15:45:28  <rpflo>browserbuild `find lib -name '*.js'` > my-library.js
15:45:28  <thlorenz>so this dynamic stuff isn't possible
15:45:49  <rpflo>you just tell browserbuild "wrap these things up and make a commonjs build"
15:46:02  <thlorenz>I don't know what browserbuild is
15:46:15  * jxsonjoined
15:46:24  <rpflo>thlorenz: I just showed you how it works
15:46:29  <rpflo>browserbuild `find lib -name '*.js'` > my-library.js
15:46:36  <rpflo>you give it the files to bundle up
15:46:42  <rpflo>it doesn't try to figure them out with static analysis
15:46:51  <thlorenz>anyhow I'd try to raise an issue on the relevant repo to get a discussion going to see what others think about it
15:46:52  <rpflo>it just opens the files, adds them to the registry
15:46:54  <rpflo>lets you require them
15:47:12  <thlorenz>you could try that, but then you also have to resolve relative paths
15:47:36  <thlorenz>which is also done by browserify IF it can determine the require string statically
15:48:22  <thlorenz>rpflo: but if you come up with some ingenius solution to make this work for your case I think there'd be others that would like it, i.e. it could be a browserify plugin thing like browserify-shim
15:49:01  * shamajoined
15:51:11  <rpflo>thlorenz: the question is, whats easier, adding source maps to browserbuild or forcing browserify down a path it doesn't seem to like :)
15:51:13  * chapeljoined
15:51:36  <thlorenz>rpflo: only trial and error can tell ;)
16:00:31  * rpflochanged nick to ryanflorence
16:05:46  <mbalho>if only browserify was made up of modules!
16:08:44  <juliangruber>:D
16:11:42  * thlorenzquit (Remote host closed the connection)
16:17:12  * kevino80quit (Remote host closed the connection)
16:17:46  * kumavis_joined
16:20:44  * dguttmanquit (Quit: dguttman)
16:22:23  * defunctzombie_zzchanged nick to defunctzombie
16:28:53  <jesusabdullah>I played with smalltalk yesterday
16:29:01  <jesusabdullah>almost every time I do this I leave with a mild taste of regret
16:29:22  <jesusabdullah>and a dream of a x11 window manager based on pharo
16:29:52  <jesusabdullah>where it runs in the root window and all the windows can show x11-based content
16:32:29  * kevino80joined
16:34:48  * AvianFluquit (Remote host closed the connection)
16:34:58  * jxsonquit (Remote host closed the connection)
16:46:09  * mbrevoortjoined
16:49:43  * jcrugzzquit (Ping timeout: 245 seconds)
16:50:27  * kevino80quit (Remote host closed the connection)
16:50:43  * kevino80joined
16:51:06  * thlorenzjoined
16:52:22  * calvinfojoined
16:52:53  * thlorenzquit (Remote host closed the connection)
16:57:58  * thlorenzjoined
16:58:02  * thlorenzquit (Remote host closed the connection)
16:58:38  * timoxleyjoined
17:00:29  * evboguequit (Quit: Lost terminal)
17:01:49  * mcollinaquit (Ping timeout: 256 seconds)
17:01:57  * jxsonjoined
17:02:15  * jxsonquit (Remote host closed the connection)
17:03:05  * jxsonjoined
17:03:33  * mcollinajoined
17:12:27  * dguttmanjoined
17:13:50  * chapelquit (Ping timeout: 240 seconds)
17:16:28  * mirkokieferquit (Quit: mirkokiefer)
17:17:26  * itprojoined
17:17:26  * itprochanged nick to ITpro
17:22:17  * timoxleyquit (Read error: Connection reset by peer)
17:22:45  * timoxleyjoined
17:24:34  * jxsonquit (Remote host closed the connection)
17:25:34  * dominictarrquit (Quit: dominictarr)
17:30:50  * mcollinaquit (Ping timeout: 245 seconds)
17:39:12  * mbrevoortquit (Remote host closed the connection)
17:46:24  * st_lukejoined
17:47:12  * jcrugzzjoined
17:49:38  * jxsonjoined
17:49:57  * chapeljoined
17:50:02  * evboguejoined
17:50:41  * timoxleyquit (Remote host closed the connection)
17:51:38  * AvianFlujoined
17:53:26  <Domenic_>st_luke: i say we just ignore this array guy
17:53:35  <st_luke>Domenic_: yea that's a good idea
17:53:44  * jxsonquit (Remote host closed the connection)
17:54:29  <st_luke>sometimes I wonder if people that complain like that have ever written software used and worked on by more than one person
17:58:09  <Domenic_>trudat
17:58:45  * mk30joined
17:59:15  <Domenic_>AvianFlu: https://github.com/isaacs/npm/issues/3826
18:03:07  <AvianFlu>lol thanks
18:03:56  * jxsonjoined
18:04:43  <defunctzombie>lol
18:04:45  <AvianFlu>yeah, everybody has to start somewhere
18:05:16  <AvianFlu>I'm sure he'll have a big eye-opening moment soon where he realizes he's a noob... or switches to clojure XD
18:05:40  <AvianFlu>clojure isn't relevant here, it's just the first thing that came to mind
18:06:14  <defunctzombie>Domenic_: st_luke: I will say that I think he is right, and that an array would be clearer in more cases :p
18:06:32  <defunctzombie>[ "module@version", "gituser/repo@hash"]
18:06:36  * mbrevoortjoined
18:07:12  <defunctzombie>haha
18:07:20  <defunctzombie>just to you know... play devil's advocate :)
18:08:43  <st_luke>defunctzombie: he's not even talking about that, he doesn't even think you should specify a version because people might be using shrinkwrap
18:09:11  <st_luke>why not allow dependency arrays? lol idk, maybe cuz semver lolz?
18:09:14  <defunctzombie>st_luke: no, he is saying shrinkwrap is pointless
18:09:19  <defunctzombie>and I agree
18:09:38  <defunctzombie>he is saying you should already have that info correctly coded in the deps
18:09:55  <st_luke>defunctzombie: except when one of your subdependencies doesn't lock down a version in its package.json
18:09:57  <st_luke>then not so pointless
18:09:58  <defunctzombie>and not create a new thing that is "oh yea.. we know you specified deps, but that way breaks shit.. so use this too"
18:10:07  * jxsonquit (Remote host closed the connection)
18:10:12  <defunctzombie>st_luke: right.. and I think that is the problem, npm allowing '*'
18:10:22  <defunctzombie>and other things that are too flexible to be published
18:10:38  <st_luke>that ship has sailed tho, too late to go back on it now
18:10:41  <defunctzombie>the core of the issue is lenient publish any shit in package.json rules and not something else
18:10:48  <defunctzombie>I never think a ship has sailed :)
18:10:50  * jxsonjoined
18:11:03  <st_luke>that train has left the station
18:11:07  <defunctzombie>haha
18:11:42  <st_luke>slow and steady doesn't win the race
18:14:07  <st_luke>https://npmjs.org/package/package.json
18:14:15  <st_luke>best module ever
18:14:45  <defunctzombie>wow
18:15:11  <defunctzombie>personally, I think having requirements for publshing to npm like must have repo field
18:15:13  <defunctzombie>must have license
18:15:27  <defunctzombie>all benefit the end users of modules
18:15:39  <defunctzombie>and isn't some heavy hand enforcement
18:15:51  <st_luke>someone was complaining about having to include a repo field yesterday
18:16:09  <st_luke>cause it gives you a warning if you dont
18:16:13  <defunctzombie>mbalho: ""*" is a bad practice. so is manually editing package.json dependencies. use --save if you wanna save time."
18:16:22  <defunctzombie>mbalho: imho that should be removed from npm publish
18:16:25  <st_luke>defunctzombie: use -S if you wanna save time
18:16:50  <defunctzombie>st_luke: they were complaining because some modules don't have the field
18:17:00  <defunctzombie>modules should be required to have the field
18:17:05  <defunctzombie>then the warning makes sense
18:17:12  <defunctzombie>and module authors will just add the field
18:17:22  <st_luke>defunctzombie: someone was complaining because he didn't feel that it's applicable to all types of projects
18:17:29  <defunctzombie>?
18:17:35  <st_luke>the example he gave was "what if you host your repo on dropbox"
18:17:35  <defunctzombie>having a repo field
18:17:40  <defunctzombie>...
18:17:42  <defunctzombie>he is a moron
18:17:46  <defunctzombie>and should be told to not do that
18:17:48  <st_luke>lmao
18:18:02  <defunctzombie>npm is not for his personal bs
18:18:03  * mbrevoortquit (Remote host closed the connection)
18:18:08  <defunctzombie>it is for sharing your module
18:18:21  * evboguepart
18:18:35  <defunctzombie>and I strongly believe that part of that is putting your source with history somewhere public
18:18:44  <defunctzombie>and including a license file
18:19:03  <defunctzombie>those are not crazy requirements that make you do a lot of work
18:19:09  <defunctzombie>most people will "npm publish"
18:19:25  <defunctzombie>err: please provide a repo field: { type: "git": url: "auto filled out }
18:19:33  <defunctzombie>they will take 2 seconds to do it
18:19:37  <defunctzombie>and we will all be better for it :)
18:20:36  <defunctzombie>I think tools should help us
18:20:51  <defunctzombie>and can't imagine someone saying.. oh.. you know.. I really hated that module cause it had a repo field
18:21:01  <defunctzombie>or had a license specified.. that was really too much for me
18:21:12  <defunctzombie>it did everything I needed.. but damn..if only it didn't have a repo field
18:21:58  <defunctzombie>but the other thing happens all the time, we get pull requests to add license files and I am constantly trying to hunt down a module's repo to take a closer look
18:23:16  * mbrevoortjoined
18:31:05  * thlorenzjoined
18:32:31  * soldairjoined
18:36:22  * dominictarrjoined
18:49:02  * chapelquit (Ping timeout: 240 seconds)
18:50:02  * mikolalysenkoquit (Ping timeout: 264 seconds)
18:54:22  * jxsonquit (Remote host closed the connection)
19:26:25  * coderzachquit (Quit: coderzach)
19:26:56  <Domenic_>gzip/zip in a browser people: first, maybe we should form an email list so I can ask you questions or something?
19:27:21  <Domenic_>second, what do you think of doing these convenience methods http://nodejs.org/api/zlib.html#zlib_convenience_methods as a first pass?
19:27:32  <mbalho>are you aware of existing implementations
19:28:04  <Domenic_>since browser vendors are still fighting their way toward sensible a stream abstraction, it'd be easier to get the convenience methods in and do the streaming ones later
19:28:08  <Domenic_>mbalho: not sure what you mean?
19:28:28  <mbalho>zlib-browserify etc
19:28:56  <Domenic_>mbalho: right, but API-wise that's just node's zlib I assume.
19:29:12  <mbalho>are you talking about a getting stuff done today group or a standards group
19:29:47  <Domenic_>so my job is to intermediate between people who have done shit and standards bodies who are willing to put compression APIs into the browser if we tell them what those APIs should look like
19:30:23  <mbalho>k cause when you said 'gzip/zip in a browser' i interpreted it as 'in pure javascript' not 'informing browser vendors for future native apis'
19:30:42  <dominictarr>this is a lot more useful with streams :(
19:30:53  <Domenic_>dominictarr: yeah :(
19:31:00  <Domenic_>we'll get there
19:31:14  <Domenic_>isaacs is telling them how it is, guiding them away from some truly crazy APIs.
19:31:36  <dominictarr>thats good
19:31:45  <dominictarr>when did they start listening to node people?
19:32:18  <Domenic_>there are a few factors at work
19:32:28  <Domenic_>isaacs actually knows how to talk to people, unlike most #nodeppl
19:32:46  <mbalho>isaac likes to argue on mailing lists :)
19:32:49  <Domenic_>the new TAG has a mandate to be more on the ground and produce useful low-level APIs, instead of castle in the sky
19:33:27  <Domenic_>and if for *any* API consulting the node people for their experience was a good idea, streams would be it.
19:34:35  <mbalho>i honestly cant imagine anyone screwing up a zlib api. only requirement is: accept chunks of data, emit chunks of data
19:35:03  <mbalho>as long as its some thing that i can write typed arrays/arraybuffers into and get the same back it satisfies my requirements
19:38:21  * Kesslerjoined
19:38:54  <mbalho>also i wish blobs were streams
19:39:31  <mbalho>for instance you cant use the FIleSaver API for things larger than RAM right now
19:42:06  <mbalho>also ive waited over a year now for this, still not being worked on https://code.google.com/p/chromium/issues/detail?id=67587 :(
19:43:17  <ryanflorence>thlorenz: I hear your'e building an npm super-mega-dedupe?
19:44:08  <thlorenz>actually working on browserify-dedupe atm: https://github.com/thlorenz/browserify-dedupe
19:44:21  * kevino80quit (Remote host closed the connection)
19:44:30  <thlorenz>it's working already just finishing up the last tests
19:44:40  <ryanflorence>awesome
19:45:00  <ryanflorence>well, its going to be a strange clash of js culture because I'm going with npm+browserify for the official ember app kit
19:45:13  <thlorenz>ryanflorence: I also have dynamic-dedupe which works like npm dedupe except doesn't break when you link modules - https://github.com/thlorenz/dynamic-dedupe
19:45:20  <ryanflorence>you might hear thunder, and I might get voted off the island, but that's fine.
19:45:35  <Domenic_>thlorenz: actually i think a non-browserify super-dedupe would be more valuable
19:45:40  <Domenic_>why tie it to browserify
19:45:47  <thlorenz>but substack actually did some great work deduping based on file content
19:46:18  <thlorenz>Domenic_: it's just a plugin, and is much easier to do since you see all files and can affect them dynamically when the bundle is made
19:46:40  <thlorenz>wouldn't know how to do this with npm dedupe since you'd have to move files around in mysterious ways
19:47:07  <thlorenz>Domenic_: to me it seems that npm link needs to be fixed instead so it does work with npm dedupe better
19:47:13  <Domenic_>thlorenz: not *that* mysterious. readInstalled() to get the fully tree, find highest version, warn people about problems, move everything to new flat node_modules.
19:47:19  <thlorenz>or maybe som other linking tool
19:47:28  <Domenic_>thlorenz: I don't know anyone else who uses npm link so /shrug
19:47:54  <thlorenz>Domenic_: yep, but that breaks when you link outside of your project tree -- even with ln -s ;)
19:48:09  <thlorenz>I do that all the time in order to work on a submodule and execute it with a dependent module
19:48:40  <thlorenz>Domenic_: if you don't link, you most likely will not need browserify-dedupe, just put npm dedupe in your post install instead
19:49:17  <thlorenz>browserify-dedupe is just so you don't have to be afraid of linking (i.e. suddenly things break b/c you get two backbone instances)
19:49:35  <thlorenz>good luck explaining that to a dev. that doesn't understand these things as well ;)
19:50:37  * mbrevoortquit (Remote host closed the connection)
19:50:40  * chapeljoined
19:50:49  <Domenic_>thlorenz: ok, i think browserify-dedupe is badly named then
19:51:05  <thlorenz>I can still rename it - not published yet ;)
19:51:11  <jesusabdullah>dederp?
19:51:11  * coderzachjoined
19:51:12  <thlorenz>Domenic_: suggestions?
19:51:26  <Domenic_>i thought browserify-dedupe was doing some kind of super-dedupe where it allowed one module to depend on 0.9.x and another to depend on 1.x and it would then choose 1.x
19:51:26  <jesusabdullah>browserify-riggledogg
19:51:27  <thlorenz>jesusabdullah: ahem ---- NO! ;)
19:51:38  <jesusabdullah>jatso derploy
19:51:41  <thlorenz>jesusabdullah: now you are trying to be mean
19:51:47  <jesusabdullah>nahhhhh
19:51:54  <jesusabdullah>I name serious stuff silly names all the time
19:51:57  <thlorenz>Domenic_: it does that
19:52:14  <jesusabdullah>super-dedupe-r? :D
19:52:18  <Domenic_>thlorenz: O_o
19:52:23  <jesusabdullah>say it aloud
19:52:30  <thlorenz>Domenic_: see here: https://github.com/thlorenz/browserify-dedupe/blob/master/test/index.js
19:52:32  <Domenic_>so it does two things: fix npm's dedupe with regard to links, and do super-dedupe
19:52:33  * mbrevoor_joined
19:53:04  <Domenic_>i guess maybe just browserify-super-dedupe would work
19:53:14  <thlorenz>seriously?
19:53:21  <Domenic_>then we could later have npm-super-dedupe that does the super-deduping operation
19:53:26  <thlorenz>:)
19:53:30  <Domenic_>but browserify-super-dedupe is for bundle-time super-deduping
19:53:36  <thlorenz>let me think on that
19:53:38  <Domenic_>uber-dedupe is also acceptable
19:53:51  <thlorenz>I like that more due to me being German
19:53:56  <jesusabdullah>I honestly love the "super de duper" wordplay
19:54:01  <Domenic_>i just think that browserify-dedupe makes me think "oh this is like npm dedupe but at bundle time. why would i ever want that?"
19:54:02  <jesusabdullah>I'm not saying that to be a smartass
19:54:05  <thlorenz>can I spell it correctly though?
19:54:15  <Domenic_>npm won't let you :P
19:54:24  <Domenic_>Or you mean ueber
19:54:28  <thlorenz>√úberDedupe
19:54:45  <Domenic_>You can spell it with the umlaut in the readme and such :)
19:54:58  * jxsonjoined
19:55:18  <thlorenz>Domenic_: so your main goal is to express that it does it on bundle time even if npm dedupe fails due to linking?
19:56:21  <Domenic_>thlorenz: well it needs to express two things. one, that it's bundle-time, as opposed to npm dedupe. (linking is a distraction. if there's a bug there we should fix it in npm. doens't matter here.) two, that it's an uber-dedupe, not a normal-dedupe.
19:56:38  <thlorenz>why not normal?
19:56:45  <thlorenz>it does what npm dedupe does
19:56:47  <Domenic_>because normal-dedupe only allows compatible versions
19:56:52  <Domenic_>wait you just told me it doesn't
19:56:54  <thlorenz>mine does to
19:56:59  <thlorenz>no
19:57:03  <thlorenz>you specify it
19:57:19  <Domenic_>so if a depends on b@1 and x depends on b@2, what does browserify-(uber-?)dedupe do?
19:57:31  <thlorenz>Domenic_: you can decide that as the user ;)
19:57:37  <Domenic_>:-/
19:57:41  <Domenic_>hrm
19:57:50  <thlorenz>Domenic_: https://github.com/thlorenz/deduper#criteria
19:58:08  <thlorenz>so you decide how aggresively you dedupe
19:58:19  <Domenic_>thlorenz: ugh that is not how i would do it
19:58:28  <Domenic_>i would constraint-solve the package.jsons like npm does
19:58:34  <Domenic_>the choices you present are bad ones
19:58:35  <thlorenz>I'll probably set default to major since I think that is what npm does (i.e. minor can vary)
19:58:42  <Domenic_>no npm uses the expressed constraints
19:58:46  <thlorenz>ah
19:58:53  <thlorenz>how does that work?
19:58:57  <Domenic_>if library has versions 1.2.0, 1.2.1, 1.2.2
19:59:05  <Domenic_>and foo depends on library@1.2.1
19:59:08  <thlorenz>ah I get it
19:59:11  <Domenic_>but bar depends on library@1.2.x
19:59:18  <Domenic_>it chooses library@1.2.1 when deduped
19:59:28  <Domenic_>but choose separate library@1.2.1 and library@1.2.2 when not deduped
19:59:34  <thlorenz>that makes sense, but I think it goes further and just prints a warning for me
19:59:58  <thlorenz>i.e. didn't find compat version, but using this other one anyways
20:00:15  <Domenic_>npm does that?
20:00:29  <thlorenz>I think so - I have seen those kind of warnings
20:00:36  <Domenic_>hrm
20:01:00  <Domenic_>well this doesn't have to be perfect
20:01:20  <Domenic_>but i would personally not think that a whole-project granularity is ok
20:01:21  <thlorenz>Domenic_: also this makes things a bit harder on me since I'd have to figure out who required that package when I get an .on('package') event from browserify
20:01:35  <Domenic_>right that's why i'd do this before passing things to browserify
20:01:55  <thlorenz>hm
20:02:21  <thlorenz>Domenic_: keep in mind though that this is only to be used during development
20:02:29  <thlorenz>I'll put a note about that in the readme
20:02:29  <Domenic_>all those stupid 0.x.y or even 0.0.x modules will need to be locked down hard.
20:02:43  <Domenic_>thlorenz: that's just weird, during dev why are you deduping? you don't care about bundle size during dev.
20:02:50  <thlorenz>during production and when not linking people are advised to use npm dedupe
20:02:59  <thlorenz>npm dedupe will reduce size in those cases
20:03:09  <thlorenz>this is just when it breaks due to linking
20:03:13  <Domenic_>O__o
20:03:19  <Domenic_>just submit a patch to npm!!
20:03:21  <Domenic_>jeez man
20:03:30  <Domenic_>there's a bug in npm so you build a whole new *browserify* project to get around it?
20:03:38  <thlorenz>Domenic_: ok, give me a solution - I thought about one - can't find it
20:03:50  * mirkokieferjoined
20:03:55  <thlorenz>it's not a bug, just not how node package lookup works
20:03:57  <jesusabdullah>doesn't npm hate on symlinks due to windows?
20:04:00  * jxsonquit (Ping timeout: 276 seconds)
20:04:02  <thlorenz>i.e. not npm's fault
20:04:04  <Domenic_>jesusabdullah: only on Windows Xp
20:04:11  <Domenic_>thlorenz: oh hmm I didn't quite understand that
20:04:18  <jesusabdullah>but cross platform
20:04:25  <thlorenz>npm moves deduped modules up in the tree
20:04:32  <thlorenz>to the highest possible node_modules
20:04:47  <thlorenz>when node looks for a package it searches upwards and finds it there
20:05:04  <thlorenz>but when you link your package is no longer in the tree and that lookup will fail
20:05:27  <Domenic_>how does linking ever work then?
20:05:34  <thlorenz>therefore npm keeps all dependents of the linked package in its node_modules
20:05:44  <thlorenz>cause the packages aren't deduped
20:05:51  <thlorenz>the ones in the linked package
20:05:55  <Domenic_>hmm i think i see
20:06:09  <thlorenz>it's not an easy problem to solve and believe me I thought about it
20:06:16  <Domenic_>wait so why are you deduping during dev
20:06:21  <Domenic_>you shouldn't be linking in prod
20:06:24  <Domenic_>and you shouldn't be deduping in dev
20:06:28  <Domenic_>so you should have no problems
20:06:30  <thlorenz>to get only one backbone reference
20:06:36  <thlorenz>:)
20:06:48  <thlorenz>otherwise the whole app breaks
20:06:53  <Domenic_>right
20:07:02  <Domenic_>link is so stupid
20:07:04  <Domenic_>stop linking
20:07:07  <thlorenz>so that was my initial problem
20:07:37  <thlorenz>I need to set this up so devs can be as productive as possible, not be hindered by the fact that things are modular
20:07:44  <thlorenz>and linking is part of this IMO
20:08:14  <thlorenz>therefore I created dynamic dedupe (Handlebars on the serverside needs to be same instance as well)
20:08:21  <thlorenz>and no browserify-dedupe
20:08:51  <thlorenz>Domenic_: so now where you got more info what name do you suggest? or maybe jesusabdullah wants to try another one?
20:09:08  <Domenic_>linking is definitely not part of it
20:09:09  * kevino80joined
20:09:26  <Domenic_>linking is for people who are afraid to check in node_modules
20:10:01  <Domenic_>but no, i give up on naming this thing, it's serving such a specific purpose and is very weird
20:10:03  <thlorenz>Domenic_: not true, if you debug something the turnaround time to check in and reinstall is too large
20:10:25  <Domenic_>thlorenz: what? just edit node_modules/my-subthing/app.js
20:10:26  <thlorenz>how about devdupe
20:10:51  <defunctzombie>thlorenz: to get one backbone reference, make the backbone code not suck
20:10:53  <Domenic_>it's like, fix-thorstens-linking-problems-with-browserify-and-backbone. that is my best name.
20:10:57  <thlorenz>Domenic_: I usually avoid that otherwise I may forget what I changed -- i.e. I want to version control those edits
20:10:58  <defunctzombie>just add a simple check in it
20:11:09  <Domenic_>thlorenz: of course you version control those edits
20:11:15  <defunctzombie>global.Backbone = global.Backbone || Backbone();
20:11:17  <defunctzombie>something like that
20:11:23  <thlorenz>defunctzombie: not about sucking would be same for any global thing like an event bus
20:11:24  <defunctzombie>and then always export the global.backbone one
20:11:40  <defunctzombie>things that need to be singleton, should ensure they are a singleton
20:11:58  <defunctzombie>and not rely on module system behavior :/
20:12:05  <thlorenz>defunctzombie: and then I have to explain my fellow devs that they have to do that and then they say, ok I'll use requirejs instead ;)
20:12:12  <Domenic_>thlorenz: your project structure consists of node_modules/my-submodule1 checked in, plus node_modules/backbone or whatever that is gitignored
20:12:13  <defunctzombie>why?
20:12:21  <thlorenz>cause they'll blame browserify for this
20:12:26  <defunctzombie>really, they don't understand how singletons work?
20:12:32  <Domenic_>then people inside node_modules/my-submodule2 can do both require("my-submodule1") and require("backbone")
20:12:35  <defunctzombie>sounds like these are childish devs
20:12:37  * kevino80quit (Remote host closed the connection)
20:12:40  <thlorenz>they do, but with requirejs they never saw this behavior
20:12:56  <thlorenz>just trying to stay realistic here and make things as simple as possible
20:13:06  <defunctzombie>this is simple
20:13:17  <defunctzombie>in requirejs they never saw this behavior because globals are hidden from them
20:13:20  <defunctzombie>this is bad
20:13:24  <thlorenz>defunctzombie: remember you had the same beef with browserify-shim and I think it made it easier for lots of people to switch
20:13:26  <defunctzombie>they should know what is global and singleton
20:13:46  <defunctzombie>I view this as making the code better
20:14:17  * aaronshafjoined
20:14:20  <defunctzombie>if someone wants to use requirejs over browserify, let them
20:14:23  <thlorenz>I get your view, I'm just trying to take a way all excuses to not use browserify by writing tools
20:14:30  <defunctzombie>if it is your project and you control it.. tell them what to use
20:15:07  <defunctzombie>I no longer try to convince anyone to use anything.. I can only say why I like one thing over another and that it works for me
20:15:09  <thlorenz>I did evangalize browserify where I work, but now I want to make sure to make the road as smooth as possible
20:15:15  <defunctzombie>and if they are doing something different, I fork it and make it work for me
20:15:42  <thlorenz>defunctzombie: not sure why you are so opposed suddenly, a few days ago you were championing dedupe in browserify core :P
20:15:48  <defunctzombie>thlorenz: the road is smooth once you explain that the assumptions are different
20:15:52  <defunctzombie>thlorenz: oh.. I am not opposed
20:15:58  <thlorenz>ok :)
20:16:05  <defunctzombie>thlorenz: I just don't think that conflicts with fixing singleton stuff
20:16:33  <defunctzombie>these are my thoughts on singleton stuff, not on your fuzzy dedupe work
20:16:41  <thlorenz>defunctzombie: I'm with you I don't like singletons much either, but some things in client side development are hard to weed out
20:16:55  <defunctzombie>I don't mind singletons
20:17:03  <defunctzombie>I just think you can't rely on module loader for them
20:17:15  <thlorenz>I actually had found another workaround i.e. requireing backbone in one place and exposing it as 'backbone' solved it
20:17:30  <defunctzombie>we already have a "global"
20:17:38  <thlorenz>but then I'd have to remember to do this for each new singelton lib
20:17:42  <defunctzombie>so singletons should just check themselves if they really need to be singleton
20:17:50  <defunctzombie>sure.. how many of those do you really make?
20:17:58  <defunctzombie>you make it sound like an epidemic :p
20:18:11  <defunctzombie>make a singleton module then hahaha that makes it easy to make singletons rofl
20:18:45  <thlorenz>not sure, anyhoo I'll just finish up this browserify-devdupe - new name - and get on with my life ;)
20:19:10  <thlorenz>Domenic_: sorry got side tracked, but I am interested in your approach
20:19:27  * jxsonjoined
20:20:25  <thlorenz>Domenic_: ah, get it, so instead of linking I actuall move the repo inside node_modules while editing it?
20:20:45  <Domenic_>thlorenz: do you have separate repos for a single project?
20:20:49  <thlorenz>don't want to make it a submodule since it should be installed like all other modules
20:20:49  <thlorenz>yes
20:20:55  * mcollinajoined
20:20:59  <Domenic_>problematic
20:21:07  <thlorenz>so you can check them out and develop them in isolation
20:21:18  <Domenic_>are they isolated, or are they part of a single project?
20:21:35  <thlorenz>they are isolated, but can be used as part of a bigger app
20:21:48  <Domenic_>hint: the answer to that should be the same as: do they use their own indiviual backbone instances, or do they use a shared backbone instance?
20:21:55  <thlorenz>:)
20:22:08  <thlorenz>I know we had this discussion before ;)
20:22:15  <Domenic_>i think so yeah, haha
20:25:41  * kevino80joined
20:26:07  <chrisdickinson>woo: https://gist.github.com/chrisdickinson/8f555ce92887e9046e6f
20:26:57  <chrisdickinson>one liner that outputs the dependency graph of your project, and then greps for the usage of a single module
20:27:32  * nicholasfquit (Read error: Connection reset by peer)
20:28:02  * nicholasfjoined
20:32:04  <thlorenz>Domenic_: actually the submodule idea doesn't sound too bad, especially cause you could still work on it in isolation
20:32:10  <thlorenz>thanks for that idea
20:32:52  <Domenic_>thlorenz: i guess. i think it's a big mistake to try and work on these things in isolation though if later they will be sharing parts of a larger system, e.g. sharing backbone.
20:33:46  * fotoveritequit (Quit: fotoverite)
20:33:55  <thlorenz>but you could say that about any module that uses parts that all have a common dependency
20:34:14  <Domenic_>i don't think so
20:34:38  <Domenic_>the other modules are not meant to work as part of a larger system in the end product
20:34:47  <thlorenz>ok, well I see a lot of advantages here, but I guess I won't split these up into too small pieces
20:34:48  <Domenic_>meh
20:34:57  <Domenic_>i am not being that clear, and it is a bit fuzzy
20:35:10  <Domenic_>i admit i do not have an airtight argument here why it is different for app pieces vs. modules
20:35:25  <thlorenz>we can talk in about 2 months cause then I know how it went ;)
20:35:29  <Domenic_>:P
20:36:26  <defunctzombie>sounds like your framework is keeping you down hahaha
20:36:30  <defunctzombie>frameworks...
20:37:54  <thlorenz>defunctzombie: not a framework at all - just two config files driven by cli tools (one of them zuul ;) )
20:38:12  <defunctzombie>sounds like you are making more problems for yourself ;)
20:39:33  <thlorenz>just running into things not many else did since I may be one of the first who tries to build an app in a truly modular fashion
20:40:00  <thlorenz>but again - we'll talk in 2 months ;)
20:40:05  <defunctzombie>heh
20:40:19  <defunctzombie>ive been building apps with modules for a while.. not sure what problems you are having
20:45:39  <Domenic_>modular apps make sense. packagular apps, not so sure about ;)
20:45:39  * mcollinaquit (Read error: Connection reset by peer)
20:47:08  <chrisdickinson>we're definitely in the modular app camp here
20:48:05  <chrisdickinson>(at urban airship, that is)
20:54:15  * ITproquit
20:54:34  * mcollinajoined
20:54:46  * itprojoined
20:54:47  * itprochanged nick to ITpro
21:02:49  * coderzachquit (Quit: coderzach)
21:05:36  * nicholas_joined
21:06:24  * wolfeida_joined
21:07:18  * wolfeidauquit (Ping timeout: 264 seconds)
21:07:26  * nicholasfquit (Ping timeout: 264 seconds)
21:07:41  <st_luke>that freshneesez person is an idiot.
21:09:38  <defunctzombie>haha
21:13:09  <st_luke>I can't stand when people talk about domains and don't talk about ending a process
21:13:14  <st_luke>literally the most important part
21:15:21  * fotoveritejoined
21:15:53  * kevino80quit (Remote host closed the connection)
21:20:14  * djcoinquit (Quit: WeeChat 0.4.0)
21:21:04  <Domenic_>i muted that thread
21:24:01  <defunctzombie>?
21:24:04  <defunctzombie>link?
21:25:21  * kumavis_changed nick to kumavis
21:29:35  * fotoveritequit (Ping timeout: 245 seconds)
21:30:31  * aaronshafquit (Remote host closed the connection)
21:32:38  * AvianFluquit (Ping timeout: 245 seconds)
21:33:35  <st_luke>Domenic_: do you use underscore?
21:33:48  <Domenic_>st_luke: ya.
21:34:09  <st_luke>has anyone done a standalone version of its template/interpolation part
21:34:17  <st_luke>i looked into doing a lodash custom build but its like a thousand lines still
21:34:59  <Domenic_>i feel like i've seen such a modiule
21:35:34  <defunctzombie>st_luke: ive been using component/reactive
21:35:36  <defunctzombie>and am loving it
21:35:38  <Domenic_>maybe not, hmm
21:35:48  <defunctzombie>I have some fixes that make it work with browserify
21:35:57  <substack>push them upstream!
21:36:02  * joliss_joined
21:36:03  <defunctzombie>been trying :)
21:36:13  <st_luke>defunctzombie: 1600 lines of code
21:36:17  <defunctzombie>I do.. every time I make components work with browserify I submit a PR
21:36:30  <defunctzombie>st_luke: ?
21:36:35  <st_luke>defunctzombie: reactive
21:36:42  <defunctzombie>totally worth it tho
21:36:48  <defunctzombie>for what it does for me
21:36:59  <defunctzombie>everything else that does similar things has been way to complex
21:37:08  <defunctzombie>and being too frameworky for my taste
21:37:08  <st_luke>underscore's is like 50 loc
21:37:09  * jolissquit (Ping timeout: 248 seconds)
21:37:09  * joliss_changed nick to joliss
21:37:29  <defunctzombie>underscore probably doesn't do the same.. also.. did you count LOC with comments?
21:37:48  <defunctzombie>I don't really pay much attention to LOC, more interested in minified size if anything
21:37:51  <defunctzombie>and the wins from using it
21:38:22  <st_luke>if we take out comments underscore's is like 40 loc and reactive is like 1200
21:38:43  <st_luke>oh well
21:38:49  <defunctzombie>heh
21:38:58  <defunctzombie>just depends on what you want to do really
21:39:09  <st_luke>i want to die
21:39:13  <defunctzombie>hahaha
21:39:47  * mk30quit (Ping timeout: 250 seconds)
21:40:35  <defunctzombie>I have also been working in a backbone inspired "models" module
21:40:45  <defunctzombie>which plays nicely with reactive out of the box
21:41:04  <defunctzombie>so I get simple models/persisting and nice templates with binding and events
21:41:17  <defunctzombie>so far has cut down on the amount of crap dom code I have to write
21:44:09  * evboguejoined
21:46:45  * nicholas_quit (Remote host closed the connection)
21:48:10  <defunctzombie>when I get back to nyc, I need to do a node meetup on how to use reactive haha
21:48:14  <defunctzombie>the whole stack
21:48:48  <defunctzombie>my stack is getting amusing
21:49:17  <defunctzombie>express/enchilada/makeup/stylish/makeover/reactive/bamboo
21:49:32  * evboguepart
21:49:35  <mbalho>that was a haiku i think
21:49:36  * ITproquit (Ping timeout: 252 seconds)
21:49:44  <defunctzombie>hahaha
21:50:46  <mbalho>ahh need 1 more 5 syllable module for it to be a haiku
21:51:11  <mbalho>oh wait here we go:
21:51:11  <mbalho>stylish makeover
21:51:11  <mbalho>reactive enchilada
21:51:13  <mbalho>express.js
21:51:22  <mbalho>(pronounce the 'dot'
21:51:23  <mbalho>)
21:51:41  <defunctzombie>haha
21:51:45  <defunctzombie>amazing
21:55:02  * kumavisquit (Ping timeout: 240 seconds)
21:57:21  * coderzachjoined
21:58:54  * kumavisjoined
22:00:02  <defunctzombie>anyone doing anything node related with docker and digitalocean?
22:01:38  * mirkokieferquit (Quit: mirkokiefer)
22:09:19  * mk30joined
22:09:50  <thlorenz>Domenic_: actually I was wrong about npm dedupe since it does this: "If no suitable version can be found, then a warning is printed, and nothing is done."
22:10:04  <thlorenz>I was under the impression it still was deduping
22:14:20  * soldairquit (Quit: Page closed)
22:16:22  * shamaquit (Read error: Connection reset by peer)
22:17:10  * shamajoined
22:18:35  * shamaquit (Read error: Connection reset by peer)
22:18:58  * shamajoined
22:20:52  * shamaquit (Read error: Connection reset by peer)
22:21:18  * shamajoined
22:27:49  * yorickquit (Remote host closed the connection)
22:30:11  <st_luke>thorston: you went to college in 1996?
22:32:31  <defunctzombie>damn dog... that's serious
22:32:59  <st_luke>snoop dogg
22:33:33  <substack>I was 9!
22:33:53  <thlorenz>Domenic_: hey, I think I can make it dedupe like npm does - it's a bit more work, but I see a solution in my head
22:34:04  <Domenic_>thlorenz: very nice
22:34:31  <thlorenz>I suppose that would make you happier and I can then remove that huge warning https://github.com/thlorenz/browserify-devdupe#warning ;)
22:35:21  <thlorenz>maybe even change the name - we'll see, gotta focus on value pack for a bit, but sometime this week I'll take another crack -- won't even publish this yet
22:37:39  * mikolalysenkojoined
22:38:09  * thlorenzquit (Remote host closed the connection)
22:38:21  <substack>thlorenz: any plans to upstream some of your findings into `npm dedupe`?
22:41:00  * ednapiranhajoined
22:47:00  * joliss_joined
22:47:55  * jolissquit (Ping timeout: 245 seconds)
22:47:55  * joliss_changed nick to joliss
22:52:58  * dominictarrquit (Quit: dominictarr)
22:54:04  * rxgxjoined
22:56:04  <mbrevoor_>substack: this is a weird request. I have a data app that depends 5 layers deep (from older version of dnode) to your socket.io-client fork. Today github started returning a zero but tarball for this: https://github.com/substack/socket.io-client/tarball/develop -- could you edit the README or something to see if that will trigger Github to rebuild the tarball or something?
22:57:43  * ednapiranhaquit (Remote host closed the connection)
22:58:08  * fotoveritejoined
22:59:45  <substack>mbrevoor_: sent a push
23:00:18  <mbrevoor_>substack: that worked! thanks!
23:00:37  * jolissquit (Ping timeout: 246 seconds)
23:05:12  * jolissjoined
23:15:12  * jxsonquit (Remote host closed the connection)
23:17:23  * fallsemoquit (Quit: Leaving.)
23:26:13  * jxsonjoined
23:31:12  * jxsonquit (Remote host closed the connection)
23:31:50  * jergasonquit (Remote host closed the connection)
23:37:01  <Raynos>juliangruber: thunks & continuables are the same thing, different words
23:37:13  <Raynos>juliangruber: co & gens should work nicely when interchanged
23:37:28  <juliangruber>Raynos: yeah, that's rad!
23:37:48  <Raynos>juliangruber: how are you finding koa ?
23:37:51  <Raynos>it confuses me :/
23:38:39  <juliangruber>Raynos: didn't really use it yet, and yes, it's different
23:38:43  * maksimlinjoined
23:39:14  <juliangruber>but like how simple it looks, and the context vs (req, res) is nice
23:39:14  * mbrevoor_quit (Remote host closed the connection)
23:39:19  <juliangruber>i really like that
23:41:29  * jxsonjoined
23:53:02  <Raynos>juliangruber: the problem is that context is very magical
23:53:08  <Raynos>where as (req, res) works without the framework
23:53:33  <juliangruber>if you want to pass req/res somewhere just pass (this.req, this.res)
23:53:41  <juliangruber>or are you concerned about other sideeffects?
23:54:17  <Raynos>juliangruber: i dont want to write function () { this.body = "magical thing" }
23:54:37  <juliangruber>it's a totally different approach
23:54:46  <Raynos>sure
23:54:51  <Raynos>but its a walled garden
23:54:53  <juliangruber>the ecosystem that grows around that will show how it works in practice
23:54:55  <Raynos>the generator usage is very interesting
23:55:25  <juliangruber>yeah, with async functions using `this` wouldn't be practicable