People often ask me what programs I use for my writing and design. In truth, my workflow tends to look like this or this, but here’s a more detailed list of all the interconnected programs I use.

I try to keep this updated fairly regularly. As of December 15, 2017 this is what I’m using:


  • I permanently ditched Word as a writing environment in 2008 after starting grad school. I do all my writing in pandoc-flavored Markdown (including e-mails and paper-and-pencil writing)—it’s incredibly intuitive, imminently readable, flexible, future proof, and lets me ignore formatting and focus on content.
  • I live in Ulysses. At first I chafed at the fact that it stores everything in its own internal folder structure, since I store most of my writing in git repositories, but exporting a compiled Markdown file from a bunch of Ulysses sheets is trivial (and still easily trackable in version control).
  • Ulysses has decent HTML previewing powers, but when I need more editorial tools, I use Marked.
  • I use iA Writer to edit standalone Markdown files, since Ulysses uses its own syntax when using fancy things like footnotes.
  • The key to my writing workflow is the magical pandoc, which converts Markdown files into basically anything else. I use my own variation of Kieran Healy’s Plain Text Social Science workflow to convert Markdown to HTML, PDF (through LaTeX), and Word (through LibreOffice).
  • I store all my bibliographic references, books, and articles in a BibTeX file that I edit with BibDesk.
  • I read and annotate all my PDFs with Skim (and iAnnotate on iOS), since both export annotations as clean plain text.
  • I store all my notes in Evernote (after temporarily ditching them for OneNote because of their new prices and policies, and despite their ongoing privacy controversies).


Science and research

  • I post almost everything I write or develop on GitHub.
  • I use R and RStudio for most of my statistical computing, and I’m a dedicated devotee of the tidyverse (especially ggplot2 and dplyr). I sometimes use knitr and RMarkdown, but I generally just export figures and tables from R and reference them in my writing rather than making full-blown literate documents.
  • I also use Python (3!) pretty regularly, especially for natural language processing (with nltk) and web scraping (with Requests + BeautifulSoup). Every few months I play with pandas and numpy and Jupyter, but I’m far more comfortable with R for scientific computing.
  • I use RStudio for editing R files, but I use Sublime Text 3 for everything else.



Desktop apps

Graphic design

  • Though I regularly use LaTeX (through pandoc), I adore InDesign CC and use it to make fancier academic and policy documents. I also used it for all the typesetting I did for BYU’s Neal A. Maxwell Institute.
  • I use Illustrator CC all the time to enhance graphics I make in R and to make non-data-driven figures and diagrams.
  • I use Lightroom and Photoshop too, but less often nowadays.
  • Despite my dislike for Word and Excel, I use PowerPoint for all my presentations. It’s not my favorite, but in the apocryphal words of Churchill, “PowerPoint is the worst form of slide editor, except for all the others.”


  • My secret for avoiding the siren call of the internet is Freedom. I have two blocklists: (1) antisocial, which blocks Facebook and Twitter, and (2) nuclear, which blocks everything. I have the antisocial blocklist enabled on my laptop and phone from 8:00 AM–6:00 PM and 8:30 PM–11:30 PM. Since I accidentally discovered that it’s relatively easy to circumvent the blocking on the Mac, I also use Focus with the same schedule.
  • I use Vitamin-R as a souped-up Pomodoro timer.
  • I was an early convert to Todo.txt and used it for years until my tasks and projects got too unwieldy. I switched to Taskpaper for a while before recently settling on 2Do (due to incredibly positive reviews), and I’m in love.
  • Fantastical 2‘s natural language input is a glorious thing.
  • I keep a log of what I work on (and occasionally do more traditional diary-like entries) with Day One 2 on both iOS and macOS.
  • I use TextExpander to replace and expand a ton of snippets, and I use Keyboard Maestro to run dozens of little scripts that help control my computer with the keyboard.
  • I use Übersicht to show weather, iTunes track information, and my todo lists on my desktop.
  • I use Dropbox religiously and use Crashplan to back up all the computers in our house to the cloud.
  • With all these little helper apps, I use Bartender to keep my menubar clean.


  • I use a 2016 13″ MacBook Pro, iPad Mini 2, and iPhone SE.