3.4. IDeATe Virtual Cluster Software¶
The IDeATe equipment desk includes a ‘virtual cluster’ of MacBook Pros with a variety of software installed for course use which are available for checkout from the desk. We recommend that you use one of these computers for all assignments. We will provide support for helping you maintain and run the course materials on the cluster laptops. The complete list of requested software appears below.
You are welcome to use your own computer if you prefer, and we will endeavor to keep the course materials widely compatible. However, we cannot promise support since experience has shown that troubleshooting individual student laptops can become an unreasonable time sink. In particular, some examples were developed and tested under Mac OS X and are not tested in detail under Windows. We encourage Windows users to offer peer support to each other.
All work in this course can be performed using open-source or free software. The following guide may help you in setting up course materials on your personal computer. We welcome questions, but these instructions are offered as a courtesy and we will not be responsible for maintaining your personal system.
Contents
3.4.1. Notes on Cluster MacBook Pros for F15¶
- The cluster MacBook Pros can be checked out from the IDeATe equipment desk. The basic specs: 15” Retina MacBook Pro (2014), 2.2 GHz, 16G RAM, 500G SSD, Iris Pro graphics.
- They must not leave the Hunt Library building. The IDeATe desk is not open 24/7, so please plan your usage time appropriately.
- They have Bootcamp installed and run either OS X 10.10 or Windows 8.
- The OS X installation is configured to create user accounts on the local disk. This means that the first time you log onto any given laptop, all your settings will be the default, and none of your personal files will be directly available.
- Your Andrew AFS folder (and DFS folder?) can easily be mounted.
File Management Strategies.
- Work from your AFS or DFS space.
- Bring an external drive or USB stick to carry around your files.
- I am working on a strategy for myself which involves backing up my Library/Preferences folder to and from AFS to ease transferring settings from one laptop to another, but I am still developing this.
3.4.2. Installation on Personal OS X Computers¶
3.4.2.1. Recommended Applications¶
As a minimum it is recommended to install the following applications. See the list below for links.
- Arduino IDE (requires Java)
- Fritzing
Other useful applications include:
- GitX-dev
- CoolTerm
3.4.2.2. MacPorts¶
Much of the basic open-source software can be installed via MacPorts, an open-source package installation system for OS X. Effective use of MacPorts requires some willingness to use the command line (e.g. Terminal.app).
The MacPorts Quickstart instructions are the best reference for initial installation, but in even shorter form:
Install the current XCode system from Apple if necessary.
Install the base system from the .pkg package file appropriate to your OS version.
Run an initial self-update from the command line:
sudo port -v selfupdate
Install essential packages. Note that this may take some time as it will download many packages and perhaps compile a few:
sudo port install coreutils git gnuplot minicom py27-numpy py27-pyqt4 py27-pyqwt py27-scikit-learn py27-scipy py27-serial python27 qt4-mac sox
Note that you may see many other packages installed by MacPorts as it automatically installs packages required by the ones you specify.
Install additional packages. Some of these are more relevant to Raspberry Pi users:
sudo port install Fugu doxygen emacs-app graphviz md5sha1sum nmap opencv +python27 p7zip py27-ipython py27-protobuf py27-sphinx py27-twisted py27-yaml sshfs unison xz eric4
3.4.3. Installation on Personal Windows Computers¶
As a minimum it is recommended to install the following applications. See the list below for links.
- Arduino IDE (requires Java)
- Fritzing
Other useful applications include:
The closest equivalent to MacPorts is the Cygwin package system. For the Python support the recommended solution is python(x,y).
3.4.4. Cluster Course Software¶
Following is the table of software requested for the virtual cluster MacBook Pros from Computing Services on behalf of the course.
OS | Developer | Software | Link | Notes |
---|---|---|---|---|
Mac OS X | Apple | Java | optional install from Apple, required for Arduino IDE | |
Mac OS X | Apple | XCode | https://developer.apple.com/xcode/ | optional install from Apple, required for MacPorts |
Mac OS X | Apple | XQuartz | optional install from Apple, essential for Pd | |
Mac OS X | Arduino | Arduino IDE 1.6.5 | https://www.arduino.cc/download_handler.php?f=/arduino-1.6.5-macosx.zip | 1.6 version supports Arduino Due |
Mac OS X | Audacity | Audacity | http://audacityteam.org/download/mac | |
Mac OS X | http://fritzing.org/home/ | Fritzing | http://fritzing.org/download/ | |
Mac OS X | http://rowanj.github.io/gitx/ | GitX-Dev | http://builds.phere.net/GitX/development/GitX-dev.dmg | replacement for MacPorts GitX |
Mac OS X | http://www.cadsoftusa.com/ | EAGLE (freeware) | http://www.cadsoftusa.com/download-eagle/freeware/ | the free version supports small 2-layer boards |
Mac OS X | MacPorts | coreutils | ||
Mac OS X | MacPorts | doxygen | ||
Mac OS X | MacPorts | emacs-app | ||
Mac OS X | MacPorts | encfs | ||
Mac OS X | MacPorts | Fugu | ||
Mac OS X | MacPorts | git | ||
Mac OS X | MacPorts | gnuplot | ||
Mac OS X | MacPorts | graphviz | ||
Mac OS X | MacPorts | guile | ||
Mac OS X | MacPorts | MacPorts installer system | http://www.macports.org/ | |
Mac OS X | MacPorts | md5sha1sum | ||
Mac OS X | MacPorts | minicom | ||
Mac OS X | MacPorts | nmap | ||
Mac OS X | MacPorts | opencv +python27 | the +python27 variant flag is required for Python integration | |
Mac OS X | MacPorts | p7zip | ||
Mac OS X | MacPorts | py27-ipython | ||
Mac OS X | MacPorts | py27-numpy | ||
Mac OS X | MacPorts | py27-protobuf | ||
Mac OS X | MacPorts | py27-pyqt4 | ||
Mac OS X | MacPorts | py27-scikit-learn | ||
Mac OS X | MacPorts | py27-scipy | ||
Mac OS X | MacPorts | py27-serial | ||
Mac OS X | MacPorts | py27-sphinx | ||
Mac OS X | MacPorts | py27-twisted | ||
Mac OS X | MacPorts | py27-yaml | ||
Mac OS X | MacPorts | python27 | ||
Mac OS X | MacPorts | qt4-mac | ||
Mac OS X | MacPorts | sox | ||
Mac OS X | MacPorts | sshfs | ||
Mac OS X | MacPorts | unison | ||
Mac OS X | MacPorts | xz | ||
Mac OS X | Microsoft | Microsoft Remote Desktop | from App Store, useful for interfacing to RPi | |
Mac OS X | Miller Puckette | Pure Data (pd) - the ‘vanilla’ version | http://msp.ucsd.edu/Software/pd-0.46-6.mac.tar.gz | |
Mac OS X | pjrc.com | Teensyduino | https://www.pjrc.com/teensy/td_download.html | The Teensyduino package should be installed over a separate, independent copy of the Arduino IDE (currently requires version 1.6.4). It adds support for several Teensy products. |
Mac OS X | Processing | Processing | https://processing.org/ | |
Mac OS X | Roger Meier | CoolTerm | http://freeware.the-meiers.org/CoolTerm_Mac.zip | This is a serial port terminal emulator which is useful for controlling interactive Arduino-based projects. |
Mac OS X | VideoLAN | VLC | www.videolan.org | |
Windows 8.1 | Apple, Microsoft | Bootcamp with Windows 8.1 | http://www.apple.com/support/bootcamp/ | the Kinect V2 requires native Windows 8.1 to work |
Windows 8.1 | Arduino | Arduino IDE 1.6.5 | https://www.arduino.cc/download_handler.php?f=/arduino-1.6.5-r2-windows.exe | 1.6 version supports Arduino Due |
Windows 8.1 | Autodesk | 123D Catch | http://www.123dapp.com/catch | |
Windows 8.1 | Autodesk | HSMWorks CAM plugin for SolidWorks | http://www.hsmworks.com/ | Autodesk is currently offering free academic licenses for the full HWMWorks (not just the publicly free 2.5D HSMXpress). |
Windows 8.1 | Dassault Systemes | SolidWorks | http://www.solidworks.com/ | |
Windows 8.1 | http://camotics.org | CAMotics/OpenSCAM | http://camotics.org/download.html | This is a G-Code visualization and simulation tool which is a helpful accessory for any CAM workflow. |
Windows 8.1 | http://python-xy.github.io/ | Python(x,y) | http://python-xy.github.io/downloads.html | |
Windows 8.1 | McNeel and Associates | Rhino 5 | https://www.rhino3d.com/ | Only the Windows version works with Grasshopper. |
Windows 8.1 | MecSoft | RhinoCAM for Rhino 5 | http://mecsoft.com/rhinocam-software/ | |
Windows 8.1 | Firefly plugin for Rhino 5 | http://www.fireflyexperiments.com | ||
Windows 8.1 | Grasshopper plugin for Rhino 5 | http://www.grasshopper3d.com/ |
In addition, I made the following requests for the baseline OS X installation:
- Python, Processing, and Pd must be entered into the firewall permissions list; students will write networking programs which will trigger the firewall rules, but which they do not have authority to permit.
- Shared profile with proper AFS support. The current local profiles means students get a different environment each time they check out a cluster laptop, which is highly inefficient. AFS is preferred to DFS; the DFS support apparently changes file metadata, rendering git nearly unusable.
Errata:
- MacPorts package
py27-pyqwt
was omitted from the request list in F15. - MacPorts package
py27-opengl
was omitted from the request list in F15. - MacPorts package
py27-tkinter
was omitted from the request list in F15. - OpenSCAM is now CAMotics.
- Python(x,y) moved from Google Code to github.