home *** CD-ROM | disk | FTP | other *** search
/ db.tidbits.com / db.tidbits.com.tar / db.tidbits.com / getbits.acgi?tbart=05994.orig < prev    next >
Text File  |  2010-09-23  |  44KB  |  791 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 : Open Source and the Macintosh</title>
  9.  
  10.     <meta name="title" content="TidBITS : Open Source and the Macintosh">
  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='4636'>
  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/540" >#540, 24 Jul 00</A></li>
  307. <li><A HREF="/issue/539" >#539, 17 Jul 00</A></li>
  308. <li><A HREF="/issue/538" >#538, 10 Jul 00</A></li>
  309. <li><A HREF="/issue/537" >#537, 03 Jul 00</A></li>
  310. <li><A HREF="/issue/536" >#536, 26 Jun 00</A></li>
  311. <li><A HREF="/issue/535" >#535, 19 Jun 00</A></li>
  312. <li><A HREF="/issue/534" >#534, 12 Jun 00</A></li>
  313. <li><A HREF="/issue/533" >#533, 05 Jun 00</A></li>
  314. <li><A HREF="/issue/532" >#532, 22 May 00</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.tidbits.com/about/support/contributors.html">Readers Like You!</a></li>
  358.  
  359. <li><a href="http://markspace.com/bits?source=tidbits">Mark/Space</a></li>
  360.  
  361. <li><a href="http://macte.ch/conf_tidbits">MacTech Conference</a></li>
  362.  
  363. <li><a href="http://www.thedatarescuecenter.com/">The Data Rescue Center</a></li>
  364.  
  365. <li><a href="http://www.webcrossing.com/">Web Crossing</a></li>
  366.  
  367. <li><a href="http://www.econtechnologies.com/tb">Econ Technologies</a></li>
  368.  
  369. <li><a href="http://crashplan.com/ref/tidbits.html">CrashPlan</a></li>
  370.  
  371. <li><a href="http://www.smilesoftware.com/">Smile</a></li>
  372.  
  373. <li><a href="http://www.smithmicro.com/tidbits">Smith Micro</a></li>
  374.  
  375. <li><a href="http://nuance.com/dragon/mac">Nuance</a></li>
  376.  
  377. <li><a href="http://www.usefulfruit.com/tb">Useful Fruit</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/11625">Adobe Flash Player 10.1.85.3</a></LI>
  429.  
  430. <LI><a href="/article/11622">DEVONthink and DEVONnote 2.0.4</a></LI>
  431.  
  432. <LI><a href="/article/11620">Security Update 2010-006</a></LI>
  433.  
  434. <LI><a href="/article/11619">TinkerTool 4.2</a></LI>
  435.  
  436. <LI><a href="/article/11618">Mailplane 2.2</a></LI>
  437.  
  438. <LI><a href="/article/11617">Pro Applications Update 2010-02</a></LI>
  439.  
  440. <LI><a href="/article/11611">Dialectic 1.7</a></LI>
  441.  
  442. <LI><a href="/article/11604">Transmit 4.1.1</a></LI>
  443.  
  444. <LI><a href="/article/11603">MarsEdit 3.1.1</a></LI>
  445.  
  446. <LI><a href="/article/11600">Savescreenie 2.0</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>Move a File in the Finder</h6>
  466. <p><p>Sometimes you want to move a file in the Finder across volumes, not copy that file. Holding down the Command key while dragging ensures that the item is copied, and then its original deleted, adding up to a move.</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/67">Link to this tip</a></p></div><div class="tip_display" style="float:right; width:150px">
  472.  
  473. <p class="credit">Written by<br><a href="/author/Glenn%20Fleishman">Glenn Fleishman</a></p></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/6476">MacHack 2001 Code Fragments</a> (02 Jul 01)</li>
  539. <li><a href="/article/6227">Unix Coming to a Mac Near You, Part 1</a> (04 Dec 00)</li>
  540. <li><a href="/article/6103">An ATypoKill Eudora Hack</a> (04 Sep 00)</li>
  541. <li><a href="/article/6011">The MacHax Best Hack Contest 2000 Winners</a> (03 Jul 00)</li>
  542. <li><a href="/article/5463">MacHack: The Ultimate Macintosh Event</a> (05 Jul 99)</li>
  543.  
  544. </ul>
  545.  
  546. <p class="tearoffbox_wide_bottom_p"> </p>
  547.  
  548. </div><!-- end tearoffbox_wide -->
  549. </div><!-- end tearoffbox_wide_container -->
  550.  
  551. <!-- end tearoff box 2 -->
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559. <!-- begin tearoff box 1 -->
  560.  
  561. <div class="tearoffbox_wide_container">
  562.  
  563. <div class="tearoffbox_wide">
  564. <p class="tearoffbox_wide_top"> </p>
  565.  
  566. <h5>Published in <a href="/issue/536">TidBITS 536</a>.<br><a href="http://www.tidbits.com/list">Subscribe</a> to our weekly email edition.</h5>
  567. <ul>
  568. <li><A HREF="/article/5991">Microsoft Antitrust Case to Supreme Court</A></li>
  569. <li><A HREF="/article/5992">Poll Preview: We Live to Serve</A></li>
  570. <li><A HREF="/article/5993">Poll Results: I Want My MP3</A></li>
  571. <li><A HREF="/article/5995">Serving the Internet from a PowerBook 5300</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="4636"></a>
  634.     
  635. <!-- comment initialization routine as needed -->
  636. <div class="popup_box_with_captcha" id="hc_4636" style="display: none">
  637.     <div class="tip_box_format">
  638.     <div id="hc_innards_alt_4636" style="display: none">
  639.             <div class="tbf_row">
  640.                 <div class="tbf_wide_80" id="hc_small_response_4636"></div><div class="x_close_row" id="hc_upper_right1_4636"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_4636', 'hc', '4636'); return true;">Close</a></div>
  641.  
  642.             </div>
  643.     </div>
  644.     <div id="hc_innards_4636">
  645.         <div class="tip_box_form">        
  646.             <form action="foobar.cgi" method="get" name="check_human_4636">
  647.             <div class="tbf_row">
  648.                 <div class="tbf_wide_80" id="hc_rc_4636">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_4636"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_4636', 'hc', '4636'); return true;">Close</a></div>
  649.  
  650.             </div>
  651.             <div class="spacer"></div>
  652.             <div class="tbf_row" id="hc_message_box_4636" style="display:none">
  653.                 <div class="tbf_wide"><div class="tbf_alert" id="hc_top_message_4636"></div></div>
  654.             </div>
  655.             <div class="spacer"></div>
  656.             <div class="tbf_row">
  657.                 <div class="tbf_wide"><div id="hc_recaptcha_4636"></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', '4636', this.form, this.form.submit_type.value); return false;"><input name="calling_routine" type="hidden"><input type="hidden" name="getbits" value="5994"><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">26 Jun 2000 | <a href="/article/5994?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>Open Source and the Macintosh</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_4636.submit_type.value='email'; document.check_human_4636.author_id.value='6'; ShowTipBox('hc_4636', 'hc_recaptcha_4636')"><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_4636"><P>I've just returned from this year's MacHack developers conference, where talk of open source was the rule thanks mostly to a challenging keynote from Eric Raymond, open source proponent and the president of the Open Source Initiative. The keynote, which started at the traditional time of midnight, lasted until nearly 6 AM as Eric and the room of Macintosh developers debated the merits of open source in the Macintosh industry. (For a description of MacHack, see "MacHack: The Ultimate Macintosh Event" in <A HREF="http://www.tidbits.com/tb-issues/TidBITS-487.html">TidBITS-487</A>.)</P><P><<A HREF="http://www.opensource.org/">http://www.opensource.org/</A>><BR><<A HREF="http://www.tuxedo.org/~esr/">http://www.tuxedo.org/~esr/</A>><BR><<A HREF="http://db.tidbits.com/article/05463">http://db.tidbits.com/article/05463</A>></P><P><STRONG>What is Open Source?</STRONG> The basic idea behind open source is that interested developers work together over the Internet on software projects coordinated and maintained by a few core programmers. The resulting software is then distributed for free with its source code, which lets any developer who finds a bug or wants to tweak something do so. If accepted by the coordinators, the modification finds its way into the next release.</P><P>This approach tends to provide open source software with both high reliability and a quick response time to bugs and security holes. Add in the price (free!) and you'll understand the popularity of open source initiatives like the Linux operating system and Apache Web server.</P><P>Although the open source model may seem inherently unrelated to money, that's not actually true. Arguably, Bill Gates's innovation that enabled the creation of the software industry was not MS-DOS or Windows, but rather the concept that software itself had value and could be sold. The industry then converted to a model where it distributed software like factory-produced widgets, earning money on the sale and providing documentation and support for free. The problem, as Eric pointed out, is that this "factory model" earns a fixed amount of money while creating an essentially unlimited support cost lurking in the future.</P><P>Now turn back to open source. There's nothing wrong with giving away software, but everyone has to earn a living. The open source concept can work as a business model only if you charge for something other than the software. That may be documentation, support, packaging, or secondary products like plug-ins - whatever the specifics, we're talking about a service model replacing the factory model. That's how Red Hat and the other open source companies make their money, and even in the realm of traditional commercial software selling support, training, and documentation has become an increasingly popular way for software companies to earn income.</P><P><<A HREF="http://www.redhat.com/">http://www.redhat.com/</A>></P><P><STRONG>Butting of the Heads</STRONG> -- Eric's talk could initially have been aimed at any audience, and although he made compelling arguments for why open source works better than traditional development models, it was clear that this was the first time he'd interacted with the Macintosh development community. The major disconnect that appeared almost instantly was the open source world's emphasis on a collaborative developer community versus the Macintosh world's emphasis on the end user.</P><P>In open source, although projects are maintained by a core group of programmers, anyone can contribute code. Mailing lists, Web sites, and other forms of electronic communication connect the programmers, who in large part double as the users of the software. Only recently have open source programs started to bleed into the more mainstream user world - a technically savvy user can get a copy of Linux and install it now, but it's still utterly unthinkable to give a standard Linux box to someone unschooled in computing.</P><P>From the beginning, however, the Macintosh has been "the computer for the rest of us," and that attitude underlies everything. You can give your grandmother an iMac. In addition, the relatively small size and minority status of the Macintosh market generated a strong sense of community that helps programmers identify with "the rest of us." In the early days of the Macintosh, electronic communications weren't prevalent, so massive user groups enabled Mac users to congregate in person. Plus, the mere fact that there was a market - which has only recently begun to be true in the open source world - also meant that events like Macworld Expo offered even more of a chance for developers to interact with the public. Finally, as became clear watching the frenetic network games of Carmageddon at MacHack, in the Macintosh world, programmers are users too.</P><P><<A HREF="http://www.interplay.com/carma/">http://www.interplay.com/carma/</A>></P><P>This user-centric approach also helps explain one area where open source software - as Eric readily admitted - suffers horribly: user interface. When all the users of a program are extremely technical, an easy-to-use interface is less important. Plus, a little dictatorship can go a long way in easing the task of creating a good interface. Apple's emphasis on a graphical user interface with a high level of internal consistency worked - virtually all Macintosh programmers work hard on interface, sometimes harder than on the actual code. Since the open source community has no human interface guidelines that must be followed for a program to have the "right" look and feel, programs rely on wildly different interface approaches, many informed by the command line and text-based configuration files of open source's Unix heritage.</P><P>The close connection between software developers and users also generated arguments when Eric claimed that closed source software is inherently unreliable due to the lack of a peer review process. The MacHack attendees felt strongly that they wrote reliable code, because to do otherwise was not only a disservice to users, it was also a source of expensive support calls. But it was easy for Eric to counter by asking how many years Macs generally ran before needing to be rebooted. The reality of the situation is hard to pin down, since MacHack attendees probably write better code than average. Plus, many bugs that seem to happen within programs can be laid at the feet of the Mac OS itself, and no one would argue that the Mac OS is as reliable as Linux. But at the same time, Linux is primarily a server operating system, whereas the Mac OS is primarily used by individuals, who are far more likely to perform actions unanticipated by the programmers.</P><P>Finally, the strongest resistance to Eric's open source ideas came when he criticized the factory model of software. He pointed out that although creating software for sale is the highest profile type of programming job, most programming jobs are for in-house support systems. Though everyone agreed in general, in-house development is relatively uncommon on Macs, and much of the audience earns their living selling software. Passions rose high for a bit, since the audience took Eric's criticism of the factory model as an attack on their livelihoods. Luckily, cooler heads prevailed, and everyone relaxed as they came to realize that the Macintosh industry is already moving away from the factory model. Secondary products (such as plug-ins for Photoshop), training, documentation, customized programs, fee-based support, and even advertising all supplement or replace the retail price. And if anything, since Macintosh software has long had trouble finding space in retail computer stores, we're already accustomed to acquiring and distributing our software in non-standard ways, which should only encourage the trend away from the factory model.</P><P><STRONG>Meeting of the Minds</STRONG> -- Eric Raymond deserves serious credit for standing on stage from midnight until 6 AM and arguing with a room full of Mac developers. Stubbornness was matched by stubbornness - it's a trait of most programmers that they firmly believe they are right. But Eric also deserves credit for clearly stating that the open source community needs to learn from the Macintosh world, both in terms of how to create good user interfaces and in learning how to deal with consumer audiences. For their part, the MacHack developers admitted, some wholeheartedly, others more grudgingly, that the open source model could prove extremely useful in the Mac world as well.</P><P>The situation improved even more as the conference proceeded, since Eric didn't just talk and run - he stuck around for the entire conference and found himself caught up in the spirit of things. Leonard Rosenthol, a veteran of all fifteen MacHack conferences and a major supporter of the open source model for Macintosh software, suggested that everyone chip in some money to buy Eric an iBook at the CompUSA next door. A day later, enough bills had accumulated in the "Buy Eric Raymond an iBook" box that he was presented with a blueberry iBook with extra RAM and a selection of software from the companies represented at MacHack. He was blown away when it was presented to him, and he and Maurita Plouff even participated in the Hack Contest with a hack written in the Python scripting language.</P><P>By the end, Eric was promising a return trip to MacHack, and proposing an OpenHack conference modeled closely on the approach and culture of MacHack. Both would help cement the ties between the open source and Macintosh communities, ties that can benefit us all.</P><!-- Open Source and the Macintosh 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://www.smilesoftware.com/"><IMG SRC="http://db.tidbits.com/images/badges/SmileLogo2010-50x50.gif" ALT="" HEIGHT="50" WIDTH="50" BORDER="0" ALIGN="left"></A>Get more productive with software from Smile: PDFpen for<br />editing PDFs; TextExpander for saving time and keystrokes while you<br />type; DiscLabel for designing CD/DVD labels and inserts. Free demos,
  702. <br />fast and friendly customer support. <<a href="http://www.smilesoftware.com/">http://www.smilesoftware.com/</a>></div>
  703. </div>
  704. <div class="sponsorbox_bottom"> </div>
  705.  
  706.  
  707.         <!-- comments section -->
  708.         
  709.         <!-- end comment show-->
  710.         
  711.         <!-- end comments section -->
  712.  
  713.  
  714.         <!-- end article loop details -->
  715.         
  716.         
  717.  
  718.         
  719.     </div><!-- end show article -->
  720.     
  721.     
  722.  
  723.  
  724. <!-- article_plus end -->
  725. <!--
  726. </DIV>
  727. --><!-- end main_column DIV -->
  728.  
  729.  
  730. <!-- google_ad_section_end -->
  731.  
  732. </div><!-- end center AJAX insert -->
  733.  
  734. <!-- TipBITS Search Results Lozenge -->
  735. <div id="tipbits_results_loz" style="display:none">
  736. <form method="post" onsubmit="return false" id="tipbits_form_loz" name="tipbits_form_loz" action="noaction.cgi">
  737. <div class="tip_footer">
  738. <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>
  739. </div>
  740. <div class="tip_footer_bottom">
  741.  </div>
  742. </form>
  743. </div><!-- end TipBITS Search Results lozenge -->
  744.  
  745.  
  746.  
  747.  
  748. <!-- begin footer -->
  749. <div id="footer">
  750.  
  751. <div id="qr_tag_right"><div id="qr_tag_image"><img src="http://db.tidbits.com/tags/5994.png"></div><div id="qr_tag_text"><a href="http://db.tidbits.com/article/10616">What's this image?</a></div></div>
  752. <p>Special thanks to <a href="http://www.forest.net/">digital.forest</a>, our
  753. Web and mailing list host.</p>
  754. <p>Unless otherwise noted, this article is copyright © 2000 <a href="/author/Adam%20C.%20Engst">Adam C. Engst</a></p>
  755. <p>TidBITS is copyright © 2010 TidBITS Publishing Inc.</p>
  756. <p>Reuse governed by <a href="http://www.tidbits.com/terms/">Creative Commons License</a>.</p>
  757.  
  758. <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>
  759.  
  760. </div><!-- end footer -->
  761.  
  762.  
  763. </div> <!-- end centercolumn -->
  764.  
  765. <div class="center_bottom"> </div>
  766.  
  767. </div> <!-- end centercolumn_border -->
  768.  
  769.  
  770. </div> <!-- end content_container -->
  771.  
  772. </div> <!-- end mainbody -->
  773.  
  774.  
  775. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
  776. </script>
  777. <script type="text/javascript">
  778. _uacct = "UA-276924-3";
  779. urchinTracker();
  780. </script>
  781. <script type="text/javascript"
  782. src="http://tidbitscom.skimlinks.com/api/skimlinks.js"></script>
  783. <script type="text/javascript">
  784. var skimlinks_pub_id = '2559X585851';
  785. var skimlinks_domain = 'go.tidbits.com';
  786. skimlinks();
  787. </script>
  788. </body>
  789. </html>
  790.  
  791.