Recommended Software
Below are recommendations on software that I use on a regular basis.Ubuntu
site: https://www.ubuntu.com/
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:
- there are extensive, easy to remember, easy to enter and customisable shortcuts;
- it is easy to install compilers;
- it is easy to write scripts for performing system tasks; and
- there are no stupid docks or unnecessary animations/effects wasting precious resources when using gnome-session-flashback (there is by default unfortunately).
"Looking deeper, Linux's importance to the Web is even more extreme. By W3Cook's analysis of Alexa's data, 96.3 percent of the top 1 million web servers are running Linux. The remainder is split between Windows, 1.9 percent, and FreeBSD, 1.8 percent."
"The Linux operating system runs all 500 of the world’s fastest supercomputers, which help to advance artificial intelligence, machine learning and even COVID-19 research."
"I have heard it said, though not been able to verify, that Linux runs on more than 90% of public clouds, more than 60% of embedded systems and IoT devices, as much as 99% of supercomputers and more than 80% of smartphones. If these claims are even close to the truth, it attests to the success and versatility of Linux."
The steps I follow when installing ubuntu onto a machine may be found here.
Arch
site: https://www.archlinux.org/
"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.

Sublime Text
site: https://www.sublimetext.com/
I have found sublime to be a particularly useful text editor, primarily because:
- it handles really large files speedily and can collapse all code blocks of a given depth easily;
- packages can easily be modified, and you can put pull requests in to the package mantainers to have those changes added; and
- It has sufficiently decent syntax highlighting and auto completion, even for my own languages in-built in to Nift.
GAP - a system for computational discrete algebra
site: https://www.gap-system.org/
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
site: https://www.texstudio.org//.
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:
- Texstudio automatically adds user defined commands/citations/labels to auto-complete across multiple files; and
-
Texstudio uses
ctrl/cmd + tab andctrl/cmd + shift + tab for adding/removing leading indenting when multiple lines are selected, andctrl/cmd + shift + tab removes not only tabs but also spaces.
JabRef
site: https://www.jabref.org/
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:
- It uses your .bib file when saving, so you just open your .bib file up in jabref;
- From inside jabref you can link bib items to the location of the article/book, allowing you to open them from inside jabref;
- The location of an article/book is saved in the .bib file so you do not need to worry about both a .bib file and a jabref file; and
- If you use dropbox on multiple computers with the same path for your dropbox directory then you do not need to manually link bibliography items to files in jabref on each computer, just open your bibtex file in jabref and it will already know where the documents are stored!

Mirrors: [Official] [BitBucket] [GitHub] [GitLab]
Source: [GitHub]
Page was last built using Nift on Friday January 21 2022 at 18:09:29 (AEDT).
