Hampton Lintorn Catlin

Hell has Frozen

So, as many of you know, I’m all about OS choice in the Rails community. I very much dislike the conformity to the all-encompassing Throne of Apple. Anyhow, yesterday my PC broke and in a momentary decision I decided to give another try at Macs. I’ve already had 3 Macs (2 with OS X) and was generally disappointed with them. After that, I then moved on to Linux once I got bitten by the Unix bug. I have used Linux for the past 2 years as my primary development and home usage environment.

However, yesterday in my fit of rage at my loss of a harddrive, I decided to run down to the Apple store and buy myself another Mac to see if everything really had changed. Jeff and Lukas are always on about how Macs are perfect now and that I should try a newer version of the OS and how it changed their lives.

I figure, at best… they are right and this time it will click better with Rails development. Or, at worst, I have much more authority to bash Mac-worship. Besides, I’ve had a lot of my portfolio in Apple and it has done well for me (I bought it at $14 a share!). So, why not bump up their sales numbers to make me a little money back.

So, things have NOT gone smoothly. I was really hopeful about the whole “Rails installed” thing. I figured I could just drop my $4k+ and then I would be able to immediately develop. Nope!!!!

First, the computer did not come with Leopard installed. I had to use the upgrade DVD. So, I had to wait 2 hours at my desk while it installed the upgrade. And guess what… it failed! My machine was thus instantly busted. It said something about the hard drive failing.

You heard it here, I had TWO hard drives fail in one day. So, I went back to the Mac store where they wanted me to schedule an appointment for the next day to meet with a Genius… yes, I had purchased the computer 2 hours before and they wanted me to schedule help for the next day when I knew full well that the HD was bust (I had the error screen open for them). I had to put a bit of pressure on them, and finally the manager came and was willing to switch it out.

6 hours have gone since purchase. I get it up and running and it takes 2 more hours to do the upgrade again with my new machine (they had none with Leopard pre-installed). At least it worked this time. 8 hours.

I open up the console… Subversion is installed! Nice! I didn’t know that. Things are looking up. I check out one of my rails apps… awesome! Oh, but wait… no mysql support. Let me go through all of the posts and pages that I have had to go through to get this task done…

http://documentation.rubyonrails.com/2007/10/26/today-is-leopard-day http://www.garyharan.com/index.php/2007/12/11/installing-rmagick-gem-on-os-x-105-leopard/ http://hivelogic.com/narrative/articles/installing-mysql-on-mac-os-x http://darwinports.com/download/

Wait.. where is gcc…. wtf? I didn’t see any developer disk. More googling. Oh, GCC is on my DVD… well, that’s at home. Ok, so I assume I can just download the 100MB install of GCC and build etc, right? WHAT? No? I have to download 1.1GB of random apple tools if I want to compile anything. So, that’s 2 hours to download that before I can do anything.

Screw off. You’re kidding, right?

I just want to build a gem. Or like, install a database. Why is this hard?

On the plus side…. I’m very happy with OS X’s support for multiple monitors. I’m happy with having easy Wifi support. Those two are MUCH better than on Linux. However, let me show you the entire process of installing a fully working rails stack with mysql support and rmagick on Ubuntu.

  1. Roughly its this sudo apt-get install ruby-1.8 rubygems build-essential ruby-rmagick ruby-mysql sugo gem install rails mongrel merb -y

Done! That’s it. Nothing funky. No need to go read tons of blogs. And there is no excuse for Apple. This should be easy. I’m currently at 12 hours of trying to get a basic Rails app running… and I’m not really that close. I’ve had a fully day wasted now and I’m not really close.

This is not ok. There is no excuse for not having easy package management installed by default. Its fucking 2007. I’m not very happy right now. This OS is great for designers and noobs, but apparently Apple could give a shit about advanced users. I’m not saying there aren’t good things. There are…. but this is far from even being a decent Unix-style development environment.

Steve, take 2 minutes from your day of adding Wizzes, WIshes, Zooms, Fades, Plinks, Boinks, Slides and etc…. and put the 1 week of developer-time it would take to make this a solid environment. As a shareholder… please!


Comments

Dec 12, 2007
Watts said...
n00b.
Dec 12, 2007
phantomdata said...
Ruby on Rails' stack is a PITA to get running on any system. That's one of my least favorite aspects of this awesome stack that I always forget about until it comes time to upgrade or install a new system. The latest stupidity? The openssl-ruby package needs to be installed on Ubuntu to 2.0 - but the error simply states "OpenSSL not found" or something similar - so I spent a good half hour trying to figure out why both OpenSSL and OpenSSL-dev were not getting detected by the gem installer only to find out that there's a third package it desires.
Dec 12, 2007
phantomdata said...
Oh right... not installing GCC, make and such by default is just crazy especially when Apple doesn't make money from Xcode (it's still free - right?) like MS does from Visual Studio.
Dec 12, 2007
Jon Leighton said...
I am reminded of: http://diveintomark.org/archives/2007/11/11/installing-mysql-on-ubuntu Ubuntu FTW! :)
Dec 12, 2007
josh said...
I've been tempted to take the Mac plunge but I could never really justify the cost. I just made the switch from developing on XP to Ubuntu 7.1 and I can never go back. Multiple desktops, autotest (could never get it working on windows), much better command line, package management...
Dec 12, 2007
RSL said...
XCode is on yr leopard dvd already. Sorry to inform you too late but you didn't have to download it off the net. And MySQL was [for me] as easy as downloading the dmg from dev.mysql.com and zip zap install. Whoever sold you on the need to macports everything sold you a bill of goods. Leopard Ruby works fine out of the box. A couple of .profile tweaks and gem update --system and yr golden. Macports Ruby was a godsend when Ruby was borked on Macs but now that we have a functional version, it doesn't seem to make sense anymore. YMMV ;)
Dec 13, 2007
Robin said...
"Roughly its this sudo apt-get install ruby-1.8 rubygems build-essential ruby-rmagick ruby-mysql sugo gem install rails mongrel merb -y" Having set up a debian system recently I can say it was far more complicated than this for me. The packages were a good start, but I ended up having to compile some things from source (why the hell doesn't debian have SSL support compiled into their nginx?) and tune a lot of stuff myself to get things working the way I wanted to. Back in the day when I did a lot of Java work, it would take days to configure a developer's desktop environment :S
Dec 16, 2007
randal said...
I just went through the same experience... I installed Leopard on an old G4 that was sitting idle. I've been using linux for about 10 years and the thing I miss most is something like apt-get or portage. Sure, mac ports exists, but it's lacking a lot of useful applications. Theoretically one should be able to relace apt-get with port and do pretty much identical steps to get Rails running on OSX as they would in Ubuntu. For me the nice thing about OSX is the clean, smooth windowing environment, iTunes, and suspend/resume that actually works. BTW, Leopard made the iBook G4 noticeably faster!
Dec 17, 2007
hampton said...
@Robin I wasn't talking about building a full nginx SSL stack or anything. I'm talking about a bare-bones Rails dev environment... which is way faster on Debian-based systems. Doing advanced production server configuration isn't easy anywhere. @RSL I knew that but my DVD was at home at the time. :P
Dec 18, 2007
Paul Dowman said...
I still can't believe that OS X doesn't have a decent package management system, something we take for granted on most Linux distros. And I'm surprised that most howto articles involve make. I use darwinports to install my Rails dev environment (including MySQL) on OS X. Fink has a better package management system (Debian's apt) but it doesn't seem to be very well maintained (neither does darwinports but it had more recent versions of most things when I last checked).
Dec 20, 2007
wally said...
lol it was like a rant you read from a Win user trying Linux. Anyway, I think the time you will save from proper suspend to RAM will more than make up for the time you lost getting set up.
Jan 3, 2008
Josh Kim said...
Just wanted to say thank you for writing Haml. I ran across it a couple months back, and I've only really seriously started to use it for one of my projects. I'm loving every second of it. I just can't believe I didn't think about doing this... but alas, the beauty of the MIT license!
Jan 3, 2008
Josh Kim said...
Just wanted to say thank you for writing Haml. I ran across it a couple months back, and I've only really seriously started to use it for one of my projects. I'm loving every second of it. I just can't believe I didn't think about doing this... but alas, the beauty of the MIT license!
Jan 3, 2008
Josh Kim said...
Just wanted to say thank you for writing Haml. I ran across it a couple months back, and I've only really seriously started to use it for one of my projects. I'm loving every second of it. I just can't believe I didn't think about doing this... but alas, the beauty of the MIT license!
Jan 3, 2008
Josh Kim said...
Just wanted to say thank you for writing Haml. I ran across it a couple months back, and I've only really seriously started to use it for one of my projects. I'm loving every second of it. I just can't believe I didn't think about doing this... but alas, the beauty of the MIT license!
Jan 31, 2008
Rob O said...
I definitely agree with you. Too much Macs Are Great crap has been flying around over the last year (I can say this because I'm using a Mac right now). Linux is a damn fine OS with a brilliant package manager. The Developer Tools for OS X are ridiculously large. There should be a Lite version. Furthermore Leopard has not changed ANYTHING. OS X is still OS X. It was nearly a waste of $90 for me. For a good 3 months I was regretting upgrading until Apple released some decent stability updates. The one thing I have to give to OS X that Linux really can't match is Quicksilver. Of which Apple has absolutely nothing to do with. Apple should tear Nicholas Jitkoff (the developer) away from Google and pay him buckets of money to develop Quicksilver full time. Anyways keep up the amazing work on HAML and SASS. We all appreciate it.
Feb 11, 2008
Joel said...
I upgraded to leopard on my macbookpro, and it already had ruby installed and everything. I just typed in the gem install upgrade command and was ready to rock. Not sure about all the issues you had (obviously most were due to a bad machine and not the OS).
Apr 15, 2008
bsdftw said...
Oh man there should be some laws against comparing GNU/Linux to OSX. In fact, there should be some laws against using ubuntu. First things first: Linux Is Not UniX. OSX is unix. Get this through your skull bubuntu-droolers! GNU(1)/Linux(2) is basically a (1):"attempt to mimic bsd/bell labs apps by hippies on pot, not caring much about POSIX", and a (2):"somewhat fancy kernel". OSX is a member of the BSD familytree, a tree that has long and colourful history. Second thing: one cannot over-generalize by saying "Linux has better package management". What? A kernel has package management? And a look at distros like gobo makes me think that the better linux package managers are mimicing osx in a way. If not that, then bsd ports-trees or nbsd pkgsrc. It maddens me to see people foaming over things they apparently have no deeper knowledge of. Most of them seem to be ubuntu users for some odd reason. End of rant.
May 26, 2008
Phil said...
You know, Ubuntu runs great on Macbook Pros if it's too late to get your money back. These OS X trolls are pretty hilarious; I'd tempted to to post something like this on my blog just to watch the sparks fly.