Skip to content

Onboarding Tips and Tricks

J.D edited this page Feb 21, 2021 · 5 revisions

This is mostly a collection of notes that I took during my onboarding, which will hopefully be useful for a future developer :). Please add your own!

Use a virtual machine for development

Why?

Since most of our code is intended to run on Linux, and SSHing into MISL-A can be painful. To get around this, I just run a virtual machine with the same operating system (Linux CentOS 7), and transfer the code over when I'm confident it works :).

This also lets you test distributions on different operating systems, so we can make sure that researchers can run our software regardless of their setup.

I've found installing VMWare on my machine has been a huge timesaver: it lets me rapidly switch back and forth testing things on Ubuntu, CentOS, and Mac OS. This is especially useful for testing packaging/distribution steps.

How?

VMWare Fusion is free for University of Washington students, staff, and faculty!

  • Install VMWare

Customize

Since I’m a Mac native, matching that environment as closely as possible in Linux improves productivity. If that’s true for you too, here are some things I’ve found useful when running Linux VM from Mac

Visual Studio Code

Extensions

Here are my must-have extensions:

  • Nix (Not the Baptist BENOIST version, as that one lacks autocomplete). Be sure to enable "Enable Language Server".
  • Python

Common Issues

Q: I'm running out of space! / I resized the VM disk size but it's not being reflected! A: Linux VM needs to be explicitly told to resize the VM disk partition: https://support.nagios.com/kb/article/resizing-the-vm-disk-size-for-centos-7-814.html

Writing Docs

Github Wiki