Friday, July 6, 2012

Living in Apple Land

As a long-time Windows developer and user (started writing Windows programs with Windows 3.0 and Turbo C++), I thought I'd share a little bit of my experience since April switching to a MacBook Pro. The contributing factors were an aging Dell E6400 with maxed out 8GB of RAM and the need to run at least two virtual machines at the same time as our core development environment.

The MacBook Pro is a circa Spring 2012, 15" display with 250GB drive purchased through Amazon. I bought it with 4GB and then upgraded it to 16GB for $250 from Newegg. I have not yet replaced the HDD with a 7200rpm 750GB, but its only a matter of time.

Ostensibly the reason for this shift from Windows to OSX was that the 16GB would allow me to run two VMs and still use the host, all with acceptable performance. In a nutshell: this works. Certainly there is a performance hit for doing this, but the VMs are acceptable for development and database work, and the host runs quite smoothly.

Some details on the environment:
OSX Lion 10.7
16GB RAM
VMware Fusion 4.1.2
VM#1 is 64 bit Windows 7 with Visual Studio 2010 and 8GB RAM
VM#2 is WIndows Server 2008 R2 (64 bit) running Oracle 11G enterprise with 2GB RAM
(leaving 6GB for OSX)

The Pros:

  • Runs two or three Windows VMs quite easily at acceptable speed without tearing down the host.
  • VMware Fusion integrates the use of Windows apps into OSX so that you can get by without Office for Mac. VMs created from Workstation came into Fusion without a hitch.
  • Cisco VPN support works fine within the VM
  • OSX is unquestionably more pleasant, fluid, and faster than Windows 7 (even for me)
  • Desktop switching is really easy and efficient


The Cons:

  • Cisco VPN support on Mac seems like false advertising to me: I can't ever get it to work.
  • For daily use Mac Office 2011 is much better than using a VM, but it's a culture change like anything else in Apple Land. Hated the ribbon bar? Well they redesigned it yet again for Mac...
  • VMware Fusion is not as robust as Workstation (Windows version). Its buggier, and forget about port mapping, there is no tool: you have to hack the file system.
  • The Mac refuses to disassociate resolution of my dual monitor from the Mac laptop display (keeping the monitor at low res).
  • Skype is different on the Mac (can't separate conversation windows). Somebody thought it was better this way, but that isn't me.
  • Chrome has some flakey issues with web service stalls, but I use it almost 100%  of the time and for me it has been quite stable.


The Summary

This turned out to be a good move for me. I had been "counseled" by friends to go this route, and the bonus is that as we move into native iOS development I have been able to use xCode on the host. There is event a native Tortoise client (we use Mercurial for version control) for the Mac. In fact, I have found many native clients for the Mac like Filezilla, Office 2011, Skype, Microsoft RDP. Still, as a Windows developer the general reliability of VMware Fusion has been the saving grace of this switch.

Anything I can't do in OSX, I can do in the Windows VM...

Life is good.