There are many ways to skin the “develop with a chromebook” cat and they all seem to fall terribly short to me. I have a chromebook, I’ve done ubuntu via crouton and it works fine… but at the end of the day you’re using either a poorly-spec’d machine, or using terminal-only apps ssh’d into something else you’re presumably paying for.
Until there start being options for chromebooks with decent memory/storage I just don’t see them as valid alternatives to a “traditional” developer’s laptop for the vast majority of devs I know.
This solution works great for me, since the only graphical app I use anymore is Chrome. So many traditional applications have moved to the web, so I barely miss being able to run other applications. The other machine was also already set up as a server, so I don’t see it as any extra cost. I would of course like to have a “real” notebook to use, but there is quite an appeal to me in having something so lightweight that I can still get work done with.
I guess for my money, an 11" Macbook Air is going to beat a Chromebook in everything but cost. And if this is a machine I’m doing professional, paid work on, I can justify the cost. YMMV though, there is undeniably something very appealing about a ~$200 dev setup, and I do own one so I guess I can’t be too critical here :)
I just wish people would say what kind of development they DO with these setups. I suspect its something web related but its hard to say.
I bought a cheap chromebook for the same reason. Thing is, the battery life is just horrible to the point where I just don’t see the point compared to getting a beefier machine. $200 is a fine price point. But that old adage bites you in the end.
And I agree on memory/storage. Even with 4gigs its painful to hit out of memory problems when compiling.
Additionally the retina screens have corrupted me, given I look at text all day I’ll just stick to using my macbookpro+nix+osx etc… I also like being able to work disconnected, I get more done and the compulsion to just browse goes away when you’re not always online. That and on flights I can actually do stuff without a connection.
I can still ssh into boxes but with a real terminal client. Running ssh through the browser just activates my “this can’t be a good idea security wise” part of my brain. Could I do “everything” remotely I do now? Maybe but typing latency for everything I do is not my favorite thing. I’ve been on enough spotty networks to consider this idea a bit of a non starter.
But if it works for the op more power to you and all that.
I’m mostly doing web API development in Node.js and development tooling projects right now. So I’m running either HTTP servers or command line tools.
I’ve had excellent battery life on my Chromebook (its hardware being closer to mobile than desktop), lasting 7 hours on low screen brightness.
The limited memory and storage is why I offload the actual work to a server that is much more capable. I definitely would not use this hardware alone for any kind of serious work.
I definitely miss the retina displays, but I’ve gotten used to the small screen. It might even help me focus, since I can only really fit what I want to focus on on the screen. In the development that I’m doing, I do basically always need to be online. But having a lightweight computer with good battery makes it easy to move around to anywhere with wifi.
With regards to security, SSH is going through OpenVPN, so that makes me feel better. For typing latency, I hear mosh makes that a lot more bearable, but I haven’t really run into a need for it. Granted, I don’t really travel, I just move between home, cafes, coworking spaces, etc.
Fair enough that explains how it is workable to your setup.
Mosh helps but it most definitely doesn’t fix the problems of bad connections. Bad connections with pegged upstream or just bad packet loss even with mosh result in storms of change, wait for it to redisplay, change etc…. When that gets too annoying I tend to get angry.
I find it truly maddening when editing files as I tend to be switching between buffers so it means lots of wait. I still prefer to just edit locally and sync to remotes. I’ve never had a great experiences with relying on networks.
I suspect my battery life is lower in general in that I’m doing more things like compiling etc… which will peg all cores for a while. That and I have hooks into my editor to be running syntax checks/clang behind the scenes etc… So probably just the difference in i/o and overall cpu/memory use. I’d love to remove the local dependency, but I’m not sure its worth it. My strategy is to just make setting up a machine a run a script affair. That works well enough for me for the moment.
Hopefully my post didn’t come off too negatively!
Happened to describe what I do in another comment–Web backend stuff that we do remotely anyway. Can’t argue if you need more memory to build stuff, etc.
Makes sense in that regard then thanks for the clarification! I’m at the point that as soon as apple releases a laptop with 32gb of memory I’m hitting the order button faster than a beam of light.
You can always just download more RAM :)
I wish I could!
Well, there’s always compressed RAM. Since Apple added it to OS X, training with ~8GB datasets on my 8GB MacBook Air has become far more doable. There’s support in Linux for compressed RAM as well:
So, yeah, you can download more RAM ;).
I tried out the zram stuff on my 4g chromebook, turned that off straight away though it was painful enough. Made compiles quite a bit slower more so than just using swap.
But I might have done it wrong, and might’ve been a bad kernel build, was 3.17 iirc.
I got Nix installed on a Chromebook and used it for PureScript development for a few months. 2GB of memory is totally acceptable for compiling the web app I was working on. Battery life of ~10 hours was pretty awesome. I ran X11 and installed keepassx, Skype and some other Nix packages, too.
I’ve just bought a Carbon X1 since I’m planning on doing more Haskell in the future, but a Chromebook is definitely an option for doing useful things.
I use a C720, the i3 4GB model as it was the most specced out model other than the Pixel. Arch + dwm. Battery life runs about 7 hours for normal work habits (streaming music, filesystem watchers). Most of the development I use it for is ruby and node hitting postgres docker containers. Rarely a hiccup other than installing massive node_module trees. For a ~$300 machine it has far exceeded my expectations.
I’m doing this! Also doing it on an ARM Chromebook like yours, with OpenVPN for the bonus insanity. :)
I wound up, in no particular order 1) using mosh me@server -- screen -D -RR to log into servers, resume where I was, keep the session continuous across IP changes, mask some typing latency, etc, 2) opening crosh in a tab and having its ‘shell’ command drop me directly into crouton (by changing my .bashrc), 3) setting up aliases so it’s quick to log in, and keymappings on the other side so, e.g. Alt-W does ^W (since Chrome wants ^W for “close tab”). I do have some commands to quickly spin up an AWS t2.medium instance, but I don’t use it for many things.
mosh me@server -- screen -D -RR
I do backend Web dev, mostly on a big old Django app (and I play with Go for fun). For what I do I think my client side just doesn’t matter that much–I want to squish my big annoyances, but don’t need to tweak it to be super amazing, if that makes sense. It’s been all the major OSes, very different kinds of editor, ThinkPads and netbooks etc.. Of all the environments, I guess full-fledged Linux feels a little more like home to me, but the hard part is always, you know, what to write and making it work once you’ve got it.
Interesting setup. Is there a reason you use screen over tmux? I’m interested because I started using tmux because people always tell me it’s better than screen, but I never really compared them.
I can’t agree more with your last paragraph. All I need is a terminal and vim, and I’ll be happy because I can code. I think it’s useful to not have too strong preferences when it comes to setup.
Just started on screen before tmux was a thing. tmux is interesting, I’m just not that motivated to switch. Vertical panes (apparently also in new versions of screen) might be nice sometimes.
I was really impressed by the configuration and command-line interface of tmux. It all feels so easy to control, which I never got with screen. Although maybe I just didn’t read the manual enough.
I never get used to screen, but tmux gives me a lot of configurable options that makes my terminal use very “natural” specially when working with several servers over SSH, I guess there is no right or wrong choice here, is just a matter of how confortable the tool makes you feel.
You should try the Secure Shell extension,, it doesn’t take keybindings like Crosh does, so CTRL+W works.
Can also use >crosh as the host name to get access to localhost.