SAS University Edition Setup

Today I set up SAS UE on VMWare Fusion. Everything went fine.

It allowed 4 GB of RAM allocation.

SAS UniversityEdition:Installation Guide for OS X

Requirements

  • OS: OS X 10.8+, 64bit
  • Allows: 2 CPU
  • Recommends: Allocate max \frac{1}{2} of available RAM to VM
  • Browser: Chrome

Using VMware Fusion

  • Verified integrity of the download
  • Extracted archive to

    mkdir ~/VMWare
    
  • Created the UE working directory

    mkdir -p ~/git/github/sas/SASUniversityEdition/myfolders/
    
  • Booted up, logged in, wrote hello-world.sas.

Additional Configuration

  • Settings
    • Processors & Memory
      • Processors: 2 processor cores
      • Memory: 4096 MB RAM
    • Other
      • Isolation
        • ☐ Enable Drag and Drop
        • ☐ Enable Copy and Paste
  • Linefeeds

Literate DevOps: My OS X Development System

Setting up a development system is a non-trivial investment.

This document captures the steps required and automates as much as possible. The project has other formats, too.

The Style Guide is a must read for the operator.

Org-Mode converted this manual, tedious, and error prone task to a semi-automated, nearly reproducible, and error-less process, for me. This document has never been beta tested; I am it’s only user.

org-scraps Notes 30D36486-3578-4C0D-B16F-CE89A283358A

  • catch the file name during export
    • Code block specific header arguments are evaluated before execution of the source block. The arguments seem to be symbols, strings, or Emacs-Lisp SEXPs.
    • Here is an example of an inline source block that gets the name of this file and returns it: "/Users/gcr/tmp/scratch.org"
    • Using Emacs-Lisp in header arguments introduces great flexibility.
  • export of inline code blocks which are silent
    • Configure a document so that results are included in the document if it is being exported. This is a dynamic decision. It probably relies on org-export-current-backend now. Another example of Elisp configuring a header arg.
  • mentions of file names in file contents
    • Literate example using table defintions, sh, find, and dot.
    • An example that demonstrates a lot with a little.
  • inline code block
    • Develop a philosophy of what to evaluate and when.
    • They are as easy as 6 .
  • recutils
    • Great example of using output to a file and a file as input via header args.
    • Demonstrate usage of Recutils.
  • SQL — example reading org-mode table into sql
    • Show how Org-Mode Table data is converted to SQL data.
    • This is the essence of how data is brokered in the “BabelVM”.

org-scraps Notes 6CBD47FB-80AD-41DC-9E0C-482FE1C230E6

  • About
    • org-scraps is a collection of Org-Mode demonstrations published by Eric Schulte. All of my experience with Org-Mode Literate Programming is working on my Emacs configuration for Literate Programming. Wanting to address my limited experience I am working through each example in org-scraps. Org-Scraps is weaved to HTML files published here.
  • Approach
    • Evaluate each example.
    • Verify identical result.
    • Update notes on approach.
    • After every reconfiguration re-evaluate DONE examples to verify identical result.
    • Scraps are under-documented. Important ideas are explored often without explicit mention. Sometimes it is obvious; other times not.
  • simple short R block
    • “value table org replace” is probably the best :results configuration for source blocks. Replace table with scalar for in-line source blocks.
  • two blocks and a table
    • Programmatically create tables with org-sbe and #+TBLFM.
  • a table with tags
    • Special blocks like TBLNAME are taggable, for example with :noexport:.
  • shell script output not in table
    • Evaluating a sh SB generates a table with the captured output from echo, with 1 row for each call.
    • Scalar output demands replaceable formatting.
  • space around exported code blocks
    • org-babel-remove-result works no matter where the RESULT block is located. It doesn’t have to immediately follow the Source-Block.
  • scheme sessions
    • ob-scheme allows two sessions with the same name when they were started with different interpreters.