Recommended SoftwareBelow 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:
- 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.
"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.
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
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:
- Texstudio automatically adds user defined commands/citations/labels to auto-complete across multiple files; and
ctrl/cmd + taband ctrl/cmd + shift + tabfor adding/removing leading indenting when multiple lines are selected, and ctrl/cmd + shift + tabremoves not only tabs but also spaces.
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!
Page was last built using Nift on Thursday August 19 2021 at 03:46:08 (AEST).