Jim Lawrence
accessd at shaw.ca
Mon Feb 11 16:54:52 CST 2013
Hi All: For all those who want a real cheap Laptop and have all the functionality so you can do real programming check out the following: First get a Chromebook. The price runs from $199 to $299. Interestingly, everything on the notebook automatically backs itself up on the Cloud. http://www.google.com/intl/en_ca/chrome/devices/#foreveryone-promo-samsung The Chromebook OS is cute but hardly an OS for developers, enter a OSS package called Crouton: https://github.com/dnschneid/crouton The following instructing will be how get a full Linux style environment installed: <Quote> "... Getting started with CROUTON The first thing to do is boot the Chromebook into Developer Mode. Doing this will wipe the device, but that doesn't really matter because everything is backed up to the cloud and gets synced back down when you log in. This is the process I had to follow for my model, and yours may be a little different - just Google for it. You don't need to worry about setting up the firmware to boot from USB. Once you are in Developer Mode, sign in and hit Ctrl + Alt + T to fire up the shell. Type shell to be dropped into a BASH environment. At this point you need to follow the directions in Crouton's README, but here's a quick rundown of what you need to do in the shell we just opened: 1 sudo sh -e ~/Downloads/crouton -t unity Go for a walk at this point - this will download about 700 MB of files. Once the process is complete, you will be prompted for the root user name password. Enter that, a few other bits of user info, and you're done! Since we installed Unity, we can fire that up with: The `-b` backgrounds the process. You can omit it. 2 sudo startunity -b You can switch between the Chrome OS and Ubuntu environments with ctrl + alt + shift + F1 (the "back" button) and ctrl + alt + shift + F2 (forward), respectively. That's it! Now you can run Ubuntu apps inside of Chrome OS. Setting up a development environment The previous section was for setting up an Ubuntu chroot, this section is for setting up some tools that are useful for web development. GIT You need Git. 'Nuff said. 1 sudo apt-get install git VIM WITH RUBY SUPPORT Command-T, a Vim plugin I use, depends on Ruby support. Because of this, I needed to compile Vim with Ruby support enabled. The Ubuntu chroot that Crouton installed lacks a few of the dependencies that a Ruby-enabled Vim requires, so I had to install those myself: 1 sudo apt-get install libncurses5-dev ruby-dev >From here I followed this guide written by Krešimir Bojčić , but here's the part that actually gets and compiles the source code into an executable: 1 # Vim is in a Mercurial repository. 2 sudo apt-get install mercurial 3 4 hg clone https://vim.googlecode.com/hg/ ~/vim 5 cd ~/vim 6 hg update -C v7-3-154 7 ./configure --with-features=huge --disable-largefile \ 8 --enable-perlinterp --enable-pythoninterp \ 9 --enable-rubyinterp --enable-gui=gtk2 \ 10 11 make 12 sudo make install Now your Vim has Ruby support! OpenSSH Another critical tool for me is OpenSSH, because I like to SSH into my Ubuntu environment from Chrome and not deal with Unity any more than I have to. The easiest way to do this is to install tasksel and install OpenSSH from there: 1 sudo apt-get install tasksel 2 sudo tasksel tasksel gives you a UI to select a number of packages you'd like to install, including OpenSSH. You can also easily install a LAMP stack from this UI, if you'd like. NODE.JS Yup, you can run NodeJS from Chrome OS. It's as simple as: 1 sudo apt-get install nodejs npm FULL-STACK DEVELOPMENT FOR $250 The Chromebook is an amazing little device. By running an Ubuntu chroot, you have all the tools you need to build a web project from scratch, and probably a lot more. Keep in mind that it has an ARM instruction set, so some programs may not work (or at least need to be compiled from source). I haven't had any hangups that I couldn't fix, however. Why is this worth the trouble? Personally, I just like little computers. It's also great to have a SSD-powered laptop that has no moving parts - not even a fan. A soft benefit of having such an inexpensive device is the peace of mind of not lugging around a $2000+ laptop with you to the coffee shop. The 11-inch screen is reasonably comfortable to code on and the battery life is great. The Chromebook feels like a poor man's MacBook Air, and with a full-featured local development environment, I can safely depend on it wherever I go..." </Quote> Development on a budget even with a full Ubuntu 12.04 desktop. Cool and so cheap. Jim