Simple (as Possible) Drake Installation

Factual has created a data-workflow tool called Drake. Drake lets the analyst outline her command-line instructions -- including data collection, pre-processing, analysis, validation, and visualization -- and easily run them together. If the analyst modifies code or data in the workflow, Drake naturally re-runs all instructions that depend on that modified piece. This makes for a cleaner, more efficient, more reproducible workflow.

Installing Drake requires Java JDK, Leiningen, the Drake uberjar, and a shell script. Here I provide a series of steps that can install these things on an Ubuntu system. Note that I chose to put the Drake files in the /usr/local/bin/ directory, which resides in my PATH. Continue reading

Adding New Users to Existing EC2s

It's somewhat straightforward to add a user to an AWS security group and then create an AWS instance that the new user can access. It's more difficult to grant a new user access to existing instances. I don't want to waste time trying to find an answer again (Amazon, your AWS documentation could use some work!), so I'm posting my solution here, where future me and other confused individuals can find it. Here are the steps:

  1. Create a new user in IAM.
  2. Go to 'users' in IAM and add the new user to the appropriate security group.
  3. Go to 'users' in OpsWorks and 'import IAM users' (at the bottom of the page).
  4. Choose the user(s) you'd like to add and click on 'import to OpsWorks'.
  5. Click on the user you just imported and copy the public key into the provided box. Also enable SSH access (a checkbox below) so the user can SSH into the instance.

OpsWorks executes a recipe automatically that pushed the new user's permissions to the instances, which takes a minute or two. The new user can now log in.

To remove the user's permissions, go to OpsWorks -> users -> [user's account] -> 'deny permission'