The "Harrellverse": My Favorite Computing Tools

  • R: Statistical computing and graphics
  • R: Data manipulation and munging
  • debian packages: R package management (fast updates)
  • LaTeX: Composition and typesetting of complex documents where fine control is needed
  • Rmarkdown with knitr and Rstudio for reproducible statistical reports, handouts, presentations, using this template
  • Linux: Operating system
  • Pop_os: Version of Linux (based on Ubuntu + Gnome)
    • Update OS and R packages daily using bash command upall that also installs any uninstalled R source packages
  • Helper functions: dozens of bash script functions defined inside of ~/.bashrc e.g. findnewer() { find . -mtime $2 -type f | grep "$1" ; }
  • Server: Amazon Web Services lamp setup
    • Synchronizes all regular directories plus a central web directory that has symbolic links to regular files to expose to internet
  • Journal article library: symbolically linked from web directory to expose, e.g. http://hbiostat.org/papers/hsor/providerProfiling
    • File tree with hyperlinks to files produced by Linux tree program
  • Email:
    • Vanderbilt work-related: outlook.office.com
    • Personal mail: zoho.com at fh@fharrell.com
    • Email archive: gmail
    • To avoid storing attachments to outgoing email (and filling up my email storage space quota) I have a bash shell command cattach that copies the file to send to my server using scp and puts the full URL to the file in the system clipboard; I then type ctrl-v to paste this URL into the body of the email
    • Email space quota is never an issue
    • Delete all attachments every month or so
    • Often I'll update an attachment without sending a follow-up email
    • If you don't want to set this up use Firefox Send and its command line interface ffsend which has an option to automatically place the generated URL into the clipboard
  • R code editor: RStudio
  • LaTeX editor: RStudio, code
  • knitr + LaTeX + html + R editor: RStudio
  • http://code.visualstudio.com and Geany: General purpose editors/IDEs
  • RSS news reader: Inoreader
  • Personal web server and blog platform: Hugo + R blogdown + Github + netlify + Google Domains: fharrell.com
  • Bibliographic database: zotero
  • Synchronize my machines: unison with AWS server as the hub, every 10 minutes
  • File server: nextcloud from a service provider $10/year
  • Password manager: Bitwarden
  • Incremental backup system: rsnapshot daily, weekly, monthly, running on server at home
  • Search engine: DuckDuckGo

Notes

  • Geany is a nice editor for LaTeX and R code except for some key bindings
  • Geany gives a nice \section \subsection view of LaTeX documents but separates sections into a separate navigation group than subsections
  • TexStudio displays the correct hierarchical structure of LaTeX sections/subsections
  • Emacs handles everything but I have seen some instability when combining all of them (e.g., AucTeX + ESS + Noweb)

Editing Efficiency

Here are some needs for efficient editing without using the mouse. There are editors such as the ones above that handle some of these needs but there is no perfect editor that handles all of them simultaneously. In parentheses are the Emacs keys to perform the indicated function. In brackets are names of programs that handle the function elegantly.
  • Delete the current line: TexStudio ^k, RStudio ^d, geany ^k
  • Delete text to the right of the cursor in the current line (^k): geany ^Shift Delete, RStudio ^k
  • Insert text in the clipboard (^y); RStudio ^y
  • Move the cursor to the beginning of the current line (^a)
  • Move the cursor to the end of the current line (^e)
  • Fold logical units (e.g., functions in R, \section in LaTeX) [RStudio, TexStudio, Geany]
  • Navigation tree to jump to logical units [TexStudio, Geany]

Some useful shortcuts to define
  • TexStudio: Meta+z (Window key + z) = toggle full-screen mode under View

To Do


This file: biostat.mc.vanderbilt.edu/FHTools
Topic revision: r17 - 09 Feb 2020, FrankHarrell
 

This site is powered by FoswikiCopyright © 2013-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Vanderbilt Biostatistics Wiki? Send feedback