Ask HN: Developer machine, Macbook vs. arbitrary Laptop with Linux, which?
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 ] threadI'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.
Edit: it's not suspended, but actually turned off. s/even//
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.
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.
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.
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
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.
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).
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
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.
"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.
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!
I did ask myself the same question. Very funny blog post.
Make sure you review a list of compatible machines first!
*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).
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".
"Just works" is subjective so it shouldn't be a purchasing factor.
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.
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
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 :)
edit Except the windows machines come with touchscreens and some have active digitizers for drawing with a pen.
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.
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.
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...
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).
If you buy an old (2013-Spring or earlier) model then it is upgradable.
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.
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.
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.