Wednesday, July 28, 2010

Switching Experience (I finally moved to Mac)

I finally did it, I´m finally a switcher. Last month I bought my first Mac (a new MacBook Pro 17” i5) I have been playing with the idea of buying a Mac since some time ago, but I never found a good excuse or reason. When last month my laptop start dying (a 4 years old Fujitsu) I decided it was the proper time to jump to OSX. I was a Windows user for more than 10 years (I started with Windows 3.0), 5 years ago I started to use Linux seriously and 3 years ago was already my main working environment. I must say that I´m a happy Linux user, but the idea of doing some iPhone/iPad application  was the final push to move to Mac.

My first 5 minutes
I always though that all the buzz around the Apple products was exaggerated. As you may known, I got an iPod in Christmas and I´m really happy about it, but I didn’t felt what was owning an Apple product until now.
The box design was beautiful, there is a magic sensation when un-boxing the computer. I saw a nice box with the CDs and some simplified manual, but I took the shortcut. I simply put the MacBook at the table, I connected the power adapter and turned it on.
My kids where playing around, without paying attention to Daddy (in fact there’s nothing weird if Dad is in his computer, right?). But at the moment the MacBook turned on the first time, the speakers started playing a nice music, the screen was filled with a great welcome presentation and both of them came to see what was that. My 2 years old kid directly sit down saying “Daddy, it’s cooool”.
The whole OSX configuration took 5 minutes, asking from time to time for some information. Everything was really easy and straight forward, without any complex stuff. When it finished I had a completely working OS running.
Ok, what do I do now?
Perfect, it’s working, and now what? That was not my first time using an OSX, so probably for me was faster to start playing around that for a normal Windows user. Anyway I really felt at home. Everything was responding really fast and things where really intuitive. I went to Preferences to configure the multitouch trackpad and I was simply wordless when I saw the way the different gestures are explained.
Then I playing a little bit with my kids and the “Photo Booth” application. OSX doesn’t come with games, but I can say that the “Photo Booth” application can be really funny :)
Time to get serious, where are my apps?
The first thing I did was to install all my usual communication, browsing and other common applications. So I started installing Firefox, Google Chrome, Skype, DropBox, OpenOffice, VirtualBox, VLC, FileZilla, Transmission and TrueCrypt (see Essential List of the Best Mac Free Downloads for more recommendations). But I was still missing some functionalities from my Linux/Windows machines.
My first problem was to find a proper replacement for 7Zip. After some googling I found a really nice project which solved my needs perfectly: Keka.
Next problem, I wanted to properly play my DivX and Xvid files using QuickTime. VLC is really great, but I’m always looking for the best integrated solution. This time the answer came from the Perian project.
Ok, now I can browse, execute my virtual machines, use my compressed files and play my  video files.
My first surprise came when I tried to access my external drives. Both of them are formatted using NTFS, I simply connected them and I could access my files perfectly .... but I was not able to modify them !!!! Back to Google and I find that there’s no NTFS writing support in OSX. The solution came from Tuxera, but I find it really slow, so I’m still looking for an optimal solution
Time for the Developer
Until now I was able to cover all my basic needs, but now was time to configure my future development environment.
As I already said, I always try to use the best tool for my projects, so I don’t hesitate to install different IDEs and tools if I get some benefits.
So I first started with my NetBeans installation. Then I followed with Eclipse 64bits and I must say that the speed difference with my Linux Eclipse is amazing. The version in OSX runs like a breeze and feels much faster. Then I followed with “Komodo Edit” which is quite powerful when working with scripting languages and finally I got the XCode from Apple, just to start learning Cocoa and Objective-C.
So I can now continue working with my different projects, but I’m still missing a good way of working with my Subversion repositories. I known, both Eclipse and Netbeans have SVN plugins, but I always feel limited when using them, compared to the power of TortoiseSVN + WinMerger.
Back to Google and my second problem. There’s nothing that can be compared with my Windows TortoiseSVN + WinMerge or my Linux RabbiVCS + Merger. After some search and testing I found CornerStone, Versions and Kaleidoscope. Even when from a visual point of view these are amazing tools, from a functionality point of view I’m missing some basic features, like branch merging. So far I’m using my bellowed command-line svn, using the CollabNet installers.
Casual / Home Users: The MacBook Pro is a great tool, really intuitive and gives all the needed tools out-of-the-box
Advanced Users: Again, a great system that you can tweak as needed
Developers: I miss some of my Windows / Linux tools. The options in OSX are great and maybe I just need to change the way I do some stuff, but right now I would say that’s a good system, but needs some extra effort to make it great. 


  1. hello I am Yassine from Morocco, I just want to say that the amazing speed difference is due to the dual core processor or i7 one ! not to the Mac OS, and there is an alternative to objective C called titanium, and it's multiplatform

    and thanks for sharing your experience :)

  2. Hi Yassine, In fact I only have the i5, but you're right the CPU is the main responsible of the performance.

    Regarding Titanium, you still need a Mac to compile for iPhone and even when Titanium is a great framework, it still has some important performance problems.

    I hope to keep seeing you around :)