home *** CD-ROM | disk | FTP | other *** search
/ db.tidbits.com / db.tidbits.com.tar / db.tidbits.com / getbits.acgi?tbart=07143.orig < prev    next >
Text File  |  2010-09-23  |  46KB  |  787 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 : Help Us Choose Among Content Management Systems</title>
  9.  
  10.     <meta name="title" content="TidBITS : Help Us Choose Among Content Management Systems">
  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='5756'>
  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/679" >#679, 05 May 03</A></li>
  307. <li><A HREF="/issue/678" >#678, 28 Apr 03</A></li>
  308. <li><A HREF="/issue/677" >#677, 21 Apr 03</A></li>
  309. <li><A HREF="/issue/676" >#676, 14 Apr 03</A></li>
  310. <li><A HREF="/issue/675" >#675, 07 Apr 03</A></li>
  311. <li><A HREF="/issue/674" >#674, 01 Apr 03</A></li>
  312. <li><A HREF="/issue/673" >#673, 31 Mar 03</A></li>
  313. <li><A HREF="/issue/672" >#672, 24 Mar 03</A></li>
  314. <li><A HREF="/issue/671" >#671, 17 Mar 03</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.smithmicro.com/tidbits">Smith Micro</a></li>
  358.  
  359. <li><a href="http://www.econtechnologies.com/tb">Econ Technologies</a></li>
  360.  
  361. <li><a href="http://macte.ch/conf_tidbits">MacTech Conference</a></li>
  362.  
  363. <li><a href="http://www.tidbits.com/about/support/contributors.html">Readers Like You!</a></li>
  364.  
  365. <li><a href="http://www.webcrossing.com/">Web Crossing</a></li>
  366.  
  367. <li><a href="http://crashplan.com/ref/tidbits.html">CrashPlan</a></li>
  368.  
  369. <li><a href="http://www.usefulfruit.com/tb">Useful Fruit</a></li>
  370.  
  371. <li><a href="http://nuance.com/dragon/mac">Nuance</a></li>
  372.  
  373. <li><a href="http://www.thedatarescuecenter.com/">The Data Rescue Center</a></li>
  374.  
  375. <li><a href="http://www.smilesoftware.com/">Smile</a></li>
  376.  
  377. <li><a href="http://markspace.com/bits?source=tidbits">Mark/Space</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>Open Files with App Switcher</h6>
  466. <p><p>Using the Application Switcher to open files can sometimes be faster than hunting for an Application's window or searching through a jam packed Dock for an Application's icon. First grab your file, press Command-Tab, and then drop the file onto the desired application's icon to open it within that program.</p></p>
  467. <p>Visit <a href="http://blog.pluckytree.org/2008/12/20-leopard-tricks-and-some-oldies.html">plucky tree</a></p>
  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/126">Link to this tip</a></p></div><div class="tip_display" style="float:right; width:150px">
  472. <p class="credit">Submitted by<br>cricket</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/8489">Wanted: Better Document Collaboration System</a> (03 Apr 06)</li>
  539. <li><a href="/article/7385">Seven Hundred Issues, a CMS, and Creative Commons</a> (06 Oct 03)</li>
  540.  
  541. </ul>
  542.  
  543. <p class="tearoffbox_wide_bottom_p"> </p>
  544.  
  545. </div><!-- end tearoffbox_wide -->
  546. </div><!-- end tearoffbox_wide_container -->
  547.  
  548. <!-- end tearoff box 2 -->
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556. <!-- begin tearoff box 1 -->
  557.  
  558. <div class="tearoffbox_wide_container">
  559.  
  560. <div class="tearoffbox_wide">
  561. <p class="tearoffbox_wide_top"> </p>
  562.  
  563. <h5>Published in <a href="/issue/675">TidBITS 675</a>.<br><a href="http://www.tidbits.com/list">Subscribe</a> to our weekly email edition.</h5>
  564. <ul>
  565. <li><A HREF="/article/7141">SETI@home 3.08 Security Fix</A></li>
  566. <li><A HREF="/article/7142">Final Cut Pro 4, DVD Studio Pro 2, Shake 3 Announced</A></li>
  567. <li><A HREF="/article/7144">The Boy Who Cried Bandwidth</A></li>
  568. <li><A HREF="/article/7145">The Digital Shoebox: iData Pro X 1.0.5</A></li>
  569.  
  570. </ul>
  571.  
  572. <p class="tearoffbox_wide_bottom"> </p>
  573.  
  574. </div><!-- end tearoffbox_wide -->
  575. </div><!-- end tearoffbox_wide_container -->
  576.  
  577. <!-- end tearoff box 1 -->
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585. <div id="rightcolumn_bottom">
  586.  
  587. </div>
  588.  
  589.     </div><!-- end rightcolumn -->
  590.  
  591.  
  592. </div><!-- end rightcolumn_container -->
  593.  
  594.  
  595.  
  596. <!-- featured articles -->
  597.  
  598. <div id="center_ajax_sub" class="instapaper_body">
  599.  
  600. <!-- google_ad_section_start -->
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621. <!-- issue, article, or series -->
  622.  
  623.     
  624.     
  625.     
  626.     
  627.     
  628.         
  629.     <!-- show article(s) -->
  630.     <div class="article"><a name="5756"></a>
  631.     
  632. <!-- comment initialization routine as needed -->
  633. <div class="popup_box_with_captcha" id="hc_5756" style="display: none">
  634.     <div class="tip_box_format">
  635.     <div id="hc_innards_alt_5756" style="display: none">
  636.             <div class="tbf_row">
  637.                 <div class="tbf_wide_80" id="hc_small_response_5756"></div><div class="x_close_row" id="hc_upper_right1_5756"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_5756', 'hc', '5756'); return true;">Close</a></div>
  638.  
  639.             </div>
  640.     </div>
  641.     <div id="hc_innards_5756">
  642.         <div class="tip_box_form">        
  643.             <form action="foobar.cgi" method="get" name="check_human_5756">
  644.             <div class="tbf_row">
  645.                 <div class="tbf_wide_80" id="hc_rc_5756">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_5756"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_5756', 'hc', '5756'); return true;">Close</a></div>
  646.  
  647.             </div>
  648.             <div class="spacer"></div>
  649.             <div class="tbf_row" id="hc_message_box_5756" style="display:none">
  650.                 <div class="tbf_wide"><div class="tbf_alert" id="hc_top_message_5756"></div></div>
  651.             </div>
  652.             <div class="spacer"></div>
  653.             <div class="tbf_row">
  654.                 <div class="tbf_wide"><div id="hc_recaptcha_5756"></div></div>
  655.             </div>
  656.             <div class="spacer"></div>
  657.             <div class="tbf_row">
  658.                 <div class="tbf_wide"><input type="submit" value="Submit" name="submit_this_tip" onClick="handle_tip_submission('hc', '5756', this.form, this.form.submit_type.value); return false;"><input name="calling_routine" type="hidden"><input type="hidden" name="getbits" value="7143"><input type="hidden" name="author_id"><input type="hidden" name="submit_type" value=""></div>
  659.             </div>
  660.             <div class="spacer"></div>
  661.             </form>
  662.         </div><!-- end tip_box_form -->
  663.     </div><!-- end hum box innards -->
  664.     </div><!-- end tip box format -->
  665. </div><!-- end tip_submit box-->
  666.  
  667.  
  668.  
  669.         
  670.         
  671.         <!-- specific article details here -->
  672.         
  673.         
  674.             
  675.         
  676.     
  677.         <article_link><script type="text/javascript">open_if_linked('')</script></article_link>
  678.         
  679.         <div class="featured_meta"><div class="meta_article">07 Apr 2003 | <a href="/article/7143?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>
  680.  
  681.         <H2>Help Us Choose Among Content Management Systems</H2>
  682.  
  683.         <p class="byline">by <a href="/author/Adam%20C.%20Engst">Adam C. Engst</a> <a href="javascript:void(0)" onClick="document.check_human_5756.submit_type.value='email'; document.check_human_5756.author_id.value='6'; ShowTipBox('hc_5756', 'hc_recaptcha_5756')"><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>
  684.  
  685.         <!-- article text -->
  686.         
  687.         <div id="article_box_5756"><P>I've mentioned in passing that we've been looking into new systems to replace the aging hardware that runs TidBITS (all our servers use pre-G3 PowerPCs) and cobbled-together software (FileMaker, Lasso, HyperCard, AppleScript, and Retrospect). The hardware decision is easy - an Xserve ought to do everything we want and more, and it will slot nicely into a rack at digital.forest, our server hosting service. But the content management software is another story.</P><P><<A HREF="http://www.forest.net/">http://www.forest.net/</A>></P><P>A content management system is a collection of programs for storing, managing, displaying, and archiving various types of content. A full content management system generally includes a database for storing the content, middleware software for extracting and presenting the content, and a Web server for the actual serving. We have articles, polls, and TidBITS Talk messages, along with collections of those items in issues, article series, and message threads. Plus, we publish our content in different formats (setext, HTML, RSS, and more) and in different venues (email, Web, FTP, Usenet news, and so on).</P><P>The need for a content management system has become increasingly common as the Web has matured. Content producers realized they needed tools that help put content on a single Web page (Claris HomePage or Symantec's Visual Page, for instance). That expanded to needing tools that help manage an entire site (Adobe SiteMill or the modern day Adobe GoLive or Macromedia Dreamweaver). Now, however, many needs have grown once again to include software that helps to manage content on a regular basis, simplifying the process of adding new content, archiving old content, and providing access to both old and new content in appropriate ways.</P><P>Everyone's needs are different, of course, but the need for some sort of content management system turns out to be remarkably common. Whether you're an individual trying to maintain a personal weblog or a business trying to maintain a catalog of your products, you need a content management system. That's why so many software packages call themselves content management systems. Some are designed for local newspapers, while others aim at providing information systems for entire college campuses. Some are so proprietary that you can use them only if you contract with the developers to build and host your system, whereas others adhere to open source precepts (unfortunately often including the one about documentation being for losers and fools). Add in a myriad of blogging programs and you can see how difficult it is to find the perfect content management system for a particular purpose.</P><P>After long discussions about how to plan and create our new content management system, Tonya and I finally decided to work with our friend Keith Kubarek, who had spent 16 years working at Cornell University but recently left to concentrate on his Web design and development company, One Bad Ant. The process has been going well, and it's been tremendously helpful and educational to watch someone else try to figure out precisely what TidBITS does - we're too close to our systems to view them objectively. Keith's business analysis of what we do was particularly interesting for the way it helped us clarify not just what we do now, but those areas in which we hope to do different things in the future.</P><P><<A HREF="http://www.onebadant.com/">http://www.onebadant.com/</A>></P><P><STRONG>Initial Technical Analysis</STRONG> -- Now that we've completed the business analysis, Keith has moved on to the technical analysis, in which he's evaluating existing content management systems to see which deserve further investigation and possible adoption for some or all of our eventual solution.</P><P>What are our primary needs? Along with the basics of storing, managing, displaying, and archiving content, we need features like rock-solid integration with email for issue distribution, user account management so users can manage their own subscriptions, links between articles and between TidBITS Talk messages, management of sponsorship appearances, unified circulation statistics, support for different issue formats and venues, integration of PayBITS, and more.</P><P>Trying to figure out which content management packages provide these features (or can be extended to provide these features) is a Herculean task. Luckily, we were able to eliminate many of the seeming contenders based on two simple criteria.</P><UL><LI><P>Platform. We will be using a Macintosh and Mac OS X. Others need not apply, and if Unix developers couldn't be bothered to state clearly whether or not Mac OS X was supported, they were dinged instantly too.</P><LI><P>Price. We're not opposed to the concept of spending some money, but only within reason, so we ditched packages priced above $2,000 right away (some ran as high as $50,000!). Other pricing problems included annual fees and traffic-based pricing schemes, since our income isn't directly related to our level of traffic.</P></UL><P><STRONG>Narrowing the Field</STRONG> -- After that initial level of winnowing, we applied additional criteria to narrow the list further. These criteria weren't as all-or-nothing as the previous ones, but if a program failed on several counts, it fell off our list.</P><UL><LI><P>Basic coherence. If we couldn't figure out the basic capabilities of the software from its Web site, it was hard to muster enthusiasm for using it.</P><LI><P>Documentation. Some programs came closer to being dropped from our list thanks to poor, incomplete, or non-existent documentation.</P><LI><P>Email. Many content management systems look no farther than the Web, which may be fine for others. For us, though, email is essential. We don't necessarily expect full mailing list capabilities, but we need some way to send content to subscribers via email, manage subscriptions, and handle bounces.</P><LI><P>Customization. This one's a balancing act. We don't want to shoehorn TidBITS into some other publication's mold, but at the same time, we don't want to spend huge amounts of time or money on a custom site written for us from scratch.</P><LI><P>Available knowledge. All other things being equal, we'd prefer to use a system that others who we know are also using so we can learn from them or get help as necessary. It's even better if those experts are people who read TidBITS regularly and appreciate what we're trying to do. Open systems generally win out over proprietary systems in this regard.</P><LI><P>Maintenance. We want to spend our time researching and writing, not baby-sitting our server. Simply running on an Xserve in Mac OS X should do away with some of the problems we face now, but we don't want to sign up for more if at all possible.</P><LI><P>Stability, reliability, and performance. Determining how any given application performs in these respects ahead of time is tricky, but we'll look more at these criteria as we get closer to final candidates.</P></UL><P><STRONG>Current Contenders</STRONG> -- So here's where you come in - after all, TidBITS readers are the people who will use whatever we end up creating. We've come up with a short list of packages that deserve additional investigation, but we're under no illusion that we've even identified every possibility. If you know of something else that might fit our needs, let us know and we'll check it out. Similarly, if you have educated opinions or deep knowledge about any of these packages, we'd love to know that as well. I plan to be holding these discussions primarily via TidBITS Talk (please send comments to <<A HREF="mailto:tidbits-talk@tidbits.com">tidbits-talk@tidbits.com</A>>), so if you want me to keep your message private, just say so and send it to me personally. Here's the list.</P><UL><LI><P>Aegir is an end-user content management system based on the Midgard development framework, which in turn relies on Apache, MySQL, and PHP. Although Aegir doesn't talk about Mac OS X specifically; Midgard does, so we assume both should work.</P></UL><P><<A HREF="http://www.aegir-cms.org/">http://www.aegir-cms.org/</A>><BR><<A HREF="http://www.midgard-project.org/">http://www.midgard-project.org/</A>></P><UL><LI><P>Bricolage is currently used by Macworld magazine as their content management system. It uses the PostgreSQL database to store content. Bricolage is actually built on Mason, which is a Perl-based Web site development and delivery engine.</P></UL><P><<A HREF="http://www.bricolage.cc/">http://www.bricolage.cc/</A>><BR><<A HREF="http://www.masonhq.com/">http://www.masonhq.com/</A>></P><UL><LI><P>Cofax is an open source package developed originally for Knight Ridder's newspaper Web sites. Although Cofax's Web site doesn't talk about Mac OS X specifically, Mac OS X-compatible software like MySQL and Mac OS X's Java implementation should be able to meet its requirements, and it was sufficiently interesting to warrant a closer look.</P></UL><P><<A HREF="http://www.cofax.org/">http://www.cofax.org/</A>></P><UL><LI><P>Blue World's Lasso now works with SQL databases, including MySQL. We currently use Lasso with FileMaker Pro, so we might be able to reuse some of that code. Lasso also has tight integration with Dreamweaver and GoLive, which could prove useful.</P></UL><P><<A HREF="http://www.blueworld.com/">http://www.blueworld.com/</A>></P><UL><LI><P>PHP-Nuke and its offshoot PostNuke are weblog/portal/content management systems that run on PHP-enabled Web servers. They can work with a variety of databases, including MySQL. Both offer numerous pre-built modules for specific functions like polls, searching, site statistics, and so on.</P></UL><P><<A HREF="http://www.phpnuke.org/">http://www.phpnuke.org/</A>><BR><<A HREF="http://www.postnuke.com/">http://www.postnuke.com/</A>></P><UL><LI><P>Xoops is yet another PHP-based content management system that can sit on top of a variety of different databases.</P></UL><P><<A HREF="http://www.xoops.org/">http://www.xoops.org/</A>></P><UL><LI><P>Zope is a Web application server written primarily in Python. It includes its own Web server, but can also run on Apache. A content management framework is available for Zope, and a full-fledged open source content management system called Plone runs on top of Zope and its content management framework.</P></UL><P><<A HREF="http://www.zope.org/">http://www.zope.org/</A>><BR><<A HREF="http://www.plone.org/">http://www.plone.org/</A>></P><UL><LI><P>4D is best known as a database, but the current version is actually an application development and Web development environment so it might be able to meet our needs.</P></UL><P><<A HREF="http://www.4d.com/">http://www.4d.com/</A>></P><P><STRONG>The Next Step</STRONG> -- We realize that the current set of contenders represents a jumble of options for scripting languages, underlying databases, and supported technologies, and our heads are spinning as we try to analyze the possibilities. So tell us what you think, and we'll be sure to write more about our progress.</P><!-- Help Us Choose Among Content Management Systems Adam C. Engst --></div>
  688.         
  689.  
  690.         <!-- end article text -->
  691.     
  692.         
  693.         <!-- PayBITS -->
  694.         
  695.  
  696.         
  697. <p> </p><div class="sponsorbox">
  698. <div class="sponsortext"><A HREF="http://www.usefulfruit.com/tb"><IMG SRC="http://db.tidbits.com/images/badges/pear-note-icon50x50.png" ALT="" HEIGHT="50" WIDTH="50" BORDER="0" ALIGN="left"></A>Pear Note 2: More complete, understandable notes on your Mac.<br />Typed notes are blended with recorded audio, video, and slides<br />to create notes that make more sense when you need them most.<br />Learn more at <<a href="http://www.usefulfruit.com/tb">http://www.usefulfruit.com/tb</a>>!</div>
  699. </div>
  700. <div class="sponsorbox_bottom"> </div>
  701.  
  702.  
  703.         <!-- comments section -->
  704.         
  705.         <!-- end comment show-->
  706.         
  707.         <!-- end comments section -->
  708.  
  709.  
  710.         <!-- end article loop details -->
  711.         
  712.         
  713.  
  714.         
  715.     </div><!-- end show article -->
  716.     
  717.     
  718.  
  719.  
  720. <!-- article_plus end -->
  721. <!--
  722. </DIV>
  723. --><!-- end main_column DIV -->
  724.  
  725.  
  726. <!-- google_ad_section_end -->
  727.  
  728. </div><!-- end center AJAX insert -->
  729.  
  730. <!-- TipBITS Search Results Lozenge -->
  731. <div id="tipbits_results_loz" style="display:none">
  732. <form method="post" onsubmit="return false" id="tipbits_form_loz" name="tipbits_form_loz" action="noaction.cgi">
  733. <div class="tip_footer">
  734. <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>
  735. </div>
  736. <div class="tip_footer_bottom">
  737.  </div>
  738. </form>
  739. </div><!-- end TipBITS Search Results lozenge -->
  740.  
  741.  
  742.  
  743.  
  744. <!-- begin footer -->
  745. <div id="footer">
  746.  
  747. <div id="qr_tag_right"><div id="qr_tag_image"><img src="http://db.tidbits.com/tags/7143.png"></div><div id="qr_tag_text"><a href="http://db.tidbits.com/article/10616">What's this image?</a></div></div>
  748. <p>Special thanks to <a href="http://www.forest.net/">digital.forest</a>, our
  749. Web and mailing list host.</p>
  750. <p>Unless otherwise noted, this article is copyright © 2003 <a href="/author/Adam%20C.%20Engst">Adam C. Engst</a></p>
  751. <p>TidBITS is copyright © 2010 TidBITS Publishing Inc.</p>
  752. <p>Reuse governed by <a href="http://www.tidbits.com/terms/">Creative Commons License</a>.</p>
  753.  
  754. <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>
  755.  
  756. </div><!-- end footer -->
  757.  
  758.  
  759. </div> <!-- end centercolumn -->
  760.  
  761. <div class="center_bottom"> </div>
  762.  
  763. </div> <!-- end centercolumn_border -->
  764.  
  765.  
  766. </div> <!-- end content_container -->
  767.  
  768. </div> <!-- end mainbody -->
  769.  
  770.  
  771. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
  772. </script>
  773. <script type="text/javascript">
  774. _uacct = "UA-276924-3";
  775. urchinTracker();
  776. </script>
  777. <script type="text/javascript"
  778. src="http://tidbitscom.skimlinks.com/api/skimlinks.js"></script>
  779. <script type="text/javascript">
  780. var skimlinks_pub_id = '2559X585851';
  781. var skimlinks_domain = 'go.tidbits.com';
  782. skimlinks();
  783. </script>
  784. </body>
  785. </html>
  786.  
  787.