Why is this all goofy looking? Probably because your browser doesn't support stylesheets or you have an old stylesheet. Try hitting reload or upgrade your browser today.
fatmixx iconFatMixx Logo
Tweets are now integrated into the site. Feedback welcome.
Advertising
Latest Featured Video

Newsweek’s Daniel Gross explains the Consumer Price Index (here’s the official BLS site) in a very simple video. I could do without the goofy sound effects, but it’s a good, 2 minute explanation of how the government tracks inflation.

Per David Simon’s Berkeley talk, though, the video doesn’t go into why this matters. Perhaps they’ll cover that in the next installment of the Economics 101 series.

(via @newsweek, Newsweek’s Twitter feed)

2:42 pm | leave a comment
Donate
ad for kiva.org which facilitates microloans to small businesses around the world
Support CC - 2007
join EFF!
Advertisement

Steve (Fanzter employee #3!) sent this my way. A Ruby IDE with code completion for your own classes… man, I miss that from my Java days. Will have to try it out.

11:39 pm | leave a comment

(I’m not a Rails hater, but I hate the Java haters in the Rails community, and there are a ton of them)

So, a few weeks ago I linked to a funny video from RailsEnvy that made fun of Java programmers. In it, they make fun of jars, the packaging format for Java that has existed since the beginning of Java. I laughed because, yes, I got the joke the Rails guys were making, but in the back of my mind I went, “Gosh, gems seem like more of less the same thing.” No matter, we’ll forgive the Rails guys their crowing (heck, it would be impossible to admire their work if one didn’t ignore the constant crowing).

Then, today, I run across a number of blogs that want developers to release everything as gems. Everything, including full applications. Then there’s conversations about unpacking the gems into the vendor tree in your Rails apps.

At this point, I’m ready to throw up. I was simply confused at the first part, uncomfortable about packaging my whole app as a gem, and then completely ill by the end. Folks, you’re over-engineering your build/test cycle! Seriously, STOP!

Regardless of my actual opinion here, I really just want to point out that the entire bit about hating jars is about hating manual dependency management. All platforms have some variation of it. Perl and Ruby have gone the way of standardizing on a “one true way” to distribute libraries for the core lang (CPAN modules and gems, respectively). Java has only relatively recently enjoyed widespread adoption of Maven 2 and things like buildr. Historically dependency resolution and installation was a manual process.

All of this doesn’t eliminate the fact that as you try to package external dependencies and deal in higher level bundles, you have to manage those dependencies. None of the automated solutions are perfect. I find it funny that a community that beats up on Java fairly constantly is actually reinventing the exact same solution for the problem. And, since it’s a solution coming out of the Rails community, it’s “teh awesome!”

Yes, I’m whining. And really, I’ve never seen a community so proud of it’s NIH syndrome. Yeesh. It’s not everyone, but a lot of the haters are truly unfamiliar with what they’re hating on.

(and yes, I understand the original issue with plugin versioning in Rails and why it needs a solution… and I’m okay with dropping them in favor of RubyGems because, see, I’m coming from the Java world where we used these things called jars and… God, I’m back to the beginning of this post again, aren’t I?) :)

9:42 pm | leave a comment

Part of what I’m doing is actually learning Rails more than I knew it before. I’ve been working on random test apps, but now I’m trying to build something for real and I decided to start from scratch. Blew everything away, happily compiling/installing on my Mac and then I run into issues.

Basically, I got this error (I was trying to run rake db:migrate) on OS X:

dyld: NSLinkModule() error
dyld: Library not loaded: /usr/local/mysql/lib/mysql/libmysqlclient.15.dylib
Referenced from: /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/lib/mysql.bundle
Reason: image not found
Trace/BPT trap

The issue is that in the most recent builds of MySQL from mysql.com (I was using 5.0.41), the libraries are no longer in lib/mysql/ but just in lib. I couldn’t remember how to modify linkage in a compiled bundle, but after a bit of googling, I found a post detailing the answer. Just run:

sudo install_name_tool -change /usr/local/mysql/lib/mysql/libmysqlclient.15.dylib /usr/local/mysql/lib/libmysqlclient.15.dylib

/usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/lib/mysql.bundle

That will take care of the issue. You can use the same tool for any library that’s pointing to the wrong place for a link. Not sure why or how this happened, but at some point I’ll probably look into it and submit a patch.

5:49 pm | 19 comments