| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Project Development Environment

Page history last edited by Alan Liu 8 years, 10 months ago
One lesson I learned from teaching my English 197 course in Spring 2015 is that collective project-making by a class (in the case of English 197 the class project included corpus creation, text analysis, and topic modeling) is immensely facilitated by creating a streamlined, pre-tuned development environment on workstations that an instructor can set up in advance or has technical help in setting up in advance.
         "Setting up" means creating a ready-to-go, preconfigured environment of tools, working folders, instructions, and shared cloud storage space.  This environment needs to be carefully prepped and configured to reduce the amount of time and mental energy otherwise lost to low-level "messing around" with the machines.  (Typical low-level issues that can consume inordinate amounts of class time: "Professor, I can't get Gephi to work with the Java on this machine"; "Where is the Antconc tool?"; "Where is the corpus we are working on?"; "Where is the command terminal?"; "The Python script says I am missing a package"; "How do I install this tool without admin privileges on this machine?")  A student should be able to log onto a workstation using a common class username (e.g., "ucsbenglish197") and see a clean desktop with a folder containing shortcuts and links to relevant working folders, tools, and instructions files, all pre-configured.
         The following is an example of a recommended workstation set-up and desktop folder for student digital humanities development work. 
        --Alan Liu, June 24, 2015.

P.S. The set-up recommended here is labor intensive because it requires duplication on multiple workstations.  Setting up a virtual machine that can be accessed or pushed to multiple workstations is one solution to this problem, though what is gained in reducing redundant set-up work can be lost in the cost of additional technical complexity and implementation problems across various operating system platforms.

I. Lab Workstations and Operating Systems

  • Ideally, a lab will have both Windows and Mac machines to accommodate students familiar with one but not the other.

 

II. Common Class User Accounts

  • Lab workstations should be set up with a common user account and common password for the class.  The username, for example, might be "ucsbenglish197."  The password for this user will also serve as a master password for other class purposes (e.g., accounts for online tools).
  • It is useful to create a shared Google account for the class--e.g., for "ucsbenglish197@gmail.com." This facilitates working with shared materials and a shared Google Drive. (Class members can give access to the drive to their own Google accounts if they wish.)
  • The same username and password would be used for any other online tools, accounts for API keys, etc., used in the class project.

 

III. Desktop Shortcuts & Links

It helps enormously to create a single, standard folder on the desktop of each workstation populated with shortcuts and links to needed working folders, tools, online sites, etc.  An example of contents for such a folder is as follows.  (Of course, the underlying working folders, tools, etc. also need to be set up in a standard way on each workstation.):

English 197 Development Environment

Folder for "English 197 Development Environment" that appears on a clean desktop when a student logs in on a workstation as the "ucsbenglish197" user"

  • _Info About This Workstation.txt file (contains name of the workstation, e.g., "transcript-1", OS version, plus any other useful information, such as particular traits of the machine)
    (Name for icon: Info About This Workstation)
  • Shortcut to "workspace" folder (see IV below).
    (Name for icon: workspace)
  • Link to the English197 Google Drive data_archive. (This is where working data and final data is uploaded.)
    (Name for icon: English197 Google Drive)
  • Link to the English 197 course site.
    (Name for icon: English197 Course Site)
  • Link to Workflow instructions (the instructors step-by-step instructions for using and concatenating tools for particular purposes).
    (Name for icon: _Workflow Instructions)
  • Shortcut to the command prompt (terminal, etc.) on the local machine.
    (Name for icon: Command Prompt)
  • If MALLET will be used, there should be a Mallet-instructions.txt file with step-by-step instructions for opening the command prompt, navigating to the Mallet directory, and sample command lines for ingesting files from a working folder and then training a model.  This instructions document should also contain best practices on using a command shell environment--e.g., creating commands in a text editor and copying them at the command prompt.  Some elementary command shell navigation commands should also be included (e.g., in a DOS shell, for example, "cd," "dir," "mkdir").
    (Name for icon: MALLET instructions)
  • If Python will be used, then a shortcut to a Python Integrated Development Environment on the local workstation (e.g., Enthought Canopy)
    (Name for icon: Python)
    • Shortcut to pythonscripts folder on local workstation
      (Name for icon: pythonscripts)
  • If R will be used, then a shortcut to R Studio.
    (Name for icon: R Studio)
    • Shortcut to R Scripts folder on local workstation
      (Name for icon: R Scripts)
  • If Gephi will be used, then a shortcut to Gephi. (Note: There are well-known problems with Gephi's current dependencies on outdated versions of Java. Problems in getting Gephi to work on different operating systems with Java can be non-trivial, requiring debugging in advance of the course.) 
    (Name for icon: Gephi)
  • Shortcuts to local installations of tools used by the class (e.g., Antconc, Voyant Server, Import.io app, etc.)
    (Names for icon: [various])
  • Links to a online tools and utilities, e.g., Voyant Tools, Convert JSON to CSV

 

IV. Local Workstation Folder Structure

  • Local Workfolder: For ease of work, workstations should have a work folder set up as close to the top of the directory tree as possible (as follows).  Subfolders can then be set up to collect and manipulate materials temporarily before uploading for storage to the class Google Drive.  
    • Windows machines - Path for Working Folder:
      • C:/workspace
    • Mac machines - Path for Working Folder:
      • [User]/workspace
  • Local Python and/or R scripts folders: Workstations should have a Python scripts folder. 
    • Windows machines:
      • C:/pythonscripts, C:/rscripts
    • Mac machines - Path for Working Folder:
      • [User]/pythonscript,  [User]/rscripts

 These scripts folder should be prepopulated with scripts used by the class.

 

V. Pre-Installed Core Tools and Programming Languages

Course workstations should have core tools such as Python, R, Mallet, etc. preinstalled along with any packages needed for scripts used by the class. (Windows machines should also have pre-set "environment variables" to include the tools in the environment path):

  • Python (version 2.x only)
    • Python Integrated Development Environments (IDE)
      • Canopy Enthought (installs Python plus editing environment and iPython Notebooks)
    • Python packages (in addition to those included in the above distributions of Python)
  • Import.io (if the class is scraping material from online newspapers and other sites)-- Note: Import.io can be used in a browser to extract data automatically from a Web page; and the browser version can also use customized extractors that someone else has created.  However, creating customized extractors (e.g., able to select only particular data from a page) can only be done through Import.io's downloadable "app".

 

VI. Additional Pre-installed Utility Tools

  • LastPass password manager (for Windows, Mac, or Linux), free version -- login is the class username and password
    • Should be enabled as plugin for browsers on the workstations.
    • Used to store class passwords for online tools, API keys, etc.
  • [Other tools as needed]

 

 

 

Comments (0)

You don't have permission to comment on this page.