After two decades of working with PCās, as Iām into this mood of trying out different things now, Iāve decided to get me a Mac a couple of weeks ago. Iāve been doing Rails development for a few months, and I kept hearing and seeing people say that the Mac is a much better platform for that, so I decided to give it a go, since now thatās what Iām doing fulltime.
Which Mac to get?
I have two big monitors hooked up to my PC, so getting a Mac Mini and hooking it up to one of my monitors was one of the options. But then what do I do when I have to go on trips, clients, conferences, etc.? I need a laptop. But then again, which one?
I friend of mine had just purchased a MacBook Air; the 13-inch screen one. At first I thought itād be too small for me, but playing around with my friendās it actually felt alright. The machine seemed really fast despite its size, the battery lasts for several hours, and a thought dawned on me: if I had one, I could hook it up to one of my big monitors when working from home, and Iād had a very portable laptop to take with me on trips.Ā So thatās what I did: 13-inch MacBook Air, with 4Gb of Ram.
How to get used to it?
My prior experience to using a Mac had been about 20 minutes playing with somebody elseās machine. Because of that, I decided to just set it up on the side initially, so Iād do most of my work on the PC where Iām 100% comfortable, and just go to the Mac in order to install programs, try small things out, get used to the keyboard and multi-touch trackpad, etc.
I have to say, several times, I feel totally useless. Main reason being just now knowing how to do the most simple things: for instance, whereās the context menu (right-click menu)? Whatās with delete/backspace? Whereās home/insert/pageup/pagedownā¦? How do I work with the Terminal (console) window? Canāt tell you how frustrating it is to get stuck in those things when youāre trying to get something done.
In order to speed up me getting used to it, I had to quickly set it up to make it somehow feel like it does when Iām using Windows configured to my taste. I guess that takes me to whatās probably the single most important thing when using a computerā¦
An Application Launcher
A very long time ago I was already very particular about finding ways to quickly launch applications or navigate to places on computer. On Windows, for a while Iāve used āStart->Runā¦ā, WinKey+R, the Address bar tweaked into the taskbar, etc. Then Iāve found SlickRun, which Iāve used for several years. Then, when showing and talking about SlickRun two years ago at a Virtual Brown Bag, somebody showed Executor, which I totally embraced every since. In fact, when Iām building a Windows machine, right after installing the Operating System, Executor is the very first application I install; this is, easily, the application I use the most on Windows (I should really write a post about how I use that toolā¦).
So, I needed something similar for the Mac⦠really bad! Alfred was it. I havenāt fully explored this tool yet, but it gives me 80% of the features I use most of the time in Executor. The free version has the āapplication launchingā features, but Iāll be getting their PowerPack version soon, which adds the āfolder navigationā features (which I use a lot on Windows), among other things. Ah, it also adds āclipboard historyā, which on Windows Iāve been using ClipX for.
Another things that Alfred gave me is the ability to lock the screen (sort of like WinKey+L on Windows), which is another thing I use every time I walk away from my computer.
The Development IDE
Obviously, as Iām going to be primarily using my Mac for development, I needed an IDE. I understand people use TextMate, MacVim, etc., but I needed something that can get me productive as quickly as possible. Like Iāve mentioned a couple of weeks ago, Iām using RubyMine on Windows for Rails development. As it turns out, that tool also runs on Mac. Sweet. The main thing for me has been to just remap the keybindings so it somewhat resembles what I have it configured on Windows.
The Console
Iāve been using the command prompt (DOS) on the PC ever since I started working with computers, and then PowerShell in the last two years or so. I had never used Bash before (well, I did try it for 30 minutes a few months ago, got stuck, and gave up). Well, now I do need to learn it, since thatās what I get in the Macās Terminal window. I need to review Joshuaās presentation on Bash, as well as watch PeepCodeās Meet the Command Line and Advanced Command Line videos.
Source/Version Control
For source control, Iāve been using Mercurial. On Windows, TortoiseHG works really well for me. On the Mac, Iāve started to use MacHG; I canāt say Iām 100% happy with it, but it may still be just be been uncomfortable with the environment as a whole. One thing that got me at first is that I needed to install Mercurial in order to be able to access the āhgā command in the Terminal window. After I did that, things worked fine.
One more thing: when trying to open a project in RubyMine that has a Mercurial repository, weāre asked to provide the path to the hg executable, which I had no idea where thatād be. Found it here. One of my buddies pointed out I could also run āwhich hgā on the Terminal window, which tells me the path to the given executable.
Also, Mercurial only accepts commits if it can find a username. In order to do that, we need a global .hgrc file in the āhomeā directory containing those settings.
Diff Tool
BeyondCompare has been my Diff tool of choice for several years (for both files and folders). Unfortunately, it doesnāt run on Mac (as far as what Iāve read, itās because itās written in Delphi, which doesnāt run on Macā¦). After asking for recommendations, I got to DeltaWalker, which seems very similar to BeyondCompare. Iām using its trial to see how it feels. Itās supposed to have easy integration with Mercurial and Git, so Iām hopeful, as BeyondCompare integrated really well with my workflow on Windows.
MongoDB
Iāve been using MongoDB on my Rails projects. In order to get it going, Iāve followed the instructions here. Which has led me to Homebrew. In order to get Homebrew going, I needed XCode (5 bucks). After that, all was good.
Whereās Bundle Install?
Source code in place, database, Ruby (already comes in the Mac), so Iām ready to do Rails development, right? Well, no. As soon as I try running bundle install, things donāt quite work like I expected. No biggie; followed instructions found here, and I was back in the business.
Text Editor
I have tried to use the text editor that came with the Mac, but didnāt like it. I then tried TextWrangler, which has been only frustration (seriously, I can’t find a way to open a file in the darn thing, for crying out loud!). Iāll be getting TextMate, as that seems to be everybodyās favorite. Also, eventually Iāll get into MacVim, which sounds like something Iād like very much.
More Tools
Iām also going down Benās Ultimate List of tools for Mac users. Lots of good stuff in there.
Performance
Iāve noticed that running RSpec/Cucumber tests on my Mac is a LOT faster than on my super powerful PC. I donāt know why that is, but I can easily perceive that.
Summary
Iāve made the decision to only use my Mac for Rails development moving forward. Things run faster, more smoothly, etc. Iāve been using it as my primary development machine for the whole last week, and am enjoying it.



Leave a Reply to claudiolassalaCancel reply