This is a brief article that is long overdue.

When you clone your code onto a campus machine, you must be certain that you are working in a subdirectory of linuxhome. You also must be sure that you are NOT working in a subdirectory of nethome.


Because if you don’t:

  • Your tests will take longer to run.
  • When working with JavaScript, your NPM setup will take an order of magnitude longer to complete.
    • I’m talking 10 (that’s t-e-n, TEN) times longer. No exaggeration.
  • You are likely to run into an issue known as “that function-not-implemented issue”.
    • It happens in CS 2001.
    • It happens during MegaMinerAI.
    • It will cause you call kinds of headache.
    • It is avoidable.

How do you know whether I’m in the right place?

Use pwd -P

Using pwd -P

When you work in your SDRIVE in My Documents

joeminer@rc06xcs213:~/SDRIVE/My Documents$ pwd -P
/nethome/users/joeminer/My Documents

See how nethome is there and linuxhome is not?

That’s bad. Your programs will be slow and take forever to setup.

When you cd into SDRIVE/linuxhome

joeminer@rc06xcs213:~/SDRIVE/linuxhome/hw04$ pwd -P

Now we can see linuxhome there, but nethome is there too!

That’s still bad. Don’t cd into your SDRIVE and then into linuxhome. When you ssh into a machine (e.g., with PuTTY), you will land in your linuxhome by default.

If you cd into SDRIVE/linuxhome, you’re following this bizarre circular link that LOOKS like your linuxhome, but it’s not right. If you work here, you’ll experience the slowdown that we’re trying so hard to avoid.

When you work in your home directory

joeminer@rc06xcs213:~/hw04$ pwd -P

That looks great! We see that linuxhome is part of our path, but nethome isn’t!

Note that your home directory (i.e., the place you land when you SSH into a Linux machine) is linuxhome. Conveniently, you can still edit your files with your favorite GUI editor (Sublime, Atom, etc) if you open your SDRIVE. Just make sure you’ve used pwd -P to check that you’re working in the right place in your shell.