home *** CD-ROM | disk | FTP | other *** search
/ db.tidbits.com / db.tidbits.com.tar / db.tidbits.com / getbits.acgi?tbart=02180.orig < prev    next >
Text File  |  2010-09-23  |  49KB  |  804 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 : A Spreadsheet for the Millennium</title>
  9.  
  10.     <meta name="title" content="TidBITS : A Spreadsheet for the Millennium">
  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='2910'>
  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/385" >#385, 23 Jun 97</A></li>
  307. <li><A HREF="/issue/384" >#384, 16 Jun 97</A></li>
  308. <li><A HREF="/issue/383" >#383, 09 Jun 97</A></li>
  309. <li><A HREF="/issue/382" >#382, 02 Jun 97</A></li>
  310. <li><A HREF="/issue/381" >#381, 26 May 97</A></li>
  311. <li><A HREF="/issue/380" >#380, 19 May 97</A></li>
  312. <li><A HREF="/issue/379" >#379, 12 May 97</A></li>
  313. <li><A HREF="/issue/378" >#378, 05 May 97</A></li>
  314. <li><A HREF="/issue/377" >#377, 28 Apr 97</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://macte.ch/conf_tidbits">MacTech Conference</a></li>
  358.  
  359. <li><a href="http://www.webcrossing.com/">Web Crossing</a></li>
  360.  
  361. <li><a href="http://crashplan.com/ref/tidbits.html">CrashPlan</a></li>
  362.  
  363. <li><a href="http://www.smilesoftware.com/">Smile</a></li>
  364.  
  365. <li><a href="http://www.smithmicro.com/tidbits">Smith Micro</a></li>
  366.  
  367. <li><a href="http://markspace.com/bits?source=tidbits">Mark/Space</a></li>
  368.  
  369. <li><a href="http://www.tidbits.com/about/support/contributors.html">Readers Like You!</a></li>
  370.  
  371. <li><a href="http://www.thedatarescuecenter.com/">The Data Rescue Center</a></li>
  372.  
  373. <li><a href="http://www.econtechnologies.com/tb">Econ Technologies</a></li>
  374.  
  375. <li><a href="http://nuance.com/dragon/mac">Nuance</a></li>
  376.  
  377. <li><a href="http://www.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 the Dock Quickly</h6>
  466. <p><p>You may find it convenient to move the position of the Dock when working in certain programs or with certain files. Rather than choosing a different position from the Dock preferences pane or using a submenu in the Apple menu's Dock submenu, you can move your Dock to a different screen edge merely by Shift-dragging the separator that divides the application and document sections.</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/131">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/5519">Long Day's Journey into Night of the Living Dead Software</a> (23 Aug 99)</li>
  539. <li><a href="/article/1160">Get Your Hands on Prograph</a> (29 Jan 96)</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. <!-- begin tearoff box for series -->
  552.  
  553. <div class="tearoffbox_wide_container">
  554.  
  555. <div class="tearoffbox_wide_p">
  556. <p class="tearoffbox_wide_top_p"> </p>
  557.  
  558. <h5>Other articles in the series <a href="/series/1003">Frustrated with Excel?</a></h5>
  559. <ul>
  560.  
  561. </ul>
  562.  
  563. <p class="tearoffbox_wide_bottom_p"> </p>
  564.  
  565. </div><!-- end tearoffbox_wide -->
  566. </div><!-- end tearoffbox_wide_container -->
  567.  
  568. <!-- end tearoff box -->
  569.  
  570.  
  571.  
  572.  
  573. <!-- begin tearoff box 1 -->
  574.  
  575. <div class="tearoffbox_wide_container">
  576.  
  577. <div class="tearoffbox_wide">
  578. <p class="tearoffbox_wide_top"> </p>
  579.  
  580. <h5>Published in <a href="/issue/381">TidBITS 381</a>.<br><a href="http://www.tidbits.com/list">Subscribe</a> to our weekly email edition.</h5>
  581. <ul>
  582. <li><A HREF="/article/2176">Apple Spins Out Newton</A></li>
  583. <li><A HREF="/article/2177">TidBITS Still on ZDNet/Mac on CompuServe</A></li>
  584. <li><A HREF="/article/2178">Global Village's 56K for PowerBooks</A></li>
  585. <li><A HREF="/article/2179">Yellow Box, Blue Box, Rhapsody & WWDC</A></li>
  586.  
  587. </ul>
  588.  
  589. <p class="tearoffbox_wide_bottom"> </p>
  590.  
  591. </div><!-- end tearoffbox_wide -->
  592. </div><!-- end tearoffbox_wide_container -->
  593.  
  594. <!-- end tearoff box 1 -->
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602. <div id="rightcolumn_bottom">
  603.  
  604. </div>
  605.  
  606.     </div><!-- end rightcolumn -->
  607.  
  608.  
  609. </div><!-- end rightcolumn_container -->
  610.  
  611.  
  612.  
  613. <!-- featured articles -->
  614.  
  615. <div id="center_ajax_sub" class="instapaper_body">
  616.  
  617. <!-- google_ad_section_start -->
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638. <!-- issue, article, or series -->
  639.  
  640.     
  641.     
  642.     
  643.     
  644.     
  645.         
  646.     <!-- show article(s) -->
  647.     <div class="article"><a name="2910"></a>
  648.     
  649. <!-- comment initialization routine as needed -->
  650. <div class="popup_box_with_captcha" id="hc_2910" style="display: none">
  651.     <div class="tip_box_format">
  652.     <div id="hc_innards_alt_2910" style="display: none">
  653.             <div class="tbf_row">
  654.                 <div class="tbf_wide_80" id="hc_small_response_2910"></div><div class="x_close_row" id="hc_upper_right1_2910"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_2910', 'hc', '2910'); return true;">Close</a></div>
  655.  
  656.             </div>
  657.     </div>
  658.     <div id="hc_innards_2910">
  659.         <div class="tip_box_form">        
  660.             <form action="foobar.cgi" method="get" name="check_human_2910">
  661.             <div class="tbf_row">
  662.                 <div class="tbf_wide_80" id="hc_rc_2910">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_2910"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_2910', 'hc', '2910'); return true;">Close</a></div>
  663.  
  664.             </div>
  665.             <div class="spacer"></div>
  666.             <div class="tbf_row" id="hc_message_box_2910" style="display:none">
  667.                 <div class="tbf_wide"><div class="tbf_alert" id="hc_top_message_2910"></div></div>
  668.             </div>
  669.             <div class="spacer"></div>
  670.             <div class="tbf_row">
  671.                 <div class="tbf_wide"><div id="hc_recaptcha_2910"></div></div>
  672.             </div>
  673.             <div class="spacer"></div>
  674.             <div class="tbf_row">
  675.                 <div class="tbf_wide"><input type="submit" value="Submit" name="submit_this_tip" onClick="handle_tip_submission('hc', '2910', this.form, this.form.submit_type.value); return false;"><input name="calling_routine" type="hidden"><input type="hidden" name="getbits" value="2180"><input type="hidden" name="author_id"><input type="hidden" name="submit_type" value=""></div>
  676.             </div>
  677.             <div class="spacer"></div>
  678.             </form>
  679.         </div><!-- end tip_box_form -->
  680.     </div><!-- end hum box innards -->
  681.     </div><!-- end tip box format -->
  682. </div><!-- end tip_submit box-->
  683.  
  684.  
  685.  
  686.         
  687.         
  688.         <!-- specific article details here -->
  689.         
  690.         
  691.             
  692.         
  693.     
  694.         <article_link><script type="text/javascript">open_if_linked('')</script></article_link>
  695.         
  696.         <div class="featured_meta"><div class="meta_article">26 May 1997 | <a href="/article/2180?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>
  697.  
  698.         <H2>A Spreadsheet for the Millennium</H2>
  699.  
  700.         <p class="byline">by <a href="/author/Matt%20Neuburg">Matt Neuburg</a> <a href="javascript:void(0)" onClick="document.check_human_2910.submit_type.value='email'; document.check_human_2910.author_id.value='7'; ShowTipBox('hc_2910', 'hc_recaptcha_2910')"><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>
  701.  
  702.         <!-- article text -->
  703.         
  704.         <div id="article_box_2910"><P>At a time when Apple and the Macintosh seem to be whirling in fragments around my head, the release of Spreadsheet 2000 from Casady & Greene has given my spirits a much needed lift. It is a powerful, flexible, interesting way to store and retrieve information (in this case, numerical information, along with calculations). That, as longtime TidBITS readers know, goes right to the heart of what I want from my Mac. The light-hearted interface shows that there is still room for originality on the Mac. It is easy to learn: you do the tutorials, you grok the metaphor, and from then on it's completely intuitive. It was basically written by Steve Wilson of Emergent Behavior, reaffirming the place of small developers. And, the fact that Spreadsheet 2000 was written with Prograph CPX, my favorite Mac development environment (see <A HREF="http://www.tidbits.com/tb-issues/TidBITS-312.html">TidBITS-312</A>), is a delightful bonus.</P><P><<A HREF="http://www.casadyg.com/C%26G/Welcome.html">http://www.casadyg.com/C&G/Welcome.html</A>></P><P>Spreadsheet 2000, officially abbreviated S2K, is actually version 2.0 of Let's Keep It Simple Spreadsheet, officially abbreviated Let's KISS, or LKISS, or just plain KISS.</P><P><STRONG>Go With the Dataflow</STRONG> -- A spreadsheet is a place where, typically, numbers live, some of which are the result of live calculations using others. For instance, in recording a budget, altering or adding a figure in a column of food-related expenditures for the month might automatically change entries for the month's food total, the month's grand total, and the year-to-date grand total.</P><P>In most spreadsheet programs, this is done through hidden formulas. You are presented with a blank grid of cells, into each of which you can put either a number or a formula describing a calculation based on other cells. A cell containing a formula, though, shows only the result of the formula's calculation. That number can then be used in still other formulas, and so on. This means that you must learn a formula language, which is often difficult. More important, it means that a spreadsheet is hard to explore and easy to harm: since you cannot usually see the formulas (and even when you can, it is hard to trace a cell's formulaic dependencies), you may accidentally make a change that causes a formula to give a bad result, or one that overwrites a formula altogether.</P><P>Spreadsheet 2000 is nothing like this. Instead, you are presented with a completely empty window. Into this window you place, by drag & drop from palettes, any of a number of objects, and by dragging arrange them as you like, much as in a drawing program. These objects are principally either rectangular grids of cells, or operators (such as "+", "*", "avg", and so on) represented as small named rectangular panels. You then click to draw connecting lines leading from grids to operators, and from operators to other grids ("output" grids). You can put numbers into the cells of grids - but not if they are output grids (output grids automatically take on a different color). So, the results of calculations are specially marked and automatically protected. Also, the structure of each calculation is visible as a physical flow of data: from an input grid or grids, through an operator, to an output grid.</P><P>The chain of grid-operator-grid can be extended as long you like; a grid may serve as input to more than one operator, and an operator may require input from more than one grid. To prevent a clutter of such chains from tangling up like spaghetti, you can select a segment of chain and "crunch" it, replacing it by a single custom operator. If you double-click the custom operator, an edit window opens and displays the grids and operators you crunched. You can work in this edit window, rearranging elements, altering data, modifying calculations, and even crunching segments of chain within it, too. By judicious naming and arrangement of crunched custom operators, you can create visual calculation structures which remain neat and easy to understand; yet the details remain available by quickly drilling down, opening the edit windows of custom operators to any desired level.</P><P>Spreadsheet 2000 also provides a second way to avoid clutter. This is called a report, though I prefer to think of it as a view, since it's really another way of looking at particular portions of your data. The main window (called the Master) is replaced by one containing just a designated subset of elements: typically, one window might show two or three chief grids, with no operators or connections at all. A document can have many different named reports, listed in a Report menu, and at any given moment you see either one report or the Master (which is another reason I call them views). How you use reports is up to you. You can enter data in a report, so when a calculation involves a lot of bits of data, multiple reports can provide multiple entry forms. They are also good places to summarize the grand results of a calculation.</P><P>I mentioned earlier that spreadsheet elements are added by drag & drop from palettes. You may create your own palettes to store elements you might need later (libraries, in other words). Such elements might range from a complicated, crunched custom calculation that generates histogram information to a simple, frequently needed grid of data or an empty 12-row grid labelled with the names of the months.</P><P>Spreadsheets can also contain special elements, such as charts that automatically show simple but effective graphs of any grid connected to them. There are also notes - simple text rectangles useful for placing comments and instructions - and graphics. These can all be arranged as desired, of course.</P><P><STRONG>True Grid</STRONG> -- All data entry and display is, as already stated, by way of grids. You can type data directly into a grid cell, and of course you can cut and paste data between grids and another applications (S2K does some intelligent processing of clipboard contents); you can also export grid data as tab-delimited text files.</P><P>A grid can be resized to any rectangular dimensions in terms of the cells it contains: it can be a single cell, a single column, a single row, or a full rectangle. Labels can be attached to any grid's top, side, or both, letting you specify what each column or row denotes; with output grids you can attach labels yourself, or tell an operator to allow its input's labels to "flow through," so that the operator's output grid reproduces them.</P><P>The display of numeric data can be formatted by dragging & dropping a formatting icon onto it; various basic formatting icons live in a toolbar at the top of the screen, or you can tear off a formatting palette which lets you be more specific about things like the number of decimal places to be displayed. Text formatting works similarly, or you can choose from a Text menu. S2K enforces formatting consistency: you can numerically format a whole grid or selected columns, or textually format a whole grid or all top or side labels, but not individual cells.</P><P>One of Spreadsheet 2000's cleverest features is the intelligent behavior of its operators with respect to grids. Take, for example, the "+" operator: what it does depends on the shape you give its output grid. Imagine you have a 5-by-4 grid of numbers connected into a "+" operator. If the "+" operator is then connected to a single-cell grid, that cell will display the sum of all 20 input cells. If it is connected to a single-row grid, that grid is automatically resized to 5-by-1, and displays the sum of each column of the input. If it is connected to a single-column grid, that grid is automatically resized to 1-by-4, and displays the sum of each row of the input.</P><P>Other operators that take multiple inputs react to the shapes of those inputs. For instance, the "A+B" operator, which adds two inputs, will add two single-column grids by making the output a single column each of whose cells contains the sum of the corresponding pair of cells. It will add a rectangle grid to a single-column grid by making a rectangle grid, summing corresponding pairs of cells one column at a time. It will add a single-column grid to a single-row grid by making a rectangle grid, each cell containing one of the possible sums of pairs. And so on.</P><P>The extraordinary thing is that, although this sounds very involved when I describe it, in action it is immediately obvious and intuitive. S2K gives you a sense of doing the right thing, of knowing what you mean (often better than you do yourself!).</P><P><STRONG>Spreadsheet Icing</STRONG> -- Native operators include standard numeric functions (arithmetic, trigonometric, exponential, rounding), and "form" operators act as a shortcut in the composition of elementary algebraic expressions; basic statistical functions (such as average and standard deviation) are included too. Grid operators let you count cells, columns, and rows; combine or decompose grids; copy, rotate, and sort grids; and extract grid parts by various match criteria. Logical operators let you perform Boolean tests and even build "if-then-else" constructs. Loop operators generate automatic fill data, and let you construct cumulatively computed output grids (such as a running bank balance).</P><P>These operators turn out to be sufficient for most needs; the trick, when you want to build a new function, is getting used to the dataflow model, which works differently from an algebraic language. To help you, a large selection of pre-built custom operators is included; these can be used as shortcuts, and (being constructed from the native operators) they are also valuable study models. They range from simple unit conversions and physical constants to arithmetic representations of complex numbers, polynomial roots, primeness test, Fibonacci series, pseudo-random number generation, linear regression, and various financial operators - enough to prove that S2K's dataflow language is pretty powerful (especially considering its lack of recursion).</P><P>Many model solutions are also included in the form of stationery and other files. Again, the wide range testifies to Spreadsheet 2000's power: break-even and depreciation, budget and car leasing, triangle solution, Fourier sine wave addition, numeric integration by Simpson's rule, a gradebook, even baseball statistics. More user-created templates can be found on Casady & Greene's Web site.</P><P><<A HREF="http://www.casadyg.com/C%26G/Products/spreadsheet_2000/Solutions/solutions.html">http://www.casadyg.com/C&G/Products/ spreadsheet_2000/Solutions/ solutions.html</A>></P><P>The manual, unfortunately, fails to document any of this (except for the native operators). Otherwise, though, it is quite nice: it consists mostly of chatty tutorials and general advice, followed by some lightly written reference material, which is all you need because the program is easy to use once you've done the tutorials. There is also good balloon help, plus some Apple Guides.</P><P><STRONG>The Magic Draggin'</STRONG> -- If I have one overall complaint about Spreadsheet 2000, it is that the program is strongly mouse-oriented. I like dragging & dropping as much as the next person (and S2K's optional sound effects add to the fun), but the program calls for more physical dexterity than I possess and more reaching hither and yon than I have patience for.</P><P>I've made this and several other suggestions to S2K author Steve Wilson - such things as having crunched operators' edit windows remember their size and position next time they're opened, and an optional dialog to make it easier to size a grid. His receptive attitude suggests that, with constructive suggestions from users, S2K's future incarnations will be even better.</P><P>Having exhausted my feeble supply of negatives, I'll reiterate: Spreadsheet 2000 is a fine program. It seems rock solid (I haven't been able to make it choke or crash); its behavior is intuitive and convenient. It has those direct, simple, Mac-defining qualities that come along once in a blue moon, giving it the potential to be a classic. It performs a powerful, basic function, yet is easy to learn, and satisfying and fun to use. In my opinion it is the everyday spreadsheet that every Mac owner must have.</P><P><STRONG>Hot Off the Grid</STRONG> -- A splendid QuickTime movie showing S2K in action can be found on Casady & Greene's Web site (200K), along with demo versions of S2K for both 68K and PowerPC-based Macs (a little over 2 MB):</P><P><<A HREF="http://www.casadyg.com/C%26G/Products/spreadsheet_2000/S2Kmov.html">http://www.casadyg.com/C&G/Products/ spreadsheet_2000/S2Kmov.html</A>></P><P>In our checking, the street price for Spreadsheet 2000 ranged from $60 to $75, and there's currently a $30 rebate if you own another spreadsheet. The LKISS upgrade is $20 (free if purchased in 1997).</P><P><<A HREF="http://www.casadyg.com/C%26G/Products/spreadsheet_2000/description.html">http://www.casadyg.com/C&G/Products/ spreadsheet_2000/description.html</A>></P><P><STRONG>DealBITS</STRONG> -- Through the URL below, Cyberian Outpost is offering TidBITS readers Spreadsheet 2000 for $54.95, which is $5 off the standard price.</P><P><<A HREF="http://www.tidbits.com/products/spreadsheet-2000.html">http://www.tidbits.com/products/spreadsheet- 2000.html</A>></P><!-- A Spreadsheet for the Millennium Matt Neuburg --></div>
  705.         
  706.  
  707.         <!-- end article text -->
  708.     
  709.         
  710.         <!-- PayBITS -->
  711.         
  712.  
  713.         
  714. <p> </p><div class="sponsorbox">
  715. <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>
  716. </div>
  717. <div class="sponsorbox_bottom"> </div>
  718.  
  719.  
  720.         <!-- comments section -->
  721.         
  722.         <!-- end comment show-->
  723.         
  724.         <!-- end comments section -->
  725.  
  726.  
  727.         <!-- end article loop details -->
  728.         
  729.         
  730.  
  731.         
  732.     </div><!-- end show article -->
  733.     
  734.     
  735.  
  736.  
  737. <!-- article_plus end -->
  738. <!--
  739. </DIV>
  740. --><!-- end main_column DIV -->
  741.  
  742.  
  743. <!-- google_ad_section_end -->
  744.  
  745. </div><!-- end center AJAX insert -->
  746.  
  747. <!-- TipBITS Search Results Lozenge -->
  748. <div id="tipbits_results_loz" style="display:none">
  749. <form method="post" onsubmit="return false" id="tipbits_form_loz" name="tipbits_form_loz" action="noaction.cgi">
  750. <div class="tip_footer">
  751. <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>
  752. </div>
  753. <div class="tip_footer_bottom">
  754.  </div>
  755. </form>
  756. </div><!-- end TipBITS Search Results lozenge -->
  757.  
  758.  
  759.  
  760.  
  761. <!-- begin footer -->
  762. <div id="footer">
  763.  
  764. <div id="qr_tag_right"><div id="qr_tag_image"><img src="http://db.tidbits.com/tags/2180.png"></div><div id="qr_tag_text"><a href="http://db.tidbits.com/article/10616">What's this image?</a></div></div>
  765. <p>Special thanks to <a href="http://www.forest.net/">digital.forest</a>, our
  766. Web and mailing list host.</p>
  767. <p>Unless otherwise noted, this article is copyright © 1997 <a href="/author/Matt%20Neuburg">Matt Neuburg</a></p>
  768. <p>TidBITS is copyright © 2010 TidBITS Publishing Inc.</p>
  769. <p>Reuse governed by <a href="http://www.tidbits.com/terms/">Creative Commons License</a>.</p>
  770.  
  771. <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>
  772.  
  773. </div><!-- end footer -->
  774.  
  775.  
  776. </div> <!-- end centercolumn -->
  777.  
  778. <div class="center_bottom"> </div>
  779.  
  780. </div> <!-- end centercolumn_border -->
  781.  
  782.  
  783. </div> <!-- end content_container -->
  784.  
  785. </div> <!-- end mainbody -->
  786.  
  787.  
  788. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
  789. </script>
  790. <script type="text/javascript">
  791. _uacct = "UA-276924-3";
  792. urchinTracker();
  793. </script>
  794. <script type="text/javascript"
  795. src="http://tidbitscom.skimlinks.com/api/skimlinks.js"></script>
  796. <script type="text/javascript">
  797. var skimlinks_pub_id = '2559X585851';
  798. var skimlinks_domain = 'go.tidbits.com';
  799. skimlinks();
  800. </script>
  801. </body>
  802. </html>
  803.  
  804.