Previous Issue | Search TidBITS | TidBITS Home Page | Next Issue

TidBITS Logo

TidBITS#649/30-Sep-02

QuarkXPress may not yet be Mac OS X-native, but those who rely on it will appreciate guru David Blatner's favorite tips. For people nostalgic for Mac OS 9, Adam examines Jaguar capabilities that simulate tabbed windows. William Porter closes his look at Mailsmith's distributed filtering, and we cover Apple's extension of .Mac trial accounts, plus the iSync public beta, Now Up-to-Date & Contact 4.2.5, and new versions of Internet Explorer.

Topics:

Copyright 2002 TidBITS Electronic Publishing. All rights reserved.
Information: <info@tidbits.com> Comments: <editors@tidbits.com>


This issue of TidBITS sponsored in part by:


MailBITS/30-Sep-02

Apple Extends .Mac Deadline -- If any iTools members remain on the fence about whether to pay for .Mac, Apple is giving you a couple more weeks to decide. The special $50 upgrade price for current iTools members will be available until 14-Oct-02 instead of 30-Sep-02; on 15-Oct-02, any data still in iTools accounts which have not signed up for .Mac services will be erased. So, if you don't plan to use .Mac, you have an extra two weeks to rescue any data and inform correspondents to use a different email address. [JLC]

<http://www.mac.com/>
<http://db.tidbits.com/getbits.acgi?tbart=06934>

iSync Public Beta Released -- More than two months after previewing iSync at Macworld Expo, Apple has released a public beta of its multifaceted synchronization software. This initial version includes support for synchronizing data to .Mac accounts, iPods, and supported cellular phones (such as the Sony-Ericsson T68i demonstrated at Macworld). Palm devices are supported through an iSync conduit that works with HotSync Manager; you need HotSync Manager 3.0, part of the Palm Desktop 4.0 package. As expected in a public beta, some functionality is missing or incomplete: notes or memos in Palm devices do not sync, the Conflict Resolver dialog does not display all fields properly, you can't synchronize with .Mac through a proxy server, and in several cases you could end up with duplicate records. As always, be sure to make a backup of your important data! The iSync 1.0 Beta is a free 6.9 MB download, and requires Mac OS X 10.2.1. [JLC]

<http://www.apple.com/isync/>
<http://www.palm.com/macintosh/>

Internet Explorer Updates Address Vulnerability -- Microsoft has released a pair of Internet Explorer updates aimed at resolving a security vulnerability related to digital certificates - in the right situation, an attacker could use it to enable a number of identity spoofing attacks. The updates - version 5.1.6 for Mac OS 9 and 5.2.2 for Mac OS X - also include all other recent fixes. Microsoft made no release notes available, but it's unlikely that the new versions incorporate any new features. Microsoft didn't even update Internet Explorer's installer in the Mac OS X version, which unnecessarily insists on quitting all active applications. Version 5.1.6 is a 5.4 MB download; version 5.2.2 is a 7.2 MB download. [ACE]

<http://www.microsoft.com/mac/download/ie/ie5_classic.asp>
<http://www.microsoft.com/mac/DOWNLOAD/IE/ie5_osx.asp>
<http://www.microsoft.com/technet/treeview/?url=/technet/security/bulletin/MS02-050.asp>

Now Up-to-Date & Contact 4.2.5 Released -- Now Software has released Now Up-to-Date & Contact 4.2.5, adding Jaguar compatibility and iPod synchronization to its powerful calendaring and contact management program. Also new is text smoothing under Mac OS X 10.1.5 and higher. Notable fixes include dialing via modem, proper display of menu bar icons for the Quick Contact and Quick Day components, and contacts opened via Quick Contact appearing in detail view. Now Up-to-Date & Contact 4.2.5 is a free update for existing users, and is a 15 MB download. [JLC]

<http://www.poweronsoftware.com/products/nudc/>
<http://www.poweronsoftware.com/jaguar.html>


Jaguar Brings Back Tabbed Windows?

by Adam C. Engst <ace@tidbits.com>

Excitement ran high recently on TidBITS Talk, when Jim Grisham mentioned that it seemed as though some of the behavior for Mac OS 9's tabbed windows was partially available in Mac OS X 10.2 Jaguar. Further investigation showed that Apple may be aiming at returning tabbed windows to Mac OS X, but the feature isn't quite there yet. Despite that disappointment (some of us here at TidBITS remain big fans of tabbed windows), Jaguar's new capabilities with regard to obscured windows are welcome, and you might find them useful in your everyday work.

<http://db.tidbits.com/getbits.acgi?tlkthrd=1759>

Pseudo Tabbed Windows -- To see what caused all the excitement, first put your Dock on the left or right side of the screen. Then open a window in the Finder and drag it all the way to the bottom of the screen so only the title bar shows. It fits down there nicely, and, if the window is fairly narrow, even looks a bit like the tabs of old. Now drag a file onto the tabbed title bar and pause briefly. After about two seconds, the window smoothly slides up. (If you press the Spacebar while hovering over the tabbed title bar, the window pops up immediately.) Without letting up on the mouse button, drag the icon off the tabbed title bar, and the window smoothly slides back down, just like the tabbed windows of old. The problem is that if you actually drop the icon into the window in its open state, it stays open, which is not how tabbed windows worked.

Now, let's say you want to get something out of this pseudo tabbed window. It has no tab to click, of course, but if you click the green zoom button, the window immediately zooms to a size large enough to display the contents of the folder. Click the green zoom button again, and it shrinks back down to the tabbed title bar look. (Occasionally, you may have to click the zoom button an extra time or two, as the Finder flips between different states for the window.) Again, it's not quite the way tabbed windows worked, since they would open automatically when you clicked anywhere on the tab and close automatically as soon as you clicked outside the open window.

The behavior is slightly different if you put your Dock on the bottom of the screen. With the Dock showing, you can't drag windows so only their title bar shows, and although dragging an icon to a visible portion of the window's title bar does cause it to slide up and reveal the entire window, it's hard to avoid dragging onto the Dock. You can hide the Dock by choosing Turn Hiding On from the hierarchical Dock menu in the Apple menu, but that doesn't solve the problem entirely. You still can't get only the window's title bar to show, and dragging an icon all the way to the bottom of the screen causes the Dock to pop up.

But these behaviors provide a hint to the more generalized explanation of what is going on, which Gordon Meyer alerted us to on TidBITS Talk. In Jaguar, if you drag an icon onto a portion of a window that's obscured, either by another window or because it's partially off-screen, the Finder treats it like a spring-loaded folder, either by bringing the window to the front or moving it so you can see its contents. You can try this by shoving a window almost entirely off the left or right edge of the screen and then dragging an icon to it - you'll see the window slide over smoothly. The effect is most striking if the window is in one of the lower corners of the screen, since then it slides up on a diagonal.

In short, though Jaguar doesn't yet have tabbed windows, you can simulate some of how they worked, and no matter what, it's good to know that dragging something to a partially obscured Finder window (you must be in the Finder when you start the drag) will cause that window to reveal itself.

Tabbed Application Launchers -- If you like the tabbed window approach and want to use it in other contexts, check out Sig Software's Drop Drawers X, an application launcher that offers a tabbed window interface. Also, the recently released DragThing 4.5, also an application launcher, offers a mode in which any of its docks can be turned into a drawer. Although both of these utilities offer extensive customization capabilities and numerous other features, neither exactly duplicates the basic functionality of Mac OS 9's tabbed windows, which display the constantly updated contents of a folder.

<http://www.sigsoftware.com/dropdrawers/>
<http://www.dragthing.com/>

PayBITS: The TidBITS community helped with this article; if
you found it of value, consider contributing to TidBITS!
<http://www.tidbits.com/about/support/contributors.html>
Read more about PayBITS: <http://www.tidbits.com/paybits/>


QuarkXPress 5 Tips and Tricks

by David Blatner <david@moo.com>

Quark, Inc. continues to be an enigma in the Macintosh software world. Its flagship application, QuarkXPress, still dominates the desktop publishing market, despite inordinately long development cycles between revisions and a lack of direct support for the latest Mac technologies. XPress 5 runs under Mac OS 8.6 or later or in Classic mode under Mac OS X, and many dialog boxes still have that pre-Mac OS 9 feel to them. Quark recently announced that the Mac version of XPress 6, due out sometime in 2003, will only run under Mac OS X.

XPress remains the dominant player for good reason: it's a deep, powerful program that gets the job done. QuarkXPress 5 can also be a gold mine for those who enjoy tips and techniques that can help streamline the way they use it. Here are some of my favorites.

Create One-Celled Tables -- Have you ever wanted to draw a text box with different line thicknesses on each side? Or a box that only has a border on three sides? Try this trick: Make a table using the Table tool with only one column and one row, and then select each side individually (Shift-click it) and change its color, style, or width. To make a box with a border on only three sides, select the fourth side and change its color to match the background. (Because you can't set table gridlines to a color of None, this trick won't work if you need to put the table over a picture or a multi-colored background.)

Web-Safe Colors in XPress -- In the "bad old days," most people had 8-bit color monitors which could only display 256 colors at any one time, and colors would often become dithered (which looked kind of mottled and ugly). To counteract this problem, people tried to pick colors from a palette of 216 "Web-safe" colors, which wouldn't dither on screen. Today, every computer can display 24-bit color, few colors are ever dithered on screen, and designers can generally choose whatever RGB color they want. However, if you care about using Web-safe colors, XPress can give 'em to you.

When you have a Web document open, XPress automatically displays a bunch of Web colors in the Colors palette, like Web Navy and Web Maroon. However, these are not necessarily Web-safe colors. If you want to add a Web-safe color to your document, you can select Web Safe Colors from the Model pop-up menu in the Edit Color dialog box. Or, use my favorite method.

  1. Pick any RGB color in the Edit Color dialog box.

  2. Change the percentage values in each of the Red, Green, and Blue fields to the nearest 20-percent mark - 0, 20, 40, 60, 80, or 100 percent. For instance, if the Red field reads 24 percent, change it to 20 percent. If the Blue field reads 71 percent, change it to 80 percent.

  3. Save the color (you might include "Web-safe" in its name to remind you).

Web Images in XPress: Use TIFFs, not EPS Files -- XPress can automatically convert your document's TIFF and EPS pictures into GIF or JPEG files upon export to the Web. However, because EPS graphics contain "encapsulated" data, XPress can't get in to convert them properly, so you end up with GIF or JPEG versions of the low-resolution screen previews you see in XPress. Yuck! If you plan to repurpose your XPress pages, stick with TIFF files. (Though, to be painfully honest, you'll often achieve better results if you convert the images yourself in Photoshop and import them into XPress as GIF or JPEG.)

Quick 'n' Dirty Background Lines -- Tables in which every other row is tinted (like an accountant's ledger) are notoriously difficult to build in XPress. Here's how XPress's custom dashes can do the trick.

  1. Select Dashes and Stripes from the Edit menu, and create a new dash.

  2. In the Edit Dash dialog box, set the Repeats Every pop-up menu to Points and turn off the Stretch to Corners checkbox. Double the height of each row and type the result in the Repeats Every field. For instance, if the table rows are 14 points tall, type 28 (2 times 14).

  3. Now type the height of the table's rows in the Position field and press the Add button. (In the example above, you'd type 14 and press Add.)

  4. Save this dash with a descriptive name and apply it to a line.

  5. Set the width of the line to be the same width as your table. For example, the line width might be 6 inches thick. Finally, change the color and the shade of the line (and the gap, if you want).

Boxes with One Round Corner -- It's easy to make a rounded-corner rectangle in QuarkXPress. But what if you only want one or two rounded corners on a rectangle? Don't worry, almost anything is possible!

  1. Use Step and Repeat to duplicate the box with zero offsets.

  2. Set the Corner Radius of your duplicate box to the radius you desire (in the Modify dialog box).

  3. Select the original box and choose the Bezier box shape from the Shape submenu (under the Item menu). That's the one that looks like an oval with one part squished in.

  4. Option-click on the sides of the original rectangle near the corner (but not too near). This adds points. Make sure you don't move the point accidentally!

  5. Option-click the corner point to delete it.

  6. Finally, select both rectangles and then choose Union from the Merge submenu (under the Item menu). The result is a box with one rounded corner.

Comparing Two Styles -- I hate it when I have two styles that are very similar but I can't remember how they're different. Fortunately, QuarkXPress lets you compare two style sheets. Select two styles in the Style Sheets dialog box (click one, and then Command-click the other), then Option-click the Append button. (Actually, as soon as you press the Option key, you'll see the Append button change to a Compare button.) The result: a dialog box that lists each element of the two style sheets; the differences are highlighted in bold. Of course, you can only compare two character styles or two paragraph styles; you can't mix and match.

From Beginning or End - You can print all the pages in a document by typing "All" in to the Pages field of the Print dialog box. On the other hand, if you only want to print the first four pages, you can type the cryptic "+1-+4" (remember that when it comes to page numbers the plus sign means "absolute page number," no matter what page numbering scheme you're using). To print from page 15 to the end of the document, type "15-end".

Post-it Notes -- If your XPress documents need to move from one person to another, you may want to add comments to certain objects or areas of a page. By taking care of QuarkXPress's ability to suppress the printout of any item, you can easily create noticeable but non-printing, electronic "Post-it" notes, to contain comments and suggestions about an individual document.

Create a text box and enter the text of the note. Then select Modify from the Item menu, give the box a background color of 70 percent yellow, a runaround of None, and turn on Suppress Printout. Any object that has Suppress Printout turned on and runaround turned off is a "non-object;" it shows up on screen, but won't print or affect anything on the page.

Making Content-less Boxes -- It took 10 years for the engineers at Quark to figure out that we sometimes put boxes on our pages not to contain text or a graphic, but just for the sake of a background color (sometimes known as a tint build). In the past, you had to use a picture box or a text box to do this, with annoying side effects. Empty picture boxes display a big "X" in them; and text boxes, when covered by other boxes, display an overset mark, even if there's no text in them to overset. Instead, select the box and choose None from the Content submenu of the Item menu.

Snapping Line Edges to Guides -- When you drag a line close enough, it snaps to the nearest guide. But what part of the line snaps? Whereas a box or a group always snaps to a guide based on its bounding box, there are different rules for lines. Lines built with the Diagonal and Orthogonal Line tools always snap to guides at their endpoints. Bezier lines, on the other hand, generally snap like boxes - at the edges of their bounding boxes. If your line is thin, like 0.5 point, it hardly matters where it's snapping. If it's thick, though, it could make a big difference.

You can force a diagonal or orthogonal line to snap at its edge instead of its endpoints by selecting it along with another object. For instance, you could draw a little dummy picture box above a line, select both the line and the box, and then drag them both close above the guide. This lets you snap the bottom of the line to the guide; then you can delete the picture box you made.

You can force a point on a Bezier line to snap to a guide by selecting it first. If you want to move the whole line, select all the points (double-click on any point on the curve) before dragging the point you're trying to align.

Cut or Copy the Opposite -- If you have the Content tool selected, you can cut or copy an item itself (as though you had the Item tool selected) by adding Option to the keystroke: Command-Option-C copies the object, Command-Option-X cuts it.

Anchoring Text Outlines -- If you hold down the Option key when you select Text to Box (from the Style menu), XPress converts the text to an outline and automatically anchors it in the text box.

Scale-Specific Guides -- Here's one of my favorite "hidden" features in QuarkXPress: If you hold down the Shift key while dragging a ruler guide onto your page or spread, it becomes magnification-specific. That is, if you pull it out while in Actual Size view, you'll only be able to see it only at Actual Size view or a higher (more zoomed-in) magnification. If you zoom out (let's say to Fit in Window view), it disappears. This is great for those times when you want to see a thumbnail of the page without guides, but need the guides to work with normally.

[David Blatner is the author of Real World QuarkXPress 5 (formerly The QuarkXPress Book), from which these tips have been adapted. He is also the author or co-author of Real World Photoshop 7, Real World Scanning and Halftones, and The Joy of Pi.]

<http://www.amazon.com/exec/obidos/ASIN/0201354926/tidbitselectro00/>
<http://www.amazon.com/exec/obidos/ASIN/0321115600/tidbitselectro00/>
<http://www.amazon.com/exec/obidos/ASIN/0201696835/tidbitselectro00/>
<http://www.joyofpi.com/>

PayBITS: Did these tips help you use QuarkXPress better and/or
save you time? If so, why not send David a few bucks via PayPal?
<https://www.paypal.com/xclick/business=david%40moo.com>
Read more about PayBITS: <http://www.tidbits.com/paybits/>


Mailsmith and Distributed Filtering, Part 2

by William Porter <wp@polytrope.com>

Last week I explained how you can use Mailsmith's distributed filters to manage your incoming mail in flexible and efficient ways. This week I concentrate on outgoing mail, with a few tips on handling mail you do not expect - and may or may not want.

<http://db.tidbits.com/getbits.acgi?tbart=06943>
<http://www.barebones.com/products/mailsmith.html>

Filtering Outgoing Messages -- In most email programs, the mail you send is all lumped together in a single Out box on the assumption that you probably don't want to read something you've written. However, it's often important to go back and discover what you said to someone (did you really tell your client that job would be done by Friday?), or make sure you're not repeating yourself on a mailing list. With every outgoing message stored in one Out box, you must either perform a search or scan the messages by date to find the one you're looking for.

To work around this annoyance, I use Mailsmith to filter my outgoing mail into logical locations. For example, all messages between me and a client - incoming as well as outgoing - are grouped together in one mailbox, making it easy to experience the back-and-forth nature of our correspondence.

On the surface, it would appear that you can't use Mailsmith's distributed filtering to process outgoing messages. It's true that you can't get mail out of the outgoing mailbox using a deposit-action filter, because a move directly from the outgoing mailbox to any user-defined mailbox would be a lateral move, and deposit-action filters don't work this way. They must always drill further down inside a given mailbox. The trick to making this work is to get all your mail out of the outgoing mailbox and into one that contains the other mailboxes - you can do this by defining only one such filter. From that point on, deposit-action distributed filters can kick in.

The test to use for this filter is simple enough:

   If Sent Is equal to True...

Two things to note about this test. First, the special Sent property of messages in Mailsmith applies to only outgoing messages; it fails (or is ignored) when applied to incoming messages. Second, since mail in the outgoing mailbox is filtered only after it has been sent, this test is strictly a formal requirement. You can't define an action without defining a test to trigger it, and this is the one test that all outgoing mail will satisfy.

So where do we transfer these messages? The incoming mailbox would seem like the obvious choice, since all other mailboxes, including the outgoing mailbox, sit logically inside it. But that hierarchy is precisely why the incoming mailbox won't work. Follow along for a minute: You send a message. Once it's on its merry way to the intended addressee, Mailsmith transfers it out of the outgoing mailbox and up to the incoming mailbox, and since the transfer action causes further filtering to be halted, the message just sits there. Later (seconds later, or weeks later) you reapply your filters to this message. It is offered first to the outgoing mailbox, which - you guessed it - kicks it back up to the incoming mailbox. It's like catching a fish that's too small, throwing it upstream, then catching it again, and throwing it back upstream. If you don't want to see that fish any more, you need to throw it in the other direction.

The solution is to create a catch-all mailbox that lives downstream from the outgoing mailbox in the filtering hierarchy and contains all your other user-defined mailboxes. Then, you start filtering everything from there. Accordingly, my folders are set up something like this:

   (incoming)
     (outgoing)
     my mail
        - clients
        - lists & subscriptions
        - personal

The mailbox named "my mail" is one that I created. (I could have named it anything I wanted.) Only three filters are attached to it to catch mail from all of my server accounts. When messages are downloaded, they are moved here first. Nothing is ever left in my incoming mailbox.

This arrangement proves to be very flexible no matter what type of outgoing mail I have. I have outgoing messages to mailing lists deleted, since I know I'll get copies back from the list. I use a single filter for this purpose, with a test that catches outgoing messages to each of the lists I subscribe to:

   If To Contains "mailsmith-talk@barebones.com"
   Or To Contains "bbedit-talk@barebones.com"
   (etc.)

This filter does not need the "Sent Is equal to True" test. That test was simply a formality to catch outgoing messages that didn't match any more specific tests. Why don't I just test to see what server account is being used for outgoing mail and throw everything sent using the "lists" account to the trash? Because occasionally I write off-list messages to people using that account, and I may want to preserve them.

Outgoing messages not addressed to lists are then processed by the next filter:

   If Sent Is equal to True
   Transfer (to) "my mail"

This moves everything that is not to a list into the "my mail" mailbox.

From time to time, I manually refilter that mailbox so the appropriate subordinate mailboxes in my hierarchy pull all the outgoing messages into themselves. Doing so insures that messages to my mother end up in the same folder as messages from her.

And the neatest thing is that the same filter processes both incoming and outgoing mail. How is this possible? To use a modification of an example from last week, I use the following filter to catch correspondence from a certain imaginary client:

   If (any address) Contains "@notsobig.com"
   [Then] Deposit

This filter catches not only mail to me from the guys at Not So Big, Inc., but also my mail back to them. The "(any address)" criterion first appeared in Mailsmith 1.5.3. So: one correspondent, one mailbox, one filter. Very efficient.

Are Transfer-Action Filters Obsolete? With the sole exception of the filter used to extract sent mail from the outgoing mailbox, all of the filters I have described use the deposit action, because it's integral to the concept of distributed filtering. If you use the deposit action to pull a message into a folder, you don't have to specify the folder's name, and that means you can use the same filter in many different contexts. Plus, the deposit action does not forestall additional movement of the message the way the transfer filter does. The deposit action - unique to Mailsmith - is so important to distributed filtering that it's easy to think they're one and the same thing.

Nevertheless, the transfer action remains useful, at times even necessary. As I pointed out above, you must use at least one transfer-action filter if you want to filter outgoing mail, since deposit-action filters can't get their hands on outgoing messages any other way.

The essential ideas of distributed filtering are, first, that different filters are attached to different mailboxes and second, that the filters are applied in conformity to the way you organize your mailboxes. Almost every mailbox in my hierarchy has at least one filter attached to it. The one exception is the incoming mailbox, which has absolutely none.

Dealing with Leftovers -- Because I filter the messages I expect so aggressively, almost all of my correspondence with lists, clients, family, and friends ends up in the right place instantly. But not all of it. Five to ten percent of the mail I receive is either (a) welcome but unexpected or (b) extremely unwelcome but increasingly expected - in other words, spam. The odds are heavily weighted in favor of (b), but not heavily enough that I can simply move all unfiltered messages into the trash without perusing them first.

There's not much you can do about the messages in group (a). You can't create filters for messages you don't see coming. A couple weeks ago, I received email from my best friend in high school. I hadn't heard from him in twenty-five years, so I didn't have a filter defined for him. Even some messages you do expect are hard to filter, for example, acknowledgments from online stores where you've just placed an order. These messages land in the "my mail" mailbox and I file them by hand.

And as for group (b) - spam - well, filtering spam turns out to be constant and persnickety battle. I do want to note, however, that the fact that Mailsmith lacks a built-in spam-sniffing process like those in Microsoft Entourage and Apple's Mail does not mean that Mailsmith users are by any means defenseless against spammers. Although traditional filtering techniques work as well on spam as distributed filters, Mailsmith still performs well thanks to its powerful grep pattern matching capabilities. The members of the Mailsmith Talk list love to share spam-catching tests, many of which make use of grep to tease out the subtle patterns that differentiate spam from legitimate messages.

Honestly, though I initially wrote more about filtering spam, over the last few weeks I've stopped using most of my homegrown filters in favor of a new shareware utility for Mac OS X called SpamSieve. Written by developer Michael Tsai, SpamSieve employs Bayesian probability theory to identify junk mail (the first link below explains the theory behind Bayesian filtering). You have to train SpamSieve by feeding it both spam and legitimate messages, but once it has a satisfactory statistical base, you can ask it to start identifying and labeling spam, using Mailsmith's custom labels feature; then you filter the spam wherever you want. I've been using SpamSieve with excellent results - no false positives, and a growing success rate at identifying the mail that I personally regard as spam. And the best thing is that it merely extends Mailsmith's capabilities, so what happens to the spam remains entirely within my control. [We're planning a full review of SpamSieve soon - it currently supports Mailsmith, Entourage, and CTM Development's PowerMail; support for other email clients, including Eudora, is in the works. -Adam]

<http://www.paulgraham.com/spam.html>
<http://www.c-command.com/spamsieve/>

Getting It -- Distributed filtering is so novel that it took me a while to "get it," and I have noticed other people going through a similar evolution on the Mailsmith Talk list. If you don't get distributed filtering, or if for some reason you decide you just don't like it, Mailsmith lets you work entirely with traditional filters, and even in this area, it's more powerful than any of its competitors. But if you stick with distributed filtering for a while, you will get it, and once you do, you won't want to go back.

PayBITS: Did learning about Mailsmith's distributed filtering
save you time? If so, why not drop Will a few bucks via PayPal?
<https://www.paypal.com/xclick/business=paypal%40polytrope.com>
Read more about PayBITS: <http://www.tidbits.com/paybits/>


Non-profit, non-commercial publications and Web sites may reprint or link to articles if full credit is given. Others please contact us. We do not guarantee accuracy of articles. Caveat lector. Publication, product, and company names may be registered trademarks of their companies. TidBITS ISSN 1090-7017.

Previous Issue | Search TidBITS | TidBITS Home Page | Next Issue