Ubuntu set up
I use OSX to consume content and Linux to create content. Or, rather, my wife screws up my Netflix preferences on OSX and I spend too much time fucking with syntax highlighting on Ubuntu. I recently bought a new Macbook Pro, and I’ve documented the steps to set up Ubuntu on a virtual machine. I’ll save the machine image so that I don’t actually have to go through these steps again; but it may be useful as a script, of sorts:
VM Fusion and Ubuntu
Download Ubuntu 12.04 from the Ubuntu website and follow these instructions to install the platform on OSX using VMware Fusion. You can use it immediately with the Electronic Software Download. If you have retina display, then you’ll have to turn off the option for Accelerate 3D Graphics found in Virtual Machine > Settings > Display. Don’t enable the option to use the full resolution for retina display in that menu. Instead, set the screen resolution on the OSX side: System Preferences > Display.
I keep everything on Dropbox, including code and configurations. I
don’t want to duplicate storage on my computer, so I share the
Dropbox folder with the VM. Go to Virtual Machine >
Settings > Sharing and add the
Dropbox folder. The shared folder
will show up on the virtual machine in the
/mnt/hgfs/ directory. I
like to have it up-front, in my home folder, so I symlinked it from
within the home directory:
Depending on what version of Ubuntu and VMware you download, it may not be so easy to share folders across platforms. It’s worth struggling through, however, so that you don’t waste valuable disk space with duplicated files (and risk strange overwrites).
I also removed a bunch of the default folders:
I keep all of my configuration and credential files within
Dropbox/settings. For example, I keep a global bash profile,
unhidden, in the
settings directory, which I symlink into my home
directory on the VM:
You may have to make minor adjustments to this step. You may, for
example, have to remove the default
.bashrc file before symlinking
your custom bash script. I forked my Emacs configuration from
.ssh/, I keep my AWS keypairs and Google Earth Engine credentials,
.ssh/ee-privatekey.p12. This way, if I lose my computer, I’ll
have all the customizations backed up on Dropbox.
Install Yakuake and Emacs 24
I like Yakuake to work at the command line. It looks great and it’s easy to use. Install it and then configure the layout, removing all animation (for the love):
Then install Emacs, along with some modes and programs that you’ll need for statistics work:
The result will look like this:
Install Java and Leiningen
Install the JVM for Clojure, maybe multiple versions depending on the projects you require:
Then Leiningen for easy use of Clojure.
Also, I like working with the
nrepl package for Emacs, so hit
package-list-packages in Emacs and make sure it’s installed. You can
enter a REPL, then, by just hitting
M-x nrepl-jack-in from within a
I use elastic-mapreduce for creating, describing and terminating Job Flows using Amazon Elastic MapReduce. Follow these instructions. If you already have your credentials.json file, then it’s pretty simple. First grab Ruby and wget:
Then get the command line interface:
credentials.json file in the
directory. And ensure that the following is in your
StarCluster is an open source project to build, configure, and manage clusters of virtual machines on Amazon’s EC2 cloud. We use it to launch simple, accessible jobs in Python, R, or Stata if Hadoop seems excessive.
The configuration files are located in
~/.starcluster, but really
reside on Dropbox, as described above.
For coloring and other handy stuff:
In a sort of meta, final step, you should install Jekyll – which is what I used to generate this site.
Oh and maybe MongoDB: