Ask HN: Are Chromebooks ready for serious development?
https://blog.google/products/chromebooks/linux-on-chromebooks/
https://blog.google/products/chromebooks/linux-on-chromebooks/
My laptop has 20Gb of RAM, 2x 1Tb SSDs, and 10 hours battery life, with 1 hot swap batteries pushing me to 18 hours battery life if I want it. Total cost: ~$900 with tax and shipping
IMO best track pad outside of Apple + best laptop keyboard
I'd have trouble recommending it to anyone these days unless they were looking for something really cheap.
The only other complaint I have is that palm rejection for the track pad is poor, I eventually disabled the track pad entirely. I prefer the track point anyway, but I know a lot of people hate using them. Keyboard is excellent, IMO better than a MacBook. I would be curious, perhaps the OP used 2 500gb SSDs, you can get drive caddys to replace the DVD drive (I kept it, as I still need to read disks relatively often).
synclient TouchpadOff=1
There's supposed to be a better alternative to the Synaptics stuff, now, so I read a few months ago, but I forgot to note it and haven't actively searched it out, yet.No fan noise
It is a great laptop and cost effective for the 9570 right now, $1699 CAD right now with the coupon code: http://www.dell.com/en-ca/shop/dell-laptops-netbooks-and-tab... I have a larger SSD and memory sitting around the office, so I don't count that in the cost.
I think it varies a lot between models.
The trackpad is a nightmare. The bluetooth adapter randomly dies and I'm forced to restart. About 10% of the time when I close the lid the laptop doesn't actually go to sleep, but instead gets extremely hot, which is worrying when I take it out of my bag only to realize the thing has run down the battery and nearly melted. The list of issues goes on and on.
Yeah, we can blame Dell a bit for this, but Wifi drivers are a problem for a lot of systems.
Replacing the fan may be worth a try, too. Google for the service manual for your system which will give you a step-by-step instruction guide with pictures, and the parts are easy to come by.
Still can't help with the coil whine or the trackpad, though. (Though generally I've heard people say it's the best trackpad outside of Apple. I can't speak to that, my standards for trackpads seem to be relatively low compared to a lot of people's, because I've been content with a lot of trackpads that the consensus says are bad.)
Does chromebook support virtual machines well (never used it)? If it doesn't I would call that a deal breaker for myself at least.
1. The keyboard. It's apparently not so bad once you get used to it, but compared to typing on my Thinkpad I find myself unhappy with it; it feels spongier in comparison, and the key travel is pretty short (though not nearly as bad as the Apple butterfly switches.)
2. The docking situation. Thunderbolt 3 docks are not really that appealing to me because it becomes difficult to drive many displays at 60 FPS with them. In all fairness, the Thinkpad workstation dock can also only drive 2 displays 60hz 1080p OR 30hz 4k, but at least it's reliable, and my Thunderbolt port is still free if I want more displays at the cost of convenience.
3. Linux support is actually really awful. The XPS 13 developer edition is supposedly an exception, but I have heard that it's really only well supported with the exact version of Ubuntu it ships with, and that updates have occasionally broke the system. Admittedly, the same can be said for some Lenovo laptops. My P51 is pretty bad under Linux (though it's gotten to the point of being usable, thankfully.)
4. Reliability. A coworker has replaced his XPS like 2 or 3 times now, and one of the chargers also died. I hope that's the exception. Obviously even Thinkpads are not as rock solid as they used to be, but even though I found this level of failure to be pretty extreme, it lines up with what I've witnessed with other Dell laptops and is one of the primary reasons I've never owned one.
Honestly, the choice of laptop comes down a lot to priority, but I feel like XPS exceeds mostly in the categories of portability and style, two things that I do not value nearly as much as robustness and performance.
More than anything, the most important thing you can do is research the crap out of any option you're considering buying. I've found that Arch Linux wiki pages about laptops are quite useful, with the caveat that you have to be careful to not assume two similar models will perform similarly since that is often not the case.
Having worked on an original IBM Model M keyboard in the 90s and as touch typist, I'm as much as a keyboard snob as could be, and I think the keyboard on the XPS 13 is excellent for what it is. I had the opportunity to compare an X1 Carbon keyboard (or was it another high end Lenovo?) against the XPS 13 in a shop where they had both on display, and preferred the XPS 13 subjectively. The Lenovo, certainly a high end part, had more key travel, and was also quite a bit wider; both facts combined made the outer left and outer right keys "block"/"skew" because they weren't hit straight from the top. Also, the keys were a bit too loose/clacky and felt more like a cheap desktop keyboard. I can't imagine typing on that thing as fast as I can on the Dell. The Lenovo also was quite a bit more expensive than the Dell, but had an atrocious 14" TN display (manufactured to 10+ year old standards) next to the Dell's.
> Linux support is actually really awful ... [XPS] only well supported with the exact version of Ubuntu it ships with
That's not been my experience at all. I'm running the XPS 13 for over two years now and everything works out of the box on my non-Developer Edition model (with the occasional glitch, like once every other month, of WLAN reconnect failure and power management switching into a really slow mode when waking up/opening the lid).
Fully agree with Arch Linux wiki pages; used them as resource to get Ubuntu running on the Dell XPS when this wasn't yet possible out of the box.
I think I may be more sensitive to this than most, but the keyboard is absolutely not okay. I had the Dell XPS 13 for over a year, and I could not actually use it as a laptop because the keys brought my fingers such excruciating pain. I could only use it with an external keyboard attached. Previously I had the old generation Macbook air which caused me pain in only one finger (pinky, I think from hitting Ctrl too much), and currently I have a Razer Blade which is a bit uncomfortable on all of my fingers, but not even CLOSE to how bad the XPS 13 was.
I also own a Dell Chromebook 13 and have zero finger pain when using it, the keyboard is a dream. Had some coworkers with Thinkpads, and their keyboards also felt fine to type on (better than the Air, worse than the chromebook)
This is insane to me. My XPS 13 caused me excruciating pain to type on. I try to warn people every chance I get. Hurt my fingers more than any laptop I've ever used, to the point where I could not even use the laptop keyboard, I would only use it with an external keyboard.
Best keyboards I've used was my Dell Chromebook 13, followed by coworkers thinkpads.
- you have a recent kernel? Also, 4.17 should bring battery-related improvements
- did you install TLP[0]?
[0] http://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-man...
(Also if anyone knows of a model that's got more of a focus on battery life for someone who is SSHing into external machines for most CPU intensive tasks I'd be all ears)
I guess battery mileage is mostly a function of the O/S and drivers, and your power settings and what you actually do on the notebook.
It sounds like budget is not your problem, but I thought I'd just mention this for any students etc. passing by.
x220 keyboards are a bit hard to source for a good price, though.
Everything about it is just sluggish and laggy. The opposite of snappy. This is compounded by the fact that the AWS and GCP web interfaces I spend a lot of time in aren't exactly lightweight, but that's the work. The SSH client is similarly just ever so slightly off.
In terms of just compatibility pains, don't even think about trying to print from the thing. Also, the copy/paste mechanics are probably not wrong per-se but just odd enough that I'm constantly frustrated by getting it wrong. Lastly, tons of basic stuff is just a hoop to jump through now, like setting up an adblocker or using a basic text editor. I can't even imagine how hard a full IDE would drag.
Bear in mind this is the "plus" (arm) not the "pro" (x86). So maybe a Pixelbook with its full-i5 would get over the hurdle, but I guess my overall takeaway would be if your'e going to try a Chromebook make it an $800 one not a $450 one.
The Pixelbook and the Chromebook Pixels before that have excellent performance for developers.
I'm sure a Chromebook Pro would have been a good choice for a workhorse as well.
The Google Chrome SSH app is an abomination. If you have Dev mode enabled, OpenSSH is in the shell (open the crosh cli and type 'shell'). The Termius Chrome app is also decent but they're no longer developing it.
> Everything about it is just sluggish and laggy > So maybe a Pixelbook with its full-i5 would get over the hurdle
I'm very pleased with the performance of my Acer R 13, which is fairly comparable to the CB Plus. I'm mostly using it as a 'dumb' terminal (ssh, RDP, Citrix Receiver) and not doing anything terribly taxing in the browser or Crouton. I suspect Crostini will push me towards a higher spec ChromeBook but for my current workflows it's more than sufficient.
Linux battery life is something like 8 hours. A year or so ago it almost ran freebsd and openbsd. Haven’t checked since.
So maybe its the processor,not the OS?
To make a comparison, my 2016 15" Touchbar Macbook Pro is a constantly, spinning beachball machine above all else. It gathers dust in the corner while these machines that are 1/5 and 1/3 the price are an actual joy to use.
I've played with the Linux install on the Pixelbook, but haven't yet taken the time to move over completely from Crouton, which works fine for me.
There's a few funky things. For example, it becomes easiest just to store all your files in the Downloads folder as that's the only folder the chroot can access. But it seems like they're ironing those things out.
I've been a happy Mac user since 2006. I'm suddenly a huge Chromebook advocate. Both of these machines are the best experience I've gotten from a new machine since I got my first Macbook Air.
That was when I discovered AWS Cloud 9. After getting back my repaired fully maxed out latest model Macbook Pro, I have not even bothered to restore the hard drive. Developing on Cloud 9 has been wonderful. Having everything already in the cloud in a production-like environment has enormous advantages. Sure there are things I occasionally may miss or be unable to do on a Chromebook, though this has surprisingly not been an issue yet. The only Mac app I've wanted to use is Sketch.
I have since upgraded to a Pixelbook, which has a gorgeous screen and a superior keyboard to a Macbook Pro. Touch screens with tablet mode make a computer enormously more versatile, serving as a tablet and media platform. If I lose or damage my Chromebook, I can continue development seemlessly on any computer, and log in to any Chromebook to recover my environment. Not having a $3000 laptop that I need to protect with my life, knowing that if I lose everything nothing is lost, is very liberating.
I'm now transitioning off of iOS because of the lack of iMessage and the general pointlessness of using an iPhone with a Chromebook. Perhaps the biggest annoyance with iOS devices now is the disastrous Lightning connector, which adds so much complication to my cable environment. With a Pixel 2, I basically just need a few similar wall chargers and USB-C cables rather than a tangle of converters and cables.
Surprising myself, I am now basically committed to a future on Chrome OS and Google's ecosystem. My only regret is not supporting Apple's respect for privacy, which is a substantial regret. I can only hope our Google and perhaps government some day will adopt Apple's ethical standards around privacy.
Anyone want to buy a Macbook Pro? It really is a beautiful machine. I just don't seem to need it anymore.
I currently run an XPS 9560 but am waiting now for a 9570. Laptops are definitely replacing desktops even for high powered tasks, but I am not sure Chromebooks have the horsepower yet.
The other place that Chromebook's fall down is when traveling. Lots of places like airplains, trains have spotting wifi/cell coverage. With a Chromebook you are dead in the water. If you spent a lot of time traveling, not being able to work is sort of a bummer.
One thing I've discovered is that much screen real estate is overkill for me, and I'm more productive with less.
Could you talk about this a little more? I have never used C9. I use git and an IDE on multiple devices (Linux on home desktop, Windows on old ass laptop, macOS at work) so I can work in basically the same environment on any of those devices any time. Granted, I can’t just pull up a browser on any device, but that seems like it would be a rare use case (for me, anyway).
Sounds like you don’t need that MacBook anymore, wanna sell it to me cheap? (:
With Cloud 9 everything is on an EC2 instance with Linux, exactly the same platform as I will deploy in production.
It sounds like C9 can be really useful for AWS deployment specifically, but beyond that I don’t see much value over git+IDE.
Also git+IDE is exactly what I use with Cloud 9. C9 is the IDE.
Also backing up a Macbook to the cloud is a lot of data, and Apple doesn't have an adequate solution for this. I was using Backblaze. Their restore method is mailing a USB drive.
Unless you have a local backup, which is not practical while traveling, restoring from backup is non-trivial.
Are finances not a concern here, or am I missing something else with this suggestion? I don't backup _anything_ to a cloud provider because my last-decades solutions (automation + home network NAS or SAN at work) _just works_, and I, and my company, don't need the recurring costs hit from a cloud provider.
Sounds like a little of both to me.
At home I keep my backups on a NAS with RAID 1 redundancy so I'm tolerant to most things. That entire 4TB array is backed up to the cloud through BackBlaze B2 because it's affordable and grants me peace-of-mind for scenarios where both disks fail. I don't use nearly the entire 4TB, so it's about $10/mo for my B2 usage.
So far in life, I've never had to use my cloud backups. Which is great, they'd be slow as can be to download. But the insurance of knowing they're there is completely worth it to me.
If you are a software engineer and you are concerned about $100/year in cost for your backup system, you might want to consider your priorities.
I've known such people who will go through great aggravation, follow on sunk costs no good reason, and waste a lot of time - just to save a few dollars or feel they didn't waste money.
I waste probably a few thousand dollars a year on expenditures I never utilize. If the dollar amount is below the cost of the aggravation, I generally won't bother.
If you're working as a software engineer, I assume you are making at least $100,000. A $100 annual cost to ensure your data is saved, and the time savings from maintaining a local backup, seems well worth it and it doesn't make sense to me for that cost to weigh into the decision.
At Italy maybe 30% of that is the average.
Even in the US this is not the average salary for software engineers if you look outside of the Bay Area and Seattle.
What kind of premise is that for a question? You think this forum consists only of devs using Macbooks?
In Silicon Valley. Everyone else uses Windows.
I'm in the state that shall not be named on the other side of the world from California but when I go to tech meet ups, 90% of the room is running Ubuntu/Linux Mint or some other variety with a sprinkling of Macbooks.
Is it seriously that different? What do the Starbucks around that area look like?
edit I should point out I'm only going to web development meet ups.
I would love to be running Linux on it but the IT department in most places I've heard of won't let you replace OSX. Places that also offer Windows laptops for devs won't let you put Ubuntu on it either.
So I use my MBP with it's stupid emoji bar and an escape button that can crash at work and my System76 laptop at home/everywhere else.
It's funny because growing up as an Apple user in the mid 90s it was reversed. And we didn't have a package manager like Homebrew on OS 9. It's so much easier to be a Mac dev today than historically.
But for the simple case of "I need to ssh around or pull some files with curl or check something out from github or whatever and I don't have my linux box" it works great.
> Unix Shell
Cmder[0] is what I use, it supports all commands that I use on my work MacBook. If I need something Linux-specific like imagemagick, I just use WSL[1]. Some say it's slow but it runs fine. Maybe it's the fact that my PC is like 10x more powerful than my MacBook Pro because it's standard desktop computer with water cooling.
Bottom line, as someone who is using both every day - Windows is fine, it's not 2010 anymore.
[1] https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux
If I had to use a Mac all day I would miss all of the simplicity of using Windows for things like browsing files, managing application windows, having buttons with actual labels, etc. I would miss being able to operate the entire OS with just the keyboard, which is impossible on a Mac.
There's definitely some types of development work that just won't ever be practical in any way on a ChromeOS device. Developing iOS apps, Windows GUI apps, etc. Sure you can remote into a MacOS or Windows machine, but I don't think that counts. Anything requiring massive CPU power or RAM probably won't work too well either.
There's also definitely plenty of ways of working productively that are very practical. Being remoted into a cloud IDE or SSH works fine. Not sure if that counts, but cloud work is the main idea of ChromeOS. You can install Linux side by side with Crouton, but going outside of ChromeOS seems beside the point. You can install something like Termux to get a pretty normal Linux interface without breaking ChromeOS security, but it does seem to have a couple of quirks.
I've been using the Termux method for a while for side projects, and I've mostly been pleasantly surprised. Ruby, Python, C, Go, and Rust all run just fine, as does Vim, Tmux, SSH, Git, etc. Even installing local DB servers for web apps to test against seems to work fine. I have run into a couple of snags with various Ruby gems that I haven't gotten around to sorting out yet. The community around the setup is decent, but maybe not as big as you'd really want for something you "seriously develop" on. You can certainly get most types of development work done on it though.
This is excellent combination. Mac is still superior hardware wise and ChromeOS is really nice graphical environment for web browsing, HBO Go, Spotify, YouTube, Google Play Music, Google Photos, Google Drive, Inbox etc. Anyway most of the time I spent inside terminal - crouton - Debian stretch - Vim - gcloud.
I am enjoying the screen real estate of Mac's Retina display, touchpad, keyboard, battery life etc. On the other hand I am free from half-baked Apple software...
I have a backup ChromeOS install on at least 6 years old x230. I have also wiped out Windows and installed ChromeOS on my Mom's i3 Lenovo laptop.
So far so good..
Well, it had been a process - I had been growing dissapointed with lack of quality of Apple software, each iteration beeing of lower quality and plain dumber then competition (iCloud, Siri, Apple Music etc.) High Sierra had been the final straw.
Over time I have stopped using iCloud, Apple Photos, Mail, Safari and replaced them with Google Photos, Google Drive, mutt in Terminal, Chrome etc.
At some point I have realized that I have only single app comming from AppStore on my computer. The rest is either free software (paid for but dowloaded from the web not from Apple's walled garden) or from Homebrew.
At that stage jumping out of Apple's garden had been quite painless for me. I am not missing iMessage even. And I have started using Sony XZ Premium instead of iPhone at more or less the same time (better screen resolution, better bluetooth music quality with Sony MDR-1RBT headphones and at quarter of the price of iPhone 8).
Some time ago when still on macOS I have started using dnscrypt-proxy 2.0 on my router which disables most of call home capabilities of Google, Apple, Facebook etc. And also I have my own extension for Chrome which keeps my Google Search and Youtube activity transparent to Google. Not industry-grade but I am enjoying enough privacy on ChromeOS.
Linux runs inside a virtual machine that was designed from scratch for Chromebooks. That means it starts in seconds and integrates completely with Chromebook features. Linux apps can start with a click of an icon, windows can be moved around, and files can be opened directly from apps
MacBook Pros can keep going even with CPU-abusive software. I don’t want to carry the extra weight so I choose the trade-off.
But a Chromebook? I don’t understand the fascination with trying to develop on a more challenging dev platform that offers seemingly no advantage in terms of performance, mobility, price, or ergonomics.
I disabled siri button... a few weeks later apple released an update and siri is back ... just before my important call. My anxienty level is to the roof.
These keybindings are one of the only reasons I have stayed with OS X. I'm surprised that others use Cmd-arrow combinations instead.
I'm interested in a solution. I probably hit that key unintentionally 10 times a day.
Many clients may not care -- imagine how much sensitive business data Slack has! But I'd want to make sure that my usage of ChromeOS was compatible with the client's policies, compared with a laptop running one of the more traditional self-contained operating systems.
I would also like to better understand what profiling data Google collects during ordinary usage of ChromeOS. I'm not an expert on that subject and don't want to spread FUD, but when you're logged into the Chrome browser, Google finds out an awful lot about you through your web habits.
I have a secondhand hp z620 (32 cores, 64 gigs of ram) and a 4k screen. Total cost < £700
Whilst being about 4 years old, its still much much faster than a top end macbook. Yes its not portable. However I don't move around that much at work (If I do, everything is in git, or one can ssh in from another machine.)
if I need to work from home, I have any old laptop to ssh in and work.
being able to make -j 30 on a large project, is worth every penny, or not being able to move it about.
The only day to say exception to this is Docker for Mac's power usage.
Development doesn't require any more CPU than word processing. You're type stuff up, and there is a pretty strict grammar check. I don't get why people why people want to run huge things on a laptop. It is way more economical to shell into a beefy server when you need big iron instead of carrying it with you.
In other words it has nothing to do with how bloated the dev environment is and more with the fact that some programming languages have features that can cause excessive build time.
Care to give some examples of this? I've been using compiled languages for a while now and I've never felt my environment had been "bloated".
Opening a shell, reloading a page, switching tabs, running git pull, decompressing an archive, linting, building etc.
All these things will take noticably longer to the point of being frustrating on a low-end machine.
Please tell that to my local k8s cluster.
Locally the cluster runs two main projects, both systems that handle user-defined tasks. One is a Kafka-based clickstream event processor, the other is an Airflow-based workflow ETL system built on Celery. Exact resource requirements depend on the requirements of the task of the moment and how fast you want it to run. Of course there is the related tooling and services as well such as ZooKeeper, Celery, Redis, Postgres, Grafana, Prometheus, etc.
I haven't tried this on a tmux type setup on a remote box for my "local" dev before. The cost to run it on a cloud deploy is non-trivial.
I cannot develop on web IDEs or on a box with only 16G RAM. Some others can. I need to be able to run many containerised service locally, others might only need a node.js instance.
Depends on what you do. It's like asking whether a motorbike is suitable for your daily work. If you're a pizza delivery boy then yes. If you are transporting heavy machinery, then no.
The Dell laptop plug and played into my (not thunderbolt, wd15 or something dock) and all three monitors were literally plug and play. It felt like Windows again and blew me away.
You can also run Linux on any other laptop in the World. Natively, or in a VM.
But if development means to do web development you are just fine, as Linux is the best platform for that anyway. Other things, like resource intensive stuff (e.g. C compiling) might still be too much to do it comfortably on a Chromebook.
When I travel, I don't take my heavy Macbook Pro. I take my old Acer C720 because it has Bash, a Cloud IDE, and everything I need to code. Just in case I need to do more, I have KDE on chroot for when I need more tools.
My recent 1-year review is on https://llogiq.github.io/2018/03/02/chromebook.html
You can use flashrom to flash the UEFI firmware from MrChromebox. It will get rid of the ChromeOS recovery stuff and makes it a proper laptop. Remember to backup your data, as always.
So in this sense, yes I am comfortable doing development on a chromebook but it really isn't chromebook anymore. It is a Linux machine at this point. The keyboard is a close approximation of a real Thinkpad and the computer was cheap enough that I don't mind throwing it in my backpack and using it on the train.
Pretty happy with performance, Linux apps work well but still "feel" a little out of place. Very like how it runs Android apps, so much works but it's just the issues that DO come up that can be frustrating. If you're not ready for that experience then it might not make sense to switch your main dev machine.
Doubt I'll ever buy a laptop bigger than this one ever again, but it is a little harder to dev directly on this, mainly bc of that MBP trackpad, but this keyboard is MUCH better.
https://headmelted.com/coding-on-a-chromebook-84335cce96c8
This doesn't take in Crostini, which I'll be following up on - and I intend to rework the VS Code builds and scripts for ARM to use Crostini instead of Crouton, but everything discussed is still pretty much the state of play.
I still think it's worth the extra couple of steps by far, but that's because I just don't have time in my life anymore for all the hassle Chrome OS saves me from.
If being able to run a Linux VM is what it takes for others to do the same, great.
- Stand up an Amazon WorkSpace and RDP to it for Windows work - Use Android apps - Install Ubuntu using crouton
That's pretty much it. Use it all day every day.
This is without going into dev too. You just need to enable android on your chromebook.
I'd do frontend things on the machine itself if Chrome let me access localhost, but it doesn't. (Weirdly, Firefox for Android does, but that doesn't have any dev tools).
The problem with asking whether Chromebooks are ready for 'serious' development is that development is a huge topic that covers everything from editing a config file in VIM to building a UI in XCode. You can't answer a yes or no to a question like that.
tl;dr It's great but I wouldn't want to run Android Studio on it? My iMac struggles with that...
For me, the lackluster keyboard puts paid to the idea of developing on the Pixel book. However - as an interface to Google online services, it's great.