Subject: Proper care and feeding of source code (This message is being sent to all CPSC 102 Sec 1 students ) One unfortunate student kept getting unresolved references to camera_init(), camera_getdir(), etc and so he sent me a tar file. I found (as described below) that he had inadvertently destroyed his own camera.c file: --------------------------------------------------------- If you cat or try to edit the camera.c that you sent me you will see that it is empty. The 0 below means the file has size 0. /home/westall/sp ==> ls -l camera.c -rw------- 1 westall ecryptfs 0 Jan 24 13:55 camera.c /home/westall/sp ==> There are various ways you can do this to yourself including (1) running the tar command improperly tar cvf * will destroy the first file in your directory. (2) running gcc incorrectly gcc -o camtest.c camtest.c camera.c will destroy camtest.c There is no way to fully protect oneself from making these careless mistakes -- I still do it to myself occasionally. So it is strongly recommended that you regularly create backups or new versions of whatever you are working on so that when it does happen, you will lose less work. Here is how I did it in building my own system: Each time I make a little progress I want to be sure to preserve, I make a new directory (mwray1, mwray2, etc) and copy the stuff forward before I start working on in again --- that way if I really screw it up I can always go back to the last generation. mwray1 mwray16 mwray20 mwray8 mwraypp17 mwraypp5 mwray10 mwray17 mwray20.tar.gz mwray9 mwraypp18 mwraypp6 mwray11 mwray18 mwray3 mwraypp1 mwraypp2 mwraypp7 mwray12 mwray18.tar.gz mwray4 mwraypp15 mwraypp20 mwraypp8 mwray13 mwray19 mwray5 mwraypp15.tar.gz mwraypp20.tar.gz mwraypp8.tar.gz mwray14 mwray19.tar.gz mwray6 mwraypp16 mwraypp3 mwraypp9 mwray15 mwray2 mwray7 mwraypp16.tar.gz mwraypp4 mwraypp9.tar.gz You might use a strategy like naming versions of assignment sp1 sp1a, sp1b, sp1c etc. Although to my knowledge we have never lost data due to a file server failure its also a good idea to protect yourself against that eventuality by periodically emailiing a tarball to yourself. It is SUPER COMMON to have laptop disks fail. So if you are developing ANYTHING on your personal system, from programs to term papers, you should backup to a file server (or USB memory key) AT LEAST ONCE A DAY!!