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
- 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
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
This file:
biostat.mc.vanderbilt.edu/FHTools