Reference

This page includes links to a variety of tips, tricks, and guides you may find useful during the semester. This is a new addition to the course website, so I will be gradually adding material here. If you have specific requests for topics that you’d like to see here, feel free to send requests by email or mention them in class. Pages are organized by category below.

Debugging

  Detecting Leaks with LeakSanitizer

LeakSanitizer is a useful tool that helps you track down memory leaks in your C programs. To use LeakSanitizer, you have to pass in some additional options to your program compilation.

Remote Development

  Remote Development with VSCode

This page will walk you through setting up VSCode so you can run it on your local computer, but edit, compile, and execute code on MathLAN. You’ll need to be careful not to lock yourself out of your account, but this setup can be more convenient than using a remote session through FastX.

  SSH to MathLAN from Linux

This page will walk you through the steps required to set up remote acces to MathLAN from your Linux machine. There are quite a few steps, so follow the instructions carefully.

  SSH to MathLAN from Windows

This page will walk you through the steps required to set up remote acces to MathLAN from your windows machine. There are quite a few steps, so follow the instructions carefully.

  SSH to MathLAN from macOS

This page will walk you through the steps required to set up remote acces to MathLAN from your macOS machine. There are quite a few steps, so follow the instructions carefully.

Shell Tricks

  Repeating Commands

Running the same command over and over again can be a pain in the shell. With a small amount of configuration, you can set up a repeat shell command that makes this a bit more convenient.

  Searching Shell History

You may end up in a situation where you’d like to run a command you’ve run before, but you aren’t quite sure the last time you ran it. You could hit the up key until you find it, but you can search your shell history instead.

Testing

  Checking Program Output

For many of the assignments in this class, you will need to compare your program’s output to some known correct output. This is fairly easy to do for a few cases, but it can get quite annoying if you have to do it repeatedly.