How to compute like a grad student
Joseph O'Sullivan
Robert O'Callahan
John Langford
A cast of thousands
http://www.cs.cmu.edu/~josullvn/ic99/
August 24th, 1999
Slides adapted from David Rochberg adapted from Darrell Kindred adapted from David Eckhardt...
(page 1)
Why this talk?
Easing your transition.
Different times, different audiences
- <90: Concept terminal...
- '91: IBM RT's
- '92: DecStation 3100s
- '93: DecStation 5000/20
- '94: Power Mac 7100/66 or DecStation 5000/25
- '95: DecStation 5000/200s with mono monitors
- '96: Sun SparcStation 4
- '97: 266Mhz PII
- '98: 400Mhz PII
- '99: 500Mhz PIII
- '00: 1GHz P-N, and windows 2000 is slow as a dog
- '10: direct neural implant with MS-Implant 2008
- '50: ...
(page 2)
Overview
Don't hurt yourself
Make yourself at home
How to get help
What's different about CMU
Security
Communication
Misc Collections
The rest
(page 3)
Computers are bad for you
Not OK for your wrists/arms/fingers to hurt.
- Take action when this happens.
- Better yet, take action before this happens
We are not experts but...
- Frequent breaks are often recommended
- Department may have some 'ergo' keyboards available (FABULOUS)
- "Track-pads are the true way"
CMU ergo specialists (8-8182)
Jim Skees has spoken about this?
(page 4)
DO THIS TODAY!
- .plan file
- mention your public stuff
- csd entry
setenv EDITOR emacs ; csd -e
- forward your mail from Andrew
- Use 'wpi' to forward your mail (unless you crave IMAP)
(page 5)
DO THIS TODAY! (cont'd)
- CMU.EDU name
- telnet to cmu.edu and follow the menus to choose a name. Note that this choice is irrevocable.
- Ask in main office for your very own copy #?
- In the library, use SCS copycard.
NOTE
To create a josullvn.root id, I would
'telnet jeeves' and create josullvn.root; I would then have someone add
josullvn.root@CS.CMU.EDU to ~root/.klogin.local on my machine,
and then type `su' and enter the josullvn.root password
That someone is gripe, so after you have created the identity,
mail gripe@cs to set you up.
Both of these last two items aren't essential till it's 11pm at night, your computer has crashed, needing you to fsck before you can print out the exam you need a hundred copies of.
(page 6)
How to get help
- Facilities documentation
- man pages
- Officemates
- Zephyr & FZQ (more on these later)
- Direct from the CS facilities kids.
- Ask before you reinvent the wheel:
- someone may have built the wheel you want
- maybe you really don't want that wheel
- that wheel might need an obscure hack to run here
- someone may want the wheel you build
(page 7)
How to get help from CS facilities
- telnet jeeves
- some web stuff
- AFS quota increases (be Reasonable)
- mail forwarding
(page 8)
A note about Facilities
- It's difficult to hire & keep facilities-types in the superheated internet job market.
- We have good people anyway.
- Many of those that stay seem to do so because they are happy here. Please help keep it that way.
- Some of the good people have left
- facilities has fewer hackers than they'd like
(page 9)
What's different at SCS
- Administrative:
- Many platforms
- You can have enough string to hang yourself
- Volunteer software support officially ensconced
- Software common here
- AFS
- Zephyr
- Kerberos
- Cboards
- Depot
- MMDF
- DNNTP
- Hardware
- Weird mishmash of devices.
(page 10)
Part of that mishmash
- Current Grad Students have on their desks..
- 51 Linux
- 27 Windows
- 10 SunOS
- 5 MacOS
- 1 Ultrix
- 2 AIX
- 11 OSF1
- 9 IRIX
- 3 FreeBSD
- Last year first years ...
- 3/1 Linux to Windows ratio
(page 11)
Remember what we said about hardware
- Be happy!
- <90: Concept terminal...
- '91: IBM RT's
- '92: DecStation 3100s
- '93: DecStation 5000/20
- '94: Power Mac 7100/66 or DecStation 5000/25
- '95: DecStation 5000/200s with mono monitors
- '96: Sun SparcStation 4
- '97: 266Mhz PII
- '98: 400Mhz PII
- '99: 500Mhz PIII
- Advisors sometimes get you other stuff
- There are compute cycles floating around
- (someone please install condor/mosix/...)
(page 12)
Security
- We get cracked. This sucks.
- Never send your password `in the clear'
- Always always use encrypted connections
- telnet on unix boxes defaults to secure
- ssh: fancy extra features, ssh-agent
- on windows: ttssh, f-secure ssh, nifty telnet
- on mac: nifty telnet
- Externally: ssh, toss-off email account, VNC
- To get files from a PC/Mac into AFS
- install AFS on your PC
- anonymous ftp with nervous .anonw toggling
- ttssh + zmodem (run 'rz' on an ultrix box)
Notes:
(1) This allows us to illustrate the fabulous zarchive technology.
Check out http://zarchive.srv.cs.cmu.edu/prog/zquery?query=zarchive+ftp+anonymous+ftpd+meme+FREAKS&start=&end=today&ctr=f&max=200&kt=
Links for kclient and nifty telnet distribution
http://andrew2.andrew.cmu.edu/dist
There are also command line ssh ports which are useful for things like
CVS.
It's possible to disable unencrypted telnet to a machine by adding to /etc/quirk.local
telnetd_force_encrypt = on
Ttssh was written by SCSer Robert O'Callahan during a vacation to Australia. Since Rob is a non-citizen of the US and he wrote the software overseas, it's free of export restrictions from australia & many other places and it can be imported to the US.
Checking email while away from CMU presents an especially annoying problem. Sometimes, you can install SSH or ttssh, but often you can't. SCS facilities will soon have 'kopie' a one-time password system working. This ought to let you check your email from somewhere else with either a list of one-time passwords or a pilot to do funky one-time password computations. Until then, get a free email account with http://my.yahoo.com or http://www.hotmail.com or someone and forward your mail to that when you are away.
ssh is much more secure than VNC. In fact VNC is not secure. Its just neat, and a symptom of what happens when multiple people prepare a presentation.
(page 13)
Kerberos
- Takes password, constructs chunk of bits that (hopefully) cryptographically prove who you are: 'tickets'
- Tickets expire
- kinit renews them
- kauthd renews them automatically
- Multiple instances
- josullvn.root
- josullvn.mail
(page 14)
Communicating: e-mail names
- Name resolution shared by finger, mail:
- dkindred+@cs.cmu.edu (unambiguous)
- dkindred@cmu.edu (unambiguous)
- Darrell_Kindred@cs.cmu.edu
- Darrell.Kindred@cs.cmu.edu
- kindred@cs.cmu.edu
- dkindred@cs.cmu.edu
- possibly ambiguous, for now
- Darrell_Kindred@cmu.edu
- doorbell_cowride@cs.cmu.edu
- bounces, but suggests match
- dkindred+junk@cs.cmu.edu (goes to dkindred)
- this allows you to do nifty filtering
Notes:
You probably don't want to give out your address as first_last@cs.cmu.edu
It might be convenient, but names are less unique than you might hope.
(page 15)
Communicating: e-mail delivery
http://www.cs.cmu.edu/~help/mail_news/TOC.html
- MMDF (instead of sendmail)
- .maildelivery
- userid+foo@cs.cmu.edu
- handy for filtering
- userid=foo@cs.cmu.edu works in a pinch as well
- You can choose where mail gets delivered:
- to do this, telnet jeeves
- some private workstation
- total control, but you lose if something goes wrong
- shared machine (uxn.sp)
- POP? IMAP?
(page 16)
Communicating: reading e-mail in SCS
- Twisty little maze of mail clients, all imperfect
- MH (mh-e with xemacs/emacs, exmh, xmh, command line)
- VM (xemacs/emacs)
- gnus (xemacs/emacs)
- Netscape
- elm
- pine
- mutt
- UCB mail: discouraged
- Eudora (mac, microsoft)
- Outlook (NT)
- mulberry (andrew-side favorite)
Notes:
Some biased opinions:
Current hip IMAP clients include mulberry, gnus nnimap, tkrat, and pine. mulberry exists only for windows/macos now, linux port soon, and supports kerberos for delicious security. it's the andrew-side favorite. In particular, mulberry is pretty usable over slow PPP even with large mailboxes because it doesn't suck down the whole mailbox whenever you log in. netscape does a little dance on every message in the mailbox whenever you connect, making it useless over slow lines. At least it used to. see here
http://zarchive.srv.cs.cmu.edu/prog/zquery?ctr=m&mark=1155576&stem=help+mulberry#mark
MH: http://www.cs.cmu.edu/~help/introdoc/mh/TOC.html
Old and clunky but scales well. Emacs versions less clunky, but still slow.This link is actually surprisingly useful: http://www.cs.cmu.edu/~help/introdoc/mh/search_alias.html
"VM: I fear having all my mail in one big file that emacs must load in at once and is at its liberty to corrupt. I'm paranoid that way. If you haven't been scarred by bogus emacs v18 RMAIL bugs, you may be calmer". BTW netscape, eudora, outlook etc all basically work in the one big file way.
gnus: "Tough to configure"
Eudora: Synchronization trouble, also known as the devil spawn.
Netscape: Occasionally crashy, but maybe less so nowadays. It has its "hip" client supporters, whereas others say "netscape's imap client is much goofier and has some serious problems compared to mulberry". Mozilla will obviously fix all. To use netscape, read http://www.cs.cmu.edu/~help/mail_news/netpop.html
(page 17)
Zephyr
- Chat system
- short messages with 'instantaneous' delivery
- zephyr is like IRC, but its not
- zephyr is like icq, but its not
- "icq sucks, zephyr doesn't"
- "filled with freaks, but they're our freaks"
- "authenticated"
- "emacs-friendly"
- "ingrained in our culture"
- "one giant chatroom"
- 'instances' denote approximate subjects of broadcast conversation.
(page 18)
Minimal Zephyr with zwgc & friends
- To send: zwrite:
- zwrite roc jcl -m 'Lunch?'
- To receive: zwgc started automatically
(page 19)
Public Zephyr
- zwrite and zwgc: probably the wrong way
- send: zwrite -i help
- subscribe:
- zctl add/sub message tennis '*' (temporary)
- zctl add/sub message '*' '*' (all broadcast messages)
- ~/.zephyr.subs for permanent additions
- emacs zephyr-mode: probably the right way
- Frequently Zephyred Questions (FZQ)
(page 20)
Public Zephyr Culture
- common broadcast 'instances'
- help.*, chat.*,newsbites, graffiti, *.d,facilities.announce,facilities.discussion
- Topics: question/answer, whinging, debate, trip planning
- don't take the bitterati too seriously
- Don't sign messages
- Again, at least skim the FZQ for an intro
- zephyr is different in andy-land
- zephyr is not the world, nor is it real work
(page 21)
Emacs Zephyr Mode
(page 22)
Netnews (or 'bboards')
- newsgroups to read (more on web page):
required reading:
important announcements
new software or changes
general-interest items, no discussion
university news and announcements
do you want to graduate?
do you want to keep any friends?
- newsreaders:
- nn,trn,strn,gnus,netscape, outlook
- on a unix box, your news server is localhost
- (each machine runs DNNTP, a redirector)
- on an nt box, use dnntpd.srv as your server
(page 23)
Mailing lists
- cs-students, cs-newstu, cs-faculty, cs-support, cs-technical, scs-all
- extremely low volume
- You do not need to use these
- Even if you do, USE netnews post instead
- You do not need to filter them
- watch cc line when replying!!!
- to prevent accidents, do
- To: yourself@cs.cmu.edu
- Bcc: listname@cs.cmu.edu
(page 24)
Lower-tech communication
- Phone Documentation
- 'phone help' for dialing instructions
- 'man phones' for more
- 'phone transfer' for even more
- Phone directories
- csd
- phone (works for all sorts of stuff)
- phone langford
- phone fax
- phone chinese
(page 25)
Scheduling
- 'Calendar Boards' (cboards)
- Ical (with some cboard integration)
(page 26)
/usr/local ('misc collections')
- software under /usr/local partitioned into N separate collections
- xemacs, purify, gcc, java, X11, mathematica, perl ...
- Some are maintained by facilities. The rest by other folks (mostly grad students)
- Problems with a collection: mail help@cs. They'll forward appropriately.
- You too can maintain a collection!
- LQ will smile upon you (as will the rest of the department) if you maintain a collection.
(page 27)
Your Workstation
- X setup
- choose wm (fvwm2) and/or desktop(KDE/gnome/none)?
- much software managed by depot
- to xlock or not to xlock? - I suggest not
- accounts for officemates - I suggest so
- lastbackup to see when last backup was run
- max local disk partition size is 2G.
- if you don't like your tickets expiring, see /usr/local/bin/kauthd
- root access; get josullvn.root kerberos ID
- 'xset +dpms' in your .xinitrc to turn on monitor powersaving.
(page 28)
Using AFS
- Figure out your mode.
- tradeoffs in keeping things on local disk vs. AFS
- speed, reliability, immunity to network failures
- may want to have emacs auto-save to local disk
- max backed-up volume size: 400 MBytes
- be careful about permissions
- mode bits are irrelevant for access control
- read the facilities docs
- ~/OldFiles (also /afs/cs/.BACKUP/*)
- increasing workstation's AFS cache size
- fs setcache size_in_kbytes (<400,000)
Notes:
AFS is a network filesystem. That means that if you have no network, you lose. If you are careful to not touch any bits in AFS, a network-less machine can sometimes limp along for a while, but, at those unpleasant times when you're without AFS:
1. Your machine will grind to a halt unless you've been careful to use depot.pref.local to install useful tools on your local disk.
2. You won't be able to get at remote data.
Take a look at the zarchives/FZQ for info on what should go in your depot.pref.local to make your machine usable during an AFS outage.
(page 29)
Windows NT
http://www.cs.cmu.edu/~help/pc/index.html
- Don't discount MS productivity tools
- Revel in your relevance
- Software repository : \\monolith
- exceed for X windows stuff
- NT-AFS: files and instructions on monolith
- Peter Dinda has a FAQ
- NT-emacs
- tab-completion
- where to look for programming documentation
(page 30)
Emacs
Two are common
- fsf-emacs:
- run 'emacs'
- facilities maintained
- xemacs
- run 'xemacs'
- volunteer maintained
- better X support
- supports gnuclient -nw to attach to sessions
- xemacs is far far better.
- far.
- really.
- I'm not joking.
Notes:
Gnuclient -nw is really nice. The MO is this:
Leave an xemacs running at school.
Go home. Log in. Run 'gnuclient -nw' and voila; you have access to the xemacs session at school. This is a big win for keeping files synchronized.
(page 31)
Printing
http://www.cs.cmu.edu/~help/printing/
- Ask your officemates where the closest printer is.
- ask where the closest high-volume printer is.
- Use psxup to save paper
- The best way to make black & white slides:
- print to regular paper
- use 4th or 8th floor Xerox machines to copy onto high speed transparencies
- (ask in main office for your very own copier #)
- use slide1 to print color transparencies
- Printer is in 3610; go down the hallway of monitors and ring the bell
NOTE
psxup is a cmu-local name invented by KOSAK, the pstools maintainer
(page 32)
Other resources
- finger coke@cs
- chuck@cs is coke-dictator-for-life
(page 33)
The RPP in computing
- Refill the printers
- or I will hunt you down like a dog.
- Don't leave the printers jammed.
- Don't print big jobs during peak hours
- Ask facilities before you do strange things
- broadcast packets
- move hardware
- commercial anything
- looking through other people's files
- look for permissions in their .plan
- don't camp on the modem lines
(page 34)
A Note on Free Speech and the RPP
- In general, don't try to offend.
- In general, if you are offended, assume it was accidental.
- In general, if you offended somebody, apologize.
- Free Speech Areas
- cmu.cs.opinion
- most Zephyr instances (de facto)
(page 35)
A reminder (or 'do as I say, not as I do')
- Some of you (like me) will find it easy to spend the day in front of the machine and think that 'you're getting work done'
- None of these in excess will make you graduate
- extramural hacking
- window manager reconfiguration
- linux kernel-of-the-day keeping up with the joneses
- zephyr
- netnews
- surfing
(page 36)
Andrew: How the other half lives
- The rest of CMU uses 'Andrew'
- You will probably need to use Andrew to TA
- finger firstname.lastname@andrew to find your userid
- password = first 8 digits of your university ID (aka SSN, see the Hub for more.)
- You might have mail in your Andrew account right now
- Use 'wpi' to forward your mail (unless you crave IMAP)
- Use cross-realm authentication for sharing AFS files
NOTE
- (named after noted Andrews Carnegie and Mellon)
(page 37)
Andrew-continued
- Andrew bulletin boards are mirrored (with a chunky delay) as netnews in SCS (cmu.andrew',cmu.student...)
- Andy-land resources
- far-sun4.andrew.cmu.edu gets a fast sun (be Reasonable)
- lab of SGIs in 52xx cluster with softimage
- various clusters of NT boxes, linux boxen, SGIs (with softimage in 52xx), and Macs scattered around the campus.
- fancy digital art stuff in CFA cluster + synthesizers, slide scanner, video stuff, SGI Octanes
(page 38)
Weird I/O devices in SCS
- Wireless Andrew
- bribe advisor to buy you a wavelan card + laptop
- mannochmore: poster printer
- terminal room (WeH 3501):
- scanners
- zip drives
- jaz drive
- cd-r and cd-rw burners
- 4-,8- mm tape drives
- LCD projectors in most conference rooms
- pilot-link collection
(page 39)
Home machines
- Do you want/need one?
- ADSL: available, partially subsidised
- SCS dialup pools: 56k, 33.6, SLIP/PPP/telnet
- man dialup
- 1-800 exists for logging in from conferences.
- docs (Linux,Macs & Windows)
- Campers: keep an eye on dialup pool usage
NOTE
CS 56k dialups are v.90, and the Andrew 56k dialups are USRx2.
Screen has its fans. Screen allows for luscious compute-from-home-over-flaky-dialups joy. You can even do screen+'gnuclient -nw'. a disconnection while you're using just gnuclient can kill the host xemacs.
(page 40)
Conclusion
- Visit the web notes and do the 'today' checklist.
- Always ask questions!
- Do good works for the community.
- Take care of your body.
- Be a reasonable person.
(page 41)