Software I regularly use

Below are recommendations on software that I use on a regular basis.



I single-boot Ubuntu on most of my machines as I have found it to be the least tedious setup for my own workflow. Primarily because:

The steps I follow when installing ubuntu onto a machine may be found here.



"Development focuses on simplicity, minimalism, and code elegance. Arch is installed as a minimal base system, configured by the user upon which their own ideal environment is assembled by installing only what is required or desired for their unique purposes."

Arch is a simple, lightweight linux distribution that preferences developer experience over user experience. Many, including myself, consider ease of development as the primary objective with respect to usability for developers. For my own needs I find Ubuntu takes less time to set up and requires less maintenance than Arch, and I would definitely suggest Ubuntu is a better starting point for those unfamiliar with unix/linux. Having said that I consider getting your hands dirty with Arch to be an excellent way to get a better understanding of unix-like systems.

The Arch wiki is a well-maintained source of documentation, including sufficient information to install Arch on a machine.

GAP - a system for computational discrete algebra


GAP is a system for computational discrete algebra. I primarily make use of the semigroups package for playing with diagram semigroups computationally.

The steps I follow when installing GAP onto a machine and setting up a default workspace may be found here.



TeXStudio is an integrated working environment for writing LaTeX documents, originally it started as a fork of the more popular TexMaker, however TeXStudio has some additional/improved features which I consider ideal:



As one would expect from any reference manager you can sort/filter all of your references by type/author/year/etc., however what I really find useful about JabRef is that: