General UNIX command info

If you are not familiar with basic Unix commands (cp, mv, ls, cd, etc), you can read about them in these slides from last year's Unix skills class.

Logging into eniac-l

If you are on a Unix/Linux system (including those in the lab) or a Mac with Mac OSX, you can ssh to eniac-l with the command
ssh eniac-l.seas.upenn.edu
If your user name is different, you will need to do
ssh username@eniac-l.seas.upenn.edu
(on a Mac, open the terminal application and the command there)

If you are on a Windows system you can either use either Putty or SecureCRT. SecureCRT should already be installed on Windows systems in the department. If you need to download it to your own computer, Putty is probably easiest, if you are using a department computer and SecureCRT is already installed, you can either just use that or download Putty.

If you use Putty

When you open Putty, it should present you with a setup dialog that looks like this:

Fill in the hostname field (circled in red), then click open. You will then be given a window asking for your login (username) and password. After you enter these, the command prompt will appear in the same window, and look something like this:

You are now at a prompt where you can enter commands.

If you use SecureCRT

When you open SecureCRT, you should get a connection dialog that looks something like this

(except that it won't have any sessions listed. Click the button to make a new one (circled in red), resulting in a settings dialog that looks like this:

Fill in the three fields circled in red here, then click OK. That should return you to the session selection screen, where you can double click on the newly created session to login. You will then get a login window- enter your user name, hit enter (or click OK), and then password. That should result in a terminal window that looks like this:

You are now at a prompt where you can enter commands.

Editing your code

When you login, you are in your unix home directory. If you are in any computer lab at school, this directory is mounted under windows (usually as drive S:). You can simply create and edit files using whatever editor you like in Windows, and save them on your S: drive, then login via Putty or SecureCRT to compile and test them.
If you are not at school (i.e. you want to work on them from home), or you want to learn how to use a UNIX editor, there are main 3 choices: pico, emacs, and vim. You could also edit the files at home, and copy them to eniac via whatever method you choose (Putty has an SCP program for copying files between computers, but its a little more painful to use than Putty).

pico

To run pico, either simply do pico or do pico filename to start with some file opened. Pico is a very simple editor, and lists its commands at the bottom of the screen (^ means CTRL).

emacs

Emacs is my personal editor of choice. To run emacs, simply do emacs or emacs filename to start emacs with a file opened. If you are running it locally (i.e. on a linux machine, or have downloaded the windows version), it will bring up a graphical window for you to edit in. If not, it will allow you to edit in your terminal. Emacs is a very powerful editor, but the following commands will get you started (again ^ means ctrl): Note that if you are using graphical emacs, you can use the menus. If any of you are interested in emacs, I can share many many more commands, and I also recommend creating a .emacs file in your homedirectory (when you login, do: emacs .emacs) with at least the following:
(global-set-key "\C-c\C-v" 'compile)
(setq line-number-mode t)
(setq column-number-mode t)
(display-time)
(global-font-lock-mode t)

(setq font-lock-maximum-decoration t)
If you are a Mac user, I recommend Aquamacs.
If you are a Windows user, you can download a distribution of emacs here.

Brief soapbox on emacs: yes, the controls are a little weird at first. Yes, it has a little bit of a learning curve. But emacs is a great editor. Why? Well for one thing it is very powerful, very flexible, and universal. What do I mean by these things? Well, let's start with universal. I do everything in emacs- I write C, C++, Java, SML, scheme, you name it- all in one editor. But its not just code I write in emacs. When I want to write a paper in LaTeX, I do that in emacs too. I write my HTML in emacs (its what I'm using to write this). For that matter, when I want to play tetris, I do that in emacs too (don't believe me? open up emacs, hit ESC x then type tetris ENTER). You can make it do all sorts of cool things- in fact, you can basically program your editor- it has its own Lisp like programming language, so you can write little bits of code for the editor to do and bind them whatever key you want. And lots of other cool stuff. I'm gonna get off my emacs soapbox now.

vim

People who love vim really love it. Everyone else really hates it. I am in the later category- about all I can tell you about it is that if you end up in it by some unfortunate chance, ESC : q will quit. If you really want to try vim, google for references on it.