home *** CD-ROM | disk | FTP | other *** search
/ db.tidbits.com / db.tidbits.com.tar / db.tidbits.com / getbits.acgi?tbart=05396.orig < prev    next >
Text File  |  2010-09-23  |  46KB  |  809 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 : Putting URL Access Scripting to Work</title>
  9.  
  10.     <meta name="title" content="TidBITS : Putting URL Access Scripting to Work">
  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='4073'>
  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/485" >#485, 14 Jun 99</A></li>
  307. <li><A HREF="/issue/484" >#484, 07 Jun 99</A></li>
  308. <li><A HREF="/issue/483" >#483, 31 May 99</A></li>
  309. <li><A HREF="/issue/482" >#482, 24 May 99</A></li>
  310. <li><A HREF="/issue/481" >#481, 17 May 99</A></li>
  311. <li><A HREF="/issue/480" >#480, 10 May 99</A></li>
  312. <li><A HREF="/issue/479" >#479, 03 May 99</A></li>
  313. <li><A HREF="/issue/478" >#478, 26 Apr 99</A></li>
  314. <li><A HREF="/issue/477" >#477, 19 Apr 99</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://nuance.com/dragon/mac">Nuance</a></li>
  358.  
  359. <li><a href="http://www.thedatarescuecenter.com/">The Data Rescue Center</a></li>
  360.  
  361. <li><a href="http://www.tidbits.com/about/support/contributors.html">Readers Like You!</a></li>
  362.  
  363. <li><a href="http://markspace.com/bits?source=tidbits">Mark/Space</a></li>
  364.  
  365. <li><a href="http://crashplan.com/ref/tidbits.html">CrashPlan</a></li>
  366.  
  367. <li><a href="http://www.usefulfruit.com/tb">Useful Fruit</a></li>
  368.  
  369. <li><a href="http://www.econtechnologies.com/tb">Econ Technologies</a></li>
  370.  
  371. <li><a href="http://www.smithmicro.com/tidbits">Smith Micro</a></li>
  372.  
  373. <li><a href="http://macte.ch/conf_tidbits">MacTech Conference</a></li>
  374.  
  375. <li><a href="http://www.webcrossing.com/">Web Crossing</a></li>
  376.  
  377. <li><a href="http://www.smilesoftware.com/">Smile</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>Just Show Me the Pictures!</h6>
  466. <p><p>Do you ever find that you don't have time to read those long email missives from Aunt Carol, but really do want to see the photos that she has lovingly attached? In Apple Mail, click the Quick Look button located in the message header. You'll get an easily browsed view of  just the attached photos, and you can even add them to iPhoto, if you like!</p></p>
  467.  
  468. </div>
  469.  
  470. <div class="tearoffbox_wide_bottom_tips">
  471. <div style="padding-bottom:35px"><div class="tip_display" style="float:left"><p><br><a href="/tipbits/154">Link to this tip</a></p></div><div class="tip_display" style="float:right; width:150px">
  472.  
  473. <p class="credit">Written by<br><a href="/author/Tonya%20Engst">Tonya Engst</a></p></div></div>
  474.  
  475. </div>
  476.  
  477. <div class="tearoffbox_wide_tips_submit">
  478. <form method="post" onsubmit="return false" id="tipbits_form" name="tipbits_form" action="noaction.cgi"><p><a href="javascript:void(0)" onmousedown="ShowTipBox('ts','ts_recaptcha', 50, 'tip_title_id'); return true;">Share your own tip!</a> | <a href="javascript:void(0)" onClick="generic_show_hide('search_tipbits'); document.tipbits_form.tipbits_searchvalue.focus()">Search TipBITS</a></p>
  479. <p style="display:none" id="search_tipbits"><input type="text" onkeydown="if (event.keyCode == 13) { search_tipbits('tipbits_searchvalue'); }" id="tipbits_searchvalue" name="tipbits_searchvalue"> <a href="javascript:void(0)" onClick="search_tipbits('tipbits_searchvalue')">Search</a></p></form>
  480. </div>
  481. <div class="tearoffbox_wide_bottom_tips_submit">
  482.  
  483. </div>
  484.  
  485. </div><!-- end tearoffbox_wide_tips -->
  486. </div><!-- end tearoffbox_wide_container for tips-->
  487. <!-- end tearoff box wide -->
  488.  
  489.  
  490.  
  491. <!-- begin 300 x 250 ad -->
  492.  
  493. <div id="content_ad_square">
  494. <script type='text/javascript'><!--// <![CDATA[
  495.     OA_show(5);
  496. // ]]> --></script><noscript><a target='_blank' href='http://db.tidbits.com/ads/delivery/ck.php?n=TB7671f69'><img border='0' alt='' src='http://db.tidbits.com/ads/delivery/avw.php?zoneid=5&n=TB7671f69'></a></noscript>
  497. </div><!-- end 300 x 250 ad -->
  498.  
  499. <!-- TBTalk items -->
  500. <div class="tearoffbox_wide_container">
  501.  
  502. <div class="tearoffbox_wide_p">
  503. <p class="tearoffbox_wide_top_p"> </p>
  504.  
  505. <h5>Recent TidBITS Talk Discussions</h5>
  506. <ul>
  507.  
  508. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf95241">Alternatives to MobileMe for syncing calendars between iPad/Mac</a> (1 message)</LI>
  509.  
  510. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf94dbb">Free anti-virus for the Mac</a> (20 messages)</LI>
  511.  
  512. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf934e6">iTunes 10 syncing iPod Touch 4.1</a> (2 messages)</LI>
  513.  
  514. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf92a22">Thoughts about Ping</a> (16 messages)</LI>
  515.  
  516. </ul>
  517.  
  518. <div class="tearoffbox_wide_bottom_p"> </div>
  519.  
  520. </div><!-- end tearoffbox_wide -->
  521.  
  522. </div><!-- end tearoffbox_wide_container for TBtalk items -->
  523.  
  524. <!-- start takecontrol_ad -->
  525. <script type='text/javascript'><!--// <![CDATA[
  526.     OA_show(7);
  527. // ]]> --></script><noscript><a target='_blank' href='http://db.tidbits.com/ads/delivery/ck.php?n=TBe46d56f'><img border='0' alt='' src='http://db.tidbits.com/ads/delivery/avw.php?zoneid=7&n=TBe46d56f'></a></noscript><!-- end takecontrol_ad -->
  528.  
  529. <!-- begin tearoff box 2 -->
  530.  
  531. <div class="tearoffbox_wide_container">
  532.  
  533. <div class="tearoffbox_wide_p">
  534. <p class="tearoffbox_wide_top_p"> </p>
  535.  
  536. <h5>Related Articles</h5>
  537. <ul>
  538. <li><a href="/article/5898">Tools We Use: iDo Script Scheduler</a> (17 Apr 00)</li>
  539. <li><a href="/article/5621">iDo Script Scheduler 1.1</a> (25 Oct 99)</li>
  540. <li><a href="/article/5387">Apple Rolls Out Mac OS 8.6</a> (10 May 99)</li>
  541. <li><a href="/article/5351">Frontier Demystified</a> (12 Apr 99)</li>
  542.  
  543. </ul>
  544.  
  545. <p class="tearoffbox_wide_bottom_p"> </p>
  546.  
  547. </div><!-- end tearoffbox_wide -->
  548. </div><!-- end tearoffbox_wide_container -->
  549.  
  550. <!-- end tearoff box 2 -->
  551.  
  552.  
  553. <!-- begin tearoff box for series -->
  554.  
  555. <div class="tearoffbox_wide_container">
  556.  
  557. <div class="tearoffbox_wide_p">
  558. <p class="tearoffbox_wide_top_p"> </p>
  559.  
  560. <h5>Other articles in the series <a href="/series/1140">Mac OS 8.6</a></h5>
  561. <ul>
  562. <li><a href="/article/5493">Font Manager Update 1.0</a> (02 Aug 99)</li>
  563. <li><a href="/article/5387">Apple Rolls Out Mac OS 8.6</a> (10 May 99)</li>
  564.  
  565. </ul>
  566.  
  567. <p class="tearoffbox_wide_bottom_p"> </p>
  568.  
  569. </div><!-- end tearoffbox_wide -->
  570. </div><!-- end tearoffbox_wide_container -->
  571.  
  572. <!-- end tearoff box -->
  573.  
  574.  
  575.  
  576.  
  577. <!-- begin tearoff box 1 -->
  578.  
  579. <div class="tearoffbox_wide_container">
  580.  
  581. <div class="tearoffbox_wide">
  582. <p class="tearoffbox_wide_top"> </p>
  583.  
  584. <h5>Published in <a href="/issue/481">TidBITS 481</a>.<br><a href="http://www.tidbits.com/list">Subscribe</a> to our weekly email edition.</h5>
  585. <ul>
  586. <li><A HREF="/article/5392">Dragon Planning NaturallySpeaking for Macintosh</A></li>
  587. <li><A HREF="/article/5393">Netscape Communicator 4.6 Available</A></li>
  588. <li><A HREF="/article/5394">Apple Releases OpenGL 1.0 for Mac OS</A></li>
  589. <li><A HREF="/article/5395">iMacs at Sears</A></li>
  590. <li><A HREF="/article/5397">Mailing List Manners 102</A></li>
  591.  
  592. </ul>
  593.  
  594. <p class="tearoffbox_wide_bottom"> </p>
  595.  
  596. </div><!-- end tearoffbox_wide -->
  597. </div><!-- end tearoffbox_wide_container -->
  598.  
  599. <!-- end tearoff box 1 -->
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607. <div id="rightcolumn_bottom">
  608.  
  609. </div>
  610.  
  611.     </div><!-- end rightcolumn -->
  612.  
  613.  
  614. </div><!-- end rightcolumn_container -->
  615.  
  616.  
  617.  
  618. <!-- featured articles -->
  619.  
  620. <div id="center_ajax_sub" class="instapaper_body">
  621.  
  622. <!-- google_ad_section_start -->
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643. <!-- issue, article, or series -->
  644.  
  645.     
  646.     
  647.     
  648.     
  649.     
  650.         
  651.     <!-- show article(s) -->
  652.     <div class="article"><a name="4073"></a>
  653.     
  654. <!-- comment initialization routine as needed -->
  655. <div class="popup_box_with_captcha" id="hc_4073" style="display: none">
  656.     <div class="tip_box_format">
  657.     <div id="hc_innards_alt_4073" style="display: none">
  658.             <div class="tbf_row">
  659.                 <div class="tbf_wide_80" id="hc_small_response_4073"></div><div class="x_close_row" id="hc_upper_right1_4073"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_4073', 'hc', '4073'); return true;">Close</a></div>
  660.  
  661.             </div>
  662.     </div>
  663.     <div id="hc_innards_4073">
  664.         <div class="tip_box_form">        
  665.             <form action="foobar.cgi" method="get" name="check_human_4073">
  666.             <div class="tbf_row">
  667.                 <div class="tbf_wide_80" id="hc_rc_4073">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_4073"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_4073', 'hc', '4073'); return true;">Close</a></div>
  668.  
  669.             </div>
  670.             <div class="spacer"></div>
  671.             <div class="tbf_row" id="hc_message_box_4073" style="display:none">
  672.                 <div class="tbf_wide"><div class="tbf_alert" id="hc_top_message_4073"></div></div>
  673.             </div>
  674.             <div class="spacer"></div>
  675.             <div class="tbf_row">
  676.                 <div class="tbf_wide"><div id="hc_recaptcha_4073"></div></div>
  677.             </div>
  678.             <div class="spacer"></div>
  679.             <div class="tbf_row">
  680.                 <div class="tbf_wide"><input type="submit" value="Submit" name="submit_this_tip" onClick="handle_tip_submission('hc', '4073', this.form, this.form.submit_type.value); return false;"><input name="calling_routine" type="hidden"><input type="hidden" name="getbits" value="5396"><input type="hidden" name="author_id"><input type="hidden" name="submit_type" value=""></div>
  681.             </div>
  682.             <div class="spacer"></div>
  683.             </form>
  684.         </div><!-- end tip_box_form -->
  685.     </div><!-- end hum box innards -->
  686.     </div><!-- end tip box format -->
  687. </div><!-- end tip_submit box-->
  688.  
  689.  
  690.  
  691.         
  692.         
  693.         <!-- specific article details here -->
  694.         
  695.         
  696.             
  697.         
  698.     
  699.         <article_link><script type="text/javascript">open_if_linked('')</script></article_link>
  700.         
  701.         <div class="featured_meta"><div class="meta_article">17 May 1999 | <a href="/article/5396?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>
  702.  
  703.         <H2>Putting URL Access Scripting to Work</H2>
  704.  
  705.         <p class="byline">by <a href="/author/Geoff%20Duncan">Geoff Duncan</a> <a href="javascript:void(0)" onClick="document.check_human_4073.submit_type.value='email'; document.check_human_4073.author_id.value='15'; ShowTipBox('hc_4073', 'hc_recaptcha_4073')"><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>
  706.  
  707.         <!-- article text -->
  708.         
  709.         <div id="article_box_4073"><P>Last week in <A HREF="http://www.tidbits.com/tb-issues/TidBITS-480.html">TidBITS-480</A>, I looked at new capabilities in Mac OS 8.6; this week, I'd like to focus on one new feature I think deserves special attention: URL Access.</P><P><<A HREF="http://db.tidbits.com/article/05387">http://db.tidbits.com/article/05387</A>></P><P><STRONG>Low-Level Power</STRONG> -- URL Access is a new system component that enables programs to transfer information to and from the Internet using HTTP or FTP. Around the time Apple introduced Game Sprockets in 1996, several Macintosh Internet developers pushed the idea of "Apple Internet Sprockets" which would give any application basic Internet connectivity. Why is this idea interesting? Before URL Access, any program wanting to access the Internet had to write its own protocol handlers to interact with Web servers, upload to FTP sites, and whatnot, so every developer re-invented the wheel for every Internet application or utility. Wouldn't it be great if the Mac OS could provide basic Internet functions to any program that wanted them? The project came to life under the codename SubWoofer but was shelved by Apple in the sweeping re-organizations of 1996 and 1997. SubWoofer was adopted by Leonard Rosenthol and other developers, and this year Apple finally decided to roll it into the Mac OS itself.</P><P>URL Access provides applications with the capability to upload and download information using HTTP (optionally using 40-bit RSA encryption) and FTP, to access local files using the "file://" URL scheme, to gather various data about URLs, and more. URL Access doesn't provide all the capabilities needed by a high-end Web browser - especially ones that need to run on versions of the Mac OS prior to 8.6 - but it's a perfect platform for Internet utilities and custom applications. For instance, Sherlock 2.1 now does all its Internet communication through URL Access. Over time, you can expect more Internet tools to use URL Access to communicate with the Internet, rather than writing their own protocol handlers.</P><P><STRONG>Scriptability</STRONG> -- Apple took URL Access one step further by making it accessible to AppleScript and other OSA scripting environments, like UserLand Frontier.</P><P><<A HREF="http://db.tidbits.com/article/05351">http://db.tidbits.com/article/05351</A>></P><P>The Mac OS 8.6 Scripting Additions folder contains a tiny application called URL Access Scripting, which enables any OSA script to transfer data to and from the Internet. This simple AppleScript script downloads the TidBITS home page to a file you specify.</P><PRE>   set newFile to (new file)   tell application "URL Access Scripting"     activate     download "http://www.tidbits.com/" to newFile with progress     quit   end tell</PRE><P>This script (which works only under Mac OS 8.6) prompts you to create a new file, then displays a progress dialog as URL Access Scripting connects to our Web server, downloads the page, and saves it to the file you specified.</P><P>URL Access Scripting's interface is rough around the edges: it was originally intended to be a background-only application with no windows, dialogs, or menus, so Apple didn't give URL Access Scripting any menus - or even a Quit command. However, URL Access Scripting needs to display interface elements like progress and authentication dialogs, so Apple lets it run in the foreground but didn't provide a proper menubar, which can confuse both users and scripters. Remember that your scripts must tell URL Access Scripting to quit when they're finished.</P><P><STRONG>Folder Actions</STRONG> -- URL Access Scripting offers many capabilities - decoding files, posting form data, handling authentication - and opens up new possibilities for integrating AppleScript into your workflow. Here's an example of an AppleScript script you can attach to a folder as a Folder Action. Whenever you drop items into the folder, URL Access automatically uploads them to the FTP directory you specify in the second line of the script, replacing any files with the same names. (Remember that Folder Actions trigger when the visible contents of a folder change, so be sure your FTP folder is open, or attached to the bottom of your screen as a pop-up window.)</P><PRE>   on adding folder items to thisFolder after receiving fileList    set ftpURL to "ftp://ftp.example.com/YourDirectory/"    repeat with i in fileList     tell application "Finder" to set thisFileType to the file type of i     try      tell application "URL Access Scripting"       activate       if thisFileType is "TEXT" then        upload i to ftpURL replacing yes with progress and authentication       else        -- delete the return between "binhexing" and "and" in the next line        upload i to ftpURL replacing yes with progress, binhexing        and authentication       end if      end tell     on error errMsg number errNum      display dialog (errNum as string) & ": " & errMsg     end try    end repeat    tell application "URL Access Scripting" to quit   end adding folder items to</PRE><P>You'll notice this script will binhex non-text files it uploads to an FTP site (taking advantage of another of URL Access's built-in features), but there are plenty of ways to add more intelligence. For instance, if you drop multiple files into this FTP folder, you'll be prompted for a username and password for each file. You could integrate your username and password into the script directly by using a URL in the following form, although it's not a secure solution:</P><P><<A HREF="ftp://username:password@ftp.example.com/YourDirectory/">ftp://username:password@ftp.example.com/ YourDirectory/</A>></P><P>A better idea would be to have the script prompt once for the appropriate name and password, then build an appropriate URL for URL Access Scripting. Similarly, this script could be expanded to handle folders dropped into your FTP folder, to test for the presence of a resource fork to determine whether binhexing is necessary, and to offer error handling in case a problem occurs. You could also add a "removing folder items" script to delete items from the FTP site when they're removed from the folder.</P><P><STRONG>Even More Elaborate</STRONG> -- An important thing to notice with all the possible elaborations on the script above is that the enhancements don't involve URL Access. Taking advantage of URL Access Scripting would still only require a few lines of code, although the rest of the script would become larger to offer more features, flexibility, and intelligence.</P><P>Since getting online stock quotes is commonly bandied about as an example of customized Internet functionality, I've thrown together an AppleScript script using URL Access Scripting that pulls stock prices from Yahoo's finance site. Just type a ticker symbol, and the script sends the appropriate query, grabs the resulting HTML, parses it, and displays a dialog with the pricing information.</P><P><<A HREF="http://www.tidbits.com/resources/481/UASYahoo.html">http://www.tidbits.com/resources/481/ UASYahoo.html</A>></P><P>Again, you'll notice handling URL Access Scripting is easy: just one line to grab the appropriate Web page, and another to tell URL Access Scripting to quit. The rest of the script is concerned with getting the ticker symbol from the user (capitalizing it if necessary), creating and destroying a temporary file for the Web page, and parsing the results returned from Yahoo's server. This script could certainly be smarter - for instance, it should handle connection errors and deal with unknown ticker symbols - but, again, those changes don't involve URL Access Scripting, just the intelligence wrapped around it.</P><P>If you want more examples of using URL Access, check out the scripts Apple showed off at this year's World Wide Developer Conference - they set your desktop picture to images from a variety of Web cams around the world.</P><P><<A HREF="http://www.apple.com/applescript/deskcam/deskcam.html">http://www.apple.com/applescript/deskcam/ deskcam.html</A>></P><P><STRONG>Meet a Schedule</STRONG> -- Another way to utilize URL Access Scripting is to have scripts run automatically at pre-selected times. Although AppleScript doesn't have a built-in scheduler, you can use Sophisticated Circuits' iDo Script Scheduler. A demo version is available for free from Apple, both on its own and as part of Mac OS 8.6's AppleScript Extras, which is also on the Mac OS 8.6 CD-ROM. The iDo Script Scheduler enables you set up three scripts that run automatically; the forthcoming full version should handle an unlimited number of scripts and offer additional capabilities. Several other scheduling utilities are available on their own or as parts of other products; I've been using Late Night Software's $25 Scheduler for years, and Unix aficionados should check out Chris Johnson's cron for Macintosh.</P><P><<A HREF="http://www.apple.com/applescript/idosched/ido.html">http://www.apple.com/applescript/idosched/ ido.html</A>><BR><<A HREF="http://asu.info.apple.com/swupdates.nsf/artnum/n11402">http://asu.info.apple.com/swupdates.nsf/artnum/ n11402</A>><BR><<A HREF="http://www.sophisticated.com/products/ido/ido_sched.html">http://www.sophisticated.com/products/ido/ido_ sched.html</A>><BR><<A HREF="http://gargravarr.cc.utexas.edu/cron/cron.html">http://gargravarr.cc.utexas.edu/cron/cron.html</A>><BR><<A HREF="http://www.latenightsw.com/scheduler1.2/index.html">http://www.latenightsw.com/scheduler1.2/ index.html</A>></P><P><STRONG>Script Happy</STRONG> -- At long last, integrating the Internet into your custom scripts and workflow is simple and built directly into the Mac OS. Although URL Access can't do everything that's possible with lower-level TCP/IP scripting tools like Mango Tree Software's TCP/IP Scripting Addition or BIAP's NetEvents, it provides a wide range of common functionality that's easy to use. Even if you don't have much familiarity with AppleScript, a little effort can dramatically improve your use of the Internet.</P><P><<A HREF="http://www.mangotree.com/">http://www.mangotree.com/</A>><BR><<A HREF="http://www.biap.com/products/netevents/">http://www.biap.com/products/netevents/</A>></P><!-- Putting URL Access Scripting to Work Geoff Duncan --></div>
  710.         
  711.  
  712.         <!-- end article text -->
  713.     
  714.         
  715.         <!-- PayBITS -->
  716.         
  717.  
  718.         
  719. <p> </p><div class="sponsorbox">
  720. <div class="sponsortext"><A HREF="http://www.econtechnologies.com/tb"><IMG SRC="http://db.tidbits.com/images/badges/chronosync.png" ALT="" HEIGHT="50" WIDTH="50" BORDER="0" ALIGN="left"></A>With ChronoSync you can sync, back up, or make bootable backups.<br />Sync or back up your Mac to internal or external hard drives, other<br />Macs, PCs, or remote network volumes you can mount on your Mac.<br />Learn more at <<a href="http://www.econtechnologies.com/tb.html">http://www.econtechnologies.com/tb.html</a>>!</div>
  721. </div>
  722. <div class="sponsorbox_bottom"> </div>
  723.  
  724.  
  725.         <!-- comments section -->
  726.         
  727.         <!-- end comment show-->
  728.         
  729.         <!-- end comments section -->
  730.  
  731.  
  732.         <!-- end article loop details -->
  733.         
  734.         
  735.  
  736.         
  737.     </div><!-- end show article -->
  738.     
  739.     
  740.  
  741.  
  742. <!-- article_plus end -->
  743. <!--
  744. </DIV>
  745. --><!-- end main_column DIV -->
  746.  
  747.  
  748. <!-- google_ad_section_end -->
  749.  
  750. </div><!-- end center AJAX insert -->
  751.  
  752. <!-- TipBITS Search Results Lozenge -->
  753. <div id="tipbits_results_loz" style="display:none">
  754. <form method="post" onsubmit="return false" id="tipbits_form_loz" name="tipbits_form_loz" action="noaction.cgi">
  755. <div class="tip_footer">
  756. <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>
  757. </div>
  758. <div class="tip_footer_bottom">
  759.  </div>
  760. </form>
  761. </div><!-- end TipBITS Search Results lozenge -->
  762.  
  763.  
  764.  
  765.  
  766. <!-- begin footer -->
  767. <div id="footer">
  768.  
  769. <div id="qr_tag_right"><div id="qr_tag_image"><img src="http://db.tidbits.com/tags/5396.png"></div><div id="qr_tag_text"><a href="http://db.tidbits.com/article/10616">What's this image?</a></div></div>
  770. <p>Special thanks to <a href="http://www.forest.net/">digital.forest</a>, our
  771. Web and mailing list host.</p>
  772. <p>Unless otherwise noted, this article is copyright © 1999 <a href="/author/Geoff%20Duncan">Geoff Duncan</a></p>
  773. <p>TidBITS is copyright © 2010 TidBITS Publishing Inc.</p>
  774. <p>Reuse governed by <a href="http://www.tidbits.com/terms/">Creative Commons License</a>.</p>
  775.  
  776. <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>
  777.  
  778. </div><!-- end footer -->
  779.  
  780.  
  781. </div> <!-- end centercolumn -->
  782.  
  783. <div class="center_bottom"> </div>
  784.  
  785. </div> <!-- end centercolumn_border -->
  786.  
  787.  
  788. </div> <!-- end content_container -->
  789.  
  790. </div> <!-- end mainbody -->
  791.  
  792.  
  793. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
  794. </script>
  795. <script type="text/javascript">
  796. _uacct = "UA-276924-3";
  797. urchinTracker();
  798. </script>
  799. <script type="text/javascript"
  800. src="http://tidbitscom.skimlinks.com/api/skimlinks.js"></script>
  801. <script type="text/javascript">
  802. var skimlinks_pub_id = '2559X585851';
  803. var skimlinks_domain = 'go.tidbits.com';
  804. skimlinks();
  805. </script>
  806. </body>
  807. </html>
  808.  
  809.