
Ask HN: Developer machine, Macbook vs. arbitrary Laptop with Linux, which? - linuxquestions
How hard is it to get an arbitrary distro of Linux to work seamlessly on an arbitrary laptop?<p>I intend to teach myself web development. Therefore I want a machine on which I can develop on. I&#x27;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?
======
pja
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 :)

~~~
totalrobe
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.

------
kendallpark
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.

------
karka91
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

~~~
juliangoldsmith
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).

------
phaus
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.

------
theandrewbailey
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.

~~~
0xdeadbeefbabe
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//

~~~
juanbaez
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.

------
macco
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](https://system76.com/laptops)
[http://www.dell.com/us/business/p/precision-m3800-workstatio...](http://www.dell.com/us/business/p/precision-m3800-workstation/fs)
(choose Ubuntu) [http://www.pcworld.com/article/2849795/purism-
librem-15-linu...](http://www.pcworld.com/article/2849795/purism-
librem-15-linux-laptop-blends-high-end-hardware-with-totally-free-
software.html)

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

------
matthewmacleod
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!

~~~
karka91
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.

------
vassilevsky
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](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 :)

~~~
astrodust
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.

------
likeclockwork
I wouldn't really recommend dual booting. Despite all the FUD here, Linux is a
fully usable OS without such onerous maintenance overhead. Your environment is
a lot more amenable to customization and a lot of Linux users like to spend
time getting their experience right for their personal needs. (Not everyone
thinks Apple UI is the pinnacle one-size fits all UI solution )

I've put Linux on a lot of random laptops over the years without problem...
BUT when I buy a brand new laptop specifically to run Linux on it I do like to
do a little research just to make sure I won't run into problems.

The reason I would not recommend dual booting is mainly that I think in terms
of workflow and maintaining context/continuity of software enviroment.. You
should choose one OS to be -your- OS and run any other OSes in VMs as needed.
If you really want the option to dual boot you can run an OS that's installed
to disk in virtual box without too much hassle. But in terms of workflow,
having to reboot your machine and juggle files and incompatible FSes around
will be a nightmare and you'll pay a high switching cost if, as you're
working, you should need a tool from the other OS.

Among the people I know and from my own experience over the years
dualbooting.. Eventually you're going to pick one OS and spend 95% of your
time in it and it will be your primary gateway to computing.

In my case I run Linux as my main OS and if I absolutely need a windows
application(like IE or Photoshop).. I just bring up a Windows VM.

You seem interested in Linux and the web does run on Linux but honestly, while
installing a bunch of server software directly on your workstation OS is a
great way to learn, I can't imagine that anyone works that way longterm. So
even though you can do it in Linux(and OSX but I would never do this there,
it's too much hassle and worse for a newbie).. Once you know what you're doing
you probably won't install anything outside of a container or VM that doesn't
address a personal or overarching need you have--which might very well include
development tools you're working with or interested in.

So.. you're probably going to spend some time in Linux. Decide if you want to
live there or commute. If you decide to commute, pick where you want to live.

------
jamies888888
If in doubt, look at the Ubuntu certified hardware list:
[http://www.ubuntu.com/certification/desktop/models/](http://www.ubuntu.com/certification/desktop/models/)

Or even better, choose a laptop specifically shipped with Linux and aimed at
developers - I have the Dell XPS 13:
[http://www.dell.com/uk/business/p/xps-13-linux/pd](http://www.dell.com/uk/business/p/xps-13-linux/pd)

------
CoreSet
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.

~~~
TazeTSchnitzel
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.).

~~~
CoreSet
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.

~~~
TazeTSchnitzel
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.

------
simi_
Macbook + Vagrant, just don't get a MBA. While light and portable, you'll
eventually get annoyed at the lack of more oomph.

~~~
TazeTSchnitzel
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).

~~~
simi_
> 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](http://i.imgur.com/vN8EfDu.png)

~~~
j-b
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. :)

------
mescalito
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.

~~~
khelidan
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!

------
hodgesmr
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...](http://www.widgetsandshit.com/teddziuba/2011/03/osx-unsuitable-
web-development.html)

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

~~~
matthewmacleod
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!

------
codekiln
I'm genuinely surprised at all the pro macbook comments here. I'm typing on
one right now ... with an ethernet cable, because the wifi is so spotty, while
my other win 7 laptops are just fine. My MBP is great at everything except for
the most important things: connecting to the internet, playing sound, waking
up from being asleep.

------
sparticvs
Buy the Macbook. I have working on getting a Dell developer edition. I picked
up a release older than current of a 15" Macbook Pro from Best Buy for ~$500
off MSRP. 512GB pcie SSD, Core i7, 16gb of ram, retina screen, etc. Cost be
about 2.2k. I haven't regretted it. I price this machine against current non-
apple w/ linux support and I am still looking at ~3k for them. In addition,
their batteries aren't as long as this Macbook. Do yourself a favor, the Mac
is the cheapest price for the hardware and it's faster because the SSD is PCI
not SATA. (That said, expect that WWDC will include new Macbook Pros and
whatnot). BTW, my coworker uses a 13" Air. He uses it for VMs and development.
I only got this Mac because I had a requirement for discrete graphics and
video editing.

------
benologist
Those new Dell XPS Developer Edition laptops look very nice and streamline
getting started -
[http://www.dell.com/us/business/p/xps-13-linux/pd](http://www.dell.com/us/business/p/xps-13-linux/pd)

~~~
jamestomasino
Does anyone have rough pricing on these? They're not available for web order
and I'm trying to compare/contrast without having to deal with a sales rep
hounding me.

------
radicalbyte
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/](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).

~~~
ChristianGeek
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.

~~~
radicalbyte
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.

------
pthreads
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.

------
ziffusion
I tend to get middle of the line machines - and run Linux in a VM under
VirtualBox or the likes.

Works very well. You can run pretty much any Linux distribution you like. A
lower cost machine means that you don't worry too much about upgrading.

I've had decent experience with consumer grade Dell laptops. Just be sure to
get a lot of RAM because you are going to dedicate some of it to the VM.

------
linsomniac
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...

~~~
coderzach
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?

~~~
sharms
Applecare for notebooks does not cover accidental damage

------
dataminded
I recommend going with a mac so that your dev environment aligns with what
most people are using nowadays.

I would then buy a $5/month VPS on digital ocean to deploy to so that you can
run what you build in a 'production' environment and learn some devops while
you are it.

------
bradleyland
If you're comparing apples-to-apples (ha!) Macbooks really aren't all that
much more expensive than their competition. Ever since Apple moved to unibody
construction, their laptops have a build-quality that most laptops don't even
come close to. The ones that do cost just as much, if not more. That's not the
main reason I'd recommend a Mac though.

I've been using Linux in some form or another for just about as long as I've
been using a computer. However, my Linux skills didn't really take off until I
bought a Mac. OS X is Unix (literally, it's certified as a Unix OS). I found
that when I was dual-booting Windows (this was before desktop virtualization),
my primary cognitive investment was in learning to solve problems in the
environment where I "lived". I used Windows most of the time, and Linux for
things like Apache and an ftp server that I used to share files with friends.
The problem was, I only learned Linux while I was using Linux.

When I switched to OS X, my environment became more consistent. OS X isn't
Linux, but it shares a lot of similarities. If you buy a Mac, you'll have a
bash shell in both of your environments. You'll use similar tools like package
managers and command line utilities like grep, sed, and awk. You'll solve
little day-to-day problems with bash scripts, and generally become more
comfortable with the terminal. This will translate to skills that you can use
when working with Linux servers.

The other thing I would recommend is that you use virtualization rather than
dual boot. Dual booting has a high switching cost. You have to shut everything
down and reboot the computer in order to switch environments. Given the power
of laptop computers today, virtualization is a great option. Free
virtualization software like VirtualBox gives you everything you need to spin
up Linux virtual machines, which you can experiment with, and even trash,
without consequence.

~~~
weberc2
Except BSD find is not the same as GNU find, which is insanely frustrating :p.
One day I will learn BSD find.

~~~
bradleyland
OS X is pretty much all BSD userland, because of BSD's more permissive
licensing. OS X's bash version is ancient as well; also because of licensing,
as far as I understand.

It's not so much that someone would learn exactly the same tools, but that
there are more similarities than if they were switching between Windows and
Linux.

~~~
weberc2
I don't disagree with any of that. I was just saying that BSD find is the most
plaguing deviation from the Linux bash on which I was brought up.

------
ukd1
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.

------
andrewchoi
YMMV, but I've got Ubuntu running stably on a Dell Precision M3800. Very solid
laptop if you're okay with the 15 in screen form factor.

------
aosmith
The last 5/6 times I've installed linux it's been pretty much flawless (wifi
included) out of the box.

------
aikah
Get a Windows laptop and run linux with Vagrant. No need for dual booting.
Windows "just works" too.

~~~
weberc2
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".

~~~
scabbycakes
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.

~~~
weberc2
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.

------
mdomans
Buy a MacBook. With Windows/Linux machine you will learn much more about
getting OS to work :)

------
gumpieza
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?

------
lasermike026
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.

~~~
freehunter
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.

------
atmosx
Buy a macbook. If (for whatever reason) you don't like the OSX you can install
Linux in less than 2 hours.

------
dmourati
Macbook+vagrant.

------
jz10
Imho, if you're primary purpose is learning web dev, better get a Mac so you
can focus on that rather than sidestepping on learning how to configure a
linux machine. With a Mac, you don't have to look deep into the web to get
things working.

Dont get me wrong, Linux is a terrific web dev OS.. just putting myself in the
author's seemingly newbie shoes.

------
LeonRobrotsky
[https://system76.com/](https://system76.com/)

