15-213 Intro to Computer Systems: Frequently Asked Questions

    Proxy Lab

  • Where do I find telnet on the shark machines?

    • shark> /usr/bin/telnet

  • Does my proxy need to support POST requests?

    • No, it only needs to support GET requests.

  • Why does my proxy seem unable to properly handle images or other non-text content?

    • Certain functions are designed to deal specifically with text; as such, they make certain assumptions about the data on which they operate, and their termination conditions in particular may be inappropriate for non-text content. Be wary of how you use that class of functions when implementing your proxy server.

    Cache Lab

  • Why are warnings like "unused parameter" being reported as errors?

    • On some labs we have set flags (-Wall -Wextra) for the compiler to generate more warnings than usual. We also set a flag (-Werror) to treat warnings as errors.
    • Any class of errors that can be detected by the compiler should be addressed sooner rather than later.

  • Why am I geting an error: implicit declaration of function 'getopt'?

    • Reason: you are missing some header files in your include list.
    • Fix: Add this to your other includes:
       #include  <getopt.h>
       #include  <stdlib.h>
       #include  <unistd.h>
       

  • General Programming Issues

  • When I try to run an executable file included in a lab handout, I get a "Permission denied" error. What should I do?

    • The executable bit is not set. Run "chmod +x <filename>" to set the executable bit.
    • This problem may occur if you extract the handout tarball on a Windows machine. Always extract the handout on a Linux machine.

  • How do I extract a tarball on a Linux machine?

    • Run "tar -xvf <filename>" to extract it.

  • General Course Issues

  • Why can't I access Autolab?

    • Did you recently join the course? It is possible you do not yet have an account.
    • Email the staff list if you need an account created for you.

  • Why can't I access the shark machines?

    • You should be able to access the shark machines with your Andrew credentials. Email the staff list if you have trouble.

  • Must I work on the shark machines?

    • Your work will be graded on the shark machines, so it is in your best interest to work there.
    • For most labs, you may alternatively work on the Andrew Unix machines, which are nearly identical.
    • You must complete bomblab and buflab on a shark machine.

  • Should I read the lab writeup before seeking help?

    • Yes.
    • Did we say, "Yes"?
    • Yes, we did.
    • Please read the lab writeups.
    • :-)

  • How can I get help?

    • Email us at 15-213-staff@cs.cmu.edu.
    • Stop by during office hours.
    • Schedule a 1:1 meeting with your instructors or TAs.

  • Must I attend a particular recitation?

    • You may attend any recitation you wish as long as the instructor leading the recitation allows it.
    • Please make sure the recitation you normally attend is the one specified on your Autolab account; if this is not the case, email the staff list.

  • I have some command line output that I'd like to send to the staff. Should I send it as a screenshot?

    • No. Text (copy and paste) is fine.

  • My editor shows me that my c code looks fine, but when my TA prints it out it looks different!

    • Your editor is configured to use tabs as a certain width. Please use spaces instead of tabs.
    • To see what we'll see when we grade your submissions: run
      a2ps -s2  --pretty-print --landscape --columns=2 --rows=1 --tabsize=4 --chars-per-line=80 somefile.c -o someotherfile.ps
    • To replace all tabs with spaces, run
      expand -t4 file > otherfile