How I code on my Chromebook!

I love to code, and spend as much time as I can working on personal or university projects, for a while now I have used my Macbook Pro for development, this was running Linux Mint and my text editor / IDE of choice was Sublime Text 2. I recently received my new HP Chromebook 11, and had to find a new way to work on my coding. Whilst I was an intern at Google I relied on internal tools to code on my Chromebook, but these are not available to the public. At the moment I am working mostly with Appengine so this post will focus on the development of Appengine Apps.

I tried a couple of different solutions to this problem, the second best solution for me being Codenvy. Codenvy works with Appengine straight out of the box, you can run a development server and deploy directly to Appengine. The IDE is also pretty full featured offering integration with git and many more features, but I personally found it a bit clunky and in some places it lacks important features (such as being able to view the development server’s logs!).

I ended up settling for Cloud9 as my IDE of choice. It not only has a huge expanse of features, but it’s pretty, theme-able and for me, just feels right! There are two ways to use Cloud9, the normal way is to go their website, sign up for an account and start coding away. However, this is not the only choice, you can also grab the code from their GitHub repository and run it yourself! By default the normal Cloud9 does not offer Appengine integration, but you can deploy directly to appengine using git.

I’m a massive Linux fan and therefore chose to run Cloud9 on a cloud server using Amazon’s EC2. This means that I can connect to my server via SSH to start Appengine development servers and deploy code via command line as well as edit the code stored there using Cloud9. The Amazon EC2 instance that I am using is running Ubuntu 13.10, and I plan to try installing this on one of my Raspberry Pis too.

Here are the steps that I took to get Cloud9 up and running:

1. Install the requirements:

sudo apt-get update && sudo apt-get install git npm libxml2-dev

This should install all the requirements including nodejs. There a quite lot of packages to be installed so it may take a little while.

2. Add a symlink pointing nodejs to node.

When trying to complete step 3 I got the error “sh: 1: node: not found”. This is due to there being a package for ubuntu, unrelated to nodejs, called node, therefore node is installed as nodejs. To resolve this we can simply create this symlink:

sudo ln -s /usr/bin/nodejs /usr/bin/node

3. Grab cloud9 and install it!

git clone
cd cloud9
npm install

This should create a folder called cloud9 and set it up! You may see some warnings during the install process, these are mostly warnings about readme files and can be ignored.

4. We’re done! Give it a test!

To star cloud9, we need to run which is located in the ‘bin’ directory, you can do so by running the following command:

bin/ -w ~/my_project/

-w is the root folder of the code that you want to edit

By default cloud9 will only listen on localhost, you can either forward the local port using Secure Shell (you can see my configuration here) or you can run cloud9 with the -l argument:

bin/ -w ~/my_project/ -l

However, be aware that anyone will be able to access cloud9 if you start it like this, see the documentation here for information on available authentication methods.


Finally, some info on my setup!

To run the appengine development server and deploy to appspot I simply use the scripts provided in the sdk.

One other thing I have done is to create a Chrome Bookmark app, pointing to my cloud9 instance, this simply allows me to launch it in it’s own window, rather than as a tab. If you want to do the same you can grab the unpackaged app from here, extract it, change the link next to “web_url” to the url for your cloud9 instance, then go to chrome://extensions/, click “Load unpackaged extension…” and click on the folder containing the files.


HP Chromebook 11 Unboxing and First Thoughts

When I saw that HP where releasing a new Chromebook I knew I was going to buy it. There’s a couple of reasons for this: Firstly I’ve wanted a little laptop for a while as it would be easier to take into University than my sizeable 15″ Macbook Pro, then there’s the fact that I fell in love with ChromeOS whilst I was an Intern at Google, and finally, it looked pretty! I suppose the fact that I only paid £209 for it is also a benefit!

I’m going to give a brief overview of the specs just to give you an idea what we’re working with. The first thing to note here is that this is not a powerful laptop and neither is it meant to be, it uses the 1.7 GHz Samsung Exynos 5 Dual SoC has 2GB of RAM, a 16GB SSD and an 11.6″ screen.

So Here we go!

It arrived in a big brown box!

And it looks like they used the world’s strongest tape here. Waiter’s friend to the rescue!

Once I had managed to get into that box I found another box. Just from looking at it I thought this was made out of Polystyrene (Styrofoam) but it’s actually made out of some kind of card.

The attention to detail is pretty nice!

And here it is!

But we’re going to put that to one side for now and see what else is in the box.

All the box contained was a little welcome card, the charger and a quick start manual (3 or 4 pages) which of course I ignored.

A quick look at the charger. Obviously this is the UK adapter, it provides 3 amps to the Chromebook to charge it via Micro-USB. It feels strange powering a laptop with Micro-USB, but it’s also kind of cool!

Right, back to the laptop, the first thing I noticed when taking it out of the box was just how light it was. It’s the lightest of the Chromebooks on the market weighing in at 1 kg, yet it gets away with this without feeling cheap.

After removing the plastic wrapping we can admire it in it’s shiny glory. 😛
First a view of the back, with the big rubber pads. I expected there to be more HP branding but it seems that the logo you can see on the bottom is the only one on the device.


A quick look at the ports on the device before we crack it open. From the left we have: The Micro-USB charging and Slimport video port, two USB 2.0 ports and a combo Microphone/Headphone port.


Now to crack it open!


A close-up here looking over the keyboard. When opening it up I felt that it was actually better looking than I expected it to be. I gave the keyboard a good bashing and it felt really nice to use. (I’m typing this on it right now!)


Time to connect the power and turn her on. Handy little charging light on the side, standard thing, orange while charging, green when full. Interestingly, when I tried the 2 Amp charger that came with my Nexus 7 I discovered that it actually lost charge with heavy usage.


And finally a view of the device on! It’s hard to show the screen quality here, but I was very pleasantly surprised at the resolution (1,366 x 768) and how bright the colours look.


Within the next couple of weeks I may post a long-term review to go through what I feel about the laptop after using it for a while. Until then, bye!

P.S. If you want more information or want to buy one, head here: