Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am a freelance web developer geared towards Ruby on Rails. The main components of my current working environment are a 27" iMac, Textmate and git/github (which is not going to change any time soon).

What I am looking for is a nice little/portable laptop that will allow me to make a quick get-in/fix-something/test/push/get-out dance when not at home (home is where I work from). I am fairly familiar with Linux and Vim and I think I can easily work with both environments (OSX and Linux).

Granted that the laptop will only be used occasionally and in a hurry, is there something I should be worried about when working with OSX and Linux at the same time? (mind you that the laptop will solely be used for work and thus there is no requirement for it to be able to manage my photo library)

Anyone had an experience with a relevant setup?

EDIT: I would like to stress it a little more since some answers have diverged from it.

What I am looking for is help for a secondary machine for RoR, not a primary one


  • battery life is not an issue - I believe 2-3 hours is all I'm going to require of it, so the clear Mac hardware advantage evaporates
  • I'm not compiling any code - no fast CPU needed (I'm not really familiar with what is needed for compiling)
share|improve this question

closed as off-topic by MichaelT, BЈовић, Kilian Foth, GlenH7, Dan Pichelman Aug 1 '13 at 18:39

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – Kilian Foth, Dan Pichelman
If this question can be reworded to fit the rules in the help center, please edit the question.

Get a PC with linux on it, it's cheaper, and it does the job just fine. –  Mahmoud Hossam Mar 29 '11 at 12:12
So you suggest he carries that PC around everywhere? –  Htbaa Mar 29 '11 at 12:15
Problem with the "PC with linux" route could be battery life. If that's important, there isn't much that can match the 13" MBP... –  Trezoid Mar 29 '11 at 12:24
@Htbaa I meant a laptop, as in "not a mac", which translates most of the time to a PC, I know this might be wrong, but you get what I mean. –  Mahmoud Hossam Mar 29 '11 at 12:33
Darknight - I felt the same way. I swore up and down I'd never own one. Then I bought my wife a Macbook Pro. Within 2 months I had one of my own. –  Jim Mar 29 '11 at 17:03

9 Answers 9

up vote 4 down vote accepted

Hmm. Working with Ruby on Rails? That means your processing requirements are pretty low (no need for compilation) and the most important thing is screen real estate. There are a few things to consider:

  • Mac is Mac everywhere you go. You know what you are getting and hardware support is there.
  • Not all Linux distros are alike. I've had great success with the most recent Ubuntu Linux for desktop, but nothing but troubles with CentOS or Fedora Core.
  • Linux power saving routines are terrible. On my older HP laptop I get about 45 minutes of battery life, when it used to give me about 90 under Windows. Also note that Windows has comparable results when compared to Mac on the same hardware (i.e. battery life suffers). That should give a clue as to how poor power management is with Linux.
  • Mac hardware will cost a cool grand easy, you can get a PC notebook for ~$500 USD (Asus) give or take. Problem is cheap components don't always work with Linux.

Bottom line: laptop support in Linux has really come along, and the Ubuntu team has done a great job making Linux usable on that platform. No Firefox rendering issues and Chromium is really fast on Ubuntu, and I'm running a rather mediocre 1GHz single core processor. Boot times are roughly 30-45 seconds on my outdated hardware.

Mac on the other hand is nearly instant on--particularly with the MacBook Airs. Superior battery life, usable screen real estate, lightweight, and a pleasure to use.

share|improve this answer
+1 for screen estate, but if you want to have a proper resolution you're paying almost as much for a PC as you would for a Mac. –  sebastiangeiger Aug 14 '11 at 9:51

For the scenario you're describing you don't really need full laptop. Netbook would do perfectly. With advantage of being much more portable and much cheaper than full laptop.

share|improve this answer
I agree. My main focus was in either MacBook Air with enough RAM or MBP 13" with an SSD. I just think that jumping to the Linux side might give me more choices in terms of hardware and potentially bring down the cost of it. –  Kostas Mar 30 '11 at 10:37

I just switched to using a Macbook Pro - absolutely love it. I installed VMWare Fusion and setup a CentOS linux VM - best of both worlds!! I use iPhone/iPad/RoR dev tools on the native machine, then use the CentOS VM for weird stuff I want to keep in a sandbox.

share|improve this answer
Thank you for sharing your experience but I would prefer it if you were more specific on the Linux-OSX interoperability. The host and the guest OS treat each other like different machines which relates closely to the setup I'm aiming for. Did you run into any problems when hacking the same code with both of them? –  Kostas Mar 30 '11 at 8:25
@vrinek - so far, so good - no issues I've encountered so far, and I love the flexibility the setup provides. If you have specific questions about different functionality/software, let me know. –  Jim Mar 30 '11 at 19:42

I can only think of line endings, but Git already does a good job with that. There's also endianness. I've got no experience with Mac's but have been using Linux for several years on and off. Last time I tried Linux was for about 3 months (this was recently, January this year). Firefox 3.6 had huge rendering issues (slow) and Flash crashed a lot. Chromium was a bit better, but far from perfect. So me personally I'm quite done with Linux for desktop usage (server is a whole other story, for that it's great).

If you do go for a cheap laptop to run Linux on make sure the hardware is supported. Nothing more annoying than having bad or no drivers at all for your wireless card. Although that has improved greatly the last couple of years.

share|improve this answer
Both Mac and PC are running the same processor these days, so there are no endian issues any longer. Besides the filesystem and GIT already take care of that anyway. –  Berin Loritsch Mar 29 '11 at 12:27
I meant endianness as in a thing to beware of when writing software. But you're right, since PPC Mac's are probably not a thing one targets anymore it's not of a big issue. –  Htbaa Mar 29 '11 at 12:36
Out of curiosity, which distribution of Linux did you use that gave you such a poor opinion? That can make a huge difference. –  Berin Loritsch Mar 29 '11 at 12:39
Ubuntu 10.10 on a HP Pavilion DV7-1210ed laptop. I've also run Ubuntu 7.10 and 8.04 (and I think 8.10) on a HP Pavilion Elite m9060 (desktop pc) which was a much better experience. 7.10 Was quite nice actually, upgrading to the others gave spontaneous errors in wireless and audio failing. Also, sound quality with 10.10 on my laptop was really poor. –  Htbaa Mar 29 '11 at 12:43
Hmm. I guess that shows how much variance Linux has across hardware. I've had a very good experience with Ubuntu 10.10 on my old HP laptop. But perhaps that is because Ubuntu has the right drivers for my wireless and video... I will say that watching video on Ubuntu is still too processor intensive. My meager hardware can't keep up. –  Berin Loritsch Mar 29 '11 at 12:46

I'd have to go for Linux. It has some quirks, but overall I've had less issues (mostly of the compatibility variety) with Linux machines than Mac. If you can live entirely with Apple software, then a Mac would be great for you. However, once you start going with 3rd party software Linux takes the advantage.

share|improve this answer
However, once you start going with 3rd party software Linux takes the advantage. I disagree completely. In my experience, Mac takes the clean advantage with 3rd party software. Transmit, Textmate, GitTower, CSSEdit are just a few tools I can't easily live without. Your first point though stands true. Since I mostly have to deploy to a linux machine at the end, it would be nice to have a system available that is closer to it (architecture-wise). –  Kostas Mar 30 '11 at 8:29

Not trying to convince you either way (I use both quite happily), but if you decide on the going the Linux route and are worried about hardware support, check out System76. Their laptops come with Ubuntu pre-installed, with all hardware working out of the box. They have everything from netbooks to 15" laptops.

Necessary disclaimer: I am in no way affiliated with them, just have experience with the brand.

share|improve this answer
thx for the heads up but for work I prefer a laptop I can feel comfortable with (Apple, Lenovo, Asus, brands I know) and System76 does not seem to exist near my area to take a look into it –  Kostas Mar 30 '11 at 8:56
No worries, just thought I'd let you know that it is actually possible to get a computer with a fully-supported and tested version of Linux on it. But you are correct, as far as I know, it is an online-only shop. –  jnevelson Mar 30 '11 at 15:26

Is there something I should be worried about when working with OSX and Linux at the same time? No. Almost everyone at work is using Mac. I have laptop (Lenovo T500) with Ubuntu (and previously Suse and Mandriva) and we all commit into shared git repositories. I've never ran into any problems. You might have to set specific line endings in your text editor, but that's about it.

As for developing RoR apps, Linux is at least as suitable for that (if not better) as Mac. The only thing I'd like to see on Linux is a text editor similar to Textmate, but there are many good editors and IDE available: Komodo Edit (my favourite editor), GVim, Gedit pimped-up with plugins, Rubymine, Eclipse...

share|improve this answer

I see many answers here, but I will add my own. I'd suggest going with a MBA and not look back. I own a MBP myself but an AIR seems to fit your requirements better.

Why a Mac? Simple geeat hardware that runs everything if you really need too. Also AIRs are better suited to the quick get it done field fix than just about any other computer. They start up quick and have very good battery life.

As for Linux I use to run it exclusively up until getting a MBP in 2008. I was or am a bit shocked at how quickly I gave up on Linux. On laptops Linux was never a good option.

Of course the out of box option would be an iPad. This would be a suitable device for remote access. It is certainly nore portable though not a device fir long term hacking OS a site. The good thing here is that the 3G model gets you connected almost instantly anywhere. Personally I like a real keyboard but people do use the iPad for remote maintenance.

share|improve this answer

I think is a matter of taste but i've been working for years on my laptop on a linux environment and never had major infraestructure problemas with my projects.

Linux is cheaper and has a great community support, so 99% of your problem will probably solve by using 2 or 3 commands in a prompt that you got from a forum.

share|improve this answer
It's just unfortunate that the other 1% of problems you come across can only be solved by editing an obscure, undocumented 500 line config file that isn't even supposed to be in the distro any more using pico, and the only online references you can find to the problem relate to Bonzo Linux 2, which stopped being distributed in 1994. –  Ant Mar 29 '11 at 16:00
Simply true , +1 for that –  guiman Mar 29 '11 at 16:25
If your Linux laptop was a secondary and your primary was a Mac, then I can relate to your situation. Would you care to clarify? –  Kostas Mar 30 '11 at 10:32
Sorry @vrinek but i dount understand your question. My point with the answer is: Linux works great 99% of the time. Now, being primary or secondary is not that important really. I use it as a primary work machine and i'm really happy with it –  guiman Mar 30 '11 at 13:07

Not the answer you're looking for? Browse other questions tagged or ask your own question.