0. get you a shell
==================

You don't have to have a shell at hand to get something out of this book.
Still, as with most practical subjects, you'll learn more if you try things out
as you go.  You shouldn't feel guilty about skipping this section.  It will
always be here later if you need it.

Not so long ago, it was common for schools and ISPs to hand out shell accounts
on big shared systems.  People learned the command line as a side effect of
reading their e-mail.

That doesn't happen as often now, but in the meanwhile computers have become
relatively cheap and free software is abundant.  If you're reading this on the
web, you can probably get access to a shell.  Some options follow.

ask for an account on squiggle.city
-----------------------------------

[squiggle.city][squiggle] is a server I'm running explicitly for teaching
purposes, modeled on [tilde.club][tildeclub].

You can get ahold of me by mailing bbearnes at Google's giant e-mail service,
or on twitter [as @brennen][atbrennen].  Just let me know you'd like an account
and I'll walk you through the basics.

Limited time offer, contains no implied warranty of fitness or merchantability,
accounts free while supplies last!

use a raspberry pi or beaglebone
--------------------------------

Do you have a single-board computer laying around?  Perfect.  If you already
run the standard Raspbian, Debian on a BeagleBone, or a similar-enough Linux,
you don't need much else.  I wrote most of this text on a Raspberry Pi, and the
example commands should all work there.

use a virtual machine
---------------------

A few options:

* [Use Vagrant to spin up a machine in Virtualbox](https://docs.vagrantup.com/v2/getting-started/index.html)
* [Use DigitalOcean to create a remotely-hosted VM running Linux](https://www.digitalocean.com/community/tutorials/how-to-create-your-first-digitalocean-droplet-virtual-server)
