Skip to content

Instantly share code, notes, and snippets.

@wycats
Created February 25, 2012 09:14
Show Gist options
  • Save wycats/1907466 to your computer and use it in GitHub Desktop.
Save wycats/1907466 to your computer and use it in GitHub Desktop.
~/Code/ember.js ‹ruby-1.9.3› ‹master*› $ bundle && echo "fuck you giles"
Using rake (0.9.2.2)
Using confparser (0.0.2.1)
Using multi_json (1.0.4)
Using execjs (1.2.13)
Using libxml-ruby (2.2.2)
Using faster_xml_simple (0.5.0)
Using httpclient (2.2.4)
Using json (1.6.5)
Using nokogiri (1.5.0)
Using net-github-upload (0.0.8)
Using github-upload (0.0.2)
Using rack (1.4.1)
Using thor (0.14.6)
Using rake-pipeline (0.6.0) from https://github.com/livingsocial/rake-pipeline.git (at master)
Using rake-pipeline-web-filters (0.6.0) from https://github.com/wycats/rake-pipeline-web-filters.git (at master)
Using sproutcore (0.0.1) from https://github.com/wycats/abbot-from-scratch.git (at master)
Using uglifier (1.0.4)
Using bundler (1.1.rc.7)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
fuck you giles
@Denommus
Copy link

@gilesbowkett I know this thread is inactive by two months, but I have some considerations to do.

I'm not a huge programmer. I had two years of experience with Rails 2.3.X (and did a lot of things out of the Rails way). But right now I'm starting a new project with Rails 3.2, and I loved it.

I don't know if I understand the whole bundle exec problem. I'm not even using RVM, I'm using rbenv, and I don't have a problem about it, I just installed the rbenv-bundler plugin.

About the source :rubygems, Rails generated a valid Gemfile from the start. So what?

I see the problems you are talking about. But I think they are really minor. The main progress on Rails 3, for me, was UJS. I think you remember how ugly and clumsy RJS was, and how difficult it was to think about a software using it. And most people didn't even got it! There were books teaching render :update inside the controller. It was awful! I always ended up using plain Javascript, because of it.

Also, it is a lot easier to use bundler then it was to use... I don't know, how did you include libraries? I had a hard time with ruby-rdf, at that time, and I doubt I'd have on Rails 3.2.

So, I think everybody that says "Rails 3.X was not an improvement!" is missing completely the point. The basic configuration that comes with rails new is sufficient for most basic projects, and if it's missing some module, just add it to the Gemfile.

@gilesbowkett
Copy link

I'll look into rbenv-bundler as a solution.

I said several times that Bundler is incredibly useful, and I definitely never said Rails 3 was not an improvement at all. I agree that many of the issues I raised are not of earth-shattering importance. In fact I don't believe I ever asserted otherwise. People got furious beyond words about a blog post in which I devoted at least one paragraph, maybe more, to discussing my own balls. I never thought I would have to say this, but I really think that nobody ever needs to take my balls more seriously than I do.

I actually enjoyed RJS but I avoided it for serious work of course. UJS is def better.

Your point about Rails generating the Gemfile, though, I can't agree with that. First, your solution only works when using Bundler with Rails. Second, to even be having an argument about whether or not source :rubygems should be the default when everybody knows for a fact it's the 90% use case is just an unmistakable and incontrovertible sign of severe dysfunction within the Rails community. It's just a ridiculous conversation to be having in the first place.

Q: Should the 90% use case be the default?
A: No.

And let's face it, 90% is generous. It's probably the 99% use case or more.

I even asked one of the Bundler guys on Hacker News if I could re-open an issue about making it the default, and never got a response.

@Spaceghost
Copy link

For what it's worth, if you interpret DRY as some holy quest to never type the same thing twice, you're going to have a bad time.

DRY is about not having the same behavior in multiple places. It's about segregating concerns of a system into separate parts, not saving keystrokes. Those are just helpful, and a byproduct of actually being DRY. Pushing that is like pushing code to test ratios, they're nifty and sometimes good, but they're a byproduct of good testing. Anything more is merely mental masturbation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment