github
Advanced Search
  • Home
  • Pricing and Signup
  • Explore GitHub
  • Blog
  • Login

raganwald / homoiconic

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
  • Pull Request
  • Download Source
    • 262
    • 6
  • Source
  • Commits
  • Network (6)
  • Issues (0)
  • Downloads (1)
  • Wiki (1)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Branches (1)
    • master ✓
  • Tags (1)
    • second.tag
Sending Request…
Click here to lend your support to: homoiconic and make a donation at www.pledgie.com ! Edit Pledgie Setup

Pledgie Donations

Once activated, we'll place the following badge in your repository's detail box:
Pledgie_example
This service is courtesy of Pledgie.

An experiment in publishing code and words about code on a small scale. — Read more

  cancel

http://github.com/raganwald/homoiconic/tree/master/homoiconic.markdown

  cancel
  • Private
  • Read-Only
  • HTTP Read-Only

This URL has Read+Write access

fixes 
raganwald (author)
Thu Feb 04 08:40:01 -0800 2010
commit  66f04606662a9df6629dabc1b9264f5e0913e58e
tree    9772eaff24fa3deaaa1c48844983ce5b0074c148
parent  bddb7277cad41914e70382d624b6ab3a9d0b02c8
homoiconic / 2009-04-17 / eggs.md 2009-04-17/eggs.md
100644 24 lines (13 sloc) 2.705 kb
edit raw blame history

We need the eggs

It was great programming Ruby again and I realized what a terrific language it was and how much fun it was just knowing it and I thought of that old joke, you know, the, this, this guy goes to a psychiatrist and says, 'Doc, uh, my brother's crazy, he thinks he's a chicken,' and uh, the doctor says, 'well why don't you turn him in?' And the guy says, 'I would, but I need the eggs.' Well, I guess that's pretty much now how I feel about programming. You know, it's totally irrational and crazy and absurd and, but uh, I guess we keep going through it...because...most of us need the eggs.

(With apologies to Woody Allen)

A colleague mentioned to me that he was having a problem with his Rails project. His project requires a certain version of a gem. He dutifully uses config.gem to load that version of the gem into his project and all was right with the world for a time.

But at some point, it stopped working because he was somehow loading a newer version of the gem. To cut a long story short, although he wanted version X of the gem, something else he was loading was loading version Y of the gem where X < Y, and this broke plugin Z, which works with X but not Y.

Confused? Or is this vomitorium known as "gem dependencies" old hat to you?

I ordinarily wouldn't have done anything but try to utter a sympathetic grunt. Talking about someone's gem dependencies is a lot like talking about the perceived shortcomings of a friend's spouse. At a certain point, you realize that the advice to "Just walk away" will not be met with a hoarse cry of thanks and grateful pumping of your hand.

But I'm a pattern matching machine, and somehow this seemed darn familiar. At the core, if you have two pieces of code, and they each require a different version of the same gem, isn't that the exact same problem as having two pieces of code, each of which wants to add a different #sum method to the Array class?

Fix one and you fix the other.


Subscribe to new posts and daily links:

Reg Braithwaite: CV, Twitter

Blog | Support | Training | Contact | API | Status | Twitter | Help | Security
© 2010 GitHub Inc. All rights reserved. | Terms of Service | Privacy Policy
Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
Dedicated Server