Working from home

Revision as of 20:24, 17 March 2020 by C.carouge (talk | contribs)

Here is a curated list of options for working from home. Curated as we do not want to swamp you with options, we want to give you a few alternatives depending on your workflow and hardware. We focus mainly on computational advice as it is our expertise but list a few wellbeing advice at the end which are not to be ignored.

In this document, we will focus on connecting to Unix based machines such as NCI, the Storm servers at UNSW etc. This is generic advice and particulars of some system might require different means to connect. For connection to your local work computer and generally to your University systems, please follow your local IT guidelines in priority as they know their systems better than us! In particular, some Universities might require you to use VPN for access, in that case, please follow the guidelines you are given.

Although the Centre is a flexible workplace, please make sure you talk to or warn your supervisor and collaborators before planning to extensively work from home for what will be a long period.

Hardware

Computer

You need a computer, not a tablet. But nothing fancy as the aim is for you to connect to your work computer or servers and use those machines remotely for most of your work.

Internet

You will need a reliable internet connection and maybe more data than currently. Your workplace may be able to help with that. Contact your supervisor now if you think your connection/plan are insufficient.

Or your work may be able to provide external hard drives for you to take your data with you.

Software

  • Git: although you will not do much locally, you might. Git can help to backup your local work (on Github for example) and make it easier for you to transfer back to work afterwards. Some of the following advice also relies on you to install some software with Git in order to connect remotely. Look on the internet on the best way to install Git for your OS.
  • Miniconda: to do some of your work locally at home, you might need to install some software (python, netcdf, ncl, ncview, R, nco, cdo ...). We recommend you do that via miniconda as it handles dependencies for you. https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html

Connection to remote machine

To use, only for machines you don't need VPN access to. For example, if you want to connect directly from your home to NCI.

From Windows

  • PuTTy: This gives you terminal windows connected to a server via SSH. https://www.ssh.com/ssh/putty/windows
  • Remote Desktops: these apps open a "desktop" to work on the remote machine. One recommendation is nomachine which is faster than SSH connection but it needs to be installed on both the local and remote machine. It can't be used to connect to NCI directly. You can use it to connect to your work computer and then SSH to NCI. Whether you should keep your work computer on and IDLE for the time you'll be working from home is another question for you to decide on yourself.
  • Install Linux with Virtualbox. Linux OS can connect to all remote machines Tutorial. Scott Wales at CMS is using 'mint' Linux, a lightweight version of Ubuntu


From Mac

SSH is already available from Mac. But you will need an X11 server and to learn how to cleverly use SSH to make it easier and faster for you to connect.

  • XQuartz: the X11 Server for Mac. https://www.xquartz.org/
  • Our SSH training to learn about the SSH configuration file, SSH keys etc.
  • nomachine is faster than SSH connection but it needs to be installed on both the local and remote machine. It can't be used to connect to NCI directly. You can use it to connect to your work computer and then SSH to NCI. Whether you should keep your work computer on and IDLE for the time you'll be working from home is another question for you to decide on yourself.

From Linux

Linux comes with an X11 server and SSH out of the box. You may still want to check our SSH training to learn about the SSH configuration file, SSH keys etc. which can make connecting easier and faster.

Additionally, nomachine is faster than SSH connection but it needs to be installed on both the local and remote machine. It can't be used to connect to NCI directly.

Working with graphics

SSH connections can be very slow to open User Interface, especially graphical interfaces. For example, ncview interface. It might be faster to open those via NCI's VDI. Unfortunately, the capacity of the VDI is limited. If we see a huge increase in its usage, it might slow down significantly. But feel free to give it a try.

Working with code

Jupyter Notebooks

If you use Jupyter Notebooks, your best option is to clone the nci_scripts repository with Git (see above) and install python locally with conda (see above). If you need to write code, opening a text editor through an SSH connection isn't necessarily the best option, except maybe for vim. You might be better off using an IDE. Claire Carouge is using VS Code with the Remote Development package installed. You would need to install additional packages for support for the languages you are using.