On your machine, type (w/o the "") "scp absolute/file/path netid@cricket.zoo.cs.yale.edu:~/Desktop"
On your machine, type (w/o the "") "ssh netid@cricket.zoo.cs.yale.edu:~/Desktop"
Sure! Sublime is just a text editor. Just remember to test your code. Personally I like to do everything in Racket in Dr. Racket.
Proceed at your own risk.
When deciding what classes your should take, please consider 3 things: 1) the combined workload, 2) what you will learn from that class, and 3) what requirements you will satisfy.
A. (my version) ranging from least to most commitment
0. Use FastX
1. Download Cygwin, a Unix-like command line interface that runs on top of Windows. When installing, be sure to include the ssh package. Now you have terminal with some basic functionality, such as scp and ssh! Advantages: pretty fast. Disadvantages: not a true Linux terminal, hard to install new packages (e.g. add Linux commands & libraries).
2. Download VirtualBox, which is basically a program that can set up, run & manage VMs (virtual machines, or an emulation of a particular operating system running over your own). Click New to create a new virtual machine, and select your preferred Linux distribution (Ubuntu is the most user friendly, use SUSE if you want the same setup as a Zoo machine, ArchLinux or Fedora for the truly hardcore). Once you're done working on the VM, VirtualBox will save its state to be restored for next time. Advantages: Gain experience working and becoming familiar with the linux environment (a key skill for majors hoping to go into industry). Disadvantages: Can be slow and memory intensive for older computers
(Note: if you like VM's, check out Vagrant, which gives a lot more functionality to the management of the state & settings of your VMs, making your work environment easy to set up & extremely portable. It's also an industry favorite.)
3. Dual-boot Linux. Approach with caution.
Q. How do I transfer my files? A. 1. Download FileZilla, a FTP protocol wrapper with a nice GUI. 2. Use scp, where the syntax of scp is scp [file to be copied] [directory to be copied to] The two possible ways to use scp are: 1. Copying from remote machine to your machine, when you're logged into your machine scp x@remote:~/path/to/some/file some/dir e.g. lw456@node.zoo.cs.yale.edu:~/cs201/hw0.rkt . [ . refers to the current directory]
There are a bunch of resources! If you want to gain experience in trouble shooting computers or learning more media software, apply for the Yale Student Collaborative to be a student tech, cluster tech, or media tech. If you want to develop for Yale, apply for their Student Developers Program. There is Yale Entrepreneurial Institute and Yale Entrepreneurial Society for entrepreneurial resources. HackYale is a group of upperclassmen who teach classes on programming languages to the Yale community. Last but not least, there is YHACK, which is objectively (clearly not because I'm part of the organizing team) the best thing on campus for student interested in tech. YHack is a 36-hour hackathon where you can build you own app for prizes and network with peers and recruiters. To learn more about YHack, go to http://www.yhack.org.
Yes! It's the same command as "submit", just replace the word "submit" with "unsubmit"?
For CS 201 you certainly don't need vi, but if you are planning to take classes like CS 223 or 323, it would be wise to learn vi or vim, but you don't need to do that now.
Note: emacs is another option.
execve failed: Permission denied
It's probably worth looking into whether or not this script is out of date for this semester or not.
I explained the SSH process to students with Windows and Mac machines, and explained that the best solution is to physically work at the Zoo where you can talk computer science with everyone else. Some key phrases to remind them of were: ssh
I recommended to two students that they create a shell variable $zoo with the value
zoo=
We talked about the major differences between functional and procedural programming, mainly that all functions evaluate to a value in Racket, and that we avoid side-effects. The function's do not hold an internal state in Racket.
We got into the details of dynamic vs. static typing of variables. We talked about how the Racket interpreter will infer the types of the function arguments based on the operations applied to them. This is different than Java, which was the language of choice for the visitors at office hours.
I directed them to Professor Eisenstat's instructions, and showed them the /c/cs201/bin/submit 0 hw0.rkt responses.txt command.
We talked about some ACM history and why they should sign up for the newsletter.
let is used in local bindings, whereas define can be used in top level definitions/bindings, to define procedures, or in local bindings.
/home/classes/c/cs201/bin/submit is the path to an executable (i.e. the submit command). When you run this with the appropriate arguments, your code will be submitted, to be graded later.
Quote produces a constant. Without quotes, either 1) Racket will attempt to find & execute a procedure (if the thing not-quoted was a list) or 2) it will attempt to find an upper level variable with that name.
Sort takes in a list of items to be sorted and a less-than procedure which takes in two items and returns a boolean if the first is 'less' than the second, where the meaning of less is defined by the procedure (e.g. alphabetical order). The sort procedure then runs a sorting algorithm with the less-than procedure as the comparison operator.
Not really. As long as you can scp and ssh into the Zoo, you could do all your coding at home.
Yup! Click on the top right hand corner, click on Settings, click on Displays, then set it to 1920x1200(16:10).
You can go to Bass Media for a 3 day loaner laptop or the TTO if your laptop is broken and they can give you a laptop while they repair yours.
let binds the expression to the id, then evaluates the body.
quote produces a constant.
Nope! It's going to be a great class.
You are on Windows 8, which does not have scp preinstalled. Download WinSCP. If that doesn't work, try another mirror.
Right now there's not that much to take notes on because you are trying to get comfortable w/ the language and the documentation is all online, but soon you will get into logic gates, computer architecture, etc, where you will take notes.