References
          Sourabh Bajaj has spent a lot more time outlining his setup than I
          have. I'd encourage you to look at his page because it's a valuable
          resource.
          
Emacs
          I use 
Gnu Emacs For Mac
          My very simple,
          fast-loading 
emacs
          config
          Terminal
          I
          used 
          this modification to my 
.bashrc file to allow me to
          type in part of a command and then press the up/down arrow to search
          through the history for commands beginning with that part (as in the
          Matlab command line). Directly from the website (in case it goes
          anywhere...)
          
Add these two lines to the file, but note you can't copy and
          paste these lines, as there are special characters in there (which
          I'll explain how to enter).
          
 bind '"^[[A":history-search-backward'
 bind '"^[[B":history-search-forward'
          
          The special characters are represented by the 
^[[A
          and 
^[[B bits on each line. These are, respectively, the
          Up Arrow and Down Arrow keys. So how do you type them in nano?
          
Copy and paste the first part of each line above (
bind
          '"), and then press Escape-V. When you do, you'll see a little
          tag at the bottom of the window that reads 
[ Verbatim Input
          ]. Now press the Up Arrow (or Down Arrow, depending on the
          line), and you'll see the above codes appear (and you'll exit
          Verbatim Input mode when you press the arrow key). After that, just
          copy and paste the rest of each line, and you're done.
          
Finder
          I like having the current path in the Finder title bar. If you like
          it, run the following at the terminal prompt:
          
 defaults write com.apple.finder _FXShowPosixPathInTitle -bool true; killall Finder
          
          Package Manager
          Homebrew provides simple downloads of
          open source software that isn't included in XCode
          (e.g., 
gfortran) or by default on macOS.
          
Other Useful Programs
          Spectacle
          Karabiner
          Git (also, see [my git handouts](/git))
          I used to use 
GitX-dev (a
          fork of the apparently
          defunct 
GitX) as a simple,
          light-weight Git GUI to visualize the git history (I issue all
          commands from the command line). As it is rather buggy os 10.12, I
          have switched to 
Fork, which is
          not as good but is the best/simplest GUI I was able to
          find. SourceTree just has too much going on for me.
          
Software distribution on a Mac
          I
          use 
Packages
          to create the Dynare macOS installer package.
          
What follows is older and outdated for newer versions of macOS
          PackageMaker does what it sets out to do but is poorly documented,
          leaving the user to feel around for himself. This is especially true
          of its command line options, which become fairly important if you
          intend to automate the package-making process. After a bit of
          searching, I found several very useful links that make using
          PackageMaker far less inscrutable, though it's still not quite a
          pleasure :) Now, it would be wonderful if you could actually set GUI
          values from the command line (eg title, license, background
          image). Or, if that's already possible, I'd love to know how to do it
          :)
          
Description of command line arguments for PackageMaker
          Very useful guidance for automating the creation of a .dmg file I didn't end up going with this, but it's quite useful
          In general, the software and tutorials on this page are quite good. Specifically, the program Packages seems like a good replacement for PackageMaker and the documentation is more straightforward
          Scheduling Tasks
          It seems like 
cron works on macOS now, so no need to
          fiddle with 
launchd!
          
What follows is older and outdated for newer versions of macOS
          Cron v Launchd: the "new mac" way is to use launchd now that cron has
          been depricated. In this case, the Linux/Mac stereotypes have been
          reversed. Launchd is less straightforward to use than a crontab, but
          is far more versatile allowing you to run a job as a different user
          without modifying a shell script. The toughest thing is creating your
          Launchd plist, but luckily there are some really nice people out
          there that have spent the time to demystify it
          
Really
          great resource to learn the Launchd plist basics
          Once you've gotten the gist of it, use the man page to customize it
          to your need (you can get the same info by typing `man launchd.plist`
          at the terminal prompt)
          
Dvorak
          After having had RSI problems with my wrists and forearms, I made the
          switch to a Dvorak keyboard layout (System Preferences...-> Language
          & Text -> Input Sources -> Search for Dvorak). Though I made the
          switch without any typing lessons (I just printed out the keyboard
          map, and struggled with it for a while...even, quite dorkily, walking
          down the street, saying a letter and moving the associated
          dvorak-finger to overwrite my qwerty muscle memory), you don't have
          to! Here's a
          great 
dvorak typing
          lesson website, that'll take you back to your 6th grade typing class
          :)
          
Good Dvorak Resource
          Keyboard Bindings
          I followed the advice on this site for rebinding my caps lock key to
          be used as a key modifier for use
          with 
Slate and for
          binding the shift keys to left and right parenthesis when not used
          with another key.