As software engineers, we create various resources by documenting issues, submitting bug reports, writing notes, creating documentation, and so on. The sum of all these resources can be called a knowledge base. In this post, I document how I use Notion, GitLab and other software to maintain my personal knowledge base.
Local HPC clusters continue to play a vital role in scientific research. However, setting up those systems can be very painful. If you just want to play around with the different systems, spending several hours until you can submit your first job is a very bleak outlook. Therefore, I present copy-paste ready instructions for setting up SGE, PBS/TORQUE, or SLURM on a single machine, which will act as the master and a compute node at the same time. All guides are tested on Ubuntu 18.04, but should work with little modification on most recent Linux installations.
In my opinion, Linux is the best operating system for a software engineer, except they develop explicitly for Windows or macOS. Still, as with any other operating system, optimizing a Linux workstation for software development requires some configuration. In this post, I will present tools and concepts that I think are very helpful, but overlooked by many.