Created
January 8, 2014 10:08
-
-
Save phated/8314514 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2014-01-08 09:48:39 substack https://gist.github.com/substack/8313379 | |
2014-01-08 09:48:39 substack Raynos: ^^^ | |
2014-01-08 09:48:39 substack a task automation framework to go along with your http framework | |
2014-01-08 09:48:39 guybrush i knew you are into build-systems now there is the proof | |
2014-01-08 09:48:39 phated substack: are you an idiot by choice or do you just ignore everything that doesn't come from your own head? | |
2014-01-08 09:48:39 Raynos substack: :D | |
2014-01-08 09:48:39 Raynos substack: nice! | |
2014-01-08 09:48:39 substack phated: I can't understand why people don't just use bash or makefiles or write little scripts | |
2014-01-08 09:48:39 Raynos That is really good | |
2014-01-08 09:48:39 Raynos It's actually really good | |
2014-01-08 09:48:39 phated i am assuming you are trashing on gulp now | |
2014-01-08 09:48:39 phated which is made to do just what you are saying with a little sugar on the CLI part | |
2014-01-08 09:48:39 substack gulp isn't so bad, I just don't see the point of it | |
2014-01-08 09:48:39 phated it's a minimal amount of sugar | |
2014-01-08 09:48:39 Raynos substack: you should create a module called `dotslashtaskdotjs` on npm | |
2014-01-08 09:48:39 phated what isn't the point | |
2014-01-08 09:48:39 substack the minimal amount of sugar is 0 sugar | |
2014-01-08 09:48:39 phated it is trying to be idiomatic | |
2014-01-08 09:48:39 phated you wrote sugar on process.env parsing | |
2014-01-08 09:48:39 phated optimist is sugar | |
2014-01-08 09:48:39 phated what are you even talk about | |
2014-01-08 09:48:39 substack I don't use optimist anymore. | |
2014-01-08 09:48:39 Raynos and substack then stopped using optimist and wrote minimist :D | |
2014-01-08 09:48:39 substack yep | |
2014-01-08 09:48:39 phated minimist is still sugar | |
2014-01-08 09:48:39 Raynos gulp is ok if your doing non trivial stuff | |
2014-01-08 09:48:39 phated you are abstracting an API that isn't great | |
2014-01-08 09:48:39 phated (process.env) | |
2014-01-08 09:48:39 phated that is sugar | |
2014-01-08 09:48:39 Raynos bluebird & lodash | |
2014-01-08 09:48:39 Raynos have non trivial shit | |
2014-01-08 09:48:39 substack minimist is a function that takes an array and returns an object | |
2014-01-08 09:48:39 substack I don't see how that is "sugar" | |
2014-01-08 09:48:39 Raynos now whether they should or not is a seperate argument | |
2014-01-08 09:48:39 Raynos but for those cases gulp is worthwhile | |
2014-01-08 09:48:39 phated substack: that is sugar | |
2014-01-08 09:48:39 phated sugar being abstraction | |
2014-01-08 09:48:39 phated you abstracted something | |
2014-01-08 09:48:39 phated software is abstraction | |
2014-01-08 09:48:39 substack what's wrong with abstraction? | |
2014-01-08 09:48:39 phated all software | |
2014-01-08 09:48:39 phated nothing | |
2014-01-08 09:48:39 substack phated: I don't understand. | |
2014-01-08 09:48:39 phated you shit on it constantly | |
2014-01-08 09:48:39 phated everything you gist or tweet or reddit is shitting on abstraction | |
2014-01-08 09:48:39 Raynos we make fun of gulp | |
2014-01-08 09:48:39 substack applying abstraction in the wrong places can be harmful | |
2014-01-08 09:48:39 Raynos because its not needed | |
2014-01-08 09:48:39 substack what Raynos says | |
2014-01-08 09:48:39 Raynos its not that its not needed | |
2014-01-08 09:48:39 Raynos its that the complexity it brings | |
2014-01-08 09:48:39 Raynos in most situations | |
2014-01-08 09:48:39 Raynos is overkill | |
2014-01-08 09:48:39 substack it's useful as a hand-holdy kind of thing | |
2014-01-08 09:48:39 Raynos in some situations gulp is fine | |
2014-01-08 09:48:39 Raynos just like in some situations express is fine | |
2014-01-08 09:48:39 substack for people who have a grunt-shaped box in their head and want to stuff something into that hole | |
2014-01-08 09:48:39 phated gulp is nothing like grunt | |
2014-01-08 09:48:39 rowbit1 Hourly usage stats: [developer: 0, free: 26] | |
2014-01-08 09:48:39 timoxley one neat thing about gulp is that it's encouraging people to use streams | |
2014-01-08 09:48:39 phated the current problem is that people are trying to apply grunt paradigms to it | |
2014-01-08 09:48:39 phated gulp is just JS | |
2014-01-08 09:48:39 Raynos so grunt is terrible and we all agree. | |
2014-01-08 09:48:39 Raynos secondly gulp is still bad | |
2014-01-08 09:48:39 phated with an abstraction API for CLI | |
2014-01-08 09:48:39 timoxley so perhaps they'll make some gulp streams and realise, why do I need gulp? | |
2014-01-08 09:48:39 phated there is no such thing as a gulp stream | |
2014-01-08 09:48:39 Raynos yes there is | |
2014-01-08 09:48:39 phated this is the problem, you guys don't actually read shit before trashing it | |
2014-01-08 09:48:39 Raynos its a special stream | |
2014-01-08 09:48:39 Raynos where each value is a gulp file | |
2014-01-08 09:48:39 phated no, vinyl is a stream | |
2014-01-08 09:48:39 phated based on a glob stream | |
2014-01-08 09:48:39 Raynos each chunk in a gulp stream has an interface | |
2014-01-08 09:48:39 phated it has nothing to do with gulp except gulp passes them around | |
2014-01-08 09:48:39 Raynos maybe its not gulp stream | |
2014-01-08 09:48:39 Raynos maybe its vinyl stream | |
2014-01-08 09:48:39 phated the distinction matters | |
2014-01-08 09:48:39 Raynos phated: are you the author of gulp ? | |
2014-01-08 09:48:39 phated why would that matter? | |
2014-01-08 09:48:39 Raynos because i tend to only say bad things | |
2014-01-08 09:48:39 Raynos I wouldnt say things like "gulp is cool. I want our company to get off grunt and im happy to move to gulp because its really not that bad. im just being an opinionated dick" | |
2014-01-08 09:48:39 Raynos basically if your the author of gulp, it reminds me not to be a dick on the internet. | |
2014-01-08 09:48:39 timoxley phated: sure, no gulp streams but there's stuff like this | |
2014-01-08 09:48:39 timoxley https://github.com/terinjokes/gulp-uglify/blob/master/index.js | |
2014-01-08 09:48:39 guybrush hey substack did you see the sourcemap-PR in browserify? | |
2014-01-08 09:48:39 timoxley 'gulp-uglify' | |
2014-01-08 09:48:39 substack guybrush: yep, still mulling over whether to roll it out or wait a bit | |
2014-01-08 09:48:39 substack guybrush: I'll probably roll it out soon | |
2014-01-08 09:48:39 guybrush kk just wanted to make sure :D | |
2014-01-08 09:48:39 timoxley nothing to do with gulp really, it's just making it into streamy interface | |
2014-01-08 09:48:39 guybrush is it because not all browsers switched to the new //# ? | |
2014-01-08 09:48:39 timoxley i.e why isn't it just 'uglify-stream' | |
2014-01-08 09:48:39 substack one thing I don't like about gulp is how people are writing plugins for it instead of writing generic streaming module interfaces | |
2014-01-08 09:48:39 timoxley ^ that | |
2014-01-08 09:48:39 phated timoxley: the idea is to get it to move upstream | |
2014-01-08 09:48:39 phated but most upstream authors ignore it | |
2014-01-08 09:48:39 Raynos substack: that is the main problem | |
2014-01-08 09:48:39 Raynos anything with a plugin eco system when its not needed is weird | |
2014-01-08 09:48:39 timoxley people like plugin eco systems though because they make you feel safe | |
2014-01-08 09:48:39 Raynos thats what is cool about hapi | |
2014-01-08 09:48:39 phated substack: Raynos: I agree, but when you start dealing with globs, things get messy | |
2014-01-08 09:48:39 substack like why is there a gulp-browserify plugin at all? You can just browserify().bundle() and you get a stream | |
2014-01-08 09:48:39 Raynos the hapi people say "dont author hapi plugins. author modules, only create hapi plugins when needed" | |
2014-01-08 09:48:39 phated hold up substack | |
2014-01-08 09:48:39 guybrush hughsk made a gulp-browserify-thing i think :p | |
2014-01-08 09:48:39 substack phated: my example has globs in it | |
2014-01-08 09:48:39 phated hold up | |
2014-01-08 09:48:39 substack catw works with globs without any weirdness | |
2014-01-08 09:48:39 phated again | |
2014-01-08 09:48:39 phated hold up | |
2014-01-08 09:48:39 phated substack: don't blame a system because some people do stupid shit | |
2014-01-08 09:48:39 guybrush i love it when people discuss things that are purely a matter of taste and preferences | |
2014-01-08 09:48:39 phated gulp would work completely perfectly and amazing with the browserify stream | |
2014-01-08 09:48:39 phated you can return a stream from a task, and orchestrator manages the order of tasks | |
2014-01-08 09:48:39 phated it would wait for browserify stream to fire the end event | |
2014-01-08 09:48:39 guybrush its like watching a good film with good conversations in it | |
2014-01-08 09:48:39 timoxley phated: but now effort, person hours, is going into gulp-browserify instead of just browserify itself | |
2014-01-08 09:48:39 phated timoxley: that was that person's time, not yours or substacks or Raynos' | |
2014-01-08 09:48:39 Raynos true | |
2014-01-08 09:48:39 phated a gulp task can consist of anything | |
2014-01-08 09:48:39 Raynos but i blame gulp | |
2014-01-08 09:48:39 Raynos for making anti patterns too easy | |
2014-01-08 09:48:39 Raynos :D | |
2014-01-08 09:48:39 phated that's a sad approach to take | |
2014-01-08 09:48:39 phated and horrible for the community | |
2014-01-08 09:48:39 phated I know you are smart people | |
2014-01-08 09:48:39 substack guybrush: haha yeah that's why I wasn't taking that post seriously at all and why it's a gist instead of a full blog post :p | |
2014-01-08 09:48:39 timoxley phated: horrible for the community is the problem | |
2014-01-08 09:48:39 guybrush just say what you all fear, once everyone makes stuff with gulp you HAVE to use it | |
2014-01-08 09:48:39 guybrush and thats where things go wrong :p | |
2014-01-08 09:48:39 timoxley phated: gulp creating yet another unnecessary silo | |
2014-01-08 09:48:39 guybrush like connect-middleware | |
2014-01-08 09:48:39 phated it's not a silo | |
2014-01-08 09:48:39 phated it is getting people away from the silo of grunt | |
2014-01-08 09:48:39 phated it is just JS | |
2014-01-08 09:48:39 phated you can use any node module | |
2014-01-08 09:48:39 phated most of my shit doesn't even use vinyl streams | |
2014-01-08 09:48:39 timoxley phated: you've very passionate about this | |
2014-01-08 09:48:39 phated if i want to use know to push stuff to s3, that is totally fine because it returns a stream | |
2014-01-08 09:48:39 guybrush my favorite silo is component.io :p | |
2014-01-08 09:48:39 phated i return that from my gulp task, and orchestrator handles any tasks that depend on that | |
2014-01-08 09:48:39 guybrush phated: why is grunt bad? | |
2014-01-08 09:48:39 substack phated: why not just push people onto "plugins" that aren't instead? By having non-standard interfaces for plugins gulp is encouraging people to write more silo code ala connect middleware etc | |
2014-01-08 09:48:39 Raynos phated: sec, i'll make a counter example for gulp | |
2014-01-08 09:48:39 Raynos gulp suffers from connect middleware problem | |
2014-01-08 09:48:39 phated huh | |
2014-01-08 09:48:39 Raynos really gulp is unnecessary abstraction on top of vinyl streams | |
2014-01-08 09:48:39 phated so vinyl streams are a fine abstraction? | |
2014-01-08 09:48:39 guybrush is vinyl actually a js thing? i need to google that | |
2014-01-08 09:48:39 phated Raynos: are vinyl streams a fine abstraction? your previous statement implies that | |
2014-01-08 09:48:39 Raynos i dont know what a vinyl stream is | |
2014-01-08 09:48:39 Raynos maybe, maybe not | |
2014-01-08 09:48:39 Raynos but i think having some kind of globish stream | |
2014-01-08 09:48:39 Raynos being some kind of abstraction is fine | |
2014-01-08 09:48:39 Raynos sec, still working on a counter example for gulp | |
2014-01-08 09:48:39 phated it's really hard to have an actual debate with you guys when you don't research stuff before trolling | |
2014-01-08 09:48:39 phated which is where my original (admittedly asshole-ish) comment came from | |
2014-01-08 09:48:39 Raynos i dont need to. | |
2014-01-08 09:48:39 phated because you are god Raynos the almighty? | |
2014-01-08 09:48:39 Raynos i've seen enough | |
2014-01-08 09:48:39 phated creator of heaven and earth | |
2014-01-08 09:48:39 phated and all that is JS | |
2014-01-08 09:48:39 Raynos no, thats bullshit. | |
2014-01-08 09:48:39 phated exactly | |
2014-01-08 09:48:39 phated you don't have all ideas, or all thoughts, or even begun to consider the amount of programming knowledge in the world before you | |
2014-01-08 09:48:39 phated there are other ways to look at things | |
2014-01-08 09:48:39 phated don't point to one tiny piece of something, give it as the reason that entire thing is wrong | |
2014-01-08 09:48:39 substack phated: it's more that a bunch of us have seen the problems that some of these ideas can create for code reuse and interoperability | |
2014-01-08 09:48:39 phated yes, the original discussions that lead to gulp were to just use plain everything | |
2014-01-08 09:48:39 phated in practice, it doesn't work | |
2014-01-08 09:48:39 Raynos phated: https://gist.github.com/Raynos/8313682 | |
2014-01-08 09:48:39 phated because huge swathes of things don't interoperate | |
2014-01-08 09:48:39 Raynos so the problem is not the ideas of gulp | |
2014-01-08 09:48:39 Raynos its the packaging | |
2014-01-08 09:48:39 substack phated: gulp doesn't seem to be encouraging people to use vanilla abstractions | |
2014-01-08 09:48:39 Raynos the fundamental problem is how gulp packages up | |
2014-01-08 09:48:39 Raynos as "gulp automation framework" and "gulp plugins" | |
2014-01-08 09:48:39 Raynos instead of "glob streams" and "npm modules" | |
2014-01-08 09:48:39 phated that is definitely valid | |
2014-01-08 09:48:39 Raynos my example doesn't work at all, but you can imagine it would work easily | |
2014-01-08 09:48:39 Raynos but also notice how the code is basically the same | |
2014-01-08 09:48:39 funkytek gulp is encouraging vanilla abstractions, much more so than grunt at least | |
2014-01-08 09:48:39 Raynos so gulp isnt doing anything wrong at the abstraction level | |
2014-01-08 09:48:39 Raynos its doing something wrong at the delivery & execution | |
2014-01-08 09:48:39 phated Raynos: where is the CLI abstraction? | |
2014-01-08 09:48:39 Raynos phated: it just works | |
2014-01-08 09:48:39 phated wat | |
2014-01-08 09:48:39 Raynos node javascript.js build | |
2014-01-08 09:48:39 funkytek it's just a little sugar, very light convention so you can have plugins that work ootb | |
2014-01-08 09:48:39 funkytek instead of writing your own wrapper code | |
2014-01-08 09:48:39 Raynos https://gist.github.com/Raynos/8313682#file-javascript-js-L60 | |
2014-01-08 09:48:39 Raynos https://gist.github.com/Raynos/8313682#file-javascript-js-L11 | |
2014-01-08 09:48:39 substack phated: why doesn't gulp just encourage people to use a copy module to copy files? I don't understand why that needs to happen through the globbing plumbing | |
2014-01-08 09:48:39 phated ok | |
2014-01-08 09:48:39 Raynos parse command as argument, run task. | |
2014-01-08 09:48:39 Raynos its a bit hard to see in how i organized the code, sec | |
2014-01-08 09:48:39 phated substack: i believe that was a marketing ploy | |
2014-01-08 09:48:39 phated substack: because grunt requires a COPY plugin | |
2014-01-08 09:48:39 phated substack: so gulp was showing that you can just pipe src and dest vinyl streams together | |
2014-01-08 09:48:39 Raynos https://gist.github.com/Raynos/8313682#file-javascript-js-L54 | |
2014-01-08 09:48:39 Raynos far better ^^ | |
2014-01-08 09:48:39 phated Raynos: yeah, that's better | |
2014-01-08 09:48:39 Raynos also notice how I wrote a 7 line function thats basically gulp.dest | |
2014-01-08 09:48:39 substack phated: that's so weird. gulp should encourage use of a copy module instead that is completely separate from gulp | |
2014-01-08 09:48:39 funkytek but you guys are harping on small bits of sugar | |
2014-01-08 09:48:39 Raynos another thing i dislike about gulp | |
2014-01-08 09:48:39 funkytek 7 line function, ok, but its just sugar in the lib | |
2014-01-08 09:48:39 Raynos is it couples task automation with glob processing | |
2014-01-08 09:48:39 Raynos like i dont need the idea of `gulp.task` and `gulp.run` in the same module as `gulp.dest` and `gulp.src` | |
2014-01-08 09:48:39 Raynos too much magic, gtfo. | |
2014-01-08 09:48:39 phated wat | |
2014-01-08 09:48:39 substack Raynos: you should cover this in your http-framework talk | |
2014-01-08 09:48:39 funkytek that's gotta be trolling | |
2014-01-08 09:48:39 Raynos why gulp.run('scripts') when i can just call the scripts() function | |
2014-01-08 09:48:41 phated Raynos: please, please, please do some research before you debate | |
2014-01-08 09:48:45 substack Raynos: then you can run it externally I think | |
2014-01-08 09:48:52 --> coderzach (~coderzach@cpe-74-71-137-193.nyc.res.rr.com) has joined #stackvm | |
2014-01-08 09:48:59 -- Mode #stackvm [+cnt] | |
2014-01-08 09:48:59 -- Channel created on Thu, 18 Mar 2010 01:02:18 | |
2014-01-08 09:49:05 phated gulp exposes an instance of orchestrator | |
2014-01-08 09:49:15 phated so you could execute tasks from anywhere | |
2014-01-08 09:49:19 substack but I agree, there should be separate modules to handle globbing and running tasks | |
2014-01-08 09:49:36 phated substack: globbing is a separate module | |
2014-01-08 09:49:43 funkytek there are | |
2014-01-08 09:49:51 substack phated: it's all a grab bag on the `gulp` instance though | |
2014-01-08 09:49:53 phated there has been discussions in the issue to split out gulp.src and gulp.dest | |
2014-01-08 09:50:11 Raynos so I guess my problem is | |
2014-01-08 09:50:11 phated substack: yes, gulp is an abstraction on top of a bunch of libraries | |
2014-01-08 09:50:15 phated like the stuff you write | |
2014-01-08 09:50:25 Raynos that gulp is a glue module when using glob-watcher and orchestrator directly | |
2014-01-08 09:50:27 Raynos is probably better | |
2014-01-08 09:50:32 phated Raynos: correct | |
2014-01-08 09:50:34 Raynos that runs into the other problem :/ | |
2014-01-08 09:50:41 Raynos the fact that you need a "glue module" like gulp | |
2014-01-08 09:50:46 phated you don't need it | |
2014-01-08 09:50:49 phated gulp is the CLI | |
2014-01-08 09:50:51 phated seriously | |
2014-01-08 09:50:53 phated that is all it is | |
2014-01-08 09:50:54 Raynos to have cohesive documentation and have it be "big enough" that the js community might start "using it" | |
2014-01-08 09:51:00 phated well, and the src/dest | |
2014-01-08 09:51:05 substack Raynos: bingo | |
2014-01-08 09:51:05 phated but that could be split out | |
2014-01-08 09:51:23 substack people gravitate towards big things | |
2014-01-08 09:51:25 substack and I have no idea why | |
2014-01-08 09:51:29 Raynos like its as if the js community needs a fat module before it pays attention and doesnt think about using the underlying parts | |
2014-01-08 09:51:35 Raynos substack: because search is really hard | |
2014-01-08 09:51:41 dlmanning substack: the higgs boson | |
2014-01-08 09:51:46 funkytek it's not big, its small | |
2014-01-08 09:51:46 phated discovery is horrible | |
2014-01-08 09:51:49 funkytek people have been interested | |
2014-01-08 09:51:55 funkytek as an alternative to grunt | |
2014-01-08 09:51:56 Raynos substack: people are wasiting time making grab bags because they dont want to solve the discovery / search problem | |
2014-01-08 09:52:02 --> cpup (~cpup@69.183.22.40) has joined #stackvm | |
2014-01-08 09:52:11 Raynos funkytek: thats like saying "jquery is not big. its really small compared to dojo" | |
2014-01-08 09:52:24 funkytek it's not at all like saying that | |
2014-01-08 09:52:37 funkytek i'm saying people are finding it interesting because it is lean | |
2014-01-08 09:52:47 funkytek because it's more expressive | |
2014-01-08 09:52:51 funkytek and it's basically just code | |
2014-01-08 09:52:55 funkytek with a tiny bit of sugar | |
2014-01-08 09:52:55 Raynos phated: so its non trivial from the gulp docs | |
2014-01-08 09:52:59 Raynos to know that tasks can have dependencies | |
2014-01-08 09:53:10 <-- coderzach (~coderzach@cpe-74-71-137-193.nyc.res.rr.com) has quit (Ping timeout: 246 seconds) | |
2014-01-08 09:53:14 phated https://github.com/gulpjs/gulp#gulptaskname-deps-fn | |
2014-01-08 09:53:20 phated Raynos: ^ | |
2014-01-08 09:53:23 Raynos because task('default') should have dependencies on scripts & copy instead of calling gulp.run | |
2014-01-08 09:53:37 Raynos phated: I only bother reading the example | |
2014-01-08 09:53:48 funkytek you're arguments are muddled, you're mixing "a lib shouldn't exist" with technical criticism | |
2014-01-08 09:53:51 Raynos im not going to read the entire documentation | |
2014-01-08 09:53:55 phated Raynos: but you just said docs? | |
2014-01-08 09:54:03 funkytek you're showing examples that are more vanilla | |
2014-01-08 09:54:06 guybrush just rename very gulp-module in something without gulp in it, it wont be treated as a framework anymore! | |
2014-01-08 09:54:08 Raynos i didnt mean to say docs | |
2014-01-08 09:54:10 guybrush *ervery | |
2014-01-08 09:54:13 guybrush *every | |
2014-01-08 09:54:16 funkytek but it's just a little sugar on top of what you basically want | |
2014-01-08 09:54:27 funkytek with a few exceptions technically, that's fine | |
2014-01-08 09:54:29 Raynos so what im saying is | |
2014-01-08 09:54:31 phated funkytek: they said they don't like sugar | |
2014-01-08 09:54:34 Raynos i dont have much technical critism | |
2014-01-08 09:54:35 phated even though they do | |
2014-01-08 09:54:39 Raynos my critism is philosophical | |
2014-01-08 09:54:40 funkytek but you're mixing that argument with the philisophical | |
2014-01-08 09:54:50 Raynos as in this is a stupid thing to invest time and energy in because silos | |
2014-01-08 09:55:18 guybrush Raynos: is connect a silo? | |
2014-01-08 09:55:20 funkytek but people clearly find it useful, just like they find grunt useful | |
2014-01-08 09:55:23 Raynos yes 100% | |
2014-01-08 09:55:24 funkytek for building apps | |
2014-01-08 09:55:25 Raynos connect is a silo. | |
2014-01-08 09:55:33 funkytek is connect useful? | |
2014-01-08 09:55:42 --> ericholscher (~eric@216.151.13.75) has joined #stackvm | |
2014-01-08 09:55:44 grncdr oh man, I just read so much scrollback twf | |
2014-01-08 09:55:47 grncdr *wtf | |
2014-01-08 09:55:47 Raynos funkytek: 90% of everything is shit. | |
2014-01-08 09:56:04 substack funkytek: to some but everything built for it has a needlessly restricted audience for being built against its divisive api | |
2014-01-08 09:56:13 Raynos appeal to majority means nothing. | |
2014-01-08 09:56:25 funkytek -_- | |
2014-01-08 09:56:28 funkytek not sure if trolling | |
2014-01-08 09:56:29 Raynos :D | |
2014-01-08 09:56:38 guybrush so please give me your opinion on that: i use connect because it does everything i want with view lines of code and it is actively developed, so i can patch all the 1000 projects i use it in at once | |
2014-01-08 09:56:43 guybrush it this a bad thing? | |
2014-01-08 09:56:51 guybrush i think im driving pretty good with that | |
2014-01-08 09:57:02 grncdr funkytek: no, connect is not useful, connect is a leaky abstraction | |
2014-01-08 09:57:08 <-- cpup (~cpup@69.183.22.40) has quit (Ping timeout: 272 seconds) | |
2014-01-08 09:57:08 guybrush again i like to skip connect in fun-projects | |
2014-01-08 09:57:09 Raynos > gulp is cool. I want our company to get off grunt and im happy to move to gulp because its really not that bad. im just being an opinionated dick | |
2014-01-08 09:57:20 Raynos I suffer from "somebody is wrong on the internet" | |
2014-01-08 09:57:49 grncdr I say this as somebody who wrote a framework, with plugins built up around connect | |
2014-01-08 09:57:50 Raynos guybrush: connect isn't that bad. I obvouisly like https://github.com/Raynos/http-framework/ | |
2014-01-08 09:58:05 grncdr it provided me approximately zero-value over just doing things myself | |
2014-01-08 09:58:08 guybrush really i just want to know your opinion on my statement | |
2014-01-08 09:58:13 guybrush im thinking about this a lot | |
2014-01-08 09:58:22 grncdr guybrush: which statement... | |
2014-01-08 09:58:33 phated Raynos: since you have conceded on technical merit, i think it would be super helpful if you would submit a ticket about philosophical problems you have with it | |
2014-01-08 09:58:55 grncdr guybrush: "i use connect because it does everything i want with view lines of code and it is actively developed, so i can patch all the 1000 projects i use it in at once" | |
2014-01-08 09:58:55 guybrush that i use connect because its actively developed and does all the things at once that i need to accomplish work | |
2014-01-08 09:59:01 guybrush right | |
2014-01-08 09:59:01 funkytek so minus appeal to majority, I find it useful, because I build apps for a living - i want to grab a gulp file and get moving, not discover and build wrappers around a bunch of npm modules | |
2014-01-08 09:59:09 Raynos phated: not quite true. I think your glob stream interface is probably a little too complex | |
2014-01-08 09:59:12 funkytek it's much easier to do this with gulp than grunt | |
2014-01-08 09:59:22 funkytek please file ticket , Raynos | |
2014-01-08 09:59:25 Raynos having a stream of streams or a stream of buffers feels bad | |
2014-01-08 09:59:26 funkytek if you're interested | |
2014-01-08 09:59:34 grncdr guybrush: that's fair, but it's not an argument for connect, it's an argument for better discoverability | |
2014-01-08 09:59:44 guybrush grncdr: no its not | |
2014-01-08 09:59:47 phated Raynos: i definitely think that conversation would be helpful to vinyl | |
2014-01-08 09:59:49 Raynos funkytek: sure, as an app developer yes. gulp really isn't a bad choice | |
2014-01-08 09:59:50 guybrush its an argument for frameworks | |
2014-01-08 10:00:09 Raynos but im not an app developer nor am I get stuff done person | |
2014-01-08 10:00:13 guybrush again i really like to skip connect | |
2014-01-08 10:00:14 Raynos I'm a do it once and do it right person | |
2014-01-08 10:00:17 phated Raynos: https://github.com/wearefractal/vinyl | |
2014-01-08 10:00:21 guybrush its just for work its pretty hard to skip | |
2014-01-08 10:00:35 funkytek Contra and I build lots of diverse apps all the time, the idea for gulp came out of our dissatisfaction with grunt's config over code | |
2014-01-08 10:00:39 funkytek it was too inflexible | |
2014-01-08 10:00:45 grncdr guybrush: the distinction between framework and library get's a bit fuzzy but... | |
2014-01-08 10:01:12 funkytek and lack of rigid standards for plugins | |
2014-01-08 10:01:15 --> cpup (~cpup@69.183.22.40) has joined #stackvm | |
2014-01-08 10:01:21 funkytek as app developers we're productivity driven | |
2014-01-08 10:01:24 phated funkytek: not only that, but not being able to use the existing ecosystem | |
2014-01-08 10:01:25 grncdr connect is a grab bag of utiliities that can be glued together with a unifying abstraction: (req, res, next) -> void | |
2014-01-08 10:01:38 guybrush well you can see it how you want | |
2014-01-08 10:01:47 grncdr my point is that most of the utiltities don't benefit from that abstraction | |
2014-01-08 10:01:53 funkytek a gulp plugin is just a function, i understand your philosophical issue with silo's though | |
2014-01-08 10:02:05 funkytek but from a pragmatic standpoint it is productive | |
2014-01-08 10:02:28 guybrush grncdr: right, thats what i said before - once the community agrees to use something everyone builds uppon it and there we go | |
2014-01-08 10:02:30 grncdr the benefit I thought you were talking about was "connect has many things I want and I can put them together easily" | |
2014-01-08 10:02:43 phated a gulp plugin is a node module that receives a vinyl stream and outputs a vinyl stream | |
2014-01-08 10:02:46 guybrush you have to go with it, in order to be competitive (not in a bad sense) | |
2014-01-08 10:02:48 phated a gulp task is just a function | |
2014-01-08 10:02:51 Raynos funkytek: so i could say your taking a productivity shortcut that hurts the community in the long run | |
2014-01-08 10:03:05 guybrush somehow this is also true for browserify btw | |
2014-01-08 10:03:07 funkytek why does it hurt the community | |
2014-01-08 10:03:24 funkytek i really don't agree with that | |
2014-01-08 10:03:25 Raynos because time is wasted writing gulp plugins instead of gulp wrappers around standalone modules | |
2014-01-08 10:03:28 Raynos same with grunt | |
2014-01-08 10:03:38 Raynos a lot of time is wasted writing grunt plugins instead of grunt wrappers around standalone modules | |
2014-01-08 10:03:44 funkytek a gulp plugin is a gulp wrapper around a standalone npm module | |
2014-01-08 10:03:47 Raynos if that wasn't the case then gulp could trivially wrap 90% of grunt code | |
2014-01-08 10:04:17 guybrush Raynos: but a lot of different opinions/approaches and stuff is a good thing | |
2014-01-08 10:04:22 funkytek i think gulp plugins are what you want | |
2014-01-08 10:04:27 funkytek you should look at some :) | |
2014-01-08 10:04:31 guybrush i welcome gulp (though i will never use it :p) | |
2014-01-08 10:04:42 Raynos maybe i assume gulp plugin authors are as bad as grunt plugin authors :p | |
2014-01-08 10:04:46 funkytek gulp plugins are just functions that use streams | |
2014-01-08 10:04:49 Raynos sec. | |
2014-01-08 10:04:53 funkytek no the gulp plugin guidelines are very strict | |
2014-01-08 10:05:03 guybrush funkytek: whats the different between gulp and just node? | |
2014-01-08 10:05:11 guybrush functions that use streams? | |
2014-01-08 10:05:16 phated Raynos: gulp plugins wrap an existing node module in a stream | |
2014-01-08 10:05:18 guybrush why do i need gulp for that? | |
2014-01-08 10:05:35 <-- ericholscher (~eric@216.151.13.75) has left #stackvm | |
2014-01-08 10:06:09 funkytek convenience , a little sugar and pluins that work ootb | |
2014-01-08 10:07:08 timoxley funkytek: another issue with wrappers is they fall out of sync with the original code | |
2014-01-08 10:07:09 guybrush hmmm its ok | |
2014-01-08 10:07:17 guybrush as long as i dont have to use it haha | |
2014-01-08 10:07:22 grncdr guybrush: ok, so I guess the distinction I'm making is that "connect middleware the convention" doesn't actually add a lot of value, but *does* require the caller to either "be connect compatible" or fake it. This requirement on *consumers* of your software is what can occasionally cause friction or awkward API's when you want to use that connect-specific code in a non-connect context (something I've personally run in to) | |
2014-01-08 10:07:27 grncdr whoa, wall of text | |
2014-01-08 10:07:29 grncdr :D | |
2014-01-08 10:07:30 timoxley browserify updates, when does the wrapper update? | |
2014-01-08 10:07:40 Raynos var File = require('gulp-util').File; instead of `var File = require("vinyl")` is annoying | |
2014-01-08 10:07:46 grncdr timoxley: "later" ;) | |
2014-01-08 10:07:59 timoxley bad. | |
2014-01-08 10:08:00 guybrush grncdr: i ran into that too | |
2014-01-08 10:08:08 guybrush its why i think about it a lot | |
2014-01-08 10:08:11 Raynos also just making me look at gulp-util makes me sad :( | |
2014-01-08 10:08:20 Raynos if you need the name util in a module name then :( | |
2014-01-08 10:08:24 funkytek timoxley: so it's better to update it yourself | |
2014-01-08 10:08:35 funkytek what's the difference | |
2014-01-08 10:08:38 funkytek it has to be updated | |
2014-01-08 10:08:54 timoxley funkytek: it's better to not have to rely on a 3rd party to update their wrapper to get the latest | |
2014-01-08 10:09:12 funkytek timeoxley: idk if you've heard of this thing called github | |
2014-01-08 10:09:13 timoxley it's a real pain in the ass | |
2014-01-08 10:09:20 funkytek it's pretty cool | |
2014-01-08 10:09:24 phated Raynos: huh? `var File = require('vinyl');` | |
2014-01-08 10:09:29 phated that is from the readme | |
2014-01-08 10:09:31 grncdr guybrush: my thought is that if you *are* using connect, wrapping anything in a 2-line function to make it call `next` at the write time is trivial. Pulling behaviour that's wrapped in a closure out is not | |
2014-01-08 10:09:40 Raynos i was looking at implementation of gulp.src | |
2014-01-08 10:09:40 funkytek Raynos: you must have some outdated code | |
2014-01-08 10:09:49 Raynos https://github.com/gulpjs/gulp/blob/master/lib/createInputStream/index.js#L4 | |
2014-01-08 10:09:53 substack guybrush: yes, it can be a problem in browserify too, which is why browserify plugins are only module.exports = function (file) { return stream } but there can still be issues with that | |
2014-01-08 10:10:18 phated Raynos: meh, i linked you to the actual repo | |
2014-01-08 10:10:20 <-- cpup (~cpup@69.183.22.40) has quit (Ping timeout: 246 seconds) | |
2014-01-08 10:10:41 substack and that's why I tried really hard with browserify not to invent anything new and just use the node APIs verbatim when I could | |
2014-01-08 10:10:47 guybrush substack: it takes a lot to build something like browserify, its not like i can just write a cool thing that works as good as it | |
2014-01-08 10:11:01 grncdr geez this is a real rager ;P | |
2014-01-08 10:11:01 guybrush so... when i make a project | |
2014-01-08 10:11:06 substack guybrush: but you almost can ;) | |
2014-01-08 10:11:09 guybrush its not like i can just make it awesome by default | |
2014-01-08 10:11:13 phated Raynos: gulp-util.File is going to be vinyl in the next release, i believe | |
2014-01-08 10:11:26 substack guybrush: since module-pack, insert-module-globals, and browser-pack are all completely independent projects | |
2014-01-08 10:12:13 guybrush i know, i waited a view seconds before i hit enter when i claimed that browserify suffers from the same problem haha | |
2014-01-08 10:12:16 substack phated: why not just use callbacks or events instead of fitting everything into vinyl streams? | |
2014-01-08 10:12:23 substack not everything is well suited to streams | |
2014-01-08 10:12:23 phated substack: it does that | |
2014-01-08 10:12:32 phated again, it does that | |
2014-01-08 10:12:41 phated that's the awesome things about docs, they tell you that stuff | |
2014-01-08 10:12:54 substack phated: all the examples I've ever seen only use .pipe() | |
2014-01-08 10:13:03 phated substack: https://github.com/gulpjs/gulp#async-task-support | |
2014-01-08 10:13:13 substack guybrush: it's something I worry about though | |
2014-01-08 10:13:30 substack I really don't want browserify to create a silo like connect did | |
2014-01-08 10:13:41 grncdr phated: legitimate Gulp newb question, why use it? | |
2014-01-08 10:13:56 grncdr I'm not trolling, I've read (most) of the scrollback | |
2014-01-08 10:13:56 phated substack: from my point of view, browserify is already a silo | |
2014-01-08 10:13:57 substack the only silo we should have is "the node way", browser and server side alike | |
2014-01-08 10:13:59 Raynos phated, funkytek: I changed my mind, gulp is cool, im learning from it | |
2014-01-08 10:14:08 Raynos theres a bunch of cool modules in there that i can use directly | |
2014-01-08 10:14:33 phated Raynos: I'm glad... there has been a lot of work on gulp, and a ton of splitting things out | |
2014-01-08 10:14:35 grncdr what is the improvement it's providing over npm & node? | |
2014-01-08 10:15:08 phated Raynos: i agree that gulp is glue, i disagree that glue is bad, because things people make for the glued pieces will work in the individual pieces | |
2014-01-08 10:15:21 phated grncdr: it uses npm and node | |
2014-01-08 10:15:27 phated grncdr: it benefits from it | |
2014-01-08 10:15:27 funkytek Raynos: i thought you would like it if you checked it out :D | |
2014-01-08 10:15:28 substack phated: I mean a buffer stream, not an object stream | |
2014-01-08 10:15:32 funkytek it is fairly vanilla | |
2014-01-08 10:15:34 phated grncdr: gulp is just JS | |
2014-01-08 10:15:36 substack just read the docs on that | |
2014-01-08 10:15:40 phated substack: huh? | |
2014-01-08 10:15:57 substack gulp plugins are object streams | |
2014-01-08 10:16:04 phated correct | |
2014-01-08 10:16:19 grncdr phated: um, I know all that? I really don't understand what it's providing *on top of* npm and node though | |
2014-01-08 10:16:25 phated substack: the contents property can be a Buffer, stream, or null | |
2014-01-08 10:16:26 Raynos phated, funkytek: what are your github names, I'll reference you in the gulp issue I'm writing | |
2014-01-08 10:16:34 funkytek @funkytek | |
2014-01-08 10:16:38 phated Raynos: @phated | |
2014-01-08 10:16:53 substack phated: that makes them somewhat silo-esque because you can't just trivially reuse gulp plugins outside of gulp | |
2014-01-08 10:17:02 guybrush in the end its all ok as long as its at least remotely in the unix-silo | |
2014-01-08 10:17:15 phated grncdr: it provides a CLI, task deps, the orchestrator stuff, vinyl streams | |
2014-01-08 10:17:19 phated substack: you actually can | |
2014-01-08 10:17:29 phated substack: although, you are tied to vinyl streams | |
2014-01-08 10:17:39 substack phated: that's the thing I'm skeptical about | |
2014-01-08 10:17:43 phated substack: but i would hope that you don't think vinyl streams are horrible | |
2014-01-08 10:17:49 phated substack: and they are open to change | |
2014-01-08 10:17:52 phated substack: i think | |
2014-01-08 10:17:54 grncdr phated: npm & node provides all that except "vinyl streams" | |
2014-01-08 10:17:56 timoxley phated: it doesn't matter if they are good or bad | |
2014-01-08 10:18:27 grncdr and I don't mean in the "provides all that if I write a few dozen lines of boilerplate" | |
2014-01-08 10:18:30 phated grncdr: it's just glue, as was just being discussed with Raynos, you can use the things by themselves | |
2014-01-08 10:18:46 substack phated: if plugins are written to an exotic kind of abstraction, that will create silos even if the abstractions are good | |
2014-01-08 10:18:58 substack like for example | |
2014-01-08 10:19:06 substack you can't just use browserify directly | |
2014-01-08 10:19:17 substack because the stream that .bundle() returns isn't a vinyl stream | |
2014-01-08 10:19:20 phated you can use browserify directly | |
2014-01-08 10:19:33 substack if that's true, then why does gulp-browserify exist? | |
2014-01-08 10:19:33 phated you wouldn't be able to pipe it into another vinyl stream | |
2014-01-08 10:19:39 phated but you can return it | |
2014-01-08 10:19:43 phated and orchestrator will handle it | |
2014-01-08 10:20:16 substack gul-browserify shouldn't exist | |
2014-01-08 10:20:20 substack *gulp | |
2014-01-08 10:20:21 phated substack: how would you handle this scenario | |
2014-01-08 10:20:27 substack something is wrong upstream | |
2014-01-08 10:20:47 phated substack: you have a glob pattern that you want to create a stream for each one | |
2014-01-08 10:21:07 substack phated: I wouldn't. | |
2014-01-08 10:21:17 substack can you describe what problem that would be solving? | |
2014-01-08 10:21:33 phated i can | |
2014-01-08 10:21:37 phated if you would let me type | |
2014-01-08 10:21:43 phated before being a jerk | |
2014-01-08 10:22:01 substack phated: you seem to take offense really easily. Please stop that. | |
2014-01-08 10:22:11 substack it's getting very annoying and that is not how this place works | |
2014-01-08 10:23:10 rowbit1 Hourly usage stats: [developer: 0, free: 58] | |
2014-01-08 10:23:18 phated substack: a glob pattern of CSS files that you need to pipe into a stream that removes unused styles or duplicate styles or something, but you need to output each one as the same filename with .stripped.css instead of .css path | |
2014-01-08 10:24:37 phated substack: i wouldn't get so offended so easily if you were a giant jerk in real life the one time i met you | |
2014-01-08 10:25:13 funkytek I think the arguments are getting muddled again, the technical criticisms of gulp are relatively minor, he real criticism is philosophical: the silo problem | |
2014-01-08 10:25:38 funkytek which is valid, i think the real answer is to people who don't build apps, or a lot of apps, or work on 1 app | |
2014-01-08 10:25:42 funkytek it's probably not that valuable | |
2014-01-08 10:25:44 phated funkytek: substack is saying vinyl causes silos, because it isn't a text stream | |
2014-01-08 10:25:58 phated i gave a technical reason why vinyl streams need to exist | |
2014-01-08 10:26:12 funkytek but i guess that's what i'm getting at, is the technical arguments are minor and somewhat nuanced, the real problem is silo-ization | |
2014-01-08 10:26:12 substack I would find a module that would fire a callback for every file in the glob results | |
2014-01-08 10:26:31 funkytek and substack admits even browserify is subject to this, which i applaud him working hard to avoid | |
2014-01-08 10:26:38 substack and then do stream.pipe(stripTransform()).pipe(fs.createWriteFile(outfile)) | |
2014-01-08 10:26:46 substack which can be done completely with regular text streams | |
2014-01-08 10:27:13 funkytek i think our take on gulp is it's pretty vanilla, and you get a ton of value out of it even if it is somewhat silo'd it's vanilla and modular enough it can still have value as raynos pointed out | |
2014-01-08 10:27:31 funkytek but the real argument here isn't technical it's philosophical | |
2014-01-08 10:28:12 phated substack: i will agree with you on the gulp-browserify point, it is dumb since browserify has 1 entry point (not a glob) and already deals in streams | |
2014-01-08 10:28:16 substack there are some technical problems that manifest with ecosystem silos | |
2014-01-08 10:28:24 substack like maintaining versions upstream | |
2014-01-08 10:28:40 phated substack: couldn't that be solved by semver? | |
2014-01-08 10:28:42 funkytek yep and you trade that for convenience basically | |
2014-01-08 10:29:11 substack phated: not really. If the upstream changes then the plugin needs to change | |
2014-01-08 10:29:25 substack and who knows if the plugin author will be responsive enough | |
2014-01-08 10:29:32 phated substack: if the API changes, then yes, but correct semver mitigates that | |
2014-01-08 10:29:35 funkytek but there's a reason a lot of people are using grunt and now gulp, because there is productivity value in it not because they're all stupid and bad programmers destroying the node ecosystem | |
2014-01-08 10:29:38 Raynos funkytek: you can have value if you use gulp in a philosophical way | |
2014-01-08 10:29:42 Raynos i.e. you apply my philosophy | |
2014-01-08 10:29:46 funkytek :) | |
2014-01-08 10:29:55 substack phated: the problem is one of needless staleness | |
2014-01-08 10:29:57 <-- freeall (~freeall@0709ds5-by.0.fullrate.dk) has quit (Quit: Leaving...) | |
2014-01-08 10:29:58 Raynos and then you put gulp on top of my philosophy as a "optional convenience on the side thing" | |
2014-01-08 10:30:12 Raynos https://github.com/gulpjs/gulp/issues/110 | |
2014-01-08 10:30:24 phated Raynos: i think gulp is very close to your philosophy | |
2014-01-08 10:30:26 funkytek it's a convenience and productivity lib, that's what it's there for | |
2014-01-08 10:30:37 Raynos phated: the problem is that it hides my philosophy | |
2014-01-08 10:30:53 Raynos i had to look really hard and be convinced by too aggresively defending people to find that it is close | |
2014-01-08 10:31:07 Raynos its a massive unneccesary layer of friction | |
2014-01-08 10:31:50 funkytek again for you / your use case | |
2014-01-08 10:32:16 funkytek whoa im not being that aggressively defensive :) | |
2014-01-08 10:32:33 Raynos prob not. | |
2014-01-08 10:32:42 funkytek just having a fun chat with yall | |
2014-01-08 10:32:51 Raynos its not a bad thing | |
2014-01-08 10:32:56 Raynos its actually good :p | |
2014-01-08 10:33:00 * grncdr high fives funkytek | |
2014-01-08 10:33:12 * grncdr high fives *everybody* | |
2014-01-08 10:33:24 grncdr this channel needs more LOUDBOT | |
2014-01-08 10:33:39 Raynos funkytek: so http://www.infoq.com/presentations/Simple-Made-Easy | |
2014-01-08 10:33:49 Raynos you decided to make something easy instead of simple | |
2014-01-08 10:33:57 funkytek ehh not true really but | |
2014-01-08 10:34:05 funkytek i am a big fan of hickey and this talk in particular | |
2014-01-08 10:34:41 Raynos the convenience gulp gives makes it easier but also adds more complexity / hides simplicity | |
2014-01-08 10:34:56 funkytek compared to grunt, gulp is much, much simpler | |
2014-01-08 10:34:59 funkytek it's just code | |
2014-01-08 10:35:05 grncdr would it be fair there are "simple" parts and "easy" parts to the set of things we are calling "gulp" ? | |
2014-01-08 10:35:15 funkytek it promotes native node abstractions instead of weird declarative config dsl | |
2014-01-08 10:35:23 funkytek it is not _pure_ | |
2014-01-08 10:35:37 grncdr like maybe what Raynos is driving at isn't so much "easy == bad" and "simple == good" | |
2014-01-08 10:35:39 Raynos funkytek: compared to Maven grunt is much, much simpler | |
2014-01-08 10:35:40 funkytek you can say oh compoared to grunt doesn't mean anything, but again, being pragmatic it does | |
2014-01-08 10:35:48 funkytek when we all use grunt! :D | |
2014-01-08 10:35:52 --> cpup (~cpup@69.183.22.40) has joined #stackvm | |
2014-01-08 10:36:01 Raynos no | |
2014-01-08 10:36:04 Raynos we dont all use grunt | |
2014-01-08 10:36:07 Raynos i will remind you | |
2014-01-08 10:36:10 funkytek that's my point | |
2014-01-08 10:36:17 phated Raynos: what would you classify as non-trivial? | |
2014-01-08 10:36:23 Raynos http://nodejsreactions.tumblr.com/post/71426391619/when-the-discussion-turns-to-build-tools-or-front-end | |
2014-01-08 10:36:23 funkytek i'm saying for people who use grunt | |
2014-01-08 10:36:25 funkytek it's simpler | |
2014-01-08 10:36:30 Raynos I really should have run away | |
2014-01-08 10:36:33 Raynos a long time ago | |
2014-01-08 10:36:38 funkytek but i'm agreeing with you | |
2014-01-08 10:36:41 funkytek you shouldn't use gulp | |
2014-01-08 10:36:47 funkytek it doesn't make sense for your use case | |
2014-01-08 10:36:52 funkytek im saying the grunt comparison is valid | |
2014-01-08 10:36:56 funkytek when you're already using grunt | |
2014-01-08 10:37:04 funkytek gulp is simpler | |
2014-01-08 10:37:22 funkytek it's sacrificing simplicity for ease vs. 100% vanilla js | |
2014-01-08 10:37:26 Raynos phated: I'm not entirely sure, but the fact i could rewrite the example in a way i find a lot simpler in an hour is making me feel strongly that gulp is an unneccessary layer of abstraction | |
2014-01-08 10:37:29 funkytek it's simpler than grunt | |
2014-01-08 10:37:38 phated i just feel bad for the people who miss out of knowledge because they don't dig into something | |
2014-01-08 10:37:54 phated Raynos: you rewrote it so simply because gulp did all the work first ;) | |
2014-01-08 10:37:58 funkytek so for those of us who find value in grunt (me, i build many apps) it is a step in the right direction (simpler) | |
2014-01-08 10:38:07 Raynos phated: yes and that is really awesome | |
2014-01-08 10:38:16 --> contrahax (~contrahax@ip24-251-13-101.ph.ph.cox.net) has joined #stackvm | |
2014-01-08 10:38:20 Raynos the fact that the gulp guys broke some of their pillars out into standalone modules is win++ | |
2014-01-08 10:38:23 Raynos thats why npm is <3 | |
2014-01-08 10:38:30 phated and then contrahax joins in ;) | |
2014-01-08 10:38:43 contrahax hi | |
2014-01-08 10:38:44 funkytek for those not using any build tooling because it sacrifices simplicity of vanilla js | |
2014-01-08 10:38:51 funkytek there is no use of gulp for you, keep doing what you're doing | |
2014-01-08 10:38:57 funkytek not trying to shoehorn your use case | |
2014-01-08 10:39:00 contrahax whats going on in here | |
2014-01-08 10:39:07 guybrush woah _that_ is funny, i just fell from my sittingball http://nodejsreactions.tumblr.com/post/71649072477/look-at-mah-new-framework-it-does-all-the-things | |
2014-01-08 10:39:12 phated contrahax: gulp debate | |
2014-01-08 10:39:14 Raynos the fact that the gulp guys do both that for 5-10 modules and then pollute npm with 150 gulp- modules is many many sads | |
2014-01-08 10:39:15 guybrush (not related to the current discussion) | |
2014-01-08 10:39:21 contrahax okay | |
2014-01-08 10:39:28 funkytek i'm saying gulp is a valid alternative to grunt, which has value for app developers | |
2014-01-08 10:39:36 contrahax well to start this off i dont care what anyone thinks because i made gulp for myself to use | |
2014-01-08 10:39:39 phated Raynos: the gulp guys don't pollute anything, there is no core lib | |
2014-01-08 10:39:46 Raynos gulp-util | |
2014-01-08 10:39:48 Raynos :P | |
2014-01-08 10:39:58 Raynos pollute is an unneccessary negative word | |
2014-01-08 10:40:08 contrahax can somebody catch me up | |
2014-01-08 10:40:26 Raynos im done ranting, because i've gone in circles | |
2014-01-08 10:40:28 funkytek contrahax: basically the debate is philosophical | |
2014-01-08 10:40:30 phated contrahax: Raynos likes gulp, but not the philosophy, substack hates it | |
2014-01-08 10:40:44 Raynos im worried that gulp plugins will be a silo community | |
2014-01-08 10:40:50 <-- cpup (~cpup@69.183.22.40) has quit (Ping timeout: 272 seconds) | |
2014-01-08 10:40:51 funkytek the problem being creating a plugin ecosystem (ie having a lib with opinions) creates silos | |
2014-01-08 10:40:52 contrahax okay i dont care | |
2014-01-08 10:40:57 contrahax i made it to help me out | |
2014-01-08 10:40:58 funkytek my point is that | |
2014-01-08 10:41:01 Raynos and that i wont be able to use gulp plugins outside of gulp. | |
2014-01-08 10:41:03 funkytek it doesn't matter because it has value | |
2014-01-08 10:41:07 Raynos which sucks | |
2014-01-08 10:41:11 phated Raynos: outside of vinyl | |
2014-01-08 10:41:13 funkytek and thats about it | |
2014-01-08 10:41:14 contrahax if you dont like it then dont use it | |
2014-01-08 10:41:17 Raynos because glob-stream & glob-watcher are awesome | |
2014-01-08 10:41:32 funkytek exactly, im saying to raynos it doesn't fit his or substack's usecases | |
2014-01-08 10:41:37 funkytek and that's fine | |
2014-01-08 10:41:49 funkytek just because it's silo'd doesn't mean it doesn't make sense | |
2014-01-08 10:41:49 Raynos it would be more awesome if there was more things like glob-stream and less things like gulp-uglify | |
2014-01-08 10:41:59 funkytek it has productivity value for app devs | |
2014-01-08 10:42:09 contrahax im open to ideas but the whole "ah this sucks because something already exists" argument is invalid to me | |
2014-01-08 10:42:23 phated Raynos: you don't think things like glob-stream will come out of gulp? | |
2014-01-08 10:42:54 Raynos from anyone that follows that philosophy yes | |
2014-01-08 10:42:59 Raynos the core gulp developers seem to align | |
2014-01-08 10:43:09 floatdrop contrahax one valid phrase was said: orchestrator is unnecessary complex tool, that could be removes/simplified | |
2014-01-08 10:43:11 Raynos the fractal people seem to align | |
2014-01-08 10:43:19 Raynos people that write one or two gulp plugins probably wont | |
2014-01-08 10:43:26 floatdrop contrahax do you using orchestrators deps? | |
2014-01-08 10:43:29 Raynos This is like the meteor conversation all over again | |
2014-01-08 10:43:35 floatdrop *use | |
2014-01-08 10:43:43 phated floatdrop: put it in gulpjs | |
2014-01-08 10:43:56 floatdrop where? | |
2014-01-08 10:44:39 contrahax i didnt make orchestrator | |
2014-01-08 10:44:46 funkytek Raynos: meteor's use case is rapid prototyping, i'm not gonna use it but if it works w/e | |
2014-01-08 10:45:03 Raynos but as a consequence of making it easy for one group of people | |
2014-01-08 10:45:06 funkytek a lot more people use grunt than meteor , and get value out of it | |
2014-01-08 10:45:06 jesusabdullah If you don't embrace npm you're gonna have a bad time | |
2014-01-08 10:45:09 Raynos they create no value outside of that group of people | |
2014-01-08 10:45:10 jesusabdullah I say this from experience | |
2014-01-08 10:45:20 contrahax the code is really complex the last time i looked at it | |
2014-01-08 10:45:20 funkytek everyone embraces npm here that's for certain | |
2014-01-08 10:45:37 grncdr oh hey contrahax I just realized you're the same contra from meatspace chats o/ | |
2014-01-08 10:45:48 Raynos ok so maybe my objection is that vinyl streams are too weird to interact with | |
2014-01-08 10:45:59 jesusabdullah I haven't done meatspace in ages | |
2014-01-08 10:46:02 funkytek raynos: so is that your real issue with silos is people are writing code and not giving back to 100% of the community | |
2014-01-08 10:46:04 Raynos the whole stream or buffer thing | |
2014-01-08 10:46:22 funkytek bottom line is you get power from convention/opinions at the sacrifice of accessibility | |
2014-01-08 10:46:32 jesusabdullah tbh I dig the cut of gulp's jib | |
2014-01-08 10:46:32 funkytek you have to find the right balance | |
2014-01-08 10:46:39 Raynos funkytek: my issue is that I find myself rewriting things that should already be solved problems | |
2014-01-08 10:46:40 jesusabdullah way better n' grunt that's for sure | |
2014-01-08 10:46:47 Raynos because the only existing solutions are deeply nested in frameworks | |
2014-01-08 10:46:55 contrahax thanks jesusabdullah | |
2014-01-08 10:46:58 Raynos and everyone else seems to be ok with that and just uses the entire framework | |
2014-01-08 10:47:05 grncdr jesusabdullah: indeed that is something *everybody* agrees on ;) | |
2014-01-08 10:47:06 contrahax Raynos gulp plugins arent supposed to be a silo | |
2014-01-08 10:47:19 contrahax i tried to stick with node ideals as much as possible while still providing enough convention to make it easy | |
2014-01-08 10:47:29 contrahax if you think i did a bad job im open to better ideas | |
2014-01-08 10:47:37 timoxley mmalecki: does hock do something like, only respond to a mocked route once? | |
2014-01-08 10:47:50 jesusabdullah I think a lot of that is taste and principoles, contrahax | |
2014-01-08 10:47:52 Raynos contrahax: https://github.com/terinjokes/gulp-uglify/blob/master/index.js | |
2014-01-08 10:47:55 jesusabdullah principles* | |
2014-01-08 10:47:56 phated contrahax: i actually agree with him that gulp-plugins have gotten out of control | |
2014-01-08 10:48:09 contrahax its hard to find the right balance between the two | |
2014-01-08 10:48:10 Raynos if fs.createReadStream().pipe(uglify()).pipe(fs.createWriteStream()) worked | |
2014-01-08 10:48:14 Raynos then that would be really cool | |
2014-01-08 10:48:14 funkytek raynos: i feel the same way, but as problems increase in complexity you can't solve them generically without any opinions/structue in place | |
2014-01-08 10:48:21 mmalecki timoxley: yeah, I *think* that might be the case. which is too bad, I don't like this behavior... | |
2014-01-08 10:48:23 funkytek thats why frameworks exist | |
2014-01-08 10:48:25 mmalecki timoxley: let me double-check tho | |
2014-01-08 10:48:35 mmalecki robertkowalski: hey | |
2014-01-08 10:48:36 contrahax Raynos thats not our fault though | |
2014-01-08 10:48:36 funkytek i wish everything could just be vanilla, opinions get you power | |
2014-01-08 10:48:37 phated Raynos: if uglify would accept a patch for streams, then it would be possible | |
2014-01-08 10:48:38 contrahax most plugins are dealing with 3rd party libs that use strings | |
2014-01-08 10:49:11 timoxley mmalecki: thanks. I'm trying to mock out downloads for some npm tests and it seems to choke the second time the mocked route is requested | |
2014-01-08 10:49:14 mmalecki robertkowalski: sorry, I missed your message. let's chat when you're back -- bitswipe is not completely done yet, we have a MVP, but would love to work with you to get it set up | |
2014-01-08 10:49:15 Raynos funkytek: I'm trying really hard to solve the scope of "web apps" generically without frameworks/opinions/structure ( https://github.com/Raynos/http-framework/ ) | |
2014-01-08 10:49:16 contrahax i tried to set strict enough plugin guidelines to make sure that people used normal modules where it made sense | |
2014-01-08 10:49:21 jesusabdullah mmalecki: stop telling the internet you do drugs | |
2014-01-08 10:49:32 mmalecki timoxley: I think it's trying to follow nock's original behavior | |
2014-01-08 10:49:33 contrahax and built plugins when they needed to | |
2014-01-08 10:49:34 mmalecki jesusabdullah: no | |
2014-01-08 10:49:35 Raynos contrahax: ok so that one is uglifies fault | |
2014-01-08 10:49:39 contrahax if it got out of hand then i tried my best but i cant stop people from publishing garbage | |
2014-01-08 10:49:39 --> coderzach (~coderzach@cpe-74-71-137-193.nyc.res.rr.com) has joined #stackvm | |
2014-01-08 10:49:45 jesusabdullah also I really need to sleep but I can't because new york | |
2014-01-08 10:49:46 mmalecki jesusabdullah: drugs are a hobby like every other fucking hobby out there | |
2014-01-08 10:50:10 phated Raynos: the reason why i have been arguing so hard for gulp is because i like your work on http-framework | |
2014-01-08 10:50:16 jesusabdullah yeah but it can have repercussions, that's what I worry about | |
2014-01-08 10:50:24 phated Raynos: i feel like it is at the same level of abstraction | |
2014-01-08 10:50:25 mmalecki jesusabdullah: besides that, 5-HTP is not a *real* drug | |
2014-01-08 10:50:28 timoxley mmalecki: any hints as to a way around it? | |
2014-01-08 10:50:31 jesusabdullah o | |
2014-01-08 10:50:33 mmalecki well, it's a diet supplement | |
2014-01-08 10:50:38 mmalecki check it out, you might like it | |
2014-01-08 10:50:56 mmalecki oh, you're in NY. ask Avian, he had a bottle lying around XD | |
2014-01-08 10:50:56 jesusabdullah ehhh | |
2014-01-08 10:51:05 jesusabdullah I'll be in NY *tomorrow* | |
2014-01-08 10:51:09 mmalecki ohhh | |
2014-01-08 10:51:10 Raynos phated: if s/gulp-/vinyl-/ and i bikeshedded a bit about the vinyl interface | |
2014-01-08 10:51:11 mmalecki okay! | |
2014-01-08 10:51:13 Raynos then yes its the same | |
2014-01-08 10:51:27 jesusabdullah Anyways I think I'll stick to cigarettes and coffee | |
2014-01-08 10:51:34 Raynos its a set of modules that all work on some standard stream of files interface | |
2014-01-08 10:51:46 Raynos where the new stream of files interface is what creates cohesive composability | |
2014-01-08 10:51:48 mmalecki jesusabdullah: ask your doctor, he might even recommend it | |
2014-01-08 10:51:51 mmalecki s/he/she/ | |
2014-01-08 10:51:57 jesusabdullah My doctor sucks | |
2014-01-08 10:51:58 Raynos although each module should probably work on a stream of files or a single file | |
2014-01-08 10:52:08 mmalecki jesusabdullah: 5-HTP has *some* reputation in MD world | |
2014-01-08 10:52:10 jesusabdullah probably the best I can find in SLC | |
2014-01-08 10:52:20 phated Raynos: i think contrahax would be up for bikeshedding vinyl stuff in issues | |
2014-01-08 10:52:26 phated i am very interested in it | |
2014-01-08 10:52:26 contrahax if there was no need for vinyl or gulp plugins i would be a happy guy but sadly all APIs are created different and people want a consistent layer so they dont have to learn the intricacies of every other developers modules | |
2014-01-08 10:52:28 mmalecki jesusabdullah: you should print out studies Berkeley (I think?) did | |
2014-01-08 10:52:48 timoxley contrahax: why not standardise around node streams | |
2014-01-08 10:52:52 mmalecki jesusabdullah: boom, Maryland: http://umm.edu/health/medical/altmed/supplement/5hydroxytryptophan-5htp | |
2014-01-08 10:52:56 Raynos i guess the big problem | |
2014-01-08 10:53:06 Raynos is half the modules want file names and the other half want streams | |
2014-01-08 10:53:17 jesusabdullah timoxley: a stream with only one write? | |
2014-01-08 10:53:22 jesusabdullah timoxley: I did think about this | |
2014-01-08 10:53:24 Raynos so you need some kind of File { stream, path, buffer } abstraction | |
2014-01-08 10:53:34 substack Raynos: npm ERR! 404 'uglify' is not in the npm registry. | |
2014-01-08 10:53:36 funkytek Raynos: i like this, i guess the thing is if we want real purity and simplicity let's just switch to clojure/clojurescript :) | |
2014-01-08 10:53:37 mmalecki jesusabdullah: there's a bunch of supporting research and shit | |
2014-01-08 10:53:38 substack GO | |
2014-01-08 10:53:39 substack NOW | |
2014-01-08 10:53:41 substack DO IT | |
2014-01-08 10:53:43 substack FIX THIS | |
2014-01-08 10:53:43 LOUDBOT THE PERL COMMUNITY IS NOT AS FRIENDLY AS IT SEEMS. | |
2014-01-08 10:53:51 contrahax thats what vinyl is | |
2014-01-08 10:53:51 Raynos substack: there is no uglify stream module :/ | |
2014-01-08 10:53:54 phated substack: uglify-js | |
2014-01-08 10:53:59 substack Raynos: exactly | |
2014-01-08 10:54:02 substack until now... | |
2014-01-08 10:54:05 jesusabdullah substack: fuglifyjs? | |
2014-01-08 10:54:06 substack anyways I'll do it | |
2014-01-08 10:54:12 jesusabdullah substack: I think it's time for fuglify.js | |
2014-01-08 10:54:25 mmalecki jesusabdullah: also, as to repercussions for talking about drugs on the internet, I can't possibly imagine something like that really | |
2014-01-08 10:54:29 phated yeah contrahax, I think Raynos still needs to look at https://github.com/wearefractal/vinyl | |
2014-01-08 10:54:33 contrahax vinyl is very much a work in progress if you have better ideas im open to rewriting the entire thing | |
2014-01-08 10:54:35 Raynos substack: fixing. | |
2014-01-08 10:54:38 mmalecki jesusabdullah: like, if my potential employer mentioned that I'd just LOL in his face | |
2014-01-08 10:54:38 substack bwahaha | |
2014-01-08 10:54:43 Raynos i looked at vinyl | |
2014-01-08 10:54:45 <-- coderzach (~coderzach@cpe-74-71-137-193.nyc.res.rr.com) has quit (Ping timeout: 272 seconds) | |
2014-01-08 10:54:49 jesusabdullah mmalecki: in the US that can get you fired immediately | |
2014-01-08 10:54:51 mmalecki and possibly starve | |
2014-01-08 10:54:51 timoxley jesusabdullah: streams with one write? | |
2014-01-08 10:54:55 substack Raynos: just take over the `uglify` name on npm | |
2014-01-08 10:54:58 substack is what I'm saying | |
2014-01-08 10:55:11 substack and make it streaming and nice | |
2014-01-08 10:55:21 contrahax finding the line between convenience and correctness is not easy | |
2014-01-08 10:55:22 jesusabdullah timoxley: why wrap uglify with a stream if it only works if you pass it the full source string, and calls back with another full source string? | |
2014-01-08 10:55:27 mmalecki jesusabdullah: yeah, for shitty employers, I can imagine | |
2014-01-08 10:55:37 jesusabdullah mmalecki: No, even pretty good employers | |
2014-01-08 10:55:41 mmalecki jesusabdullah: like, y'all still have that lulzy drug test thing going on? | |
2014-01-08 10:55:47 timoxley jesusabdullah: yeah that's crap | |
2014-01-08 10:55:56 jesusabdullah mmalecki: yeah, a lot of jobs do | |
2014-01-08 10:56:17 * funkytek switches to clojure(script) | |
2014-01-08 10:56:18 mmalecki http://www.secretsofthefed.com/wp-content/uploads/2013/03/drug-test-meme-what-drugs-are-we-testing.jpg | |
2014-01-08 10:56:19 substack jesusabdullah: that's an implementation detail | |
2014-01-08 10:56:55 jesusabdullah substack: Sure, of course, but it's a lot of rigamorole to standardize against that interface no? | |
2014-01-08 10:57:01 jesusabdullah substack: (yes I know, write the module once) | |
2014-01-08 10:57:54 timoxley jesusabdullah: perhaps there's no good reason uglify couldn't be made to stream natively | |
2014-01-08 10:58:05 jesusabdullah timoxley: MAYBE | |
2014-01-08 10:58:09 timoxley maybe. | |
2014-01-08 10:58:17 phated Raynos: alright, good discussion. hopefully you open an issue on vinyl, i would love to bikeshed API changes there | |
2014-01-08 10:58:20 jesusabdullah Okay, report back with your findings. GO! | |
2014-01-08 10:58:25 --> freeall (~freeall@217.116.211.114) has joined #stackvm | |
2014-01-08 10:58:32 Raynos phated: agreed, I'm tired | |
2014-01-08 10:58:34 Raynos substack: https://gist.github.com/Raynos/8314369 | |
2014-01-08 10:59:09 mmalecki timoxley: https://github.com/mmalecki/hock/blob/master/lib/hock.js#L181 :( | |
2014-01-08 10:59:21 mmalecki cc kenperkins | |
2014-01-08 10:59:49 mmalecki timoxley: I'll discuss that with kenperkins, maybe make it not remove it/add an option | |
2014-01-08 10:59:54 Raynos contrahax: It is hard. And you made good progress | |
2014-01-08 11:00:00 timoxley mmalecki: would be good | |
2014-01-08 11:00:10 timoxley mmalecki: thanks! | |
2014-01-08 11:00:32 mmalecki timoxley: yeah, np! ideally hock wouldn't have test-related stuff at all | |
2014-01-08 11:00:33 jesusabdullah okay closing the laptop even though I'm still freaking out a little, maybe I'll fall asleep | |
2014-01-08 11:00:37 jesusabdullah gnight friends | |
2014-01-08 11:00:40 mmalecki but yeah | |
2014-01-08 11:00:52 mmalecki jesusabdullah: good night! | |
2014-01-08 11:01:21 mmalecki hey, what'd you all recommend for a self-bootstrapping service discovery? | |
2014-01-08 11:01:42 contrahax Raynos thats basically the whole codebase of gulp minus orchestrator | |
2014-01-08 11:02:16 mmalecki I have bender, but services still need to know bender's IP, I want to make the whole thing zero-conf | |
2014-01-08 11:02:55 Raynos contrahax: agreed. gulp just feels SO much heavier then that example | |
2014-01-08 11:03:02 mmalecki I was thinking DHT but it's only 20 bytes of information I can store | |
2014-01-08 11:03:15 mmalecki and UDP multicast feels hacky and it wouldn't cross DC borders | |
2014-01-08 11:03:46 mmalecki I guess I actually have to start with UDP multicast and then handle multi-dc registrations | |
2014-01-08 11:04:05 Raynos contrahax: using glob-stream directly, inlining a naive implementation of gulp.dest, gulp.src & vinyl makes it so much more transparent and lighter | |
2014-01-08 11:04:24 Raynos it reduces so much magic | |
2014-01-08 11:05:08 timoxley mmalecki: https://github.com/mmalecki/hock/issues/5 | |
2014-01-08 11:05:18 contrahax Raynos its not magic its almost exactly the code you just pasted | |
2014-01-08 11:05:31 mmalecki timoxley: thanks! | |
2014-01-08 11:05:43 contrahax if you feel better about yourself because you can rewrite gulp at the top of every build file you make then you arent our target audience | |
2014-01-08 11:06:14 contrahax most people dont have time to reinvent the wheel every time they want to start a new project | |
2014-01-08 11:06:17 Raynos contrahax: I understand what your saying, I don't think it's just that though. | |
2014-01-08 11:06:22 funkytek why do you want to re-invent the wheel of what gulp does and rewrite every plugin |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment