Category Archives: Mathematics

My So Called Digital Life

In this post I have collected a few things which some people might find useful. They are essentially all of the  computer tools and resources I use at work.

  • Zotero is a great document/pdf/paper storage tool. It auto uploads from mathscinet and many journal web pages. It also scraps the info from modern PDF files. It syncs across all of my machines and works offline. Lastly, it outputs bibtex entries though I use this less.
  • owncloud is how I sync my basic files across my computers. It is hosted at Duke math so there are no privacy issues. It is like our own personal dropbox.
  • Git is a version control software. I use it for collaborating on papers and computer code. We host a simple web interface to maintain ones git repositories called Gitlab.
  • LibX is a plugin for searching the Duke libraries.
  • To maintain mailing lists I use the sympa server run by duke. This way people add/remove themselves.
  • Duke runs its own wordpress server. That is how this site is hosted as well as my collection of probability problems which I give as homework. It contains both undergraduate and graduate level problems. Anyone can ask for a site (with the name of your choosing – assuming it is available).
  • Here are the three LaTex letterhead style files I use at Duke.

 

That is basically it these days.

LaTex Letterheads for Duke Math

There are two different letterhead style files I use to write official letters in Latex.  The first is a black and while version written long ago. This version should be on most of the math department computers. The second is a color version written by Ezra Miller. I use the second one. I also now have a digital version of my signature which I keep in a file called “sig.pdf”. See the exampleEzra.tex file included in the version written by Ezra. The third is an old school gothic letterhead. My understanding is that Ezra uses this one.

 

  • Black and White historic Letterhead. Use “pdflatex example.tex” to generate the example file.
  • Color letterhead by Ezra Miller.   Use “pdflatex exampleEzra.tex” to generate the example file. Edit file to uncomment lines  around “sig.pdf” at the end to include a signature. Of course you have to make your own sig.pdf. (For obvious reasons you cant use ours.)
  • Gothic leaterhead by Ezra Miller.
  • Some Interesting logos used By Ingrid.

 

 

Using Git to write papers

I have been using version control to write my papers for a long time now. I started off using CVS then moved to SVN and now have switched to Git. Though SVN was a little simpler at time, I am happy with my move to  Git.

The basic idea is that there is a server in mathematics holds copies of my papers and all of the changes I have made and committed to the repository. When I go to any of my computers, I just tell it to update to the latest version of the paper. I then can edit it local committing changes as I go. These commit points serve as milestone to which I can return too at any point. Say I think I have a cleaver proof which will simplify my main argument. I start changing the paper only to realize after an afternoon of editing that there is an unintended consequence and I which I had not made all of the changes I did. With a simple command line, I can return to the state the paper was in earlier in the morning. Gone are the endless number of “numbered” versions sitting in the directory. I no longer return 6 months latter trying to recall which was the version I submitted.

While his “versioning” is nice, the real advantage for me is that when I have co-authors everyone can edit the paper at the same time. In the beginning, we should each work on different parts of the paper. Git will merge the sections together effortlessly. Once the paper is mature and we are making smaller edits, we can both roam over the whole paper. On the odd chance that we edit the exact same section, Git will alert me to this and give me a chance to merge the two edits by hand.

As an added benefit, all of my papers are back up with extreme redundancy because of git and I never worry about loosing them. Since I update the directory before I start working, git is also a way to synchronize all of my computers.

I use git even with people who don’t. Some of my collaborators don’t like change or “complicated new ideas” as one put it. Git lets me maintain different branches. I create one for each co-author. I send them the version form there branch and tell them to edit the text. I continue editing my branch (without telling them). When they send me back a version, I switch to their branch and commit the version they sent. Then I merge their branch into mine, thus combining our edits.

How do I use it. The mathematics department runs Gitlab to manage Git repositories. It is a nice easy system for adding users to a project and changing who can edit/see a given paper. I have written a number of pages about how I use git in general, how to set up new repositories, and how git is used for the Math Everywhere class in particular.

I mainly use the command line to manipulate git. However I also sometimes use the free software package called Sourcetree. It is particularly nice to track changes. When I want to find an old version before I mad certain chances, this is how I do it.

Update (June 23, 2017): I now use GitKraken as my GUI instead of Sourcetree. I find it more powerful and intuitive. I can also run it on Linux and install it myself without root permission.