Sunday, June 30, 2013

Arch Linux & Startup Engineering

Background

I've been taking classes on Coursera recently. I started with Equine Nutrition by the University of Edinburgh. I followed up with Pattern-Oriented Software Architectures for Concurrent and Network Software from Vanderbilt. Both were cool and I learned some interesting things that I'm not blogging about in this post.

I'm currently taking "Startup Engineering", where I've mostly learned some basic javascript so far. For the class, we're using virtual machines hosted by Amazon Web Services.

Goal

AWS costs money eventually, so I thought that I could make my own virtual machine to run stuff. Ubuntu and I have had some rough times in our relationship because of Unity, Gnome3, and the fact that it's really laggy on my Windows box in a VM. I've also wanted to install Arch Linux for a while.

Step 1 - Install Arch

They have a beginner's guide. It's pretty good. I messed up my partitioning (using GPT) on the first go-round and had to do it again. Oh well.

Step 2 - Firewall

I followed this guide to configure iptables on my new virtual machine.

Step 3 - Install stuff for startup engineering

The heroku packages for pacman (Arch's package repository) are a little confusing. They have heroku-client and heroku-toolbox. Both are in the AUR, which means you can't actually use pacman to install them and have to run some command line tools.

The heroku website actually has its own script for wgetting and installing the tarballs. This seemed to work fine, except I also needed to install ruby. No big deal - that's in pacman.

After heroku it was on to nodejs, which is also in pacman, and was therefore really easy.

Results

I'm on my way to independence from AWS. I'd like to get some Dynamic DNS resolution going so I can ssh to this virtual machine from anywhere, but I'm not sure how that will work given that the machine is A) virtual and B) I think you need to pay for DDNS.