This Week in Programming: Can Chromebooks Be Turned into Dev Machines?
Back in early 2011, I got my first Chromebook. Internally dubbed the CR-48, the device was a matte black with a rubbery texture. As one of 60,00 test pilots of the device, I was excited to give this “cloud only” device a whirl and I was quickly disappointed. If I recall correctly, there was no offline storage or functionality of any kind — you turned it on, and there was a browser and little else. I played around with it for a bit, wrote some harsh reviews, and quickly sent it off to my niece for her to play Internet games on.
Fast forward a few years and, as you may know, Chromebooks are now functional little computers that can handle many of the daily needs of your average user — word processing, web browsing, even graphics editing believe it or not. Most things nowadays can be done on the web. I bought my second Chromebook back in early 2014 and haven’t looked back. It has functioned as my primary computer for the past three years, with my old desktop sitting mostly idle.
Flight of the Developers. pic.twitter.com/nRZPzu62V8
— Mahdi Yusuf (@myusuf3) September 20, 2017
When I got the itch recently to start toying around with a new programming language, I again found the Chromebook’s limitation. A developer machine it is not…or is it?
I’ll admit it — I gave up the fight quickly and turned my idle Windows desktop into a Linux dual-boot machine, but others are fighting the good fight for those of you further interested in how to use your Chromebooks as developer machines. And on reading these accounts, my interest, I must say, has been further renewed.
Earlier this month, the writer behind the Solarian Programmer blog decided to start a two-week challenge, wherein they would use only their Chromebook and iPhone for the next two weeks to see if it was possible to use the Chromebook as a general development machine.
As it turns out, the possibilities are plentiful. From online web-based development tools like CodeAnywhere and Cloud9 to replacing ChromeOS entirely with Gallium, a Linux distro for Chromebooks, there are numerous ways to turn your Chromebook into a developer machine. For their challenge, the author chose to enable developer mode (a move some comments take exception with) and “run Ubuntu Linux in a chroot through Crouton” which allows you to “run Ubuntu and Chrome OS side by side.”<
For those of you who are more security minded, however, Kenneth White details a method that keeps security intact while allowing you to create the fully functional developer environment you crave — noting his aversion to the “enable dev mode” technique often used:
Nearly every how-to and blog post I’ve found on “Chromebooks for developers” essentially starts with either: “Boot into Developer Mode” or “Install Debian/Ubuntu as the main OS”. I’ll just say it: This is bad advice. It would be akin to recommending that friends jailbreak their shiny new iPhone.
You’re obviously free to do as you wish with your own gear, but recognize that at Step 1, you’ll have lost most of the core security features of Chromebook, not to mention virtually inviting bad development habits. As far as Debian/Ubuntu (and Crouton), that’s fine as far as it goes, but then you don’t end up with a Chromebook, just a cheap mini-notebook with flaky drivers. The whole point of this exercise is to retain the hardened posture of the platform and have a flexible, safe development environment without depending on the crutch of privileged access.
And with that, fellow code jockeys with Chromebooks by your side, I say, be free!
My code headed to prod pic.twitter.com/L6KVw9UqVh
— Nick Canzoneri (@nick_canz) September 20, 2017
This Week in Programming News
- A proposal on GitHub to Just Use GitHub for GoLang contributions has garnered some attention in the community, noting that “it’s too hard to contribute” and that “Go feels like it’s a Google-owned-and-controlled project that is not truly ‘open source'”.
- The team behind Facebook’s HipHop Virtual Machine writes that they will be taking The Future of HHVM beyond the confines of PHP. Just as PHP7 will break with compatibility from soon-to-be-deprecated PHP5, HHVM will also break with PHP and instead forge “a clear path toward making Hack a fantastic language for web development, untethered from its PHP origins.” More insight on the move is offered over at InfoWorld.
- GitHub announced GitHub Desktop 1.0 this week, the follow-up to the beta version released last May. The open source GUI app is available for download now and offers features like image diffs, faster repository cloning, and integrates with your existing work environment.
- Similarly, Sublime Text 3.0 also arrived this week, bringing with it “a refreshed UI theme, new color schemes, and a new icon”, as well as “big syntax highlighting improvements, touch input support on Windows, Touch Bar support on macOS, and apt/yum/pacman repositories for Linux.”
- IBM this week open-sourced a microservices-friendly Java app server, called Open Liberty, news that might pique the interest of those of you working in Java enterprises.
- Cloudflare and Google Cloud have teamed up to offer app developers $100,000 in Cloud platform credits. Startups can qualify for up to $3,000, “exceptional apps” from $20,000 to $100,000, and even first-time individual users can get a couple hundred dollars in free platform credits.
- And finally for this week, Stack Overflow launched a salary calculator for developers, so you could truly know how undervalued you are compared to your peers. Venturebeat offers all of the details on the launch.