Ask HN: Developer machine, Macbook vs. arbitrary Laptop with Linux, which?

15 points by linuxquestions ↗ HN
How hard is it to get an arbitrary distro of Linux to work seamlessly on an arbitrary laptop?

I intend to teach myself web development. Therefore I want a machine on which I can develop on. I'm told Macbook Pros work out of the box, pretty much. However I do not want to pay such a big premium just for the apple brand. So I figured I could buy a much better Windows laptop for less, and dualboot my chosen linux distro and windows -- but how hard is it to get the distro to work with the hw?

77 comments

[ 2.9 ms ] story [ 154 ms ] thread
Lenovo Thinkpads tend to work every time. I'd pick a model (from any manufacturer) and read user reviews.

I've put Linux on 4 laptops over the past 10 years and everything has worked. I've heard many complaints about sound not working, but sound has always worked for me in Linux everywhere I've tried it. ATI drivers were hard to get working back in the day, but with Valve pushing SteamOS, graphics drivers should be much less of a concern these days.

I can confirm, great keyboard, solid linux support. Best linux laptop I've had.
I've always thought that Thinkpads have terrible keyboards, because the Fn key is in the lower left, where Ctrl should be. Mine was from before there was a BIOS switch (or whatever the option is now) that switches the two. Every day, I would try to Ctrl C something and wonder why it didn't copy.
you're supposed to map caps lock to control and never look back.
Yep, my lenovo (thinkpad e430) works great with ubuntu linux (and even plan9 (9front) and freebsd), but it annoyingly uses battery while powered off. If I leave it powered off in the closet the battery will be dead in a day. Using a macbook before led me to take battery life for granted I guess.

Edit: it's not suspended, but actually turned off. s/even//

Is this a common problem with Lenovo, and is it a Linux-only issue? I had been considering Lenovo as an option (admittedly less so after the Superfish shenanigans), and this sounds like a major showstopper.
Some laptops have a USB port always powered on for recharging other gadgets. Also check that you don't have Wake on Lan or Wake on USB and such enabled. If that's the problem you should be able to disable from the BIOS.
Ironically, Linux was able to play audio on my 2008 MacBook when OSX couldn't. I mean this as a fun anecdote--I do not believe my case is typical. :)
Your best bet is to look at specific models of laptops that interest you and then use google to find out if Linux works well on them.

Typically, Linux works well on Dell Lattitudes and Lenovo Thinkpads.

That being said, when these companies release a new model, it usually takes at least a few months before people get them working 100% on Linux.

If you want more specific advice, you should create a post on reddit.com/r/suggestalaptop and give them the specs you are looking for, plus your price range.

If you are doing web dev it doesn't really matter what system your are running locally. Spin up a free micro at AWS and use that.
Not sure why you're being downvoted. You could develop from an iPad with iSSH on a Digital Ocean droplet if you wanted. Plenty of web dev is done from Windows. Plenty is done from OSX or Linux. Plenty is done from BSD. The host OS doesn't really matter for the web, that's the point of the web. Unless you're trying to learn ASP.NET, then... yeah it kind of matters.
Dual booting a Linux and Windows machine is easy. I considered that option when I first got into web dev, but went to a bootcamp that was all-mac and it was just too much of a hassle to constantly translate everything from Mac-flavored to Linux-flavored Unix.

I'm happy with the Apple dev environment, minor gripes notwithstanding, because so much of it just_works. I'm also scared off somewhat by Linux driver gremlins (which speaks to your worry). A friend of mine, who's also using Linux to learn web dev, is constantly running into issues with his WiFi disconnecting and other small things that - while they aren't critical - add up in the long term.

So Linux is a good option if you're willing to really dive into it, which you should do as a webdev anyway, because it's so important as server infrastructure, and if you're OK with minor usability issues. But if you'd like to save that for later and focus on code, I'd go with Apple.

Hope this helps. Curious to see what others recommend.

I switched to OS X because Windows is awful for development (not Unix-like) and Linux has awful hardware issues and can't do "normal people things" well (games, web browsing, etc.).
The support for dev tools on Linux is so strong, that sometimes I forget that more "mainstream" content is harder to access - or unsupported entirely.
Yeah. Actually, web browsing was a poor example. The issue is more that there are a lot of things which just have almost no software support on Linux. OS X is quite mainstream and so this isn't generally a problem: if you need to do a task, there's either an OS X version of the tool you need, or an OS X equivalent. I can do things like play games and edit videos on OS X, or collaborate on Unity game projects. If there's some obscure thing I wish to do some day, I usually have a tool that can do it. These were things that were almost impossible on Ubuntu in my experience.
I would guess a decent desktop computer would be a better fit for these things.

A recent quad-core processor with 8 GB or more RAM would probably be more than enough. Then, you can ssh in with your macbook or choice of any device.

Macbook + Vagrant, just don't get a MBA. While light and portable, you'll eventually get annoyed at the lack of more oomph.
A developer needs a real command line - so that leaves windows out unless you install some of the custom command line apps.

I switched from debian to Mac (because of Adobe Products like Photoshop, lightroom, and AfterEffects running at 100% unlike wine/virtualbox in Linux) and I run all my development inside vagrant boxes since linux is what I'll be running on the actual servers.

MacBook Airs are really fast and you'll never have trouble with the amount of power they give you unless you're trying to compile HHVM (a massive, multi-hour-compile time project) or play high-end games.

For web dev, programming, web surfing, multitasking, the MBA is very good. I'd recommend 8GB and not 4GB RAM though. It's rare, but sometimes the extra gigs would've been useful to me (though I can't think of a common use case, and OS X does a good job of memory management to make 4GB work).

> though I can't think of a common use case

You can't? I'll tell you: 30+ Chrome tabs open + several webkit/atom-shell based apps (Slack, Spotify, Atom, etc.). I hate people packaging web apps with a passion. (Funnily enough, we might end up doing it too, because it's easier)

This is after I restarted Chrome (I had several Chromium Helpers using more than 0.5GB each before that): http://i.imgur.com/vN8EfDu.png

I don't use Chrome, and my favourite editor is vim, so I guess this doesn't affect me so much.

The one time I've really needed memory was when working on a WebGL Minecraft client. Firefox could deal with 4GB RAM, Chrome fell apart.

But yes, 8GB means your machine wastes less time shuffling memory around in some situations.

Not enough "oomph" usually means processing power. However, your screenshot reflects memory constraints. I run VMs and multiple tabs similar to you without a hiccup. I think most developers (myself included) tend to go with the 8 GB of RAM though when getting the MBA. You only have 4 GB. That's the issue here. :)
Couldn't resist posting this.

"You don't deploy to BSD. So why the hell are you developing on it?"

http://www.widgetsandshit.com/teddziuba/2011/03/osx-unsuitab...

Edit: This is undoubtably a troll post, and I dev on a Mac + VMs if necessary.

I remember this article – it really annoyed me then, and still does. In fact, given the solutions we've not got, it's even worse.

We all mostly use cross-platform technologies. They should function almost identically in each environment. You should have comprehensive CI and staging in place to make sure that assumption is borne out before anything ships.

If it's still a concern for you, you've now got access to things like Docker on the Mac, which totally isolates dependencies far better than an arbitrary Linux install would.

The ultimate reason that people want this to work is that many of us prefer working on a Mac. It's a totally legitimate preference, and I'd argue that if your app is dependent on the environment to the degree where is breaks between nominally compatible platforms, then it's a fault with your app!

"What is this shit, Gentoo?"

I did ask myself the same question. Very funny blog post.

Trying to get any linux install to work on a random laptop is still a total crapshoot. Even if you get it to work, it'll be riddled with irritating issues – suspend or wake not working, graphics issues, that sort of thing.

Make sure you review a list of compatible machines first!

It's really not that bad. My experience is that 99% of features from a distro like Kubuntu or Mint work out of the box on most laptops made in the last 5 years.
We have a load of lenovos at work that work at 100% with standard ubuntu install. I have 2 laptops at home (pretty new ones) that have Arch running with no extra fiddling after base install. In my experience things usually just work and the situation you've described is from around 5-7 years ago.
I've had awesome luck with Ubuntu. The last driver problem I had was a missing broadcom driver for my 2009 netbook using Ubuntu 10.04. Since then, I've installed Ubuntu on dozens of laptops and desktops since then with absolutely no problems.

*NOTE: I also had considerable difficulty getting the iSight and touchpad drivers to work on a 2008 MacBook, but Windows fared much worse (no wifi, touchpad, camera, audio, etc).

Get a Windows laptop and run linux with Vagrant. No need for dual booting. Windows "just works" too.
Tell that to my brand new laptop with Windows 7 being unable to apply its updates even after 42 reboots.
I would not recommend Windows to someone who wants a "just works" solution. I'm told that I (and every Windows user I know) just have bad luck, but Windows 7+ still regularly BSOD on HP and Dell laptops, and they seem to be much more prone to viruses, etc.

And I know, Windows is beyond reproach, and BSODs are really the fault of OEMs, but I've never seen Linux kernel panic--not even on the same hardware Windows couldn't handle.

Not trying to start a flame war, but I really think it's misleading to say Windows "just works".

I've had way more problems with my MBP running Yosemite than my home built generic Windows 7 PC.

"Just works" is subjective so it shouldn't be a purchasing factor.

I literally make all of my important purchases on subjective evidence. Whenever I'm considering an important purchase, I scour the Internet for anecdotal information. I've found that such anecdotes in large quantity are more reliable (and informative) than most of the available objective information.

More relevant to this conversation, Macs have a wide (and presumably well-deserved) reputation for quality, and Windows PCs have a wide (and presumably well-deserved) reputation for cheapness (both in the quality and cost contexts). Sure, that consumer Dell you bought might boast better specs, but these objective metrics do a bad job about predicting things like product quality or overall satisfaction.

Usually everything works out of the box even with relatively new laptops. Driver problems and heavy manual fiddling is a scare from the olden days. You might need some extra effort if you want to make full use of the gpu but this doesn't seem to a factor if you'll do web dev.

For distros - Ubuntu will give you most out of the box but I'd suggest trying Archlinux. The wiki is so much better then what ubuntu has to offer and it has info on more exotic problems. I found it way more stable and usable then ubuntu.

For brands - lenovo thinkpads work great. Asus has great support too, though headphones/mic combo jack has some issues on certain models

As a regular Arch user, I would not recommend it for new Linux users. When things go wrong in Arch, they have a tendency to go very wrong (e.g. when they symlinked /bin and /lib to /usr/bin and /usr/lib, which caused major problems if you didn't follow the news and just did a normal update).
You’re not really paying a premium for the Apple brand these days when it comes to laptops. If go out and look at laptops of similar quality you’ll see there’s not much in it. Sometimes Apple is even the cheaper option. Don’t think that by buying a cheap consumer grade laptop you’re "getting a deal" - you’re just paying what that machine is worth.

But if you don’t want to buy Apple, by all means buy a decent Thinkpad or Dell business grade laptop - Dell will certify Ubuntu on some of their machines & Thinkpads have had decent support since forever. If you buy a bleeding edge machine it will probably have some wrinkles to iron out though.

You can do what I do & pick up refurbished Thinkpads which are "good enough". Everything just works on those, because the bugs have all been ironed out. Plus, they’re cheap enough to buy a spare. X201 represent :)

Yep. There are some nice Windows machines out now like the Dell XPS, HP Spectre x360, Surface Pro, but when specced out they cost the same as a refurb Macbook Pro.

edit Except the windows machines come with touchscreens and some have active digitizers for drawing with a pen.

You are still paying a premium - just it's largely shifted from a premium up-front to a premium when you try to upgrade or repair.
You are paying premium for unmatched hardware and software quality. I've been using DOS, Windows 3.1+, Ubuntu 9.04+, and OS X Mavericks and Yosemite. Yosemite is the best OS in the world. Things just work. I used this script to set it up which worked flawlessly: https://github.com/thoughtbot/laptop I suggest that you invest in MacBook Pro 15" Retina, as 13" is a bit small if you want to see the pages and the DevTools at the same time, or use an IDE like WebStorm. I will never buy anything non-Aplle-made in the future :)
Although I largely agree, especially the part about the hardware where the physical differences are measurable and obvious, but "best OS in the world" is highly situation specific.

Best for your needs? Sure. Best for gaming or servers? Not so fast.

As great as OS X is, It's obnoxious to use in a server environment compared to other options like Linux and BSD.

I would recommend getting one that allows you to swap out batteries. Apple doesn't make them anymore. Not sure if any PCs with that option are available.

As for getting linux to run on a laptop it is fairly easy to install and work on either a Macbook (as dual boot) or a PC. Regards price I think some models of Macbooks are now fairly comparable to PC laptops in price, especially if you buy around the 'Back to School' promotions in the US.

I like the trackpads on the Macbook and the keyboard is great too.

One of the best features that you can't get on a Macbook, which I think is required for anyone using their computer seriously, is Lenovo's extended warranty with accidental damage protection. I imagine others have similar offers, but Apple does not.

For around $180, I added 2 years of warranty with next day onsite repair, including damage caused by accident, to my girlfriend's new Yoga 2. She is in nursing school, and having her previous computer flake out during mid-terms was a huge source of stress.

Over the last 20 years I've had a lot of Thinkpads, and been quite happy with them. I take care of them, but I use them daily, and things happen. Usually it is just small plastics to replace, but when it's the motherboard or screen and most of the case, it is SO nice to have Lenovo do the repair for "free".

I've had good luck with Linux on the Thinkpads. I run exclusively Linux, so that has been a big deal. Currently I'm running a T530 with Ubuntu 14.04, and it works great. I suspend/resume a few times daily, and have uptimes of months.

Of course, you do get Superfish... I removed it from my girlfriend's Yoga 2 easily enough. Mine it doesn't matter because it never booted Windows in the first place...

Am I missing something? You can add Applecare for accidental damage protection, and you can bring it to any apple store. Is that not the same thing?
Applecare for notebooks does not cover accidental damage
I've been able to get Ubuntu working on my last few Dell laptops with few issues.

Windows is fine for development, with a decent console emulator (http://gooseberrycreative.com/cmder/) you'll be well away.

I wouldn't bother with the MBP: it's expensive for what it is, and has two horrible longevity problems - the power supply cables keep breaking and the retina screen is extremely easy to damage (kids fingers do it). The other problem is that there is currently no way to upgrade the SSD (this is why it's expensive - you're forced to upgrade just go get a decent size SSD).

The SSD can be upgraded if you're willing to do it yourself. Obviously it voids the warranty but it's doable and not that difficult.
The only drives available are taken from the top model rMBP, last time I looked it was over 1000 EUR for an upgrade.

If you buy an old (2013-Spring or earlier) model then it is upgradable.

I bought my first notebook in 2006, it was a dell 640m, hell of a machine. I had it until 2013, upgraded way above their recommended specs (more memory, ssd drive). I had a dual boot with windows (although it was really never being used) and a happy all time debian user. But everytime a new version was out, and evenhough it was an old laptop with old hardware and all the drivers were pretty much there, there were always something to fix. Spending 2-3 days sorting some annoying issue out was the norm rather the exception. I think linux is and awesome OS and a great one to work on.

I switched to a macbook air on 2013, and not being an APPLEist (switched my iphone 4 for a rooted Samsung galaxy s3, which I still have), It's hardly to ever look back.

Once I get used to all of the MAC-ish things I was as productive as before, if not more. Things just work and it's a unix system underneath, so overall, I have everything I had on linux, compiling packages, package manager with hombrew, command line, etc. Just the fact of closing the computer, move around, open it and be working just where you left in 10 seconds, for me, worth the premium. Right now they are not that expensive.

I still had to overcome a few annoying mac things, it's not 100% fool proof, had to fiddle with open size limits, some specific configurations, proper web dev setup, but this time, I feel it was the exception and not the norm.

My +1 goes for a mac at the moment.

I have the same laptop, dell 640m,it is a awesome machine, it still used by my parents! Anyway I switched to a MacBook Pro too in 2010 and I never look back!
I have the same laptop, dell 640m,it is a awesome machine, it still used by my parents! Anyway I switched to a MacBook Pro too in 2010 and I never look back!
I have the same laptop, dell 640m,it is a awesome machine, it still used by my parents! Anyway I switched to a MacBook Pro too in 2010 and I never look back!
I have the same laptop, dell 640m,it is a awesome machine, it still used by my parents! Anyway I switched to a MacBook Pro too in 2010 and I never look back!
Buy a MacBook. With Windows/Linux machine you will learn much more about getting OS to work :)
You're directly swapping cash for time. It'll take you longer to maintain a working Linux install than OS X over the life of your laptop.
The last 5/6 times I've installed linux it's been pretty much flawless (wifi included) out of the box.
Usually it is not hard, to install Ubuntu Linux. Normally it's a piece of cake. If you want install on your (20 minutes) than I would buy a Thinkpad.

If you would like to have Ubuntu preinstalled look at one of those vendors (The Dell looks very nice.):

https://system76.com/laptops http://www.dell.com/us/business/p/precision-m3800-workstatio... (choose Ubuntu) http://www.pcworld.com/article/2849795/purism-librem-15-linu...

Or look at amazon for Linux laptops. Hope that helps.

I am a huge Linux fan. Love it. It's my preferred operating system, hands down. I ran Ubuntu on a Dell XPS 1330 for all four years of college while I was getting my CS degree.

My first programming job after college came with a Macbook Air. Since then, I've never bought anything but a Macbook. It's just a better built machine and I have no qualms paying a premium for quality. I use a Macbook Pro for my job now and I can't imagine using any other machine for programming.

I could care less about OSX. It's the quality hardware package that Apple gives you. Yeah, you can get better specs for cheaper elsewhere, but nothing retains its quality over the years like a Macbook.

The Macbook Pro 15" Retina is what I would recommend for a serious dev, but any Macbook down to the MBA would do.

It's similar to buying a car. After college I could've bought a Ford with all the fancy features for cheaper, but I went with a Toyota because Toyotas are just better built cars that will last.

EDIT: I always buy refurbished Apple. You get a great discount and still are eligible for Applecare.

sorry to hijack this thread but i would like some input regarding a good windows development machine. I have used a macbook pro retina bootcamped to windows 7 (that i really love) but was wondering if going with a native windows machine would be better?