Working on the CS3 labs at home

May of you have expressed a desire to work at home. Although we want you to be present as much as possible at your regular lab session, you can certainly work at home outside of those times as necessary.

Viewing Lab Materials

To view the lab materials, you will need the Firefox browser, freely available here. Safari on the Macintosh also seems to work well. Internet Explorer seems not to work well.

Just as you do in lab, start up your browser, go to http://www.ucwise.org and log in with your ucwise login and password.

About doing work from home:

There are two ways to do work from home:

  • You can connect to the lab machines using lab resources. This requires less software, needs a high-speed internet connection, and is relatively slow, but since you will be working directly with the lab computers, the files you create or modify will be stored on the lab computers. As a result, you won't need to transfer your files from your home computer to the lab computers using the internet. If you are interested in using this method, you only need to read the Installing a SSH Client and X11 Tunneling sections.

  • You can also choose to write your programs on your own computer and then later upload your files to the lab computers. This requires more software and is much faster than the first option, but you will have to remember to transfer your files when you are done with your work.
  • Installing a SSH Client:

    Directions for Windows XP and Vista
    First, you will need to install PuTTY in order to connect to the lab computers. You may have friends who have used another SSH client when they took this class, but because of security issues, we recommend that you use PuTTY, which can be downloaded here. (You will just need to download PuTTY.exe for our purposes.) Once you have PuTTY, double-click on the downloaded file and enter h30.cs.berkeley.edu as the Host Name and click on Open. From there, you can log on using your cs3-XX account and password.

    Directions for OSX and Linux: If you are using OSX or Linux, you will already have SSH installed on your operating system. To use SSH, open up a terminal and type in

        ssh cs3-XX@h30.cs.berkeley.edu

    where cs3-XX corresponds to your login. Click on "yes" when you are asked to accept a key. Enter your password and you should be logged in.

    Installing an X Server:

    Now that you have a way to connect to the lab computers, you can begin working from home! However, you probably want the ability to open new windows just as you could on the lab computers, so our next step is to install an X11 Window Tunneling program. The drawback is that this can be quite slow, but you can actually use Emacs and Firefox from the Lab server!

    Directions for Windows XP and Vista
    First, you need to download and install Xming and Xming-fonts, both of which are available here. You will also need to enable X11 Tunneling for PuTTY. This can be done by opening PuTTY and navigating the tabs on the left side of the window. Expand the SSH tab under Connections and click on X11. Under "X11 forwarding", check the "Enable X11 Forwarding" and now you should be able to see X windows as long as you have Xming running as you use PuTTY

    Directions for OSX
    Make sure you have X11 on your computer. I've heard that this can be found on the OSX install CD, but I haven't confirmed this. Then, instead of entering:

        ssh cs3-XX@h30.cs.berkeley.edu

    as you may have done earlier, add a -Y flag to enable X11 tunnelling by entering:

        ssh -Y cs3-XX@h30.cs.berkeley.edu

    Directions for Linux
    If you have X11 installed--and you do if you a distro newer than Yggdrasil--this should be installed on your system. Run

        ssh -Y cs3-XX@h30.cs.berkeley.edu

    Installing and using Scheme on your computer

    If you plan on writing your Scheme programs on your local machine, follow these instructions.
    (Note that this isn't required for you to work from home, as you should now be able to connect to the lab computers and work remotely.)

    Remember, the files that you work on in lab won't be automatically available to you at your home computer, and visa versa. You will need to manually transfer those files (see below).

    There are many other scheme development environments available, although you will have to configure with the extensions we use in this course. If you want to use another, talk to your TA about how to get it installed.

    Directions for Windows XP, OSX, or Linux
    A version of scheme that we use in this course can be found here. You want to download a precompiled binary version for your operating system. Versions are available for Macintoshes, Windows computers, and Linux computers. When you are done, you should have a setup much like we have made available in lab: emacs with scheme running in a split screen. (We use the stk-simply setup in CS3).

    Directions for Windows Vista
    Scheme for Vista can be found here. If you get a fatal exception error, that means XWin is running. You can fix this problem by right-clicking on the X icon on the lower-right-hand-corner of your screen and selecting 'exit'.

    Moving files between your home computer and the lab server

    If you work at home, you will most likely need to transfer files between the lab and your home computers. For instance, if you are finishing up a homework assignment at home, you will need to get the files over to the lab servers in order to submit them electronically. (The transfering and submitting can happen over the internet, so you don't have to be physically present in the lab).

    There are two main ways to go about doing this: connecting the two computers directly over the internet, or using some other service to store the files as you move them from one to the other.

    Transferring Files over the Internet:

    The main drawback to transferring files over the internet is that it will most likely only work when you are at your home computer and trying to connect to the lab computers remotely. The servers we use in lab are both available 24 hours and designed to be connected to remotely, unlike most home computers. So, if you are in lab and realize that something you need is only at home, you won't be able to get it.

    Directions for Windows XP and Vista
    You should use WinSCP to transfer files between your computer and the lab machines. WinSCP can be downloaded here.

    Directions for OSX
    You can use Cyberduck, which can be found here. Be sure to use SFTP instead of FTP.

    Directions for Linux
    sftp cs3-XX@h30.cs.berkeley.edu should work. You can also use scp if you want.

    Storing the files somewhere in order to move them:

    You could use an internet-based storage service, like https://webfiles.berkeley.edu/: you will need to manually upload and download files through your browser each time you want to transfer.

    You could email the files to your self from one machine, and use an email client on the other machine to read and save the files. Using Calmail via firefox works fine (browsing for attachments on the lab machines is a lot like doing it on your home computer).

    You could also use a USB drive to store files and retrieve files. You probably know how to do this on your home computer. In lab, it is difficult to actually insert the drive in the lab machines and get the files on or off. Files on a usb drive will show up, in the lab machines, in the directory /tmp/SUNWut/mnt/$USER/, where $USER is your instructional login name.

    The disadvantage to all of these additional solution is that you need to remember to upload the files when you are done working (whether at home or in the lab) in order to be able to get the files when you start working in the other location.

    Additional information

    Additional instructions are written up at http://inst.eecs.berkeley.edu/connecting.html.


    Written Spring 2007
    Edited Spring 2008