15-213 Intro to Computer Systems: Frequently Asked Questions
15-513 Specific Questions: 15-513 FAQ
How's proxylab graded?
- There will be no student demos.
- We will rely on a combination of autograder script results and code review.
- In some cases we will build and test your proxy by hand.
Why am I getting all these sig* warnings in csapp.c?
- You've probably added -std=c99 to your CFLAGS. Leave it out
or set it to gnu99 instead.
What's the easiest way to get started testing my proxy?
- Have two terminal windows open, ssh to the same shark, start your proxy in one:
[myshark]$ ./proxy <portnum>
and do the following in the other:
[myshark]$ export http_proxy=myshark:<portnum>
[myshark]$ wget -d www.cnn.com
Note that the "-d" option provides debugging info with exact request/response headers.
- For fine-grain debugging, you can send headers from wget output line by line with nc:
[myshark]$ nc myshark <portnum>
GET http://www.cnn.com/ HTTP/1.0
I'm trying to test with nc. How do I generate \r\n?
- At the end of the line press Ctrl^V then enter to generate \r. Another enter will generate \n.
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
- 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'?
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.
How do I avoid mixing tabs and spaces in my code?
How do I make sure I don't have any non-ASCII characters in my code?
- Look at your code on autolab -- it will complain if you have non-ASCII characters.
file mycode.c You should expect to see: "ASCII C program text".
My code has non-ASCII characters, how do I find where they are?
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 firstname.lastname@example.org 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 email@example.com 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.
I have trouble working on the shark machines because I'm uncomfortable using the shell or available editors.
- Consider attending the Linux Boot Camp at the beginning of the semester.
- Consult the quick-reference sheets posted on the Resources page.
Should I read the lab writeup before seeking help?
- Did we say, "Yes"?
- Yes, we did.
- Please read the lab writeups.
How can I get help?
- Email us at firstname.lastname@example.org.
- 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 am working from a Windows machine. How do I connect to the Shark machines?
- Use the Cisco VPN client if you are off-campus: Cisco VPN client. There is a known issue with connection stability if you do not use the VPN client: your connection will randomly freeze or drop.
- Use the CMU recommended Windows SSH/SFTP client: Tectia SSH/SFTP . If you need a lightweight SSH client you can use PuTTY instead: PuTTY
- Avoid X-Windows (X-Term, XEmacs etc.) and the WIndows AFS client if you do not have experience with them. Instead open multiple Tectia SSH/SCP windows and use text-based editors on the Shark machine (emacs, vim or nano).
- There are other nice tools like a Windows AFS client (OpenAFS), X-Windows support (X-Win 32) and the Linux-on-Windows port (cygwin. They are powerful tools in the hands of experts but often very painful to set up and can be the source of a lot of frustration and painful data loss when not used well. If you have no experience with them, leave the finger from them.
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!