data src bin results cd doc echo "Doc directory with one subdirectory per manuscript" > README touch .gitkeep cd ../data echo "Data directory for storing fixed data sets" > README touch .gitkeep cd ../src echo "src for source code" > README touch .gitkeep cd ../bin echo "bin for compiled binaries or scripts" > README touch .gitkeep cd ../results echo "Results directory for tracking computational experiments peformed on data" > README touch .gitkeep echo "Folders created." cd .. 15/49
computers 1. Let the computer do the work 2. Make incremental changes 3. Don’t repeat yourself (or others) 4. Plan for mistakes 5. Optimize software only after it works correctly 6. Document design and purpose, not mechanics 7. Collaborate 8. Data management 1. Software 2. Collaboration 3. Project Organization 4. Keeping track of changes 5. Manuscripts 6. 18/49
fully document the setup process tear down and spin up the container if something goes wrong system libraries for R packages easy to try out a new technology before full integration · · · · 20/49
RStudio Pro… much better suited for parallel projects, groups, and teams (?) · Pretty much building the Pro stack… nginx - - web server: reverse proxy, load balancer, and HTTP cache - · 26/49
Software Carpentry Free DataCamp Courses: Software-Carpentry Lessons: Git is hard & Shell (Bash) is the glue Introduction to Shell for Data Science Introduction to Git for Data Science · · Shell Git/Mercurial SQL Python R MATLAB Make · · · · · · · 31/49
rprojroot”: https://github.com/r-lib/here rprojroot: https://github.com/r-lib/rprojroot · Open them: rstudioapi::openProject(...) - · print(R.utils::sourceDirectory(here::here('shiny', 'functions'))) No more if (interactive()){...} - - · 33/49
Reverting lines before a commit Sourcing a special ignored file · · · # uses console or rstudio to do password prompt getPass::getPass("database username") 35/49
Smith and Stéfan van der Walt https://www.youtube.com/watch?v=xAoljeRJ3lU “Perceptually uniform”, sequential, works well in black-and-white, Colorblind friendly Matlab: parula · · · 42/49
is: http://bids.github.io/colormap/ R Package! · https://cran.r-project.org/web/packages/viridis/vignettes/intro-to-viridis.html by: Simon Garnier, Noam Ross, Bob Rudis, Marco Sciaini, Cédric Scherer - - 43/49
recorded in manuals that list, step-by-step, what to do if X occurs, and why. Essentially, they are extremely detailed, scenario-specific standard operating procedures. […] NASA has been capturing our missteps, disasters and solutions since the early 1960s, when Mercury-era ground teams first started gathering “lessons learned” into a compendium that now lists thousands of problematic situations […] and their solutions. — Chris Hadfield, An Astronaut’s Guide to Life. Cookbooks for you own usecases (e.g., GIS) Make your own “flight rules” · · 46/49