PDA

View Full Version : OT: Linux laptops for coding apps?


45K10
12-10-2018, 12:24 PM
Hey guys & gals,

I know there is a lot knowledge here regarding computers and writing code so I am seeking some advice on which laptop I should get.

I have been teaching myself how to write apps in Android Studio, XCode and Flutter but I'm looking for a new machine. I also want to learn how to use a Linux based OS.

I want keep the budget under $1200 and I don't care about weight.

I have been thinking about getting a System 76 with Ubuntu like this:
https://system76.com/cart/configure/kudu5

Let me know your suggestions, thanks!

Tony T
12-10-2018, 01:12 PM
If you ever want to write iOS Apps as well as Android, I'd suggest getting a Mac and setting it up for a dual boot into macOS and Ubuntu (or your Linux of choice) https://www.lifewire.com/dual-boot-linux-and-mac-os-4125733

Might be a bit higher than your $1,200 budget, but you can get a new MacBook or Air for $1,300 (or Apple refurbished for $1,100)

45K10
12-10-2018, 01:49 PM
If you ever want to write iOS Apps as well as Android, I'd suggest getting a Mac and setting it up for a dual boot into macOS and Ubuntu (or your Linux of choice) https://www.lifewire.com/dual-boot-linux-and-mac-os-4125733

Might be a bit higher than your $1,200 budget, but you can get a new MacBook or Air for $1,300 (or Apple refurbished for $1,100)

Yep I'm definitely considering the Macbook. I like Macs and that is what I currently use. Thanks for the link on how to dual boot!

ojingoh
12-10-2018, 03:04 PM
Get a MacBook. Windows Subsystem for Linux is great, but yeah if you need SSH or just Unix compatibility it's the obvious answer. I don't see a lot of Pixelbooks out there. I wish more vendors would create 3:2 screens though - less scrolling.

cyat.es
12-10-2018, 03:29 PM
I was at a dev conference last week and the keynote speaker asked for a show of hands - of the ~500 in the audience, 4 windows users, about 1/3-1/2 Linux, the rest MacOS. My company is similarly split. Our CTO has been playing with a Pixelbook running Linux apps FWIW.

If you want to develop iOS apps, the Mac is the logical choice.

speedevil
12-10-2018, 03:40 PM
I use a System76 17" laptop for coding, works great. I wouldn't hesitate to buy another one.

Geeheeb
12-10-2018, 08:12 PM
System76 hardware is great but the cheapest and generally most linuxy option is the computer you already have

thegunner
12-10-2018, 08:17 PM
wow, someone who legit wants to write in flutter. never thought i'd see the day :) (somewhat tongue in cheek)

efixler
12-10-2018, 09:30 PM
Seconding the posts on getting a MacBook. The new MacBookAir looks pretty slick.

If you're looking to get more fluent in unix-type stuff, the Mac is a good choice for day-to-day work. When you're developing on the Mac, you'll often need to use the terminal, which runs a bash shell, just like Linux, and lots of the shell command/programs are the same, or almost the same, as what you'd find on Linux.

There are some differences too (especially as you get towards the lower-level parts), but the knowledge transfers. The companies I work for and have been working for the past 10+ years all run their web infrastructure on Linux and 90+% of the developers use Macs to develop.

I don't know a ton about non-Mac laptops but the people I work with who run Linux or Windows on their laptops tend to like ThinkPads. I think they are not the cheapest laptops, but...

ronlau
12-10-2018, 10:18 PM
This would be my approach...

1. Find a used Macbook pro 15, with 16G or ram, SSD 256 or 512. I paid around $900 for mine.
2. OSX will take care of your xCode need.
3. Download a copy of VMPlayer from Vmware (Free last time I check), or pay for Vmware Fusion, $80.
4. Fusion/VmPlayer will take care of your Linux OS need, I used CentOS.

My 2cents.

Ron

Hey guys & gals,

I know there is a lot knowledge here regarding computers and writing code so I am seeking some advice on which laptop I should get.

I have been teaching myself how to write apps in Android Studio, XCode and Flutter but I'm looking for a new machine. I also want to learn how to use a Linux based OS.

I want keep the budget under $1200 and I don't care about weight.

I have been thinking about getting a System 76 with Ubuntu like this:
https://system76.com/cart/configure/kudu5

Let me know your suggestions, thanks!

tylercheung
12-10-2018, 10:42 PM
yeah, virtualization is the way to go, forget dual booting.

Geeheeb
12-10-2018, 10:47 PM
yeah, virtualization is the way to go, forget dual booting.

https://www.virtualbox.org/wiki/Downloads

Tony T
12-11-2018, 07:25 AM
I suggested dual boot as OP only wanted an Ubuntu laptop (and a Mac and dual is case he ever decided to write iOS Apps). No need to use virtualization if never using macOS.

smontanaro
12-11-2018, 07:32 AM
I've got a Dell Precision 5500 which I like. Still, I was a MacBook Pro user for a long time. When the new ones with the touch bar came out, my previous Pro was on its last legs, but I didn't like the touch bar concept (Emacs user) and the non-touch laptops weren't yet out, so I switched. When the time comes to replace the Dell, I'll probably return to the Apple world. (In fact, I bought my wife a MBP 13 for Christmas a year ago.)

I agree though, that if you think you might produce anything for an Apple environment, you'll be miles ahead with a Mac of some sort.

redir
12-11-2018, 09:17 AM
If you are not doing this professionally and you are only going to dabble in iOS Apps then you could do the reverse and run the Mac in a VM from your windows machine or build a 'hacintosh.' You would be breaking the EULA though.

Tony T
12-11-2018, 09:49 AM
I built a Hankintosh, as a cheap portable I wouldn't care if lost/broken. Not worth it for a home laptop or development environment (anyway, OP wants to dabble in Lynx)

MikeD
12-11-2018, 10:02 AM
Get a MacBook. Windows Subsystem for Linux is great, but yeah if you need SSH or just Unix compatibility it's the obvious answer. I don't see a lot of Pixelbooks out there. I wish more vendors would create 3:2 screens though - less scrolling.


Read this article https://www.forbes.com/sites/jasonevangelho/2018/11/06/booting-linux-is-impossible-on-new-apple-hardware/#5ae046217e1e

45K10
12-11-2018, 10:22 AM
Thanks for input, I really appreciate it!

Tony T
12-11-2018, 11:31 AM
Read this article https://www.forbes.com/sites/jasonevangelho/2018/11/06/booting-linux-is-impossible-on-new-apple-hardware/#5ae046217e1e

Didn't know that, thanks for posting.

MattTuck
12-11-2018, 11:36 AM
Hey guys & gals,

I know there is a lot knowledge here regarding computers and writing code so I am seeking some advice on which laptop I should get.

I have been teaching myself how to write apps in Android Studio, XCode and Flutter but I'm looking for a new machine. I also want to learn how to use a Linux based OS.

I want keep the budget under $1200 and I don't care about weight.

I have been thinking about getting a System 76 with Ubuntu like this:
https://system76.com/cart/configure/kudu5

Let me know your suggestions, thanks!

What the end goal? Have your own App idea, find a job coding, just for fun?

I've been trying to find someone to write some code for an idea I have. Get in touch if that sounds interesting.

ftf
12-11-2018, 11:37 AM
Dell makes some xps laptops that come with Ubuntu preloaded from the factory.

45K10
12-11-2018, 12:01 PM
What the end goal? Have your own App idea, find a job coding, just for fun?

I've been trying to find someone to write some code for an idea I have. Get in touch if that sounds interesting.

I have some App ideas that I want to create. I quit my job a year and half ago so I could stay home with our 2 year old and so my wife can focus on her career (professor). I am ready to go back to work but I need something super flexible. I have some experience with old languages like Fortran and C++. I am trying to learn the newer stuff.

smontanaro
12-11-2018, 01:23 PM
Dell makes some xps laptops that come with Ubuntu preloaded from the factory.When I bought my Precision laptop, that was why I chose it over the equivalent XPS15. At that time you could only get the latter with Windows.

redir
12-11-2018, 01:57 PM
From what I understand the Apple machines with the X2 chip are set to high security by default but you can bypass that security setting to run a VM with Winblows or Linux on it. I've not done it but I read about it.

Geeheeb
12-11-2018, 05:43 PM
if you've never installed ubuntu it is THE EASIEST os to install. much easier than windows, and less fiddly than a hackintosh.

MikeD
12-12-2018, 10:25 AM
if you've never installed ubuntu it is THE EASIEST os to install. much easier than windows, and less fiddly than a hackintosh.


Every time I try Linux, I'm still faced with poor support for video cards, printers and scanners, and the apps are lacking. Doesn't ever seem to change over the years.

thegunner
12-12-2018, 11:34 AM
if you're going to get the new macbook, make sure you try out the keyboard before you do.

personal preference, but it feels like hot garbage to me. it's mushy and the keypress travel is awkwardly short.

if you're going to use vim a lot, skip the touchbar version altogether, hitting a fake esc key will drive you mad.

Every time I try Linux, I'm still faced with poor support for video cards, printers and scanners, and the apps are lacking. Doesn't ever seem to change over the years.

when was the last time you tried? nvidia cards play nice pretty much across the board in ubuntu, and printers and scanners have been plug and play as of late.

redir
12-12-2018, 11:59 AM
I always have problems getting hardware to work on Linux too. Once you find something that works though it's fine. It's just that when it's time to make changes you can run into trouble. There are lists out there though that you can run through to make sure you get hardware that is compatible.

As for installation, Ubuntu is easy, but I just installed win10 on a few machines the other day and it's a snap.

thegunner
12-12-2018, 12:46 PM
something that's a bit confusing in the original post:

"I have been teaching myself how to write apps in Android Studio, XCode and Flutter"

Flutter has native integration with Android Studio, so that makes sense.

but the whole point is you wouldn't need xcode to have a cross-platform app. So I think you might want to consider which tech stack you want to commit to as well.

if you're going to commit to writing in swift / xcode, then there's no real reason you wouldn't get a macbook.

wpod
12-12-2018, 05:54 PM
Running MINT on a MacBook Pro, no Mac OS. Running Mac OS with VirtualBox on older MacBook with Ubuntu and Fedora. No problem coding on any.

MikeD
12-12-2018, 07:09 PM
Running MINT on a MacBook Pro, no Mac OS. Running Mac OS with VirtualBox on older MacBook with Ubuntu and Fedora. No problem coding on any.


How old is your Mac?

CunegoFan
12-12-2018, 07:17 PM
if you're going to get the new macbook, make sure you try out the keyboard before you do.

personal preference, but it feels like hot garbage to me. it's mushy and the keypress travel is awkwardly short.

if you're going to use vim a lot, skip the touchbar version altogether, hitting a fake esc key will drive you mad.


This. This. And this--especially the escape key and function keys, which are used extensively by IDEs.

Not only do you have to worry about feel of the keyboard, you have to worry about its reliability. Apple is on the third generation of its butterfly keyboard, and it still has not solved the reliability problem. I lost track of the number of people I know who have had keyboard issues with the post 2016 MBPs. I count myself lucky; I have only had intermittent problems with a few keys that have gone away with use of compressed air. Apple went from the probably best laptop keyboard other than the Thinkpad's to the absolute worst, all to save a couple of millimeters.

MattTuck
12-12-2018, 07:37 PM
If at a desktop set up, won't you have external keyboard anyway? If working on the go a lot, I get the concern over keyboard... But programming is not easy to do in a crowded coffee shop. Requires more focus.

Bostic
12-12-2018, 09:50 PM
At my previous company I deployed more than 30 2016 and 2017 MacBook Pros with Touch Bar’s. 17 of them went to the Apple store for keyboard issues. nn nnnn ee ee e eee bb b bbbbbb were the common keys that would multiple press.

I personally hate seeing laptops with a million stickers on the top at coffee shops but would love to see one with nothing but cycling related Logos.

If you buy Apple buy Apple Care. Can’t stress that enough. Everything is integrated and a simple key becomes top case assembly with battery attached and four other things that you would think have nothing to do with a part totaling 700 in cost.

45K10
12-13-2018, 12:14 PM
Good stuff, thanks for all of the comments!

benb
12-13-2018, 07:15 PM
I’m a software engineer. I’ve mostly been on a MacBook for the past 5 years or so. (Employers supplied them)

Last year I had a battery failure on work MBP and IT let me try a System 76 laptop as part of a pilot program.

I work on a distributed application that is only supported in Linux but can run on Mac under docker.

If I was only sitting at the desk always plugged into the network the Linux laptop would have been superior. If IT gave us the option of having a Linux laptop and a Mac that might be okay too although I have no desire to haul 2 machines around. If the Linux laptop is going to stay at the desk it might as well be a desktop tower and be faster and cheaper.

So as the only machine the Linux laptop sucked. I spent tons of time working around mobility related bugs. Network breaking when you switch from wired to wireless networking. Various bugs when plugging and unplugging external monitors. Non software dev apps misbehaving. Things like the fan blowing full blast in meetings when windows or Mac would be silent. Things like WebEx video not being accelerated resulting in the fan going full blast and draining the battery in 45 minutes when Mac/Windows could handle running a video meeting for 6+ hours. I gave up after a few months as I was spending 20% of my time on Linux issues instead of my work.

My biggest annoyance with the MacBook Pro not being available with more than 16GB of memory. But this year Apple addressed that.

At home I got a Surface Pro for personal use this fall. Couldn’t be happier with it at a much lower price than a MBP since I am not really using it for software dev. It does a lot of stuff that doesn’t work easily in Linux.

The best thing to do with Linux is to have it on a desktop that you primarily use to contribute to Open Source software projects. That’s what the primary developers are doing so that is the happy path. The rest of us are developing non consumer stuff on Linux so we are never bothering to fix stuff relevant to laptops.

The other great use case is you’are a college student studying computer science. That was me back in the day and it was a great tool for learning.

Bostic
12-14-2018, 09:34 AM
I’m a software engineer. I’ve mostly been on a MacBook for the past 5 years or so. (Employers supplied them)

Last year I had a battery failure on work MBP and IT let me try a System 76 laptop as part of a pilot program.

I work on a distributed application that is only supported in Linux but can run on Mac under docker.

If I was only sitting at the desk always plugged into the network the Linux laptop would have been superior. If IT gave us the option of having a Linux laptop and a Mac that might be okay too although I have no desire to haul 2 machines around. If the Linux laptop is going to stay at the desk it might as well be a desktop tower and be faster and cheaper.

So as the only machine the Linux laptop sucked. I spent tons of time working around mobility related bugs. Network breaking when you switch from wired to wireless networking. Various bugs when plugging and unplugging external monitors. Non software dev apps misbehaving. Things like the fan blowing full blast in meetings when windows or Mac would be silent. Things like WebEx video not being accelerated resulting in the fan going full blast and draining the battery in 45 minutes when Mac/Windows could handle running a video meeting for 6+ hours. I gave up after a few months as I was spending 20% of my time on Linux issues instead of my work.

My biggest annoyance with the MacBook Pro not being available with more than 16GB of memory. But this year Apple addressed that.

At home I got a Surface Pro for personal use this fall. Couldn’t be happier with it at a much lower price than a MBP since I am not really using it for software dev. It does a lot of stuff that doesn’t work easily in Linux.

The best thing to do with Linux is to have it on a desktop that you primarily use to contribute to Open Source software projects. That’s what the primary developers are doing so that is the happy path. The rest of us are developing non consumer stuff on Linux so we are never bothering to fix stuff relevant to laptops.

The other great use case is you’are a college student studying computer science. That was me back in the day and it was a great tool for learning.

I'm the IT department at my job. Everything above is SPOT ON. When users ask me for Linux I describe the above. Ideally run Linux on a powerful desktop that sits under your desk and you ssh to. Or if it must be on a laptop, get enough memory so you could run Linux as a virtual machine under VMWare Fusion or Parallels on Mac or VMWare Workstation on a Windows laptop. VirtualBox is free but it's free for a reason.

Installing Linux on a laptop leads to exactly what benb described. It starts off great and dual booting to Windows is fantastic. Then the fan kicks in, the touchpad stops right-clicking, the onscreen keyboard on a touch screen laptop always pops up even after you install the software to specifically nix that, the bluetooth recognizes every device on the floor except your new Logictech mouse. Then the Grub 2 boot loader somehow goes south after a kernel update and you can only get to the Bios. Finally you're hunting reddit looking for that one person who has already gone through all the nightmares for the system and hopefully has some answers to at least a few of the issues.

Dell has a few systems in their lineup as part of their Linux Project Sputnik that they certify to work with certain editions of Ubuntu. At the very least those systems have had some level of due diligence applied when it comes to the drivers of the onboard hardware.

At a cursory level I have had a bit of success with using Ubuntu off a Live USB stick on older MacBook Air's.

benb
12-14-2018, 10:55 AM
Just to add to what I mentioned.

I'm not particularly partial to linux vs OSX vs windows. I've been on OSX long enough I kind of see grass as greener on windows and it'd be fun to work on windows software. At home I'm a bit loathe to spend the amount of money Apple demands for what I want to do because that is money that can easily be spent on bicycling, guitar, or other things I do for fun. (E.x. saving $500 because the Surface Pro I bought was on sale vs Macbooks never going on sale.)

I am more than capable of debugging the laptop related issues I was having, not complaining about that being too hard. I've submitted patches to various projects in the past, and even submitted a driver to the kernel way back when. I first ran a laptop with 100% linux all thew way back in 1995... things were VERY painful back then, but I was a college student and had all the time in the world to hack on things, and if I was screwing up my computer I could walk across the lawn to the computer lab. I have done some other screwy things in the past like running Linux on a Playstation 3. A lot of that stuff is not actually painful when learning how to fix stuff is your goal. The laptop I ran back in 1995 actually worked better in Linux than the System 76 one. No issues with battery life, mobility, etc.. but that was eons ago, I spent TONS of time hand building the linux setup for it, and there was a lot of stuff that you can do today that didn't exist back then. I didn't really have to worry about printing. Didn't have to worry about video conferencing cause it really didn't exist. I didn't even launch a GUI on it a lot of the time.

From what I've seen from my co-workers the Dell linux installs are better than the System76 ones. Fewer issues, but they again mostly have a Macbook for the non-software-dev stuff that being part of a company requires.

My big desktop at home I built myself specifically for linux compatibility. But then I have mostly not used Linux on it as I have a "Pro" level Canon printer and thousands of dollars in DSLR gear, and what point is a lot of that if I am only running Linux and I'm getting subpar results for that use case? If I was totally married to Linux I'd sell the photo gear and get much cheaper stuff since I'm not going to access the higher performance of that gear if I'm using reverse engineered software on Linux.

45K10
12-16-2018, 09:24 AM
Good stuff, I really appreciate all of the insight especially concerning Linux. I may steer clear of it and either go with a Windows or Mac laptop. I'm pretty comfortable with both. I am a little fed up with Apple though.