home *** CD-ROM | disk | FTP | other *** search
/ db.tidbits.com / db.tidbits.com.tar / db.tidbits.com / getbits.acgi?tbart=00906.orig < prev    next >
Text File  |  2010-09-23  |  44KB  |  790 lines

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2.         "http://www.w3.org/TR/html4/loose.dtd">
  3.  
  4. <html lang="en">
  5. <head>
  6.     <meta http-equiv="content-type" content="text/html;charset=utf-8">
  7.     <meta http-equiv="Content-Language" content="en">
  8.     <title>TidBITS : The Database Returns</title>
  9.  
  10.     <meta name="title" content="TidBITS : The Database Returns">
  11.     <meta name="description" content="TidBITS is a free email and Web publication covering the Macintosh Internet community.">
  12.     <link rel="image_src" href="/images/tblogo9.gif" />
  13.     <meta name="keywords" content="Apple, Mac, Macintosh, Mac OS, Mac OS X, newsletter, Internet, analysis, reviews, technology, news, TidBITS, TidBITS Talk, Engst">
  14.     <link rel="Help" href="http://www.tidbits.com/about/about-tidbits.html" title="About TidBITS">
  15.     <link rel="Search" href="http://www.tidbits.com/search/" title="Search All TidBITS Content">
  16.     <link rel="Author" href="http://www.tidbits.com/about/contact-info.html" title="Contact Information">
  17.     <link rel="Contents" href="tb-issues/" title="TidBITS Issue Archive">
  18.     <link rel="alternate" type="application/rss+xml" href="http://db.tidbits.com/feeds/tidbits.rss" title="TidBITS Full Text Feed">
  19.     <link rel="alternate" type="application/rss+xml" href="http://db.tidbits.com/commentfeeds/firehose.xml" title="TidBITS Full Comments Feed">
  20.  
  21.     <link rel="stylesheet" href="/tidbits_2010_001.css" type="text/css">
  22.     <LINK rel="stylesheet" type="text/css" media="print" href="/tb-new-print.css">
  23.     <script src="/javascript/tb.js" type="text/javascript"></script>
  24.     <meta name="viewport" content="width:940">
  25.     <script type='text/javascript' src='http://db.tidbits.com/ads/delivery/spcjs.php?id=2'></script>
  26.     <script src="/javascript/prototype.js" type="text/javascript"></script>
  27. <script src="/javascript/scriptaculous.js" type="text/javascript"></script>
  28. <script src="/js-global/FancyZoom.js" type="text/javascript"></script>
  29. <script src="/js-global/FancyZoomHTML.js" type="text/javascript"></script>
  30. <script type="text/javascript"  src="http://api.recaptcha.net/js/recaptcha_ajax.js"></script>
  31.  
  32. </head>
  33. <body onLoad="setupZoom()">
  34. <!-- popup query -->
  35. <div id="big_ole_background" style="display:none"> </div>
  36. <div id="tipbits_enclosure_preview" style="display:none">
  37. <div class="tearoffbox_wide_container">
  38. <div class="tearoffbox_wide_tips">
  39.  
  40. <div class="tip_display">
  41. <div class="preview">
  42. <h6><span id="p_tips_title"></span></h6>
  43. <p id="p_tips_text"></p>
  44. <p>Visit <a href="javascript:void(0)" id="p_url"><span id="p_label"></span></a></p>
  45. <p class="credit">Submitted by <span id="p_reader"></span></p>
  46. <p><input type="submit" value="Back" name="preview_tip" onClick="preview_box('ts','tipbits_enclosure_preview'); return false;"></p>
  47. </div>
  48. </div>
  49. <div class="tearoffbox_wide_bottom_tips">
  50. </div>
  51.  
  52. </div><!-- end tearoffbox_wide_tips -->
  53. </div><!-- end tearoffbox_wide_container for tips-->
  54. <!-- end tearoff box wide -->
  55. </div><!-- end enclosure -->
  56.  
  57. <div class="popup_box_with_captcha" id="ts" style="display:none">
  58.     <div id="popup_box_thanks" style="display:none" onClick="close_popup_thanks('popup_box_thanks', 'ts')"><br>Thanks for submitting your tip! All submissions are moderated by an editor before appearing online. We've reset the form so you can enter another tip. Or you can close the tip submission box.    <div class="x_close" id="thanks_upper_right"><a href="javascript:void(0)" onmousedown="close_popup_thanks('popup_box_thanks', 'ts'); return true;">Close</a></div></div>
  59.     <div class="tip_box_format">
  60.     <div id="ts_innards" onClick="close_popup_thanks('popup_box_thanks', 'ts')">
  61.         <div class="tip_box_head">TipBITS Submission</div>
  62.         <div class="tip_box_form">        
  63.                 
  64.             <div class="tbf_row" id="ts_message_box" style="display:none">
  65.                 <div class="tbf_wide"><div class="tbf_alert" id="ts_top_message"></div></div>
  66.             </div>
  67.             <div class="spacer"></div>
  68.  
  69.             <form action="foobar.cgi" method="get" name="submit_tip">
  70.  
  71.             <div class="tbf_row"><div class="tbf_wide_extra_top not_bold">Please submit only technical tips that will help other TidBITS readers better use their Macs, iPhones, and related software and hardware. All product announcements should be sent to <a href="mailto:releases@tidbits.com">releases@tidbits.com</a>.</div></div>
  72.             <div class="spacer"></div>
  73.             <div class="tbf_row">
  74.                 <div class="tbf_left">Tip title<span class="required_field">*</span></div><div class="tbf_right"><input type="text" value="" id="tip_title_id" name="tip_title" tabindex="1"></div>
  75.             </div>
  76.             <div class="spacer"></div>
  77.             <div class="tbf_row">
  78.                 <div class="tbf_left">Your tip<span class="required_field">*</span></div><div class="tbf_right"><textarea name="tip_text" rows="3" cols="40" tabindex="2"></textarea></div>
  79.             </div>
  80.             <div class="spacer"></div>
  81.             <div class="tbf_row">
  82.                 <div class="tbf_left">URL</div><div class="tbf_right"><input type="text" value="" name="tip_link_url" tabindex="3"><span class="tip_description"><br>Enter the URL to a Web page that supports your tip.</span></div>
  83.             </div>
  84.             <div class="spacer"></div>
  85.             <div class="tbf_row">
  86.                 <div class="tbf_left">Linked text</div><div class="tbf_right"><input type="text" value="" name="tip_link_label" tabindex="4"><span class="tip_description"><br>Enter the name of the page linked above.</span></div>
  87.             </div>
  88.             <div class="spacer"></div>
  89.             <div class="tbf_row">
  90.                 <div class="tbf_left">Your name<span class="required_field">*</span></div><div class="tbf_right"><input type="text" value="" name="tip_reader_name" tabindex="5"></div>
  91.             </div>
  92.             <div class="spacer"></div>
  93.             <div class="tbf_row">
  94.                 <div class="tbf_left">Your email<span class="required_field">*</span></div><div class="tbf_right"><input type="text" value="" name="tip_reader_email" tabindex="6"></div>
  95.             </div>
  96.             <div class="spacer"></div>
  97.             <div class="spacer"></div>
  98.                 <div class="tbf_wide"><span class="fine_print"><span class="required_field">* indicates required fields</span></span></div>
  99.             <div class="spacer"></div>
  100.             <div class="tbf_row">
  101.                 <div class="tbf_wide_extra_top"><span class="fine_print">To help us avoid automated posts and spam, please enter the words below.</span></div>
  102.             </div>
  103.             <div class="spacer"></div>
  104.             <div class="tbf_row">
  105.                 <div class="tbf_wide"><div id="ts_recaptcha"></div></div>
  106.             </div>
  107.             <div class="spacer"></div>
  108.             <div class="tbf_row">
  109.                 <div class="tbf_wide"><input type="submit" value="Preview Your Tip" name="preview_tip" onClick="fill_preview('tipbits_enclosure_preview', 'ts', this.form); return false;" tabindex="7"> <input type="submit" value="Send Us Your Tip!" name="submit_this_tip" onClick="handle_tip_submission('ts', '', this.form, 'tip'); return false;" tabindex="8"></div>
  110.             </div>
  111.             <div class="spacer"></div>
  112.             <div class="tbf_row">
  113.                 <div class="tbf_wide"><span class="fine_print">When you submit a tip, you give us permission to use it. Read <a href="javascript:void(0)" onClick="generic_show_hide('tip_terms')">our terms</a> for more details. All submissions are reviewed before publication.</span></div>
  114.             </div>
  115.             
  116.             <div class="tbf_row" id="tip_terms" style="display: none">
  117.                 <div class="tbf_wide"><span class="fine_print">Our terms: By submitting a tip, you agree to assign TidBITS Publishing Inc., a non-exclusive, worldwide, perpetual license to reproduce, publish, and distribute your tip in connection with the TidBITS Web site and associated products in any media. You agree that you created the content you submitted, and that you have the right to assign us this license. You give us permission to use your name, but your email address won't be publicly displayed or shared. We review all submissions before publication, and reserve the right to select which submissions we feel are appropriate for our readers and to edit those we publish.</span></div>
  118.             </div>
  119.             <div class="spacer"></div>
  120.             </form>
  121.         </div><!-- end tip_box_form -->
  122.     </div><!-- end tip box innards -->
  123.     </div><!-- end tip box format -->
  124.     
  125.     <div class="x_close" id="ts_upper_right"><a href="javascript:void(0)" onmousedown="HidePopupContent('ts', 'ts', ''); return true;">Close</a></div>
  126.     
  127. </div><!-- end tip_submit box-->
  128.  
  129. <div class="popup_box_with_captcha" id="article_reference" style="display:none"><div class="article_ref_format"><textarea style="width:350px; height:100px;" name="article_ref" id="article_ref_box"></textarea></div>    <div class="x_close" id="article_reference_upper_right"><a href="javascript:void(0)" onmousedown="HidePopupContent('article_reference', 'article_reference', ''); return true;">Close</a></div>
  130. </div>
  131.  
  132. <div class="popup_box_with_captcha" id="comm" style="display:none">
  133.     <div class="tip_box_format">
  134.     <div id="comment_thanks" style="display:none" onClick="close_popup_thanks('comment_thanks', 'comm')"><br>Thanks for submitting a comment! Please check your email for a link that, when clicked, will verify that you're a real person and cause your comment to appear immediately. <div class="x_close" id="comment_upper_right"><a href="javascript:void(0)" onmousedown="close_popup_thanks('comment_thanks', 'comm'); return true;">Close</a></div></div>
  135.     <div id="comm_innards" onClick="close_popup_thanks('comment_thanks', 'comm')">
  136.         <div class="tip_box_head" id="comm_headline">Post a Comment</div>
  137.         <div class="tip_box_form">        
  138.                 
  139.             <div class="tbf_row" id="comm_message_box" style="display:none">
  140.                 <div class="tbf_wide"><div class="tbf_alert" id="comm_top_message"></div></div>
  141.             </div>
  142.             <div class="spacer"></div>
  143.  
  144.             <form action="foobar.cgi" method="get" name="post_comment" id="post_comment">
  145.             <input type="hidden" name="comment_nest" value=''>
  146.             <input type="hidden" name="comment_id" value=''>
  147.             <input type="hidden" name="article_id" value='2632'>
  148.             <input type="hidden" name="edit" value=''>
  149.             <div class="tbf_row">
  150.                 <div class="tbf_left">In reply to</div>
  151.                 <div class="tbf_right">
  152.                     <div id="cb_quoted_row">
  153.                         <div class='cb_open_quote'>“</div>
  154.                         <div id="cb_quoted"></div>
  155.                         <div class='cb_close_quote'>”</div>
  156.                     </div>
  157.                     <div class="spacer"></div>
  158.                 </div>
  159.             </div>
  160.             <div class="spacer"></div>
  161.  
  162.             <div class="tbf_row">
  163.                 <div class="tbf_left" style="padding-top:0">Your comment</div>
  164.                 <div class="tbf_right"><textarea tabindex="1" name="cb_item_add" id="cb_item_add" rows="4" cols="50" onKeyDown="count_insert('cb_item_add','cb_char_count')"></textarea><br><div class="cb_char_count" id="cb_add_count">Remaining characters: <span id="cb_char_count">0</span></div></div>
  165.             </div>
  166.             <div class="spacer"></div>            
  167.  
  168.             <div class="tbf_row">
  169.                 <div class="tbf_left">Your name</div><div class="tbf_right" style="margin-top:8px"><input tabindex="2" type="text" value="" name="cb_add_name" id="cb_add_name" style="margin-top: -4px"></div>
  170.             </div>
  171.             <div class="spacer"></div>
  172.             
  173.             <div class="tbf_row">
  174.                 <div class="tbf_left">Your email</div><div class="tbf_right"><input tabindex="3" type="text" name="cb_add_email" id="cb_add_email"></div>
  175.             </div>
  176.             <div class="spacer"></div>
  177.             
  178.             <div class="tbf_row">
  179.                 <div class="tbf_left"> </div><div class="tbf_right"><input id="comm_post_comment" tabindex="4" type="submit" value="Post Comment" name="submit_this_comment" style="width:100px; float:right" onClick="cb_post_submit(); return false;"></div>
  180.             </div>
  181.             <div class="spacer"></div>
  182.             
  183.             <div class="tbf_row" id="comment_terms">
  184.                 <div class="tbf_wide"><span class="fine_print">Our terms: We reserve the right to edit or delete any comment, so please post thoughtfully. We use your email address <i>only</i> to send you a one-time verification message confirming that you posted this comment. We also store your address to allow you to verify using other Web browsers in the future. For more info, see our <a href="http://db.tidbits.com/privacy.html">privacy policy</a>.</span></div>
  185.             </div>
  186.             <div class="spacer"></div>
  187.  
  188.             </form>
  189.         </div><!-- end comm_form -->
  190.     </div><!-- end comm box innards -->
  191.     </div><!-- end comm box format -->
  192.     
  193.     <div class="x_close" id="comm_upper_right"><a href="javascript:void(0)" onmousedown="HidePopupContent('comm', 'comm', ''); return true;">Close</a></div>
  194.     
  195. </div><!-- end comm_submit box-->
  196.  
  197.  
  198. <!-- start mainbody -->
  199. <div id="mainbody">
  200.  
  201. <!-- start header -->
  202. <div id="header">
  203.  
  204.  
  205.  
  206.     <div id="tblogo">
  207.     <a href="/"><img src="/images/tblogo20_01.gif" alt="TidBITS: Apple News for the Rest of Us" width="177" height="84" border="0"></a>
  208.  
  209.     </div><!-- end tblogo -->
  210.  
  211.  
  212. <!-- leaderboard ad -->
  213. <div id="top_banner">
  214. <script type='text/javascript'><!--// <![CDATA[
  215.     OA_show(3);
  216. // ]]> --></script><noscript><a target='_blank' href='http://db.tidbits.com/ads/delivery/ck.php?n=TBe5f7021'><img border='0' alt='' src='http://db.tidbits.com/ads/delivery/avw.php?zoneid=3&n=TBe5f7021'></a></noscript>
  217. </div><!-- end top_banner style -->
  218. <!-- end leaderboard ad -->
  219.  
  220.  
  221. </div><!-- end header  -->
  222.  
  223.  
  224. <!-- start content_container -->
  225. <div id="content_container">
  226.  
  227.  
  228. <!-- begin leftcolumn -->
  229. <div id="leftcolumn">
  230.  
  231. <!-- begin leftnav /left navigation -->
  232. <div>
  233.     <ul class="leftnav">
  234.         <!-- start search -->
  235.         <li class="topcorner">
  236.             <form action="http://db.tidbits.com" method="POST" name="search_form"><input type="hidden" name="advanced_search" value=''><input type="text" name="search_text" size="8" maxlength="70" value="Search" onFocus="this.value=''" onBlur="if (this.value == '') { this.value = 'Search'; }"> <span style="margin: 0 5px 0 5px; vertical-align: -2px"><span style="vertical-align: -2px"><input type="image" name="submit_search" src="/images/go_search_button.gif"></span>  <img src="/images/adv_search_button.gif" title="Click for Advanced Search" onClick="var f = document.search_form; f.search_text.value =''; f.advanced_search.value = '1'; f.submit();"></span></form>
  237.         </li>
  238.     </ul>
  239. </div>
  240. <!-- end search -->
  241.  
  242. <!-- Get TidBITS box (temp) -->
  243. <div>
  244.     <ul class="leftnav">
  245.         <li class="gettb"><strong>Get TidBITS via...</strong></li>
  246.     
  247.         <li><a href="http://www.tidbits.com/list" title="Subscribe via email" class="gettb">Email <img src="/images/gettb_button_email.gif" width="12" height="12" border="0" class="nav_img" alt="Email subscription options"></a></li>
  248.         <li><a href="/feeds/tidbits.rss" title="Subscribe via RSS" class="gettb">RSS <img src="/images/feed-icon-12x12.gif" width="12" height="12" border="0" class="nav_img" alt="Subscribe via RSS"></a></li>
  249.         <li><a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=276986548" title="Subscribe to the podcast" class="gettb">Podcast <img src="/images/feed-icon-12x12_podcast.gif" width="12" height="12" border="0" class="nav_img" alt="Subscribe to the postcast"></a></li>
  250.         <li><a href="http://www.twitter.com/TidBITS" title="Get Article Updates via Twitter" class="gettb">Twitter <img src="/images/feed_icon_12x12_twitter.png" width="12" height="12" border="0" class="nav_img" alt="Get Article Updates via Twitter"></a></li>
  251.         <li><a href="http://www.facebook.com/pages/TidBITS/195314925519" title="Go to the TidBITS Page at Facebook" class="gettb">Facebook <img src="/images/feed_icon_12x12_facebook.gif" width="12" height="12" border="0" class="nav_img" alt="Go to the TidBITS Page at Facebook"></a></li>
  252.     </ul>
  253. </div>
  254. <!-- end Get TidBITS box -->
  255.     
  256.     <ul class="leftnav">
  257.         <li><a href="/" class="tabhead">TidBITS Home</a></li>
  258.  
  259.         <li><a href="javascript:void(0)" title="Sections" class="tabhead" onClick="return showhide('articleslist')">Sections <span id="articleslist_triangle"><img src="/images/nav_triangle_open.gif" width="9" height="9" border="0" class="navtriangle" id="articleslist_tri_image" alt="Click to show or hide the contents of this section."></span></a></li>
  260.     
  261.     
  262.     </ul>
  263.  
  264. <div id="articleslist" style="display: none"><ul class="leftnav"><li><a href="/section/business" >Business Apps</a></li>
  265. <li><a href="/section/entertainment" >Entertainment</a></li>
  266. <li><a href="/section/links" >External Links</a></li>
  267. <li><a href="/section/home" >Home Macs</a></li>
  268. <li><a href="/section/inside" >Inside TidBITS</a></li>
  269. <li><a href="/section/iphone-ipad-ipod" >iPhone iPad iPod</a></li>
  270. <li><a href="/section/fun" >Just for Fun</a></li>
  271. <li><a href="/section/macs" >Macs & Mac OS X</a></li>
  272. <li><a href="/section/creative" >Media Creation</a></li>
  273. <li><a href="/section/net" >Networking</a></li>
  274. <li><a href="/section/opinion" >Opinion</a></li>
  275. <li><a href="/section/support" >Problem Solving</a></li>
  276. <li><a href="/section/security" >Safe Computing</a></li>
  277. <li><a href="/section/tech" >Tech News</a></li>
  278. <li><a href="/section/watchlist" >Watchlist</a></li>
  279. </ul></div>
  280.  
  281. <div>
  282. <ul class="leftnav">
  283.     <li><a href="javascript:void(0)" onClick="return showhide('stafflist')" title="Staff" class="tabhead">Staff <span id="stafflist_triangle"><img src="/images/nav_triangle_closed.gif" width="9" height="9" border="0" class="navtriangle" id="stafflist_tri_image" alt="Click to show or hide the contents of this section."></span></a></li>
  284. </ul>
  285. </div>
  286.  
  287. <div id="stafflist" style="display:block"><ul class="leftnav"><li><a href="/author/Adam+C+Engst" title="Adam Engst, Publisher">Adam Engst</a></li>
  288.     <li><a href="/author/Tonya+Engst" title="Tonya Engst, Editor in Chief">Tonya Engst</a></li>
  289.     <li><a href="/author/Jeff+Carlson" title="Jeff Carlson, Managing Editor">Jeff Carlson</a></li>
  290.     <li><a href="/author/Joe+Kissell" title="Joe Kissell, Senior Editor">Joe Kissell</a></li>
  291.     <li><a href="/author/Glenn+Fleishman" title="Glenn Fleishman, Contributing Editor">Glenn Fleishman</a></li>
  292.     <li><a href="/author/Mark+Anbinder" title="Mark Anbinder, Contributing Editor">Mark H. Anbinder</a></li>
  293.     <li><a href="/author/Matt+Neuburg" title="Matt Neuburg, Contributing Editor">Matt Neuburg</a></li>
  294.     <li><a href="/author/Rich+Mogull" title="Rich Mogull, Contributing Editor">Rich Mogull</a></li>
  295.     <li><a href="/author/Lex+Friedman" title="Lex Friedman, Staff Writer">Lex Friedman</a></li>
  296.     </ul>
  297.     </div>
  298.  
  299. <div>
  300. <ul class="leftnav">
  301.  
  302.     <li><a href="javascript:void(0)" title="Issues" class="tabhead" onClick="return showhide('issuelist')">Weekly Issues <span id="issuelist_triangle"><img src="/images/nav_triangle_closed.gif" width="9" height="9" border="0" class="navtriangle" id="issuelist_tri_image" alt="Click to show or hide the contents of this section."></span></a></li>
  303. </ul>
  304. </div>
  305.  
  306. <div id="issuelist" style="display:none"><ul class="leftnav"><li><div class="special"><form method="post" action="noaction.cgi" onsubmit="return false" id="issue_search_form" name="issue_search_form">Issue # <input type="text" onkeydown="if (event.keyCode == 13) { redirect_issue(this.form); }" id="issue_searchvalue" name="issue_number" style="width:35px; height: 10px"> <input onclick="redirect_issue(this.form)" type="image" name="submit_search" src="/images/go_search_button_blk.gif"></form></div></li><li><A HREF="/issue/345" >#345, 16 Sep 96</A></li>
  307. <li><A HREF="/issue/344" >#344, 09 Sep 96</A></li>
  308. <li><A HREF="/issue/343" >#343, 02 Sep 96</A></li>
  309. <li><A HREF="/issue/342" >#342, 26 Aug 96</A></li>
  310. <li><A HREF="/issue/341" >#341, 19 Aug 96</A></li>
  311. <li><A HREF="/issue/340" >#340, 12 Aug 96</A></li>
  312. <li><A HREF="/issue/339" >#339, 05 Aug 96</A></li>
  313. <li><A HREF="/issue/338" >#338, 29 Jul 96</A></li>
  314. <li><A HREF="/issue/337" >#337, 22 Jul 96</A></li>
  315.  
  316.  
  317. <li><a href="/backissues">Back Issues</a></li></ul></div>
  318.  
  319.  
  320. <div>
  321. <ul class="leftnav">
  322.  
  323.     <li><a href="/tidbitstalk" title="TidBITS Talk" class="tabhead">TidBITS Talk</a></li>
  324. </ul>
  325. </div>
  326.  
  327.  
  328.  
  329. <div>    
  330. <ul class="leftnav">
  331.     <li><a href="javascript:void(0)" onClick="return showhide('abouttidbits')" title="About TidBITS" class="tabhead">About TidBITS <span id="abouttidbits_triangle"><img src="/images/nav_triangle_closed.gif" width="9" height="9" border="0" class="navtriangle" id="abouttidbits_tri_image" alt="Click to show or hide the contents of this section."></span></a></li>
  332. </ul>
  333. </div>
  334.  
  335. <div id="abouttidbits" style="display:none">
  336. <ul class="leftnav"><li><a href="/about.html" title="About TidBITS">About Us</a></li><li><a href="/account.html" title="Account Help">Account Help</a></li><li><a href="/advertising.html" title="Advertise with TidBITS!">Advertise</a></li><li><a href="/contact.html" title="Contact Info">Contact</a></li><li><a href="/copyright.html" title="Copyright Terms">Copyright</a></li>
  337. </ul>
  338. </div>
  339.  
  340. <div>
  341. <ul class="leftnav">
  342. <li class="bottom"> </li>
  343. </ul>
  344. </div>
  345. <!-- end leftnav/left navigation -->
  346.  
  347. <!-- making sure nav elements hide/show before page loads --><script type="text/javascript"><!--
  348.     showhide('articleslist','show'); 
  349. // --></script>
  350.  
  351. <!-- begin sponsor_sidebox -->
  352.  
  353. <div class="sponsor_sidebox">
  354.  
  355. <ul>
  356.  
  357. <li><a href="http://www.webcrossing.com/">Web Crossing</a></li>
  358.  
  359. <li><a href="http://www.thedatarescuecenter.com/">The Data Rescue Center</a></li>
  360.  
  361. <li><a href="http://www.smithmicro.com/tidbits">Smith Micro</a></li>
  362.  
  363. <li><a href="http://macte.ch/conf_tidbits">MacTech Conference</a></li>
  364.  
  365. <li><a href="http://www.usefulfruit.com/tb">Useful Fruit</a></li>
  366.  
  367. <li><a href="http://crashplan.com/ref/tidbits.html">CrashPlan</a></li>
  368.  
  369. <li><a href="http://markspace.com/bits?source=tidbits">Mark/Space</a></li>
  370.  
  371. <li><a href="http://www.smilesoftware.com/">Smile</a></li>
  372.  
  373. <li><a href="http://www.econtechnologies.com/tb">Econ Technologies</a></li>
  374.  
  375. <li><a href="http://nuance.com/dragon/mac">Nuance</a></li>
  376.  
  377. <li><a href="http://www.tidbits.com/about/support/contributors.html">Readers Like You!</a></li>
  378.  
  379. </ul><div class='sponsor_sidebox_bottom'> </div>
  380. </div>
  381.  
  382.  
  383. <!-- end sponsor_sidebox -->
  384.  
  385.  
  386. </div> <!-- end leftcolumn div -->
  387.  
  388. <!-- end left column -->
  389.  
  390.  
  391. <!-- begin centercolumn_border -->
  392.  
  393. <div id="centercolumn_border">
  394.  
  395. <div class="center_top">Thoughtful, detailed coverage of the Mac, iPhone, and iPad, plus the best-selling <a href="http://www.takecontrolbooks.com/?pt=TB-TAGLINE" style="color:yellow">Take Control</a> ebooks.</div>
  396.  
  397. <!-- begin centercolumn -->
  398. <div id="centercolumn">
  399.  
  400.  
  401.  
  402. <!-- begin rightcolumn_container -->
  403. <div id="rightcolumn_container">
  404.  
  405. <!-- begin rightcolumn -->
  406.     <!-- rightcolumn is embedded within centercolumn so featured text wraps around it -->
  407.     <div id="rightcolumn">
  408.  
  409. <p class="top"> </p>
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420. <!-- Watchlist items -->
  421. <div class="tearoffbox_wide_container">
  422. <div class="tearoffbox_wide_watchlist">
  423. <p class="tearoffbox_wide_top_watchlist"> </p>
  424.  
  425. <h6><a href="/section/watchlist">TidBITS Watchlist</a></h6>
  426. <ul>
  427.  
  428. <LI><a href="/article/11622">DEVONthink and DEVONnote 2.0.4</a></LI>
  429.  
  430. <LI><a href="/article/11620">Security Update 2010-006</a></LI>
  431.  
  432. <LI><a href="/article/11619">TinkerTool 4.2</a></LI>
  433.  
  434. <LI><a href="/article/11618">Mailplane 2.2</a></LI>
  435.  
  436. <LI><a href="/article/11617">Pro Applications Update 2010-02</a></LI>
  437.  
  438. <LI><a href="/article/11611">Dialectic 1.7</a></LI>
  439.  
  440. <LI><a href="/article/11604">Transmit 4.1.1</a></LI>
  441.  
  442. <LI><a href="/article/11603">MarsEdit 3.1.1</a></LI>
  443.  
  444. <LI><a href="/article/11600">Savescreenie 2.0</a></LI>
  445.  
  446. <LI><a href="/article/11598">1Password 3.4.1</a></LI>
  447.  
  448. </ul>
  449.  
  450. <div class="tearoffbox_wide_bottom_watchlist"> </div>
  451.  
  452. </div><!-- end tearoffbox_wide -->
  453.  
  454. </div><!-- end tearoffbox_wide_container for watchlist items -->
  455.  
  456. <!-- begin tearoff box wide -->
  457.  
  458. <div class="tearoffbox_wide_container">
  459. <div class="tearoffbox_wide_tips">
  460.  
  461. <div class="tip_display">
  462. <div class="tips_sponsor_logo">
  463.  
  464. </div>
  465. <h6>Editing iCal Events in Snow Leopard</h6>
  466. <p><p>Snow Leopard makes looking at event details in iCal easier. In the Leopard version of iCal, you had to double-click an event to reveal only some information in a pop-up box; you then needed to click the Edit button (or press Command-E) to edit an item's information. In Snow Leopard, choose Edit > Show Inspector (or press Command-Option-I) to bring up a floating inspector that provides an editable view of any items selected in your calendar.</p></p>
  467.  
  468. </div>
  469.  
  470. <div class="tearoffbox_wide_bottom_tips">
  471. <div style="padding-bottom:35px"><div class="tip_display" style="float:left"><p><br><a href="/tipbits/193">Link to this tip</a></p></div><div class="tip_display" style="float:right; width:150px">
  472. <p class="credit">Submitted by<br>Doug McLean</p>
  473. </div></div>
  474.  
  475. </div>
  476.  
  477. <div class="tearoffbox_wide_tips_submit">
  478. <form method="post" onsubmit="return false" id="tipbits_form" name="tipbits_form" action="noaction.cgi"><p><a href="javascript:void(0)" onmousedown="ShowTipBox('ts','ts_recaptcha', 50, 'tip_title_id'); return true;">Share your own tip!</a> | <a href="javascript:void(0)" onClick="generic_show_hide('search_tipbits'); document.tipbits_form.tipbits_searchvalue.focus()">Search TipBITS</a></p>
  479. <p style="display:none" id="search_tipbits"><input type="text" onkeydown="if (event.keyCode == 13) { search_tipbits('tipbits_searchvalue'); }" id="tipbits_searchvalue" name="tipbits_searchvalue"> <a href="javascript:void(0)" onClick="search_tipbits('tipbits_searchvalue')">Search</a></p></form>
  480. </div>
  481. <div class="tearoffbox_wide_bottom_tips_submit">
  482.  
  483. </div>
  484.  
  485. </div><!-- end tearoffbox_wide_tips -->
  486. </div><!-- end tearoffbox_wide_container for tips-->
  487. <!-- end tearoff box wide -->
  488.  
  489.  
  490.  
  491. <!-- begin 300 x 250 ad -->
  492.  
  493. <div id="content_ad_square">
  494. <script type='text/javascript'><!--// <![CDATA[
  495.     OA_show(5);
  496. // ]]> --></script><noscript><a target='_blank' href='http://db.tidbits.com/ads/delivery/ck.php?n=TB7671f69'><img border='0' alt='' src='http://db.tidbits.com/ads/delivery/avw.php?zoneid=5&n=TB7671f69'></a></noscript>
  497. </div><!-- end 300 x 250 ad -->
  498.  
  499. <!-- TBTalk items -->
  500. <div class="tearoffbox_wide_container">
  501.  
  502. <div class="tearoffbox_wide_p">
  503. <p class="tearoffbox_wide_top_p"> </p>
  504.  
  505. <h5>Recent TidBITS Talk Discussions</h5>
  506. <ul>
  507.  
  508. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf95241">Alternatives to MobileMe for syncing calendars between iPad/Mac</a> (1 message)</LI>
  509.  
  510. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf94dbb">Free anti-virus for the Mac</a> (20 messages)</LI>
  511.  
  512. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf934e6">iTunes 10 syncing iPod Touch 4.1</a> (2 messages)</LI>
  513.  
  514. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf92a22">Thoughts about Ping</a> (16 messages)</LI>
  515.  
  516. </ul>
  517.  
  518. <div class="tearoffbox_wide_bottom_p"> </div>
  519.  
  520. </div><!-- end tearoffbox_wide -->
  521.  
  522. </div><!-- end tearoffbox_wide_container for TBtalk items -->
  523.  
  524. <!-- start takecontrol_ad -->
  525. <script type='text/javascript'><!--// <![CDATA[
  526.     OA_show(7);
  527. // ]]> --></script><noscript><a target='_blank' href='http://db.tidbits.com/ads/delivery/ck.php?n=TBe46d56f'><img border='0' alt='' src='http://db.tidbits.com/ads/delivery/avw.php?zoneid=7&n=TBe46d56f'></a></noscript><!-- end takecontrol_ad -->
  528.  
  529. <!-- begin tearoff box 2 -->
  530.  
  531. <div class="tearoffbox_wide_container">
  532.  
  533. <div class="tearoffbox_wide_p">
  534. <p class="tearoffbox_wide_top_p"> </p>
  535.  
  536. <h5>Related Articles</h5>
  537. <ul>
  538. <li><a href="/article/7489">Apple Computer, Going Forward into 2004</a> (05 Jan 04)</li>
  539. <li><a href="/article/6816">Jaguar: Mac OS X Prepares to Pounce</a> (06 May 02)</li>
  540. <li><a href="/article/900">System-Level Database Comments</a> (26 Aug 96)</li>
  541. <li><a href="/article/914">Fire In The Belly</a> (12 Aug 96)</li>
  542.  
  543. </ul>
  544.  
  545. <p class="tearoffbox_wide_bottom_p"> </p>
  546.  
  547. </div><!-- end tearoffbox_wide -->
  548. </div><!-- end tearoffbox_wide_container -->
  549.  
  550. <!-- end tearoff box 2 -->
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558. <!-- begin tearoff box 1 -->
  559.  
  560. <div class="tearoffbox_wide_container">
  561.  
  562. <div class="tearoffbox_wide">
  563. <p class="tearoffbox_wide_top"> </p>
  564.  
  565. <h5>Published in <a href="/issue/341">TidBITS 341</a>.<br><a href="http://www.tidbits.com/list">Subscribe</a> to our weekly email edition.</h5>
  566. <ul>
  567. <li><A HREF="/article/902">Administrivia</A></li>
  568. <li><A HREF="/article/903">Netscape 3.0 Ships</A></li>
  569. <li><A HREF="/article/904">A Daily Fix</A></li>
  570. <li><A HREF="/article/905">Corel Updates WordPerfect</A></li>
  571. <li><A HREF="/article/907">Homing In on Home Page</A></li>
  572.  
  573. </ul>
  574.  
  575. <p class="tearoffbox_wide_bottom"> </p>
  576.  
  577. </div><!-- end tearoffbox_wide -->
  578. </div><!-- end tearoffbox_wide_container -->
  579.  
  580. <!-- end tearoff box 1 -->
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588. <div id="rightcolumn_bottom">
  589.  
  590. </div>
  591.  
  592.     </div><!-- end rightcolumn -->
  593.  
  594.  
  595. </div><!-- end rightcolumn_container -->
  596.  
  597.  
  598.  
  599. <!-- featured articles -->
  600.  
  601. <div id="center_ajax_sub" class="instapaper_body">
  602.  
  603. <!-- google_ad_section_start -->
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624. <!-- issue, article, or series -->
  625.  
  626.     
  627.     
  628.     
  629.     
  630.     
  631.         
  632.     <!-- show article(s) -->
  633.     <div class="article"><a name="2632"></a>
  634.     
  635. <!-- comment initialization routine as needed -->
  636. <div class="popup_box_with_captcha" id="hc_2632" style="display: none">
  637.     <div class="tip_box_format">
  638.     <div id="hc_innards_alt_2632" style="display: none">
  639.             <div class="tbf_row">
  640.                 <div class="tbf_wide_80" id="hc_small_response_2632"></div><div class="x_close_row" id="hc_upper_right1_2632"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_2632', 'hc', '2632'); return true;">Close</a></div>
  641.  
  642.             </div>
  643.     </div>
  644.     <div id="hc_innards_2632">
  645.         <div class="tip_box_form">        
  646.             <form action="foobar.cgi" method="get" name="check_human_2632">
  647.             <div class="tbf_row">
  648.                 <div class="tbf_wide_80" id="hc_rc_2632">To help us avoid automated posts and misuse of our site, please enter the words below.</div><div class="x_close_row" id="hc_upper_right2_2632"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_2632', 'hc', '2632'); return true;">Close</a></div>
  649.  
  650.             </div>
  651.             <div class="spacer"></div>
  652.             <div class="tbf_row" id="hc_message_box_2632" style="display:none">
  653.                 <div class="tbf_wide"><div class="tbf_alert" id="hc_top_message_2632"></div></div>
  654.             </div>
  655.             <div class="spacer"></div>
  656.             <div class="tbf_row">
  657.                 <div class="tbf_wide"><div id="hc_recaptcha_2632"></div></div>
  658.             </div>
  659.             <div class="spacer"></div>
  660.             <div class="tbf_row">
  661.                 <div class="tbf_wide"><input type="submit" value="Submit" name="submit_this_tip" onClick="handle_tip_submission('hc', '2632', this.form, this.form.submit_type.value); return false;"><input name="calling_routine" type="hidden"><input type="hidden" name="getbits" value="906"><input type="hidden" name="author_id"><input type="hidden" name="submit_type" value=""></div>
  662.             </div>
  663.             <div class="spacer"></div>
  664.             </form>
  665.         </div><!-- end tip_box_form -->
  666.     </div><!-- end hum box innards -->
  667.     </div><!-- end tip box format -->
  668. </div><!-- end tip_submit box-->
  669.  
  670.  
  671.  
  672.         
  673.         
  674.         <!-- specific article details here -->
  675.         
  676.         
  677.             
  678.         
  679.     
  680.         <article_link><script type="text/javascript">open_if_linked('')</script></article_link>
  681.         
  682.         <div class="featured_meta"><div class="meta_article">19 Aug 1996 | <a href="/article/906?print_version=1">Print <span class="shift_up"><img src="/images/printer_icon.gif" alt="Printer-Friendly Version of This Article" border="0" width="9" height="10"></span></a></div></div>
  683.  
  684.         <H2>The Database Returns</H2>
  685.  
  686.         <p class="byline">by <a href="/author/Adam%20C.%20Engst">Adam C. Engst</a> <a href="javascript:void(0)" onClick="document.check_human_2632.submit_type.value='email'; document.check_human_2632.author_id.value='6'; ShowTipBox('hc_2632', 'hc_recaptcha_2632')"><span class="shift_down"><img src="/images/gettb_button_email.gif" height="12" width="12" border="0" alt="Send Email to Author"></span></a></P>
  687.  
  688.         <!-- article text -->
  689.         
  690.         <div id="article_box_2632"><P>I've noticed a trend worth watching recently. More and more products are putting databases under their hoods. Two Web servers, Web Server 4D and NetWings, are based on ACIUS's 4th Dimension database. The just-released FireSite (see <A HREF="http://www.tidbits.com/tb-issues/TidBITS-340.html">TidBITS-340</A>) sits on top of a custom relational database, and EveryWare's Bolero Web tracking tool uses their Butler SQL database. Lest you think this tendency is just related to Web software, a database also drives DiamondSoft's new font management utility, FontReserve.</P><P><<A HREF="http://www.mdg.com/">http://www.mdg.com/</A>><BR><<A HREF="http://www.netwings.com/">http://www.netwings.com/</A>><BR><<A HREF="http://www.clearway.com/">http://www.clearway.com/</A>><BR><<A HREF="http://www.everyware.com/Bolero/">http://www.everyware.com/Bolero/</A>><BR><<A HREF="http://www.fontreserve.com/">http://www.fontreserve.com/</A>></P><P>What's causing this trend? Two things, I think. First, serious databases provide flexibility and performance not offered by the built-in pseudo-database functionality of the Mac OS - namely the HFS file system and the Resource Manager. The second, related reason is that database power enables additional transparency that would otherwise require significant manual effort. For instance, basing a Web server on a database simplifies the use of repeating elements within a Web site. Similarly, the way FireSite uses its relational database back-end enables it to monitor usage and predict which files would be best to replicate.</P><P>For those unfamiliar with databases, there are two common types: flat-file databases and relational databases. A flat-file database is like a stack of index cards, and each card contains the same fields of information. Flat-file databases are useful when there's a one-to-one relationship between the data (Name to Telephone Number, for instance). In contrast, a relational database is more akin to several stacks of index cards. Each stack can have one or more different fields of information on it, and each stack can selectively "see" into the other stacks to access common information (like a name or telephone number) so information is only stored in one place. A relational database is useful for one-to-many or many-to-many relationships (Student to Classes, for example). In some ways, you can think of a relational database as a number of flat-file databases that share information.</P><P>It's easy to see how a database can help a wide variety of programs. For instance, ListSTAR has great flexibility when it comes to processing incoming and outgoing email, but it stores mailing lists as simple unsorted text files. Locating an address within a large list like our 7,000-plus person DealBITS list can take several minutes. A similar search in a decent database should be essentially instantaneous. That's one reason why we're using a custom FileMaker Pro database to manage all our mailing lists. There's a fairly significant overlap between the DealBITS list and the TidBITS list, so it's silly to maintain two separate lists of subscribers when we can just note in a relational database that any given person subscribes to just DealBITS, just TidBITS, or both. Any future mailing lists benefit from the database as well.</P><P>I've heard rumblings of other mailing list management programs based on databases, and depending on how well they implement their database functionality, they could present serious competition to ListSTAR unless Quarterdeck is able to graft a database onto the program.</P><P>Assuming that a database back-end makes sense for a number of types of programs, I see several ways that a program could take advantage of database technology. A program's developers could write a database, which would undoubtedly be a lot of work, but provides the most control. A more efficient method would be to license generalized database code from another company (I suspect this sort of thing already exists, although I don't know the specifics).</P><P>Perhaps the most interesting way to get a database into a product is via a system-level database that any application could utilize. There have been a few starts in this direction, although nothing has gone all the way.</P><UL><LI><p>HyperCard almost seems to fits this bill, especially a few years back when it was likely that any given Macintosh user had and used it. Unfortunately, HyperCard's file format has never been public, which means data can only be accessed via the HyperCard application. More seriously, HyperCard was never designed to be used solely as a database; though it can sometimes perform capably in that fashion, it requires expertise, add-on tools, or both. But, HyperCard sports an accessible programming language and easy interface building tools, which ease prototyping if not implementation.</p><LI><p>UserLand Software's Frontier includes an Object Database, and Frontier users have been doing some experiments with serving Web pages directly out of the database to avoid the performance overhead of the Mac file system. Other applications could take advantage of Frontier's Object Database as well, although it currently isn't at the system level.</p><LI><p>Peter Lewis and Quinn's public domain Internet Config stores Internet-related preferences for any Internet Config-aware program to use. Internet Config isn't really a database, though, but it's a good example of the advantages of sharing information between programs at a system level.</p></UL><P>I'd be fascinated to see what might happen if someone, perhaps even Apple, created a system-level general purpose database that any application could use for storing data. In fact, it might have already happened. Although I've been using the term "database" in a traditional manner, Apple has a technology coming called V-Twin that enables incredibly fast text indexing and searching. It might be conceivable that something like V-Twin, which is already used in Apple e.g. and to search email in Cyberdog, could stand in for a general purpose database engine.</P><P><<A HREF="http://cybertech.apple.com/Appleeg.html">http://cybertech.apple.com/Appleeg.html</A>><BR><<A HREF="http://cyberdog.apple.com/">http://cyberdog.apple.com/</A>></P><P>Although Apple would seem to be the logical choice for defining what such a database could do, I frankly think that some small developers could get together, define some general functionality, and release something far more quickly than Apple could. I'm no database expert, but here are some of the things that I imagine the database needing.</P><UL><LI><p>Speed. Performance is important, especially if multiple applications will be calling this database engine simultaneously.</p><LI><p>Data types. If this is a generalized database engine, it can't discriminate in terms of data types - it must accept anything. Dealing with different data types would require it to know about the file system to handle aliases, despite the fact that bringing the file system into the mix might hurt performance.</p><LI><p>Relational. Despite the ease-of-use of flat-file databases, they don't offer enough flexibility, and this database engine would have to be tremendously flexible for it to be useful for all the tasks dreamt up for it.</p><LI><p>Stable. Once lots of applications are using this engine, a single crash could cause incredible damage unless the database were solid and corruption-resistant. I've been distressed by the apparent ease with which I can destroy a FileMaker Pro database.</p><LI><p>Individual files. Each application should create its own file to reduce confusion or conflict over data, as well as to keep the individual files smaller.</p></UL><P>Clearly, these requirements would require a tremendous amount of integration. However, there's already a technology that Apple has released that deals with some of these same integration issues - OpenDoc. Maybe that means that the way to create a system-level database is to create it as a set of Live Objects (the new name for OpenDoc parts) and let anyone tap into its power.</P><P>OpenDoc or no, I won't pretend that such a project would be simple, but I believe that providing such functionality to any application that wished to use it could result in significantly more powerful programs with more transparent interfaces. As an example, a look at the BeOS (used by Jean-Louis Gassee's BeBox machine and possibly by Power Macintosh machines in the future) is instructive, since the BeOS file system is a relational database. You can use it as though it were a traditional file system or as a database, and an object in the database doesn't have be a file, nor does it even have to be on disk. There's no easy way the Mac OS could change in this fashion and maintain backward compatibility, but the fact that Be designed their file system in this way is telling. The question is, who will listen?</P><P><<A HREF="http://www.be.com/aboutbe/pressreleases/96-08-06_BePower.html">http://www.be.com/aboutbe/pressreleases/96-08- 06_BePower.html</A>></P><!-- The Database Returns Adam C. Engst --></div>
  691.         
  692.  
  693.         <!-- end article text -->
  694.     
  695.         
  696.         <!-- PayBITS -->
  697.         
  698.  
  699.         
  700. <p> </p><div class="sponsorbox">
  701. <div class="sponsortext"><A HREF="http://markspace.com/bits?source=tidbits"><IMG SRC="http://db.tidbits.com/images/badges/mark-space.gif" ALT="" HEIGHT="50" WIDTH="50" BORDER="0" ALIGN="left"></A>SYNC YOUR PHONE with The Missing Sync: Sync your calendar,<br />address book, music, photos and much more between your phone<br />and Mac. Supports ANDROID, BLACKBERRY, PALM PRE and many<br />other phones. <<a href="http://markspace.com/bits?source=tidbits">http://www.markspace.com/bits</a>></div>
  702. </div>
  703. <div class="sponsorbox_bottom"> </div>
  704.  
  705.  
  706.         <!-- comments section -->
  707.         
  708.         <!-- end comment show-->
  709.         
  710.         <!-- end comments section -->
  711.  
  712.  
  713.         <!-- end article loop details -->
  714.         
  715.         
  716.  
  717.         
  718.     </div><!-- end show article -->
  719.     
  720.     
  721.  
  722.  
  723. <!-- article_plus end -->
  724. <!--
  725. </DIV>
  726. --><!-- end main_column DIV -->
  727.  
  728.  
  729. <!-- google_ad_section_end -->
  730.  
  731. </div><!-- end center AJAX insert -->
  732.  
  733. <!-- TipBITS Search Results Lozenge -->
  734. <div id="tipbits_results_loz" style="display:none">
  735. <form method="post" onsubmit="return false" id="tipbits_form_loz" name="tipbits_form_loz" action="noaction.cgi">
  736. <div class="tip_footer">
  737. <p id="search_tipbits_loz"><input type="text" onkeydown="if (event.keyCode == 13) { search_tipbits('tipbits_searchvalue_loz', 'tipbits_results_loz'); }" id="tipbits_searchvalue_loz" name="tipbits_searchvalue_loz"> <a href="javascript:void(0)" onClick="search_tipbits('tipbits_searchvalue_loz', 'tipbits_results_loz')">Search</a></p>
  738. </div>
  739. <div class="tip_footer_bottom">
  740.  </div>
  741. </form>
  742. </div><!-- end TipBITS Search Results lozenge -->
  743.  
  744.  
  745.  
  746.  
  747. <!-- begin footer -->
  748. <div id="footer">
  749.  
  750. <div id="qr_tag_right"><div id="qr_tag_image"><img src="http://db.tidbits.com/tags/906.png"></div><div id="qr_tag_text"><a href="http://db.tidbits.com/article/10616">What's this image?</a></div></div>
  751. <p>Special thanks to <a href="http://www.forest.net/">digital.forest</a>, our
  752. Web and mailing list host.</p>
  753. <p>Unless otherwise noted, this article is copyright © 1996 <a href="/author/Adam%20C.%20Engst">Adam C. Engst</a></p>
  754. <p>TidBITS is copyright © 2010 TidBITS Publishing Inc.</p>
  755. <p>Reuse governed by <a href="http://www.tidbits.com/terms/">Creative Commons License</a>.</p>
  756.  
  757. <p><a href="/about.html" title="About TidBITS">About TidBITS</a> | <a href="/account.html" title="Account Help">Account Help</a> | <a href="/advertising.html" title="Advertise with TidBITS!">Advertise with TidBITS!</a> | <a href="/contact.html" title="Contact Info">Contact Info</a> | <a href="/copyright.html" title="Copyright Terms">Copyright Terms</a></p>
  758.  
  759. </div><!-- end footer -->
  760.  
  761.  
  762. </div> <!-- end centercolumn -->
  763.  
  764. <div class="center_bottom"> </div>
  765.  
  766. </div> <!-- end centercolumn_border -->
  767.  
  768.  
  769. </div> <!-- end content_container -->
  770.  
  771. </div> <!-- end mainbody -->
  772.  
  773.  
  774. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
  775. </script>
  776. <script type="text/javascript">
  777. _uacct = "UA-276924-3";
  778. urchinTracker();
  779. </script>
  780. <script type="text/javascript"
  781. src="http://tidbitscom.skimlinks.com/api/skimlinks.js"></script>
  782. <script type="text/javascript">
  783. var skimlinks_pub_id = '2559X585851';
  784. var skimlinks_domain = 'go.tidbits.com';
  785. skimlinks();
  786. </script>
  787. </body>
  788. </html>
  789.  
  790.