To take advantage of certain sections of the book, Windows users will need
to install some programs that are not included by default.
This page is a brief introduction to the prerequisites. More information
is in Appendix I of the book.

The problem:
Most of the principles and practices can be applied in a Windows environment
as well, but the specifics of how you carry out those actions (setting
up your computer to run programs from within a data directory) will differ.
We can only explain so many mouse-clicks in the text... 

A few chapters on using a unix shell will be unavailable to you without 
installing some additional software. These skills are not just important
for the direct processing that you can do, but because they allow you to 
operate when connected remotely to a server, as is sometimes required by

There are two options for setting up a Unix system. One option is to 
install a  unix "emulator" called cygwin. This is a fairly low-overhead procedure, 
involving a single installer program, which gives you all the unix tools 
you will need. However it is not nearly as full-featured as option 2, which is 
to do a Linux installation in a Virtual Machine on your computer. This is a bit 
more involved, requires more disk space and processor power, and it is also
a bit more difficult to access your normal Windows files from within the
virtual environment. However you will be able to run a full-fledged Linux 
installation and all the associated graphical programs, all within a sub-window
of your normal Windows environment. 

The specifics:

  1. Instead of TextWrangler, you can use Notepad++ or jEdit, among others.
  2. If you have a favorite text editor already, make sure it supports:
       a. Regular Expressions (in the Find/Replace dialog)
       b. Syntax highlighting (color-coding special words within scripts)


There are a few options for setting up a command-line environment 
on your Windows machine for use in the course.

   1. The least overhead is to install cygwin, a unix-shell emulator.
      Download the setup.exe program, and from the packages list, be sure to select 
      and install these items within the indicated subheadings:
         nano   (Editors) 
         python (Interpreters/Python)
         curl   (Net)

   2. For a full unix environment running alongside windows, install a Virtual Box
      and then install Ubuntu Linux into that environment.
      Further instructions on this process are on the ubuntu site and in Appendix I.

      When using this option, you will already have python installed as part of Ubuntu, 
      and will just have to choose a text editor. You can try jEdit or gEdit.
      These can be added from within the Applications menu of the Linux environment.
      If you use gEdit, you will want to also install the developer plug-ins.
      For regular expressions searching install this plug-in.
      You might have to create the plugins folder in your gedit directory.

      If you use Ubuntu, you will need to install the program curl separately. 
      Open a terminal window (the black rectangle in the upper menu bar) and type:
            sudo apt-get install curl
      It will probably ask for your password.
      Setting the PATH
      For Ubuntu, instead of editing ~/.bash_profile, as directed in the book, 
      you should edit ~/.bashrc and add your startup commands and aliases there.

      Shared Folders
      The hardest part of this process is getting shared folders between your Windows 
      system and the Ubuntu part of the operation. 

      a. Install Guest Additions with the instructions here
      b. Restart the VirtualBox
      c. Create or identify a data folder on the windows side that you want to share 
         (named with no dashes or spaces). Let's call it PCFBShared.
      d. Open a terminal window, and if you don't have one already create a folder on 
         the ubuntu side. We'll call it shared:
            mkdir ~/shared
      e. Set the Windows folder as a permanent shared folder inside the VirtualBox app 
         using the Devices... Shared folder menu.
      f. You should be able to restart the Virtual Box at this point and have your 
            shared folder show up.
      g. To make this change permanent, you can have the system "type" it each time you log in.
         Edit your start-up settings file in the terminal window by typing:
            sudo nano /etc/rc.local
      h. Add the bold command below to the end of that file, above exit.
            mount -o uid=1000,gid=1000 -t vboxsf PCFBShared /home/lucy/shared
            (where /home/lucy/shared is the path you get if you type 'pwd' from the ubuntu shared folder).
      i. The official VirtualBox manual is bundled with the installer and 
         is also available here.


This will be installed if you use the VirtualBox/Ubuntu option or cygwin
options above. You will interact with python mainly from within the command
line (terminal/unix) environment. If you want to try Python programming 
within Windows directly, you can download the installer here, but you may have 
difficulties accessing your data files in the same ways that are 
discussed in the book.

Return to the Class Schedule