I run Windows on my MacBook.
Windows - because I'm a .NET developer and our startup is mainly Microsoft-based. And, to be honest, I like Windows 7. Finally, a decent OS from Microsoft.
And MacBook - because it's simply the best hardware you can get for it. The unibody design is awesome, the keyboard & touchpad are great, the 17" screen is fabulous... I love my Mac. I'm practically an Apple fanboy.
The only thing I don't like about my Mac - is Mac OS X.
It just didn't suit me from the very beginning. That blurry font-rendering, that mouse acceleration you can't disable... Also, I'm a gaming junkie and, let's say, Mac is not the most popular gaming platform.
But let's try a Mac for a change
Yesterday we had a new project idea and my cofounder suggested we do it on Rails. I was pretty open-minded about this. After all, it's always nice to try new languages, frameworks and environments, right?
And, hey, all the cool startup guys do their startups on Macs! There must be a reason, right? I want to be like that 37Signalish/YCombinatorish startup crowd. I want to be like those cool kids doing trendy Web 2.0 apps on their Macs. I don't want to be "a PC" from the Apple commercials. I want to be the "skinny-hipster-Mac". So let's develop in Ruby. Hell yeah!
Also, Macs should be easy to use, right? Everything works "out of the box", right? I mean, my Mac came from Apple. Same company that made my iPhone. And my iPad. And my iPod. And my other iPod (gee I really am an Apple fanboy). Also, I'm kinda familiar with *nix operating systems, the Bash command processor and stuff... So, there should be no problem right?
"Totally", - that was Max, my cofounder, - "no problem. Works right out of the freaking box"
The long journey
"Out of the box" turned into 40 hours of installing, reinstalling and configuring stuff. I'm not judging, just describing the steps I had to take to prepare my Mac to write some Rails code. Maybe it's because I'm just a dumb Windows guy.
First I figured that I need, well, Rails installed. Along with a Mercurial client. That should be enough to get me started and shouldn't take more than an hour to install.
While trying to install both Rails and Mercurial I got a bunch of error messages about an outdated Python version I had on my Mac. Fine, let's get a fresh version from Python.org... Didn't work. The "Pyhton.prg" version installs side-by-side with the built-in "Apple Python" and Mac OS still thinks I have an old version... After some head-scratching I decided to let my Mac check for updates - and bingo, Python was updated. But still, the version was not good enough for Rails & Mercurial... After another hour of black magic with python & homebrew and forcing another software update the Mercurial client was finally up & working.
But not Rails. It turned out it requires the "ruby-dev" package installed. And, well, the only way to get "ruby-dev" I found - is to install XCode. The big, heavyweight development suit from Apple.
I tried downloading version 4.0 but the Apple website gave me an error in Chrome. I tried opening it in Safari, and it asked me to regster as an Apple developer.
Let's get a developer ID. I filled out a lengthy form, confirmed my email address, got myself a developer ID, and... the Apple website showed me the exact same error message I got from Chrome earlier.
OK, there is another way to install XCode - to get it from the AppStore. But you need a Mac OS 10.7 Lion for that. Which is another hour of downloading, another hour installing and another $30 to Apple, because Lion is a paid sucka... OK, I'm on it. Gimme that Lion.
Another couple of hours downloading XCode 4.2, installing it, configuring all the "gems", and finally, after 40 hours of having sex with my Mac I was finally able to open "localhost:3000" and start writing some code.
Same on Windows
During that weekend I had to reboot to Windows a couple of times to fix some minor bugs in our helpdesk app and do some support stuff... And at some point, while in Windows, I had to make an urgent fix in our Rails app. I was too lazy to reboot back to Mac OS. So I decided to fix that on Windows.
I went to RailsInstaller.org, installed Rails, "pulled" the app from the repo, made the change, tested it on "localhost:3000", and pushed my changes back to the repo. And all that - in 9 minutes.
9 minutes. Including the coding part. And including the time I spent Googling for tips & best practices on setting up Notepad++ for Rails development.
Sorry, folks. Call me a pervert, but I'm doing Rails development on Windows now.
I know that it's just me being dumb and, maybe, too used to Windows-ish ways of doing things. I know my Mac software was outdated. I know that every Mac developer probably already has XCode installed. I know I was having problems with the Unix-part of my Mac, not the shiny part of Mac OS. I know that in Windows it also takes time to install Visual Studio, SQL Server and other stuff to get you started (none of this is required for Rails though), I know comparing setup times on a platform you work with daily to a platform you've never used before is a bit unfair.
Some day I will make another attempt to move to the Light Side of the Force. Who knows, maybe even learn Vim! But we have a project to get done, so... Maybe next weekend.