Hints for Graduate Students

On reproducibility, collaboration, and credible data analysis

My best advice, and the best advice of others, about this was published in The Political Methodologist a couple of years ago in Six steps to a better relationship with your future self.

Concerns about lack of good lab hygiene in the social sciences are only growing: more and more journals are requiring that you submit code and data before publishing your article. See for example this organization . Even though graduate school will be a very busy time, it is worth investing time in learning good research practices now.

On Tools

If you plan to do much statistical computing, I highly recommend Unix-based hardware. I use Apple hardware these days because I wanted a closed system that I couldn't break (in the way I have long spent hours breaking Linux systems). You will learn a lot more about computing if you install and maintain your own Linux distribution. You may get more academic work done if you get a Mac or can exert the self-control required to treat a nice Ubuntu/Fedora/(other preconfigured, ready to run, widespread Linux distribution) as a Mac. That is, you may get more academic work done if you do not recompile your Linux kernel.

Once in a long while Jeff Gill or I update a text document which we call "How to turn your Mac into a Scientific Workstation" . Now that we have it on Github, we encourage others to fork and submit pull requests.

Text Editor Update: The advent of relatively cheap massively parallel computing (like Amazon's EC2 system, or even more cheaply, the free clusters on your campus), has lead me back to Vim from Emacs. If you anticipate that you will be spinning up many cores for some of your computing jobs, then you might invest some time into a text editor that does not require a mouse or GUI because you will find yourself spending a lot of time on the command line in a terminal window connected to remote machines. I currently use MacVim (installed via brew) and the Terminal on my Apple laptop and then vim and tmux on whatever remote Unix system I am using to run jobs. [I know that you can use Emacs without a mouse. I am just more comfortable with Vi without a mouse.]