This week, after running into one RubyGem too many that was required to be compiled, I’ve switched over to the Mac for development. For the last 4 months (since I bought the 17inch MBP) I’ve been flirting with development on it. Until now it’s been the trophy wife that has been trotted out when I needed to do something “unixy”. The transition hasn’t been easy, years of UltraEdit and Windows have engrained a muscle memory of hot keys deep into my subconscious. I’ll go over some of the pros and cons I’ve noticed in my first 3 days as a hard core mac only user.
- It’s pretty – I am still blown away by how even little things are pretty in MacOS. Things like the dock, the icons, even the transition between desktop spaces, are fun to just look at. None of these things are extremely new to me (Windows Vista has a very pretty task switcher and Ubuntu’s Compiz has a neat desktop transition). But the amazing thing is that as pretty as it looks all those things don’t seem to slow it down.
- Hot keys – It seems like there is a hot key for everything. As I start to learn more and more of them I’m starting to need the mouse less and less.
- It’s a Unix environment – Things like the terminal, compiling, SSH are all built in. You don’t have to use DOS which is like a crippled kid, compared to a Unix terminal. You don’t have to deal with running one “administrator” console and one “normal” console.
- Unix Programs – You can run things like memcached (this is important because some of our sites have gotten to the point where we need it, and this way I don’t have to setup a special environment where memcached isn’t running.
- The trackpad sucks – I don’t know what it is, the giant track pad just doesn’t seem to work as well as any of my other laptop’s track pads. I could hook up a wireless mouse, but when I’m sitting outside or in my recliner working a mouse isn’t feasible. It also lacks a right click, why I just need one giant button is beyond me.
- The keyboard layout – I’m almost certain the mac keyboard is a slightly different size than a standard pc keyboard. Not to mention the lack of a 10-key pad even on the large 17 inch laptop.
- The Apple, Option and Ctrl keys still trick me – muscle memory works against me ctrl+s doesn’t save my document. Ctrl+arrow doesn’t jump around words. I’m still trying to teach my fingers where they need to be to do things that I don’t even think about in windows/unix machines.
- Task switching – I love alt+tabbing (apple+tabbing) and when the task switcher comes up I don’t see 20 things, however you pay for that because firefox browser windows are all open under the same task and to switch between windows in a task you need to push F10. And I have to admit that besides F1-F5 I don’t tend to use the function keys in Windows/Unix.
So far I love TextMate, as limited as my understanding of the hotkeys are it seems like anything I want to do can be done by typing a little then hitting a button and it will do the rest for me. I love going into a terminal and typing “mate project” and it opens my entire project up.
I also think that the 1920×1200 resolution is a bit too high for a 17 inch monitor (yes I’ve got oodles of desktop space but the font is a little impractical). Watching movies on it looks amazing (if only it came with a bluray player).
Working with Rails on the Mac is a dream. You have the ultra powerful text editor with TextMate, and you also have the ease of working in a Unix environment. Something needs to be compiled? No problem, you don’t need to install mingw or visual studio, spend hours setting it up, send the right flags. This also applies to things like SSH. Working with a private/public based ssh keys in windows with putty, was alright, but had serious limitations. I installed OpenSSH on windows then spent hours upon hours configuring and getting it to finally work with key (which after about 5 hours I did get it working exactly like a Unix ssh environement). With my Mac I do the same thing I have done a half million times in Linux, took me 30 seconds.
I can see now why so many Rails developers sound like Apple fanboys. After working with Windows so long I had learned to work around strange errors and compile problems and turn a blind eye to all the issues I had, because I knew the environment I could whip out code from memory, hot keys were all based on muscle memory, but I seemed to be living in a very primitive age, one where all the time I saved not learning a new environment was lost fixing random errors and problems working in that environment.
The one thing I’m still wary about is using both a Windows/Linux OS at the same time as the Mac OS. It’s easy to fall into old habits and just go back to what you know and feel safe with (it’s what happened about 2 weeks after I got my Mac). I’m in the process of getting my boss to get a Mac or Mac Clone for me so I can go into total Mac Goodness immersion.