Tuesday, November 6, 2012

Chromebook - Road Warrior or Road Block


I recently received the arm Chromebook and was looking at ways to use the versatile laptop for work as well as play.  First a quick overview of the Chromebook.


Boots up in ~10 seconds
Fast Internet enabled device
Very affordable ($249)
Great battery life (Can get you through an 8 hour day)
12 Free airplane wireless passes and 100GB storage for 2 years although I have not able to get deal yet :(
The trackpad works well and has two finger scrolling
Very mobile


Not very useful without internet access
No "full blown" shell without switching into developer mode
Smallish Screen
Not able to run many desktop apps
I hate track pads

The Chromebook is a great secondary device, especially when the wife wants to do shopping online or plot a new vacation while you are doing work on the main computer.  But what about making the device work for taking my work on the road ( or to Starbucks)?

My Requirements:

Secure(er) access to the internet using public WiFi
Ability to access work VPN
Ability to use Vim and code in PHP, Python, Ruby, and Javascript
Need to be able to access company apps

I can easily access apps like Zendesk and Campfire without any issues.  The full chrome browser is the same browser that I have on my desktop.  Very fast and without issues.  Started noticing a performance hit when I have more than 10 tabs open, but nothing terrible.

Using VPN is easy as well.  Under settings you can add a new VPN connection.  The office uses an OpenVPN provider so this works well.

Secure access on a public WiFi is difficult to achieve.  First you need to make sure you are on the right  network, so ask the business what their network name is before accessing the network to avoid MiM attack. I have a box that I use to host some websites that I have root access to, so I decided to use that box as a SOCKS proxy to access the internet.  This is actually pretty simple.  Just access the chrome shell (cleverly named crosh) by pressing ctrl + alt + t.  This is a simple shell with only a handful of commands  (Type in "help" to see them all listed).  The one we are interested in is ssh.  The ssh command has an option "dynamic-forward" that will help establish a secure tunnel for your browser traffic.  You can add all your other options like port, host, user and various others.

You first need to go to your settings (chrome://chrome/settings) and check the option "Allow proxies for shared networks".  Then type chrome://proxy-settings in your address bar, and set the options in the SOCKS bar that you set up up using the ssh command.  This will proxy all your browser traffic through the VPS.

If you don't have a spare box as I do, there is a website that always has some deals on cheap VPS hosting, Lowendbox.com.

What about Vim?  Well, since I already have the box, I can just use the crosh shell to ssh into my spare box and just fire up Vim.  Every once and a while there is key typing delays but not enough to really bother me.  I was able to turn crosh into bash this way.  To make things easier, I also set up a new virtual host entry in Apache to give me an easy to remember domain to do web programming.


This Chromebook provides great value for $249.  I find myself being able to use the Chromebook instead of a traditional laptop.  I have a Asus TF101 which I now find little or no use for.  This computer can perform all necessary tasks well and there is a huge list of chrome extensions that fill in some missing gaps.  The only scenarios where this computer would not be effective is gaming and if you need to store massive amounts of data (music, ebooks, or whatever).  Yes I would rather have a MacBook, but since the MacBook could cost me 4-5 times the price of the Chromebook, I'm satisfied with the Chromebook.