Ask HN: Best Developer Linux Laptop?
What's a good laptop to install Linux (Ubuntu) on? I'm looking to buy a new machine for work. System76 seems to make good laptops. Does anyone have experience with them? Is there anything else you would recommend?
People seem to rave about their MacBook Pros. Is it easy to make the switch from Ubuntu? Do I easily get all the software I'll need (svn, git, django, python, vim)?
Essentially I think, my question is, is the experience on a MBP so much better, that it's worth having to learn the MacOS platform?
278 comments
[ 5.2 ms ] story [ 289 ms ] threadhttp://www.dell.com/ubuntu
However, I do hit the bug with ubuntu suspend/resume.
If you are using Ubuntu 10.04 or 10.10, I havent seen a Dell laptop where the wireless wasnt out-of-the-box.
http://www.dell.com/us/en/dfb/notebooks/ct.aspx?refid=notebo...
You might also consider system76, but I don't have experience with those.
EDIT: I'm currently running Linux on my T410. Suspend was broken with Ubuntu 10.4, but everything works perfectly now with 10.10.
I spent a while looking into MBPs and it seems the Linux support is still fairly laughable - the latest models won't even boot it, and even the older ones require a kernel recompile to get sound working. I'd buy an MBP without hesitation if I wanted to run OS X, but not as a Linux machine with a nicer case.
[1] http://www.nvnews.net/vbulletin/showthread.php?t=150069
Hoping some new driver release will fix this some time, but it's only a minor irritation.
BTW, your link [1] seems to be broken?
I love the trackpoint. I've disabled my touchpad completely.
The issue has also made it to Canonical's launchpad [4]. The link [1] is mentioned in comment #27 [5].
[2] http://webcache.googleusercontent.com/search?q=cache:4dJW3r_...
[3] http://www.google.com/search?q=t510+backlight
[4] Bug #562005: Backlight controls of laptops with NVIDIA NVS and Quadro FX 880M GPUs no longer function while using proprietary drivers https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-dr...
[5] https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-dr...
Broadcom wireless cards ought to be avoided at all costs (except they finally saw the light and released an open driver for their latest 802.11N, yay, but likely it's not integrated in any distro yet).
I've no idea what "ThinkPad wireless" actually is.
A coworker of mine just got the T410s and I've gotta say I'm jealous. If I was buying a new laptop, I would go with the T410.
Also a thing to consider is that with the MBP if you decide that OSX is not for you, you can always install Linux or do Bootcamp and dual boot, or run Virtual Box and have a Linux VM. I do the latter for any odds and ends Windows only software that I need to run, but those are getting fewer and fewer these days.
If you decide to stay in the PC world I recommend Sager laptops. They are probably close to or superior to the MBP in terms of quality.
I've had repeated issues compiling different "cross platform" applications on MacOS that compile painlessly under various Linux distributions and even Windows! So you end up being heavily reliant on "port" to install software instead of "./configure / make / make install". The last thing that drove me up the wall was a bizarre failure in statically-linking SQLite into a QT application. Every other platform worked. MacOS failed spectacularly.
If you want a Linux laptop, get a Linux laptop. I'm only on a Macbook for video editing and iPhone/iPad development. It is excellent for that and it is a beautiful machine in many ways (love the chassis), but it is not nearly as good a platform for developers as Ubuntu by any means.
I don't recall saying that it is or is not in my post above. Please don't put words in my mouth.
but it is not nearly as good a platform for developers as Ubuntu by any means
you are painting a pretty broad stroke there.
I do web and mobile development, both require application like Photoshop, professional video editing tools while web specifically Chrome, Firefox, Safari, Opera and IE, Flash and a few others. For me Linux is not a superior development platform because getting some of these running is just as hacky as getting libs to work correctly on OSX. I use Netbeans as my development IDE which is available on OSX and I have to run a virtual for IE so for me OSX offers a happy middle-ground because I get iOS development while only having to trade running IE in a virtual. So while Ubuntu may be a superior development platform for what you do, it may not be for other developers. The original poster specifically highlighted web development tools. And for web development OSX offers a good value proposition. It has its frustrations just as other OS's do.
http://www.opengroup.org/openbrand/register/brand3581.htm
trevelyan makes some good points. I love my MBP, but consider it more of a host machine than a development machine. I do most of my development in VMs or while logged into various Linux machines. If you've never used OS X before, there are a few gotchas that can make it less suitable for cross platform development. Aside from Apple's unpredictable changes to upstream sources, my biggest complaint is the tendency of the Finder to leave turds everywhere it's been. I'm always disappointed when a vendor distributes source code with these intact (and by default, the Finder will try to write them to practically every network drive folder it visits). That's just one example of things you'll have to watch out for when you develop on the Mac.
I may have been a little too jumpy and he may have meant no harm by it, but people putting words in my mouth annoys me to no end. Many times It is used as a deception to falsely strengthen their position.
http://www.weirdnet.nl/apple/rename.html
http://www.unix.org/version3/
The Open Group owns the Unix trademark, which is what we're all referring to.
http://en.wikipedia.org/wiki/The_Open_Group
So I don't know what UNIX means to you, but where I come from, it's based on a certification that adheres to a defined set of standards.
What you posted is an unresolved bug report that doesn't prove or disprove that OS X is Unix certified.
"This rename() function is equivalent for regular files to that defined by the ISO C standard. Its inclusion here expands that definition to include actions on directories and specifies behavior when the new parameter names a file that already exists. That specification requires that the action of the function be atomic."
So to comply with the Single Unix specification, rename(2) must be atomic. The rename(2) function on OS X has been empirically shown to not be atomic. What reasonable conclusions can be drawn here?
What exactly are you arguing? What is your definition of unix? A label purchased from the Open Group or an implementation of a specification?
If it's the former, I completely agree with you, OS X is UNIX. If it's the latter, what standard of proof would it take to convince you otherwise?
One may feel comfortable claiming that OS X is "Unix" based on the fact that all versions of OS X since 10.5 have been "Open Brand UNIX 03 Registered Product" (from an archive of the Apple website), signifying that they have met the requirements for the SUSv3 and POSIX 1003.1 specification.
http://web.archive.org/web/20070823040630/http://www.apple.c...
http://en.wikipedia.org/wiki/Single_UNIX_Specification
My comment was in reply to your statement that you can virtualize Linux and that makes the MBP an equivalent platform, and I posted because I've gone through these issues and it wasn't fun. The MBP really isn't good for Linux because of the battery issue and then a host of other small problems (sleep, etc.) that make installing dual-boot troublesome:
https://help.ubuntu.com/community/MacBookPro
I'm glad that you can do your web development work on Mac. They are really nice machines. But if this guy needs Ubuntu it is probably because he needs software that runs reliably on it. Knowing that Photoshop will run on the MBP isn't a great impetus to switch when you need to compile various non-default libraries, setup software that isn't packaged with port, or work with almost anything coded in C or C++. This doesn't mean that Mac isn't good at what it does. It just means that if the guy needs Linux, he shouldn't think MacOS is equivalent just because it's based on Unix.
Right, and I agree 100% I would not do sys-dev on OSX unless it was OSX sys-dev. But he specifically listed an array of web-dev technologies not sys-dev and that is why I made the recommendation that a MBP would suffice. He did not mention Photoshop but I assumed if he is doing web-dev he will need it at some point unless he works with a team and has a dedicated graphics resource. Anyway, the list of technologies provided by the poster leaned heavily to the fact that he would be doing web-dev and for me the MBP works as a web-dev platform.
If he would have asked about embedded, I would have said hell no, I have suffered first hand (as a hobbyist) at the utter lack of serious PCB design software, or dev kits available on the Mac for embedded work.
And if he would have said, I want to do C dev on an open stack, I would have also said you many want to look at a Sager Notebook as opposed to a MBP.
BTW, I apologize for jumping the gun on you. I mistook the context of your wording.
Homebrew has advanced the state of package management on OS X significantly. Anyone considering a Mac laptop should look in to it to see if the packages you need are there.
http://mxcl.github.com/homebrew/
Mouse-Rig-Test:~ jon$ locate usage: locate [-0Scims] [-l limit] [-d database] pattern ...
default database: `/var/db/locate.database' or $LOCATE_PATH
Mouse-Rig-Test:~ jon$ which locate
/usr/bin/locate
I've had a few Thinkpads running Ubuntu and now a MBP running Ubuntu.. and I prefer the MBP.
This was the case with my Lenovo as well until I found powertop and followed its suggestions.
One, Terminal on Mac is extremely useful, even if the Page Up/Down keys don't work.
Second, those keys do what I expect in Terminal right now on my Mac, and I've done nothing special to get them working.
Third, Mac does come with curl preinstalled, which fits a very similar tool niche to wget.
In general, it is true that there are some Linux-centric tools and packages that currently don't build easily or have preexisting binary ports for Mac, however, that's true in reverse as well. And I can assure you that Mac provides a much more Linux-like experience in a terminal than MS Windows. Also, keep in mind, that with many of the software packages in the Open Source world, it's up to individual people to do the work to get a particular package working perfectly on a particular platform permutation. Nobody "owes" you anything, or guarantees any particular permutation will be perfect. Therefore, while there might be 1000's of libraries and applications that do work perfectly and have equal availability on Linux and Mac, it may not be wise to assume that everything will be, and then cite any specific imperfection as "bizarre" or spectacular failure. It's just software, it's very complex, and if nobody has come before you to smooth that particular cow path then it won't be smooth unless you yourself do the smoothing. :)
Try using vim or other applications that run in the command-line.
> And I can assure you that Mac provides a much more Linux-like experience in a terminal than MS Windows.
Yes. A much more Linux like experience than Windows. And a much less Linux like experience than Linux.
I assume you mean 68000 series to PowerPC transition? I lived through that and thought it was handled even better than the recent PPC -> Intel transition. Programs were compiled as FAT binaries for years and years because of the huge installed base of 68k machines. I don't see how you could have had a "brick" after just 6 months.
When the laptop was brand new, I had some problems with the sound drivers, but contacted someone working on a patch for ALSA and was able to test it out before it was merged. Broadcom wireless is easy on openSUSE as a script is provided, but that should be a solved problem for Ubuntu as well; NVIDIA caused some problems which were easily resolved by installing the proprietary drivers. Today it seems that Nouveau is far enough along to function as a replacement for the proprietary drivers.
That said, the laptop was a gift and were the choice mine, I would probably go with a Thinkpad.
I've never used System76 but saw them at a recent Linux fest. Seemed like very quality machines: actually have their logo as part of the case and windows key replaced with an Ubuntu key (neither are stickers).
That being said almost all the developers I know use MBPs. Just not me. I was CPU constrained for the work I was doing, wanted to easily upgrade my hard drive, and spent all my time in OSX in XMonad anyway. So making "the switch" was simple for me.
EDIT - adding my one X201 complaint
No built in digital video out (W.T.F.) I'm sure this is to accommodate some suit who has to attach to projectors. But feels like the past. If you shell out for a docking station you'll get DV but otherwise you're out of luck. (This is not an issue with Lenovo's larger laptops like the T410 etc.)
I love my X201. It's very light but has a full size keyboard. I tend to have problems with RSS so this was a major consideration.
I went for the SSD option which I think was completely worth it. Boot of a standard Linux distribution is extremely quick (around 10s).
If you can afford it, it's worth seriously considering buying a laptop with a minimum of 1 docking station (depends on your work situation - if you have an office and work at home, I'd suggest buying 2). They just save so much headaches and fumbling around with cords. Of the brands I've tried with docking stations (Dell, Toshiba, Lenovo) - I have found that I've had the best experience with Toshiba, and the worst with Dell.
Also, We had a Tandy Coco when I was a kid, I've had enough of chiclet keyboards. I'll be happy when Apple moves away from that.
- Low screen resolution.
- Very tall screen (especially for a 12" - due to the huge bezel) so it won't open comfortable in the back of an economy seat.
I ended up with the bottom of the range Vaio Z series instead (1600x900 res 13.3" screen that is more than an inch shorter than the X201, with HMDI and VGA out). I run Ubuntu in a VM 99.9% of the time. That setup is working really well for me and I actually like the keyboard at least as much as the IBM one.
Running Linux in VMWare player doesn't seem to be any slower in practice thanks to VT, and it has greatly improved the ease of installing, upgrading and backing up my main Linux installation. I don't even bother to back up Windows - if it goes wrong I'll just blow it away and do a clean install.
When I'm on the go, I'm mostly working in vim, or browsing the web. Neither of these activities stress my resolution (especially as an XMonad user). When I'm at work or home I have an external monitor that provides me with all the resolution I could ever want.
I've come to accept the fact that every couple years I do some serious damage to my laptop, so it's a huge plus if 1) I can replace parts myself and 2) I can cheaply and easily buy a replacement laptop if the thing is totalled. Both are the case with Thinkpads. The aftermarket is still healthy, I have no problem finding T40-T42s here for about $200.
Between repairs, battery upgrades every few years, and the few times I've had to replace a laptop wholesale, my cost of ownership is probably about $200 / year.
YMMV, but I've found this setup more than adequate for coding & browsing, and have no reason to upgrade to a newer model.
Its a good laptop with Ubuntu 10.10, only thing not working is suspend automatically when the lid is closed.
Money no object and you need Linux than a ThinkPad would be your best bet. Expensive, but awesome keyboards and pretty durable & reliable.
You can install Linux on a MBP as a commenter has already mentioned, but you have to install a weird open source EFI thing for boot, and it'd be tricky to get support for the newest hardware.
Another option is to use Ubuntu in VirtualBox on OS X. You can install all of your favorite Linux packages in OS X, but they're patched and you can't always get the latest release without some work. AFAIK all of the open-source package management systems for OS X are source based so you get to watch things compile. I used to have a MBP and compiling new software was always annoying to me.
They're not the most good looking, but they're rugged and functional as hell. A Thinkpad looks the same after 5 years, most others peel and scratch. When I was backpacking, my road-mate had his macbook come apart .. literally, the case feel out of the bottom and the top came apart. Mine? I threw it into truck beds, buses, ferries, sat on it, slept on it, and it endured everything including the humidity in the Mekong and freezing weather in north-east China, not to mention power surges.
I enjoyed my last Thinkpad (t40) a lot. Still have and use it after 6 years. But especially with linux, battery life wasn't very good (now the battery is completely dead of course). The fan never stopped.
To answer the question of the OP: yes, it is totally worth to learn Mac OS. First, the effort is small. Second, you will save a lot of admin time. Third, backup is easy, reliable and bootable. This alone recommends Macs as developer notebooks.
My girlfriend's HP gets at least half a day. I don't think she even bothers to charge it during the day.
But hers is a crap laptop with lousy, fragile keys; short screen (WTF IS THAT?) that's twice as wide than it's tall, and sucks for everything but listening to music.
I have only about 2--2.5 hours of battery life in my T61 under Ubuntu (standard 6-cell battery, 3 years old). Luckily that's sufficient for my needs.
My sister's Dell has a touchpad that's basically unusable.
However, I got the backup battery as well (it plugs in over the top of the normal battery) - it pretty much triples the battery life. It's heavy as hell, but if you're going to be in one place for a while (at home, on a long-haul flight, etc) that's not a problem.
But - no offense meant - this is the standard answer, if something does not work. Just upgrade. You do that 20 times, and then you get something that works now, and not after the next upgrade.
(A surprising amount of hardware fails to follow standards. I have a hard time laying the blame on Linux when that happens. I realize that as a user you may not care, but assigning blame to the proper entities is important if you want it to be fixed; cussing out Linus when in fact the hardware vendors are deliberately withholding specs may feel good but is not productive otherwise.)
And it has channels in it that will drain liquids spilled on it away from components and through little holes in the body! I have not, and do not intend to test this.
One thing people say about Apple products is you pay a premium for the same hardware. I was talking to a friend and told him about a few unique bits of Apple Hardware.
1) The touchpad. There's a reason people now use the Apple Touchpad on desktops. It works really well. 2) Battery Life. I frequently sit through 5-6 hours of class on a single battery charge. My MBP is a mid-2009. I've heard the newer MBPs last even longer. 3) The unibody. I think a few other companies do this now, but the MBP is very low profile, and is built solidly. 4) Backlit keyboard. I remember my old days of groping in the dark for various symbols and things. The backlight makes a difference.
OS aside, if I were looking for a new laptop, these are the things I would look at. CPU speed doesn't effect me nearly as much as Battery life. 4GB RAM is pretty standard these days.
As far as OS X is concerned, I develop "in the cloud". I'm a heavy Vim/gdb user, so if I need a low level environment, I've got plenty of servers I can ssh into. If it's something like Rails or Python, it works perfectly in OS X.
Do you prefer glossy or matte laptop screens? Thinkpads are all matte, which makes the screen easier to read in various lighting conditions (no reflections), but makes the colours less vibrant.
I've gotten good mileage out of a Dell XPS Studio 16 w/ubuntu but can't recommend it due to driver issues with wireless (avoid intel5100) and graphics (radeon hd3760).
If I was buying a new laptop I would search the hackintosh and iATKOS forums to find models that can install OSX out of the box and triple boot it.
After that, figure out exactly what resolution\size pixels per inch you want the display. I like 1600x900 for laptops myself. That should narrow it down to only a couple models.
But, to each their own...
Since getting a MBP I can say that I do prefer OSX to Ubuntu, but I'm a Ruby/Rails dev surrounded by other Apple guys using Textmate so it's the path of least resistance for me for sure.
(X200 feels cheap, plastic breaks, lcd dies, battery replaced twice, hibernation does not work all the time, sound problems, logos flew off, ....)
I was using a small Dell laptop at my last job and the quality was much much better than the X200.
Essentially after IBM sold them the quality tanked.
2. "don't support their products in the slightest" <-- this is hyperbole because it's easily shown to be false by hundreds of stories on the web from people who have had good support experiences with Apple.
2. http://www.squaretrade.com/htm/pdf/SquareTrade_laptop_reliab... Quote and write properly please, learn to capitalise. Apple are mediocre with good product aesthetics (I'll give them that, although see below) and excellent PR and an ok-ish window and application manager (which has nothing on apt-get) they whacked on top of existing open source. They may be big now but it took an emergency investment from Microsoft to save them, and even then it took masses of open source software (and a few iterations of OS X) before they had anything passable to run on their doddering hardware. Also, as you sound like an Apple fanatic who notoriously get these things wrong, I'd point out that the mouse was taken from Englebart window manager concept was taken from Xerox (in addition to the OS from BSD and Webkit from KDE). There are also posts showing Johnathan Ive plundered product designs from the past. So the innovation is paper thin, the engineering is massively taken from elsewhere, some of the product design is taken too and the reliability is mediocre as proven by the stats.
I spend all my time in an Ubuntu VM running XMonad, mainly so that I can use nice os x apps (mac end-user apps are just freakin' awesome, especially 3rd party apps) and so that I don't spend 2 days fixing my sound or my wireless card after an overzealous apt-get upgrade screws it up.
Ten years ago I considered it fun endlessly tweaking my OS to play nicely with my hardware, but these days, I just want to get stuff done. So, the Mac pretty much guarantees the host machine is running harmoniously since the OS and hardware were purpose-built for each other.
If you're just doing basic run-of-the-mill web development, and it looks like you are, then a MBP will work just fine. If you're in Vim and Bash all day long, there isn't really much for you to learn. Some things are a little quirky, off the top of my head I think Apache2 is installed in a weird location, and command line app X may not be installed by default, but it's probably no more obscure than switching to a BSD or Solaris.
The only upgrade I made was an Intel X25-M 80GB SSD. It screams. Get one, or whatever SSD in that bracket or above that suits your pocketbook.
Last thing: I'm working on a brand new iMac at my current gig and I don't like it. I'm not a fan of OSX. I've tried several times but I just prefer Linux. Debian based systems with apt are so easy. Ports & Fink for OSX suck, so if you do go with a MBP, look into http://j.mp/mxcl-homebrew.
The end.
Thankfully I have a Thinkpad 410s replacing it tomorrow.
I love the keyboard, battery life, and how light it is. It performs more than well enough for web development, web browsing, video watching.
If you expect to get anything done without using the mouse, knowing all the "special key combinations" is a pre-requisite for any OS. I hate to be the kool-aid drinker that jumps to Apple's defense, but I hear a lot of complaints about OS X keyboard accessibility that simply aren't true. A single checkbox enables access to "all controls" through your keyboard. It's turned of by default because, frankly, most people don't use the keyboard. I do, but my computer is my instrument.
BetterTouchTool might even do everything you need, but I'm not completely sure about that.
Not being able to dismiss a dialog box with the keyboard was driving me mad.
System Prefs>Keyboard>Keyboard Shortcuts>"All Controls"
Seriously.
It was hard to find both times.
kb
Enter = Ok, Escape = Cancel, Command-D is "Don't Save" in "Would you like to save?" dialogs, etc.
I'm still getting a ThinkPad for personal development projects, but my work laptop just became much more usable.
command + ~
when you get that going with the command tab switching you can fly!