I’ve been writing a PhD thesis lately, which anyone who follows me on Twitter with almost certainly have noticed. The technology stack is somewhat different from what I used for my MS thesis in 2007, although both use the LaTeX typesetting system. I thought a short blog article on my PhD thesis technology stack would be a fun read for my nerdy friends, and good for me if I happened to need again.
My MS thesis used the Kile LaTeX editor on, I think, Fedora 12 or something ancient like that. All the files were dropped in a folder and I would occasionally back up the thesis or something. At least, that was the plan: I wrote my entire 56-page MS thesis in a week and made my corrections in three days. My MS thesis folder still exists in my internal archives, but it is one drive failure away from being pure entropy. The slides from my thesis defense were developed in OpenOffice, the pre-LibreOffice version.
My PhD thesis is a different animal. The single folder and poorly managed files of my MS thesis are par for the course for a first time writing project, but fast-forward twelve years with me: I’ve written a hundred things or more since then. This new thesis reflects that.
First, and this may be more bias than anything, I’ve moved to using Texlipse, an Eclipse plugin, for all of my more complicated LaTeX work. This was necessary because I am “sucking in” the papers that I wrote as part of my research and Texlipse can easily handle that. I used Overleaf to write each of these papers, but it choked on pulling each one of them in because I configured them as Git submodules.
Git submodules brings me to the second big change with this thesis: I’m using Git. Each paper that is a chapter in this thesis exists in its own Github repository, with the new “thesis” version of the paper sitting on its own “thesis” branch in that repository. The main thesis document, also a Github repository, pulls these papers in using Git submodules. The entire document can be pulled, build, modified, and backed up with a short series of commands.
I used Google Slides to write my presentation this time around. OpenOffice/LibreOffice are great, but they just don’t work as well or keep me as productive as Google Slides. When I finished the slides, I downloaded a local PDF in case the network goes out or Armageddon kicks off.
In 2007, I wrote the LaTeX template that was later provided by the University to students, with some minor parts based on a much older template that was out of date. It was really gratifying to produce a template that was used by so many of my friends, and many other people too. In 2019, I made relatively small edits to a template that was written by someone in the math department. I also made some custom LaTeX commands to do nested overloads of the graphics and input/include commands for the nested chapters.
My thesis in 2007 was about optimizing cosmological simulations using artificial intelligence (that was actually the title). The code that backed up that computational astrophysics work was written in C and Fortran and mainly used other codes written in C and Fortran. I visualized the colliding galaxies that I simulated using a really neat Gaussian blob visualizer called Starsplatter.
My PhD thesis in 2019 looked at ontological considerations for interoperability in scientific workflows (also the title). The research for this work was done using code written in a branch of Eclipse ICE, which means it was in Java. I also made heavy use of the Resource Description Framework, the Resource Description Framework Schema, and the Web Ontology Language, all of which were utilized with tools in Eclipse and Protege. Most of my results were visualized using Graphviz and the dot graph renderer in that package.
It should be obvious by now that one of the biggest changes in my life in the past decade was getting involved with projects at the Eclipse Foundation. You should come join us. There’s lots of code and beer.
Music and Provisions
Finally, thesis music and provisions. In 2007, I was in love with Akon’s album “Konvicted.” In 2019, I went back to an old favorite: Tool’s 10000 Days. The most played songs were “Smack That” in 2007 and “The Pot” in 2019.
My provisions were mostly the same across both theses: Reese’s cups and tons of other junk food. In 2007 I consumed very large amounts of Dr. Pepper, which I no longer drink. This time around it was mint tea with honey because that’s what singers drink to make our voices sound AMAAAAZING!
I tried to keep my snacking habits somewhat healthy this time around by doing chocolate and peanut butter fat bombs instead of straight up Reese’s. I failed, and then I ended up in a really cool ice cream shop, where I would write while my daughter was napping at our rental, every day on vacation. Total weight cost for this round: 5 lbs.
You guessed it: My wife helped me with everything going on in life both times. She’s the AMAAAAZING one.