TidBITS#657/25-Nov-02
=====================

 TidBITS turns practical this week, with the first installment in
 Kirk McElhearn's guide to the Unix command line for Mac users.
 Adam also explains how to speed up searching on the Internet with
 simple JavaScript-powered bookmarks in your Web browser. In the
 news, we report on the resounding success of PayBITS for raising
 funds for the EFF and call for your holiday gift suggestions.
 Finally, no issue next week: Happy Thanksgiving!

Topics:
   MailBITS/25-Nov-02
   Hyperspatial JavaScript Search Bypass
   A Mac User's Guide to the Unix Command Line, Part 1

<http://www.tidbits.com/tb-issues/TidBITS-657.html>
<ftp://ftp.tidbits.com/issues/2002/TidBITS#657_25-Nov-02.etx>

Copyright 2002 TidBITS Electronic Publishing. All rights reserved.
  Information: <[email protected]> Comments: <[email protected]>
  ---------------------------------------------------------------

This issue of TidBITS sponsored in part by:
* Make friends and influence people by sponsoring TidBITS! <--------- NEW!
  Put your company and products in front of tens of thousands of
  savvy, committed Macintosh users who actually buy stuff.
  For more information and rates, email <[email protected]>.

* READERS LIKE YOU! Help keep TidBITS going via our voluntary <------ NEW!
  contribution program. Special thanks this week to Larry Lyons,
  Dantz Development, and Daniel Richardson for their support!
  <http://www.tidbits.com/about/support/contributors.html>

* SMALL DOG ELECTRONICS: Factory Refurbished XServes! <-------------- NEW!
  XServe 1GHz 256/60GB/CD/ATI/Dual Gig Ether Unlim. OS X: $2399!
  XServe 1GHz Dual 512/60 GB/CD/ATI/Dual Gig Ether/OSX: $3199!
  23-inch HD Cinema: $2995 <http://smalldog.com/tb/> 802/496-7171

* DEALMAC: Refurbished iPod 5 GB for $199 shipped. <----------------- NEW!
  <http://dealmac.com/articles/44013.html?ref=tb>
  DEALMAC: Refurbished Fuji FinePix 2600 2.1M digicam for $168.
  <http://dealmac.com/articles/43960.html?ref=tb>

* Bare Bones Software BBEdit 7.0 -- New version adds CVS support,
  multiple Web site support, powerful new Sort Lines and Process
  Duplicate plug-ins, and much more. Buy, upgrade, or try the
  demo at our Web site: <http://www.barebones.com/>

* This year, GIVE SOMEONE THEIR OWN DOMAIN with easyDNS's DOMAIN <--- NEW!
  NAME GIFT CERTIFICATES. Choose from .com, .net, .org or .ca.
  Each comes with email & Web forwarding and a setup guide!
  easyDNS: the way things should work. <http://www.easyDNS.com/>
  ---------------------------------------------------------------

MailBITS/25-Nov-02
------------------

**No Issue Next Week** -- So we can all spend some relaxing time
 with our families and friends over the Thanksgiving holidays here
 in the U.S., we won't be publishing an issue of TidBITS next week
 on 02-Dec-02. I will continue moderating TidBITS Talk, and we'll
 be working on this year's annual gift issue during the extra week.
 We'll publish the next issue of TidBITS on 09-Dec-02, so until
 then, we hope those of you celebrating Thanksgiving have a great
 holiday! [ACE]


**PayBITS EFF Donation a Rousing Success** -- I'm overwhelmed.
 You've seen my reports about the amounts that PayBITS has
 generated, and for the most part, they've been sums that you
 wouldn't walk by on the sidewalk, but that wouldn't buy you a
 new Mac. In last week's article about the dangers of the DMCA,
 I said I'd donate all the PayBITS proceeds to the EFF to help
 that worthy organization continue to do their important work
 (which is increasingly done on Macs, by the way). I figured
 sending the EFF a hundred bucks or so would be a nice gesture,
 but I never imagined that my article would raise over $2,800
 from more than 150 people (before PayPal transaction fees).
 The total amount was significantly boosted by very large donations
 from two generous individuals, but even without those, the amount
 would have been over $1,500. I think the lesson learned here is
 that many people felt strongly about the problems with the DMCA,
 about supporting the EFF, and about funneling the payment through
 us to show support for PayBITS, and for all of those things, I
 thank you. A few payments are still trickling in, so in another
 week or so, I'll figure out the total amount and send it to
 the EFF. [ACE]

<http://db.tidbits.com/getbits.acgi?tbart=06997>
<http://db.tidbits.com/getbits.acgi?tbart=06991>


**BBEdit 7.0.1 Available** -- Hot on the heels of the release of
 BBEdit 7.0, Bare Bones Software has released a free update to
 BBEdit 7.0.1. Among other minor fixes, the patch addresses
 conflicts with system-wide keystrokes under Mac OS X, improves
 BBEdit's new CVS support, tweaks processing of HTML and XHTML
 files, and offers a handful of FTP enhancements. You can read
 complete release notes on the Bare Bones Web site. Although most
 of the enhancements (and the focus) of BBEdit is for use under
 Mac OS X, BBEdit 7 does run under Mac OS 9.2.2, so classic Mac
 users aren't left out of all its text-munging goodness. The BBEdit
 7.0.1 update is a 9.3 MB download. [GD]

<http://db.tidbits.com/getbits.acgi?tbart=06993>
<http://www.barebones.com/support/updates.html>
<http://www.barebones.com/support/bbedit/bbedit-notes.html>


**Submit Your Holiday 2002 Gift Ideas** -- It's time once again
 for that annual spectacle of consumer confidence, and if it's up
 to us individuals to prop up the global economy, the least we can
 do is make sure our favorite Macintosh-related companies come out
 smelling like roses! As with previous TidBITS gift issues, we'll
 focus on the best suggestions from you, our loyal readers. So tell
 us what gifts you're planning to bestow on your friends or family,
 or those things that you're hoping to receive yourself. As in
 previous years, we'll be collecting ideas in TidBITS Talk, so
 please send your suggestions to <[email protected]>. We've
 already started threads for specific categories, and there's a
 "Respond (via email)" link for you to use at the bottom of each
 message in the TidBITS Talk Web archive. As always, please suggest
 only one product or idea per message, give the reason why you're
 recommending it, make sure to include a URL or other necessary
 contact information, and please recommend only others' products.
 If possible, suggest things that haven't appeared in past years.
 Thanks in advance! [ACE]

<http://db.tidbits.com/getbits.acgi?tlkthrd=active>
<http://db.tidbits.com/getbits.acgi?tbiss=510>
<http://db.tidbits.com/getbits.acgi?tbiss=560>
<http://db.tidbits.com/getbits.acgi?tbiss=609>


Hyperspatial JavaScript Search Bypass
-------------------------------------
 by Adam C. Engst <[email protected]>

 If you're at all like me, searching is one of the main things you
 do on the Web. Perhaps you're searching in Google, looking up a
 word at Dictionary.com, or just trying to find that TidBITS
 article you read a few weeks ago. Let me see if I can guess how
 you go about searching. First, you launch or switch over to your
 Web browser. Then you choose a bookmark, click a toolbar button,
 or just type the name of the site in the browser's address bar.
 After the page loads, you scan the page to locate the Search
 field, click in it, type your search phrase, and press Return.
 Phew! What a lot of work, just to perform a simple search! For
 some Web sites, though, you can bypass much of that effort.

 (As a brief aside, to make sure you aren't wasting as much time
 as Windows users do, note that if you want to visit a Web site
 like www.apple.com, you can just type "apple" - minus the quotes -
 in the address bar and press Return. All Mac Web browsers can fill
 in the "www." and the ".com" for you, although you may have set
 recent versions of Netscape and Mozilla to ignore Netscape's
 annoying Smart Browsing feature by disabling the Internet Keywords
 option in Netscape's preferences). It's a great timesaving trick.)

 The unnecessary parts of the standard approach to searching are
 visiting the home page of the site you want to search, waiting
 for it to load, and then finding and entering the Search field.
 Instead, you can embed an extremely simple JavaScript script in
 a bookmark, that, when clicked, pops up a search dialog and sends
 what you type in that dialog directly to the site's search engine,
 showing you just the results page.

 In case you're starting to worry that this will require
 programming or get complicated, don't worry. I know absolutely
 no JavaScript either, and if you can edit a bookmark, you can use
 this script. I can't take credit for creating the script, either;
 I found it on the Web years ago, perhaps among the tools Google
 provides for simplifying searching. I merely figured out how to
 modify the script for my purposes, and that's what I'm going to
 show you.


**Search Me** -- Here then is the script that I use to search
 TidBITS directly. As you can see, there's almost nothing to it,
 and there are only two parts you need to understand.

  javascript:void(q=prompt('Enter text to search for in TidBITS.',''));
  if(q)void(location.href='http://db.tidbits.com/getbits.acgi?tbtxt='+escape(q))

 First, in the parentheses after the word "prompt" is the text
 that will appear in the dialog that pops up after you click the
 script's bookmark. Enter anything you want there, but if your Web
 browser doesn't honor the spaces between words, replace them with
 %20. (I thought the %20 replacements for spaces used to be
 necessary, but they don't seem to be now.)

 Next, look at the URL. As you can see, it ends somewhat abruptly
 after the equals sign. That's because the script appends the text
 you type in the dialog to the end of the URL, right after the
 equals sign. So, if you want to modify the script to work with a
 different Web site, you need to find a URL into which a search
 term can be inserted. With some sites, like Dictionary.com, that's
 easy, since they display a readable URL that includes your search
 term in the address field after you search. In other cases, like
 Google, you may have to play with the URL a bit, deleting
 unnecessary parts and testing to make sure the URL still works.
 The URLs of many Web sites contain additional session or tracking
 information that's not strictly necessary. There are also Web
 sites like ours, where you're unlikely to guess the proper format
 for a search URL unless someone tells you. Lastly, for some sites,
 like Amazon, it may not be possible to start a search with a
 special URL.

 There's no need for you to put effort into creating these scripts
 for Google or Dictionary.com, since I've already done so.

  javascript:void(q=prompt('Enter text to search using Google.',''));
  if(q)void(location.href='http://www.google.com/search?q='+escape(q))

  javascript:void(q=prompt('Enter word to look up.',''));
  if(q)void(location.href='http://dictionary.reference.com/search?q='+escape(q))


**Enhancing Your Browser** -- Now you have three scripts you can
 use to search TidBITS, Google, and Dictionary.com, and you have
 the basics you need to modify these scripts for other sites that
 will perform a search after being given a properly formatted URL.
 How do you build these scripts into your browser?

 It's simple, although the process is different for every browser.
 Just create a bookmark or favorite, edit it, give it a descriptive
 name, and where the bookmark's URL normally goes, paste one of the
 scripts above. Although it may not matter in your particular
 browser, it's safest to make sure the entire script is all on a
 single line before pasting it into the bookmark's URL field. Some
 Web browsers don't accept Return characters in pasted URLs.

 Since I do so much searching, I like to put the script's bookmark
 in the Web browser's toolbar. That's usually just a matter of
 making sure it's in the appropriate folder in the Bookmarks or
 Favorites window. Then, when I want to search, I switch to my
 browser, click the appropriate bookmark and type the words I want
 to find. No more visiting the site's home page just to find a
 Search field, and no more hunting down an obscured Search field.

 For whatever reason, I'm not bothered by having to switch to my
 Web browser before performing the search. I suspect that's because
 my first subconscious thought is that I have to search on the Web,
 and only secondarily do I think about what site to search.
 However, if you use Internet Explorer (and possibly other
 browsers, though this trick did not work with the Chimera,
 Mozilla, and Netscape cousins), you can also drag the script
 bookmark from the Favorites window to your Desktop to create a
 stand-alone file that you can put it anywhere you want, such as
 your Apple menu in Mac OS 9 or your Dock in Mac OS X. You can also
 use the script file with any utility that can open a file, such as
 QuicKeys, DragThing, or the like. (Since many utilities can open
 URLs directly, you might think you could just paste the script
 into them directly, but in my experience, most don't know what
 to do with a JavaScript script instead of a plain URL.)


**Searching Far and Wide** -- There are undoubtedly many other
 techniques and utilities for speeding the process of searching
 various Web sites. I've tried a number of searching utilities over
 the years, including Apple's Sherlock, but none have ever quite
 grabbed me. It always felt as though they were adding another
 layer of effort to the task rather than simplifying it. However,
 if you have a technique you're particularly proud of, submit it
 to TidBITS Talk at <[email protected]>, and if there are
 enough interesting submissions, I'll collect them and put together
 another article.

  PayBITS: If this technique changes how you search, why not drop
  Adam a few bucks via Amazon's Honor System. No account needed!
  <http://www.amazon.com/paypage/P36I264HFO9H4A>
  Read more about PayBITS: <http://www.tidbits.com/paybits/>


A Mac User's Guide to the Unix Command Line, Part 1
---------------------------------------------------
 by Kirk McElhearn <[email protected]>

 Lesson 1: First Steps with the Command Line

 When Apple announced the release of Mac OS X, many Mac users were
 stunned: here was a new operating system based on the venerable
 Unix, which, they feared, would call into question the Mac's
 legendary ease-of-use. Mac users have long been staunch supporters
 of point-and-click interfaces, and Unix, or so they thought, was
 the exact opposite. Since Mac OS X presents a graphical user
 interface atop its Unix foundations, there is no need for worry -
 seasoned Mac users can feel right at home (after some adjustments)
 with the new interface, and not even know about the Unix
 underpinnings that make Mac OS X run.

 Not everyone was apprehensive, however. Many Mac users, especially
 those who have worked in large businesses or educational
 institutions, have for years used Unix variants, or flavors, such
 as one of the many Linux distributions. They were delighted to
 discover that they could use their Macs and still wield the power
 of Unix (specifically, FreeBSD 4.4, one of the oldest and most
 stable versions of Unix). They can have access to the myriad
 command-line tools available for Unix and the powerful programs
 provided as standard equipment in Mac OS X, such as the Apache
 Web server, numerous network utilities, a compiler and more. And
 they can still benefit from Apple's easy-to-use graphical user
 interface.

 Unix is reputed to be complex - its cryptic commands are said to
 offer a steep learning curve and not be accessible to "the rest
 of us." While this can be true - some Unix commands are like a
 foreign language - the command line can also be simple, useful,
 and powerful.

 The goal of this article (the first in an occasional series to be
 published in TidBITS over the next year) is to present a brief
 example of how you can use Mac OS X's command-line interpreter,
 the Terminal application, to run a few simple commands, and see
 exactly how they work. You will discover, if you follow this easy
 tutorial, that
Unix doesn't bite.


**Opening Terminal** -- Terminal is the program Apple includes in
 Mac OS X to provide the interface between the commands you type
 and the operating system. Terminal is a "dumb" program - it does
 little more than pass information on to a shell (another program
 that interprets these commands) and display the results of these
 commands.

 Start by opening Terminal, which is located in the Utilities
 folder of your Applications folder (or, to use the Unix
 convention, /Applications/Utilities). Double-click the Terminal
 icon. The Terminal window displays, showing something like this:

  Last login: Mon Nov 25 16:03:03 on ttyp1
  Welcome to Darwin!
  [Walden:~] kirk%

 This text tells you several things:

* The first line shows the date and time of the last login,
 followed by the terminal device ("ttyp1") being used.

* The second line is the Message of the Day. The default message
 of the day for Mac OS X (as of version 10.2) is "Welcome to
 Darwin!", Darwin being the name of the Mac implementation of BSD
 Unix. (Like most things in Unix, you can easily change this text;
 we'll see how to do that in a later article.)

* The third line is the prompt. It first shows the localhost, or
 computer, that is being used: in this case, my Mac's name Walden.
 The current directory, or folder, is shown after the colon
 following the localhost name. When you open a new Terminal window,
 the current directory is by default your Home folder, represented
 by the ~ shortcut. The final part of the prompt is the short name
 of the currently logged-in user, kirk. (Obviously, your localhost
 and user name will look different than mine.)

 The prompt indicates that you can type commands. If Terminal is
 working on a command or displaying certain processes, you don't
 see a prompt. If this is the case, you can always open a new
 Terminal window to type commands; you can open an unlimited number
 of Terminal windows, called sessions, at any time.


**Typing Your First Command** -- Now that we've gotten through the
 basics, you're ready to type your first command. Let's start with
 echo, a simple command that displays what follows the command name
 in the Terminal window.

 (Note: in the rest of this article, the commands and text you are
 to type are shown following the prompt sign, %, but without the
 localhost name and user name. You don't need to type the prompt
 text; just type what follows the % sign.)

 Type the following:

  % echo Hello!

 and press Return or Enter. Terminal displays the above line (the
 prompt and the text you type) as you type it. The echo command
 writes an argument to the Terminal's standard output; in this
 case, the Terminal window itself. After you press return, it
 displays the following line:

  Hello!

 Your Mac just said hello to you! Now, you can go even further -
 after all, you don't know to whom it was saying hello. Try this
 command:

  % echo Hello $user!

 My Mac says:

  Hello kirk!

 All commands use a specific syntax - for simple commands, this is
 often just:

  command argument

 Arguments are additional information required for some commands;
 other commands run with no arguments. In the line of text you
 typed above, the command was "echo" and the argument was the text
 you wanted Terminal to display.

 That was easy, wasn't it? You have just used the command line
 under Mac OS X. The echo command is certainly simple, but it
 demonstrates basic command syntax and how Terminal works. (You've
 probably noticed that, after the above text, Terminal displayed a
 new prompt on the following line. This is a way of showing, as
 mentioned above, that the previous command has completed.)

 You can now try typing the echo command with other text if you
 want.


**Reading Directory Contents** -- Let's see some more things you
 can do with Terminal. In the following series of commands, you
 will:

* create a new directory,
* examine the contents of the directory,
* create a new file,
* tell your computer to write some text in that file,
* read the file,
* then delete the file and directory.

 The Terminal prompt shows that you are in your Home (~) directory.
 Let's see what's in this directory. If you recall from looking at
 the Finder window, Home contains a few folders. Type the following
 (the first letter is lowercase L, not the digit 1):

  % ls

 The ls command lists the contents of a directory. Terminal
 displays something like the following:

  Desktop    Library  Music     Public
  Documents  Movies   Pictures  Sites

 This is a list of everything in your Home folder (it may be
 different depending on the contents of your Home folder). However,
 this list doesn't tell you which of the above items are files or
 folders. You can find out by typing the following:

  % ls -F

 Terminal displays this list:

  Desktop/    Library/  Music/     Public/
  Documents/  Movies/   Pictures/  Sites/

 The -F is an option for the ls command; it is also case-sensitive:
 -F is not the same as -f. Options tell certain commands to do
 things in a slightly different way. This option tells Terminal
 to display a slash (/) immediately after each pathname that is
 a directory, an asterisk (*) after each executable (application),
 etc. The slashes here show us that these are directories. If any
 of the above items were files, there would be nothing after their
 names.


**Creating a New Directory** -- Now, you're going to create a new
 directory called Test. Type the following:

  % mkdir Test

 The mkdir command makes new directories. Let's check to make sure
 this directory has been created by repeating the ls -F command,
 which shows:

  Desktop/    Library/  Music/     Public/  Test/
  Documents/  Movies/   Pictures/  Sites/

 There it is: Test/, the directory that you just created.

 Now we are going to move into that directory, using the cd
 command:

  % cd Test

 The cd command changes the current working directory. After
 running this command, the prompt changes to show that we are now
 in the Test directory:

  [Walden:~/Test] kirk%

 As you've already learned, the ~ is a shortcut for your Home
 directory, and the slash means that the following directory
 resides inside the Home directory.


**Creating a New File** -- Let's now create a new, empty file
 inside the Test directory. Type this:

  % touch testfile

 The touch command is typically used to update file access and
 modification times, but it can also create a new file; the
 argument, testfile, is the name we're giving to the file.

 Let's check to make sure the file was created. Type:

  % ls -F

 which should display the following:

  testfile

 Remember that the -F option for the ls command shows a / following
 a directory; it shows nothing for files. So we now have a new,
 empty, file called testfile sitting in the Test directory, just
 waiting for data to be put into it.


**Writing Text to a File** -- Since our file is doing nothing, we
 might as well write something to it. How about writing Hello
 [username]! in this file? To do so, we can use the echo command
 that we learned above. Type the following:

  % echo Hello $user! > testfile

 This command tells Terminal to echo the text Hello [username]!
 to the file called testfile. Let's check and make sure it worked.
 There are several commands that display the contents of your
 files; one of them is cat. Type this:

  % cat testfile

 Terminal should display:

  Hello [username]!

 But since we only see this in the Terminal window, it doesn't
 give the same impression as when we open a document window in
 an application. Let's see what this file looks in a graphical
 application. Type:

  % open .

 (Make sure you type open, then a space, then a period.)

 This tells the Finder to open the current directory (the . is a
 shortcut for that) in a new window. You should see a new Finder
 window, entitled Test, with a file inside it called testfile.

 Double-click the testfile icon, which should launch TextEdit and
 display a window containing the text "Hello [username]!"

 Quit TextEdit to close the file, then switch back to Terminal
 by clicking its icon in the Dock.


**Deleting Files and Folders** -- Now that we have finished our
 brief demonstration, we need to clean up a bit. We don't need
 to keep that file and folder, so let's delete them.

 Warning! The command line is not without certain risks. Unlike
 when you work in the Finder, some tasks you carry out are absolute
 and cannot be undone. The command I am about to present, rm, is
 very powerful. It removes files permanently and completely instead
 of just putting them in the Trash. You can't recover files after
 deleting them with rm, so use it with great care, and always use
 the -i option, as explained below, so Terminal asks you to confirm
 deleting each file.

 Your prompt should look something like this, showing that you are
 still inside the Test directory you created earlier:

  [Walden:~/Test] kirk%

 Type the following:

  % rm -i testfile

 The rm command removes files and directories, in this case the
 file testfile. The -i option tells Terminal to run the rm command
 in interactive mode, asking you to make sure you want to delete
 the file. Terminal asks:

  remove testfile?

 Type y for yes, then press Return or Enter and the file is
 removed. If you wanted to leave it there, you could just type n
 for no, or press Return.

 We should check to make sure the file is gone:

  % ls

 After typing ls, you should just see a prompt. Terminal doesn't
 tell you that the directory is empty, but it shows what's in the
 directory: nothing.

 Now, move up into your Home folder. Type:

  % cd ..

 This is the same cd command that we used earlier to change
 directories. Here, the command tells the Terminal to go up in the
 directory hierarchy to the next directory (the .. is a shortcut
 for the parent directory); in this case, that is your Home
 directory.

 Type ls again to see what's in this directory:

  % ls

 You should see something like this:

  Desktop    Library  Music     Public  Test
  Documents  Movies   Pictures  Sites

 The Test directory is still there, but using rm, it's easy to
 delete it by typing:

  % rm -d -i Test

 The -d option tells rm to remove directories. When Terminal
 displays:

  remove Test?

 Type y, then press Return or Enter. (If you didn't remove
 testfile, as explained above, the rm command won't delete the
 directory because it won't, by default, delete directories that
 are not empty.)

 Make one final check to see if the directory has been deleted.

  % ls

  Desktop    Library  Music     Public
  Documents  Movies   Pictures  Sites


**Summing Up** -- If you worked through this brief demonstration,
 you successfully typed commands in a Terminal window using the
 Unix command line. You created a directory (folder), created a
 file, wrote text to it, then deleted the file and the directory -
 and all with some very simple commands. Here's a brief summary of
 the commands you used:

* echo: displays arguments to the standard output; in the first
 example, this was the Terminal window, in the second example, it
 was an empty file.

* ls: lists the contents of a directory (or folder).

* mkdir: makes a new directory.

* cd: switches to a different directory.

* touch: creates a new, empty file (among other uses).

* cat: views files (among other uses).

* open: lets you open files or folders in the Finder.

* rm: removes files or directories. Use with care!

 Although you haven't accomplished anything extraordinary so far,
 you can see that using Terminal isn't that complicated. All it
 requires is a bit of time to learn the different commands and
 their arguments and options. But if you move ahead slowly,
 learning as you go on, rather than trying to memorize dozens of
 commands, you'll soon find that you are not only comfortable with
 the command line, but that you can do things that help you save
 time and give you much more power.

 In the next installment in this series, you'll learn all how to
 move around in your computer's file system. I'll build on some of
 the commands presented here (cd, ls, mkdir, and others) and
 present many new, useful commands.

 [Kirk McElhearn is a freelance writer and translator living in a
 village in the French Alps.]

<http://www.mcelhearn.com/unix.html>

  PayBITS: Did this article help you dip your toes into Terminal?
  Consider supporting Kirk with a few bucks via PayPal!
  <https://www.paypal.com/xclick/business=kirk%40mcelhearn.com>
  Read more about PayBITS: <http://www.tidbits.com/paybits/>



$$

Non-profit, non-commercial publications may reprint articles if
full credit is given. Others please contact us. We don't guarantee
accuracy of articles. Caveat lector. Publication, product, and
company names may be registered trademarks of their companies.

This file is formatted as setext. For more information send email
to <[email protected]>. A file will be returned shortly.

For information: how to subscribe, where to find back issues,
and more, email <[email protected]>. TidBITS ISSN 1090-7017.
Send comments and editorial submissions to: <[email protected]>
Back issues available at: <http://www.tidbits.com/tb-issues/>
And: <ftp://ftp.tidbits.com/issues/>
Full text searching available at: <http://www.tidbits.com/search/>
-------------------------------------------------------------------