Skip to content

OSS 2014 Parking Lot

Matt Jones edited this page Jul 30, 2014 · 94 revisions

OSS 2014 Parking Lot

Please add any issues that you encounter here as parking lot issues that we should address during the course.

Day 10: July 30, 2014

Day 09: July 29, 2014

  • Testing frameworks for R

    • During discussion, I mentioned some good testing tools for R. The tools in particular I was referring to were the testthat package, which is a companion of the devtools package, and Travis CI, which is a continuous integration platform that integrates well with Github and R. To see a nice test framework in action, see the Travis CI builds page for the ROpensci rgbif package.
  • What is a good way to save and organize lots (100+) of output files generated from running code in R (e.g. from multiple runs of model fits) for easy access in the future?

    • A: Good question. No silver bullets. But that said, you'd be well served by creating a very formal process for naming your outputs, serializing them in a standard way (e.g., in a well-named directory for each scenario), and archiving those consistently. If you can create metadata to attach to each file that provides the details of each run (which parameters change, which versions of code were run, etc.) and be sure that is attached to the output as well, then you'll have a strong basis both for perusing the outputs, and for using scripts that can ingest and process the outputs later when you need to. Let's discuss this more during feedback.
  • Q: Error 43 with KnitPDF in RMarkdown...

    • A: I installed the texlive and texinfo packages on isis and now the check() command completes properly without error.
    • A: Courtesy of Karthik. To properly link KnitPDF you need to install MikTek before installing RStudio. So the fix was to install MikTek and then reinstall RStudio.

Q. Working hypotheses into workflows

I noticed that some of our workflows began with data sources, discussed how we could mine the data, and then discussed what visuals/publications we would make. It seems like better "science" would be to define hypothesis, then find the right data, then mine it. Like a message box + workflow. Do you have a recommendation or best practice suggestion for this?

Day 08: July 28, 2015

Day 05: July 25, 2015

  • DONE Q: Would it be possible to vote ahead of time on which topics are most interesting? That way we could prioritize what gets dropped and what's saved if we run out of time? Additionally, prioritize topics that can't really be "written up" so that we can play catch up by reading tutorials on our own time?
    • A: Yes, to some extent, although some are easier to move around than others. I think each instructor will need to decide priorities, possibly with input from the participants when they have that flexibility. Let's discuss this Monday.

Day 04: July 24, 2014

  • If anyone on Mac OSX couldn't get Sublime to serve as their GIT editor, nor open from the command line, here's a pretty clean way to do it-- Sublime install on Mac OSX

  • If anyone on Windows couldn't get Sublime to open from the command line, this finally worked for me. Just had to delete the "/cygdrive" part of the path (N.B. from sysadmins: be cautious about deleting "/cygdrive" from your path-- unless you know you aren't relying on any Cygwin commands, and haven't created scripts that reference paths based on a "/cygdrive" root): http://stackoverflow.com/questions/9440639/sublime-text-from-command-line-win7

  • Q: Are there some additional implications from the above tips about getting Sublime to work?

    • A: Yes. Two.

    • First-- the stackoverflow web site referenced above is a fantastic, crowd-sourced resource for resolving all sorts of technical questions. It involves a voting mechanism to bring the best answers to the top of the page. If you get a 'stackoverflow' reference in your google search results, it is usually worth checking out. Highly recommended.

    • Second-- the tips about installing Sublime reinforce the importance of knowing something about ENVIRONMENT VARIABLES. Whenever you login to a system (Win, Mac, Linux or other), you work within an ENVIRONMENT where many ENVIRONMENT VARIABLES are defined. Things like your PATH (that determines the identity and order in which directories will be searched for files), what SHELL you are using (bash, csh, tcsh, ksh, sh, etc.), what USER account you are logged in to, what is your HOME directory, what TERM-inal you are using, etc.-- are all defined in your ENVIRONMENT. The ENVIRONMENT is defined in several files, but most prominently for us, by your ~/.bashrc or ~/bash_profile or ~/.profile (etc). Details of what these files are called, where they are located, and the order in which they are executed, can vary slightly by Operating System. Learn more about ENVIRONMENT VARIABLES

  • Q: Can group projects get access to compute servers for project work

  • Q: Are there alternatives to GitBash for Windows (that have a fuller set of *nix commands)?

    • A: Yes. Perhaps Cygwin is the best known of these, and would almost certainly cover all the *nix commands we've mentioned so far. GitBash seems to be lacking: man and apropos, at least. However, GitBash was chosen for this course because it is simpler to install, less intrusive on your operating system, and serves the need for running Git from a bash shell command line in Windows. We will certainly consider trying to support a more fully *nix capable emulator for Windows in the future.

Day 03: July 23, 2014

  • DONE grep "10\?" paleo*s.txt (works- to grep out any lines that have 10 followed by some other character-- why double-quotes, and escape on the "?")

    • You have to escape the ? so that the bash shell doesn't interpret the ? as a special regex character -- we need it to be passed in to grep as is
  • DONE Provide example .bashrc for customizing shell

# .bashrc file for interactive bash(1) shells.  
PS1='\[\e[31;1m\]\h\[\e[0m\]:\[\e[34m\]\w\[\e[0m\] \u\$ '  
#BASH HISTORY  
HISTFILESIZE=2000;  
#ALIASES  
alias sl='ls -G'    
alias ls='ls -G'
# Alternate example; Make ls use colors
export CLICOLOR=1;
export LSCOLORS=exfxcxdxbxegedabagacad;
# Git prompt customization
source ~/.git-prompt.sh
GIT_PS1_SHOWDIRTYSTATE=true
GIT_PS1_SHOWUNTRACKEDFILES=true
#GIT_PS1_SHOWSTASHSTATE=true
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;33m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[0;32m\]$(__git_ps1 " (%s)")\[\033[00m\]\$ '
  • Note the inclusion of the .git-prompt.sh script, which modifies the prompt to display current git status information of the directory one is in. You'll need to download and save .git-prompt.sh from the web and save it in your home directory.
  • The bash customizations go in your home directory in the '.bashrc' file or the '.bash_profile' file. If '.bashrc' doesn't exist, you may need to create it.

Day 02: July 22, 2014

  1. DONE provide .bashrc (or whatever) syntax to double check whether you'd like to rm something

    • To force rm to always prompt, you can alias it to always use the 'interactive' mode
    • alias rm 'rm -i' (note on OSX, the bash syntax requires an equals sign with no space between arguments:
    • alias rm='/bin/rm -i'; note also it is typically good to point to the full path of the command you are aliasing-- hence use '/bin/rm' instead of just 'rm')
  2. NOTED tldr might be a good resource for learning new commands. needs details for how people should install it on their computer

  3. NOTED Vim adventure is the best, most addictive, way to learn Vim!

  4. DONE What is the '@' symbol following the permissions in a long listing 'ls -l'?

    • In that context, the '@' symbol indicates the file has extended attributes. This is just additional metadata that is available about the file, and is filesystem-specific.

Day 01: July 21, 2014

  1. DONE M Jones: Explain how to use the parking lot for those without Github accounts

  2. DONE See Twitter Handles @BenjaminHCCarr @MirelaGTulbure
    @biogeocycle
    @diegosotomayor
    @RenwickKatie
    @TimAssal
    @SparkleLM85
    @georginaladams
    @_Sara_Varela
    @ajpelu
    @deboradrucker
    @TheSemmensLab
    @megankjennings
    @sweetlynnc
    @ae_schmidty
    @marissaruthlee @se_hampton @rayi @miketreglia @oliviarata @kellygarbach @emcfuller @RachaelOrben