============================================================================== RED CIENTIFICA PERUANA ============================================================================== Frequently Submitted Items This document discusses some questions and topics that occur repeatedly on USENET. They frequently are submitted by new users, and result in many followups, sometimes swamping groups for weeks. The purpose of this note is to head off these annoying events by answering some questions and warning about the inevitable consequence of asking others. If you don't like these answers, let spaf@cs.purdue.edu know. Note that some newsgroups have their own special "Frequent Questions & Answers" posting. You should read a group for a while before posting any questions, because the answers may already be present. Comp.unix.questions and comp.unix.internals are examples -- Steve Hayman regularly posts an article that answers common questions, including some of the ones asked here. This list is often referred to as FAQ -- the Frequently Asked Questions. If you are a new user of the Usenet and don't find an answer to your questions here, you can try asking in the news.newusers.questions group. You might also read through other FAQ lists, cross-posted to the news.answers group. Contents ======== 1. What does UNIX stand for? 2. What is the derivation of "foo" as a filler word? 3. Is a machine at "foo" on the net? 4. What does "rc" at the end of files like .newsrc mean? 5. What does :-) mean? 6. How do I decrypt jokes in rec.humor? 7. misc.misc or misc.wanted: Is John Doe out there anywhere? 8. sci.math: Proofs that 1=0. 9. rec.games.*: Where can I get the source for empire or rogue? 10. comp.unix.questions: How do I remove files with non-ascii characters in their names? 11. comp.unix.internals: There is a bug in the way UNIX handles protection for programs that run suid, or any other report of bugs with standard software. 12. Volatile topics, e.g., soc.women: What do you think about abortion? 13. soc.singles: What do MOTOS, MOTSS, and MOTAS stand for? What does LJBF mean? 14. soc.singles and elsewhere: What does HASA stand for? 15. sci.space.shuttle: Shouldn't this group be merged with sci.space? 16. How do I use the "Distribution" feature? 17. Why do some people put funny lines ("bug killers") at the beginning of their articles? 18. What is the address or phone number of the "foo" company? 19. What is the origin of the name "grep"? 20. How do I get from BITNET to UUCP, Internet to BITNET, JANET etc. etc.? 21. Didn't some state once pass a law setting pi equal to 3 ? 22. Where can I get the necessary software to get a "smart" mail system running on my machine that will take advantage of the postings in comp.mail.maps? (E.g., pathalias, smail, etc.) 23. What is "food for the NSA line-eater"? 24. Does anyone know the {pinouts, schematics, switch settings, what does jumper J3 do} for widget X? 25. What is "anonymous ftp"? 26. What is UUNET? 27. Isn't the posting mechanism broken? When I post an article to both a moderated group and unmoderated groups, it gets mailed to the moderator and not posted to the unmoderated groups. 28. comp.arch and elsewhere: What do FYI and IMHO mean? 29. Would someone repost {large software distribution}? 30. How do I contact the moderator of an Internet mailing list rather than post to the entire list? 31. I see BTW (or "btw"), wrt and RTFM in postings. What do they mean? 32. Are there any restrictions on posting e-mail someone sends to me? 33. What's an FQDN? 34. How do you pronounce "char" in C, "ioctl" in UNIX, the character "#", etc., etc.? 35. How do you pronounce "TeX"? 36. What is the last year of the 20th century A.D.? 37. I heard these stories about a dying child wanting postcards/get-well cards/business cards to get in the Guinness Book of World Records. Where can I post the address for people to help? 38. I just heard about a scheme the FCC has to implement a tax on modems! Where can I post a message so everyone will hear about this and do something to prevent it? 39. Is there a public access Unix system near me? How can I get access to system for news and mail? 40. In rec.pets: My pet has suddenly developed the following symptoms .... Is it serious? In sci.med: I have these symptoms .... Is it serious? 41. I have this great idea to make money. Alternatively, wouldn't an electronic chain letter be a nifty idea? 42. Where can I get archives of Usenet postings? 43. Is it possible to post messages to the Usenet via electronic mail? 44. Is it possible to read Usenet newsgroups via electronic mail? 45. How do I get the news software to include a signature with my postings? 46. I'm on Bitnet -- can I connect to the net? Questions and Answers ===================== 1. What does UNIX stand for? It is not an acronym, but is a pun on "Multics". Multics is a large operating system that was being developed shortly before UNIX was created. Brian Kernighan is credited with the name. 2. What is the derivation of "foo" as a filler word? The favorite story is that it comes from "fubar" which is an acronym for "fouled up beyond all recognition", which is supposed to be a military term. (Various forms of this exist, "fouled" usually being replaced by a stronger word.) "Foo" and "Bar" have the same derivation. 3. Is a machine at "foo" on the net? These questions belong in news.config (if anywhere), but in fact your best bet is usually to phone somebody at "foo" to find out. If you don't know anybody at "foo" you can always try calling and asking for the "comp center." Also, see the newsgroup comp.mail.maps where maps of USENET and the uucp network are posted regularly. If you have access to telnet, connect to nic.ddn.mil and try the "whois" command. (See also the answer to question #7, below.) 4. What does "rc" at the end of files like .newsrc mean? It is related to the phrase "run commands." It is used for any file that contains startup information for a command. The use of "rc" in startup files derives from the /etc/rc command file used to start multi-user UNIX. 5. What does :-) mean? This is the net convention for a "smiley face". It means that something is being said in jest. If it doesn't look like a smiley face to you, flop your head over to the left and look again. Variants exist and mean related things; for instance, :-( is sad. Collections of smileys are posted to various newsgroups from time to time. One was posted to comp.sources.misc in v23i102. 6. How do I decrypt jokes in rec.humor? The standard cypher used in rec.humor is called "rot13." Each letter is replaced by the letter 13 farther along in the alphabet (cycling around at the end). Most systems have a built-in command to decrypt such articles; readnews and nn have the "D" command, emacs/gnus has the "^C^R" combination, rn has the "X" or "^X" commands, notes has "%" or "R", and VMS news has the read/rot13 command. If your system doesn't have a program to encrypt and decrypt these, you can quickly create a shell script using "tr": tr A-Za-z N-ZA-Mn-za-m On some versions of UNIX, the "tr" command should be written as: tr "[a-m][n-z][A-M][N-Z]" "[n-z][a-m][N-Z][A-M]" 7. misc.misc or misc.wanted: Is John Doe out there anywhere? I suspect that these items are people looking for Freshman room- mates that they haven't seen in ten years. If you have some idea where the person is, you are usually better off calling the organization. For example, if you call any Bell Labs location and request John Doe's number they can give it to you even if he works at a different location. If you must try the net, use newsgroup soc.net-people *NOT* misc.misc or misc.wanted. Also, you can try the "whois" command (see item #3). There is a periodic posting in the news.newusers.questions and news.answers newsgroups that gives information on other ways to locate people. 8. sci.math: Proofs that 1=0. Almost everyone has seen one or more of these in high school. They are almost always based on either division by 0, confusing the positive and negative square roots of a number, or performing some ill-defined operation. 9. rec.games.*: Where can I get the source for empire or rogue? You can't get the source of rogue. The authors of the game, as is their right, have chosen not to make the sources available. However, several rogue-like games have been posted to the comp.sources.games group and they are available in the archives. You can obtain the source to a version of empire if you provide a tape and SASE *plus* a photocopy of your UNIX source license. To obtain further info, contact mcnc!rti-sel!polyof!john. You can also call John at +1 516 454-5191 (9am-9pm EST only). Sites with Internet access can ftp several versions of empire from site g.ms.uky.edu Also, please note that the wizards' passwords in games like these are usually system-dependent and it does no good to ask the net-at-large what they are. 10. comp.unix.questions: How do I remove files with non-ascii characters in their names? You can try to find a pattern that uniquely identifies the file. This sometimes fails because a peculiarity of some shells is that they strip off the highorder bit of characters in command lines. Next, you can try an rm -i, or rm -r. Finally, you can mess around with i-node numbers and "find". Some Emacs editors allow you to directly edit a directory, and this provides yet another way to remove a file with a funny name (assuming you have Emacs and figure out how to use it!). To remove a file named "-" from your directory, simply do: rm ./- 11. comp.unix.internals: There is a bug in the way UNIX handles protection for programs that run suid, or any other report of bugs with standard software. There are indeed problems with the treatment of protection in setuid programs. When this is brought up, suggestions for changes range from implementing a full capability list arrangement to new kernel calls for allowing more control over when the effective id is used and when the real id is used to control accesses. Sooner or later you can expect this to be improved. For now you just have to live with it. Always discuss suspected bugs or problems with your site software experts before you post to the net. It is likely that the bugs have already been reported. They might also be local changes and not something you need to describe to the whole Usenet. 12. Volatile topics, e.g., soc.women: What do you think about abortion? Although abortion might appear to be an appropriate topic for soc.women, more heat than light is generated when it is brought up. All abortion-related discussion should take place in the newsgroup talk.abortion. If your site administrators have chosen not to receive this group, you should respect this and not post articles about abortion at all. This principle applies to other topics: religious upbringing of children should be restricted to talk.religion.misc and kept out of misc.kids. Similarly, rape discussions should be kept to talk.rape and not in soc.singles, alt.sex and/or soc.women, Zionism discussions should be kept to talk.politics.mideast and not in soc.culture.jewish; likewise, discussions of Jesus or of religions other than Judaism should go to newsgroups for the appropriate religion or to talk.religion.misc or alt.messianic. Any attempts to proselytize any religious view belongs in talk.religion.misc, if it belongs on the net at all. Discussions on the merits of Affirmative Action and racial quotas belong in talk.politics or alt.discrimination, not in soc.culture.african.american. Discussions about evolution vs. creationism should be confined to the talk.origins group. USENET newsgroups are named for mostly historical reasons, and are not intended to be fully general discussion groups for everything about the named topic. Please accept this and post articles in their appropriate forums. 13. soc.singles: What do MOTOS, MOTSS, MOTAS, and SO stand for? What does LJBF mean? Member of the opposite sex, member of the same sex, and member of the appropriate sex, respectively. SO stands for "significant other." LJBF means "Let's just be friends." This phrase is often heard when you least want it. 14. soc.singles and elsewhere: What does HASA stand for? The acronym HASA originated with the Heathen and Atheistic SCUM Alliance; the Hedonistic Asti-Spumante Alliance, Heroes Against Spaghetti Altering, the Society for Creative Atheism (SCATHE), SASA, SALSA, PASTA, and many others too numerous to mention all followed. HASA started in (what is now) talk.religion.misc and also turns up in soc.singles, talk.bizarre, et al. because members post there too. 15. sci.space.shuttle: Shouldn't this group be merged with sci.space? No. sci.space.shuttle is for timely news bulletins. sci.space is for discussions. 16. How do I use the "Distribution" feature? When your posting software (e.g., Pnews or postnews) prompts you for a distribution, it's asking how widely distributed you want your article. The set of possible replies is different, depending on where you are, but at Bell Labs in Murray Hill, New Jersey, possibilities include (for example): local local to this machine mh Bell Labs, Murray Hill Branch nj all sites in New Jersey btl All Bell Labs machines att All AT&T machines usa Everywhere in the USA na Everywhere in North America world Everywhere on USENET in the world Many of the posting programs will provide a list of distributions, if your site admin has kept the files up-to-date. If you hit return, you'll get the default, which is usually "world.". This default is often not appropriate -- PLEASE take a moment to think about how far away people are likely to be interested in what you have to say. Used car ads, housing wanted ads, and things for sale other than specialized equipment like computers certainly shouldn't be distributed to Europe and Korea, or even to the next state. It is generally not possible to post an article to a distribution that your own machine does not receive. For instance, if you live in Indiana, you can't post an article for distribution only in New Jersey or Germany unless your site happens to exchange those particular distributions with another site. Try mailing the article to someone in the appropriate area and asking them to post it for you. If you cannot determine what distributions are valid for your site, ask someone locally rather than posting a query to the whole network! 17. Why do some people put funny lines ("bug killers") at the beginning of their articles? Some earlier versions (mid-80s) of news had a bug which would drop the first 512 or 1024 bytes of text of certain articles. The bug was triggered whenever the article started with whitespace (a blank or a tab). A fix many people adopted was to begin their articles with a line containing a character other than white space. This gradually evolved into the habit of including amusing first lines. The original bug has since been fixed in newer version of news, and sites running older versions of news have applied a patch to prevent articles from losing text. The "bug-killer" lines are therefore probably no longer needed, but they linger on. 18. What is the address or phone number of the "foo" company? Try the white and yellow pages of your phone directory, first; a sales representative will surely know, and if you're a potential customer they will be who you're looking for. Phone books for other cities are usually available in libraries of any size. Whoever buys or recommends things for your company will probably have some buyer's guides or national company directories. Call or visit the reference desk of your library; they have several company and organization directories and many will answer questions like this over the phone. Remember if you only know the city where the company is, you can telephone to find out their full address or a dealer. Calls to 1-800-555-1212 will reveal if the company has an "800" number you can call for information. The network is NOT a free resource, although it may look like that to some people. It is far better to spend a few minutes of your own time researching an answer rather than broadcast your laziness and/or ineptitude to the net. 19. What is the origin of the name "grep"? The original UNIX text editor "ed" has a construct g/re/p, where "re" stands for a regular expression, to Globally search for matches to the Regular Expression and Print the lines containing them. This was so often used that it was packaged up into its own command, thus named "grep". According to Dennis Ritchie, this is the true origin of the command. 20. How do I get from BITNET to UUCP, Internet to BITNET, JANET etc.? There are so many networks and mail systems in use now, it would take a book to describe all of them and how to send mail between them. Luckily, there are a couple of excellent books that do exactly that, and in a helpful, easy-to-use manner: "!%@:: A Directory of Electronic Mail Addressing & Networks" by Donnalyn Frey and Rick Adams, O'Reilly & Associates, Inc, 2nd edition 1990. "The Matrix: Computer Networks and Conferencing Systems Worldwide" by John Quarterman, Digital Press, 1990. Another excellent book to have on your bookshelf (to keep those two company) is "The User's Directory of Computer Networks" edited by Tracy LaQuey, Digital Press, 1990. 21. Didn't some state once pass a law setting pi equal to 3 ? Indiana House Bill #246 was introduced on 18 January 1897, and referred to the Committee on Canals "midst general cheerfulness." The text states, "the ratio of the diameter and circumference is as five-fourths to four", which makes pi 3.2 (not 3), but there are internal contradictions in the bill as well as contradictions with reality. The author was a mathematical crank. The bill was passed by the state House on 5 February, but indefinitely tabled by the state Senate, in part thanks to the fortuitous presence on other business of a Purdue professor of mathematics. For details, including an annotated text of the bill, read the article by D. Singmaster in "The Mathematical Intelligencer" v7 #2, pp 69-72. 22. Where can I get the necessary software to get a "smart" mail system running on my machine that will take advantage of the postings in comp.mail.maps? (E.g., pathalias, smail, etc.) There are a couple of packages available through the supporters of the comp.sources.unix archives. If sites next to you don't have what you want, contact your nearest comp.sources.unix archive, or the moderator. Information on archive sites, and indices of comp.sources.unix back issues are posted regularly in comp.sources.unix and comp.sources.d. 23. What is "food for the NSA line-eater"? This refers to the alleged scanning of all USENET traffic by the National Security Agency (and possibly other intelligence organizations) for interesting keywords. The "food" is believed to contain some of those keywords in the fond hope of overloading NSA's poor computers. A little thought should convince anyone that this is unlikely to occur. Other posters have taken up this practice, either as an ambiguous form of political statement, or as an attempt at humor. The bottom line is that excessive signatures in any form are discouraged, the joke has worn stale amongst long-time net readers, and there are specific newsgroups for the discussion of politics. 24. Does anyone know the {pinouts, schematics, switch settings, what does jumper J3 do} for widget X? These postings are almost always inappropriate unless the manufacturer has gone out of business or no longer supports the device. If neither of these is the case, you're likely to get a better and faster response by simply telephoning the manufacturer. 25. What is "anonymous ftp"? "FTP" stands for File Transfer Protocol; on many systems, it's also the name of a user-level program that implements that protocol. This program allows a user to transfer files to and from a remote network site, provided that network site is reachable via the Internet or a similar facility. (Ftp is also usable on many local-area networks.) "Anonymous FTP" indicates that a user may log into the remote system as user "anonymous" with an arbitrary password. A common convention is that some sort of identification is supplied as the password, e.g. "mumble@foo". This is sometimes useful to those sites that track ftp usage. Also note that most sites restrict when transfers can be made, or at least suggest that large transfers be made only during non-peak hours. 26. What is UUNET? UUNET is a for-profit communications service designed to provide access to USENET news, mail, and various source archives at low cost by obtaining volume discounts. Charges are calculated to recover costs. For more information send your US mail address to info@uunet.uu.net (uunet!info). 27. Isn't the posting mechanism broken? When I post an article to both a moderated group and unmoderated groups, it gets mailed to the moderator and not posted to the unmoderated groups. This is a question that is debated every few months. The answer is "No, it was designed to work that way." The software is designed so that the moderator can crosspost the article so it appears in the regular groups as well as the moderated group, if appropriate. If the article were to be posted immediately to the unmoderated groups, the moderated group name would have to be deleted from the header and you would lose the crossposting. Whether or not this is correct behavior is a matter of opinion. If you want your article to go out immediately to the unmoderated groups, post it twice -- once to the unmoderated groups and once to the moderated groups. 28. comp.arch and elsewhere: What do FYI and IMHO mean? Those are abbreviations for common phrases. FYI is "For Your Information" and IMHO is "In My Humble Opinion" or "In My Honest Opinion." This is used sarcastically as often as not. 29. Would someone repost {large software distribution}? This question should never be posted unless you are reporting a widespread problem in article propagation. Lamentably, there ARE occasional glitches in article transport. Large source or binary postings, by their sheer size, are an inviting target. If the problem is isolated, it is much better to take it upon yourself to obtain the bad portions of the program than to ask thousands of sites to spend thousands of dollars to needlessly move several hundred kilobytes of code. There are archive sites around the net that make most source/binary newsgroups available via anonymous FTP and UUCP. If you get desperate, you can always mail the author a blank disk or magnetic tape with provisions for return postage. 30. How do I contact the moderator of an Internet mailing list rather than post to the entire list? To do this you should know that there are, by convention, two mailing addresses for every mailing list (except where noted by the List of Lists): list@host (e.g. xpert@expo.lcs.mit.edu) list-request@host (e.g. xpert-request@expo.lcs.mit.edu) When you have something for everyone on the mailing list to read, mail to the list@host address. HOWEVER, if you have an administrative request to make (e.g. "please add me to this list", "please remove me from this list", "where are the archives?", "what is this mailer error I got from sending to this list?"), it should be directed to the list-request@host address, which goes only to the mailing list administrator. It is considered to be in bad taste to send administrative requests to the entire mailing list in question, and if (as is often the case) the administrator does not read the mailing list (i.e. he just takes care of the admin tasks for the list), he will not see your request if you don't send it to the right address. 31. I see BTW (or "btw"), wrt and RTFM in postings. What do they mean? BTW is shorthand for "by the way." WRT is "With respect to". RTFM is generally used as an admonition and means "read the f*ing manual" (choice of f-words varies according to reader). The implication is that the answer to a query or complaint is easy to find if one looks in the appropriate location FIRST. Most FAQ postings (Frequently-Asked Questions) that answer these questions may be found cross-posted in news.answers. 32. Are there any restrictions on posting e-mail someone sends to me? At a minimum, it is only polite for you to contact the author of the letter and secure her or his permission to post it to the net. On a more serious note, it can be argued that posting someone's e-mail to the net without their permission is a violation of copyright law. Under that law, even though a letter was addressed to you, it does not grant you the right to publish the contents, as that is the work of the author and the author retains copyright (even if no explicit copyright mark appears). Basically, your letters are your intellectual property. If someone publishes your letters they are violating your copyright. This principle is well-founded in "paper media," and while untested in electronic forums such as Usenet, the same would probably apply if tested in court. 33. What's an FQDN? A fully-qualified domain name. That is, a hostname containing full, dotted qualification of its name up to the root of the Internet domain naming system tree. Example: uiucuxc is the single-word hostname (suitable for, e.g., UUCP transport purposes) of the machine whose FQDN is uxc.cso.uiuc.edu. 34. How do you pronounce "char" in C, "ioctl" in UNIX, the character "#", etc., etc.? Opinions differ. Pick pronunciations close to what your colleagues use. After all, they're the ones you need to communicate with. 35. How do you pronounce "TeX"? To quote Donald Knuth, the creator of TeX: "Insiders pronounce the X of TeX as a Greek chi, not as an 'x', so that TeX rhymes with the word blecchhh. It's the 'ch' sound in Scottish words like loch or German words like ach; it's a Spanish 'j' and a Russian 'kh'. When you say it correctly to your computer, the terminal may become slightly moist." [The TeXbook, 1986, Addison Wesley, page 1] 36. What is the last year of the 20th century A.D.? The A.D. (Latin, Anno Domini, In the Year of Our Lord) system was devised before "origin 0 counting" was invented. The year during which Jesus was (incorrectly) assumed to have been born was numbered 1. (The preceding year was 1 B.C.) So the 1st century was 1 to 100, the 2nd was 101 to 200, the 20th is 1901 to 2000. This is standard terminology no matter how much some of you may dislike it. However, "a" century is any span of 100 years; so if you want to celebrate the end of "the century", meaning the 1900's, on December 31, 1999, nobody will stop you. It just isn't the end of the "20th century A.D.". 37. I heard these stories about a dying child wanting postcards/get-well cards/business cards to get in the Guinness Book of World Records. Where can I post the address for people to help? Post it to "junk," or better yet, don't post it at all. The story of the little boy keeps popping up, even though his mother and the agencies involved have been appealing for people to stop. So many postcards were sent that the agencies involved in the effort don't know what to do with them. The Guinness people have recorded the boy, Craig Shergold, as the record holder in the category. However, they will not accept claims for a new try at the record. For confirmation, you can see page 24 of the 29 July 1990 NY Times or call the publisher of the Guinness Book (in the US, call "Facts on File" @ 212-683-2244). According to the 1993 edition of the GBWR, on page 213: Craig Shergold (born 1979) of Carshalton, Surrey when undergoing cancer chemo-therapy was sent a record 33 million get-well cards until May 1991 when his mother pleaded for no more. A successful 5 hour operation on a brain tumour by neurosurgeon Neal Kassel at Virginia University, Charlottesville, USA in March 1991 greatly improved his condition. If you want to do something noble, donate the cost of a stamp and postcard (or more) to a worthwhile charity like UNICEF or the International Red Cross (Red Crescent, Red Magen David). There are tens of thousands of children dying around the world daily, and they could use more than a postcard. 38. I just heard about a scheme the FCC has to implement a tax on modems! Where can I post a message so everyone will hear about this and do something to prevent it? Post it the same place as the articles in response to #37, above. This is an old, old story that just won't die. Something like this was proposed many YEARS back and defeated. However, the rumor keeps spreading and people who hear about it for the first time get all upset. Before posting stories like this, check with the organizations involved (like the FCC) to see if the story is true and current. 39. Is there a public access Unix system near me? How can I get access to system for news and mail? Phil Eschallier posts a list of open access Unix sites (he calls them "Nixpub" sites) on a regular basis to the following newsgroups: comp.misc and alt.bbs. Check his posting for information on sites you can contact. Furthermore, a list of open access sites that are not necessarily Unix sites is posted regularly in alt.bbs.lists; see the postings entitled "NetPub listing" for more information. 40. In rec.pets: My pet has suddenly developed the following symptoms .... Is it serious? In sci.med: I have these symptoms .... Is it serious? Could be. The only way to tell for sure is to see an expert. The network reaches a vast audience with considerable talent, but that can never replace the expert observation and diagnosis of a trained professional. Do yourself or your pet a big favor -- if there is a problem, go see an appropriate practitioner. If there is a serious problem, it is important that it is dealt with promptly. 41. I have this great idea to make money. Alternatively, wouldn't an electronic chain letter be a nifty idea? In a few words: don't even think about it. Trying to use the net to make vast sums of money or send chain letters is a very bad idea. First of all, it is an inappropriate use of resources, and tends to use up vast amounts of net bandwidth. Second, such usage of the net tends to produce extremely negative reactions by people on the net, adding even more to the volume -- most of it directed to you. Users, particular system admins, do not like that kind of activity, and they will flood your mailbox with notices to that effect. And last, and perhaps most important, some of this activity is against the law in many places. In the US, you can (and will) be reported by hacked-off system administrators for suspicion of wire fraud or mail fraud. In one incident, at *least* a half dozen people reported the poster to Postal Service inspectors; I'm not sure what the outcome was, but it probably was not a nice experience. Bottom line: don't try clever schemes to sell things, solicit donations, or run any kind of pyramid or Ponzi scheme. Also, don't start or support electronic chain letters. 42. Where can I get archives of Usenet postings? Most Usenet newsgroups are not archived in any organized fashion, though it's likely that if you look hard enough someone will have kept much or most of the traffic (either on disk or on some tape gathering dust somewhere). The volume on Usenet is simply too high to keep everything on rotating magnetic media forever, however. The signal-to-noise ratio is too low in many groups to make them good candidates for archiving. One person's signal is another person's noise; if you're lucky, you'll find someone who has been keeping the good parts of a particular newsgroup in their own personal stash to save up for later. How to get access to a group that *is* archived depends on what kind of group it is: * The "sources" and "binaries" groups are generally archived at multiple sites; for more information about getting access to them, see the posting entitled "How to find sources" in comp.sources.wanted. * Some non-source newsgroups can be found by asking "archie" about the group name. See the comp.sources.wanted posting mentioned above for information about how to use "archie." * In other groups, if the group has a Frequently Asked Questions posting or another periodic posting about the group, check that posting to see if it mentions where the group is archived. If not, then you'll have to post a message in the newsgroup and ask if it is archived anywhere. 43. Is it possible to post messages to the Usenet via electronic mail? There are a few sites on the Usenet that offer a full-scale mail to news gateway, so that you can post via E-mail to any newsgroup support. One of them is decwrl.dec.com. To use its gateway, you mail the message you wish to post to newsgroup.name.usenet@decwrl.dec.com. For example, to post to news.newusers.questions, you would send your message to news.newusers.questions.usenet@decwrl.dec.com. Mail-to-news gateways of this sort tend to be overloaded. Therefore, please do not use this gateway or any other similar gateway if you have other posting access to the Usenet. 44. Is it possible to read Usenet newsgroups via electronic mail? Most Usenet newsgroups do not correspond to any mailing list, so the conventional answer to this question is "no" for most groups. However, there are some newsgroups that are gatewayed to mailing lists. For a list of them, see the "List of Active Newsgroups" posting in news.announce.newusers. If you know a Usenet site admin who is willing to act as a personal gateway for you, you might be able to get him/her to set up his/her system to forward messages from individual newsgroups to you via E-mail. However, most admins don't like to do this because it adds to the outgoing traffic from their site, so don't post messages to the net saying, "Hey, is there someone willing to gateway newsgroups to me?" 45. How do I get the news software to include a signature with my postings? This is a question that is best answered by examining the documentation for the software you're using, as the answer varies depending on the software. However, if you're reading news on a Unix machine, then you can probably get a signature to appear on your outgoing messages by creating a file called ".signature" in your home directory. Two important things to remember are: 1. Many article-posting programs will restrict the length of the signature. For example, the "inews" program will often only include the first four lines. This is not something you should be trying to find a way to defeat; it is there for a reason. If your signature is too long, according to the software, then shorten it. Even if the software does not complain, keep your .signature under four lines as a courtesy to others. 2. Under some news configurations, your .signature file must be world-readable, and your home directory world-executable, for your signature to be included correctly in your articles. If your .signature does not get included, try running these commands: chmod a+x $HOME chmod a+r $HOME/.signature 46. I'm on BitNet -- can I connect to the Usenet? Many BitNet sites also have connections to other networks. Some of these sites may be receiving Usenet with NNTP or by other methods. IBM VM/CMS sites which only have a connection to BitNet may still gain access to Usenet if they get a software package called NetNews, which is available from Penn State University at no charge. The PSU NetNews software allows sites to receive Usenet news over BITNET. Talk to your local site administraters to find out if your site has this software installed and how to access it from your account. -- Gene Spafford Software Engineering Research Center & Dept. of Computer Sciences Purdue University, W. Lafayette IN 47907-1398 Internet: spaf@cs.purdue.edu phone: (317) 494-7825 From m2xenix!UICVM.UIC.EDU!inf.UFRGS.BR!ascv Fri Oct 30 22:49:47 1992 Return-Path: Received: by rcp.pe (/\==/\ Smail3.1.25.1 #25.1) id ; Fri, 30 Oct 92 22:49 EST Received: by m2xenix.psg.com (/\==/\ Smail3.1.25.1 #25.4) id ; Fri, 30 Oct 92 07:47 PST Received: from brfapesp.bitnet by UICVM.UIC.EDU (IBM VM SMTP V2R1) with BSMTP id 1065; Fri, 30 Oct 92 09:26:22 CST Received: from vortex.ufrgs.br by brfapesp.bitnet with PMDF#10108; Fri, 30 Oct 1992 11:40 BSC (-0300 C) Received: from IF1.UFRGS.BR by vortex.ufrgs.br (PMDF #12440) id <01GQJ69CEGP00000L9@vortex.ufrgs.br>; Thu, 29 Oct 1992 19:30 -0300 Received: from inf.ufrgs.br (caracol) by if1.ufrgs.br with PMDF#10592; Thu, 29 Oct 1992 17:23 -300 Received: from urutu.inf.ufrgs.br by inf.ufrgs.br (4.1/SMI-4.1) id AA20639; Thu, 29 Oct 92 18:22:38 EDT Received: from jiboia.inf.ufrgs.br by urutu.inf.ufrgs.br (4.1/SMI-4.1) id AA18824; Thu, 29 Oct 92 18:22:36 EDT Date: Thu, 29 Oct 92 18:22:36 EDT From: ascv%inf.UFRGS.BR@UICVM.UIC.EDU (Ausberto S. Castro Vera) Subject: FAQ del NewsGroup UNIX -2- To: operador@rcp.pe, unix@rcp.pe Message-id: <9210292022.AA18824@urutu.inf.ufrgs.br> X-Envelope-to: operador@rcp.pe, unix@rcp.pe Status: O Archive-name: unix-faq/part2 Version: $Id: part2,v 2.0 92/10/20 12:07:03 tmatimar Exp $ These seven articles contain the answers to some Frequently Asked Questions often seen in comp.unix.questions and comp.unix.shell. Please don't ask these questions again, they've been answered plenty of times already - and please don't flame someone just because they may not have read this particular posting. Thank you. These articles are divided approximately as follows: 1.*) General questions. 2.*) Relatively basic questions, likely to be asked by beginners. 3.*) Intermediate questions. 4.*) Advanced questions, likely to be asked by people who thought they already knew all of the answers. 5.*) Questions pertaining to the various shells, and the differences. 6.*) An overview of Unix variants. 7.*) An comparison of configuration management systems (RCS, SCCS). This article includes answers to: 2.1) How do I remove a file whose name begins with a "-" ? 2.2) How do I remove a file with funny characters in the filename ? 2.3) How do I get a recursive directory listing? 2.4) How do I get the current directory into my prompt? 2.5) How do I read characters from the terminal in a shell script? 2.6) How do I rename "*.foo" to "*.bar", or change file names to lowercase? 2.7) Why do I get [some strange error message] when I "rsh host command" ? 2.8) How do I {set an environment variable, change directory} inside a program or shell script and have that change affect my current shell? 2.9) How do I redirect stdout and stderr separately in csh? 2.10) How do I tell inside .cshrc if I'm a login shell? 2.11) How do I construct a shell glob-pattern that matches all files except "." and ".." ? 2.12) How do I find the last argument in a Bourne shell script? 2.13) What's wrong with having '.' in your $PATH ? If you're looking for the answer to, say, question 2.5, and want to skip everything else, you can search ahead for the regular expression "^2.5)". While these are all legitimate questions, they seem to crop up in comp.unix.questions or comp.unix.shell on an annual basis, usually followed by plenty of replies (only some of which are correct) and then a period of griping about how the same questions keep coming up. You may also like to read the monthly article "Answers to Frequently Asked Questions" in the newsgroup "news.announce.newusers", which will tell you what "UNIX" stands for. With the variety of Unix systems in the world, it's hard to guarantee that these answers will work everywhere. Read your local manual pages before trying anything suggested here. If you have suggestions or corrections for any of these answers, please send them to to tmatimar@empress.com. 2.1) How do I remove a file whose name begins with a "-" ? Figure out some way to name the file so that it doesn't begin with a dash. The simplest answer is to use rm ./-filename (assuming "-filename" is in the current directory, of course.) This method of avoiding the interpretation of the "-" works with other commands too. Many commands, particularly those that have been written to use the "getopt(3)" argument parsing routine, accept a "--" argument which means "this is the last option, anything after this is not an option", so your version of rm might handle "rm -- -filename". Some versions of rm that don't use getopt() treat a single "-" in the same way, so you can also try "rm - -filename". 2.2) How do I remove a file with funny characters in the filename ? If the 'funny character' is a '/', skip to the last part of this answer. If the funny character is something else, such as a ' ' or control character or character with the 8th bit set, keep reading. The classic answers are rm -i some*pattern*that*matches*only*the*file*you*want which asks you whether you want to remove each file matching the indicated pattern; depending on your shell, this may not work if the filename has a character with the 8th bit set (the shell may strip that off); and rm -ri . which asks you whether to remove each file in the directory. Answer "y" to the problem file and "n" to everything else. Unfortunately this doesn't work with many versions of rm. Also unfortunately, this will walk through every subdirectory of ".", so you might want to "chmod a-x" those directories temporarily to make them unsearchable. Always take a deep breath and think about what you're doing and double check what you typed when you use rm's "-r" flag or a wildcard on the command line; and find . -type f ... -ok rm '{}' \; where "..." is a group of predicates that uniquely identify the file. One possibility is to figure out the inode number of the problem file (use "ls -i .") and then use find . -inum 12345 -ok rm '{}' \; or find . -inum 12345 -ok mv '{}' new-file-name \; "-ok" is a safety check - it will prompt you for confirmation of the command it's about to execute. You can use "-exec" instead to avoid the prompting, if you want to live dangerously, or if you suspect that the filename may contain a funny character sequence that will mess up your screen when printed. What if the filename has a '/' in it? These files really are special cases, and can only be created by buggy kernel code (typically by implementations of NFS that don't filter out illegal characters in file names from remote machines.) The first thing to do is to try to understand exactly why this problem is so strange. Recall that Unix directories are simply pairs of filenames and inode numbers. A directory essentially contains information like this: filename inode file1 12345 file2.c 12349 file3 12347 Theoretically, '/' and '\0' are the only two characters that cannot appear in a filename - '/' because it's used to separate directories and files, and '\0' because it terminates a filename. Unfortunately some implementations of NFS will blithely create filenames with embedded slashes in response to requests from remote machines. For instance, this could happen when someone on a Mac or other non-Unix machine decides to create a remote NFS file on your Unix machine with the date in the filename. Your Unix directory then has this in it: filename inode 91/02/07 12357 No amount of messing around with 'find' or 'rm' as described above will delete this file, since those utilities and all other Unix programs, are forced to interpret the '/' in the normal way. Any ordinary program will eventually try to do unlink("91/02/07"), which as far as the kernel is concerned means "unlink the file 07 in the subdirectory 02 of directory 91", but that's not what we have - we have a *FILE* named "91/02/07" in the current directory. This is a subtle but crucial distinction. What can you do in this case? The first thing to try is to return to the Mac that created this crummy entry, and see if you can convince it and your local NFS daemon to rename the file to something without slashes. If that doesn't work or isn't possible, you'll need help from your system manager, who will have to try the one of the following. Use "ls -i" to find the inode number of this bogus file, then unmount the file system and use "clri" to clear the inode, and "fsck" the file system with your fingers crossed. This destroys the information in the file. If you want to keep it, you can try: create a new directory in the same parent directory as the one containing the bad file name; move everything you can (i.e. everything but the file with the bad name) from the old directory to the new one; do "ls -id" on the directory containing the file with the bad name to get its inumber; umount the file system; "clri" the directory containing the file with the bad name; "fsck" the file system. Then, to find the file, remount the file system; rename the directory you created to have the name of the old directory (since the old directory should have been blown away by "fsck") move the file out of "lost+found" into the directory with a better name. Alternatively, you can patch the directory the hard way by crawling around in the raw file system. Use "fsdb", if you have it. 2.3) How do I get a recursive directory listing? One of the following may do what you want: ls -R (not all versions of "ls" have -R) find . -print (should work everywhere) du -a . (shows you both the name and size) If you're looking for a wildcard pattern that will match all ".c" files in this directory and below, you won't find one, but you can use % some-command `find . -name '*.c' -print` "find" is a powerful program. Learn about it. 2.4) How do I get the current directory into my prompt? It depends which shell you are using. It's easy with some shells, hard or impossible with others. C Shell (csh): Put this in your .cshrc - customize the prompt variable the way you want. alias setprompt 'set prompt="${cwd}% "' setprompt # to set the initial prompt alias cd 'chdir \!* && setprompt' If you use pushd and popd, you'll also need alias pushd 'pushd \!* && setprompt' alias popd 'popd \!* && setprompt' Some C shells don't keep a $cwd variable - you can use `pwd` instead. If you just want the last component of the current directory in your prompt ("mail% " instead of "/usr/spool/mail% ") you can use alias setprompt 'set prompt="$cwd:t% "' Some older csh's get the meaning of && and || reversed. Try doing: false && echo bug If it prints "bug", you need to switch && and || (and get a better version of csh.) Bourne Shell (sh): If you have a newer version of the Bourne Shell (SVR2 or newer) you can use a shell function to make your own command, "xcd" say: xcd() { cd $* ; PS1="`pwd` $ "; } If you have an older Bourne shell, it's complicated but not impossible. Here's one way. Add this to your .profile file: LOGIN_SHELL=$$ export LOGIN_SHELL CMDFILE=/tmp/cd.$$ export CMDFILE # 16 is SIGURG, pick a signal that's not likely to be used PROMPTSIG=16 export PROMPTSIG trap '. $CMDFILE' $PROMPTSIG and then put this executable script (without the indentation!), let's call it "xcd", somewhere in your PATH : xcd directory - change directory and set prompt : by signalling the login shell to read a command file cat >${CMDFILE?"not set"} </dev/null` stty -cbreak echo "Thank you for typing a $readchar ." 2.6) How do I rename "*.foo" to "*.bar", or change file names to lowercase? Why doesn't "mv *.foo *.bar" work? Think about how the shell expands wildcards. "*.foo" and "*.bar" are expanded before the mv command ever sees the arguments. Depending on your shell, this can fail in a couple of ways. CSH prints "No match." because it can't match "*.bar". SH executes "mv a.foo b.foo c.foo *.bar", which will only succeed if you happen to have a single directory named "*.bar", which is very unlikely and almost certainly not what you had in mind. Depending on your shell, you can do it with a loop to "mv" each file individually. If your system has "basename", you can use: C Shell: foreach f ( *.foo ) set base=`basename $f .foo` mv $f $base.bar end Bourne Shell: for f in *.foo; do base=`basename $f .foo` mv $f $base.bar done Some shells have their own variable substitution features, so instead of using "basename", you can use simpler loops like: C Shell: foreach f ( *.foo ) mv $f $f:r.bar end Korn Shell: for f in *.foo; do mv $f ${f%foo}bar done If you don't have "basename" or want to do something like renaming foo.* to bar.*, you can use something like "sed" to strip apart the original file name in other ways, but the general looping idea is the same. You can also convert file names into "mv" commands with 'sed', and hand the commands off to "sh" for execution. Try ls -d *.foo | sed -e 's/.*/mv & &/' -e 's/foo$/bar/' | sh A program by Vladimir Lanin called "mmv" that does this job nicely was posted to comp.sources.unix (Volume 21, issues 87 and 88) in April 1990. It lets you use mmv '*.foo' '=1.bar' Shell loops like the above can also be used to translate file names from upper to lower case or vice versa. You could use something like this to rename uppercase files to lowercase: C Shell: foreach f ( * ) mv $f `echo $f | tr '[A-Z]' '[a-z]'` end Bourne Shell: for f in *; do mv $f `echo $f | tr '[A-Z]' '[a-z]'` done Korn Shell: typeset -l l for f in *; do l="$f" mv $f $l done If you wanted to be really thorough and handle files with `funny' names (embedded blanks or whatever) you'd need to use Bourne Shell: for f in *; do g=`expr "xxx$f" : 'xxx\(.*\)' | tr '[A-Z]' '[a-z]'` mv "$f" "$g" done The `expr' command will always print the filename, even if it equals `-n' or if it contains a System V escape sequence like `\c'. Some versions of "tr" require the [ and ], some don't. It happens to be harmless to include them in this particular example; versions of tr that don't want the [] will conveniently think they are supposed to translate '[' to '[' and ']' to ']'. If you have the "perl" language installed, you may find this rename script by Larry Wall very useful. It can be used to accomplish a wide variety of filename changes. #!/usr/bin/perl # # rename script examples from lwall: # rename 's/\.orig$//' *.orig # rename 'y/A-Z/a-z/ unless /^Make/' * # rename '$_ .= ".bad"' *.f # rename 'print "$_: "; s/foo/bar/ if =~ /^y/i' * $op = shift; for (@ARGV) { $was = $_; eval $op; die $@ if $@; rename($was,$_) unless $was eq $_; } 2.7) Why do I get [some strange error message] when I "rsh host command" ? (We're talking about the remote shell program "rsh" or sometimes "remsh" or "remote"; on some machines, there is a restricted shell called "rsh", which is a different thing.) If your remote account uses the C shell, the remote host will fire up a C shell to execute 'command' for you, and that shell will read your remote .cshrc file. Perhaps your .cshrc contains a "stty", "biff" or some other command that isn't appropriate for a non-interactive shell. The unexpected output or error message from these commands can screw up your rsh in odd ways. Here's an example. Suppose you have stty erase ^H biff y in your .cshrc file. You'll get some odd messages like this. % rsh some-machine date stty: : Can't assign requested address Where are you? Tue Oct 1 09:24:45 EST 1991 You might also get similar errors when running certain "at" or "cron" jobs that also read your .cshrc file. Fortunately, the fix is simple. There are, quite possibly, a whole *bunch* of operations in your ".cshrc" (e.g., "set history=N") that are simply not worth doing except in interactive shells. What you do is surround them in your ".cshrc" with: if ( $?prompt ) then operations.... endif and, since in a non-interactive shell "prompt" won't be set, the operations in question will only be done in interactive shells. You may also wish to move some commands to your .login file; if those commands only need to be done when a login session starts up (checking for new mail, unread news and so on) it's better to have them in the .login file. 2.8) How do I {set an environment variable, change directory} inside a program or shell script and have that change affect my current shell? In general, you can't, at least not without making special arrangements. When a child process is created, it inherits a copy of its parent's variables (and current directory). The child can change these values all it wants but the changes won't affect the parent shell, since the child is changing a copy of the original data. Some special arrangements are possible. Your child process could write out the changed variables, if the parent was prepared to read the output and interpret it as commands to set its own variables. Also, shells can arrange to run other shell scripts in the context of the current shell, rather than in a child process, so that changes will affect the original shell. For instance, if you have a C shell script named "myscript": cd /very/long/path setenv PATH /something:/something-else or the equivalent Bourne or Korn shell script cd /very/long/path PATH=/something:/something-else export PATH and try to run "myscript" from your shell, your shell will fork and run the shell script in a subprocess. The subprocess is also running the shell; when it sees the "cd" command it changes *its* current directory, and when it sees the "setenv" command it changes *its* environment, but neither has any effect on the current directory of the shell at which you're typing (your login shell, let's say). In order to get your login shell to execute the script (without forking) you have to use the "." command (for the Bourne or Korn shells) or the "source" command (for the C shell). I.e. you type . myscript to the Bourne or Korn shells, or source myscript to the C shell. If all you are trying to do is change directory or set an environment variable, it will probably be simpler to use a C shell alias or Bourne/Korn shell function. See the "how do I get the current directory into my prompt" section of this article for some examples. 2.9) How do I redirect stdout and stderr separately in csh? In csh, you can redirect stdout with ">", or stdout and stderr together with ">&" but there is no direct way to redirect stderr only. The best you can do is ( command >stdout_file ) >&stderr_file which runs "command" in a subshell; stdout is redirected inside the subshell to stdout_file, and both stdout and stderr from the subshell are redirected to stderr_file, but by this point stdout has already been redirected so only stderr actually winds up in stderr_file. Sometimes it's easier to let sh do the work for you. sh -c 'command >stdout_file 2>stderr_file' 2.10) How do I tell inside .cshrc if I'm a login shell? When people ask this, they usually mean either How can I tell if it's an interactive shell? or How can I tell if it's a top-level shell? You could perhaps determine if your shell truly is a login shell (i.e. is going to source ".login" after it is done with ".cshrc") by fooling around with "ps" and "$$". Login shells generally have names that begin with a '-'. If you're really interested in the other two questions, here's one way you can organize your .cshrc to find out. if (! $?CSHLEVEL) then # # This is a "top-level" shell, # perhaps a login shell, perhaps a shell started up by # 'rsh machine some-command' # This is where we should set PATH and anything else we # want to apply to every one of our shells. # setenv CSHLEVEL 0 set home = ~username # just to be sure source ~/.env # environment stuff we always want else # # This shell is a child of one of our other shells so # we don't need to set all the environment variables again. # set tmp = $CSHLEVEL @ tmp++ setenv CSHLEVEL $tmp endif # Exit from .cshrc if not interactive, e.g. under rsh if (! $?prompt) exit # Here we could set the prompt or aliases that would be useful # for interactive shells only. source ~/.aliases 2.11) How do I construct a shell glob-pattern that matches all files except "." and ".." ? You'd think this would be easy. * Matches all files that don't begin with a "."; .* Matches all files that do begin with a ".", but this includes the special entries "." and "..", which often you don't want; .[!.]* (Newer shells only; some shells use a "^" instead of the "!"; POSIX shells must accept the "!", but may accept a "^" as well; all portable applications shall not use an unquoted "^" immediately following the "[") Matches all files that begin with a "." and are followed by a non-"."; unfortunately this will miss "..foo"; .??* Matches files that begin with a "." and which are at least 3 characters long. This neatly avoids "." and "..", but also misses ".a" . So to match all files except "." and ".." safely you have to use 3 patterns (if you don't have filenames like ".a" you can leave out the first): .[!.]* .??* * Alternatively you could employ an external program or two and use backquote substitution. This is pretty good: `ls -a | sed -e '/^\.$/d' -e '/^\.\.$/d'` (or `ls -A` in some Unix versions) but even it will mess up on files with newlines, IFS characters or wildcards in their names. 2.12) How do I find the last argument in a Bourne shell script? Answer by: Martin Weitzel <@mikros.systemware.de:martin@mwtech.uucp> Maarten Litmaath If you are sure the number of arguments is at most 9, you can use: eval last=\${$#} In POSIX-compatible shells it works for ANY number of arguments. The following works always too: for last do : done This can be generalized as follows: for i do third_last=$second_last second_last=$last last=$i done Now suppose you want to REMOVE the last argument from the list, or REVERSE the argument list, or ACCESS the N-th argument directly, whatever N may be. Here is a basis of how to do it, using only built-in shell constructs, without creating subprocesses: t0= u0= rest='1 2 3 4 5 6 7 8 9' argv= for h in '' $rest do for t in "$t0" $rest do for u in $u0 $rest do case $# in 0) break 3 esac eval argv$h$t$u=\$1 argv="$argv \"\$argv$h$t$u\"" # (1) shift done u0=0 done t0=0 done # now restore the arguments eval set x "$argv" # (2) shift This example works for the first 999 arguments. Enough? Take a good look at the lines marked (1) and (2) and convince yourself that the original arguments are restored indeed, no matter what funny characters they contain! To find the N-th argument now you can use this: eval argN=\$argv$N To reverse the arguments the line marked (1) must be changed to: argv="\"\$argv$h$t$u\" $argv" How to remove the last argument is left as an exercise. If you allow subprocesses as well, possibly executing nonbuilt-in commands, the `argvN' variables can be set up more easily: N=1 for i do eval argv$N=\$i N=`expr $N + 1` done To reverse the arguments there is still a simpler method, that even does not create subprocesses. This approach can also be taken if you want to delete e.g. the last argument, but in that case you cannot refer directly to the N-th argument any more, because the `argvN' variables are set up in reverse order: argv= for i do eval argv$#=\$i argv="\"\$argv$#\" $argv" shift done eval set x "$argv" shift 2.13) What's wrong with having '.' in your $PATH ? A bit of background: the PATH environment variable is a list of directories separated by colons. When you type a command name without giving an explicit path (e.g. you type "ls", rather than "/bin/ls") your shell searches each directory in the PATH list in order, looking for an executable file by that name, and the shell will run the first matching program it finds. One of the directories in the PATH list can be the current directory "." . It is also permissible to use an empty directory name in the PATH list to indicate the current directory. Both of these are equivalent for csh users: setenv PATH :/usr/ucb:/bin:/usr/bin setenv PATH .:/usr/ucb:/bin:/usr/bin for sh or ksh users PATH=:/usr/ucb:/bin:/usr/bin export PATH PATH=.:/usr/ucb:/bin:/usr/bin export PATH Having "." somewhere in the PATH is convenient - you can type "a.out" instead of "./a.out" to run programs in the current directory. But there's a catch. Consider what happens in the case where "." is the first entry in the PATH. Suppose your current directory is a publically- writable one, such as "/tmp". If there just happens to be a program named "/tmp/ls" left there by some other user, and you type "ls" (intending, of course, to run the normal "/bin/ls" program), your shell will instead run "./ls", the other user's program. Needless to say, the results of running an unknown program like this might surprise you. It's slightly better to have "." at the end of the PATH: setenv PATH /usr/ucb:/bin:/usr/bin:. Now if you're in /tmp and you type "ls", the shell will search /usr/ucb, /bin and /usr/bin for a program named "ls" before it gets around to looking in ".", and there is less risk of inadvertently running some other user's "ls" program. This isn't 100% secure though - if you're a clumsy typist and some day type "sl -l" instead of "ls -l", you run the risk of running "./sl", if there is one. Some "clever" programmer could anticipate common typing mistakes and leave programs by those names scattered throughout public directories. Beware. Many seasoned Unix users get by just fine without having "." in the PATH at all: setenv PATH /usr/ucb:/bin:/usr/bin If you do this, you'll need to type "./program" instead of "program" to run programs in the current directory, but the increase in security is probably worth it. -- Ted Timar - tmatimar@empress.com Empress Software, 3100 Steeles Ave E, Markham, Ont., Canada L3R 8T3 From m2xenix!inf.ufrgs.br!ascv Fri Nov 27 09:39:27 1992 Return-Path: Received: by rcp.pe (/\==/\ Smail3.1.25.1 #25.1) id ; Fri, 27 Nov 92 09:38 EST Received: by m2xenix.psg.com (/\==/\ Smail3.1.25.1 #25.4) id ; Thu, 26 Nov 92 09:09 PST Received: from IF1.UFRGS.BR by vortex.ufrgs.br (PMDF #3169 ) id <01GRM0ETMS9C000J4F@vortex.ufrgs.br>; Thu, 26 Nov 1992 14:50:54 -0200 Received: from inf.ufrgs.br (caracol) by if1.ufrgs.br with PMDF#10592; Thu, 26 Nov 1992 14:40 -300 Received: from urutu.inf.ufrgs.br by inf.ufrgs.br (4.1/SMI-4.1) id AA04821; Thu, 26 Nov 92 11:45:09 EDT Received: from bugio.inf.ufrgs.br by urutu.inf.ufrgs.br (4.1/SMI-4.1) id AA04224; Thu, 26 Nov 92 11:45:09 EDT Date: 26 Nov 1992 11:45:09 -0400 (EDT) From: ascv@inf.ufrgs.br (Ausberto S. Castro V. - Porto Alegre, Brasil) Subject: Libros de Unix To: max@esan.pe, unix@rcp.pe Message-id: <9211261345.AA04224@urutu.inf.ufrgs.br> X-Envelope-to: unix@rcp.pe Content-transfer-encoding: 7BIT Status: RO Archive-name: books/unix Last-modified: Nov 20 1992 Version 1.6 ------------------------------------------------------------ [misc.books.technical] A Concise Guide to Unix Books ------------------------------------------------------------ ** Compiled by: Samuel Ko (kko@sfu.ca) ** This is a good selection of the "best" Unix books / documentations. The slection is based on i) recommendations from netnews readers, ii) the US/Canada sales figures, and iii) a bit of my own preference. ** Subject areas covered: A. General Unix Texts B. Shells C. Unix Editors D. Networking and Communications E. System Administration F. Unix Security G. Programming H. TeX I. X Window System J. Dictionary K. Other Lists ** This guide is intended to be concise, so it is far from exhaustive. For other Unix bibliographies, please read section K - Other Lists. ** THANKS to all who have helped in improving this guide. However, to save some bandwidth, I do not want to include a long list of acknowledgment. I do sincerely thank each and every one of you who has contributed to this compilation in one way or the other. [[ BTW, from your responses since this list was first posted ... The best publisher: O'Reilly & Associates The most-recommended books: Unix Network Programming by Richard Stevens Unix System Administration Handbook by Nemeth, Snyder and Seebass The Whole Internet - User's Guide & Catalog by Ed Krol ]] ** If you think there are some other really good Unix books, please let me know. Besides any comments, suggestions and flames will be very much appreciated. ** I will try to update and post this list at least once a month. The latest version is also obtainable by anonymous ftp from pit-manager.mit.edu (in /pub/usenet/news.answers/books). If you do not have ftp or netnews access you can get it by email from mail-server@pit-manager.mit.edu and the body of your request should be send usenet/news.answers/books/unix . ** I am now preparing this list in other formats. More info in next issue. ** Here it goes ... A. General Unix Texts ************************* 1. Title: Unix for the Impatient Authors: Paul Abrahams and Bruce Larson Publisher: Addison Wesley Edition: 1992 ISBN: 0-201-55703-7 Comment: **** Highly Recommended **** A new, comprehensive, in-depth reference to Unix ... "a handbook you can use both as a manual to learn UNIX and as a ready reference for fast answers to specific UNIX questions." 2. Title: The Unix Operating System Author: Kaare Christian Publisher: Wiley Edition: 2nd ed. 1988 ISBN: 0-471-84781-X Comment: A classic overview of Unix commands ... Good in coverage ... 3. Title: A Practical Guide to the Unix System Author: Mark Sobell Publisher: Benjamin / Cummings Edition: 1990 ISBN: 0-80-530243-3 Comment: Similar to Christian's book ... Slightly easier to read ... There is a new edition for System V Release 4 ... 4. Title: The Waite Group's Unix System V Primer Authors: Mitchell Waite, Donald Martin and Stephen Prata Publisher: Sams Edition: 2nd ed. 1992 ISBN: 0-672-30194-6 Comment: **** Highly Recommended **** A very good hand-holding tutorial-type book for Unix/SVR4 ... 5. Title: Mastering SunOS Authors: Brent Heslop and David Angell Publisher: Sybex Edition: 1990 ISBN: 0-89588-683 Comment: A good, comprehensive hand-on text to SunOS and OpenWindows ... 6. Title: Peter Norton's Guide to Unix Authors: Peter Norton and Harley Hahn Publisher: Bantam Computer Edition: 1991 ISBN: 0-553-35260-1 Comment: Good coverage ... A good introduction for beginners (especially those accustomed to DOS) ... 7. Title: Unix System V Release 4: An Introduction Authors: Kenneth Rosen, Richard Rosinski and James Farber Publisher: McGraw Hill Edition: 1990 ISBN: 0-07-881552-5 Comment: A very comprehensive text targeted to novice users ... 8. Title: Unix System V Release 4 - The Complete Reference Author: Stephen Coffin Publisher: McGraw Hall Edition: 1990 ISBN: 0-07-881653-X Comment: Another good book on Unix fundamentals and related subjects ... 9. Title: Unix in a Nutshell Authors: Daniel Gilly and O'Reilly staff Publisher: O'Reilly Edition: 2nd ed. 1992 (for System V and Solaris 2) ISBN: 1-56592-001-5 Comment: **** Highly Recommended **** An excellent desktop reference to almost all Unix commands ... "a complete reference containing all commands and options, plus generous descriptions and examples that put the commands in context." ... Also an edition for 4.3. BSD ... 10. Title: Life with Unix - A Guide for Everyone Authors: Don Libes and Sandy Ressler Publisher: Prentice Hall Edition: 1990 ISBN: 0-13-536657-7 Comment: **** Highly Recommended **** An everything-you-want-to-know-about-Unix book ... It includes info you might not find elsewhere ... "This book is the "other" book about Unix ... a study in reading between the lines - which is very much what learning UNIX is like." ... 11. Title: Learning Unix Author: James Gardner Publisher: Sams Edition: 1991 ISBN: 0-672-30001-X Comment: With disks containing MSDOS simulation of Unix (MKS Tools) ... A good tutorial / reference book for those without constant access to Unix ... 12. Title: Unix Desktop Guide to Tools Author: Pete Holsberg Publisher: Sams Edition: 1992 ISBN: 0-672-30202-0 Comment: A new and comprehensive guide to numerous Unix utilities ... 13. Title: The Frequently Asked Questions List Author: Ted Timar Edition: 92/10/20 Comment: This is a multi-part list of often-asked Unix questions (with answers) ... Read the postings on news.answers or get them by ftp from pit-manager.mit.edu (in /pub/usenet/news.answers/unix-faq) ... 14. Title: The Design of the Unix Operating System Author: Maurice Bach Publisher: Prentice Hall Edition: 1986 ISBN: 0-13-201799-7 Comment: An excellent reference on the internals of System V ... This book and the next one are indeed highly technical ... And if you just want a short case study on Unix, consult a good text on operating systems like Modern Operating Systems by A. Tanenbaum or Operating System Concept by A. Silberschatz, J. Peterson and P. Galvin ... 15. Title: The Design and Implementation of the 4.3 BSD Unix Operating System Authors: Samuel Leffler et al Publisher: Addison-Wesley Edition: 1990 ISBN: 0-201-06196-1 Comment: An authoritative description of the design of BSD Unix ... "It covers the internal structure of the 4.3BSD system and the concepts, data structures, and algorithms used in implementing the system facilities." ... B. Shells ************* 1. Title: The Unix C Shell Field Guide Authors: Gail Anderson and Paul Anderson Publisher: Prentice Hall Edition: 1986 ISBN: 0-13-937468-X Comment: The C-Shell Bible - everything you need to know to understand csh and use Unix effectively ... 2. Title: Unix C Shell - Desk Reference Author: Martin Arick Publisher: QED Technical Edition: 1992 ISBN: 0-89435-328-4 Comment: A more recent text on maximizing the use of C-Shell ... 3. Title: Unix Shell Programming Authors: Stephen Kochan and Patrick Wood Publisher: Hayden Edition: 1990 ISBN: 0-672-48448-X Comment: **** Highly Recommended **** A classic on using and programming Bourne Shell (and Korn Shell) ... 4. Title: Unix Desktop Guide to the Korn Shell Author: John Valley Publisher: Sams Edition: 1992 ISBN: 0-672-48513-3 Comment: This one is even better and easier to read than the authoritative work by Korn and Bolsky ... C. Unix Editors ******************* 1. Title: GNU EMACS Manual Author: Richard Stallman Publisher: Free Software Foundation Edition: 6th ed. 1988 Comment: The official manual of GNU Emacs ... Essential for emacs users ... 2. Title: Learning GNU Emacs Authors: Debra Cameron and Bill Rosenblatt Publisher: O'Reilly Edition: 1992 ISBN: 0-937175-84-6 Comment: **** Highly Recommended **** Probably the best documentation on editing with GNU Emacs ... 3. Title: Desktop Guide to Emacs Authors: Ralph Roberts and Mark Boyd Publisher: Sams Edition: 1991 ISBN: 0-672-30171-7 Comment: Another good book on emacs ... 4. Title: Learning the vi Editor Author: Linda Lamb Publisher: O'Reilly Edition: 1990 ISBN: 0-937175-67-6 Comment: A very good guide to vi and ex commands ... With a quick reference card ... 5. Titles: vi Tutor and vi Reference Authors: Micheal Pierce and Robert Ware (Tut), Maarten Litmaati (Ref) Edition: 1.3 (Tut), 8 (Ref) Comment: These and other good vi stuff are obtainable by anonymous ftp from cs.uwp.edu (in pub/vi) ... D. Networking and Communications ************************************* 1. Title: Unix Networking Authors: Edited by Stephen Kochan and Patrick Wood Publisher: Hayden Edition: 1989 ISBN: 0-672-48440-4 Comment: Fairly technical on different issues of networking ... 2. Title: Managing NFS and NIS Author: Hal Stern Publisher: O'Reilly Edition: 1991 ISBN: 0-937175-75-7 Comment: A comprehensive, technical guide for system admins on distributed computing tools - NFS and NIS(YP) ... 3. Title: Unix Network Programming Author: Richard Stevens Publisher: Prentice Hall Edition: 1990 ISBN: 0-13-949876-1 Comment: **** Highly Recommended **** An excellent book on programming network softwares ... The source codes and errata list are obtainable by ftp from ftp.uu.net (in /published/books) ... 4. Title: Adventures in Unix Network Applications Programming Authors: Bill Riekan and Lyle Weiman Publisher: Wiley Edition: 1992 ISBN: 0-471-52858-7 Comment: A recent book on network programming ... 5. Title: The Waite Group's Unix Communications Authors: Bart Anderson, Brian Costales & Harry Henderson Publisher: Sams Edition: 2nd ed. 1991 ISBN: 0-672-22773-8 Comment: **** Highly Recommended **** A really excellent book on e-mail (Mail, elm), netnews (rn, nn) and UUCP ... 6. Title: Managing UUCP and Usenet Authors: Tim O'Reilly and Grace Todino Publisher: O'Reilly Edition: 10 ed. 1992 ISBN: 0-937175-93-5 Comment: Well written on the setting-up and maintenance of UUCP and Netnews ... 7. Title: Using UUCP and Usenet Authors: Grace Todino and Dale Dougherty Publisher: O'Reilly Edition: 1991 ISBN: 0-937175-10-2 Comment: Well written on how to use uucp and netnews ... 8. Titles: Internetworking with TCP/IP Vols I, II and III Authors: Douglas Comer and David Stevens Publisher: Prentice-Hall Edition: 1991 ISBN: 0-13-468505-9 (I), 0-13-472242-6 (II), 0-13-474222-2 (III) Comment: A detailed discussion on the architecture and implementation of the Internet and its protocols ... Vol I (on principles, protocols and architecture) is readable by everyone, Vol 2 (on design, implementation and internals) is more technical, and Vol 3 (on client-server computing) is recently out ... 9. Title: TCP/IP Network Administration Author: Craig Hunt Publisher: O'Reiily Edition: 1992 ISBN: 0-937175-82-X Comment: With everything you need to know about the installation and running of a TCP/IP network ... 10. Title: DNS and BIND Authors: Paul Albitz and Cricket Liu Publisher: O'Reilly Edition: 1992 ISBN: 1-56592-010-4 Comment: A unique guide on domain name system for system admins ... "DNS and BIND discusses one of the Internet's fundamental building blocks: the distributed host information database that's responsible for translating names into addresses, routing mail to its proper destination and many other services." 11. Title: The Whole Internet - User's Guide & Catalog Author: Ed Krol Publisher: O'Reilly Edition: 1992 ISBN: 1-56592-025-2 Comment: **** Highly Recommended **** Definitely a MUST for any new and not-so-new Internet users ... "It is a complete user's guide to the Internet, covering everything from the basics, like electronic mail and newsgroups, to the newest developments. A large part of the book tells you how to find the resources you want." ... 12. Title: Zen and the Art of the Internet Author: Brendan Kehoe Edition: 1st ed. 1992 Comment: A comprehensive overview of the Internet for beginners ... This document, in different formats, can be obtained by anonymous ftp from world.std.com (in /obi/Internet/zen-1.0) or as zen10.zip from /pub/msdos/books at oak.oakland.edu ... The second edition is commercial, published by Prentice Hall ... 13. Title: E-Mail: Pervasive and Persuasive in IEEE Spectrum Authors: Tekla Perry and John Adam Edition: October 1992 Volume 29 Number 10 Pages: 22 - 33 Comment: An interesting special report on E-Mail networks ... E. System Administration **************************** 1. Title: Unix System Administration Handbook Authors: Evi Nemeth, Garth Snyder and Scott Seebass Publisher: Prentice-Hall Edition: 1989 ISBN: 0-13-933441-6 Comment: **** Highly Recommended **** Classic, also known as the sys-admin bible ... "an attempt to condense everything that a system administrator should know about UNIX into a single, easy-to-use volume" ... Source codes for programs listed (sa-book.tar.Z) can be obtained by anonymous ftp from boulder.colorado.edu (in /pub/sa-book) or oak.oakland.edu (in /pub/unix-c/sysadmin) ... 2. Title: Unix System V Release 4 Administration Authors: David Fiedler, Bruce Hunter and Ben Smith Publisher: Hayden Edition: 2nd ed. 1991 ISBN: 0-672-22810-6 Comment: **** Highly Recommended **** A must for any intermediate / advanced users of Unix ... "you'll find the information you need to organize a practical, efficient, and productive UNIX system" ... 3. Title: Essential System Administration Author: Aeleen Frisch Publisher: O'Reilly Edition: 1991 ISBN: 0-937175-80-3 Comment: **** Highly Recommended **** A must for serious users / sys admins of Unix ... "It provides a compact, manageable treatment of the tasks and issues that everyone responsible for a UNIX system faces." ... 4. Title: Unix System - Advanced Administration and Management Handbook Author: Bruce Hunter and Karen Hunter Publisher: MacMillan Edition: 1991 ISBN: 0-02-358950-7 Comment: Another good book on system administration ... 5. Title: System Performance Tuning Author: Mike Loukides Publisher: O'Reilly Edition: 1990 ISBN: 0-937175-60-9 Comment: A fine book for sys admins on how to fine tune your Unix system(s) to do more work ... F. Unix Security ******************** 1. Title: Practical Unix Security Authors: Simson Garfinkel and Gene Spafford Publisher: O'Reilly Edition: 1991 ISBN: 0-937175-72-2 Comment: **** Highly Recommended **** Simply the best book in this field ... "everything you need to know to make your UNIX system as secure as it can be." ... 2. Title: Unix System Security - A Guide for Users and System Administrators Author: David Curry Publisher: Addision Wesley Edition: 1992 ISBN: 0-201-56327-4 Comment: Good and comprehensive coverage ...With pointers to further info ... 3. Title: Unix System Security Author: Rik Farrow Publisher: Addison Wesley Edition: 1991 ISBN: 0-201-57030-0 Comment: Another fine book on Unix security ... But some errors ... 4. Title: Site Security Handbook Authors: Edited by Paul Holbrook and Joyce Reynolds Edition: 1991 Comment: A guide to setting computer security policies and procedures for sites that have systems on the Internet ... This is rfc1244.txt which is available by anonymous ftp from nic.ddn.mil (in rfc directory) ... Also rfc1281.txt - Guidelines for the Secure Operation of the Internet ... 5. Title: Computer Security Basics Authors: Deborah Russell and G T Gangemi Sr. Publisher: O'Reilly Edition: 1991 ISBN: 0-937175-71-4 Comment: A clear overview on many different security issues ... 6. Title: The Cuckoo's Egg Author: Cliff Stoll Publisher: Pocket Books Edition: 1990 ISBN: 0-671-72688-9 Comment: A fascinating real story on computer espionage ... A good alternative to this is Cyberpunk written by Katie Hafner and John Markoff and published by Touchstone Book ... G. Programming ****************** 1. Title: The Unix Programming Environment Authors: Brian Kernighan and Rob Pike Publisher: Prentice-Hall Edition: 1984 ISBN: 0-13-937681-X Comment: A true classic on Unix programming ... 2. Title: Advanced Programming in The Unix Environment Author: Richard Stevens Publisher: Addison-Wesley Edition: 1992 ISBN: 0-201-56317-7 Comment: **** Highly Recommended **** A going-to-be classic on how programs work under Unix ... The source codes and errata list are obtainable by ftp from ftp.uu.net (in /published/books) ... 3. Title: Advanced Unix Programming Author: Marc Rochkind Publisher: Prentice Hall Edition: 1985 ISBN: 0-13-011818-4 Comment: A superb book covering all system calls in detail ... 4. Title: The C Programming Language Authors: Brian Kernighan and Dennis Ritchie Publisher: Prentice Hall Edition: 2nd ed. 1988 ISBN: 0-13-110362-8 Comment: This book is 200% a MUST for any C programmers ... 5. Title: C - A Reference Manual Authors: Samuel Harbison and Guy Steel Publisher: Prentice Hall Edition: 3rd ed. 1991 ISBN: 0-13-110933-2 Comment: An authoritative reference to C programming language ... A good companion to Kernighan and Ritchie ... 6. Title: The Waite Group's New Primer C Plus Authors: Mitchell Waite and Stephen Prata Publisher: Sams Edition: 1990 ISBN: 0-672-22687-1 Comment: A really good introduction to C for beginners ... 7. Title: C: The Complete Reference Author: Herbert Schildt Publisher: McGraw Hill Edition: 1991 ISBN: 0-07-881538-X Comment: Another classic on the C language ... 8. Title: Practical C Programming Author: Steve Oualline Publisher: O'Reilly Edition: 1991 ISBN: 0-937175-65-X Comment: Yet another good C book describing how to create programs that are easy to read, maintain and debug ... 9. Title: Using C on the Unix System Author: David Curry Publisher: O'Reilly Edition: 1990 ISBN: 0-937175-23-4 Comment: This book is directed to (would-be) system programmers ... 10. Title: The Berkeley Unix Environment Author: Nigel Horspool Publisher: Prentice Hall Edition: 2nd ed. 1992 ISBN: 0-13-089368-4 Comment: **** Highly Recommended **** An excellent book on C programming for Berkeley Unix system ... "a companion text intended for use in college and university courses concerned with Compiler Construction, Software Engineering and Operating Systems" ... 11. Title: The Waite Group's C++ Programming Author: John Berry Publisher: Sams Edition: 1992 ISBN: 0-672-22771-1 Comment: A fine book on OOP with C++ (for Unix and Dos) ... 12. Title: The C++ Programming Language Author: Bjarne Stroustrup Publisher: Addison-Wesley Edition: 2nd ed. ISBN: 0-201-53992-6 Comment: A classic reference on C++ ... 13. Title: C++: The Complete Reference Author: Herbert Schildt Publisher: McGraw Hill Edition: 1991 ISBN: 0-07-881654-8 Comment: Another good text on C++ ... 14. Title: Managing Projects with make Authors: Steve Talbott and Andrew Oram Publisher: O'Reilly Edition: 2nd ed. 1991 ISBN: 0-937175-90-0 Comment: An unique text on using make for software development ... 15. Title: The AWK Programming Language Authors: Alfred Aho, Brian Kernighan and Peter Weinberger Publisher: Addison-Wesley Edition: 1988 ISBN: 0-201-07981-X Comment: A complete description by the authors of awk ... 16. Title: Sed and Awk Author: Dale Dougherty Publisher: O'Reilly Edition: 1991 ISBN: 0-937175-59-5 Comment: A very good work on programming / text processing with sed and awk ... 17. Title: Programming Perl Authors: Larry Wall and Randal L. Schwartz Publisher: O'Reilly Edition: 1992 ISBN: 0-937175-64-1 Comment: The authoritative guide to Perl - the programming language for for any serious Unix users ... 18. Title: Writing A Unix Device Driver Authors: Janet Egan and Tom Teixeria Publisher: Wiley Edition: 2nd ed. 1992 ISBN: 0-471-53574-5 Comment: A unique book on writing programs to control hardware devices ... H. TeX ********** 1. Title: The TeXbook Author: Donald Knuth Publisher: Addison Wesley Edition: 1990 ISBN: 0-201-13448-9 Comment: The Bible ... A definite guide to typesetting with TeX ... 2. Title: TeX for the Impatient Author: Paul Abrahams Publisher: Addison-Wesley Edition: 1991 ISBN: 0-201-51375-7 Comment: A more user-friendly handbook on TeX ... 3. Title: LATeX - A Document Preparation System Author: Leslie Lamport Publisher: Addison Wesley Edition: 1986 ISBN: 0-201-15790-X Comment: The bible for LATeX users ... I. X Window System ********************** 1. Title: X Window System Users' Guide Authors: Valerie Quercia and Tim O'Reilly Publisher: O'Reilly Edition: 1990 (Motif or MIT) ISBN: 0-937175-61-7 Comment: Volume 3 in O'Reilly's excellent X-Window series ... A fairly useful tutorial-type book to X11R4 ... [ BTW ... Some other books in O'Reilly's X Window System series ... Vol. 0 - X Protocol Reference Manual, for X 11 R4 and R5 Vol. 1 - Xlib Programming Manual, for X11 R4 and R5 Vol. 2 - Xlib Reference Manual, for X11 R4 and R5 Vol. 4 - X Toolkit Intrinsics Programming Manual, R4 Vol. 5 - X Toolkit Intrinsics Reference Manual, for X11 R4 and R5 (An update for owner of Vols 1, 2, 4 and 5 ... Programmer's Supplement for Release 5 of the X Window System, Verion 11) Vol. 6 - Motif Programming Manual Vol. 7 - XView Programming Manual (also XView Reference Manual) Vol. 8 - X Window System Aministrator's Guide, for X11 R5 The X Window System in a Nutshell ] 2. Title: The X Window System - A User's Guide Author: Niall Manfield Publisher: Addison Wesley Edition: 1990 ISBN: 0-201-56344-4 Comment: Another good tutorial-type book to using X ... 3. Title: X Window Inside & Out Author: Levi Reiss and Joseph Radin Publisher: McGraw Hill Edition: 1992 ISBN: 0-07-881796-X Comment: A recent text on using and programming X Window ... 4. Title: X Window System Programming and Applications with Xt Author: Doug Young Publisher: Prentice Hall Edition: 1989 (Motif or Open Look) ISBN: 0-13-497074-8 Comment: An excellent book on X programming ... J. Dictionary ***************** 1. Title: The New Hacker's Dictionary Author: Eric Raymond Publisher: MIT Press Edition: 1991 ISBN: 0-262-68069-6 Comment: This book corresponds to version 2.9.6 of the on-line jargon file ... The latest (at the time of writing) is version 2.9.10 (jargon2910.ascii.Z) which is available by ftp from wuarchive.wustl.edu (in mirrors/gnu) ... Changes since the publication of this book can be found in the file jargon-changes.Z ... K. Other Lists ****************** 1. Title: Yet Another Book List Author: Mitch Wright Edition: Nov 6 1992 Comment: This is an excellent compilation of almost all Unix and C book titles along with info for locating them and short reviews and summaries of book contents ... You can get it (yabl) by anonymous ftp from ftp.rahul.net (in /pub/mitch/YABL) ... 2. Title: X Technical Bibliography Author: Ken Lee Edition: Nov 4 1992 Comment A good collection of publicly available X window system technical materials ... The bibliography is posted periodically on misc.books.technical and you can also get it by anonymous ftp from pit-manager.mit.edu (in /pub/usenet/misc.books.technical) ... 3. Title: Network Reading List: TCP/IP, Unix and Ethernet Author: Charles Spurgeon Edition: 3.5 Feb 1992 Comment: This annotated list describes those items that cover the subject areas well ... It is obtainable by anonymous ftp from ftp.uu.net (in /inet/doc) ... 4. Title: Catalog of O'Reilly Books Authors: O'Reilly staff Edition: July 24 1992 Comment: You get can it (book.catalog.Z) by anonymous ftp from ftp.ora.com ... where you can also find source codes for examples in many books in the Nutshell and X series ... Or read the more-updated online catalog on O'Reilly gopher server (telnet gopher.ora.com login: gopher) ... -- Samuel Ko (kko@sfu.ca) (aka: The Smart One) Expert in Computer Books and Documentations ... .